技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > PLC在自由口通訊中實現(xiàn)多地址指針接收數(shù)據(jù)的方法

PLC在自由口通訊中實現(xiàn)多地址指針接收數(shù)據(jù)的方法

時間:2018-03-22 10:40:00來源:網(wǎng)絡轉(zhuǎn)載

導語:?多地址指針接收數(shù)據(jù)的方法,即在計算機向PLC寫入數(shù)據(jù)時,僅寫入指針判別的代號和對應數(shù)據(jù)就可完成上位機對下位機的寫指令,不同的代號對應不同的地址,與以往使用“RCV”指令相比,有效地減少了寫指令的數(shù)據(jù),提高了通訊效率

1引言

西門子S7-200PLC由于其體積小,可靠性高,通訊功能強大等特點,在工業(yè)控制領域得到廣泛的應用,使用S7-200PLC高性價比的自由口通訊協(xié)議實現(xiàn)人機界面靈活方便。目前S7-200PLC接收計算機指令數(shù)據(jù)主要有兩種方法:第一種方法是使用PLC自帶的RCV指令來接收計算機數(shù)據(jù);第二種方法采用PLC提供的“接收字符中斷”方式,將SMB2(自由口接收字符緩沖區(qū))定義指針,使用指針接收數(shù)據(jù)。

使用“RCV"指令接收數(shù)據(jù)的方法雖然簡單,但在接收大量數(shù)據(jù)的時候每次都要依次接收,大大降低了數(shù)據(jù)傳輸效率。在本實驗室的一套機電一體化控制系統(tǒng)中,人機界面設計要求是:界面可以向PLC寫入QB0、QB1、QB2、傳感器采樣周期、一個判斷指令、AQ0、AQ1等不同指令數(shù)據(jù)。若一次上位機寫指令僅僅是控制QB0.3的啟動,為了寫入QB0則需要將9B的數(shù)據(jù)全部發(fā)送,由于PLC內(nèi)接收數(shù)據(jù)是用“RCV”指令,必須將9B的數(shù)據(jù)依次存儲,這樣會造成數(shù)據(jù)傳輸線路中的時間過長產(chǎn)生延時,降低數(shù)據(jù)傳輸?shù)男?,甚至導致誤碼出現(xiàn),顯然這種使用“RCV”接收大量數(shù)據(jù)的方法不太適合。

使用PLC提供的“接收字符中斷”方式,將SMB2(自由口接收字符緩沖區(qū))定義指針,使用指針接收數(shù)據(jù)。此方法若僅僅定義一個指針,其效果和“RCV”指令是一樣的。但此方法由于其使用起來比較靈活,故本文設計了一種多地址指針接收數(shù)據(jù)的方法,即在計算機向PLC寫入數(shù)據(jù)時,僅寫入指針判別的代號和對應數(shù)據(jù)就可完成上位機對下位機的寫指令,不同的代號對應不同的地址,與以往使用“RCV”指令相比,有效地減少了寫指令的數(shù)據(jù),提高了通訊效率。本文在設計PLC與上位機的串口通訊中設計了此種方案,尚未見其他同類文章使用。

2指針判別

在PLC與計算機的自由口通訊中,為消除“RCV”或單指針接收計算機數(shù)據(jù)帶來的大數(shù)據(jù)流,本文在計算機每次向PLC發(fā)送指令時,第一個字節(jié)總是模式的代號,從第二個字節(jié)開始才是指令數(shù)據(jù)的內(nèi)容。在PLC接收數(shù)據(jù)時,第一個數(shù)據(jù)進入“自由口接收字符緩沖區(qū)”SMB2時,PLC通過“選擇指針”最先接收的是指針判別的代號,通過接收代號的數(shù)值比較來判斷該指令數(shù)據(jù)對應的是哪種數(shù)據(jù),判斷完成后定義一個地址指針接收并存儲這種數(shù)據(jù)的內(nèi)容。不同的指針判別代號對應不同的地址指針,因此計算機每次寫入PLC指令時發(fā)送的指令數(shù)據(jù)都是由兩部分構(gòu)成:第一部分為指針判別代號,第二部分為指令數(shù)據(jù)的內(nèi)容。指針判別過程是PLC內(nèi)接收到判別代號后進行數(shù)值比較。指針判別的意義就是通過一個總指針接收模式代號,用不同模式代號再定義多個指針完成不同種類的指令數(shù)據(jù)的接收與存儲。

