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文件,购买时附送。
在tools中选择manage catalog打开device catalog managemen,点击import a device打开文件选择窗口,选择好目标eds文件双击载入。
此时可以在界面下方的error list栏内看到是0errors 0warnings,这就代表eds文件成功载入,从站参数成功导入。
新建一个工程文件,选择保存路径、主站设备(canopen manager device)为s7-1200 cm canopen,然后点击ok保存。
在下方的other profiles栏内将读写器型号拖动至上方的project explorer内,在弹出的addnewdevice项目栏内填入设备名称(logical name)、从站id(node-id,默认选择2),将group选择为slaves从站然后点击完成。
软件界面上半部分nmt栏目:
bit0:勾选表示设定该设备为主站
下方slave栏目:
bit0:勾选表示设定该设备为从站
bit1:勾选表示当网络启动(设备上电)或者设备从错误控制事件中恢复正常时,主站会对该设备写入配置并启动该设备进入运行状态
bit7:勾选表示该设备在进行配置前恢复出厂设置
我们将下方的bit7取消勾选
打开error conttrol configuration界面,将主从站的心跳报文时间(producer time)设定为500ms,再设定主站监听从站的心跳报文超时时间(consumer time)设定为750ms。
打开application objects界面,选择要通过pdo传送的参数对象,将选项全部勾选。
打开process image选项卡 >> 点击“add new group”图标>> 以小写的英文字母分别命名创建的group。
选中同一node-id下的所有对象>> 在group下拉列表中(图中标识2)选择分配给该node-id的组名>> 点击“assign group to selected objects”(图中标识3)图标完成分组。
在软件界面的右侧找到pdo parameters node-id,设置rpdo和tpdo的参数 >> 将enabled和lock pdo都勾选 >> transmission type(传输类型)选项都选择event-driven >> 对于tpdo还需要设置最大最小发送间隔,inhibit time设置为50dec,event timer设置为500dec。
参数设置成功之后点击“计算配置”等待计算完成,点击“生成配置”生成配置文件并保存至用户指定文件夹。
点击下载,在弹出的download界面选择cm canopen usb,download file选择刚才生成的配置文件,点击download等待程序运行完成。
二、西门子plc例程
打开博图tia v14编程软件,加载plc例程,双击“设备与网络”,设置canopen通讯模块的通信格式。
在属性>>常规中选择“canopen接口”,操作模式选择“canopen mnager”,波特率设置“1000”,数据大小设置“32”。
设置完成就可以查看程序了,程序已经做好了封装,主程序main内调用“lr08 read”和“lr08 write”程序块进行读写操作即可。
在“lr08 read”块中主要调用“rdrec”指令,其中id为硬件标识符,index为pdo数据缓冲区索引,mlen为canopen输入数据大小(bytes),record为读取的数据存放的地址域。“lr08 write”块中主要调用“wrrec”指令,完成写命令。
读写器数据将会保存到db数据块“lr08”的“read data”和“write data”,方便用户调用。
S7-200系列PLC的存储器空间
首款USB 3.0收发器TUSB1310 可实现高速数据传输
磁共振无线充电或为5G时代最被低估的潜力股
工信部严打改号软件,重压之下仍屡禁不绝
AD9361数据路径在低电压差分信号(LVDS)模式下运行
工业RFID应用之技术篇(五):基于CANopen网络的RFID低频读写器通信实例
亿纬锂能46系大圆柱意向订单约472.31GWh
BOSCH在中国第二个生产基地青岛开建
EMUI11其实就是鸿蒙吗?有什么区别吗
航天电器获评贵州企业百强第50名、贵州制造业企业百强第21名
OnRobot公司最新推出了一款功能完善的2FG7电动平行夹持器
开易科技完成1亿元A+轮融资 共推智能驾驶落地
一文彻底搞懂MySQL锁究竟锁的啥1
Web3.0创新应用论坛顺利召开|上海数据交易所正式发布“M.A.T.H系统”
人脸识别+远程监控,斑点猫智能猫眼仅售599元
5G和无人机有哪些运用的场景
浅谈层叠设计、同层串扰、层间串扰
一文看懂汽车电路原理图
什么是可逆电机_可逆电机与定向电机的区别_电动机可逆运行控制电路及接线
智能音箱--智能家居的重要成员