PLC與監(jiān)控計算機通信實現(xiàn)的研究
PLC與監(jiān)控計算機通信實現(xiàn)的研究
摘要:針對控制系統(tǒng)中上位機與S7-200系列PLC通信的實際問題,總結(jié)了幾種監(jiān)控計算機與S7-200系列PLC的通信方法,這幾種方法在不同的控制系統(tǒng)中能較好解決監(jiān)控計算機與S7-200系列PLC通信問題。
1 引言
西門子工控產(chǎn)品在工控領(lǐng)域應(yīng)用市場中有較高的占有率,S7-200系列PLC是西門子SIMATIC PLC家族中的成員之一,在西門子工控領(lǐng)域應(yīng)用中占有重要地位。S7-200系列PLC體積小,軟硬件功能強大,系統(tǒng)配置方便,由它組成的系統(tǒng)可以與強大的Profibus現(xiàn)場總線相連接。它一推向市場就在各行各業(yè)得到了廣泛應(yīng)用。但是在實際工程應(yīng)用中遇到了監(jiān)控計算機與S7-200系列PLC通信問題。由于西門子公司S7-200系列PLC比監(jiān)控組態(tài)軟件WinCC推出晚,因此WinCC中沒有集成S7-200系列PLC的通信驅(qū)動程序;S7-200系列PLC的通信協(xié)議也不公開,應(yīng)用第三方軟件編制監(jiān)控程序也有問題。這些問題給S7-200系列PLC的應(yīng)用帶來了一定的限制,為了解決這個實際工程問題,作者做了一些研究,本文就S7-200系列PLC與監(jiān)控計算機通信問題研究結(jié)果展開討論。
2 S7-200系列PLC監(jiān)控的主要方法
在大多數(shù)控制系統(tǒng)中,僅僅是實現(xiàn)控制是不夠的,在許多情況下也需要組態(tài)監(jiān)控界面對系統(tǒng)進行監(jiān)控。通過監(jiān)控可以增加人機交互的能力,使操作人員實時地監(jiān)控系統(tǒng)工作情況并使系統(tǒng)操作變得方便。
對S7-200系列PLC組成的控制系統(tǒng)進行監(jiān)控一般有三種方法:組態(tài)軟件監(jiān)控、第三方軟件編制的監(jiān)控軟件監(jiān)控、觸摸屏監(jiān)控。
用組態(tài)軟件WinCC實現(xiàn)監(jiān)控,功能強大,靈活性好,可靠性高。但軟件價格高,并需要解決WinCC與S7-200系列PLC的通信問題。在復(fù)雜控制系統(tǒng)中可以采用此方法。
用第三方軟件編制的監(jiān)控軟件實現(xiàn)監(jiān)控,靈活性好,系統(tǒng)投資低,能適用于各種系統(tǒng)。但開發(fā)系統(tǒng)工作量大、可靠性難保證,對技術(shù)人員的經(jīng)驗和技術(shù)水平的要求高,還必須購買通信協(xié)議軟件。在系統(tǒng)資金投資有限,技術(shù)人員水平較高的情況下可以采用此方法。觸摸屏進行監(jiān)控,可靠性高,監(jiān)控實現(xiàn)容易,觸摸屏與PLC之間的通信問題生產(chǎn)廠商已處理好,用戶不用考慮通信問題,可以大大縮短工程周期。但靈活性一般,功能有限,不能滿足復(fù)雜控制系統(tǒng)的監(jiān)控要求,而且價格高。在系統(tǒng)可靠性要求高、工期短的情況下可以采用此方法。
3 WinCC組態(tài)軟件與S7-200系列PLC的通信
SIMATIC WinCC采用了新的32位技術(shù)的過程監(jiān)控軟件,具有良好的開放性和靈活性。無論是單用戶系統(tǒng),還是冗余多服務(wù)器/多用戶系統(tǒng),WinCC均是較好選擇。通過ActiveX,OPC,SQL等標準接口,WinCC可以方便地與其它軟件進行通信。WinCC與S7-200系列PLC的通信,可以采用PPI和Profibus兩種通信協(xié)議之一進行。
1、WinCC與S7-200系列PLC通過Profibus協(xié)議進行通信的實現(xiàn)
(1)軟硬件要求:
* PC機 ,Windows 98操作系統(tǒng);
* S7-200系列PLC;
* CP5412板卡或者其他同類板卡,例如:CP5611,CP5613;
* EM277 Profibus DP模塊;
* Profibus 電纜及接頭;
* 安裝CP5412板卡的驅(qū)動;
* 安裝WinCC 4.0或以上版本;
* 安裝COM Profibus軟件。
硬件連接如圖1。
通信實現(xiàn)硬件連接
(2)組態(tài)
打開SIMATIC NET\COM Profibus,新加一個組態(tài),主站為SOFTNET-DP,從站是EM277 Profibus-DP。主站的地址選擇從1到126。從站的地址選擇從3到99,與EM277的地址一致。然后用該軟件對從站進行配置:打開從站屬性,在Configure選項中,選擇8bytes in/8bytes out(可根據(jù)實際需要選定)。在Parameterize中可以選擇偏移地址,地址對應(yīng)于S7-200系列PLC的數(shù)據(jù)區(qū)(即V區(qū)),默認為0,即從VB0開始。組態(tài)完成后,導(dǎo)出(Export)NCM文件,生成*.txt和*.ldb文件。
(3)設(shè)置PG/PC interface。
在Access Point of the Application中選擇CP_L2_1,在Interface Parameter Assignment 選擇CP5412A2(Profibus)。在屬性里的激活DP協(xié)議,并在DP-Database參數(shù)中輸入*.ldb文件的完全路徑。設(shè)置完成后可以診斷硬件配置是否正確、通信是否成功。
(4)WinCC的設(shè)置。
在WinCC變量管理器中添加一個新的驅(qū)動程序,新的驅(qū)動程序選擇PROFIBUS DP.CHN,選擇CP5412(A2)Board 1,在System Parameters設(shè)定參數(shù)。CP5412(A2)board 參數(shù)為1,表示板卡的編號;Config參數(shù)為組態(tài)時生成的*.txt文件的完全路徑;Watchdog time 參數(shù)為0。新建一個連接,從站地址與EM277的地址一致。
(5)建立變量。
WinCC中的變量類型有In和Out。In和Out是相對于主站來說的, 即In表示WinCC從S7-200系列PLC讀入數(shù)據(jù),Out表示WinCC向S7-200系列PLC寫出數(shù)據(jù)。In和Out與數(shù)據(jù)存儲區(qū)V區(qū)對應(yīng)。在該例中,Out與PLC中數(shù)據(jù)存儲區(qū)的VB0~VB7對應(yīng),In與PLC中的存儲區(qū)的VB8~VB15對應(yīng)。
(6)優(yōu)缺點。
優(yōu)點:該方法數(shù)據(jù)傳輸速度快,易擴展,實時性好。缺點:傳送數(shù)據(jù)區(qū)域有限(大64字節(jié)),在PLC中也必須進行相應(yīng)的處理,且硬件成本高,需要的CP5412、EM277 Profibus-DP、Profibus總線等硬件,還需要Com Profibus軟件。應(yīng)用場合:適用于在要求高速數(shù)據(jù)通信和實時性要求高的系統(tǒng)。
2、WinCC與S7-200系列PLC通過PPI協(xié)議進行通信的實現(xiàn)。
PPI協(xié)議是西門子S7-200系列PLC常用通信協(xié)議,但WinCC中沒有集成該協(xié)議,即WinCC不能直接監(jiān)控S7-200系列PLC組成的控制系統(tǒng)。S7-200 OPC Server是西門子公司推出的專為解決上位機監(jiān)控S7-200系列PLC控制系統(tǒng)的接口軟件。因此,WinCC可以通過該軟件與S7-200系列PLC很方便的建立通信。
(1)軟硬件要求:
* PC機 ,Windows 98操作系統(tǒng);
* S7-200系列PLC。
* PC/PPI電纜。
* 安裝S7-200 OPC Server 軟件。
* 安裝WinCC 4.0軟件。
(2)連接:
在控制面板中設(shè)定PG/PC接口參數(shù)。在Access Point of the Application中選擇Computing,Interface參數(shù)選擇PC/PPI Cable。
在WinCC變量管理器中添加一個新的驅(qū)動程序,新的驅(qū)動程序選擇OPC.CHN,在OPC GROUP中新建一個連接,打開屬性,選擇 OPC Group Setting,OPC服務(wù)器名稱為OPCServer.MicroComputing。然后在新添加的連接中新建變量,變量的Item Name與S7-200系列PLC中用于監(jiān)控的變量名對應(yīng)。例如:Item Name為M0.0。
(3)優(yōu)缺點
優(yōu)點:該方法連接簡單、硬件投資少、可以讀寫S7-200系列PLC中所有存儲區(qū)域。缺點:通信速度比較慢、需要OPC軟件及相應(yīng)授權(quán)、系統(tǒng)擴展不方便。應(yīng)用場合:用于低速、實時性要求不高、系統(tǒng)投資資金有限的系統(tǒng)。
另外,也可以通過其他公司的OPC軟件進行通信,例如用開普的KEPServerEx作為OPC服務(wù)器,用WinCC作為OPC客戶端來讀寫S7-200系列PLC內(nèi)部數(shù)據(jù)區(qū)。實現(xiàn)與上述**種方法類似,不同的是必須在OPC服務(wù)器中建立標簽與S7-200系列PLC中存儲地址對應(yīng)。
在復(fù)雜系統(tǒng)中,如果系統(tǒng)中同時有S7-200系列PLC和S7-300系列PLC存在,S7-200系列PLC一般作為S7-300系列PLC的從站掛到Profibus總線上,WinCC通過S7-300系列PLC對S7-200系列PLC進行監(jiān)控。
4 第三方軟件與PLC的連接
有些系統(tǒng)具有特殊性,沒有現(xiàn)成的通用軟件用于進行數(shù)據(jù)處理和系統(tǒng)監(jiān)控,這就需要用戶用第三方軟件開發(fā)平臺開發(fā)滿足系統(tǒng)要求的監(jiān)控軟件。這樣做既可以滿足系統(tǒng)要求,又可以節(jié)約系統(tǒng)投資。但對軟件開發(fā)人員的經(jīng)驗和技術(shù)要求較高。
第三方軟件開發(fā)平臺開發(fā)的監(jiān)控軟件與S7-200系列PLC通信使用PPI協(xié)議的接口軟件有:Prodave、MicroComputing、OPC。
第三方軟件開發(fā)平臺開發(fā)的監(jiān)控軟件與S7-200系列PLC通過自由口進行通信,協(xié)議自定的話,開發(fā)的監(jiān)控軟件可以調(diào)用MSComm控件實現(xiàn)兩者的通信。
1、用Prodave軟件包實現(xiàn)通信連接
Prodave是西門子公司推出的專門用于西門子PLC產(chǎn)品(S7-200、300、400系列PLC)與PC/PG進行數(shù)據(jù)交換處理的軟件包。Prodave在*.DLL或*.LIB文件中集成了數(shù)據(jù)交換的函數(shù)。在自行開發(fā)的監(jiān)控軟件中可以方便地調(diào)用該軟件中的各種函數(shù)。
主要函數(shù)有:
(1)load_tool PC機與PLC系統(tǒng)初始化鏈接;
(2)unload_tool 斷開PC機與PLC系統(tǒng)鏈接;
(3)以及讀寫PLC內(nèi)部存儲區(qū)的函數(shù)。
監(jiān)控軟件通過讀寫函數(shù)可以方便監(jiān)控PLC控制系統(tǒng)。
2、用MicroComputing軟件實現(xiàn)通信連接
安裝MicroComputing后,在VB或Delphi中可以直接插入控件??刹迦氲目丶饕校?/span>Data controls、Edit controls、Button controls、Label controls、Slider control。
3、用OPC Server軟件實現(xiàn)通信連接
安裝S7-200 OPC Server軟件后,在操作系統(tǒng)中將增加一個OPC服務(wù)器,服務(wù)器的名字是“OPCServer.Computing”。VB或Delphi中可編寫OPC客戶端程序與OPC服務(wù)器通信。
以下給出在VB開發(fā)環(huán)境下編寫OPC客戶端程序的過程:首先在VB開發(fā)環(huán)境中的Project\References中添加OPC Automation 2.0,然后編寫連接OPC Server、添加組、添加條目、讀寫數(shù)據(jù)的程序。
使用到的函數(shù)如下:
connect函數(shù):與OPC Server建立連接;
OPCGroups.Add函數(shù):添加組;
OPCITems.Additems函數(shù):添加條目;
SyncRead函數(shù):同步讀;
SyncWrite函數(shù):同步寫。
OPC 服務(wù)器名為“OPCServer.Computing”, 條目名稱與S7-200系列PLC中用于監(jiān)控的變量名對應(yīng)。
4、用自由口實現(xiàn)通信連接
在VB或Delphi下插入MSComm控件,按照自定協(xié)議通過串口來收發(fā)數(shù)據(jù),并對數(shù)據(jù)進行處理并實現(xiàn)監(jiān)控。
在PLC中也必須編寫通信程序,流程如下。
圖3:自由口通信流程圖
5、優(yōu)缺點總結(jié):
用Prodave,實現(xiàn)簡單,靈活性較好,可以直接調(diào)用Prodave的函數(shù)對S7-200系列PLC內(nèi)部存儲區(qū)進行讀寫,并能滿足大規(guī)模數(shù)據(jù)的傳輸,調(diào)試簡單,很適合在工程中應(yīng)用。但需要購買軟件,編程較復(fù)雜。
用MicroComputing,使用方便,編程以控件實現(xiàn),編寫簡單。但靈活性差,并需要購買軟件和授權(quán)。
用OPC實現(xiàn)通信,編程靈活也較簡單,調(diào)試簡單,由于OPC協(xié)議是通用協(xié)議,得到了許多公司支持,通用性好。但需要購買軟件及授權(quán)。
用自由口通信實現(xiàn),通信協(xié)議自己制定,靈活性好,擴展了使用范圍,不需購買專門軟件。但編程復(fù)雜, PLC中要編寫復(fù)雜的程序,使用了大量PLC的資源。VB或Delphi中用MSComm控件對串口進行讀寫,程序復(fù)雜,實時性較差。
5 結(jié)束語
以上面給出了6種監(jiān)控計算機與S7-200系列PLC通信實現(xiàn)方法,它們各有優(yōu)缺點,適用于不同情況下的監(jiān)控控制系統(tǒng)。研究證明,以上6種方法對不同要求的系統(tǒng)能較好的實現(xiàn)監(jiān)控計算機與S7-200系列PLC通信,對工程實踐有較高的參考價值。