一种智慧水务监控系统
阅读说明:本技术 一种智慧水务监控系统 (Wisdom water utilities monitored control system ) 是由 邹清川 邹焕鑫 谢日庆 高海杰 杨庆国 张伟瑜 于 2019-10-31 设计创作,主要内容包括:本发明涉及自动化控制领域,尤其一种智慧水务监控系统。一种智慧水务监控系统,其特征在于,其包括数据采集模块1、MCU控制单元2、控制模块3、执行机构4、子站点客户端5、服务器平台接口6、远程控制终端7;所述的数据采集模块1采集数据并通过485总线电性相联MCU控制单元2,所述的MCU控制单元2电性相联控制模块3,所述的控制模块3和执行机构4电性相联;所述的MCU控制单元2与子站点客户端5电性相联,所述的子站点客户端5通过TCP/IP协议同服务器平台接口6建立通讯关系,所述的服务器平台接口6电性相联远程控制终端7;本发明的有益效果是:具有成本低廉,系统扩展性强,大大提升了控制系统智能化水平。(The invention relates to the field of automatic control, in particular to an intelligent water affair monitoring system. An intelligent water affair monitoring system is characterized by comprising a data acquisition module 1, an MCU (microprogrammed control Unit) 2, a control module 3, an execution mechanism 4, a substation client 5, a server platform interface 6 and a remote control terminal 7; the data acquisition module 1 acquires data and is electrically connected with the MCU control unit 2 through a 485 bus, the MCU control unit 2 is electrically connected with the control module 3, and the control module 3 is electrically connected with the actuating mechanism 4; the MCU control unit 2 is electrically connected with a sub-site client 5, the sub-site client 5 establishes a communication relation with a server platform interface 6 through a TCP/IP protocol, and the server platform interface 6 is electrically connected with a remote control terminal 7; the invention has the beneficial effects that: the method has the advantages of low cost and strong system expansibility, and the intelligent level of the control system is greatly improved.)
技术领域
本发明涉及自动化控制领域,尤其一种智慧水务监控系统。
背景技术
在社会主义新农村的不断发展和要求下,国家提倡保住“绿水青山”。农村生态保护受到社会重视,因此越来越多农村污水站开展建设。但是很多农村污水处理站点比较偏远,且站点比较分散,污水处理设备以及污水水质参数缺乏有效监控。因此站点设备需要进行无人值守或少人值守的远程监控。
跨区域远程控制都需要通过网络技术实现,目前常用的远程监控方法有两种:一种是在原控制系统的基础上,增加第三方远程模块,利用远程模块厂家提供的网络服务进行数据交互;另一种在构建本地控制系统的基础上,再和网络运营商合作,接入远程网络专线实现数据交互。增加的第三方远程模块的方式需要使用软件,对每个站点进行数据进行编辑处理,同时数据是对模块厂家开放的,不安全;在农村污水处理的站点中,由于站点地理原因,有的网络专线不容易构建,同时对每个站点接入专线需要一定的成本;再者,传统的PLC控制系统硬件价格较高,因此农村污水站的建设,需要一种易于构建网络且成本较低的远程监控系统,树莓派监控系统的出现让污水监控领域有了新的发展。
比如,中国专利,专利号201710398174.1,专利名称:智能远控水务系统,申请日:2017年05月31日,公开了一种智能的水务技术。
发明内容
为了解决上述的技术问题,本发明公开了一种智慧水务监控系统,其采用的技术方案如下:
一种智慧水务监控系统,其特征在于,其包括数据采集模块1、MCU控制单元2、控制模块3、执行机构4、子站点客户端5、服务器平台接口6、远程控制终端7;所述的数据采集模块1采集污水站点的数据并通过485总线电性相联MCU控制单元2,所述的MCU控制单元2通过485总线电性相联控制模块3,所述的控制模块3和执行机构4电性相联以便作业,所述的执行机构4作用于污水站点并由所述的数据采集模块1采集相关数据;所述的MCU控制单元2与子站点客户端5电性相联进行数据转换,所述的子站点客户端5通过TCP/IP协议同服务器平台接口6建立通讯关系,所述的服务器平台接口6电性相联远程控制终端7以便远程监控;所述的执行机构4是污水站点的电机设备。
所述的数据采集模块1分为污水数据采集模块1和设备数据采集模块1。
所述的设备数据采集模块1中包含有电流采集模块和压力温度监控模块。
所述的污水数据采集模块1所采集的污水数据包括污水出水氨氮NH3、进水流量FT、溶氧值DO、水池深度H等数据。
所述的设备数据采集模块1所采集的电机设备数据包括风机压力P、各个电机电流I、环境温度T等数据。所述的子站点客户端5由树莓派作为控制核心并通过树莓派嵌入式系统构建而成,所述的子站点客户端5和MCU控制单元2形成数据转换,并把转换后的数据连接到服务器平台接口6,再进行远程控制终端7的控制。
所述的控制模块3包括主控程序模块、控制方法模块、通讯方法类模块、路由模块、node js库模块。
所述的控制模块3采用采用配置文件的形式增减模块。
所述的控制模块3还包括路由模块作为从属功能模块。
本发明的有益效果是:该发明与现有技术相比,具有以下优点:
1、本发明利用计算机网络技术,构建远程监控系统,解决偏远地区设备无人值守或少人值守问题;
2、本发明采用树莓派和嵌入式系统结合,具有成本低廉,系统扩展性强,尤其通讯灵活,不依赖第三方模块;
3、本发明利用计算机传输数据方式,能将较大数据传输并处理,尤其对大量设备信息及水质数据处理。大大提升了控制系统智能化水平。
附图说明
图1为本发明的结构原理图
图2为本发明的软件框架图
图3为软件的逻辑关系图
图4为配置文件流程图
图5为模块联接流程图
图6为数据采集流程图
图7为服务器通讯流程图
图8为接口工作流程图
数据采集模块1、MCU控制单元2、控制模块3、执行机构4、子站点客户端5、服务器平台接口6、远程控制终端7
具体实施方式
实施例1:以下结合各个附图对本发明进行详细的说明:
本发明是基于微型计算机树莓派作为核心硬件框架,实现对污水设备的数据采集、检测、控制以及网络通讯功能。
本发明的MCU控制单元2采用安装了Client/Server结构的智慧水务监控系统软件(如图2所示)。本系统软件采用了近年来较新的开发平台,底层通讯采用socket,并提供了软件监控接口,极大提升了数据处理能力和移动端扩展性。
监控系统由服务端Server、客户端Client、主控模块和子模块构成。Server只作为数据转接口,系统的主要功能在于控制模块3(包括主控模块和子模块)。系统子功能采用模块化封装,增强扩展性。
在本系统中,MCU控制单元2作为服务端Server,子站点客户端5作为客户端Client,控制模块3包含主控模块和子模块。
本系统软件固化在MCU控制单元2上,软件分为两大部分设计,即系统逻辑控制设计和通讯设计。系统逻辑控制包括:数据采集、数据转换、运行参数、读取配置参数和数据处理、控制输出等(如图3所示);通讯部分包括:服务端Server和客户端Client通讯,客户端数据转换、读取转换的控制指令(如图2所示)。设计时需考虑到这两个部分是可以相互独立运行,互不影响。如当通讯部分故障时,并不影响系统的控制运行。
本基于树莓派的污水远程监控系统,主要部分包括数据采集模块1、MCU控制单元2、控制模块3、执行机构4、子站点客户端5、服务器平台接口6、远程控制终端7;
如图1所示、数据采集模块1采集污水站点的数据和电机设备数据并通过485总线联通MCU控制单元2。MCU控制单元2通过485总线电性相联控制模块3;控制模块3和执行机构4电性相联以便作业,执行机构4作用于污水站点并由数据采集模块1采集相关数据,故数据采集模块1分为污水数据采集模块1和设备数据采集模块1,而设备数据采集模块1中包含有电流采集模块和压力温度监控模块(设备数据采集模块1中包含有电流采集模块以便采集各个电机电流I的数据,还可以根据需要设置扩展相应的模块);污水数据采集模块1所采集的污水数据包括污水出水氨氮NH3、进水流量FT、溶氧值DO、水池深度H等数据,而设备数据采集模块1所采集的电机设备数据包括风机压力P、各个电机电流I、环境温度T等数据。
MCU控制单元2与子站点客户端5电性相联进行数据转换,子站点客户端5通过TCP/IP协议同服务器平台接口6建立通讯关系,服务器平台接口6电性相联远程控制终端7以便远程监控;所述的执行机构4是污水站点的电机设备,同时污水站点设置有污水处理设备和监控设备,以便实施作业。
数据采集模块1:
关于数据采集模块1的说明:
软件需要采集的模拟量数据有两种:4-20mA模拟量信号、0-5V模拟量信号。配置文件为污水数据参数“AnalogQuantityMaParameters”、设备电流“ElectricCurrentsParameters”,使用的方法和以下模块扩展配置相同。
数据采集模块1采集的数据有两种:模拟量数据和开关量数据,开关量数据是电机设备数据。数据采集的方法为,利用485总线轮询扫描,建立轮询命令队列,间隔时间刷新数据。对于模拟量数据,采集完成后,要将数据进行工程量转换。
在数据采集的过程中,轮询扫描会检测连接系统的模块是否实际存在。如果未检测到系统模块,会将采集数据的寄存器全部清零。错误信息输出主要是对总线上的错误进行检测,然后在系统控制台打印出错误。数据采集流程如图6所示。
数据采集函数为有两个,分别是模拟量数据采集函数client.readHoldingRegisters(address,length)和开关量数据采集函数client.readCoils(address,length)。具体信息如下:
模拟量函数读取到的值为字为单位,需要知道设备的地址和读取的长度。
函数名:client.readHoldingRegisters(address,length)
功能
模拟量数据采集
原型
参数名
初始值
address
无
length
无
返回
无
开关量状态读取函数和模拟量读取函数类似,也需要知道设备的地址和需要读取的长度。但是开关量读取到的是布尔量。
函数名:client.readCoils(address,length)
模拟量采集后需要转换成工程量单位,根据控制系统的需要传递转换的数据、最大量程和最小量程。使用函数getValue(data,minValue,maxValue)。
函数名:getValue(data,minValue,maxValue)
功能
工程量数据转换
原型
无
参数名
初始值
data
无
minValue
无
maxValue
无
返回
value
MCU控制单元2:
MCU控制单元2为微控制单元。微控制单元(Microcontroller Unit;简称MCU),又称单片微型计算机(Single Chip Microcomputer)或者单片机,是把中央处理器(CentralProcess Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。MCU控制单元2通过485总线联通控制模块3。MCU控制单元2与子站点客户端5电性相联进行数据转换。
MCU控制单元2安装有Client/Server结构的智慧水务监控系统软件,本系统软件的底层通讯采用socket,并提供了软件监控接口(可以为各种编程语言编写成数据采集软件),极大提升了数据处理能力和移动端扩展性(见图2)。
控制模块3:
1、控制模块3和执行机构4电性相联以便作业;控制模块3包括主控程序模块、控制方法模块、通讯方法类模块、路由模块、node js库模块。控制模块3采用配置文件的形式增减模块。控制模块3还包括路由模块作为从属功能模块。
2、关于控制模块3的各个说明:
系统详细的模块信息表如下
名称
功能简述
主控程序
实现系统控制逻辑
控制方法模块
为主控程序提供封装的方法
配置文件
用于配置运行参数及扩展
通讯方法类模块
为Server和Client通讯提供封装方法
路由模块
提供局域网访问运行参数的方法
node js库模块
软件底层支持库
2.1 关于配置文件的形式内容说明:
本系统软件使用方法主要是配置文件的使用及控制功能的修改,配置文件主要作用是对每个站点的ID、名称、电机泵自动启停的时间、启停液位进行初步配置,同时可以扩展;控制功能的修改需要在主程序相应的位置进行改动,根据实际需要更改逻辑。配置和修改后要保存文件后重启系统即可运行。其功能说明如下:
配置文件名称为“SiteConfig”,参数如下:
{
″ID″:″XXX″,
″name″:″XXX″
}
文件中″ID″是所属站点的编号,由调试人员根据需要协商确定,按调试时间的先后顺序编号,以便在网络通讯中提供ID识别。
″name″为配置站点的名称,一般根据实际名称填写。
2.2 利用配置文件的增减模块来进行扩展配置
主要是开关量模块的配置,用于对模块的点位对应实际的设备。这里有两个文件,设备名称文件“Equipments”、设备点位配置文件“EquipmentToRelayConfig”和继电器模块文件“RelayParameters”。“Equipments”如下
[
″风机″,
″清水泵″,
″#1提升泵″,
″#2提升泵″,
″#1回流泵″,
″#2回流泵″,
......
]
以上中括号中的名称即为污水站点各个电机泵对应的名称,根据实际需要填写,注意名称要区别,否则在软件运行时反馈的信息,不同的点位会出现相同的名称。“EquipmentToRelayConfig”如下:
[{
″ID″:3,
″index″:1,
″name″:″风机″,
″code″:″fj″},
{″ID″:3,
″index″:2,
″name″:″清水泵″,
″code″:″qsb″},
......
以上参数中″ID″是模块号;″index″是该模块对应硬件点位的顺序号;″name″和″code″的内容由调试人员确定,一般按实际设备填写。注意顺序和“Equipments”里面的名称一一对应。
“RelayParameters”文件作为模块的基本配置,如下:
[
{″ID″:3,
″length″:10,
″address″:″0″,
″type″:0}
]
参数″ID″为485通讯中模块的ID号,由厂家或者调试人员事先设定;
″length″为模块输出或者输入的点数量;
″address″为寻址开始地址,有产品制造厂家规定;
″type″为寄存器类型。
注意的是模块可以任意扩展,如需要增加一个模块时,按照原格式,在大括号内填写参数如{″ID″:16,″length″:12,″address″:″0x0008″,″type″:0},再用逗号隔开。
2.3 运行参数配置功能说明
配置文件名称为“SiteRunParameter”、“FanlRunTimes”、“FanlRunTimes”,作用分别是配置站点自动化运行的液位参数、温度参数,一级风机运行时间参数。根据配置文件的英文名称就可以确定参数的含义,对参数的更改即可实现对程序自动化运行逻辑进行更改。如“SiteRunParameter”
{
″ID″:0, //模块ID
″cleanPumpStopValue″:1, //清水泵自动停止液位/m
″cleanPumpStartValue″:2, //清水泵自动启动液位/m
″hoistPumpStopValue1″:1, //1#提升泵自动停止液位/m
″hoistPumpStartValue1″:1.5, //1#提升泵自动启动液位/m
″hoistPumpStopValue2″:1, //2#提升泵自动停止液位/m
″hoistPumpStartValue2″:1.6, //2#提升泵自动启动液位/m
″fanStopTemperature″:28, //散热风扇关闭温度/℃
″fanStartTemperature″:35, //散热风扇启动温度/℃
......
}
2.4控制逻辑修改功能说明
如对现有的自动控制功能不满意,要进行修改,则需要在树莓派系统内,使用软件VS code打开程序,在主程序app.js中进行修改,修改后保存程序,重启系统。
本系统采用的软件提供文件配置功能,以提高系统的灵活性和扩展性。包括站点参数配置、运行参数配置、扩展模块配置(如图4)。以上参数配置需手动修改配置文件,按实际需求更改即可。注意修改后需要保存并重启系统。
外部模块和系统连接采用485总线。系统可以是Windows或者Linux,通过USB转串口连接模块。当选择不同的系统时需要设置不同的串口路径。串口设置函数功能块如下:
函数名:client.connectRTU()
根据模块配置后的信息,在模块连接到总线后,系统会根据配置信息去读取模块的状态,并根据程序需要去对模块输出开启和停止。控制流程如图5所示:
图5中控制模块3程序输出需要使用的函数分为两种:
(1)使用485总线通讯方式的switchRelay(index,t,callback);
(2)直接驱动硬件输出的Gpio.open();
本系统中Gpio.open()函数只做为软件模块封装,以便备用。图5中的扫描读取模块在数据采集模块中有详细说明。
函数名:switchRelay(index,t,callback)
功能
控制模块3输出
原型
无
参数名
初始值
index
0
t
false
返回
callback
执行机构4:
执行机构4作业于污水站点并由所述的数据采集模块1采集相关数据,执行机构4是污水站点的电机设备,电机设备数据反映当前设备运行状态,并由控制系统根据状态判断故障;环境温度T则监控温度及控制散热风扇的启停。
子站点客户端5:
子站点客户端5通过TCP/IP协议同服务器平台接口6建立通讯关系。子站点客户端5由树莓派作为控制核心并通过树莓派嵌入式系统构建而成,所述的子站点客户端5和MCU控制单元2形成数据转换,并把转换后的数据连接到服务器平台接口6,再进行远程控制终端7的控制。
服务器平台接口6:服务器平台接口6电性联接远程控制终端7以便远程监控
这里接口主要是指软件的接口,由Client端提供接口名称。在和Server端通讯的过程中不断接收来自Server端的指令。这些指令直接作为接口对象,提供上位软件接入进行控制。
Client端监听Server端发送的命令数据(接收接口数据),然后不断解析数据,解析后进行判断接口属性和控制(写入数据和捕获数据)(如图8所示)。
子站点客户端5和服务器平台接口6的通讯功能描述:
在数据转换之后,需要将数据发送到服务器。系统通讯采用Socket和服务器连接。Client端通讯建立流程首先建立监听端口号,服务器IP,然后监听数据。另外为提高系统的恢复故障能力和容错率,还需要检测接收包数据,一旦发现一定时间内接受不到数据应报故障和作出响应。
在这里,一个socket是一个EventEmitter(也就是编程软件本身的核心模块,是一个异步驱动构架)。它可能会触发″connect″,″end″,″timeout″,″drain″,″close″事件。这样,很自然地可以把”error“作为另外一种可以被触发的事件。
由此,可以根据这个驱动构架去建立我们所需的通讯机制。具体通讯流程如图7所示:
使用的通讯函数为tcpClient.connect(serverPort,serverIP,function(){})和tcpClient.on。主要用于设置网络参数并连接。
函数名:tcpClient.connect(serverPort,serverIP,function(){})
功能
网络连接
原型
net.Socket()
参数名
初始值
serverPort
无
serverIP
无
function()
无
返回
回调函数function()
函数名:tcpClient.on(string,function(){})
功能
网络连接
原型
net.Socket()
参数名
初始值
string
无
function()
无
返回
回调函数function()
远程控制终端7:
通过远程数据通讯,能够实现对执行机构4的控制,比如电机设备数据反映当前设备运行状态,并由控制系统根据状态判断故障;环境温度T则监控温度及控制散热风扇的启停。用到的设备比如显示屏、电脑或者智能手机。
污水站点:
污水站点设置有污水处理设备和监控设备,以便实施作业。
系统的作业原理过程:
由于执行机构4和污水站点设备都与数据采集模块1电性相联,本发明的数据采集模块1采集污水站点的污水水质数据和设备运行数据并通过485总线联接到MCU控制单元2;到达MCU控制单元2的相关数据经过数据转换进入子站点客户端5,由于子站点客户端5和服务器平台接口6之间利用TCP/IP双向通讯,而服务器平台接口6和远程控制终端7也是双向通讯,故可以实时监控。由远程控制终端7发出的数据命令经过服务器平台接口6(预留接口,是方便第三方监控平台接入),到达子站点客户端5,再经过数据转换进入到MCU控制单元2,再由控制模块3向执行机构4发出命令,完成对应命令的作业。
- 上一篇:一种医用注射器针头装配设备
- 下一篇:一种分析仪器显示面板