PLC與上位機(jī)的高速通信實現(xiàn)
?。?) 從站PLC程序
S72200系列PLC選擇了自由口通信方式后,在程序中就可以使用接收中斷、發(fā)送中斷、接收指令(RCV)、發(fā)送指令(XMT)來控制通信操作,當(dāng)處于自由口模式時通信協(xié)議完全由用戶程序指令控制。SMB30被用于選擇比特率和校驗類型,各個位的配置為:
圖2:SMB30的位配置
pp,校驗選擇:00為不校驗,01為偶校驗,10為不校驗,11為奇校驗;
d,每個字符的數(shù)據(jù)位數(shù):0,每個數(shù)字符8位;1,每個數(shù)字符7位。
bbb,自由口比特率,kbit/s:000為3814,001為1912,010為916,011為418,100為214,101為112,110為11512,111為5716。
mm,協(xié)議選擇:00,PPI/從站模式;01,自由口模式;10,PPI/從站模式;11,保留。
接收指令(RCV)啟動或終止接收信息功能,必須為接收操作指定開始和結(jié)束條件。發(fā)送指令(XMT)在自由口模式下依靠通訊口發(fā)送數(shù)據(jù)。
PLC程序分為主程序和中斷程序。主程序完成初始化通信口、開中斷、判斷、發(fā)送數(shù)據(jù)等功能,中斷程序完成接收和發(fā)送數(shù)據(jù)的功能。
5、高速通信設(shè)計及檢驗
?。?) 高速接口設(shè)計
PC機(jī)采用400MHz的CPU以及256M的RAM,應(yīng)用VC++6.0開發(fā)軟件和Sicmcns SIMATIC Microcomputing軟件進(jìn)行開發(fā)設(shè)計。使用PC/PPI電纜可實現(xiàn)計算機(jī)的RS232接口與PLC通信。但該方式下只能使用PPI協(xié)議或自山通信。要使用PROFIBUS協(xié)議通信。上位機(jī)應(yīng)有PROFIBUS DP模塊。同時S7- 200 PLC應(yīng)連接通信模塊。這里上位機(jī)使用的是CP5611 PROFIBUS DP模塊。安裝的是SicmcnsSIMATIC Micro computing軟件;下位機(jī)使用的是EM277 PROFIBUS DP模塊和S7-200 224PLC組建的通信網(wǎng)絡(luò)。
?。?) 速度仿真與檢測
Siemens SIMATIC Microcomputing軟件使用ActiveX技術(shù)提供對數(shù)據(jù)的訪問控制。 Microcomputing軟件由2部分組成:第一部分,一系列的SIMATIC ActiveX控件,用于對PLC的數(shù)據(jù)操作,主要包括數(shù)據(jù)控件!按鈕控件!編輯控件!標(biāo)簽控件和滑塊控件;另一部分,一個容器,用于創(chuàng)建使用ActiveX控件的處理界面[7-8]。
上位機(jī)用Micro computing configuration設(shè)定通信協(xié)議和波特率。 Siemens Micro computing提供PPI, MPI, PROFIBUS-I辦議支持Data Control與PLC通信。PPI協(xié)議支持的最高通信速率為187.5KbpsMPI和PROFIBUS都支持9.6kbps-12Mbps的速率通信。PROFIBUS包含PROFIBUS-DP協(xié)議、PROFIBUS-Standard協(xié)議、PROFIBUS-User-defined協(xié)議和PROFIBUS-Universal協(xié)議(該協(xié)議只支持9.6kbps-1.5Mbps的通信)。用Micro computing configuration設(shè)定相應(yīng)的應(yīng)用程序接口點和協(xié)議。檢測實驗中表示應(yīng)用程序接口點為CP5611協(xié)議為PROFIBUS基木實現(xiàn)流程圖如4所示。
圖3:檢測實驗流程圖
對PLC數(shù)據(jù)的讀寫。Data Control提供了4個函數(shù):Write Variable(對單存儲單元寫),Write Multi Variable(對多存儲單元寫),Read Variable(對單存儲單元讀),Read Multi Variable(對多存儲單元讀)。
表1是在WIN2000系統(tǒng)下,針對PROFIBUS的不同協(xié)議,Data Control使用自動連接,自動超時設(shè)為100ms,用Write Multi Variable函數(shù)對一個S7- 200PLC的V存儲區(qū)10個存儲單元進(jìn)行20個字節(jié)寫1000次的測試數(shù)據(jù)見表1。從表1數(shù)據(jù)可知,PROFIBUS-DP協(xié)議,PROFI-BUS-Standard協(xié)議、PROFIBUS-User-defined協(xié)議和PROFIBUS-Universal協(xié)議在1.5 M的波特率下,其寫操作時間最短的是PROFIBUS-Universal協(xié)議,時間為31.61ms。
表1:不同協(xié)議下對PLC寫數(shù)據(jù)時間
6、結(jié)束語
本系統(tǒng)通過現(xiàn)場調(diào)試實驗,功能達(dá)到設(shè)計要求。試驗結(jié)果表明,當(dāng)數(shù)據(jù)傳輸速率為916kbit/s時誤碼率《 ,能夠?qū)崿F(xiàn)現(xiàn)場網(wǎng)絡(luò)的在線監(jiān)控、調(diào)試及數(shù)據(jù)修改。由于程序中采用了以16進(jìn)制ASCII碼描述數(shù)據(jù)傳輸格式,因此一條指令中的數(shù)據(jù)字節(jié)和控制字節(jié)不可能發(fā)生混淆,通信更加可靠。同時采用了PROFIBUS-Universal協(xié)議,實現(xiàn)了上位機(jī)和PLC之間的高速通信,并用實驗證實了該協(xié)議的優(yōu)越性。對于其它品牌的PLC,盡管通信規(guī)范及初始化有所不同,可以參照本系統(tǒng)方法進(jìn)行編程,稍做修改即可應(yīng)用。本系統(tǒng)的成功研制將對工業(yè)控制系統(tǒng)的自動化、智能化、網(wǎng)絡(luò)化的發(fā)展提供有益的借鑒。
評論