劉文波,王孟效,王 鋒
(1.陜西科技大學 電氣與信息工程學院,西安 710021;2.浙江力諾流體控制科技股份有限公司,瑞安 325200)
上位機與S7-200 PLC之間的數據交換方法
劉文波1,王孟效1,王 鋒2
(1.陜西科技大學 電氣與信息工程學院,西安 710021;2.浙江力諾流體控制科技股份有限公司,瑞安 325200)
在工業控制領域,PLC得到廣泛應用[1]。隨著控制系統的網絡化,PLC除了實現對現場信號的采集及現場設備的控制功能之外,還需要能與上位控制計算機之間實現數據交換,從而通過上位機實施監控。根據所選則的PLC及上位機的不同,它們之間的數據交換方法也不盡相同。本文針對西門子公司的S7-200系列PLC,研究其與上位機之間的數據交換,并給出其實現方法。
在實際應用中,以PLC為控制器的控制系統結構可由圖1表示。其中上位機用于實現現場設備運行狀況監控、數據處理、數據存儲等功能。系統中可使用單臺或多臺PLC,它們與現場設備之間通過輸入輸出通道進行連接,用于實現現場設備信號采集及控制功能。

圖1 PLC控制系統結構
S7-200 是西門子公司推出的一種小型可編程序控制器,相對于S7-300及S7-400系列,S7-200系列PLC與上位機間的數據交換較為復雜,上位機使用不同組態軟件時,數據交換方法也不盡相同。實際應用中上位機組態軟件主要有兩類實現方式,其一是采用WinCC等專用組態軟件,另一種是根據具體應用系統采用VC++、VB等編程軟件開發。根據所使用的組態軟件不同,主要有如下數據交換方法。
當上位機采用WinCC組態軟件時,可以通過OPC[2](OLE for Process Control,過程控制的對象連接和嵌入)、Prof i bus-DP以及自由口通訊等方式實現數據交換。
2.1.1 OPC方式
OPC當前已成為工業控制和自動化領域中的接口標準,其將設備制造商與軟件制造商之間的關系確定為OPC服務器與應用程序之間的關系,任何帶OPC接口的應用程序都以與一個或多個設備制造商的OPC服務器進行連接,目前主流設備制造商都支持OPC協議通訊。
利用OPC進行數據交換,實質上是OPC客戶端與服務端之間進行連接并實現數據交換。為與S7-200進行數據交換,可將WinCC作為OPC客戶端,并利用西門子公司針對S7-200的OPC軟件PC Access作為服務端,在兩者間建立連接,從而實現數據交換。此過程中主要軟、硬件分別有上位機、S7-200 PLC、PPI電纜、WinCC、PC Access,實現方法如下:
1)軟件安裝及硬件連接
上位機中安裝WinCC、PC Access,并利用PPI電纜連接上位機與S7-200 PLC。此方式下,上位機與S7-200 PLC間的連接如圖2所示。

圖2 WinCC與S7-200的OPC方式連接
2)配置PC Access軟件
在PC Access軟件中配置與S7-200 PLC之間的接口,選擇接口為PC/PPI cable(PPI)。
3)配置WinCC軟件
運行WinCC,添加OPC驅動,利用其作為OPC客戶端,連接由PC Access所建立的OPC服務器,如圖3所示。
通過以上步驟,即可利用OPC方式實現上位機與S7-200 PLC之間的數據交換。

圖3 連接OPC服務器
2.1.2 Profibus-DP總線方式
S7-200自身不帶Profibus-DP接口,需利用擴展模塊EM277將其接入到Profibus-DP網絡中。將上位機作為DP主站,S7-200通過擴展EM277作為DP從站。此過程中主要軟、硬件分別有上位機、S7-200 PLC、CP5611卡、EM277模塊、Prof i bus-DP電纜、WinCC,實現方法如下:
1)軟件安裝及硬件連接
上位機中安裝WINCC、CP5611卡,在S7-200 PLC上擴展EM277模塊,并利用電纜連接上位機與EM277。此方式下,上位機與S7-200 PLC間的連接如圖4所示。

圖4 WINCC與S7-200的Profibus-DP方式連接
2)組態DP網絡
組態DP網絡,CP5611卡配置為主站模式,EM277配置為從站模式,如圖5所示。

