目前市面上大多数的超声波热量表数据采集都是通过485总线的方式进行串口数据采集,因485总线的采集方式采集距离受到现场很大因素的影响,因此越来越多的用户选择无线方式进行采集数据,并上报采集数据,无线采集的方式又可以细分为lora集中器方式,NB网络并发的方式,GPRS网络方式(3G和4G),无线电台方式,上述方式均可上报至服务器端,服务器端均解析modbus RTU的回复报文就可以将采集到的数据进行数据库存储,本质上还是依托于设备的modbus RTU协议。
因市面上大面积采用的4G方式均为获取单台超声波热量表的仪表信息,因此一般一台设备配一个数据采集模块进行数据采集,数据采集一般可分为主动和被动式,主动方式一般为数据采集模块内可配置时钟,定时时间,到固定时间点,模块立即对超声波热量表的485端口发送采集指令,获取当前超声波热量表的当前数据,并附加采集当时前时刻的时钟进行远程上报,上报的方式可以是原始的16进制数据,也可以是解析好的10进制数据组成的json数据包,json数据包发送至服务器端,服务器端就可以直接进行解析,无须进行数据解码工作,另一种方式是采用TCP/IP的方式,进行网络通讯,数据采集模块对服务器端发送注册码和心跳包,进行身份注册,完成注册后根据注册码进行分包,服务器下发指ding类型的请求数据指令,数据采集模块获取到请求指令转发给底层的超声波热量表设备,超声波流量表设备收到后,立刻进行回复,服务器收到回复,回复内容为标准的modbus RTU的16进制原始报文,根据通讯协议在服务器端编写解码函数,对对应的设备进行解码,将数据整理并存入数据库,远程服务器端可以从数据库内获取数据并可以展示在网站上,因node.js的异步性能*,因此比较推荐采集程序采用node.js开发。