网站:UIOTOS前端零代码 原型即应用!支持页面嵌套、属性继承、节点编辑,真正实现页面即组件,支持无代码开发复杂的前端界面应用。
从前面驱动实例可以看出,设备连接通信和报文解析通常是在一个驱动里,这种方式对于对单个特定设备的解析较为直接。
但是如果接入多个设备实例,而且通信连接无法或不适合用多个独立的通信连接通道时,就需要考虑将通信连接和协议报文分别做成独立的、可解耦的驱动,并配置两个驱动对应的设备实例做好数据分发配置,实现驱动之间衔接协同处理。
比如bacnet协议,对当前网段扫描通常只能一个运行实例,如果有多个bacnet设备,分别关联相同的bacnet驱动,必然导致冲突,因此需要一个驱动对应的设备实例专门用于扫描,其他设备用于该通道对应实际设备的数据点。
再比如本篇要重点介绍的modbus rtu协议,此前有提供文章Modbus-rtu报文协议TCP连接透传实例详细介绍使用步骤。文章中主要是针对一个设备实例一个TCP端口的情况。而当希望多个不同的设备实例,共享 公共的一个TCP端口传输通道时,就需要本文下面要介绍的通信驱动和协议驱动解耦和衔接相关的内容。