技術頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術頻道 > 技術百科 > PLC通用性數(shù)據(jù)通信接口的研究

PLC通用性數(shù)據(jù)通信接口的研究

時間:2008-10-27 09:51:00來源:dujing

導語:?本文討論了設計和開發(fā)PLC驅動程序的方法;詳細介紹PLC底層驅動函數(shù)的設計和實現(xiàn);并探討了提高信道利用率的幾個關鍵問題。
摘要:隨著工業(yè)自動化的發(fā)展,PLC驅動程序的設計和開發(fā)成為最常遇到的問題。信道利用率和數(shù)據(jù)采集效率直接影響到整個監(jiān)控系統(tǒng)的性能。本文討論了設計和開發(fā)PLC驅動程序的方法;詳細介紹PLC底層驅動函數(shù)的設計和實現(xiàn);并探討了提高信道利用率的幾個關鍵問題。實驗證明,能夠降低開發(fā)成本并大大提高計算機監(jiān)控系統(tǒng)與PLC之間的數(shù)據(jù)通信的效率和信道利用率。 1 引言 隨著計算機科學技術、工業(yè)控制等方面的新技術的迅速發(fā)展,使用計算機監(jiān)控系統(tǒng)與現(xiàn)場PLC設備進行數(shù)據(jù)交換得到了廣泛的應用。這類數(shù)據(jù)交換往往具有以下的特點,數(shù)據(jù)量大,采集點分散,帶寬較窄。由于不同廠家所提供的PLC現(xiàn)場設備的通訊機制并不相同,計算機監(jiān)控系統(tǒng)軟件需要開發(fā)的設備通信驅動程序就越來越多。這種復雜的設備驅動程序的開發(fā)具有以下的特點: 首先,上位監(jiān)控系統(tǒng)與PLC設備間的數(shù)據(jù)交換,應用較普遍。 其次,這種數(shù)據(jù)通訊過程,缺乏有通用性的框架設計,開發(fā)周期長,難度大,難以通用。 再者,在有限帶寬限制條件下的大數(shù)據(jù)量傳輸,普遍存在著信道利用率低,系統(tǒng)效率差,不穩(wěn)定的情況,迫切需要大幅度提高信道利用率的算法。而且在已有的數(shù)據(jù)交換標準中,對于有限帶寬條件下的信道利用率也沒有成熟的設計。 如上所述,開發(fā)PLC設備的通用性數(shù)據(jù)通信接口具有廣泛的應用前景和實現(xiàn)價值。本文主要針對上位監(jiān)控系統(tǒng)與PLC設備之間的數(shù)據(jù)通信進行分析,介紹了PLC設備的驅動開發(fā)的方法,并提供PLC通信的實例。 2 PLC驅動的使用 本文中以使用串口通訊的PLC為例進行分析和說明,監(jiān)控系統(tǒng)為北京昆侖通態(tài)公司生產(chǎn)的MCGS監(jiān)控軟件。開發(fā)工具為VC++6.0。 MCGS中PLC已經(jīng)將串口通訊的波特率設置等功能集成至串口父設備中,因此PLC設備驅動是作為MCGS監(jiān)控軟件設備管理窗口中的子設備提供的。它可以使用父設備的通訊功能,即可以與其他設備共享父設備的通訊功能。由于使用串口的PLC設備較多,在這里我們以使用串口通訊方式的PLC為例進行說明PLC通用驅動的構架的開發(fā)。如使用自定義編程電纜方式或使用以太網(wǎng)方式連接,此PLC驅動構架同樣適用。 使用串口通訊的PLC與上位機的通訊方式中,有RS232、RS485、RS422多種方式。如果設備是采用RS232方式通訊,那么在一個串口下面只能掛接一個設備。如果采用RS485或者RS422的方式通訊,那么可以使用多個設備構成一個網(wǎng)絡,在這個網(wǎng)絡中,為了識別各個不同的設備,給每一個設備加上一個標志,一般來說把這個標志稱作設備地址。這個總線上的設備分為主設備和從設備兩類。在工作時,從設備一直在監(jiān)聽通訊線路上的數(shù)據(jù),并對這些數(shù)據(jù)進行分析,當收到對自己的請求時,會發(fā)送一個相應的應答幀。主設備在工作時會根據(jù)需要向從設備發(fā)送請求幀,請求一些數(shù)據(jù)或者是發(fā)送一條命令,在發(fā)完請求幀后主設備需等待從設備的回答,這個等待的過程有一個超時時間限制。如果過了一定的時間還沒有收到回答,它會認為本次通訊失敗,然后按照一定的邏輯判斷是應該重發(fā)請求還是放棄。 通訊使用的通訊協(xié)議,分為ASCII通訊和16進制通訊兩類。PLC的通訊協(xié)議中大多數(shù)都是使用16進制通訊。而且在串口通訊中,為了保證通訊的正確性、完整性,通常在通訊幀的尾部加上校驗,常見的有和校驗,異或校驗,CRC校驗等等。 在通訊過程中,上位機的MCGS監(jiān)控軟件調(diào)用PLC驅動,根據(jù)具體協(xié)議,向PLC設備發(fā)送寄存器的讀寫命令,并接收應答數(shù)據(jù)。 3 主要流程 3.1采集流程 為便于說明,此處以一個采集周期內(nèi)僅需單次采集的最簡情況為例。在5.1中的密集采集模式中,描述了對一周期內(nèi)需多次采集的算法。 采集過程描述如下:首先進行初始化,隨后創(chuàng)建通道。進入數(shù)據(jù)采集周期,在每個數(shù)據(jù)采集周期中,首先形成讀命令,隨后校驗發(fā)送數(shù)據(jù)幀,讀寫串口完成一次通訊,如果通訊成功,那么校驗后將接收到的數(shù)據(jù)解碼輸出到通道,返回成功標識,如果通訊不成功或校驗失敗,返回失敗標識。 3.2解析函數(shù)流程 上圖為解析數(shù)據(jù)幀的流程圖。不同的設備具有不同的協(xié)議內(nèi)容,使用定義好的模版解析函數(shù)只需要開發(fā)人員按照設備協(xié)議將幀分割為有效的數(shù)據(jù)部分,添入聯(lián)合體FrameField即可。該聯(lián)合體可將協(xié)議數(shù)據(jù)最小分割為位來進行操作。 如上圖所示,第一個字節(jié)為幀頭,最后一個字節(jié)為幀尾,第二個字節(jié)為狀態(tài)標示,第三至第六個字節(jié)為模擬量,第七個字節(jié)為單位,第八個字節(jié)按位分為四路輸入和四路輸出。 4 接口設計 通常來說,一個廠家的同系列的PLC產(chǎn)品,通訊協(xié)議一般是一樣的。區(qū)別只是在于其中一些寄存器的大小不同。這樣我們就考慮可以讓這一個系列的設備使用同一個驅動。為了提高通用性,同時一般情況下,用戶也不需要使用所有的寄存器,所以把這種設備構件的通道設計成用戶可以在組態(tài)時自己進行定義。所有的通道及其所對應的參數(shù)(即是寄存器地址)都由用戶自己進行定義。驅動程序根據(jù)用戶定義的信息進行通訊。而且PLC當中可能有一些參數(shù)用戶并不常用,如果組成通道,每一個采集周期都要進行通訊,效率比較低下,考慮到這種情況,我們提供了一些外部接口供監(jiān)控系統(tǒng)調(diào)用,在這些接口中可以發(fā)送命令,支持所有的寄存器通道。 而對不同廠家的PLC設備進行分析,也可以發(fā)現(xiàn),可以將通訊過程和協(xié)議方式進行抽象,提取它們的共同點和變化點,封裝和隱藏數(shù)據(jù)交換過程中的細節(jié),達到通用的目的。通過封裝格式,規(guī)范代碼,統(tǒng)一接口,提高驅動開發(fā)效率,降低驅動開發(fā)的難度。提高代碼的重用性,增強驅動的穩(wěn)定性,減少設計中容易出現(xiàn)的錯誤。使開發(fā)人員把主要的精力放在對設備的熟悉和對協(xié)議的分析上,而不是過多地糾纏于編程實現(xiàn)的細枝末節(jié)上。 封裝的數(shù)據(jù)和操作包括: 隱藏一次數(shù)據(jù)采集中的底層通訊過程(某些設備完成一次采集需要一次以上的發(fā)收過程,如西門子S7200);封裝針對采集點分散的動態(tài)采集算法;封裝常用的命令操作;對與監(jiān)控系統(tǒng)間的交互提供統(tǒng)一的接口;PLC驅動封裝了底層的通訊過程,只將接口方法暴露在外面,開發(fā)人員以統(tǒng)一的方式去調(diào)用這個方法,從而保證軟件對客戶的透明性,使開發(fā)人員從低層的開發(fā)中脫離出來,降低開發(fā)的難度。 對驅動的開發(fā)人員來說,需要關注的接口僅有以下部分: 定義設備本身的屬性;如地址、實時采集的時間要求等;定義設備的讀寫操作屬性;如通道數(shù)量等;通用設計僅提供跟設備協(xié)議相關的組包和解包接口,實現(xiàn)過程將由開發(fā)人員完成。 5 關鍵問題分析 為提供信道利用率,提高系統(tǒng)效率,在PLC的通信框架設計中考慮了幾個關鍵問題。 5.1三種采集模式 經(jīng)過對現(xiàn)有的數(shù)據(jù)交換的分析,將用戶的一般需求擬概括為三種采集模式,即密集采集,按需采集,定時采集。 密集采集模式:在這種情況下,用戶希望能盡量利用物理帶寬,保證最快的采集速度和更新。在這種模式下,理想狀態(tài)是設備始終處于采集狀態(tài)。采集目前所有激活通道中離需要采集的周期時間最小的通道。保證所有的通道都能獲得采集機會,但是相對與其他模式,在該模式下CPU占用率會比較高。 按需采集模式:在通訊鏈路需要受控的情況下,比如用戶采用GPRS進行采集,按流量計費,所以不能進行大量的通訊。這時候通過設置采集模式為按需采集,然后在需要時再調(diào)用接口函數(shù)啟動單次采集。否則不進行數(shù)據(jù)采集。 定時采集模式:該模式是在CPU的占用率和采集速度之間進行折衷的采集框式,保證在用戶設置的通道刷新周期的時間內(nèi)進行通道的采集,之后直到下一次通道的刷新周期到達再進行下一次采集。 在模塊設計中,采集模式作為設備類的一個屬性,由開發(fā)人員根據(jù)具體情況,選擇合適的采集模式。不同采集模式的采集算法實現(xiàn)如下: 密集采集執(zhí)行流程:設置一個采集周期如1000ms。每當開始一個新采集周期時,重新計算采集通道的優(yōu)先級別。遍歷所有的通道,找出目前優(yōu)先級最高的通道,進行采集。對通道進行分塊(塊中包含最需要刷新的通道)。進入通訊循環(huán)(某些設備進行一次采集至少需要兩次通訊所以需要通訊循環(huán))。發(fā)送數(shù)據(jù)請求并等待回應;根據(jù)返回的信息解析出結果,并作相應處理;判斷是否需要下一次采集,如果不需要跳出循環(huán);更新通道和采集標志;繼續(xù)發(fā)送線程消息啟動下一次采集直到一次通訊循環(huán)結束;直到遍歷完所有需采集的通道。 按需采集執(zhí)行流程:循環(huán)對每個通道進行采集,保存采集成功的值,并進行后續(xù)處理。定時采集執(zhí)行流程由定時器觸發(fā),采集流程與密集采集一樣,但在判斷沒有滿足采集要求的通道不進行采集。 5.2采集點分散的動態(tài)采集算法 在現(xiàn)有的數(shù)據(jù)交換過程中,用戶關心的數(shù)據(jù)往往只占全部信息的很小一部分,而且這些采集點分散在海量的數(shù)據(jù)中,如果不加判斷的依次讀取數(shù)據(jù),有效信息與采集信息的比例很低,實時性差;如果僅采集有效信息,分配的采集粒度過小,又會造成系統(tǒng)效率低下,信道利用率差。針對這一問題,采取以下的解決方法: (1)只采集用戶關心的數(shù)據(jù)。如當有多個通道時,只傳送當前用戶只關心的通道的數(shù)據(jù),而不關心其它的通道。保證采集盡量少的通道,為每個需要采集的通道提供更快的采集周期。從而減少通訊量。 (2)對于待采集的數(shù)據(jù)分配不同的優(yōu)先級,對實時性要求高的部分數(shù)據(jù)優(yōu)先采集??梢愿鶕?jù)用戶設置的數(shù)據(jù)刷新時間來改變其優(yōu)先級。 (3)實現(xiàn)一個動態(tài)分塊算法,在一個合理的粒度上對采集的信息分塊傳輸,兼顧信道利用率與有效信息獲取的實時性;實現(xiàn)的分塊算法簡述如下:在采集時判斷,如果當前采集的寄存器類的激活通道可以組成一個數(shù)據(jù)請求包,則進行處理,提高一次采集的通道數(shù)。根據(jù)開發(fā)人員定義的通道優(yōu)先級,找出優(yōu)先級最高的通道地址附近的地址連續(xù)(或緊密)的通道,這些通道形成一個通道塊。重復同樣的過程,將剩下的通道繼續(xù)分塊,直到形成的塊數(shù)大于某一規(guī)定的數(shù)值比如20或將本寄存器的所有通道分配完成。 (4)根據(jù)通訊協(xié)議的特點,在打包數(shù)據(jù)請求時盡量保證包含更多的請求,從而減少請求的總次數(shù)。 6 結論 根據(jù)本文的PLC通用性數(shù)據(jù)接口開發(fā)人員已開發(fā)出多個廠家的PLC驅動,并在不同項目中得到應用。在此PLC通用數(shù)據(jù)接口基礎上開發(fā)PLC驅動,縮短了開發(fā)時間和難度。投入運行的系統(tǒng)通信穩(wěn)定,采集速度快,通用性好,可靠性高。保證了項目的順利實施。本文作者創(chuàng)新點:具有通用性的監(jiān)控系統(tǒng)與PLC通信接口設計,能夠大大縮短開發(fā)時間和難度,并提高通信穩(wěn)定性、實時性,具有很高的實用價值和經(jīng)濟價值。

標簽:

點贊

分享到:

上一篇:基于PLC白灰回轉窯的模糊PID...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網(wǎng)站簡介|會員服務|聯(lián)系方式|幫助信息|版權信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務平臺

網(wǎng)站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號