APP下载

市政排水泵站调度的多层控制模型与仿真研究

2021-03-25张振亚骆丽春

软件导刊 2021年3期
关键词:应用层寄存器组态

张振亚,施 璇,骆丽春,王 萍

(1.安徽建筑大学电子与信息工程学院,安徽合肥 230601;2.安徽建筑大学智能建筑与建筑节能安徽省重点实验室,安徽合肥 230022)

0 引言

城市排水系统是市政工程建设中的重要基础设施。内涝灾害是城市化带来的城市型洪水灾害,对经济社会发展造成极大的危害[1]。但城市排水系统雨水排水调度的自动化水平不高,一般排水泵站调度基本还是依赖于人工,通过调度人员分析运行参数,依靠电话下达调度命令[2-3]。在城市排水调度中需要能及时、准确地掌握城市排水系统运行状态等相关信息,从而科学、有效地对排水系统中的现场设备进行调度。

现有的面向排水泵站系统的数据采集与监控主要基于SCADA 系统[4],而SCADA 系统搭建通常基于组态软件。目前SCADA 系统可监控设备的现场状态并进行控制,实现简单的泵调度策略。但其对大数据的决策能力有限,通常需要设计第三方智慧决策程序对设备进行智能化控制[5],第三方应用程序通常需要通过组态软件与数据库实现对下位机末端设备的控制。针对自动化控制系统中存在的问题,通过修改排水泵站PLC 程序,实现设备的自动化运行,并在上位机控制系统中应用ODBC 和ADO 方法实现组态软件与数据库的交互[6]。最后由第三方应用程序作出决策,通过数据库下达控制指令。本文对底层PLC对水泵的控制、SCADA 系统对水泵的控制、基于第三方决策的控制共三层控制机制进行设计与实现,以进一步提升排水系统自动化控制的信息化与智能化水平。

1 相关研究

在工业领域,控制系统主要通过工业过程控制部件对实时数据进行采集、监测,在计算机的调配下实现自动化系统的管理与监控[7]。现阶段工业控制系统的控制对象包括机械装置、交通工具、实验装置、仪器仪表,以及家庭生活设施、家用电器等。国家核设施、钢铁、有色金属、化工、电力、天然气、水利枢纽、铁路、民航、城市供水供气供热等都是工业控制系统信息安全管理的重点领域[8]。典型的基于PLC 的工控系统分为站控层、现场控制层和过程层。其中,站控层部署在上位机,现场控制层主要以下位机PLC为控制单元,过程层主要包括现场设备如传感器、开关阀门等。上位机与PLC 下位机之间通过工业以太网进行通信,PLC 下位机与现场设备通过现场总线进行通信[9]。目前,大多数组态软件提供用户可配置的数据采集程序。基于COM 技术的OPC 标准自动化接口实现了OPC 服务器与OPC 应用程序之间的数据交换[10],一般通过VB.NET 中的ADO.NET 组件连接数据库进行数据访问[11-12]。但OPC服务器配置成本过高,无法得到普遍应用。本文在半实物仿真系统中将利用组态软件中的相关ADO 组件进行数据库连接。

目前针对排水系统智能性差、自动化水平低等问题,国内外大多采用分布式控制理论对排水系统架构进行重新设计[13]。一般将PLC 作为系统主控制器,结合物联网技术,设计一种多模式运行的管理方式。在控制方面,将各功能模块分成不同单元,最后由控制网络将各单元连成整体,负责各单元的数据交互。如文献[14]设计一套以PLC控制单元为核心的煤矿井下排水集中式控制系统,系统根据水仓水位实现自动启停水泵,PLC 控制单元负责与地面监控中心进行通信,同时也负责水泵控制与调度,系统的可靠性依赖于PLC 控制单元;文献[15]结合分布式控制理论,设计一套集中式控制系统,系统由控制主站、控制分站和各种传感器组成,控制主站负责与地面控制单元通信,同时也负责水泵控制与调度;文献[16]提出主排水监测监控系统设计方案,系统通过水泵房控制单元实现排水系统的自动化运行;文献[17]采用分层结构设计,结合工业以太网技术,为保德煤矿设计了一套独立的自动化排水系统,系统由地面控制中心、工业以太网传输网和水泵控制系统3 部分组成,排水系统的水仓分为小水仓和中转水仓,小水仓可自动运行,每个中转水仓控制系统可以直接接收地面控制中心的指令;文献[18]设计一套独立式的煤矿井下排水系统,每台水泵都配备了PLC 控制单元,地面监控中心可以直接控制每台水泵,系统运行指令来自地面,如果通信出现故障,则系统无法运行;文献[19]在搭建排水系统时使用一种由3+2 控制结构构成的控制网络[20],即三层设备两层网络。

