吳明永 王國偉 吳明亮
(1.蘭州城市學院 培黎石油工程學院,甘肅蘭州 730070;2.蘭州理工大學 機電工程學院,甘肅蘭州 730050)
信息技術的飛速發展,引起了自動化系統結構的變革,以網絡為主干的自動化分布式控制系統成為行業趨勢,并深入到工業自動化的各個層次當中,從現場設備、PLC、I/O設備等硬件到操作系統、驅動設備以及HMI的應用,可謂無處不在,它已經成為整個自動化控制系統的靈魂。
目前,隨著網絡化的日趨完善,鍋爐監控系統亦采用網絡化的設計方法成為必然。本文以甘肅省天水市某集中供暖工程為背景進行了基于OPC和Industrial Ethernet和Profibus技術的鍋爐監控系統的網絡開發設計,以實現控制系統整體的計算機化、最優化和網絡化,獲得最佳的節能效果。
系統根據鍋爐設備實際安裝位置和監控任務,本著“分散控制、集中管理”的原則,整個控制系統按3層結構和3種網絡進行結構規劃和系統組態。三層結構即為操作管理層、過程控制層和現場檢測層;3種網絡即為工業以太網、Porfibus-DP現場總線網絡和Modbus網絡[1]。其系統拓撲結構如圖1所示。
操作管理層主要由1臺工程師站(ES)和2臺操作員站(OS)組成。ES負責PLC硬件和通訊組件的組態,并設計帶有操作功能和工藝圖的操作界面,以及對歸檔和協議的設計等;OS用來控制鍋爐設備,并同時承擔過程值和消息的管理、維護和歸檔功能等。
操作管理層采用西門子的PROFINET工業以太網,具有實時通道通訊服務和等時同步實時通訊服務功能,在網絡通信量增大和實時性要求較高的情況下保持系統的良好網絡性能和魯棒性。
過程控制層的S7-300 PLC站一方面通過Porfibus-DP現場總線網絡與現場檢測層的遠程I/O站ET200M和智能從站S7-200進行通訊,采集系統相關的現場傳感器、變送器、執行機構和其他設備的實時運行數據和狀態信息,控制相關設備的運行,如調節循環水泵、補水泵和爐排的運行速度等。另一方面將系統的數據信息通過PROFINET工業以太網上傳到操作管理層的監控中心進行處理,同時執行OS站發出的操作指令。該層將支持Porfibus-DP和PROFINET工業以太網接口的S7-300 PLC數據通過SIMATIC NET OPC和Ethernet/IP通訊方法連接到OPC服務器,通過OPC服務器對現場檢測層實時數據進行封裝,OPC客戶端可以通過OPC服務器接口存取數據,實現信息流的縱向流動;在設備層橫向通信方面,OPC服務器之間可以通過標準接口規范進行數據交換,實現現場檢測層設備之間的通訊[2]。
現場檢測層由遠程I/O站ET200M和S7-200 PLC組成。它們作為過程控制站S7-300 PLC的從站,采集現場電氣設備的開關信號和模擬信號,控制相關設備的啟停、PID閉環調節等。并通過Profibus-DP現場總線網絡與過程控制層進行數據實時交換。

