400-035-6699
当前位置: 首页 » 技术支持 » 博文资讯 »

\"实现晨控RFID与西门子PLC的CANOpen通信教程\"

CANopen是基于CAN串行总线的一种网络传输系统的应用层协议,它遵循ISO/OSI标准模型。在网络中,各个设备通过对象字典进行数据交换,主节点可以通过过程数据对象(PDO)或服务数据对象(SDO)来获取或修改其他节点的数据。
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 的设备模型。

晨控RFID如何通过CANOpen与西门子PLC建立通讯

选用西门子S7-1200与晨控RFID的LR08-C01

晨控RFID如何通过CANOpen与西门子PLC建立通讯

一、读卡器端

1、接线说明

晨控RFID如何通过CANOpen与西门子PLC建立通讯

CK-LR08-C01接线说明

晨控RFID如何通过CANOpen与西门子PLC建立通讯

2、通讯格式

通信接口:CAN

通信协议:CANOpen

波特率:1MBit/s

CANID:2

使用PLC进行通信是无需使用SDO指令,读卡器读取到卡片数据会自动使用PDO发送。

晨控RFID如何通过CANOpen与西门子PLC建立通讯

二、西门子PLC端

1、模块CANopen模块组态

先将EDS文件添加进软件内部

晨控RFID如何通过CANOpen与西门子PLC建立通讯

晨控RFID如何通过CANOpen与西门子PLC建立通讯

在Tools中选择Manage Catalog打开Device Catalog Managemen,点击Import a device打开文件选择窗口,选择好目标EDS文件双击载入。

晨控RFID如何通过CANOpen与西门子PLC建立通讯

此时可以在下方的Error List栏内看到是0Errors 0Warnings,这就代表EDS文件成功载入。

晨控RFID如何通过CANOpen与西门子PLC建立通讯

在软件内新建出一个工程,选择好 保存路径、主站设备然后点击OK.

晨控RFID如何通过CANOpen与西门子PLC建立通讯

在下方的Other Profiles栏内将CK-LR08拖动至上方的Project Explorer内,在新弹出的Add New Device内填上设备名称、从站ID,将Group选择为Slaves从站然后点击OK完成。

晨控RFID如何通过CANOpen与西门子PLC建立通讯

添加完设备后将LR08-C01的Bit7取消勾选,如上图所示

晨控RFID如何通过CANOpen与西门子PLC建立通讯

在Error Conttrol Configuration界面下将主从站的心跳报文时间设定为500ms,再设定主站监听从站的心跳报文超时时间为750ms

晨控RFID如何通过CANOpen与西门子PLC建立通讯

在Application objects界面下选择要通过PDO传送的参数对象,这里全部选择

晨控RFID如何通过CANOpen与西门子PLC建立通讯

晨控RFID如何通过CANOpen与西门子PLC建立通讯

①点击“Add new group”图标;

②以小写的英文字母分别命名创建的Group;

③选中同一Node-ID下的所有对象;

④在Group下拉列表中选择分配给该Node-ID的组名;

⑤点击“Assign group to seLECted objects”图标完成分组。

晨控RFID如何通过CANOpen与西门子PLC建立通讯

将ENABLED使能选项勾上→注意CAN-ID内的数据是否正确→传输类型选择默认的Event Driven(Profile Specific)→勾上Lock PDO→对于TPDO还需配置最小发送间隔和最大发送间隔。

晨控RFID如何通过CANOpen与西门子PLC建立通讯

①按下计算配置等待计算完成

②计算完成后查看Error List栏内是否有错误,若有错误则根据错误提示进行修改

③按下生成配置将配置文件保存在用户指定位置

晨控RFID如何通过CANOpen与西门子PLC建立通讯

① 点击下载按钮

② 在Download Interface 中选择CM CANopen USB (*.CMCDC)

③ 点击 … 选择刚刚生成的配置文件

④ 点击Download 等待下载进度条跑完

2、通信格式设置

晨控RFID如何通过CANOpen与西门子PLC建立通讯

在设备视图内选中CM CANopen模块,选择“属性”在“常规”选项内点击CANopen接口,将操作模式设置成CANopen Manager 波特率设置为1000Kbits/s,数据大小32。

3、程序编写

晨控RFID如何通过CANOpen与西门子PLC建立通讯

晨控RFID如何通过CANOpen与西门子PLC建立通讯

将PDO读取出来的12Byte数据存放在LR08 . Read Data数组内

晨控RFID如何通过CANOpen与西门子PLC建立通讯

晨控RFID如何通过CANOpen与西门子PLC建立通讯

将P#DB5.DBX12.0 BYTE 20内的10Byte数据写入PDO;

P#DB5.DBX12.0 BYTE 20是指以DB5块内起始地址12.0的20Byte数据,也可以使用上面RDREC的写法 “LR08”.”Write Data”。

如需了解CANOpen的应用可以联系晨控智能官方,晨控智能期待与您的合作。

审核编辑:汤梓红

【限时免费】一键获取网络规划系统模板+传输架构设计+连通性评估方案

相关文章

服务电话:
400-035-6699
企服商城