圖5 DP網絡組態
3)配置WinCC軟件
運行WinCC,添加Prof i bus-DP驅動。
通過以上步驟,即可利用Prof i bus-DP方式實現上位機與S7-200 PLC間的數據交換。
2.1.3 自由口方式
由于S7-200的RS485接口支持自由口模式,利用該模式,S7-200可使用自定義的通信協議與多種智能設備連接[3]。因而可考慮在WinCC中利用腳本語言通過自由口方式實現與S7-200的數據交換,上位機作為主機發起通信,S7-200作為從機響應主機命令。此過程中主要軟、硬件分別有上位機、RS485接口模塊、S7-200 PLC、通信電纜、WinCC,實現方法如下:
1)軟件安裝及硬件連接
在上位機中安裝WinCC、RS485接口模塊,利用通信電纜連接上位機與S7-200。此方式下,上位機與S7-200 PLC間的連接如圖6所示。

圖6 監控軟件與S7-200的自由口方式連接
2)自定義通信協議
參照OSI七層模型,利用物理層、數據鏈路層及應用層自定義通信協議。
(1)物理層
采用RS485接口標準,波特率為9600bps,無校驗,1位停止位。
(2)數據鏈路層
采用主從方式,通信由主機發起,從機等待主機請求,然后響應。上位機作為主機,S7-200 PLC作為從機。
主從機之間數據幀的傳輸采用RTU模式,每幀6字節,幀格式如表1所示。每個從機地址唯一,范圍從1~255,地址0為廣播地址,校驗采用16位CRC,低字節在前,高字節在后。

表1 數據幀格式
數據幀包括請求幀、響應幀及錯誤幀。其中請求幀由主機發往從機,響應幀和錯誤幀由從機發往主機。主機發送請求幀后,需等待從機響應才能發送下一請求幀,若等待超時,也可發送下一請求幀;若從機出現狀態錯誤,則響應錯誤幀。
(3)應用層
數據幀中,地址字段是從機的唯一標識。當主機需與從機交換數據時,在此字段填入地址;命令字段表示主機命令,范圍從1~255;數據字段為兩字節,根據不同數據幀而有不同內容;校驗字段包含對地址、命令、數據字段的CRC校驗信息,用于檢驗數據傳輸是否出錯。
3)編寫腳本
在WinCC軟件中調用Mscomm控件,并編寫腳本語言實現與S7-200之間的通信。
上位機除采用專用組態軟件外,也可采用編程軟件開發監控軟件。此時可以通過OPC、PPI及自由口通訊等方式實現數據交換。
2.2.1 OPC方式
編寫OPC客戶端程序,并利用PC Access作為OPC服務端。此過程中主要軟、硬件分別有上位機、S7-200 PLC、PPI電纜、PC Access,實現方法如下:
1)軟件安裝及硬件連接
在上位機中安裝PC Access軟件,并利用PPI電纜連接上位機與S7-200 PLC。此方式下,上位機與S7-200 PLC之間的連接如圖7所示。

圖7 監控軟件與S7-200的OPC方式連接
2)配置PC Access軟件
在PC Access軟件中配置與S7-200 PLC之間的接口,并建立OPC服務器。
3)編寫OPC客戶端
編寫OPC客戶端,連接建立的OPC服務器,從而實現數據交換。
2.2.2 自由口方式
在使用自由口方式時,上位機作為主機發起通信,S7-200作為從機響應主機命令。此過程中,主要硬件及軟件分別有上位機、RS485接口模塊、S7-200 PLC、通信電纜,實現方法如下:
1)硬件連接
在上位機中安裝RS485接口模塊,并利用通信電纜連接上位機與S7-200 PLC。此方式下,上位機與S7-200 PLC之間的連接如圖8所示。

圖8 監控軟件與S7-200的自定義協議方式連接
2)自定義通信協議
可采用與使用專用組態軟件進行數據交換時類似的自定義通信協議。
3)利用Mscomm控件編程實現串口通信
在上位機監控軟件中調用Mscomm控件,并根據實際需求編程實現數據發送及接收。
2.2.3 PPI(Point to Point,點到點)方式
PPI協議是西門子S7-200系列PLC提供的一種點對點通信方式[4]。其采用主從方式通訊,一次讀寫操作步驟包括:首先上位機發出讀寫命令,然后PLC響應,上位機接收響應后發出確認申請命令,PLC完成讀寫響應并向上位機回送數據。在使用PPI方式交換數據時,上位機作為主機,S7-200 PLC作為從機。此過程中主要軟、硬件分別有上位機、RS485接口模塊、S7-200 PLC,實現方法如下:
1)硬件連接
上位機中安裝RS485接口模塊,利用通信電纜連接上位機與S7-200 PLC。此方式下,上位機與S7-200 PLC之間的連接與自由口方式下類似。
2)利用VB編程模擬實現PPI協議
利用VB編寫上位機監控軟件,調用Mscomm控件,通過編程模擬實現PPI協議,而在S7-200 PLC端則無需編寫通訊程序及制定自定義通訊協議,大大簡化系統的開發過程。此過程中主要數據報文如下:

