新聞中心

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

本次通信標(biāo)志

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

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

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

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

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

含義

本次通信標(biāo)志

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

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

AC:控制命令

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

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

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

DATA

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

FF

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

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

圖3 通信流程圖

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

通過研究Windows CE提供的驅(qū)動程序代碼可以看出,驅(qū)動程序通過維護(hù)內(nèi)部的軟件緩沖區(qū)來保障當(dāng)應(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é)

本文詳細(xì)分析了在Windows CE下進(jìn)行的特點,并設(shè)計了Windows CE與PLC進(jìn)行的程序流程和通信格式。實現(xiàn)了通過串行通信連接的由Fx2n PLC與PC104模塊組成的上下位機(jī)控制系統(tǒng),整套系統(tǒng)已經(jīng)成功的應(yīng)用到了高檔的電氣和運動控制。產(chǎn)品經(jīng)過了用戶的長期檢驗和國家的技術(shù)鑒定,合作企業(yè)三年內(nèi)已經(jīng)取得近600多萬元的經(jīng)濟(jì)效益。充分證明了整個系統(tǒng)結(jié)構(gòu)的可行性和可靠性。并且可以通過借助Windows CE的可移植性和強(qiáng)大的網(wǎng)絡(luò)功能以及PLC通用性等特點,把這種通過串行通信連接構(gòu)成的上下位機(jī)結(jié)構(gòu)方式應(yīng)用推廣到其它類似的機(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] 田書峰,李欣.單片機(jī)與三菱PLC無協(xié)議串行通訊的實現(xiàn)[J],微計算機(jī)信息,2005,(10).[5] 陳向群,王雷等,Windows CE.NET 系統(tǒng)分析及實驗教程[M],機(jī)械工業(yè)出版社,2002.


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