程序的编制采用模块化结构,针对污水处理的特点,把程序设计为电机控制子程序、参数采集程序、系统报警子程序和安全保护程序等。由于本系统设备比较集中,主控制采用SIEMENS公司S7-300控制器,因此系统采用SIEMENS通信模块CP340将污水处理各个单独的设备组成工业网络。CP340通信处理是Siemens公司提供的串行通信的低成本解决方案,是Siemens公司PLC与其他智能终端进行数据交换的桥梁。
系统通信子程序是软件中的重要部分,对变频器和反应池的检测和控制、故障代码采集都采用通信的方式,一根通信电缆一次性采集、传输多组数据,减少电气连线和信号干扰,已成为智能仪表的发展方向。
该通信模块提供了三种不同形式的传输接口:
①、RS232C
②、20mA(TTY)
③、RS422/RS485
但每个CP340只提供一种接口形式。该模块可以实现三种通信协议ASC II码,3964(R)和打印机驱动,通过集成在STEP 7中的参数化工具可进行简单的参数化,其设置主要包括通信方式(波特率、数据位数、停止位数和奇偶校验)、接收帧结束方式、接口方式等,编程人员要关注的是根据智能仪表的通信协议编写程序。CP340使用自由口模式与这些设备进行信息互换。自由口通信是通过用户程序控制通信口的操作模式。利用自由口模式,可以实现通信连接多种智能设备。STEP 7中的功能块FB2(P_RCV)和FB3(P_SEND)是系统自带的专为CP340提供的通信功能块,利用STEP7自带的功能块可以减少编程时间降低编程难度。
采用CP340主从站、半双工的通信方式时,通信子程序考虑:
①、采用半双工的通信方式,在每个时刻总线上只能有一个站处于接收或发送状态。由于主、从站的工作方式为主站主动、从站完全被动,所以在程序中当主站成功发送完控制命令后,应该给予从站足够的时间反应主站命令。
②、对每次接收的数据都应该进行校验,保证接收的数据的正确性从而避免系统发生误动作。
③、当诊断系统出现错误立即置位标识位,给出相应的报警信息,并且根据报警信息自动对该报警信息给予分类,对重故障作停车检修。设备故障时,对此设备停车并且屏蔽此设备,程序将不再访问该设备,这样可以大大节省由于多次重复对故障设备通信所带来的程序执行时间过长。
④、每次发送新信息前,确保接收缓冲器中的内容取走,并且应对接收缓冲区和接收缓冲区清零。电动机控制程序依据管网实际压力值,自动切换电机(即变频器频率出现工频或者最低PI调节频率时)。因此采集的管网压力值的可靠性尤为重要,压力取自管网的压力传感器,其传输线较长,并且经过干扰较大的变频器等设备,所以在使用双绞屏蔽线的基础上必须经过软件滤波等处理。精确判断管网压力,大大减少了切换泵的次数,且采用了变频器不仅提高了系统的安全性也克服了电机起动时的大电流冲击。系统报警子程序是对系统所有的告警信号处理程序,例如电源故障、蓄水池水位超限、电动机温度超温、变频器故障和PLC模块故障等。由于选用了具有中断能力的数字量和模拟量输入模块,所以当硬件检测到现场故障信号时,便自动执行硬件中断处理程序块(OB40),对故障进行判别并按故障级别作相应处理。
上位机采用组态软件WinCC,针对串口操作,可以通过调用编写好的VB串口通讯程序来实现数据交换,也可以用全局脚本VBS实现对串口的访问,在WINCC图形编辑器中调用Active X控件MSComm,如添加按钮,按钮链接了一个VBS鼠标动作,主要是对串口进行初始化。在MSComm中组态了一个oncomm事件,利用事件触发的形式对串口进行读写操作。在按钮1的鼠标事件中做端口初始化,具体代码如下:
Sub procedure20
,打开串口
Dim objMSComm1
Dim tagConnection
Set objMSComm1 = HMIRuntime.Screens("Main").ScreenItems("MSComm1")
Set tagConnection = HMIRuntime.Tags("Connection")
If objMSComm1.PortOpen = False Then
objMSComm1.Commport = 1
objMSComm1.Settings = "9600,e,7,1"
objMSComm1.InputLen = 0
objMSComm1.PortOpen = True
tagConnection.Write(True)
HMIRuntime.Trace("Port open." & vbCrLf)
Else
HMIRuntime.Trace("Port is already opened." & vbCrLf)
End If
End Sub
Sub procedure1()
‘关闭串口
Dim objMSComm1, tagConnection
Set objMSComm1 = HMIRuntime.Screens("Main").ScreenItems("MSComm1")
Set tagConnection = HMIRuntime.Tags("Connection")
If objMSComm1.PortOpen = True Then
objMSComm1.PortOpen = False
tagConnection.Write(False)
HMIRuntime.Trace("Port close." & vbCrLf)
End If
End Sub
污水站系统特点 (1)可靠的控制策略。远程自动控制、远程手动控制、就地控制三种控制方式保证系统安全启停。变频器、电机等设备都具有独立的控制且能够相互备用,即可以在自动方式下实现任意组合的连锁控制,又能在手动方式下独立控制。
(2)形象的监控见面,强大的报表功能。工业控制计算机显示污水处理工艺流程图、设备运行情况、运行趋势图、故障报警画面等。操作人员通过这些画面可以全面的了解污水处理运行情况,方便对设备进行操作。大大降低操作人员工作强度。