基于Modbus协议的流量采集分析系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
64;Technology技术纵横
文献标识码:B文章编号:1003-0492(2019)05-0064-03中图分类号:TP311.52
基于M o dbus协议的流量采集分析系统
Flow Collection and Analysis System via Modbus Protocol
★张轶(无锡太湖水务有限公司,江苏无锡214000)
摘要:串行通信在工业自动化控制领域的车间级网络中应用非常广泛,主要用来采集智能仪表的数据。
本文以串行通信的Modbus协议为基础,使用PLC等硬件和Visual Basic等软件开发了一套流量采集、分析系统,结合自动化控制系统采集的其他数据实现流量的自动化分析,可以方便地把需要的数据导出为EXCEL,协助实现生产自动化向智能化转变。
关键词:Modbus;流量分析;串行通信
Abstract:Serial communication is widely used in workshop-level network in the field of industrial automation control.It is mainly used to collect data of intelligent instruments.Based on the Modbus protocol of serial communication,this paper applies the hardware of PLC and the software of Visual Basic to design a set of flow collection and analysis bining with the collection of the other data by the algae sludge automatic control system,the system realizes mn automatic analysis of the flow which can export the required data to EXCEL.It helps realize the t「ansformation from production automation to intellectualization.
Key words:Modbus;Flow analysis;Serial communication
伴随着自动化技术的发展,生产管理人员和值班人
员对生产过程中各种数据的监测、分析要求越来越高,
特别是作为生产调度重要参数的流量数据。
在自控系统
中通过4~20mA等模拟量信号只能快速采集瞬时流量等
信号,无法采集累计流量等增量型信号和故障信号。
近年来RS485接口和Modbus协议已经成为流量计
等智能仪表的标准配置,通常使用总线型的网络结构,
控制器通过一根总线向多个设备(从站)发起通信,采
集设备的信息(如累计流量、方向、设备状态等),因其是开放式的标准协议,控制器与不同设备之间通信也非常容易实现。
1Modbus协议
Modbus协议是由Modicon公司(后并入施耐德电气)开发用于PLC通信的一种协议,目前已经是工业领域一种标准的协议,主要用于工业电子设备之间的连接。
在工业自动化领域主要应用于车间级的通信,方便自控系统与流量计、电表等智能仪表以及成套设备之间进行数据交换。
此协议原来分为Modbus RTU和Modbus ASCII两种,随着以太网的出现,扩充了一种Modbus TCP O Modbus ASCII协议比较冗长,但方便人员直接阅读,而Modbus RTU采用二进制传送,其数据报文更加紧凑,适合控制器与智能仪表之间的通信。
Modbus协议是一个主/从架构的协议。
一般控制器作为主站,设备作为从站。
所有通信只能由主站发起(格式如表1所示),总线上的每个设备都能接收到主站发送的任何一个指令。
设备对接收完成的报文首先进行校验码和站号比对,当站号与该设备设置的站号一致且校验码正确时,设备根据报文中的功能码、寄存器起始地址和寄存器个数回复应答报文。
表4控制器发岀的信息帧格式
0x010x030x00|0x010x000x01CRC CRC 站号功能码寄存器起始地址寄存器个数CRC校验码控制器的指令以数据帧形式发出,每个数据帧除了包含表1内容之外,还包括起始位、停止位、奇偶校验位,这些和波特率一起组成Modbus的通信格式。
所
2019.05AUTOMATION PANORAMA:65
有参与通信的控制器、设备通信格式必须完全一样。
一般控制器和完善的设备都支持多种通信格式,这些通信格式可以进行组态设置或者拨码设置。
2采集系统设计
采集系统设计主要包括流量计、控制系统以及釆集软件。
本项目中的流量计仅支持1200-9600的波特率,因此控制器波特率设置为9600,其他参数及采集系统网络结构如图1所示。
控制器设备:流量计
通信格式:进水流量计回流流量计出水流傲计9600,N,8,1站号:2站号:3站号:4
图1网络架构采集系统主要采集流量仪表的累计流量(正向、反向)及报警信息,这些信息的寄存器地址如表2所示。
在确定信息数据所在的寄存器地址后即可进行控制器的硬件组态和软件组态。
表2流量计有效的寄存器信息
参数存放首址参数定义数据长度0x00瞬时流量信息2
0x02瞬时流量单位信息1
Ox03正向总量整数位2
Ox05正向总量小数位2
Ox07正向总量单位1
Ox08反向总量整数位2
Ox0A反向总量小数位2
Ox0C反向总量单位1
Ox OD励磁报警1
Ox0E电极报警1
Ox OF空管报警1
0x10上限报警1
0x11下限报警1
在本项目中,使用PLC作为Modbus的控制器,因此采集软件幵发主要通过进行硬件组态和软件组态完成,PLC程序中只要编写轮询和故障诊断即可。
上位机连接PLC将采集的数据存储到数据库中,以供软件分析使用。
3分析软件设计
分析软件采用Visual Basic幵发,该工具具有易学和程序幵发周期短等优点,是被很多自动化工程师使用的一种开发工具。
分析软件开发步骤包括:需求分析、算法设计、代码编写(UI设计)和测试。
软件需求分析的对象主要包括进水流量、出水流量和污泥回流量,分析的主要目的展示这三种流量之间的对比关系和一定时间周期内(曰、月)的各种流量。
根据以前设计经验采用趋势图和数据报表两种形式结合EXCEL展示,非常便于用户保存。
Visual Basic编制的程序主要功能是读取数据库,并对数据库中的流量数据进行分析处理,然后将处理规整后的数据导出到Excel中进行展示。
Excel可以方便地把有规律的数据显示为各种趋势图和报表。
这种方法避免了编写大量的Visual Basic代码进行趋势图和报表格式处理,极大提高了幵发效率,缩短了开发周期。
算法设计主要为了处理规整数据。
因为累计流量是增量型数据,使用Excel计算比较麻烦,以进水量为例,某时间段内三条数据存储的格式为①2018-2-5 8:00:00129343,©2018-2-58:05:00129363,③2018-2-58:20:00129356。
其数据显示的是从流量计仪表复位后到这一时刻的累计值,而用户关心的是某一时间周期内的累计值。
为了获取这些值,必须设计一种算法计算这些值,而且在计算时应考虑数据存储或者采集失败(如流量计故障等情况)。
下面以曰流量分析为例说明分析软件中的算法设计。
曰流量分析首先需要计算出当天的流量数据,在数据采集、记录以及仪表正常的情况下,可以直接去当曰的最后一个数据减去前一日的最后一个数据得出当日的流量。
但为了确保分析结果的准确性,必须考虑到仪表故障、仪表复位等其他情况。
当软件从数据库读取数据时,首先抛弃同一时间截下仪表状态故障的数据,然后将数据按照时间排序,最早一个累计流量应该小于等于最后一个累计流量的数据,如果不是就证明仪表进行了累计流量复位。
如果某个时间段内仪
66Technology技术纵横
表复位过累计流量,则需要找到四个时刻的累计流量数值才能计算出所需要的值:最早的一个值F0、所选择数据中最大值Fmax、最大值后一个数值F01、最后的一个值Fmaxi。
则当曰进水流量F=(Fmax-FO)+ (Fmax-FOl)o
4运行小结
该分析软件已经运行半年有余,使用频率非常高。
根据用户反馈,该软件可以非常方便地分析统计流量的数据,分析结果准确度非常高。
而且有效数据直接导出Excel,结合自动化控制系统的能耗等数据,对生产的指导意义非常大。
目前工业测控技术发展非常快,部分项目花费很大投资建设涵盖范围非常广泛的大型数据平台,但最终因为操作复杂、算法比较单一等原因,反而会造成闲置。
通过该软件的设计应用,意识到任何一个软件工具,只有当其能帮助到人类,减少其劳动强度时,才会被广泛的使用。
S3
作者简介:
张轶(1972-),男,江苏无锡人,工程师,毕业于中原工学院,现就职于无锡太湖水务有限公司,主要从
事机电一体化工作。
参考文献:
[1]胡兴刚.基于Modbus协议的电磁流量计在水库涵管流量测量中的应用[J].测控技术,2014,(9).
[2]孟凡文,等.基于Modbus协议的Rockwell控制器与MCGS数据辨识与通信[J].电子世界,2017,(2).
[3]张建功,等.智能流量计在线检定信息采集系统设计[J].山西冶金,2016,(5).
[4]吴韬.基于Modbus现场总线的液体流量测试平台的研究和设计[J].数字技术与应用,2016,(10).
⑸汪日生,等.基于VB的矿山技术经济指标计算管理系统的设计[J].现代矿业,2017,(12).
⑹刘模群.基于Visual Basic的岀错处理[J].电脑编程技巧与维护,2018,(1).。