<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Windows CE設(shè)備與PLC串行通信的實(shí)現(xiàn)

          Windows CE設(shè)備與PLC串行通信的實(shí)現(xiàn)

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

          2.2 雙方通信程序的設(shè)計(jì)

          根據(jù)對(duì)控制系統(tǒng)的機(jī)械、電氣、開(kāi)關(guān)量等控制要求,上下位機(jī)之間要就多種不同的數(shù)據(jù)、指令進(jìn)行交互。并且這些數(shù)據(jù)、指令的數(shù)據(jù)位的長(zhǎng)度不同。舉其中的機(jī)器狀態(tài)、機(jī)器參數(shù)、控制命令三種常見(jiàn)的指令為例。機(jī)器狀態(tài)要求下位機(jī)不間斷發(fā)送的機(jī)器的實(shí)時(shí)狀態(tài),一般包含數(shù)據(jù)量不大。機(jī)器參數(shù)往往是在開(kāi)機(jī)發(fā)送或者重新設(shè)置了機(jī)器的參數(shù)時(shí)發(fā)送,機(jī)器參數(shù)的數(shù)據(jù)個(gè)數(shù)較多,但發(fā)送的次數(shù)較少。控制命令,只有操作者通過(guò)控制面板上的操作時(shí)才會(huì)發(fā)送,它發(fā)送的內(nèi)容也不多,發(fā)送頻率也較低。但由于使用Fx2n 的RS數(shù)據(jù)通信時(shí),在每次進(jìn)行通信時(shí),必須知道本次要接收內(nèi)容的個(gè)數(shù)。如果把不同類(lèi)型的數(shù)據(jù)采用定長(zhǎng)結(jié)構(gòu)的發(fā)送方式,程序設(shè)計(jì)起來(lái)較為簡(jiǎn)單,但是其中包含了大量的無(wú)用數(shù)據(jù),發(fā)送的效率較低。所以在進(jìn)行通信時(shí),定義了下面的通信的協(xié)議形式:

          本次通信標(biāo)志

          下次發(fā)送的個(gè)數(shù)

          本次發(fā)送內(nèi)容

          結(jié)束標(biāo)志

          其中協(xié)議中具體含義如下表所示:

          協(xié)議內(nèi)容

          含義

          本次通信標(biāo)志

          AA:機(jī)器狀態(tài)

          AF:機(jī)器參數(shù)

          AC:控制命令

          下次發(fā)送的個(gè)數(shù)

          用于確定下次接收的個(gè)數(shù)

          本次發(fā)送內(nèi)容

          DATA

          結(jié)束標(biāo)志

          FF

          表2 通信協(xié)議的格式

          這樣,通過(guò)在本次通信中加入下次通信的個(gè)數(shù),在PLC端可以通過(guò)程序判定確定下次發(fā)送內(nèi)容的個(gè)數(shù),進(jìn)行處理。這樣可以提高發(fā)送的效率,保證數(shù)據(jù)的實(shí)時(shí)性。具體的發(fā)送流程如下圖所示。

          圖3 通信流程圖

          2.3 對(duì)數(shù)據(jù)接收緩沖區(qū)的處理

          通過(guò)研究Windows CE提供的驅(qū)動(dòng)程序代碼可以看出,驅(qū)動(dòng)程序通過(guò)維護(hù)內(nèi)部的軟件緩沖區(qū)來(lái)保障當(dāng)應(yīng)用程序不能及時(shí)響應(yīng)數(shù)據(jù)到來(lái)時(shí),數(shù)據(jù)會(huì)先保存在驅(qū)動(dòng)程序的數(shù)據(jù)緩沖區(qū)中,而不會(huì)發(fā)生數(shù)據(jù)丟失的現(xiàn)象。但是對(duì)于實(shí)時(shí)響應(yīng)要求很高系統(tǒng)來(lái)說(shuō)就是有害的。這樣最新到來(lái)的數(shù)據(jù)不能被應(yīng)用程序及時(shí)處理,而被堆放到了緩沖區(qū)的后部等待前面的數(shù)據(jù)處理完成后才能被處理,降低系統(tǒng)的實(shí)時(shí)性。為了減少驅(qū)動(dòng)程序數(shù)據(jù)緩沖區(qū)對(duì)系統(tǒng)實(shí)時(shí)性的影響,可以通過(guò)在的程序中加入對(duì)串行API函數(shù) PurgeComm的調(diào)用來(lái)及時(shí)清除緩沖區(qū)的內(nèi)容,以保證新到的數(shù)據(jù)及時(shí)被應(yīng)用程序處理,提高通信的實(shí)時(shí)性。

          3 總結(jié)

          本文詳細(xì)分析了在Windows CE下進(jìn)行的特點(diǎn),并設(shè)計(jì)了Windows CE與PLC進(jìn)行的程序流程和通信格式。實(shí)現(xiàn)了通過(guò)串行通信連接的由Fx2n PLC與PC104模塊組成的上下位機(jī)控制系統(tǒng),整套系統(tǒng)已經(jīng)成功的應(yīng)用到了高檔的電氣和運(yùn)動(dòng)控制。產(chǎn)品經(jīng)過(guò)了用戶(hù)的長(zhǎng)期檢驗(yàn)和國(guó)家的技術(shù)鑒定,合作企業(yè)三年內(nèi)已經(jīng)取得近600多萬(wàn)元的經(jīng)濟(jì)效益。充分證明了整個(gè)系統(tǒng)結(jié)構(gòu)的可行性和可靠性。并且可以通過(guò)借助Windows CE的可移植性和強(qiáng)大的網(wǎng)絡(luò)功能以及PLC通用性等特點(diǎn),把這種通過(guò)串行通信連接構(gòu)成的上下位機(jī)結(jié)構(gòu)方式應(yīng)用推廣到其它類(lèi)似的機(jī)電一體化產(chǎn)品中的控制系統(tǒng)應(yīng)用之中。

          參考文獻(xiàn):

          [1] Microsoft Corporation, Platform Builder for Windows CE 5.0 Help [OL], 2004.

          [2] Douglas Boling, Programming Windows CE [M], 2001.

          [3] Mitsubishi Electric Corporation, FX2n series Programmable Controller User's Manual [M], 2001.

          [4] 田書(shū)峰,李欣.單片機(jī)與三菱PLC無(wú)協(xié)議串行通訊的實(shí)現(xiàn)[J],微計(jì)算機(jī)信息,2005,(10).[5] 陳向群,王雷等,Windows CE.NET 系統(tǒng)分析及實(shí)驗(yàn)教程[M],機(jī)械工業(yè)出版社,2002.


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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();