污水处理远程集中控制系统设计研究
2020-06-01温志军
温志军
(北京中燕通科技开发有限公司,北京 102599)
1 系统概述
本污水处理远程集中控制系统是一个县级集中控制总站,通过Internet 网络集中显示、控制5 个镇的污水厂的全部设备。5 个镇的单一污水厂内部可编程控制器作为主站;使用西门子EM277 模块通过Profibus_DP 现场总线组成现场总线网络。各镇的污水厂分别配置一台触摸一体计算机和北京杰控科技有限公司的Fame View 组态软件作为镇级污水厂的总控制和操作系统。各镇的可编程控制器利用国产的企业智能VPN(Virtual Private Network,虚拟专用网络)网关通过跨区组网功能组成远程局域网。通过在整个系统的硬件配置、地址分配、程序编制、状态记录、曲线记录、报表打印等方面的统一标准。本系统的主网络采用VPN 架设,分站的网络采用ROFIBUS_DP 架设。
2 单一污水厂硬件配置
单一污水厂的硬件结构包括ABB_AC500_PM573_ETH 主站、通过DC551-CS31 组成的远程终端单元、西门子S7-200CPU+EM277 模块做为4 个PLC 分站。上位机采用电阻触摸的一体化工业电脑,在Windows 系统上安装北京杰控科技有限公司的Fame View 组态软件做为显示和操作单元。用微软的SQL Server 和Office 软件做为数据库平台和报表打印的支持软件。
为了总站能实现显示和控制分站的功能,需要将通过通信方式获取的数据分配给总站PLC 然后上传给各个污水厂的上位机PC 的组态软件中。这就需要分配一系列地址给各个硬件,以便能做到数据的一致性(表1)。
3 单一污水厂PLC 软件编制
ABB_PLC 软件编制可以使用ABB_Automation_Builder 软件中集成的软件来实现的。在ABB_Automation_Builder 中配置好硬件后,在CoDeSys 中定义全局变量名然后使用这些变量名编程。
表1 地址表分配
3.1 数字量输入映射
(1)PLC 物理地址定义Excel 公式:=IF (变量注释单元格=0,"",PLC 物理地址变量名单元格&" AT "&PLC 物理地址单元格&" :BOOL;(*"& 变量注释单元格&"*)")
(2)上位机变量名定义Excel 公式:=IF (变量注释单元格=0,"",上位机变量名单元格&" AT "& PLC_M 转换地址单元格2&" :BOOL;(*"& 变量注释单元格&"*)")
(3)=IF(变量注释单元格=0,"",上位机变量名单元格&":="& PLC 物理地址变量名单元格&";(*"&变量注释单元格&"*)")
3.2 数字量输出映射
(1)PLC 物理地址定义Excel 公式:=IF (变量注释单元格=0,"",PLC 物理地址变量名单元格&" AT "&PLC 物理地址单元格&" :BOOL;(*"& 变量注释单元格&"*)")
(2)上位机变量名定义Excel 公式:=IF (变量注释单元格=0,"",上位机变量名单元格&" AT "& PLC_M 转换地址单元格2&" :BOOL;(*"& 变量注释单元格&"*)")
(3)上位机和PLC 数据传送Excel 公式:=IF(变量注释单元格=0,"",PLC 物理地址变量名单元格&":="&上位机变量名单元格&";(*"&变量注释单元格&"*)")
3.3 模拟量输入映射
(1)PLC 物理地址定义Excel 公式:=IF (变量注释单元格=0,"",PLC 物理地址变量名单元格&" AT "&PLC 物理地址单元格&" :INT;(*"& 变量注释单元格&"*)")
(2)上位机变量名定义Excel 公式:=IF(变量注释单元格=0,"",上位机变量名单元格&" AT "& PLC_M 转换地址单元格2&" :INT;(*"& 变量注释单元格&"*)")
(3)上位机和PLC 数据传送Excel 公式:=IF(变量注释单元格=0,"",上位机变量名单元格&":="& PLC 物理地址变量名单元格&";(*"&变量注释单元格&"*)")
3.4 模拟量输出映射程序
=IF(变量注释单元格=0,"",PLC 物理地址变量名单元格&"AT "&PLC 物理地址单元格&" :INT;(*"& 变量注释单元格&"*)")
3.5 故障和非远程状态复位程序
="IF "&自动变量名单元格&"=0 OR "&故障变量名单元格&"=1 THEN "&输出变量名单元格&":=0;END_IF; (*"&输出注释单元格&"*)"
3.6 数字量联锁控制
首先利用Excel 公式的方法编制ST 语言程序,然后再利用CoDeSys 软件转换成LAD 程序,在LAD 程序里面做联锁控制。
3.7 其余的复杂控制
(1)提升泵频率控制程序。提升泵频率控制方法有3 种:手动设定频率方式、液位随动频率控制方式、通过流量计闭环PID设定方式。采用手动控制方式时,提升泵频率按手动设定频率运行;采用液位控制频率时候,提升泵按液位高低自动调整频率运行。
(2)转盘膜厚度测量及控制程序。每过2~3 h,用自动程序将调整转盘的速度到测量频率5 Hz,在此频率下测量转盘输出功率。通过和对照值进行比较,以此来核定转盘挂膜厚度的程序。膜厚测定后,再通过自动程序来控制转盘的转速来控制生物转盘的挂膜厚度。
(3)输入模拟量整理功能FCN 指令的编制。ABB_AC500 系列PLC 模拟量输入的数据类型是-32768~32767 的无符号整形,而CoDeSys 软件识别的物理地址AI 是0~63535 的无符号整形,当物理信号小于零时候,由于位序的原因CoDeSys 输入信号值将大于27648,这时就需要编制一个整理功能FCN 来保证信号的准确。
(4)低液位有水信号功能FCN 指令的编制。有水和无水直接要设定一个缓冲区间,比如100 mm,以免信号频繁切换。这就要编制一个能自动实现这个功能的功能函数,以便频繁调用。可以将这个函数叫做HAVE_WATER。这个函数输出一个BOOL值,用这个值去控制潜水泵的启停即可。
(5)分站模板PLC 程序编制。通过对变量有规律的命名,比如DI、DO、AI、AO、X、B、R、PLC、PC、以及序列号xxx 和注释的配合,编制出第一个站点的程序代号A01_。其余的站点程序只需要变更一下IP 地址的网段即可。
4 单一污水厂程序的编制
4.1 上位机人机界面程序
用按钮的标题做为设备的指示,按钮的颜色红绿做为设备启停指示,按钮下面的3 个短棒的颜色和闪烁功能做为远程、运行、故障的指示。
4.2 报警及启停记录程序
利用Fame View 的变量报警功能对故障进行提醒、确认、记录和查询。将运行信号取反后,做为停止信号,即可利用变量报警功能编制出设备启停时间的记录程序。
4.3 数据报表程序
数据报表除了要做日、周、月、季年报等常规内容以外,最好做一个设备运行的状态和故障表。每1 h 记录一个运行和故障状态,以便能及时、直观地发现所有设备运行和故障问题,这将对运行管理人员全面掌握水厂运行状态大有益处。
5 全部污水厂系统组网
通过国产的企业级智能VPN(虚拟专用网络)网关的跨区组网功能组成远程局域网。各分站的网段不同,在总站能连接每个网段的IP 地址,将所有数据集中汇总。
6 总站程序编制
利用北京杰控的Fame View 组态软件的监控对象功能实现变量分组及画面复用。每个变量都带前缀Axx_(xx 是站点序号),先做出一个分站的画面,然后用工具栏上的监控对象替换的办法做出其余分站的画面。各个分画面通过子画面的方式切换即可。
7 结论及建议
(1)通过有规律的设定变量名能够利用Excel 的公式功能快速的编制CoDeSys 软件的全局变量表,结构化文本ST 程序。
(2)用Excel 公式的方法直接编制故障和手动的时候复位输出功能的程序,会使得程序的编制变得高效、可靠。
(3)通过CoDeSys 软件的转换功能将ST 语言的程序转换成LAD 语言的程序,从而实现联锁控制。
(4)地址分配要事先约定好,有效利用有限的PLC 内部继电器资源,使得程序结构合理,方便扩展和合作开发。
(5)复杂的控制功能要经过长期的经验积累和时间才能做到,这些都是软件制作人员的智慧的结晶。可以将这些功能制作成功能模块,以便随时调用。
(6)组态软件的画面制作时要定义监控变量,利用监控变量替换功能实现画面复用,提高画面的制作效率。