如何使用EtherCAT总线网关与倍福TwinCAT3系列PLC通讯
Superisys IACM-P4系列工业网关是一种提供标准工业总线协议的RFID控制器,支持ProfiNet、EtherCAT、Ethernet/IP协议。包含两个M12 T-CODE电源供电接口,两个M12 D-CODE 4-PIN 总线接口,4个M12 A-CODE RFID读写头接口。工业以太网传输速率最高支持100Mbps,可级联多个总线模块到PLC中,提供强大的现场采集数据能力。外壳采用轻便坚固的工程塑料,具有连接范围厂、通信能力强、环境适应好、防护等级高等特点。

硬件架构介绍

01
01✦组态网关设备✦
1.1 总线网关ECT文件安装
★ 打开TwinCAT3编程软件,新建一个项目程序,选择对应的PLC具体型号(本案例使用的是“CX9020”型号,配合“EK1110”EtherCAT通讯模块),命名完成新建后,将配置文件手动存放在“”目录下,如下图所示
选择相应文件夹下的“Superisys IACM-P4-ECT_V1.0”文件,将其放置该文件夹下即可。
02✦ 网关设备的组态✦
2.1 PLC在线
★ 双击“SYSTEM”,在右方弹出的对话框中找到”Choose Target”按钮,在弹出的“Choose Target system”对话框选择目标系统,如下图所示:
★ 点击“CX Setting”选项栏,可在线查看PLC的设备名称等信息,如下图所示:
针对Data Time时间进行手动矫正,如下图所示:
备注:需要注意系统的时间如果跟实际的时间不匹配的情况下,可能造成PLC程序下载出错。
2.2 ECT网关扫描
★找到”I/O”栏下面的“Devices”,右键选择“Scan”,扫描EtherCAT从站设备,在弹出的对话框中依次按照图示进行选择操作,如下图所示:
即可扫描出EtherCAT网关设备,如下图所示,为“Box3”设备:
备注:PLC的ETHERCAT通讯接口与“IACM-P4-ECT”总线网关的通讯连接必须接总线网关的“ETH1”通讯接口。
2.3 ECT网关的变量关联
★ 在全局变量中新建EtherCAT总线网关的RFID输入输出映射变量,如下图所示:
★ 在“Box3”下的“TxPDO”输入地址映射中,选择数组下面【0】~【31】共32个Byte进行地址关联,关联至“inputaddr0”地址,点击“OK”即可,如下图所示:
其它地址依次关联即可。
★ 在“Box3”下的“RxPDO”输入地址映射中,选择数组下面【0】~【31】共32个Byte进行地址关联,关联至“outputaddr0”地址,点击“OK”即可,如下图所示:
其它地址依次关联即可。
备注:EtherCAT总线网关总共占用128个字节的输入以及输出地址,分别按照顺序分配给RF1~RF4端口,即【0】~【31】分配给RF1,【32】~【63】分配给RF2,【64】~【95】分配给RF3,【96】~【127】分配给RF4。
03✦ 功能块的介绍及使用
✦打开“TwinCAT3”编程软件,打开例程程序。
3.1网关RFID通道的变量映射
★ 打开“POUs”下的“MAIN”主函数,RFID通道的输入输出地址映射关系如下图所示:
RF1~RF4通道输入输出地址分别对应inputaddr0~inputaddr3以及outputaddr0~outputaddr3。
3.2 RFID读写程序介绍
★ 提供的程序:
调用程序:“POUs”——MAIN主函数任务下下调用 RFID功能块程序;
功能块:“HF_ECTGateWayDemo”—— RFID读写功能处理;
全局变量:“Global_Variables”——RFID IO映射;
备注:用户在使用的过程中可将此部分内容赋值至新建程序中。
3.3 RFID读写功能块引脚说明
★ 一个“HF_ECTGateWayDemo”功能块实例调用对应一个端口通道的读写器,功能块如下:
★ 功能块引脚说明
每个功能块实例对应一个读写器,功能块引脚定义及功能如下:
备注:xRead,xWrite两个信号互斥,同一时间只能有一个信号为高电平,功能块只会执行第一个检测到的有效信号。
★ 命令执行时序
1、使能RFID
使能是使RFID工作的必要条件,在整个工作期间是默认保持RFID使能的。具体的时序如下所示。默认的RFID使能置位后,Ready未置位,则表示总线模块与RFID通讯异常。
2、命令执行
命令的执行以Trigger(xRead或xWrite)上升沿信号开始,在给Trigger信号置位之前,先将命令/参数/数据填充好。在命令执行期间保持Trigger信号置位,若取消当面命令的执行,将Trigger复位即可,Trigger后输入数据取的状态信息将复位。命令执行完后可从Read datas/Errcode取命令执行的结果。
3、长数据分包传输
在实际应用的过程中,可能存在一次无法传输完数据的情况,此时需要分包进行传输。以PLC启动长数据传输为例,时序图如下:
★ 从标签读取数据
当标签在读取范围时,通过读取功能可从标签指定起始地址读取特定长度的数据。命令的执行以”xRead”引脚上升沿触发,在进行读取时,需要先填充部分引脚参数,涉及到的参数如下:
★ 写入数据至标签
当标签静止在读取范围时,通过写入功能可以向一个标签指定的地址写入特定长度的数据。命令的执行以”xWrite”引脚上升沿触发,在命令触发前,需要填写以下参数:
3.4 读写器读/写功能示例
本例程使用RFID1第一个接口进行测试。
当读写器成功连接上后,可对读写器进行读/写操作,如下图所示:
“xReady”信号置1,表明读写器连接成功,即可进行下一步的读写操作:
3.4.1读UID数据区
a) 标签靠近读写器,读写器自动感应标签,标签到位信号“xTP”变为“TRUE”;
自动获取所靠近标签的UID数据,固定长度8个字节,可在arrUIDData查看;
备注:UID数据出厂时设定,可读不可写,数据序列是唯一的;
3.4.2写USER数据区
a) 标签靠近到位,标签到位信号xTP信号的值为“1”;
b) 在arrwriteData数组中填充数据要写入的数据;
c) 标签到位,标签到位信号xTP信号的值为“TRUE”;
d) 修改数据长度iWriteLength的值8,单位为字节;
e) 修改起始地址wWriteAddress的值为16#0000;
备注:在“xWrite”信号命令触发前,务必先填充好“a~e”项参数。
f) 修改写入命令xWrite 为 “1”;
g) 查看功能块反馈回来的完成信号xWriteDone和错误信号xWriteError。
如果xWriteDone值为“1”且xWriteError值为“0”,则说明数据已写入完成;
如果xWriteError为“1”,则说明数据写入失败;
如下图所示:从起始地址0开始,写入8个字节数据进入标签的用户区成功。
3.4.3读USER区
a) 标签到位,标签到位信号xTP信号的值为“TRUE”;
b) 修改数据长度iReadLength的值为8,单位为字节;
c) 修改起始地址wReadAddress的值为16#0000;
备注:在“xRead”信号命令触发前,务必先填充好“a~c”项参数。
d) 修改写入命令xRead 为 “1”(必须先复位xWrite信号);
e) 查看功能块反馈回来的完成信号xDone和错误信号xError。
如果xReadDone值为“1” 且xReadError值为“0”,则说明数据已读取完成;
如果xReadError为“1”,则说明数据读取失败;
如下图所示:从起始地址0开始,读取8个字节标签的用户区数据成功。
对比3.4.2的写入User区的数据,可验证写入和读取数据无误。
04✦ 错误代码
✦读写头自定义错误码(命令执行错误时):
功能块自定义错误码:
主推产品Main product
1工业RFID低频读写器
2工业RFID高频读写器
3工业RFID超高频读写器
4工业RFID总线通讯模块

5工业RFID高频载码体

6工业RFID超高频载码体

产品优势Product advantage

关于我们About us
苏培(Superisys)成立于2018年,是工业识别、通讯、传感和数据的技术提供商,在中国武汉拥有生产基地、在长沙、和加拿大多伦多拥有研发中心和技术中心,旗下拥有工业识别,工业通讯,以及工业传感和数据解决方案产品线;拥有多项发明专利和著作权、参与多项传感器和激光设备的国际标准,已成为北美、和亚太地区在工业自动化AIOT领域知名的产品品牌;真正实现“Designed In Toronto&Made in China”;
Superisys的产品和解决方案广泛应用于全球的汽车、新能源、光伏、消费电子、家电、工程机械、航空、航天、轨道交通、石油化工、服装等行业;用我们的“可靠”与“创新”推动这些行业的工业4.0的全场景达成,成为全球工业传感和通讯在工业4.0领域智能化的参与者;
Superisys,以super和intelligent System为寓意,致力成为您可信赖的智能制造合作伙伴!
请留下你指尖的温度
关注苏培智能
