01
概述
Ethernet/IP是基于以太网的开放式现场总线,由控制网国际有限公司(ControlNet International)的一个技术工作组与ODVA(开放式DeviceNet供应商协会)在20世纪90年代合作设计,EtherNet/IP是基于通用工业协议(Common Industrial Protocol,CIP)的。
美国的工控设备制造商Rockwell/Allen-Bradley已经围绕EtherNet/IP进行了标准化,其他厂商如Omron也在其设备上支持了EtherNet/IP,EtherNet/IP已经变得越来越受欢迎。
本期我们来注重介绍一下Superisys RFID如何使用EthernetIP总线网关与欧姆龙NXJ系列PLC进行通讯读写。
IACM-P4工业网关
Superisys IACM-P4系列工业网关是一种提供标准工业总线协议的RFID控制器,支持ProfiNet、EtherCAT、Ethernet/IP协议。包含两个M12 T-CODE电源供电接口,两个M12 D-CODE 4-PIN 总线接口,4个M12 A-CODE RFID读写头接口。工业以太网传输速率最高支持100Mbps,可级联多个总线模块到PLC中,提供强大的现场采集数据能力。外壳采用轻便坚固的工程塑料,具有连接范围厂、通信能力强、环境适应好、防护等级高等特点。
可同时连接4个RFID读写头进行独立操作;
支持ProfiNet、EtherCAT、EtherNet/IP协议;
IP67的防护等级,能够适应油污、粉尘、潮湿等恶劣工况;
双网口,集成交换机功能,可组星型网络和树型网络;
电源输入带反接保护和3000W浪涌保护,RFID端口带防反接和过压过流保护。
02
硬件架构介绍
RFID架构系统主要组成如下:
控制器
(PLC)
下发命令控制读写头进行操作;
网关总线
控制器
PLC与网关总线控制器进行通讯,间接控制读写头;
读写头
(超高频
/高频)
获取控制器的命令,执行对载码体的读/写数据操作;
载码体
(超高频
/高频)
存储数据的载体,数据存储区域划分如下:
高频载码体有UID区(通常只有8 byte/只读且唯一)、USER区(实际内存大小因载码体类型而异/可读可写);
01
✦ 组态连接
✦
1.1 总线网关EDS文件安装
打开欧姆龙Sysmac stduio软件,新建一个项目程序,选择对应的PLC型号及版本号(本例程中使用的是NX1P2-9024DT1 V1.18版本的PLC),选中“工具”栏下的“EtherNet/IP连接设置”选项,双击“内置EtherNet/IP端口设定”进入界面,如下图所示:
在右上方“工具箱”栏右键选择“显示EDS库”,选择“安装”按钮,选择相应文件夹下的EDS文件,点击“打开”,完成安装即可,如下图所示:
1.2 总线网关设备组态
★ 使用总线网关助手软件,点击“工具”栏下的“网关搜索器”,点击搜索(“IACM-P4-EIP”设备),双击搜索出来的网关设备,修改IP地址(192.168.250.10),点击设置,重启后生效,完成EtherNet/IP从站设备(网关)的IP设置,如下图所示:
★ 在内置EtherNet/IP端口设定界面的右上方下找到“工具箱”,点击下方“+”图标, 选中刚安装好的总线网关模块(“IACM-P4-EIP”设备),依次设置好节点地址(192.168.250.10)
★ 选中左上方的连接图标,进入连接组态界面,点击下方的“+”号图标(或者直接将工具箱栏下新添加的目标设备拖拽至连接栏下方),完成网关设备的硬件组态,如下图所示:
总线网关IO映射
★ 双击“数据”选项下的“全局变量”栏,分别新建一个输入、输出类型的全局变量(128个字节大小的数组类型,对应总线网关的输入、输出内存大小),如下图所示:
★ 返回“内置EtherNet/IP端口设置”界面,点击左上方的“标签组”,依次新建标签组数据,新建标签组以及标签(标签选择上图中的新建的全局输入输出变量)如下图所示:
★ 再次点击“连接”图标,在“目标变量”栏下的输入及输出空白处分别填写100和150,总线网关的输入输出即可关联至新建的变量地址中,如下图所示:
点击“文件”选项下的“保存”按钮,保存设置组态参数即可。
EIP网关组态参数下载
★ 在“在线”模式下,传送下载组态的“EtherNet/IP网络配置”参数,不要勾选第四个选项即不下载“EtherNet/IP”网络配置“参数的选项,点击“执行”按钮,下载硬件配置参数,如下图所示:
下载完成后,查看PLC设备的“EtherNet/IP”端口指示灯状态,如果“LINK/ACT”指示灯黄灯闪烁,表明EtherNet/IP从站通讯正常。
02
✦功能块介绍及使用
✦
打开“Sysmac stduio”编程软件,打开“EIPGatewayDemo”样例程序。
2.1网关RFID通道I/O的变量地址映射
EtherNet/IP总线网关的四个RFID读写头的I/O映射通过“INOUTRFIDDataMove”功能块来实现映射的,,调用功能块,填写相应的输入输出地址参数即可完成地址每个RFID输入输出地址的映射,如下图所示:
2.2 RFID读写功能块介绍
提供的程序:
调用程序:“EIPGatewayDemo”—— RFIDDemo功能块程序调用;
功能块:“RFIDDemo”—— RFID读写功能处理;
2.3 RFID读写功能块引脚说明
一个“RFIDDemo”功能块实例调用对应一个端口通道的读写器,功能块图形如下:
★ 功能块引脚说明
每个功能块实例对应一个读写器,功能块引脚定义及功能如下:
03
✦读写头读/写功能示例
✦
3.1命令执行时序
★ 载码体ID读取
调用RFID读写功能块后,默认保持RFID使能;当读写头感应到载码体的在位信号(xTP)的上升沿,自动上传载码体ID数据,当载码体离开读写头感应区域时,载码体ID数据自动清空,具体的时序如下图所示:
★ 命令执行
在执行读写载码体内存数据命令时,需要先填写好读写的参数(读写载码体内存的起始地址,字节长度,写入的数据填充区数据内容等),然后再触发读写命令,具体的命令执行时序如下图所示:
在xRead/Write执行过程中,在未收到(xRead/WriteDone、xRead/WriteError)信号时,请不要手动复位xRead/Write信号,也建议用xTP信号去替代xRead信号进行自动读取触发。
★ 从标签读取数据
当标签在读取范围时,通过读取功能可从标签指定起始地址读取特定长度的数据。命令的执行以”xRead”引脚上升沿触发,在进行读取时,需要先填充部分引脚参数,涉及到的参数如下:
★ 写入数据至标签
当标签静止在读取范围时,通过写入功能可以向一个标签指定的地址写入特定长度的数据。命令的执行以”xWrite”引脚上升沿触发,在命令触发前,需要填写以下参数:
本例程中一次性读写标签内存操作最大字节数为2000,大于2000字节请联系我司技术人员进行修改。
当读写器成功连接上后,可对读写器进行读/写操作:
“xReady”信号置1,表明读写器连接成功,“xTP”信号置1,表明读写器感应到标签;
打开“编程”下的“RFIDFunction”调用程序,在“视图”下的“监视窗口”下添加相应的读写操作变量名称,修改对应的变量值可对标签进行读写操作。
3.2读UID数据区
a) 标签靠近读写器,读写器自动感应标签,标签到位信号“xTP”自动变为“TRUE”;
b) arrUIDData[0] – arrUIDData[7] 自动获取所靠近标签的UID数据,固定长度8个字节;
UID数据出厂时设定,可读不可写,数据序列是唯一的;
3.3写USER数据区
a) 标签靠近到位,标签到位信号xTP信号的值为“1”;
b) 在arrwriteData数组中填充数据要写入的数据;
c) 修改数据长度iWriteLength的值8,单位为字节;
d) 修改起始地址wWriteAddress的值为16#0000;
e) 修改写入命令xWrite 为 “1”;
f) 查看功能块反馈回来的完成信号xWriteDone和错误信号xWriteError。
如果xWriteDone值为“1”且xWriteError值为“0”,则说明数据已写入完成;
如果xWriteError为“1”,则说明数据写入失败;
如下图所示:从起始地址0开始,写入8个字节数据进入标签的用户区成功。
3.4读USER区
a) 标签到位,标签到位信号xTP信号的值为“TRUE”;
b) 修改数据长度iReadLength的值为8,单位为字节;
c) 修改起始地址wReadAddress的值为16#0000;
d) 修改写入命令xRead 为 “1”(必须先复位xWrite信号);
e) 查看功能块反馈回来的完成信号xReadDone和错误信号xReadError。
如果xReadDone值为“1” 且xReadError值为“0”,则说明数据已读取完成;
如果xReadError为“1”,则说明数据读取失败;
如下图所示:从起始地址0开始,读取8个字节标签的用户区数据成功。
对比3.2.2的写入User区的数据,可验证写入和读取数据无误。
04
✦错误码
✦
4.1 错误码详细定义
读写头自定义错误码(命令执行错误时):
功能块自定义错误码:
© 2023 苏培(武汉)智能科技有限公司 版权所有鄂ICP备2022019679号-1