工业RFID应用之技术篇三巧用TCPIP自定义协议提高RFID读卡器通讯效率.docx

上传人:b****7 文档编号:8710730 上传时间:2023-02-01 格式:DOCX 页数:9 大小:481.71KB
下载 相关 举报
工业RFID应用之技术篇三巧用TCPIP自定义协议提高RFID读卡器通讯效率.docx_第1页
第1页 / 共9页
工业RFID应用之技术篇三巧用TCPIP自定义协议提高RFID读卡器通讯效率.docx_第2页
第2页 / 共9页
工业RFID应用之技术篇三巧用TCPIP自定义协议提高RFID读卡器通讯效率.docx_第3页
第3页 / 共9页
工业RFID应用之技术篇三巧用TCPIP自定义协议提高RFID读卡器通讯效率.docx_第4页
第4页 / 共9页
工业RFID应用之技术篇三巧用TCPIP自定义协议提高RFID读卡器通讯效率.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

工业RFID应用之技术篇三巧用TCPIP自定义协议提高RFID读卡器通讯效率.docx

《工业RFID应用之技术篇三巧用TCPIP自定义协议提高RFID读卡器通讯效率.docx》由会员分享,可在线阅读,更多相关《工业RFID应用之技术篇三巧用TCPIP自定义协议提高RFID读卡器通讯效率.docx(9页珍藏版)》请在冰豆网上搜索。

工业RFID应用之技术篇三巧用TCPIP自定义协议提高RFID读卡器通讯效率.docx

工业RFID应用之技术篇三巧用TCPIP自定义协议提高RFID读卡器通讯效率

工业RFID应用之技术篇(三):

巧用TCP/IP自定义协议提高RFID读卡器通讯效率

如今的工业生产已经向着智能化、自动化发展,因此对设备之间的通信质量要求也越来越高,像是Modbus、Profinet、Canopen、Ethernet都是常用的通信协议。

而除了这些常用的通讯协议之外,我们还可以根据工程项目的需求来自定义协议(FreeProcotol),为什么放着现成的不用而要去自定义呢?

开发过程中晨控系列高频RFID读卡器具备同时支持ModbusTCP和TCP/IP自定义协议的功能,使用ModbusTCP协议的好处是:

大部分品牌的PLC都集成了该协议,用户不需要关心底层数据结构,只需要直接调用相关的指令块就能得到相应寄存器的数据,易连接,易调试,易维护。

但是对于一些使用PC开发上位机软件、对自由度要求更高的用户来说,当使用到的RFID数量不大,数据内容又比较固定的情况下,使用TCP/IP自定义协议就能编程更简单,通讯效率更好,保密性更优秀。

用HTTP举个简单的例子,但是由于HTTP本身结构的设定,你必须将“请求方法”、“HTTP版本”,“状态码”以及“header信息”等等一起发送出去。

这样子整个消息加起来可能有几十个字节,但实际对你有用的只有“0x11”这一个字节而已,使用FreeProcotol就能尽可能的精简从而节省带宽,从而提高数据传输质量。

OSI是国际标准化组织ISO为了更好地促进互联网络的研究和发展,制定网络互连的七层框架的一个理论参考模型,称为开放系统互连参考模型,简称OSI。

目前还没有完全合乎OSI的通信协议问世,而TCP/IP则是我们实际应用最广泛的一种网络的模型。

TCP/IP网络模型对应OSI参考模型

自定义协议工作于TCP/IP模型的应用层,基于TCP协议开发,因为省略了很多不必要的数据结构,比起其它应用层通信协议更加简洁,高效,更加满足RFID高频读写器通讯要求。

OSI和TCP/IP的模型具体细节暂且不表,我们先从实际应用来了解自定义协议

设备:

晨控CK-FR08-E00高频读写器

PC系统Windows10

CK自由协议测试工具V1.1

CK-FR08-E00使用M12标准电缆插头,通过以太网连接到PC或PLC,通讯协议集成了ModbusTCP和自由协议(FreeProcotol)。

CK高频读写器E00系列在生产中已经写入了我司编写的自由协议,用户在使用时只需对上位机组态即可与RFID高频读写器通讯。

为测试方便,现在我们在PC机上运行“自由协议测试工具V1.1”测试自由协议是否能够配合读写器正常读写数据。

CK-FR08-E00对自由协议命令的支持如下:

0x00---心跳包

0x01---获取设备信息

0x02---获取电子标签UID

0x03---读电子标签的数据区

0x04---写电子标签的数据区

电子标签数据总线是16位,每次操作必须是2个字节并且地址是双字节偏移如:

0、2、4等,标签的UID码地址(只读):

0x00、0x02、0x04、0x06,用户数据区(可读写):

0x08、0x0A、0x0C、0x0E等。

协议结构:

 定义

 帧头1

 帧头2

 消息帧序列ID

 消息类型ID

 数据长度(16位)

数据内容 

 描述

 0X81

 0XC0

 每次发送加1

 (0001020304)

 

 

0x00心跳包:

若是发送:

“81C00200010005”则可更改心跳定时器时间,“05”表示5秒收不到心跳包(3次收不到)则断开连接。

上电连接后心跳包默认关闭,连接后上位机可发送心跳包打开心跳或调整心跳包定时器时间。

心跳包是上位机和读卡器之间确定在线的方式,读卡器每隔一段时间向上位机发送一个心跳包,同时启动一个定时器,定时器结束前收到上位机的数据回复则删除定时器,否则就断开与上位机的连接。

0x01获取读卡器信息:

TX数据中:

读取读卡器信息。

RX数据中:

“436B2D465230382D4530300000000000”为产品名字,“56322E3000000000”为读写器软件版本。

0x02读取标签UID码:

TX数据中:

读取UID码。

RX数据中:

长度为“0800”个字节的UID码是“0A20A45F500104E0”。

0x03读电子标签的数据区:

TX数据中:

读取标签起始地址为0x00,长度为0x10=16个字节的数据区。

RX数据中:

读取到的16个字节为“0A20A45F500104E01122334455660044”

0x04写电子标签的数据区:

第一行的TX数据中:

将“112233445566”写入标签起始地址0x08,长度6个字节的数据区。

第二行的RX数据中:

读卡器返回数据“0000”表示写入成功。

第三行的TX数据中:

读取标签起始地址0x08开始的6个字节。

第四行的RX数据中:

从标签数据区读取到的6个字节为“112233445566”,数据写入正确。

如果要使用PLC来完成自由协议的命令发送,例如西门子可以使用TCON连接上位机进行组态,使用TSEND来发送数据,TRCV接收数据。

通过TCON指令连接设备

TCON指令块“Properties(属性)”>“Configuration(组态)”>“Connectionparameter(连接参数)”中设置连接的Partner地址,TSEND“DATA”用以储存发送的数据,TRCV“DATA”储存从Partner处收到的数据。

通过TSEND通信连接发送数据

通过TRCV通信连接接受数据

支持自定义协议的RFID高频读写器优势:

1、适用性强,扩展性好:

用户可根据现场项目需求编写自定义协议,针对性完善,调试方便,语义明确,如果以后需要修改协议,和老的客户端兼容性比较好

2、提高通信质量,提升生产效率:

我们使用自定义的通讯协议可以减少不必要的数据产生,数据比较小,速度快,可以减轻通讯的负担,性能会比使用复杂的通讯协议更好。

3、安全性好,保密性强:

非知名协议,数据通信更安全,黑客如果要分析协议的漏洞就必须先破译你的通讯协议,有效保护客户数据信息。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电子电路

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1