圖1 系統的網絡結構
智能從站S7-200 PLC與現場變頻器進行Modbus網絡通訊,完成引風機和鼓風機等變頻器的頻率設定,采集變頻器的反饋頻率、電壓、電流參數。
通過以太網實現S7-300 PLC與OPC通訊的前提條件是PLC配備以太網模塊(如CP343-1)或者使用帶有PN接口的PLC(這里采用了CPU315-2PN/DP型PLC),并在組態計算機(PC)上安裝了STEP7 V5.4和SIMATIC NET 2006等軟件。
OPC(OLE for Process Control)指用于過程控制的對象鏈接與嵌入技術。它以微軟的COM(組件對象模型)和DCOM(分布式組件對象模型)技術為基礎,定義了一套標準接口,使不同的應用程序、控制器能夠相互交換數據[3]。若上位監控軟件(如WinCC)和各種應用程序通過Siemens提供的SIMATIC NET OPC技術進行讀寫S7-300 PLC主站數據,可大大提高了系統的可擴展性和系統集成的兼容性,同時,也提高了軟件運行的穩定性和可靠性,便于系統的升級和日常維護。
在組態之前,要先把PG/PC接口改為“PC internal(local)”。因為組態的PC站的組態結果最終要下載到PC本機上,PC站要實現兩個功能,一是OPC服務器的組態,二是CPU315以太網通訊PN口的客戶端組態。在該項目中插入一個PC站,在1號槽位中插入OPC Server,在3號槽位中插入IE General,然后雙擊IE General模塊并點擊“Properties”按鈕,在組態畫面中輸入IP地址和子網掩碼,這里的地址與PC機上的IP地址和子網掩碼必須相同[4],如圖2 所示。
在Windows界面的開始菜單欄“運行”中鍵入CMD,進入DOS界面,使用網絡命令PING測試以太網通訊是否建立,PING的命令如下:ping目標IP地址,參數。
這里 PN 口的 IP 地址為 192.168.0.2,子網掩碼:255.255.255.0;PC 組態機的 IP 地址為 192.168.0.1,子網掩碼:255.255.255.0。在測試界面中,若顯示數據連續讀取,表示以太網通訊已經建立。
在SIMATIC NET的組態軟件“Station Configuration Editor”中組態OPC服務器。在1號槽位中插入“OPC Server”,在3號槽位中插入“IE General”,這與Step7中組態的PC站是相對應的,其中“Station Name”一定要與在Step7中組態的“PC Station”的名字相同,在本項目中使用的默認的名字“SIMATIC PC Station(1)”。組態好的OPC服務器如圖3所示。
組態好OPC服務器,就要對其進行通訊測試。由于SIMATIC NET提供了測試OPC服務器的客戶端程序,在本機器上運行OPC Scout軟件,測試本機OPC Server的建立是否成功,選擇所需變量后觀察變量連接 OPC Server的 Quality欄,如果顯示為“good”則連接成功,表示此時OPC Server已在這臺機器上正常運行,可以在PLC主站和OPC Server之間交換數據。
用Profibus紫色電纜將CPU315、IM153的DP口與EM277的DP相連,并將兩個IM153端的網絡連接器上的撥鈕撥到“off”,

并將首端CPU315和末端EM277的網絡連接器上的撥鈕撥到“on”。并分別對兩個ET200M和EM277的“BUS ADDRESS”撥盤開關的PROFIBUS地址設定為3、4、5(可任意設定)。
組態遠程I/O站ET200M,是為了減少電纜的敷 設,可以在現場設備附近放置不同類型的I/O模塊,其網絡組態如圖 4所示。組態過程如下[5]
(1)先插入一個S7-300站,然后雙擊“Hardware”選項,進人“Hw config”窗口。點擊“catalog”圖標打開硬件目錄,按硬件安裝次序和訂貨號依次插人機架、電源、CPU等。
(2)點擊 DP總線“master:DP master system(1)”,在 PROFIBUS-DP選項中,通過左邊的“PROFIBUS-DP→ET200M→IM153-1”路徑,選擇接口模塊IM153-1,添加到PROFIBUS網絡上。
(3)定義ET200M接口模塊IMl53-1的PROFIBUS站地址,組態的站地址必須與IMl53-1上撥碼開關設定的站地址相同。
(4)在ET200M站上添加I/O模塊。
組態之后,分布式I/O將如同集成在S7-300 PLC機架上的I/O一樣。

圖4 ET200M網絡組態圖
S7-300與S7-200通過EM277進行PROFIBUS-DP通訊時,需要在STEP7中進行S7-300站組態,而在S7-200系統中不需要通訊組態和編程,只需對進行通訊的數據整理存放在V存儲區與S7-300組態EM277從站時的硬件I/O地址相對應就可以了。
3.2.1通訊映射區對應關系
EM277通過 PROFIBUS進行數據交換時,必須對硬件組態預先設定通訊區來實現。這個數據區通常稱為通訊映射區或緩沖區,因為該通訊區就通訊雙方來說是互為映射的。主從站緩沖區的關系如圖5所示。
3.2.2在STEP7中 組態EM277
選中STEP7的硬件組態窗口中的菜單Option GSD,導入SIEM089D.GSD 文件,安裝 EM277從站組態文件[6]。

