Windows CE設備與PLC串行通信的實(shí)現
2.2 雙方通信程序的設計
根據對數控切紙機控制系統的機械、電氣、開(kāi)關(guān)量等控制要求,上下位機之間要就多種不同的數據、指令進(jìn)行交互。并且這些數據、指令的數據位的長(cháng)度不同。舉其中的機器狀態(tài)、機器參數、控制命令三種常見(jiàn)的指令為例。機器狀態(tài)要求下位機不間斷發(fā)送的機器的實(shí)時(shí)狀態(tài),一般包含數據量不大。機器參數往往是在開(kāi)機發(fā)送或者重新設置了機器的參數時(shí)發(fā)送,機器參數的數據個(gè)數較多,但發(fā)送的次數較少??刂泼?,只有操作者通過(guò)控制面板上的操作時(shí)才會(huì )發(fā)送,它發(fā)送的內容也不多,發(fā)送頻率也較低。但由于使用Fx2n PLC的RS數據通信時(shí),在每次進(jìn)行通信時(shí),必須知道本次要接收內容的個(gè)數。如果把不同類(lèi)型的數據采用定長(cháng)結構的發(fā)送方式,程序設計起來(lái)較為簡(jiǎn)單,但是其中包含了大量的無(wú)用數據,發(fā)送的效率較低。所以在進(jìn)行PLC通信時(shí),定義了下面的通信的協(xié)議形式:
本次通信標志 | 下次發(fā)送的個(gè)數 | 本次發(fā)送內容 | 結束標志 |
其中協(xié)議中具體含義如下表所示:
協(xié)議內容 | 含義 |
本次通信標志 | AA:機器狀態(tài) AF:機器參數 AC:控制命令 |
下次發(fā)送的個(gè)數 | 用于PLC確定下次接收的個(gè)數 |
本次發(fā)送內容 | DATA |
結束標志 | FF |
表2 通信協(xié)議的格式
這樣,通過(guò)在本次通信中加入下次通信的個(gè)數,在PLC端可以通過(guò)程序判定確定下次發(fā)送內容的個(gè)數,進(jìn)行處理。這樣可以提高發(fā)送的效率,保證數據的實(shí)時(shí)性。具體的發(fā)送流程如下圖所示。
圖3 通信流程圖
2.3 對數據接收緩沖區的處理
通過(guò)研究Windows CE提供的驅動(dòng)程序代碼可以看出,驅動(dòng)程序通過(guò)維護內部的軟件緩沖區來(lái)保障當應用程序不能及時(shí)響應數據到來(lái)時(shí),數據會(huì )先保存在驅動(dòng)程序的數據緩沖區中,而不會(huì )發(fā)生數據丟失的現象。但是對于實(shí)時(shí)響應要求很高系統來(lái)說(shuō)就是有害的。這樣最新到來(lái)的數據不能被應用程序及時(shí)處理,而被堆放到了緩沖區的后部等待前面的數據處理完成后才能被處理,降低系統的實(shí)時(shí)性。為了減少驅動(dòng)程序數據緩沖區對系統實(shí)時(shí)性的影響,可以通過(guò)在串行通信的程序中加入對串行API函數 PurgeComm的調用來(lái)及時(shí)清除緩沖區的內容,以保證新到的數據及時(shí)被應用程序處理,提高通信的實(shí)時(shí)性。
3 總結
本文詳細分析了在Windows CE下進(jìn)行串行通信的特點(diǎn),并設計了Windows CE與PLC進(jìn)行串行通信的程序流程和通信格式。實(shí)現了通過(guò)串行通信連接的由Fx2n PLC與PC104模塊組成的上下位機控制系統,整套系統已經(jīng)成功的應用到了高檔數控切紙機的電氣和運動(dòng)控制。產(chǎn)品經(jīng)過(guò)了用戶(hù)的長(cháng)期檢驗和國家的技術(shù)鑒定,合作企業(yè)三年內已經(jīng)取得近600多萬(wàn)元的經(jīng)濟效益。充分證明了整個(gè)系統結構的可行性和可靠性。并且可以通過(guò)借助Windows CE的可移植性和強大的網(wǎng)絡(luò )功能以及PLC通用性等特點(diǎn),把這種通過(guò)串行通信連接構成的上下位機結構方式應用推廣到其它類(lèi)似的機電一體化產(chǎ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ū)峰,李欣.單片機與三菱PLC無(wú)協(xié)議串行通訊的實(shí)現[J],微計算機信息,2005,(10).[5] 陳向群,王雷等,Windows CE.NET 系統分析及實(shí)驗教程[M],機械工業(yè)出版社,2002.
評論