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---写寄存器命令
读卡器内部分数据输入区和数据输出区,PLC向读卡器输入区写入相关的数据和操作指令,读卡器执行读写器指令后,把执行指令的结果存储到读卡器的输出区。
图 1.1 RFID Tag数据读写原理
读卡器寄存器为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对读卡器进行数据相关的读写操作。
本程序使用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参数的说明。
本例程仅对一个个读卡器进行读写操作,可根据实际使用进行更改。
完整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通讯例子说明的资料华翔天诚科技欢迎您的咨询与交流!