本文在已有研究的基础上,对排水系统进行分层设计,并对每一层进行半仿真实现。

2 系统架构

为实现排水泵站控制系统中的无人值守功能以及泵站的自动化控制,进一步实现灵活且可变通的控制方式,本文设计系统架构如图1 所示。主要控制模型体系分为3层:Ⅰ层为现场控制层,主要包括仪表和水泵等底层设备,基于PLC 对现场仪表和泵组进行控制;Ⅱ层为SCADA 层,在中控室内搭建SCADA 监控系统,完成所有泵站的信息采集与联动,实现多泵站的联合调度;Ⅲ层为应用层,在后期决策时,应用层将根据更多信息对各泵站的调度进行更高级的决策。

Fig.1 System architecture图1 系统架构

图1 中,Ⅰ层控制层通过PLC 内预先编译的梯形图程序控制设备启停,并采集流量信号和水位信号、水泵状态等设备数据。控制层可通过工业以太网、RS485 总线等方式与SCADA 层连接。

Ⅱ层SCADA 层一般设有中央控制室,实现对各泵站现场运行设备状态的显示与控制,并采集状态数据,通过操作界面实现对现场的远程监控,完成简单的人工调度,最后将各泵站数据上传至应用层。

Ⅲ层第三方应用层通过外部数据库接收SCADA 层上传的设备数据,结合外部数据库中存储的其它数据如天气数据、历史决策数据等,对数据进行分析处理,最后作出智能决策,之后再通过SCADA 层将决策下达至下位机PLC,实现对设备的控制。

3 半仿真实例设计

本文实现了一个面向排水系统水泵调度的控制系统,以泵的工作时间和负载平衡为约束,模拟对排水系统中泵的调度。半实物仿真排水部分由1 个蓄水池、2 个12V 水泵和1 个24V 水泵以及1 个液位传感器组成。

此外,为实现系统水循环利用,设置了由辅助排水系统运行的回水系统,分别由1 个蓄水池、1 个12V 和1 个24V 水泵以及1 个液位传感器组成,未来还可模拟城市地表降雨情况。

系统分为现场控制层、SCADA 层、应用层三层。其中现场控制层的PLC 采用西门子S7-200,CPU224XP。PLC内部数据存储器如表1 所示。其中,数字量输入寄存器I用于PLC 的输入,该寄存器内容系统只能读取,不能修改。本仿真系统不使用输入寄存器,利用PLC 内部的位存储器M 寄存器进行命令修改,输出寄存器Q 输出高电平用于控制设备。

Table 1 S7-200 CPU224XP internal data memory表1 S7-200 CPU224XP 内部数据存储器

位存储器M 为梯形图中启停设备的开关,输出寄存器Q 与继电器相连,输出高电平对水泵进行控制。设定Q0.0-0.4 作为5 个水泵的输出,M0.0-M4.0 作为中间继电器控制5 个水泵的输出,其对应关系如表2 所示。

通过连接PLC 内部的寄存器与继电器,编译相关梯形图实现对设备的并行控制。梯形图如图2 所示,当接通PLC 电源时,自动实现对液位传感器的控制,并采集相关液位数据。SBR0 模块与SBR1 模块分别为排水系统和辅助回水系统的液位采集模块,可实现对各个系统的液位采集。利用梯形图中与液位采集模块并行的程序实现对各水泵的控制,当位寄存器M 置1 时启动水泵,置0 时关闭水泵。

Table 2 Corresponding relation between pump intermediate relay and output register表2 水泵中间继电器与输出寄存器对应关系

Fig.2 PLC internal pump control program structure图2 PLC 内部水泵控制程序结构

