陈善超,王全林
(北京亚控科技发展有限公司,北京 100086)
根据水务集团的供水智能调度需求,结合通用组态软件,研发智能调度控制算法组件和供水调度系统,实现供水智能调度,包括:浑水调度,管网压力控制目标动态设定,管网压力自动控制和泵组运行策略调整。智能控制算法用于供水调度系统实现,为调度人员日常工作提供信息监视、信息查询、数据统计与分析、业务处理、辅助调度、调度决策。通常供水调度系统的开发维护需要高级程序员参与,技术门槛高,后期维护扩展困难,熟悉水处理工艺和业务的自控工程师很难参与到智慧水务软件系统开发当中。如何实现智能化控制,降低企业运营成本,缩短开发周期,降低开发运维成本,使项目快速落地,成为水务公司亟需解决的问题。通过项目的开发研究与实际应用,表明组态式平台快速开发,实现供水智能调度是十分必要的。
供水运营调度系统结合当前调度中心的业务需要,对原系统进行升级改造,将城市供水管网信息和管网实时监测数据集成在一起,建立生产数据中心和综合展示平台。设计供水优化调度系统,实现具有先进性、科学性、信息化的供水调度运行和管理模式,从而提升供水调度综合能力,确保供水系统安全、经济、合理地运行[1]。
根据某水务集团的供水智能调度需求,研究其系统与数据现状。原系统设备较多,数据来源较复杂,其中监测点需要对接100 多个测点的压力、浊度、余氯、瞬时流量、正向累计、反向累计等。RSLinx OPC 和IFix OPC 采集有压力点、报警监测等数据。3 座水厂PLC 品牌有西门子、罗克韦尔。原调度系统缺乏智能调度功能,其中地图总览系统需对接水务集团原ArcGIS 地图,监控整个市区供水管网。
完成水务集团对下属3 座水厂、3 座取水泵站及100多个管网测压点的数据采集并研发智能调度控制算法组件和供水调度系统,实现供水智能调度。其主体实现以下功能模块,见表1。
表1 功能模块Table 1 Functional modules
1)可靠性与稳定性。软件系统尽量不出现闪退、崩溃无响应等情况。
2)较高的交互性。根据用户习惯进行开发,保证软件的易用性,增加用户交互[2]。
3)随需而变。系统平台支持拖拉拽式组态开发,维护工程师能够根据业务需求的变化通过低代码方式快速实现软件系统功能的变更。
针对系统现状,本项目的重点难点如下:
1)数据来源众多,数据来源复杂且有些系统和设备比较老旧,部分数据采集较为困难。
2)现有系统无智能调度功能,缺乏智能控制供水调度能力;在城市的供水设备中,有一定的差异性,目标众多,需要注意的方面也很多[3]。
3)系统部分数据监控功能需要优化。
针对以上重点难点问题,本方案有如下措施:
a)针对数据来源繁杂问题,采用亚控公司开发的数据采集产品KingIOServer,支持多种类型设备驱动、OPC 等,具有采集稳定时延小等优点,可统一采集储存至数据库。然后,采用KingHistorian 工业实时历史数据库,将分散的海量过程数据采集并存储下来,不仅解决了关系数据库应用难题,还为企业将“数据转化为信息”提供稳定可靠的数据支持平台[4]。
b)针对智能供水调度优化等问题,采用KingWater 智慧水务开发平台。平台含计算组件,支持多种计算模式,满足不同业务场景下不同数据类型的分析处理需求;同时支持JavaScript、Python、C++普通依赖扩展包等多种编程语言算法的接口扩展,方便调用各种成熟的算法库。优化方式上,在进行城市供水调度优化的时候,对供水能力、水力平衡和用户的水压条件等形成一定约束的情况[5],系统融合调度经验(数据建模)、历史数据(特征提取)、机器学习等算法(成熟库文件调用),开发包括设定监测点目标压力、浑水量调度、出场压力调整和机泵搭配方式的智能控制算法和应用。
c)系统功能优化。基于KingWater 开发平台,灵活采用其客户端组件,各种UI 控件展示,2D 流程图;平台支持17 种基本图素绘制,内嵌3500 种各行业常见设备图素,支持28 种数据动画关联展示,如时间段、监测点灵活曲线查询、曲线对比、厂网联合监控、排班管理、报警配合等都可以灵活组态开发。
图1 数据流拓扑Fig.1 Data flow topology
图2 系统架构图Fig.2 System architecture diagram
图3 地图总览Fig.3 Map overview
图4 数据总览Fig.4 Data overview
图5 出厂压力计算Fig.5 Calculation of factory pressure
1)水厂数据采集:系统使用KingIOServer 软件,通过水厂PLC 直接采集进出水浊度、余氯、pH、温度、水量、流量、累计流量及清水池水位、中间滤池等生产环节数据。
2)供水管网数据采集:通过OPC 的方式从各供水管网监测点监控设备实时采集压力、水质等数据,对数据异常报警提醒。从各供水管网流量监测点监控设备实时采集各区域流量数据,从和达中间数据库接入管网监测点数据。
3)第三方业务系统数据对接:对原有调度系统数据进行接入。
采用KingHistorian 工业实时历史数据库实现监测点、水厂、泵站、管网等过程数据秒级储存。原始生产运行历史数据作为系统统计、分析的基础依据,同时为调度监测软件、报表软件、信息发布系统、报警系统提供后台数据支持。历史数据可以保存长达10 年,确保数据的长时间存储和数据安全。系统运维、管理等数据储存到SQLServer关系型数据库。
标准协议:OPC UA/DA、Modbus、MQTT 等。
关系库:Oracle、MySQL、Sqlserver、PostgreSQL、达梦数据库等。
非关系库:TDengine、redis、TimescaleDB、Hbase、mangoDB 等。
基于restful 接口集成开源的JavaScript 模块和Python模块、C++。
KingSCADA 作为基础数据服务端,采用KingWater 软件计算组件,定时和条件触发智能调度算法并结合Python调用库文件或函数,计算结果传递给前端或KingSCADA 服务器,并在自控模式下自动给PLC 下发控制指令。
通过KingWater 软件与KingSCADA 监控软件、KingHistorain 工业实时数据库、KingIOServer 实时采集软件完美交互构建管控一体化的供水智能调度系统[5]。
现场层:通过局域网和广域网连接各原水泵站、水厂、加压泵站、管网测点等,读取现场数据。
数据传输层:现场数据通过光纤、4G 等网络传输,完成现场设备与集团调度中心服务端平台网络连接,采集并上传数据。
数据接收层:通过各种标准化的协议或双方协定的协议接口,实现不同设备和终端的数据接入。
数据存储层:建立数据中心,集中存储、处理海量过程数据、模型数据、业务数据,提供整个系统的数据支撑。
应用层:生产数据及业务数据展示,为调度和管理人员调度决策提供支持,同时和其它业务系统对接。
WEB 前端表示层采用自主研发的框架,部分使用Vue架构,提供ElementUI、easyUI 组件库,支持echart 和2D流程图、3D 视频展示等;支持跨平台浏览,包括移动端和PC 端。
安全认证采用标准的OAuth2.0,支持单点登录。
后台服务采用自主研发的平台,采用“微组件”设计,丰富的组件保证系统的灵活性、扩展性。
中间件层:集成测试环境,生产环境:Nginx;依赖平台:Node,中间件:EMQX,Kafka。
运行层:支持虚拟机化服务器。
数据来源:标准协议采集、非标协议定制,常用数据库接入(支持国产数据库达梦),第三方系统数据接入(ERP、WMS 等)。
在地图上标注水源、水厂、管网监测点等地理位置和管道、阀门分布,并显示每个站点重要数据。地图总览主要实现:
1)实现与第三方厂家ArcGIS 平台的对接,保证管道、监测点等设施的同步修改。
2)实现监测点、水厂等设备实时数据监测以及基础数据查询。
3)点位查询,报警定位提示,图标闪烁提示,多层级动态显示。
数据监测模块主要实现:
1)实现所有水厂泵状态、频率、启停时间,监测点实时数据监控,历史曲线查询,多个监测点对比分析。
2)实现点击泵人工下发控制指令,点击监测点可查询曲线、基本信息、历史报警等。
3)实现泵站、水厂、管网、主控点联动智能控制,实际值与智能算法目标值实时监控。
算法控制主要实现:
1)支持运控人员控制算法输入参数的前端修改,从而持续调整算法,优化控制。
2)支持智能调度算法自动下发控制指令,记录每条人工、自动指令。
3)实现监测点目标压力,浑水量计算,出厂压力计算,机泵搭配算法的中间过程及曲线展示,便于进行优化调试,最终达到最佳控制目标进行自动控制。
1)实现运行日志、班次维护、人员排班、交接班的管理记录。
2)实现与生产计划、水质报告的灵活对接。
3)支持天气查询,管道冲洗停水公告的记录。
支持报警规则设定,支持用户单点报警、多点联动报警关联的基础配置;实现多点联动报警不同等级报警的区分,实时报警自动弹窗展示,与水厂智能控制指令进行智能联动报警,减少误报警;支持报警历史记录查看。
实现用户管理,用户权限配置管理,可自由配置单个页面权限。
实现变量管理,对变量进行增删改查,相关页面的变量会进行修改。
选用KingIOServer 软件有效解决了多源数据采集困难的问题,实现的关键功能主要有:
变量解析:采集器可以解析变量的数据源地址信息,通过IOServer 接口访问变量数据。
数据插入:采集器通过调用工业库提供的API 接口将变量数据自动插入到工业库。
变量枚举:即变量浏览,通过指定具体通道、设备或者寄存器可以根据数据块的数据类型以及寄存器地址信息自动枚举数据块里的变量。
冗余功能:采集器支持冗余切换功能,可以指定两个互为冗余的采集器完成对IOServer 的数据采集。
缓存处理:当采集器和服务器出现网络中断的情况时,采集器可以实现数据本地缓存,待网络恢复后,将数据传输到服务器。
压缩处理:采集器可以配置数据压缩方式,如变化压缩、死区压缩和旋转门压缩等。
全组态管控一体化平台KingWater 框架主要包括基础平台+四大组件,四大组件包括:采集组件、数据组件、计算组件、客户端组件。它基于微服务框架,维护简单,扩展容易;运用容器化部署,一次开发随处运行,运维简单。系统开发实现选用的全组态管控一体化平台KingWater,可快速完成供水智能调度系统的开发与应用,通过工艺流程和业务流程的可组态,简单、方便地实现生产过程透明化,生产管控实时性及产品与设备全生命周期管理,进而提升生产设备的绩效评估和产品的质量管理,最大限度提高生产运营效率,降低企业运营成本,提高企业盈利能力。
本文论述了智能供水调度系统的设计与实现,主要介绍了系统需求、建设方案、软件模块设计与重要模块的实现方法与呈现效果等内容。开发完成的系统确保了安全供水,供水管网压力更优,使设备优化运行节约电耗,降低用电成本并保障了设备运行安全,同时解放人力,节约人工成本。
智能供水调度系统的开发与实现基于亚控KingWater平台架构建立,基于开放的理念,符合国际主流标准的技术规范。平台解决了信息化过程中的信息孤岛问题,达到各系统的数据共享、流程自动化,规范系统接口标准。系统融合行业模型,实现模块化开发,真正做到随需而变,并大大提高系统质量。