<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > PLC在自由口通訊中實(shí)現多地址指針接收數據的方法

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

作者: 時(shí)間:2009-07-22 來(lái)源:網(wǎng)絡(luò ) 收藏

1 引言

本文引用地址:http://dyxdggzs.com/article/157959.htm

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

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

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

2 指針判別

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

3 具體應用方案

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


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>