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