DeviceNet从站产品开发方案DeviceNet是一种先的进的现场总线工业通讯网络,因DeviceNet协议栈非常复杂,协议规定的冗余、互锁、故障保护机制等经过几十年的不断更新、迭代,内容复杂且不易理解。基于此,协议栈实现代码繁琐,如果自行开发需要经过不断的更新、迭代才能开发出成熟、稳定的产品,因此开发DeviceNet从站设备是非常具有挑战性的工作,需要投入大量的人力、物力以及时间。
IC1220-DeviceNet从站芯片DeviceNet从站通常使用一个8位DIP开关来设置站号和波特率,也可以使用2个旋转开关,同时还有两颗红绿双色指示灯MS和NS,IC1220芯片集成了开关和LED灯的输出功能,用户只需要使用芯片的SSC接口,外接一颗HC165连接8位开关,一颗HC595连接MS和NS灯,IC1220就可以自动读取开关值来设置总线站号和波特率,同时也能自动输出LED状态,用户不需要再设计程序去处理这部分。
如果条件允许,可以在芯片的RUN脚位上接一颗LED,如果灯亮,表示芯片启动成功,处于运行状态。
IC1220-DeviceNet从站芯片本例假设用户开发的从站与主站的 IO 数据交换长度都为 4 字节,即主站到从站的输出数据长度
为 4 字节,从站到主站的输入数据长度也为 4 字节。
1)将 4 写入 6001,设定输出 IO 长度总长
发送:010660010004C7C9 接收:010660010004C7C9
2)将 4 写入 601C,设定 SCI 输出长度(主站->从站)
发送:0106601C000457CF 接收:0106601C000457CF
3)将 4 写入 6007,设定 SCI 输入 IO 长度(从站->主站)
发送:01066007000427C8 接收:01066007000427C8
4) 将 4 写入 7002,设置从在 DeviceNet 网络上的站号为 4,如果使用 SSC 连接
8 位开关则此步忽略
发送:0106700200043309 接收:0106700200043309
IC1220-DeviceNet从站芯片IC1220 芯片支持如下表所示的 DeviceNet 对象:
对象类(Class) 对象名称
0x01 识别对象(Identity Object)
0x02 路由对象(Message router Object)
0x03 设备对象(DeviceNet Object)
0x05 连接对象(Connection Object)
Class 0x01:识别对象(Identity Object)
类属性(Class attributes)
属性编号
(Attribute ID)
访问方式 参数名称 数据类型
1 Get Revision UINT
2 Get MaxInstance UINT
3 Get NumberofInstances UINT
6 Get MaxIdClass UINT
7 Get MaxIdInstance UINT