圖5 通訊映射區地址對應關系
EM277的輸出和輸入數據緩沖區駐留在S7-200 CPU變量存儲器(V存儲器)內,輸入緩沖區緊跟隨輸出緩沖器。緩沖區的大小是由 DP主站組態設定的(設定為16?Word?Out/16?Word?In)。組態后,EM277可接收從主站S7-300來的輸出數據,并將輸入數據返回給主站。?
進行硬件網絡組態時設定的EM277站地址必須與EM277本機的左上方的撥碼開關設定的地址一致。在變動旋轉開關之后,必須重新啟動S7-200 CPU電源才能使通訊地址生效。
目前國產的過程儀表和變頻器大都采用基于串行接口的Modbus RTU通訊模式,西門子S7-200的編程軟件專門為Modbus RTU通信開發了指令庫,極大地簡化了Modbus RTU通信的開發,以便于快速實現相關應用。通過Modbus RTU主站指令庫,使得S7-200可作為Modbus RTU中的主站設備集成到Modbus網絡中,以實現與Modbus從站設備(國產變頻器)的通信。其編寫部分程序如圖6所示。

圖6 Modbus主站通訊程序
西門子Modbus主站協議庫包括兩條指令:MBUS_CTRL指令和MBUS_MSG指令。
(1)MBUS_CTRL指令
MBUS_CTRL指令用于S7-200端口0的MBUS_CTRL指令可初始化、監視或禁用Modbus通訊。在使用MBUS_MSG指令之前,必須正確執行MBUS_CTRL指令。指令完成后立即設定“完成”位,才能繼續執行下一條指令。MBUS_CTRL指令在每次掃描且EN輸入打開時執行。該指令必須在每次掃描時(包括首次掃描)被調用,以允許監視隨MBUS_MSG指令啟動后所出現的通訊進程消息。除非每次調用MBUS_CTRL,否則Modbus主設備協議將不能正確運行。
(2)MBUS_MSG指令
MBUS_MSG指令用于啟動對Modbus從站的請求并處理應答。當EN輸入和“首次”輸入都為1時,MBUS_MSG指令啟動對Modbus從站的請求。發送請求、等待應答、并處理應答,通常需要多次掃描。EN輸入必須打開以啟用請求的發送,并應保持打開直到“完成”位被置位。必須注意的是,一次只能激活一條MBUS_MSG指令。如果啟用了多條MBUS_MSG指令,則將處理所執行的第一條MBUS_MSG指令,之后的所有MBUS_MSG指令將中止并產生錯誤代碼6。
以OPC、Ethernet和Profibus技術構建的鍋爐監控系統網絡,使得開關和模擬信號不再用電線、電纜進行互連,這樣就使信號傳遞方式發生了根本性變化。采用現場總線技術構成的控制系統,其控制功能將更加分散,系統的構成更加靈活、可靠性更高。通過OPC、Ethernet和Profibus技術的相互融合,有效地解決了基礎自動化控制網絡、過程和管理控制系統之間的無縫集成問題。
[1]李正軍.現場總線與工業以太網及其應用系統設計[M].北京:人民郵電出版社,2006.
[2]向東,王潤孝,秦現生.基于OPC的多層控制系統架構設計與實現[J].計算機應用,2003,23(3):68-70.
[3]賈智平.基于OPC技術的分布式監控系統研究[J].計算機工程與應用,2004,1(20):208-210.
[4]邢晨.基于以太網和OPC技術的異構網絡系統設計與實現[D].武漢:武漢理工大學控制理論與控制工程,2005:40-48.
[5]崔堅.西門子工業網絡通信指南[M].北京:機械工業出版社,2005.
[6]孫承志.西門子S-200/300、400 PLC基礎與應用技術[M].北京:機械工業出版社,2009.