CANOpen协议的主要内容包括设备模型、通信接口和波特率等,这些内容对于实现设备间的有效通信至关重要。以下是一个具体的示例,展示了如何使用CANOpen协议将晨控RFID与西门子S7-1200 PLC进行通信。
首先,来看读卡器端的配置。CK-LR08-C01读卡器的接线非常关键,正确接线可以确保数据传输无误。通信接口使用CAN,通信协议选择CANOpen,波特率设置为1MBit/s,CANID设为2。读卡器在检测到卡片数据后会自动通过PDO发送,无需使用SDO指令。
在西门子PLC端,需要进行CANopen模块的组态。首先,将EDS文件导入到PLC编程软件中,确保文件成功载入无误。接着,在软件中创建一个新工程,并添加CK-LR08设备,配置其名称和从站ID。然后,取消LR08-C01的Bit7勾选,并根据需要配置心跳报文时间和超时时间。
接下来,配置PDO传输的参数对象。首先,创建新的PDO组,并为每个Node-ID分配相应的组名。然后,选中同一Node-ID下的所有对象,将它们分配到对应的PDO组中。在配置PDO时,需要注意使能选项、CAN-ID、传输类型以及最小和最大发送间隔。
完成上述配置后,进行计算并检查Error List是否有错误,根据提示进行必要的修改。然后生成配置文件,并通过CM CANopen USB接口下载到PLC中。
在通信格式设置方面,需要在设备视图中选择CM CANopen模块,设置操作模式为CANopen Manager,并将波特率设置为1000Kbits/s,数据大小设为32。
程序编写部分,主要是将PDO读取出来的12Byte数据存放在LR08的Read Data数组中。例如,可以将这12Byte数据存放在LR08.Read Data数组内。同时,可以将P#DB5.DBX12.0 BYTE 20内的10Byte数据写入PDO,这里的P#DB5.DBX12.0 BYTE 20指的是DB5块内起始地址12.0的20Byte数据。
通过以上步骤,晨控RFID与西门子PLC之间的通信就可以成功建立了。如果您对CANOpen的应用有更多疑问或需要进一步的帮助,可以联系晨控智能官方,他们将会提供专业的支持。
在现代化的自动化控制系统中,CANOpen协议的应用越来越广泛,它不仅提供了高效的数据传输方式,还简化了设备间的通信配置。通过深入理解CANOpen的工作原理和配置步骤,工程技术人员可以更加高效地完成系统设计和集成,提升生产效率。
CANopen 是一个基于 CAN 串行总线的网络传输系统的应用层协议,遵循 ISO/OSI 标准模型。网络中不同的设备通过对象字典或者对象来相互交换数据,其中,主节点可以通过过程数据对象 (PDO) 或者服务数据对象 (SDO) 来获取或者修改其它节点对象字典列表中的数据。
CANOpen协议主要内容分为三大块,如下图CANopen 的设备模型。
选用西门子S7-1200与晨控RFID的LR08-C01
一、读卡器端
1、接线说明
CK-LR08-C01接线说明
2、通讯格式
通信接口:CAN
通信协议:CANOpen
波特率:1MBit/s
CANID:2
使用PLC进行通信是无需使用SDO指令,读卡器读取到卡片数据会自动使用PDO发送。
二、西门子PLC端
1、模块CANopen模块组态
先将EDS文件添加进软件内部
在Tools中选择Manage Catalog打开Device Catalog Managemen,点击Import a device打开文件选择窗口,选择好目标EDS文件双击载入。
此时可以在下方的Error List栏内看到是0Errors 0Warnings,这就代表EDS文件成功载入。
在软件内新建出一个工程,选择好 保存路径、主站设备然后点击OK.
在下方的Other Profiles栏内将CK-LR08拖动至上方的Project Explorer内,在新弹出的Add New Device内填上设备名称、从站ID,将Group选择为Slaves从站然后点击OK完成。
添加完设备后将LR08-C01的Bit7取消勾选,如上图所示
在Error Conttrol Configuration界面下将主从站的心跳报文时间设定为500ms,再设定主站监听从站的心跳报文超时时间为750ms
在Application objects界面下选择要通过PDO传送的参数对象,这里全部选择
①点击“Add new group”图标;
②以小写的英文字母分别命名创建的Group;
③选中同一Node-ID下的所有对象;
④在Group下拉列表中选择分配给该Node-ID的组名;
⑤点击“Assign group to seLECted objects”图标完成分组。
将ENABLED使能选项勾上→注意CAN-ID内的数据是否正确→传输类型选择默认的Event Driven(Profile Specific)→勾上Lock PDO→对于TPDO还需配置最小发送间隔和最大发送间隔。
①按下计算配置等待计算完成
②计算完成后查看Error List栏内是否有错误,若有错误则根据错误提示进行修改
③按下生成配置将配置文件保存在用户指定位置
① 点击下载按钮
② 在Download Interface 中选择CM CANopen USB (*.CMCDC)
③ 点击 … 选择刚刚生成的配置文件
④ 点击Download 等待下载进度条跑完
2、通信格式设置
在设备视图内选中CM CANopen模块,选择“属性”在“常规”选项内点击CANopen接口,将操作模式设置成CANopen Manager 波特率设置为1000Kbits/s,数据大小32。
3、程序编写
将PDO读取出来的12Byte数据存放在LR08 . Read Data数组内
将P#DB5.DBX12.0 BYTE 20内的10Byte数据写入PDO;
P#DB5.DBX12.0 BYTE 20是指以DB5块内起始地址12.0的20Byte数据,也可以使用上面RDREC的写法 “LR08”.”Write Data”。
如需了解CANOpen的应用可以联系晨控智能官方,晨控智能期待与您的合作。
审核编辑:汤梓红