溫志軍
(北京中燕通科技開發(fā)有限公司,北京 102599)
本污水處理遠程集中控制系統(tǒng)是一個縣級集中控制總站,通過Internet 網(wǎng)絡集中顯示、控制5 個鎮(zhèn)的污水廠的全部設備。5 個鎮(zhèn)的單一污水廠內(nèi)部可編程控制器作為主站;使用西門子EM277 模塊通過Profibus_DP 現(xiàn)場總線組成現(xiàn)場總線網(wǎng)絡。各鎮(zhèn)的污水廠分別配置一臺觸摸一體計算機和北京杰控科技有限公司的Fame View 組態(tài)軟件作為鎮(zhèn)級污水廠的總控制和操作系統(tǒng)。各鎮(zhèn)的可編程控制器利用國產(chǎn)的企業(yè)智能VPN(Virtual Private Network,虛擬專用網(wǎng)絡)網(wǎng)關通過跨區(qū)組網(wǎng)功能組成遠程局域網(wǎng)。通過在整個系統(tǒng)的硬件配置、地址分配、程序編制、狀態(tài)記錄、曲線記錄、報表打印等方面的統(tǒng)一標準。本系統(tǒng)的主網(wǎng)絡采用VPN 架設,分站的網(wǎng)絡采用ROFIBUS_DP 架設。
單一污水廠的硬件結(jié)構(gòu)包括ABB_AC500_PM573_ETH 主站、通過DC551-CS31 組成的遠程終端單元、西門子S7-200CPU+EM277 模塊做為4 個PLC 分站。上位機采用電阻觸摸的一體化工業(yè)電腦,在Windows 系統(tǒng)上安裝北京杰控科技有限公司的Fame View 組態(tài)軟件做為顯示和操作單元。用微軟的SQL Server 和Office 軟件做為數(shù)據(jù)庫平臺和報表打印的支持軟件。
為了總站能實現(xiàn)顯示和控制分站的功能,需要將通過通信方式獲取的數(shù)據(jù)分配給總站PLC 然后上傳給各個污水廠的上位機PC 的組態(tài)軟件中。這就需要分配一系列地址給各個硬件,以便能做到數(shù)據(jù)的一致性(表1)。
ABB_PLC 軟件編制可以使用ABB_Automation_Builder 軟件中集成的軟件來實現(xiàn)的。在ABB_Automation_Builder 中配置好硬件后,在CoDeSys 中定義全局變量名然后使用這些變量名編程。
表1 地址表分配
(1)PLC 物理地址定義Excel 公式:=IF (變量注釋單元格=0,"",PLC 物理地址變量名單元格&" AT "&PLC 物理地址單元格&" :BOOL;(*"& 變量注釋單元格&"*)")
(2)上位機變量名定義Excel 公式:=IF (變量注釋單元格=0,"",上位機變量名單元格&" AT "& PLC_M 轉(zhuǎn)換地址單元格2&" :BOOL;(*"& 變量注釋單元格&"*)")
(3)=IF(變量注釋單元格=0,"",上位機變量名單元格&":="& PLC 物理地址變量名單元格&";(*"&變量注釋單元格&"*)")
(1)PLC 物理地址定義Excel 公式:=IF (變量注釋單元格=0,"",PLC 物理地址變量名單元格&" AT "&PLC 物理地址單元格&" :BOOL;(*"& 變量注釋單元格&"*)")
(2)上位機變量名定義Excel 公式:=IF (變量注釋單元格=0,"",上位機變量名單元格&" AT "& PLC_M 轉(zhuǎn)換地址單元格2&" :BOOL;(*"& 變量注釋單元格&"*)")
(3)上位機和PLC 數(shù)據(jù)傳送Excel 公式:=IF(變量注釋單元格=0,"",PLC 物理地址變量名單元格&":="&上位機變量名單元格&";(*"&變量注釋單元格&"*)")
(1)PLC 物理地址定義Excel 公式:=IF (變量注釋單元格=0,"",PLC 物理地址變量名單元格&" AT "&PLC 物理地址單元格&" :INT;(*"& 變量注釋單元格&"*)")
(2)上位機變量名定義Excel 公式:=IF(變量注釋單元格=0,"",上位機變量名單元格&" AT "& PLC_M 轉(zhuǎn)換地址單元格2&" :INT;(*"& 變量注釋單元格&"*)")
(3)上位機和PLC 數(shù)據(jù)傳送Excel 公式:=IF(變量注釋單元格=0,"",上位機變量名單元格&":="& PLC 物理地址變量名單元格&";(*"&變量注釋單元格&"*)")
=IF(變量注釋單元格=0,"",PLC 物理地址變量名單元格&"AT "&PLC 物理地址單元格&" :INT;(*"& 變量注釋單元格&"*)")
="IF "&自動變量名單元格&"=0 OR "&故障變量名單元格&"=1 THEN "&輸出變量名單元格&":=0;END_IF; (*"&輸出注釋單元格&"*)"
首先利用Excel 公式的方法編制ST 語言程序,然后再利用CoDeSys 軟件轉(zhuǎn)換成LAD 程序,在LAD 程序里面做聯(lián)鎖控制。
(1)提升泵頻率控制程序。提升泵頻率控制方法有3 種:手動設定頻率方式、液位隨動頻率控制方式、通過流量計閉環(huán)PID設定方式。采用手動控制方式時,提升泵頻率按手動設定頻率運行;采用液位控制頻率時候,提升泵按液位高低自動調(diào)整頻率運行。
(2)轉(zhuǎn)盤膜厚度測量及控制程序。每過2~3 h,用自動程序?qū)⒄{(diào)整轉(zhuǎn)盤的速度到測量頻率5 Hz,在此頻率下測量轉(zhuǎn)盤輸出功率。通過和對照值進行比較,以此來核定轉(zhuǎn)盤掛膜厚度的程序。膜厚測定后,再通過自動程序來控制轉(zhuǎn)盤的轉(zhuǎn)速來控制生物轉(zhuǎn)盤的掛膜厚度。
(3)輸入模擬量整理功能FCN 指令的編制。ABB_AC500 系列PLC 模擬量輸入的數(shù)據(jù)類型是-32768~32767 的無符號整形,而CoDeSys 軟件識別的物理地址AI 是0~63535 的無符號整形,當物理信號小于零時候,由于位序的原因CoDeSys 輸入信號值將大于27648,這時就需要編制一個整理功能FCN 來保證信號的準確。
(4)低液位有水信號功能FCN 指令的編制。有水和無水直接要設定一個緩沖區(qū)間,比如100 mm,以免信號頻繁切換。這就要編制一個能自動實現(xiàn)這個功能的功能函數(shù),以便頻繁調(diào)用。可以將這個函數(shù)叫做HAVE_WATER。這個函數(shù)輸出一個BOOL值,用這個值去控制潛水泵的啟停即可。
(5)分站模板PLC 程序編制。通過對變量有規(guī)律的命名,比如DI、DO、AI、AO、X、B、R、PLC、PC、以及序列號xxx 和注釋的配合,編制出第一個站點的程序代號A01_。其余的站點程序只需要變更一下IP 地址的網(wǎng)段即可。
用按鈕的標題做為設備的指示,按鈕的顏色紅綠做為設備啟停指示,按鈕下面的3 個短棒的顏色和閃爍功能做為遠程、運行、故障的指示。
利用Fame View 的變量報警功能對故障進行提醒、確認、記錄和查詢。將運行信號取反后,做為停止信號,即可利用變量報警功能編制出設備啟停時間的記錄程序。
數(shù)據(jù)報表除了要做日、周、月、季年報等常規(guī)內(nèi)容以外,最好做一個設備運行的狀態(tài)和故障表。每1 h 記錄一個運行和故障狀態(tài),以便能及時、直觀地發(fā)現(xiàn)所有設備運行和故障問題,這將對運行管理人員全面掌握水廠運行狀態(tài)大有益處。
通過國產(chǎn)的企業(yè)級智能VPN(虛擬專用網(wǎng)絡)網(wǎng)關的跨區(qū)組網(wǎng)功能組成遠程局域網(wǎng)。各分站的網(wǎng)段不同,在總站能連接每個網(wǎng)段的IP 地址,將所有數(shù)據(jù)集中匯總。
利用北京杰控的Fame View 組態(tài)軟件的監(jiān)控對象功能實現(xiàn)變量分組及畫面復用。每個變量都帶前綴Axx_(xx 是站點序號),先做出一個分站的畫面,然后用工具欄上的監(jiān)控對象替換的辦法做出其余分站的畫面。各個分畫面通過子畫面的方式切換即可。
(1)通過有規(guī)律的設定變量名能夠利用Excel 的公式功能快速的編制CoDeSys 軟件的全局變量表,結(jié)構(gòu)化文本ST 程序。
(2)用Excel 公式的方法直接編制故障和手動的時候復位輸出功能的程序,會使得程序的編制變得高效、可靠。
(3)通過CoDeSys 軟件的轉(zhuǎn)換功能將ST 語言的程序轉(zhuǎn)換成LAD 語言的程序,從而實現(xiàn)聯(lián)鎖控制。
(4)地址分配要事先約定好,有效利用有限的PLC 內(nèi)部繼電器資源,使得程序結(jié)構(gòu)合理,方便擴展和合作開發(fā)。
(5)復雜的控制功能要經(jīng)過長期的經(jīng)驗積累和時間才能做到,這些都是軟件制作人員的智慧的結(jié)晶。可以將這些功能制作成功能模塊,以便隨時調(diào)用。
(6)組態(tài)軟件的畫面制作時要定義監(jiān)控變量,利用監(jiān)控變量替換功能實現(xiàn)畫面復用,提高畫面的制作效率。