--- id: 601 title: 采集插件开发 --- import useBaseUrl from "@docusaurus/useBaseUrl"; import Tag from "@site/src/components/Tag.js"; import Highlight from '@site/src/components/Highlight.js'; ## 说明 ThingsGateway封装了丰富的协议解析方法,方便开发多种PLC通讯插件 下面我们以Omron FinsTcp/Udp为例,讲解如何基于ThingsGateway开发一个**通用驱动**以及ThingsGateway插件 ## 一、协议解析 `Fins` 协议是OSI模型第7层上的应用层报文传输协议,我们画一个简单的应用层协议报文解析图 | Fins over TCP | Fins over UDP | | ---------------| --------------------------| | FinsTCP Header | None | | FinsUDP Header | FinsUDP Header | | Command Data |Command Data | 可以看出,基于Tcp的Fins和基于Udp的Fins协议,差别只是Tcp连接时会加一个FinsTcp报文头。 下面我们进行每个部分的说明 ### 1、FinsTCP Header FinsTcp头部固定为16个字节 | FinsTCP Header | 说明 | | ---------------| --------------------------| | Magic | 固定0x46494E53,也就是FINS字符串的ASCII码 | | Length | 后续全部字节的长度 | | Command | 0是客户端请求握手,1是服务端返回握手信息,除0,1外是其他方法 |