APP下载

石津灌区水情数据采集系统的实现方法

2019-07-10李得龙张乐为

现代农村科技 2019年7期
关键词:字节串口测点

李得龙 张乐为 王 欢

(河北省石津灌区管理局 河北 石家庄 050000)

石津灌区水情数据采集系统的作用是从各类传感器处获得数据,并将处理好的结果存入数据库中,以便综合展示系统和数据分析系统的提取和使用。

1 主要功能

1.1 采集。从常用的几种传感器中采集实测数据。传感器电气接口为RS485或最终转化为RS485,通过网络转换模块连接至中心服务器,数据采集系统运行于中心服务器上,根据各传感器的通讯协议与传感器进行通讯并获取数据,协议具体内容可以参考附件。通信方式应包括串口通信和网络通信。应用串口通信时,服务器上安装虚拟串口软件,相当于所有传感器在一条485总线上,运行时通过串口进行通信;应用网络通信时,传感器端为Client端,服务器为Server端,传感器端通过公网IP地址连接至服务器,运行时通过网络进行通信。

1.2 处理。首先应从接收到的通信码中提取有效数据,然后计算出传感器实际测得的数值,再根据用户的需求对数值进行调整。程序在采集到数据后,要同时记录采集时间,还要从通信码中提取设备的地址值。

1.3 存储。数据处理完毕后,要将设备地址、设备所在站点名称(通过设备表查得)、采集时间、最终数据、数据状态等项目存进数据库。存储前要将最终数据进行校验,看其是否在正常的数值范围内。数据存储频率默认为2 min/次。系统运行一段时间后,数据库中的数据会越来越多,为了避免综合展示系统运行缓慢,程序需要考虑数据库结构和存储方式的问题。10min都没有从某个传感器处获得数据,则自动填入1条数据,存储监测数值外的其他内容,在数据状态中填入“故障”。在重新获得数据之前不再存入此传感器的数据。为减少数据库的体积,监测值和之前重复的数据不重复记录,但要能保证通信状态的判断和历史数据的查询。存储时要具备同时写入多个数据库的功能。

1.4 用户自定义项目。用户应可以对以下参数进行设定:①采集周期,即对1个设备多久采集1次。②采集的设备,即对哪些设备进行轮询。③增减设备,用户可以登记新设备和删除已有设备,增减设备时对设备表做相应的调整。④增加通讯协议,用户确定的内容包括发码规则、收码中数据位及字节数、数值计算规则。⑤存储周期、各设备数值的正常范围、显示故障的限制时间。参数设定模块需要加密。

2 数据库中的主要字段

2.1 数据表。ID值、设备编号、站点名称、采集值、采集时间、时间戳、数据状态。数据表包括水位表、流量表、闸位表、雨量表等等,插入数据时按照测点类型分别插入。

2.2 设备表。设备顺序号、设备编号、设备地址、设备类型、站点名称、数据正常值范围。

2.3 用户表。ID值、用户名、密码、用户姓名、所属单位、权限、联系方式等。

2.4 测点表。ID值、测点名称、测点类型、测点位置、上级渠道、断面参数、经验公式。

3 底层设备接口协议

编写程序时,必须根据底层设备的协议来进行通讯和实现采集,系统中应预先加入规范的接口协议,在添加设备时直接选择与其对应的协议即可。以最为常用的Modbus协议进行说明。利用Modbus通讯协议的03功能码,读取仪表参数的数值。主机的命令格式为:从机地址、功能码、起始地址、数据长度(1个数据长度为双字节数即为16位)及CRC码。从机响应的命令格式为:从机地址、功能码、数据区字节数(读N个数据点返回2N个数据字节)数据区及CRC码。数据区的数据是二进制码,2个或4个字节,高位在前。CRC码都是1个字节,低位在前。

3.1 信息帧格式(假设从机地址为01,均为十六进制数据)

3.1.1 主机发送。主机发送内容见表1。T1表示每个帧头和帧尾都要预留一定的总线静止期,建议最少1 s,静止期是保证仪表有时间对液位进行测量。站号(地址):1个字节“01”;功能码:1个字节“03”,表示读取指定寄存器的数据;起始地址:2个字节,其定义需要参考寄存器数据结构表;读取长度:2个字节,根据不同的数据范围,可取0001或0002,分别表示读取2个字节和4个字节;CRC:循环冗余校验码,2个字节。

表1 主机发送内容

3.1.2 从机应答。从机应答内容见表2。定义与主机发送码基本相同,真实数据值需要根据传感器的定义进行解析。

表2 从机应答内容

3.2 校验码。校验码在发送和接收的数据包中都会出现,其目的是检测或校验数据传输或者保存后可能出现的错误,它是利用除法及余数的原理来做错误侦测的。为尽量提高接收方收到数据的正确率,在接收方接收数据之前需要对数据进行差错检测,当且仅当检测的结果为正确时接收方才真正收下数据。检测的方式有多种,常见的有奇偶校验、因特网校验和循环冗余校验等。

4 结语

采集系统的作用就是获取基础数据,供上层应用系统使用。所以在编写时,要深刻了解下层和上层接口的定义与逻辑,起到承上启下的作用。

猜你喜欢

字节串口测点
基于MEEMD与相关分析的行星齿轮箱测点优化*
No.8 字节跳动将推出独立出口电商APP
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
基于CATIA的汽车测点批量开发的研究与应用
基于小波包位移能量曲率差的隧道衬砌损伤识别
基于API函数库实现串口数据通信的分析与设计
广州市老城区夏季室外园林空间人体舒适度评价①
基于EM9000工控板高性能双串口通信模型设计与实现
No.10 “字节跳动手机”要来了?
轻量级分组密码Midori64的积分攻击