表2 數據報文格式
其中SD為開始定界符(68H),LE為發送的數據長度,DA為目標地址,SA為源地址,FC為功能碼(讀操作為6CH,寫操作為7CH),DU為數據, FCS為校驗碼(和校驗), ED為結束字符(16H)。
以上6種方法都可在上位機與S7-200 PLC之間實現數據交換,適用于不同的控制場合,各有優缺點。
當上位機采用WINCC組態軟件時,采用OPC方式優點在于成本較低,只需較少的硬件,連接簡單,且可以讀寫S7-200 PLC中的所有存儲區域,缺點在于通信速度較慢,適用于低速、對實時性要求不高、投入資金有限的場合;采用Prof i bus-DP方式優點在通信速度快,最高可達12Mbps、實時性好,缺點在于需要較高的硬件成本投入,連接上較為復雜,適用于對通信速率及實時性要求較高的場合;采用自由口方式優點在于成本較低,硬件連接簡單,可實現對數據交換的完全控制,缺點在于通信速度較慢,且需要在上位機及PLC端編寫通信程序,實現較為復雜,適用于對通信速率及實時性要求不高、投入資金有限的場合。
當上位機采用編程軟件開發監控軟件時,采用OPC方式優點在于成本較低,連接調試簡單,缺點在于通信速度較慢;采用自由口通訊方式優點在于編程靈活,對數據交換可實現完全控制,缺點在于通信速度較慢,且需要分別在上位機及PLC端編寫通信程序,實現較為復雜;采用PPI方式優點在于連接簡單,硬件成本較低,缺點在于需對PPI協議有較為深入的了解,編程較復雜。
以上給出了上位機與S7-200 PLC之間的6種數據交換方法,這些方法對于不同要求的系統能較好實現數據交換。總體說來,當上位機采用WinCC組態軟件實現監控時,功能強大,可靠性高,但軟硬件成本較高,且需要解決WinCC與S7-200 PLC之間的通信問題,適用于較為復雜的控制系統;而當上位機采用編程軟件開發監控軟件時,靈活性好,軟硬件成本較低,但系統開發工作量較大,難以保證可靠性,對開發人員技術水平要求較高,適用于軟硬件投資有限,希望實現靈活控制功能的系統。在工程實踐中可根據具體需求選擇不同的方法。
[1]孟強,梅大成,秦勃,葉強.以單片機作為S7-200PLC從站的PPI協議的設計[J].微型機與應用,2012,31(17):57-59,62.
[2]王杰,高昆侖,王萬召.基于OPC通信技術的火電廠DCS后臺控制[J].電力自動化設備,2013,33(4):142-147.
[3]謝明磊.PLC自由口通信在特殊量監測中的應用[J].儀表技術與傳感器,2010,(10),69-71.
[4]龍慧.基于S7-200 PLC的自動化生產線多站PPI通信實現[J].電氣傳動,2012,42(9):77-80.
Data exchange methods for host computer and S7-200 PLC
LIU Wen-bo1, WANG Meng-xiao1, WANG Feng2
在控制系統中為了實現對現場設備的監控,上位機需要與下位PLC之間實時進行數據交換,針對此問題,研究并總結了在上位機采用專用組態軟件及自編監控軟件,并以S7-200 PLC作為下位機的情況下,上位機與下位機之間的多種數據交換方法,并分別給出了它們的具體實現方式,通過數據交換,能有效實施對現場數據的實時監控和集中管理。
上位機;S7-200;數據交換
劉文波(1981 -),男,湖北天門人,講師,博士,研究方向為控制理論與控制工程。
TP273+.5
A
1009-0134(2015)07(下)-0028-04
10.3969/j.issn.1009-0134.2015.07(下).08
2015-03-18
陜西省科技計劃經費資助項目(2014K05-03);陜西科技大學科研啟動基金項目(BJ11-07)