ModBus TCP以太网工业级RFID读写器|读写头CK-FR08-E00与PLC通讯例子说明
CK-FR08-E系列读卡器支持工业现场以太网协议(EtherNet IP, ProfiNet 等)和标准工业通讯协议 ModBus TCP,本文档主要向用户介绍CK-FR08-E00工业读写器|读卡器的ModBus TCP与PLC通讯协议应用。
本次说明所使用的程序版本为博图V14 SP1。
1、MODBUS TCP命令支持
CK-FR08 对 ModBus TCP 协议命令的支持如下:
◆ 0x03---读寄存器命令
◆ 0x06---写寄存器命令
2、标签数据读写原理
读卡器内部分数据输入区和数据输出区,PLC向读卡器输入区写入相关的数据和操作指令,读卡器执行读写器指令后,把执行指令的结果存储到读卡器的输出区。

图 1.1 RFID Tag数据读写原理
3、读卡寄存器分配
读卡器寄存器为16bit宽度,占用2 bytes内存空间,采用大端数据存储格式。读卡器内存分配见下表:
表 1.1读卡器内存分配表

详细介绍可查阅《MODBUS TCP开发指南》.
4、RFID标签地址分配
标签的地址分配如下表:
表 2.1 RFID标签数据地址分配表
| UID地址 | addr=0x0000 | addr=0x 0001 | 只读 |
| addr=0x 0002 | addr=0x 0003 | ||
| 用户数据 | addr=0x 0004 | addr=0x 0005 | 读写 |
| addr=0x 0006 | addr=0x 0007 | ||
| ... | ... | ||
| ... | ... | ||
| addr=0x 40FD | addr=0x 40FE | ||
| addr=0x 40FF | addr=0x 4100 |
注: ●最大可支持8K Byte容量标签的读写操作。标签根据不同型号有不同的容量值,具体可参考标签的数据手册。
●UID数据区RFID标签的出厂ID存放区,数据为只读,UID长度为8bytes,地址范围0x0000~0x0003。
●地址addr=0x0004至addr=0x4100为用户数据寄存器,用户可对这些寄存器进行读写操作。
5、博图PLC程序
本PLC使用TIA Portal程序,版本为V14 SP1。所使用的PLC为SIMATIC S7-1200。
本例程中PLC作为客户端,读卡器作为服务器。通过使用ModbusTCP,PLC对读卡器进行数据相关的读写操作。
5.1、通信模块MB_CLIENT配置
本程序使用MB_CLIENT模块进行modbus tcp通信,如下图所示:

图 5.1 通信模块MB_CLIENT
相关管脚定义介绍可查阅MB_CLIENT的说明文档。
其中,关于MB_CLIENT通信模块管脚CONNECT的说明如下:

图 5.2 MB_CLIENT管脚CONNECT
该管脚需要输入类型为TCON_IP_v4类型的变量,本例中创建ModbusTCP_CONNECT作为输入CONNECT管脚的变量,该变量下包含的变量如下:
表 5.1 CONNECT介绍
| 名称 | 注释 |
| Interfaceid | 本地接口的硬件标识符(取值范围:0 - 65535)。 |
| ID | 引用该连接(取值范围:1 - 4095)。 该参数将唯一确定 CPU 中的连接。 指令“MB_CLIENT”的每个实例都必须使用唯一的 ID。 |
| ConnectionType | 连接类型 对于 TCP,选择 11(十进制)。 不允许使用其它连接类型。 如果使用了其它连接类型(如 UDP),该指令的 STATUS 参数将输出相应的错误消息。 |
| ActiveEstablished | 建立连接的方式所对应的 ID 对于主动连接建立,应选择 TRUE。 |
| RemoveAddress | 连接伙伴(Modbus 服务器)的 IP 地址,例如,192.168.0.1:
|
| RemotePort | 远程连接伙伴的端口号(取值范围:1 - 49151)。 服务器上使用 TCP/IP 协议与客户端建立连接和通信的 IP 端口号(默认值:502)。 |
| LocalPort | 本地连接伙伴的端口号:
|
详细介绍请查阅CONNECT参数的说明。
5.2、编程示例
本例程仅对一个个读卡器进行读写操作,可根据实际使用进行更改。
完整PLC程序PDF如下:
所调用的参数PDF如下:
PLC例程说明如下:
程序段1:PLC启动时,执行步骤1
程序段2:步骤1时,对读卡器的输入区进行写参数,读写器上输入区地址为0,对应PLC地址为40001,本次需要进行设置读标签操作,因此只需把标签起始地址、读写长度、以及读指令16#03输入到MB_DATA_FTR即可,在CONNECT管脚中输入相关的连接参数,如IP地址、硬件标识码。

程序段3:步骤1执行成功后,停止执行步骤1,开启延时。
程序段4:本例中在执行完步骤1后延时40ms,可根据实际情况进行调整设置。延时结束后执行步骤2。

程序段5:步骤2时,对读卡器的输出区进行写参数,读写器上输出区地址为16#8000,对应PLC地址为400001+32768,即432769,本次需要进行读标签数据操作,本例中读取标签的地址为4,寄存器数量为4的数据,并且获取输出区的系统信息、操作状态、成功标签。因此读取的长度设为7,从MB_DATA_PTR处获取读取的数据。

程序段9:步骤3执行成功后执行延时。
程序段10:延时结束后进行步骤3。

程序段8:步骤3时,对读卡器的输入区进行写参数,读写器上输入区地址为0,对应PLC地址为40001,本次需要进行设置写标签操作。本例中写入标签的起始地址为4,写入的数量为4,因此需要把标签起始地址、读写长度、写指令16#06以及写入标签的数据输入到MB_DATA_FTR即可。

程序段9:步骤3执行成功后执行延时。
程序段10:延时结束后再次进行步骤1。

更多关于ModBus TCP以太网工业级RFID读写器|读写头CK-FR08-E00与PLC通讯例子说明的资料华翔天诚科技欢迎您的咨询与交流!
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