SCADA 层基于在Windows 操作系统下应用的组态软件进行系统搭建,实现对现场的部署,设计组态监控界面如图3 所示。由于本实例系统设置在本地,组态软件将通过PPI-USB 电缆连接PLC,并设置相关组态变量连接其寄存器M0.0~M4.0 实现对现场的直接控制,映射关系如表3所示。通过组态软件在界面上设置开关,并绑定对应水泵的变量,从而实现用户通过组态界面对水泵的直接控制。

SCADA 层与应用层可基于以太网连接外部数据库进行数据交互。外部数据库变量绑定组态变量,使应用层通过写入数据库变量实现对组态变量的控制。在组态软件中以ADO 方式连接外部数据库,首先在Windows 上配置ODBC 关系数据源,根据所适用的外部数据库属性进行配置,完成ODBC 数据源与外部数据库的通讯;然后在组态软件(以力控组态软件为例)中选择ADO 组件,连接同一ODBC 数据源,通过数据表绑定功能将数据表变量与组态变量绑定起来。

Fig.3 Water pump control configuration interface图3 水泵控制组态界面

Table 3 Drainage system configuration variables connected to PLC corresponding registers表3 排水系统组态变量与PLC 相应寄存器连接

Table 4 Backwater system configuration variable connected to PLC corresponding register表4 回水系统组态变量与PLC 相应寄存器连接

通过ADO Module 模块编写ADO 函数,进行组态软件与数据库之间的数据交互操作。将数据上传和数据读取分为两个ADO 模块,数据上传部分为ADOModule1,数据读取部分为ADOModule2。首先需要连接外部数据库,然后创建表格,将采集到的数据上传至数据库。

流程1 数据库连接程序

#ADOModule1.OpenDataBase();//打开关系数据库;

#ADOModule1.CreateTableEx(“数据库中的自定义数据表名”,“组态中的变量绑定表”);//创建数据库中的表格;

#ADOModule1.OpenRecordSet(“select * from 数据库中的数据表名”);//打开数据表中的数据集;

流程2 数据上传程序

#ADOModule1.AddNew();//向数据库中添加新数据;

#ADOModule1.GetData(“组态中的变量绑定表”);//从绑定数据表中获得新数据

#ADOModule1.Update()//更新关系数据库数据表中的数据

应用层处理完采集到的数据后下达0/1 水泵启停指令,上传到外部数据库中与组态软件变量绑定表的最新一行中,再由组态软件读取决策命令,从而控制现场。

流程3 数据读取程序

#ADOModule2.MoveLast();

//将游标移向数据表中最后一行,即读取最新一条记录;

Pump1.PV=#ADOModule2.GetValueByIndexInt(0)

//按照字段索引读取数据,赋值给组态的变量,如水泵1 的指令在索引0

应用层选择合适的外部数据库如SQL Server 和Ac⁃cess 进行数据存储。SQL Server 用于存储设备运行数据,Access 用于存储本地数量较少的数据如设备的物理信息等。应用层通过修改SQL Server 数据库中运行设备表的控制启停指令实现对水泵的控制。

4 总结与展望

在排水泵站中将基于SCADA 系统的数据采集、基于数据库的上位机控制以及第三方程序结合大数据整合分析3 种关键技术相结合,实现了对水泵自动化控制系统的智能化改进。设计半仿真实例进行实验,并基于数据库完成三层控制层的信息交互。随着自动化控制、网络和信息技术的不断发展,未来的智能化泵站将基于大数据与物联网技术,并向“使用更方便、响应更快捷、系统稳定性更强”的方向发展。通过智能化泵站信息系统建设、运行、管理及优化经验的不断积累,同时继续在实践中整合优势资源、顺应时代潮流、吸纳先进理念、尝试新设备与新技术,从而将“无人运行的智能化泵站”向“智慧泵站”的方向逐步推进,使城市的排水泵站运行更加安全、高效和稳定。

猜你喜欢

应用层寄存器组态
基于PLC及组态技术的恒温控制系统开发探讨
Lite寄存器模型的设计与实现
分簇结构向量寄存器分配策略研究*
基于PLC和组态的智能电动拧紧系统
基于分级保护的OA系统应用层访问控制研究
新一代双向互动电力线通信技术的应用层协议研究
铸造行业三维组态软件的应用
物联网技术在信息机房制冷系统中的应用
Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair
高速数模转换器AD9779/AD9788的应用