3具體應用方案

在設計本實驗室的一套電液伺服控制系統(tǒng)中,上位機的人機界面使用VB6.0編程,下位機的通訊模式為自由口通訊。人機界面設計要求:界面可以向PLC寫入QB0、QB1、QB2、傳感器采樣周期、AQW0、AQW2等不同指令數(shù)據(jù),PLC在定時中斷內(nèi)使用XMT指令周期地向上位機發(fā)送變量存儲器VB1~VB21中的待監(jiān)視數(shù)據(jù)(包含PLC中的數(shù)字量與模擬量)。由于在設計中上位機寫入PLC指令數(shù)據(jù)種類較多,其中包括定時中斷的時間設置、狀態(tài)位值的寫入、模擬量擴展模塊的輸出等,故本文的模式選擇可以將種類不同的指令數(shù)據(jù)用多個指針接收并存儲。表1是本設計PLC程序的部分地址分配表,以便結(jié)合PLC程序來說明多地址指針方案的具體實現(xiàn)方法。

SBR_0子程序初始化:

網(wǎng)絡1:在子程序中定義中斷事件。

INT_0接收字符中斷事件中采用指針判別:

網(wǎng)絡1:指針代號接收存儲于VB22。

網(wǎng)絡2:啟動指針1,接收數(shù)據(jù)寫入VB24,用于啟動/停止XMT(0啟動,1停止)。

網(wǎng)絡3:啟動指針2,接收數(shù)據(jù)寫VB26,VB27,VB28,用于寫入QB0,QB1,QB2。

網(wǎng)絡4:啟動指針3,接收數(shù)據(jù)為寫入定時中斷的時間設置SMB34。

網(wǎng)絡5:啟動指針4,接收數(shù)據(jù)賦值給PLC模擬量輸出AQW0。

網(wǎng)絡6:啟動指針5,接收數(shù)據(jù)賦值給PLC模擬量輸出AQW2。

INT_1定時中斷事件中PLC發(fā)送監(jiān)視數(shù)據(jù):

網(wǎng)絡1:通過VB24接收的數(shù)據(jù)控制XMT的“啟/停”動作,進而控制PLC向計算機發(fā)送數(shù)據(jù)。

4注意要點

由于在本設計中PLC每次接收數(shù)據(jù),第一個字節(jié)“指針代號”進入SMB2時,在一次中斷事件內(nèi),指針代號的數(shù)值也存儲在每個指針對應的第一個存儲地址中,因此每個指針接收數(shù)據(jù)時從第2個字節(jié)起才是指令數(shù)據(jù)的信息內(nèi)容,第一個字節(jié)都是對應該指針的代號,否則會出現(xiàn)數(shù)據(jù)傳輸錯誤。在PLC程序設計時需要為每個指針預留第一個存儲地址來存儲該指針的代號。

故上位機每次向PLC寫指令時,第一個數(shù)據(jù)內(nèi)容是指針代號,通過上位機程序中直接賦值即可實現(xiàn);從第2個數(shù)據(jù)開始為上位機的控制指令。

5結(jié)語

本設計方案已在實驗室機電一體化控制系統(tǒng)的人機界面中成功地應用。系統(tǒng)運行穩(wěn)定,大大減少了與上位機操作指令無關(guān)的數(shù)據(jù)傳輸,可精確高效地將上位機指令數(shù)據(jù)寫入目標地址,有效解決了串口通訊中出現(xiàn)因大量數(shù)據(jù)傳輸而造成的延時。

標簽:

點贊

分享到:

上一篇:淺談PLC控制系統(tǒng)的可靠性

下一篇:分析PLC現(xiàn)場干擾問題

中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。

網(wǎng)站簡介|會員服務|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務平臺

網(wǎng)站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號