一种基于Modbus协议的水煤气流量计通讯模块设计
点击次数:1978 发布时间:2021-01-08 06:03:45
摘要:西门子 SITRANS FUS 超声波流量的表头支持 4-20mA 电流信号输出和 RS232 文本日志输出,都无法与水利部门采 用 Modbus 协议的取水监测设备进行通信。针对此问题,本文自主设计并实现了一种支持Modbus 协议的通讯模块,能够实时解析 流量计表头 232 端口输出的文本信息,并将其转换成 Modbus 协议报文,与取水监测设备进行通信。该通讯模块具有结构简单、可 拓展性强、成本低的优点。
1 概述
西门子 SITRANS FUS 外夹式水煤气流量计的标准表头支 持 4- 20mA 电流信号输出,而水利部门的取水监测设备应用层 采用的是 Modbus 协议,物理层采用的是 RS485 标准,无法与SITRANS FUS 流量计的表头通信。针对这一问题,本文自主设 计并实现了一种支持 Modbus 协议的通信模块,使得超声波流量计表头与取水监测设备可以以 Modbus 协议进行通讯。
2 系统架构
图 1 为本文设计的 Modbus 通讯模块与取水流量监测设备、 水煤气流量计表头组成的系统架构示意图。该模块通过SITRANS FUS水煤气流量计表头的 232 接口与流量计表头通信;通过 485 接口,以 Modbus 协议与水利部门的取水监测设备通信。通讯模块将水煤气流量计的信息解析并封装成 Modbus报文,提供给取水监测设备读取。硬件方面,采用成熟的STM32F407 开发板,带有 232 接口和 485 接口,本文主要实现软件部分的功能。

3 软件设计
3.1 软件架构
Modbus 通讯模块的软件架构如图 2 所示,分为硬件层、硬件抽象层,中间层和应用层。中间层包括一个实时操作系统FreeRTOS 和一个针对嵌入式环境开发的轻量级 Modbus 协议库Freemodbus。在应用层,主要创建了三个任务,232_Task 负责读 取和解析流量计表头输出的文本信息,Modbus_Task 负责存储 解析后的流量计数据到 Modbus 寄存器表,以及以 Modbus 协议与取水监测设备通信,LED_Task 是一个辅助任务,主要用来提示程序运行状态。

3.2 软件流程图
图 3 为 Modbus 通讯模块的软件流程图,创建的三个任务都是以 FreeRTOS 系统的消息(Message)来驱动。

4 测试与通讯联调
Modbus 通讯模块如图 4 所示。为保证供电稳定,使用了电源切换装置给主板供电,共有主副两路 5V 电源。

在 PC 上使用权威工具测试软件 Modbus poll,作为 Modbus主机对通讯模块进行测试。通讯模块作为 Modbus 从机响应Modbus Poll 软件发出的请求。通讯模块内部使用Modbus 的输入寄存器(Input Register)存储流量计数据。Modbus Poll 发送的测试命令字节流为:01 04 00 00 0014 F0 05。其中 0x01 为 Modbus 从机地址,0x04 功能码为读取 输入寄存器命令,0x0000 为读取寄存器的起始地址,0x0014(20)为读取寄存器的个数,0xF0 0x05 为 CRC 校验码。

