大展宏图,Canopen转profinet网关利用无缝集成技术搞定多设备通信

电子说

1.4w人已加入

描述

在当今制造业领域,设备之间的高效通信已经成为提升生产效率的关键。在我们最近的项目中,客户需要实现西门子S7-1200 PLC与多种CANopen设备(例如电动门控伺服电机和传感器)之间的无缝集成。考虑到不同设备使用的通信协议差异,不更换新设备又能马上实现通信功能,我们选择了Profinet转CANopen网关来进行协议转换。这一解决方案不仅简化了系统集成过程,还显著提高了数据传输的实时性和稳定性。

通过该网关,Profinet信号能够顺利转化为CANopen协议,确保了各类设备之间的有效协作。此过程不仅减少了手动干预的需求,还提升了系统的可靠性,降低了维护成本。项目实施后,客户在操作效率和响应速度上明显改善,生产线的灵活性也得到了增强。

下面是一些电脑文本的技术参数供参考

NMT模块控制

只有NMT-Master节点能够传送

NMT Module Control报文。所有从设备必须支持

NMT模块控制服务。NMT Module Control消息不需要应答。

NMT消息格式如下:

CANopen

当Node-ID=0,则所有的NMT从设备被寻址。CS是命令字,可以取如下值:

CANopen

4.1.1 NMT节点保护( NMT Node Guarding

通过节点保护服务,MNT主节点可以检查每个节点的当前状态,当这些节点没有数据传送时这种服务尤其 有意义。

NMT-Master节点发送远程帧(无数据)如下:

CANopen

CANopen

数据部分包括一个触发位(bit7),触发位必须在每次节点保护应答中交替置“0”或者“1”。触发位在第 一次节点保护请求时置为“0”。位0到位6(bits0~6)表示节点状态,可为下表中的数值。

CANopen

**4.1.2 **心跳报文( Heartbeat

CANopen

状态可为下表种的数值:

CANopen

当一个Heartbeat节点启动后它的启动报文是其第一个Heartbeat报文。Heartbeat消费者通常是NMT-Master节点,它为每个Heartbeat节点设定一个超时值,当超时发生时采取相应动作。

一个节点不能够同时支持NodeGuarding和Heartbeat协议。

4.1.3 NMT Boot-up

NMT-slave节点发布Boot-up报文通知NMT-Master节点它已经从initialising状态进入pre-operational状态。

CANopen

**4.1.4 **应急指示对象:

应急指示报文由设备内部出现的致命错误触发,由相关应用设备已最高优先级发送到其它设备。

适用于中断类型的错误报警信号。

一个应急报文由8字节组成,格式如下:

CANopen

4.1.5 NMT状态控制过程:

CANopen启动过程,可以用节点状态转换图表示这两种初始化过程,如下图所示。

CANopen

注意:

图中括号内的字母表示处于不同状态那些通讯对象可以使用。

a.NMT,b.NodeGuard,c.SDO,d.Emergency,e.PDO,f.Boot-up

状态转移(1-5由NMT服务发起),NMT命令字(在括号中): 1:Start_Remote_node(0x01)

2:Stop_Remote_Node(0x02) 3:Enter_Pre-Operational_State(0x80) 4:Reset_Node(0x81)

5:Reset_Communication(0x82)

6:设备初始化结束,自动进入Pre_Operational状态,发送启动消息

在任何时候NMT服务都可使所有或者部分节点进入不同的工作状态。NMT服务的CAN报文由CAN头(COB-ID=0) 和两字节数据组成;第一个字节表示请求的服务类型(‘NMTcommandspecifier’),第二个字节是节点ID,或者0(此时寻址所有节点)。

设备进入准备状态后,除了NMT服务和节点保护服务(如果支持并且激活的话)外,将停止通讯

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
jf_35926353 07-17
0 回复 举报
这个应用很好 收起回复
jf_35926353 07-17
0 回复 举报
这个应用很好 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分