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

          新聞中心

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

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

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

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

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

          本次通信標志

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

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

          結(jié)束標志

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

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

          含義

          本次通信標志

          AA:機器狀態(tài)

          AF:機器參數(shù)

          AC:控制命令

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

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

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

          DATA

          結(jié)束標志

          FF

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

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

          圖3 通信流程圖

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

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

          3 總結(jié)

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

          參考文獻:

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


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(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); })();