/ EN
400-788-0086

如何使用苏培EthernetIP总线网关与欧姆龙NXJ系列PLC通讯

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工业网关



      

083429341.png

083438966.png


  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选型技术手册V1.0-新版丝印_01.jpg

RFID架构系统主要组成如下:


控制器

(PLC)

下发命令控制读写头进行操作;

网关总线

控制器

PLC与网关总线控制器进行通讯,间接控制读写头;

读写头

(超高频

/高频)

获取控制器的命令,执行对载码体的读/写数据操作;

载码体

(超高频

/高频)

存储数据的载体,数据存储区域划分如下:

高频载码体有UID区(通常只有8 byte/只读且唯一)、USER区(实际内存大小因载码体类型而异/可读可写);

01

✦ 组态连接



1.1 总线网关EDS文件安装



打开欧姆龙Sysmac stduio软件,新建一个项目程序,选择对应的PLC型号及版本号(本例程中使用的是NX1P2-9024DT1 V1.18版本的PLC),选中“工具”栏下的“EtherNet/IP连接设置”选项,双击“内置EtherNet/IP端口设定”进入界面,如下图所示:

图片1.png

在右上方“工具箱”栏右键选择“显示EDS库”,选择“安装”按钮,选择相应文件夹下的EDS文件,点击“打开”,完成安装即可,如下图所示:

图片2.png




1.2 总线网关设备组态



★ 使用总线网关助手软件,点击“工具”栏下的“网关搜索器”,点击搜索(“IACM-P4-EIP”设备),双击搜索出来的网关设备,修改IP地址(192.168.250.10),点击设置,重启后生效,完成EtherNet/IP从站设备(网关)的IP设置,如下图所示:

图片3.png

★ 在内置EtherNet/IP端口设定界面的右上方下找到“工具箱”,点击下方“+”图标, 选中刚安装好的总线网关模块(“IACM-P4-EIP”设备),依次设置好节点地址(192.168.250.10)

图片4.png

★ 选中左上方的连接图标,进入连接组态界面,点击下方的“+”号图标(或者直接将工具箱栏下新添加的目标设备拖拽至连接栏下方),完成网关设备的硬件组态,如下图所示:

图片5.png




总线网关IO映射



★ 双击“数据”选项下的“全局变量”栏,分别新建一个输入、输出类型的全局变量(128个字节大小的数组类型,对应总线网关的输入、输出内存大小),如下图所示:

图片6.png

★ 返回“内置EtherNet/IP端口设置”界面,点击左上方的“标签组”,依次新建标签组数据,新建标签组以及标签(标签选择上图中的新建的全局输入输出变量)如下图所示:

图片7.png

★ 再次点击“连接”图标,在“目标变量”栏下的输入及输出空白处分别填写100和150,总线网关的输入输出即可关联至新建的变量地址中,如下图所示:

图片8.png

点击“文件”选项下的“保存”按钮,保存设置组态参数即可。




EIP网关组态参数下载



★ 在“在线”模式下,传送下载组态的“EtherNet/IP网络配置”参数,不要勾选第四个选项即不下载“EtherNet/IP”网络配置“参数的选项,点击“执行”按钮,下载硬件配置参数,如下图所示:

图片9.png

下载完成后,查看PLC设备的“EtherNet/IP”端口指示灯状态,如果“LINK/ACT”指示灯黄灯闪烁,表明EtherNet/IP从站通讯正常。


02

✦功能块介绍及使用

打开“Sysmac stduio”编程软件,打开“EIPGatewayDemo”样例程序。




2.1网关RFID通道I/O的变量地址映射



EtherNet/IP总线网关的四个RFID读写头的I/O映射通过“INOUTRFIDDataMove”功能块来实现映射的,,调用功能块,填写相应的输入输出地址参数即可完成地址每个RFID输入输出地址的映射,如下图所示:

图片10.png




2.2 RFID读写功能块介绍



提供的程序:

调用程序:“EIPGatewayDemo”—— RFIDDemo功能块程序调用;

功能块:“RFIDDemo”—— RFID读写功能处理;




2.3 RFID读写功能块引脚说明



一个“RFIDDemo”功能块实例调用对应一个端口通道的读写器,功能块图形如下:

图片11.png

★ 功能块引脚说明

每个功能块实例对应一个读写器,功能块引脚定义及功能如下:

1749688859766.jpg



03

✦读写头读/写功能示例



3.1命令执行时序



 ★ 载码体ID读取

调用RFID读写功能块后,默认保持RFID使能;当读写头感应到载码体的在位信号(xTP)的上升沿,自动上传载码体ID数据,当载码体离开读写头感应区域时,载码体ID数据自动清空,具体的时序如下图所示:

图片12.png


★ 命令执行

在执行读写载码体内存数据命令时,需要先填写好读写的参数(读写载码体内存的起始地址,字节长度,写入的数据填充区数据内容等),然后再触发读写命令,具体的命令执行时序如下图所示:

图片13.png

在xRead/Write执行过程中,在未收到(xRead/WriteDone、xRead/WriteError)信号时,请不要手动复位xRead/Write信号,也建议用xTP信号去替代xRead信号进行自动读取触发。


★ 从标签读取数据

当标签在读取范围时,通过读取功能可从标签指定起始地址读取特定长度的数据。命令的执行以”xRead”引脚上升沿触发,在进行读取时,需要先填充部分引脚参数,涉及到的参数如下:

18.png


★ 写入数据至标签

当标签静止在读取范围时,通过写入功能可以向一个标签指定的地址写入特定长度的数据。命令的执行以”xWrite”引脚上升沿触发,在命令触发前,需要填写以下参数:

19.png

本例程中一次性读写标签内存操作最大字节数为2000,大于2000字节请联系我司技术人员进行修改。


当读写器成功连接上后,可对读写器进行读/写操作:

“xReady”信号置1,表明读写器连接成功,“xTP”信号置1,表明读写器感应到标签;

打开“编程”下的“RFIDFunction”调用程序,在“视图”下的“监视窗口”下添加相应的读写操作变量名称,修改对应的变量值可对标签进行读写操作。




3.2读UID数据区



a) 标签靠近读写器,读写器自动感应标签,标签到位信号“xTP”自动变为“TRUE”;

b) arrUIDData[0] – arrUIDData[7] 自动获取所靠近标签的UID数据,固定长度8个字节;

图片14.png

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个字节数据进入标签的用户区成功。

图片15.png




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个字节标签的用户区数据成功。

图片16.png

对比3.2.2的写入User区的数据,可验证写入和读取数据无误。


04

✦错误码



4.1 错误码详细定义



读写头自定义错误码(命令执行错误时):

20.png


功能块自定义错误码:

21.png



中国区服务热线:400-788-0086

北美热线:+16478798867

扫码关注苏培智能公众号

© 2023 苏培(武汉)智能科技有限公司 版权所有鄂ICP备2022019679号-1