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

今日头条

1145人已加入

描述

CANopen 是一个基于 CAN 串行总线的网络传输系统的应用层协议,遵循 ISO/OSI 标准模型。网络中不同的设备通过对象字典或者对象来相互交换数据,其中,主节点可以通过过程数据对象 (PDO) 或者服务数据对象 (SDO) 来获取或者修改其它节点对象字典列表中的数据。

CANOpen协议主要内容分为三大块,如下图CANopen 的设备模型。

RFID

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

RFID

一、读卡器端

1、接线说明

RFID

CK-LR08-C01接线说明

RFID

2、通讯格式

通信接口:CAN

通信协议:CANOpen

波特率:1MBit/s

CANID:2

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

RFID

二、西门子PLC端

1、模块CANopen模块组态

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

RFID

RFID

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

RFID

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

RFID

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

RFID

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

RFID

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

RFID

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

RFID

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

RFID

RFID

①点击“Add new group”图标;

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

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

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

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

RFID

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

RFID

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

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

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

RFID

① 点击下载按钮

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

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

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

2、通信格式设置

RFID

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

3、程序编写

RFID

RFID

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

RFID

RFID

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

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

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

审核编辑:汤梓红

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

全部0条评论

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

×
20
完善资料,
赚取积分