工业RFID应用之技术篇(五):基于CANopen网络的RFID低频读写器通信实例

今日头条

1083人已加入

描述

CANopen是一种架构在控制局域网络(Controller Area Network, CAN)上的高层通信协议,包括通信子协议及设备子协议,常在嵌入式系统中使用,也是工业控制常用到的一种现场总线。

当使用不是基于PROFIBUS或PROFINET的网络化现场总线设备扩展SIMATIC自动化系统时,无缝集成到SIMATIC可以显著提高生产效率。

CK-LR08-C01低频RFID读写器集成CANopen通讯协议,通过第三方CM CANopen通讯模块连接到西门子PLC,在对现场设备升级置换时可无缝连接至下位机,还可同时搭载多台RFID读写器。

RFID连接PLC需要对CANopen网络进行组态,可通过CM CANopen Configuration Studio软件完成。

硬件型号:

PLC:西门子S7-1200 1211C AC/DC/RLY

通信模块:HMS CM CANopen (021620-B)

读写器:CK-LR08-C01

软件型号:

编程组态软件:TIA Portal V14 SP1

CM CANopen Configuration Studio软件版本:2.1

PLC固件版本:V4.2

CANopen  Eds版本:CK-LR08-C01

一、配置CANopen通讯模块

打开CM CANopen Configuration Studio软件,首先将CK-LR08-C01的EDS参数文件导入组态软件CM CANopen Configuration Studio。

EDS文件是用来描述从站参数的文本文件,EDS文件唯一的作用就是给主站配置软件,让配置的过程变得简单,我司针对RFID读写器开发了完善的EDS文件,购买时附送。

RFID读卡器

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

RFID读卡器

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

RFID读卡器

新建一个工程文件,选择保存路径、主站设备(CANopen Manager Device)为S7-1200 CM CANopen,然后点击OK保存。

RFID读卡器

在下方的Other Profiles栏内将读写器型号拖动至上方的Project Explorer内,在弹出的Add New Device项目栏内填入设备名称(Logical Name)、从站ID(Node-ID,默认选择2),将Group选择为Slaves从站然后点击完成。

RFID读卡器

软件界面上半部分NMT栏目:

Bit0:勾选表示设定该设备为主站

下方Slave栏目:

Bit0:勾选表示设定该设备为从站

Bit1:勾选表示当网络启动(设备上电)或者设备从错误控制事件中恢复正常时,主站会对该设备写入配置并启动该设备进入运行状态

Bit7:勾选表示该设备在进行配置前恢复出厂设置

我们将下方的Bit7取消勾选

RFID读卡器

打开Error Conttrol Configuration界面,将主从站的心跳报文时间(Producer Time)设定为500ms,再设定主站监听从站的心跳报文超时时间(Consumer Time)设定为750ms。

RFID读卡器

打开Application objects界面,选择要通过PDO传送的参数对象,将选项全部勾选。

RFID读卡器

打开Process Image选项卡 >> 点击“Add new group”图标 >> 以小写的英文字母分别命名创建的Group。

RFID读卡器

选中同一Node-ID下的所有对象 >> 在Group下拉列表中(图中标识2)选择分配给该Node-ID的组名 >> 点击“Assign group to selected objects”(图中标识3)图标完成分组。

RFID读卡器

在软件界面的右侧找到PDO Parameters Node-ID,设置RPDO和TPDO的参数 >> 将Enabled和Lock PDO都勾选 >> Transmission Type(传输类型)选项都选择Event-driven >> 对于TPDO还需要设置最大最小发送间隔,Inhibit Time设置为50dec,Event Timer设置为500dec。

RFID读卡器

参数设置成功之后点击“计算配置”等待计算完成,点击“生成配置”生成配置文件并保存至用户指定文件夹。

RFID读卡器

点击下载,在弹出的Download界面选择CM CANopen USB,Download File选择刚才生成的配置文件,点击Download等待程序运行完成。

RFID读卡器

二、西门子PLC例程

打开博图TIA V14编程软件,加载PLC例程,双击“设备与网络”,设置CANopen通讯模块的通信格式。

RFID读卡器

在属性>>常规中选择“CANopen接口”,操作模式选择“CANopen Mnager”,波特率设置“1000”,数据大小设置“32”。

RFID读卡器

设置完成就可以查看程序了,程序已经做好了封装,主程序main内调用“LR08 Read”和“LR08 Write”程序块进行读写操作即可。

RFID读卡器

RFID读卡器

在“LR08 Read”块中主要调用“RDREC”指令,其中ID为硬件标识符,INDEX为PDO数据缓冲区索引,MLEN为CANopen输入数据大小(bytes),RECORD为读取的数据存放的地址域。“LR08 Write”块中主要调用“WRREC”指令,完成写命令。

RFID读卡器

读写器数据将会保存到DB数据块“LR08”的“Read Data”和“Write Data”,方便用户调用。

RFID读卡器

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

全部0条评论

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

×
20
完善资料,
赚取积分