/ EN
400-788-0086

如何使用苏培Modbus TCP总线网关与台达AX系列PLC通讯


概述

     Modbus TCP通讯协议是由Modicon公司(现已经为施耐德公司并购,成为其旗下的子品牌)于1979年发明的,是全球最早用于工业现场的总线规约。

Modbus通信协议采用的是主从通信模式(即Master/Slave通信模式),其在分散控制方面应用极其广泛,从而使得Modbus协议在全球得到了广泛的应用。

Modbus通信协议具有多个变种,其具有支持串口(主要是RS-485总线),以太网多个版本。

本期我们来注重介绍一下如何使用Superisys RFID Modbus TCP总线网关与台达AX系列PLC进行通讯读写



IACM-P4工业网关

微信图片_2025-12-16_165028_500.png
微信图片_2025-12-16_165032_109.png

        Superisys IACM-P4-EN总线模块是一种提供标准工业总线协议的RFID控制器,支持MODBUS TCP协议;包含2个M12 T CODE电源供电接口,1个M12 D CODE 4-PIN 总线接口,4个M12 A CODE RFID读写头接口;外壳采用坚固的锌合金金属材料,具有连接范围厂、通信能力强、环境适应好、防护等级高等特点。

可同时连接4个RFID读写头进行独立操作;

IP67的防护等级,能够适应油污、粉尘、潮湿等恶劣工况;

单网口,可组星型网络;

电源输入带反接保护和3000W浪涌保护,RFID端口带防反接和过压过流保护。


02


硬件架构介绍

1.jpg


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


控制器

(PLC)

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

网关总线

控制器

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

读写头

(超高频

/高频)

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

载码体

(超高频

/高频)

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

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

01

✦EN总线协议模块参数设置



1.1 IP地址设置



★ 打开“RfidController”Demo软件,点击“工具”栏下的“RFID搜索”工具,在弹出的“IP地址搜索”对话框中的“网络列表”中选择对应的本地网卡。点击“搜索”按钮,网络正常连接的情况下,即可搜索出来EN总线协议模块的IP地址(默认192.168.0.10),如下图所示:

2.png

双击搜索出来的模块,在弹出的“IP地址设置”对话框中输入要修改的模块IP地址(一般网关会同步修改成同一个网段的地址),点击“设置”按钮,下方状态显示“Set Ok!”后,针对模块断电重启即可生效,如下图所示,将EN总线网关的IP地址修改成PLC同一个网段的IP地址:

3.png




1.2 PLC的通讯配置



打开“DIADesigner”编程软件,在“网络配置”项目下新增以太网网络,然后在“Etherent_1”,以太网网络下,右键选择“添加设备”,分别添加“Modbus TCP主站”和“Modbus TCP从站设备”(注意要选择带“Delta”前缀的Modbus TCP主从站)如下图所示:

4.png

双击“Delta_Modbus_TCP_Slave_1”从站,在“通用”栏下,修改从站(EN总线协议网关)的IP地址,如下图所示:

5.png

点击选择“Modbus 从站通道”,分别新增配置两个循环的读写寄存器命令通道参数,如下图所示:

备注:通道的使能选项一定要勾选才能正常执行。

6.png

点击选择“Delta Modbus_TCP Slave I/O映射”,可查看读写寄存器的I/O映射地址,如下图所示:

备注:此处需要跟程序的全局变量的“RFID端口IO地址映射”想关联匹配。

7.png


02

✦ 功能块应用介绍



2.1 RFID程序介绍



★ RFID读写功能块介绍

提供的程序:

全局变量:”GVL_RFID”—— RFID端口IO地址映射;

功能块:“RFID_RW”—— RFID读头读写功能块程序调用;




2.2 RFID通讯功能说明




“GVL_RFID”——全局变量通过指针的方式来指向EN总线协议网关的内存映射地址,分别指向4个RFID端口的输入输出内存映射地址,如下图所示:

8.png

一个“RFID_RW_FB”功能块实例调用对应一个读写头的通讯连接,功能块详解如下

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

9.png
10.png

所有命令信号互斥,同一时间只能有一个命令信号为高电平,功能块只会执行第一个检测到的有效信号。




2.3 RFID读写头输入输出地址填充




本例程中,EN总线协议网关的4个RFID端口分别通过不同的IO内存地址来区分,4个端口RFID分别占用不同的4个内存区域,可以实现同时独立读写操作,多次调用“RFID_RW”功能块,在输入输出地址栏,分别填充对应的地址映射变量,即可实现不同端口RFID的调用,如下图所示:

11.png

03

✦读写头读/写功能示例



3.1 命令执行时序



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

12.png

命令的执行以xRead或xWrite上升沿信号开始,在给Trigger信号置位之前,先将命令/参数/数据填充好。在命令执行期间保持xRead或xWrite信号置位,若取消当前命令的执行,将xRead或xWrite复位即可。命令执行装填可根据xDone或xError信号来判断,命令执行完后可从Read datas/Errcode取命令执行的结果。




3.2命令执行参数



★ 从标签读取数据

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

13.png

★ 写入数据至标签

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

14.png




3.3 标签ID数据



★ 操作步骤如下(数据存储在arrUIDData):

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

b) 自动获取所靠近标签的UID数据,固定长度8个字节,可在arrUIDData0查看;

15.png




3.4写标签内存数据区



★ 操作步骤如下(数据填充在arrWriteData):

a) 标签靠近读写头;

b) 设置wWriteAddress值为0,设置读写起始地址为0;

c) 设置iWriteLength值为8,读写8个寄存器数据(起始地址以及长度参数不能超过标签的最大内存区)

d) 在arrWriteData [0]~ arrWriteData [7]中填充要写入的数据内容;

e) 使能xWrite值为TRUE,触发写入USER区数据;

等待xWriteDone或xWriteError信号,当xWriteError为TRUE时,写入失败,可通过对应的wErrorCode查看对应的错误代码,分析错误原因,当xWriteDone为TRUE时,表明写入成功,可读取查看arrReadUserData(标签内存数据)是否正确写入。

触发写入标签USER内存数据示意如下图所示:

16.png




3.5 读标签内存数据区



★ 操作步骤如下(数据存储在arrReadData):

a) 标签靠近读写头;

b) 设置wReadAddress值为0,设置读写起始地址为0;

c) 设置iReadLength值为8,读写8个寄存器数据(起始地址以及长度参数不能超过标签的最大内存区域)

d) 使能xRead值为TRUE,触发读USER区数据;

e) 等待xReadDone或xReadError信号,当xReadError为TRUE时,读取失败,可通过对应的wErrCode查看对应的错误代码,分析错误原因,当xReadDone为TRUE时,表明读取成功。

读USER区数据参数示意:

17.png

与上文写入数据比较一致,证明写入成功




04

✦错误码



4.1 错误码详细定义



总线工作模式下功能块自定义错误码(命令执行错误时):

18.png


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

19.png



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

北美热线:+16478798867

扫码关注苏培智能公众号

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