技術(shù)頻道

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

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

時(shí)間:2018-03-22 10:40:00來(lái)源:網(wǎng)絡(luò)轉(zhuǎn)載

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

1引言

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

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

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

2指針判別

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

3具體應(yīng)用方案

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

SBR_0子程序初始化:

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

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

網(wǎng)絡(luò)1:指針代號(hào)接收存儲(chǔ)于VB22。

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

網(wǎng)絡(luò)3:?jiǎn)?dòng)指針2,接收數(shù)據(jù)寫VB26,VB27,VB28,用于寫入QB0,QB1,QB2。

網(wǎng)絡(luò)4:?jiǎn)?dòng)指針3,接收數(shù)據(jù)為寫入定時(shí)中斷的時(shí)間設(shè)置SMB34。

網(wǎng)絡(luò)5:?jiǎn)?dòng)指針4,接收數(shù)據(jù)賦值給PLC模擬量輸出AQW0。

網(wǎng)絡(luò)6:?jiǎn)?dòng)指針5,接收數(shù)據(jù)賦值給PLC模擬量輸出AQW2。

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

網(wǎng)絡(luò)1:通過(guò)VB24接收的數(shù)據(jù)控制XMT的“啟/?!眲?dòng)作,進(jìn)而控制PLC向計(jì)算機(jī)發(fā)送數(shù)據(jù)。

4注意要點(diǎn)

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

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

5結(jié)語(yǔ)

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

標(biāo)簽:

點(diǎn)贊

分享到:

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

下一篇:分析PLC現(xiàn)場(chǎng)干擾問(wèn)題

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

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

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

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

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

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)