这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » Canopen转Profinet网关CANopen协议解析工具

共2条 1/1 1 跳转至

Canopen转Profinet网关CANopen协议解析工具

菜鸟
2023-07-20 19:09:56     打赏

远创智控YC-PN-COPPN(Profinet)COP(CANopen)网关,使用数据映射方式工作。

远创智控YC-PN-COPPN侧作为PNIO从站,接西门子PLC;在COP侧做为COP主站,接COP设备,如伺服、变频器、电机等。

使用场景:西门子PLC控制COP接口设备。

image1.png

1, PN侧支持PNRTRealTimeClass1ClassAandBCOP侧支持COPDS301

 

 

2, 200smart下添加PN端设置

打开STEP7-MicroWINSMART,导入GSD文件

3, Profinet上添加PLC和网关

 

4, 添加PLC和网关,设备名要和实际设备名一样,IP地址要和PLC同一网段。

 

 

5, 给网关添加输入输出,软件计算出来的“SDO-PN映射表最大“PN-I映射地址/字节长度“3/2”,最大“PN-O映射地址/字节长度“4/2”,也就是PN需要的输入字节是3+2=5,输出字节是4+2=6,所以给插槽如下:


 

 

 

 

7, 如上图所示PN端输入占了5个字节IB128-IB132,输出占了6个字节QB128-QB133COP的输入映射在PN的起始地址就是128,输出映射在PN的起始地址就是128

对应到软件计算的页面,映射如下:

 

COP数据

PN映射

COP从站1状态

IB128

TPDO181

IB129..130

RPDO201

QB128..131

downloadSDO索引6042子索引00

QB132..133

uploadSDO索引6043子索引00

IB131..132

8, 一直下一步最后选择生成


 

 

 

 

9, 点击查找PROFINET设备可以搜索网关,如果网关实际名称和组态名称

不一样可以点击编辑并修改。

10, 点击下载程序即可CANopen通信协议简介CANopen是一种完全开放和公共的现场总线协议,它是基于CAN芯片的面向工业自动化过程的应用层通讯协议。

2.1CANopen报文结构

11, 3-1CANopen报文结构节点地址由系统集成商定义,例如通过拨码开关设置,范围是1~127(0不允许被使用)

缺省ID分配表如下表所示:


 

 

 

 

12, 2.2CANopen从站设备的状态机

一个CANopen节点从上电开始的6种状态,包括:

初始化(Initializing):节点上电后对功能部件包括CAN控制器进行初始化;

应用层复位(ApplicationReset):节点中的应用程序复位(开始),比如开关量输出、模拟量输出的初始值;

通讯复位(Communicationreset):节点中的CANopen通讯复位(开始)

从这个时刻起,此节点就可以进行CANopen通讯了;

预操作状态(Pre-operational):节点的CANopen通讯处于操作就绪状态,此时此节点不能进行PDO通信,而可以进行SDO进行参数配置和NMT网络管

理的操作;

操作状态(Operational):节点收到NMT主机发来的启动命令后,CANopen通讯被激活,PDO通信启动后,按照对象字典里面规定的规则进行传输,同样

SDO也可以对节点进行数据传输和参数修改;

停止状态(Stopped):节点收到NMT主机发来的停止命令后,节点的PDO通信被停止,但SDONMT网络管理依然可以对节点进行操作;

除了初始化状态,NMT主机通过NMT命令可以让网络中任意一个的CANopen节点进行其他5种状态的切换。如图3-2所示。

当然CANopen节点也可以自动完成这些状态的切换。


 

 

 

 

14, 3-2状态转换图

2.3CANopen子协议

以下子协议中涉及的数字均为十六进制;RTRbit=0(不是远程帧),如黑框所示。


 

 

 

 

2.3.1NMT协议

使节点进入Operational状态,发送命令:

15, 使节点进入Stop状态,发送命令:

16, 使节点进入Pre-operational状态,发送命令:

17, 使节点进入ApplicationReset状态,发送命令:

18, 使节点进入Communicationreset状态,发送命令:

19, 如果对所有节点发送命令,则nodeId=0

例:

如果使节点0x06进入Operational状态:0000106

如果使所有节点进入Pre-operational状态:0008000

2.3.2Nodeguard协议

20, 查询CANopen从站的状态,主站发送标准远程帧(无数据)如下:

 

21, 从站响应:


 

 

 

 

22, 注:其中位t(最高位)的值01交替变化。

2.3.3Heartbeat协议

不需要主站发送请求命令,CANopen从站周期性的发送其状态帧:

2.3.4Bootup协议

23, CANopen从站节点初始化后进入Pre-operational状态时发送:

 

2.3.5SDO协议

24, 命令格式:

 

25, 响应格式:

 

读命令

26, 主站发送命令:

27, 从站响应:


 

 

 

 

 

 

 

29, 写命令

主站发送命令:

30, 从站响应:


 

 

 

31, 2.3.6PDO协议

PDO数据的传输可以通过SYNCRTR,或者基于事件进行传输:

32, 其中:Identifier为表3-1中对应的ID值。

2.3.7SYNC协议

 



专家
2023-07-20 22:36:40     打赏
2楼

不错资料,学习一下


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]