Modbus Poll 通讯测试结果如图 5 所示:Tx = 24140,Err =0,ID = 1,F = 04,SR = 1000ms,Log = on。 其中 ,Tx 为Modbus Poll 发送命令次数,也就是说在测试期间 Modbus Poll软件共发送读输入寄存器命令 24140 次(发送间隔为 1s,测试时间为 6.7 小时);Err 为通讯错误数,Err = 0 表明 Modbus 通讯模块正确响应次数为 24140 次(错误数为 0)。
5 结论
本文针对 FUS 水煤气流量计无 Modbus 通讯接口,无法与取 水监测设备通讯的问题,自主设计并实现了一种基于微处理器STM32F407 的低成本 Modbus 通讯模块。在通讯模块的主控芯 片 上 移 植 了 开 源 代 码 库 FreeModbus 和 开 源 操 作 系 统FreeRTOS,实现了对流量计表头输出文本的解析,以及与Modbus 主机的通讯,从而实现了给 FUS 水煤气流量计表头增加Modbus 通讯的功能。测试结果表明,该通讯模块工作稳定可靠,具备了在较高通讯频率下正确响应 Modbus 主机请求的能力,达到了实用要求。该通讯模块也具备一定的可拓展性,可应用 在公司其它 FUS 水煤气流量计上,并且很容易通过 485 总线与DCS 系统或 PLC 进行通讯。
煤气流量计如何调整
煤气流量计选型
高炉煤气流量计
焦炉煤气流量计厂家
水煤气流量计,发生炉煤气流量计
高炉煤气流量计价格
焦炉煤气流量计价格
高炉煤气流量计厂家
焦炉煤气流量计,涡轮煤气流量计
转炉煤气流量计,煤气管道计量表
发生炉煤气流量计
焦化厂煤气流量计,水煤气流量计
转炉煤气流量计,混合煤气流量计
防爆焦炉煤气流量计,靶式煤气流量计
焦炉煤气流量计,防爆焦炉煤气流量计
大口径测量高炉煤气流量计,高炉煤气流量计价格
高炉煤气流量计选型
防爆焦炉煤气流量计,管道煤气流量计
水煤气流量计厂家
高炉煤气流量计价格,高温煤气流量计
焦炉煤气流量计价格,焦化厂煤气流量计
水煤气流量计,高炉煤气流量计价格
发生炉煤气流量计厂家
转炉煤气流量计
高炉煤气流量计,涡轮煤气流量计
高炉煤气流量计,测量煤气流量的流量计
焦炉煤气流量计,混合煤气流量计
防爆焦炉煤气流量计
焦炉煤气流量计,管道煤气流量计
焦炉煤气流量计,靶式煤气流量计
1 概述
西门子 SITRANS FUS 外夹式水煤气流量计的标准表头支 持 4- 20mA 电流信号输出,而水利部门的取水监测设备应用层 采用的是 Modbus 协议,物理层采用的是 RS485 标准,无法与SITRANS FUS 流量计的表头通信。针对这一问题,本文自主设 计并实现了一种支持 Modbus 协议的通信模块,使得超声波流量计表头与取水监测设备可以以 Modbus 协议进行通讯。
2 系统架构
图 1 为本文设计的 Modbus 通讯模块与取水流量监测设备、 水煤气流量计表头组成的系统架构示意图。该模块通过SITRANS FUS水煤气流量计表头的 232 接口与流量计表头通信;通过 485 接口,以 Modbus 协议与水利部门的取水监测设备通信。通讯模块将水煤气流量计的信息解析并封装成 Modbus报文,提供给取水监测设备读取。硬件方面,采用成熟的STM32F407 开发板,带有 232 接口和 485 接口,本文主要实现软件部分的功能。

3 软件设计
3.1 软件架构
Modbus 通讯模块的软件架构如图 2 所示,分为硬件层、硬件抽象层,中间层和应用层。中间层包括一个实时操作系统FreeRTOS 和一个针对嵌入式环境开发的轻量级 Modbus 协议库Freemodbus。在应用层,主要创建了三个任务,232_Task 负责读 取和解析流量计表头输出的文本信息,Modbus_Task 负责存储 解析后的流量计数据到 Modbus 寄存器表,以及以 Modbus 协议与取水监测设备通信,LED_Task 是一个辅助任务,主要用来提示程序运行状态。

3.2 软件流程图
图 3 为 Modbus 通讯模块的软件流程图,创建的三个任务都是以 FreeRTOS 系统的消息(Message)来驱动。

4 测试与通讯联调
Modbus 通讯模块如图 4 所示。为保证供电稳定,使用了电源切换装置给主板供电,共有主副两路 5V 电源。

在 PC 上使用权威工具测试软件 Modbus poll,作为 Modbus主机对通讯模块进行测试。通讯模块作为 Modbus 从机响应Modbus Poll 软件发出的请求。通讯模块内部使用Modbus 的输入寄存器(Input Register)存储流量计数据。Modbus Poll 发送的测试命令字节流为:01 04 00 00 0014 F0 05。其中 0x01 为 Modbus 从机地址,0x04 功能码为读取 输入寄存器命令,0x0000 为读取寄存器的起始地址,0x0014(20)为读取寄存器的个数,0xF0 0x05 为 CRC 校验码。

Modbus Poll 通讯测试结果如图 5 所示:Tx = 24140,Err =0,ID = 1,F = 04,SR = 1000ms,Log = on。 其中 ,Tx 为Modbus Poll 发送命令次数,也就是说在测试期间 Modbus Poll软件共发送读输入寄存器命令 24140 次(发送间隔为 1s,测试时间为 6.7 小时);Err 为通讯错误数,Err = 0 表明 Modbus 通讯模块正确响应次数为 24140 次(错误数为 0)。
5 结论
本文针对 FUS 水煤气流量计无 Modbus 通讯接口,无法与取 水监测设备通讯的问题,自主设计并实现了一种基于微处理器STM32F407 的低成本 Modbus 通讯模块。在通讯模块的主控芯 片 上 移 植 了 开 源 代 码 库 FreeModbus 和 开 源 操 作 系 统FreeRTOS,实现了对流量计表头输出文本的解析,以及与Modbus 主机的通讯,从而实现了给 FUS 水煤气流量计表头增加Modbus 通讯的功能。测试结果表明,该通讯模块工作稳定可靠,具备了在较高通讯频率下正确响应 Modbus 主机请求的能力,达到了实用要求。该通讯模块也具备一定的可拓展性,可应用 在公司其它 FUS 水煤气流量计上,并且很容易通过 485 总线与DCS 系统或 PLC 进行通讯。
下一篇:对烟气流量计制造过程进行优化设计