午夜三级做爱黄片,午夜福利小视频,午夜国产成人精品,午夜黄色在线视频 - www.atkqc.com

由于操作過(guò)于頻繁剖淀,請(qǐng)點(diǎn)擊下方按鈕進(jìn)行驗(yàn)證!

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

摘 要: 隨著工業(yè)自動(dòng)化的發(fā)展格粪,PLC 驅(qū)動(dòng)程序的設(shè)計(jì)和開(kāi)發(fā)成為最常遇到的問(wèn)題艘彭。信道利用率和數(shù)據(jù)采集效率直接影響到整個(gè)監(jiān)控系統(tǒng)的性能壕哩。本文討論了設(shè)計(jì)和開(kāi)發(fā)PLC 驅(qū)動(dòng)程序的方法兑蹦;詳細(xì)介紹PLC 底層驅(qū)動(dòng)函數(shù)的設(shè)計(jì)和實(shí)現(xiàn)悬朱;并探討了提高信道利用率的幾個(gè)關(guān)鍵問(wèn)題。實(shí)驗(yàn)證明脖母,能夠降低開(kāi)發(fā)成本并大大提高計(jì)算機(jī)監(jiān)控系統(tǒng)與PLC 之間的數(shù)據(jù)通信的效率和信道利用率士鸥。

  1 引言

  隨著計(jì)算機(jī)科學(xué)技術(shù)、工業(yè)控制等方面的新技術(shù)的迅速發(fā)展谆级,使用計(jì)算機(jī)監(jiān)控系統(tǒng)與現(xiàn)場(chǎng)PLC 設(shè)備進(jìn)行數(shù)據(jù)交換得到了廣泛的應(yīng)用烤礁。這類數(shù)據(jù)交換往往具有以下的特點(diǎn),數(shù)據(jù)量大肥照,采集點(diǎn)分散脚仔,帶寬較窄。由于不同廠家所提供的PLC 現(xiàn)場(chǎng)設(shè)備的通訊機(jī)制并不相同舆绎,計(jì)算機(jī)監(jiān)控系統(tǒng)軟件需要開(kāi)發(fā)的設(shè)備通信驅(qū)動(dòng)程序就越來(lái)越多玻侥。這種復(fù)雜的設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā)具有以下的特點(diǎn):

  首先,上位監(jiān)控系統(tǒng)與PLC 設(shè)備間的數(shù)據(jù)交換亿蒸,應(yīng)用較普遍。

  其次掌桩,這種數(shù)據(jù)通訊過(guò)程边锁,缺乏有通用性的框架設(shè)計(jì)姑食,開(kāi)發(fā)周期長(zhǎng),難度大,難以通用乾哆。

  再者道竖,在有限帶寬限制條件下的大數(shù)據(jù)量傳輸,普遍存在著信道利用率低翩愧,系統(tǒng)效率差汰浊,不穩(wěn)定的情況,迫切需要大幅度提高信道利用率的算法。而且在已有的數(shù)據(jù)交換標(biāo)準(zhǔn)中坑箭,對(duì)于有限帶寬條件下的信道利用率也沒(méi)有成熟的設(shè)計(jì)丐作。

  如上所述,開(kāi)發(fā)PLC 設(shè)備的通用性數(shù)據(jù)通信接口具有廣泛的應(yīng)用前景和實(shí)現(xiàn)價(jià)值弹臂。本文主要針對(duì)上位監(jiān)控系統(tǒng)與PLC 設(shè)備之間的數(shù)據(jù)通信進(jìn)行分析秒聪,介紹了PLC 設(shè)備的驅(qū)動(dòng)開(kāi)發(fā)的方法,并提供PLC 通信的實(shí)例梨伸。

  2 PLC 驅(qū)動(dòng)的使用

  本文中以使用串口通訊的PLC 為例進(jìn)行分析和說(shuō)明跷焚,監(jiān)控系統(tǒng)為北京昆侖通態(tài)公司生產(chǎn)的MCGS 監(jiān)控軟件。開(kāi)發(fā)工具為VC++6.0痪罐。

  MCGS 中PLC 已經(jīng)將串口通訊的波特率設(shè)置等功能集成至串口父設(shè)備中逸萄,因此PLC 設(shè)備驅(qū)動(dòng)是作為MCGS 監(jiān)控軟件設(shè)備管理窗口中的子設(shè)備提供的。它可以使用父設(shè)備的通訊功能竭鞍,即可以與其他設(shè)備共享父設(shè)備的通訊功能板惑。由于使用串口的PLC 設(shè)備較多,在這里我們以使用串口通訊方式的PLC 為例進(jìn)行說(shuō)明PLC 通用驅(qū)動(dòng)的構(gòu)架的開(kāi)發(fā)笼蛛。如使用自定義編程電纜方式或使用以太網(wǎng)方式連接洒放,此PLC 驅(qū)動(dòng)構(gòu)架同樣適用。

  使用串口通訊的PLC 與上位機(jī)的通訊方式中滨砍,有RS232往湿、RS485、RS422 多種方式惋戏。如果設(shè)備是采用RS232 方式通訊领追,那么在一個(gè)串口下面只能掛接一個(gè)設(shè)備。如果采用RS485 或者RS422 的方式通訊响逢,那么可以使用多個(gè)設(shè)備構(gòu)成一個(gè)網(wǎng)絡(luò)绒窑,在這個(gè)網(wǎng)絡(luò)中,為了識(shí)別各個(gè)不同的設(shè)備舔亭,給每一個(gè)設(shè)備加上一個(gè)標(biāo)志些膨,一般來(lái)說(shuō)把這個(gè)標(biāo)志稱作設(shè)備地址。這個(gè)總線上的設(shè)備分為主設(shè)備和從設(shè)備兩類巧焕。在工作時(shí)捅冈,從設(shè)備一直在監(jiān)聽(tīng)通訊線路上的數(shù)據(jù)耍缩,并對(duì)這些數(shù)據(jù)進(jìn)行分析,當(dāng)收到對(duì)自己的請(qǐng)求時(shí)舌多,會(huì)發(fā)送一個(gè)相應(yīng)的應(yīng)答幀交印。主設(shè)備在工作時(shí)會(huì)根據(jù)需要向從設(shè)備發(fā)送請(qǐng)求幀,請(qǐng)求一些數(shù)據(jù)或者是發(fā)送一條命令盘秕,在發(fā)完請(qǐng)求幀后主設(shè)備需等待從設(shè)備的回答丘梭,這個(gè)等待的過(guò)程有一個(gè)超時(shí)時(shí)間限制。如果過(guò)了一定的時(shí)間還沒(méi)有收到回答抢熟,它會(huì)認(rèn)為本次通訊失敗柄叹,然后按照一定的邏輯判斷是應(yīng)該重發(fā)請(qǐng)求還是放棄。

  通訊使用的通訊協(xié)議呜唁,分為ASCII 通訊和16 進(jìn)制通訊兩類哪蒙。PLC 的通訊協(xié)議中大多數(shù)都是使用16 進(jìn)制通訊。而且在串口通訊中导盅,為了保證通訊的正確性较幌、完整性,通常在通訊幀的尾部加上校驗(yàn)白翻,常見(jiàn)的有和校驗(yàn)乍炉,異或校驗(yàn),CRC 校驗(yàn)等等滤馍。

  在通訊過(guò)程中岛琼,上位機(jī)的MCGS 監(jiān)控軟件調(diào)用PLC 驅(qū)動(dòng),根據(jù)具體協(xié)議巢株,向PLC 設(shè)備發(fā)送寄存器的讀寫(xiě)命令槐瑞,并接收應(yīng)答數(shù)據(jù)。

  3 主要流程

  3.1 采集流程

  為便于說(shuō)明阁苞,此處以一個(gè)采集周期內(nèi)僅需單次采集的最簡(jiǎn)情況為例困檩。在5.1 中的密集采集模式中,描述了對(duì)一周期內(nèi)需多次采集的算法那槽。

  采集過(guò)程描述如下:首先進(jìn)行初始化悼沿,隨后創(chuàng)建通道。進(jìn)入數(shù)據(jù)采集周期骚灸,在每個(gè)數(shù)據(jù)采集周期中摊咨,首先形成讀命令,隨后校驗(yàn)發(fā)送數(shù)據(jù)幀热跨,讀寫(xiě)串口完成一次通訊氏长,如果通訊成功,那么校驗(yàn)后將接收到的數(shù)據(jù)解碼輸出到通道悍暴,返回成功標(biāo)識(shí)论燎,如果通訊不成功或校驗(yàn)失敗丹仅,返回失敗標(biāo)識(shí)。

  3.2 解析函數(shù)流程

  上圖為解析數(shù)據(jù)幀的流程圖褥甜。不同的設(shè)備具有不同的協(xié)議內(nèi)容,使用定義好的模版解析函數(shù)只需要開(kāi)發(fā)人員按照設(shè)備協(xié)議將幀分割為有效的數(shù)據(jù)部分束湃,添入聯(lián)合體FrameField 即可拯骤。該聯(lián)合體可將協(xié)議數(shù)據(jù)最小分割為位來(lái)進(jìn)行操作。

  如上圖所示袖共,第一個(gè)字節(jié)為幀頭婚蛮,最后一個(gè)字節(jié)為幀尾,第二個(gè)字節(jié)為狀態(tài)標(biāo)示敷矫,第三至第六個(gè)字節(jié)為模擬量例获,第七個(gè)字節(jié)為單位,第八個(gè)字節(jié)按位分為四路輸入和四路輸出曹仗。

  4 接口設(shè)計(jì)

  通常來(lái)說(shuō)榨汤,一個(gè)廠家的同系列的PLC 產(chǎn)品,通訊協(xié)議一般是一樣的怎茫。區(qū)別只是在于其中一些寄存器的大小不同收壕。這樣我們就考慮可以讓這一個(gè)系列的設(shè)備使用同一個(gè)驅(qū)動(dòng)。為了提高通用性轨蛤,同時(shí)一般情況下蜜宪,用戶也不需要使用所有的寄存器,所以把這種設(shè)備構(gòu)件的通道設(shè)計(jì)成用戶可以在組態(tài)時(shí)自己進(jìn)行定義祥山。所有的通道及其所對(duì)應(yīng)的參數(shù)(即是寄存器地址)都由用戶自己進(jìn)行定義圃验。驅(qū)動(dòng)程序根據(jù)用戶定義的信息進(jìn)行通訊。而且PLC 當(dāng)中可能有一些參數(shù)用戶并不常用缝呕,如果組成通道澳窑,每一個(gè)采集周期都要進(jìn)行通訊,效率比較低下咆上,考慮到這種情況祝遗,我們提供了一些外部接口供監(jiān)控系統(tǒng)調(diào)用,在這些接口中可以發(fā)送命令准贯,支持所有的寄存器通道说拾。

  而對(duì)不同廠家的PLC 設(shè)備進(jìn)行分析,也可以發(fā)現(xiàn)掘防,可以將通訊過(guò)程和協(xié)議方式進(jìn)行抽象蝗广,提取它們的共同點(diǎn)和變化點(diǎn),封裝和隱藏?cái)?shù)據(jù)交換過(guò)程中的細(xì)節(jié)窿茧,達(dá)到通用的目的音族。通過(guò)封裝格式,規(guī)范代碼光蜀,統(tǒng)一接口,提高驅(qū)動(dòng)開(kāi)發(fā)效率宇团,降低驅(qū)動(dòng)開(kāi)發(fā)的難度估态。提高代碼的重用性,增強(qiáng)驅(qū)動(dòng)的穩(wěn)定性纺倍,減少設(shè)計(jì)中容易出現(xiàn)的錯(cuò)誤嗡身。使開(kāi)發(fā)人員把主要的精力放在對(duì)設(shè)備的熟悉和對(duì)協(xié)議的分析上,而不是過(guò)多地糾纏于編程實(shí)現(xiàn)的細(xì)枝末節(jié)上讲仰。

  封裝的數(shù)據(jù)和操作包括:

  隱藏一次數(shù)據(jù)采集中的底層通訊過(guò)程(某些設(shè)備完成一次采集需要一次以上的發(fā)收過(guò)
程慕趴,如西門(mén)子S7200);封裝針對(duì)采集點(diǎn)分散的動(dòng)態(tài)采集算法鄙陡;封裝常用的命令操作冕房;對(duì)與監(jiān)控系統(tǒng)間的交互提供統(tǒng)一的接口;PLC 驅(qū)動(dòng)封裝了底層的通訊過(guò)程趁矾,只將接口方法暴露在外面耙册,開(kāi)發(fā)人員以統(tǒng)一的方式去調(diào)用這個(gè)方法,從而保證軟件對(duì)客戶的透明性愈魏,使開(kāi)發(fā)人員從低層的開(kāi)發(fā)中脫離出來(lái)觅玻,降低開(kāi)發(fā)的難度。

  對(duì)驅(qū)動(dòng)的開(kāi)發(fā)人員來(lái)說(shuō)培漏,需要關(guān)注的接口僅有以下部分:

  定義設(shè)備本身的屬性溪厘;如地址、實(shí)時(shí)采集的時(shí)間要求等牌柄;定義設(shè)備的讀寫(xiě)操作屬性畸悬;如通道數(shù)量等;通用設(shè)計(jì)僅提供跟設(shè)備協(xié)議相關(guān)的組包和解包接口粥蜘,實(shí)現(xiàn)過(guò)程將由開(kāi)發(fā)人員完成蒂拯。

  5 關(guān)鍵問(wèn)題分析

  為提供信道利用率,提高系統(tǒng)效率渔缅,在PLC 的通信框架設(shè)計(jì)中考慮了幾個(gè)關(guān)鍵問(wèn)題任肯。

  5.1 三種采集模式

  經(jīng)過(guò)對(duì)現(xiàn)有的數(shù)據(jù)交換的分析,將用戶的一般需求擬概括為三種采集模式演湘,即密集采集绿窿,按需采集,定時(shí)采集窃裙。

  密集采集模式:在這種情況下纹轩,用戶希望能盡量利用物理帶寬,保證最快的采集速度和更新。在這種模式下缅科,理想狀態(tài)是設(shè)備始終處于采集狀態(tài)宗商。采集目前所有激活通道中離需要采集的周期時(shí)間最小的通道。保證所有的通道都能獲得采集機(jī)會(huì),但是相對(duì)與其他模式,在該模式下CPU 占用率會(huì)比較高显晶。

  按需采集模式:在通訊鏈路需要受控的情況下,比如用戶采用GPRS 進(jìn)行采集牍氛,按流量計(jì)費(fèi),所以不能進(jìn)行大量的通訊烟阐。這時(shí)候通過(guò)設(shè)置采集模式為按需采集,然后在需要時(shí)再調(diào)用接口函數(shù)啟動(dòng)單次采集紊扬。否則不進(jìn)行數(shù)據(jù)采集蜒茄。

  定時(shí)采集模式:該模式是在CPU 的占用率和采集速度之間進(jìn)行折衷的采集框式,保證在用戶設(shè)置的通道刷新周期的時(shí)間內(nèi)進(jìn)行通道的采集餐屎,之后直到下一次通道的刷新周期到達(dá)再進(jìn)行下一次采集檀葛。

  在模塊設(shè)計(jì)中,采集模式作為設(shè)備類的一個(gè)屬性腹缩,由開(kāi)發(fā)人員根據(jù)具體情況屿聋,選擇合適的采集模式。不同采集模式的采集算法實(shí)現(xiàn)如下:

  密集采集執(zhí)行流程:設(shè)置一個(gè)采集周期如1000ms藏鹊。每當(dāng)開(kāi)始一個(gè)新采集周期時(shí)润讥,重新計(jì)算采集通道的優(yōu)先級(jí)別。遍歷所有的通道仅莲,找出目前優(yōu)先級(jí)最高的通道跛脾,進(jìn)行采集。對(duì)通道進(jìn)行分塊(塊中包含最需要刷新的通道)辉茴。進(jìn)入通訊循環(huán)(某些設(shè)備進(jìn)行一次采集至少需要兩次通訊所以需要通訊循環(huán))癣跟。發(fā)送數(shù)據(jù)請(qǐng)求并等待回應(yīng);根據(jù)返回的信息解析出結(jié)果女骗,并作相應(yīng)處理景顷;判斷是否需要下一次采集,如果不需要跳出循環(huán)镣逃;更新通道和采集標(biāo)志强男;繼續(xù)發(fā)送線程消息啟動(dòng)下一次采集直到一次通訊循環(huán)結(jié)束;直到遍歷完所有需采集的通道事晶。

  按需采集執(zhí)行流程:循環(huán)對(duì)每個(gè)通道進(jìn)行采集肤币,保存采集成功的值,并進(jìn)行后續(xù)處理。定時(shí)采集執(zhí)行流程由定時(shí)器觸發(fā)夏哭,采集流程與密集采集一樣检柬,但在判斷沒(méi)有滿足采集要求的通道不進(jìn)行采集。

  5.2 采集點(diǎn)分散的動(dòng)態(tài)采集算法

  在現(xiàn)有的數(shù)據(jù)交換過(guò)程中竖配,用戶關(guān)心的數(shù)據(jù)往往只占全部信息的很小一部分何址,而且這些采集點(diǎn)分散在海量的數(shù)據(jù)中,如果不加判斷的依次讀取數(shù)據(jù)进胯,有效信息與采集信息的比例很低用爪,實(shí)時(shí)性差;如果僅采集有效信息胁镐,分配的采集粒度過(guò)小偎血,又會(huì)造成系統(tǒng)效率低下,信道利用率差盯漂。針對(duì)這一問(wèn)題颇玷,采取以下的解決方法:

  (1)只采集用戶關(guān)心的數(shù)據(jù)就缆。如當(dāng)有多個(gè)通道時(shí)帖渠,只傳送當(dāng)前用戶只關(guān)心的通道的數(shù)據(jù),而不關(guān)心其它的通道资担。保證采集盡量少的通道旬效,為每個(gè)需要采集的通道提供更快的采集周期。從而減少通訊量踱孕。

 ⊙缎佟(2)對(duì)于待采集的數(shù)據(jù)分配不同的優(yōu)先級(jí),對(duì)實(shí)時(shí)性要求高的部分?jǐn)?shù)據(jù)優(yōu)先采集庙曹∈β福可以根據(jù)用戶設(shè)置的數(shù)據(jù)刷新時(shí)間來(lái)改變其優(yōu)先級(jí)。

 “啾浴(3)實(shí)現(xiàn)一個(gè)動(dòng)態(tài)分塊算法镶悟,在一個(gè)合理的粒度上對(duì)采集的信息分塊傳輸,兼顧信道利用率與有效信息獲取的實(shí)時(shí)性蔚抖;實(shí)現(xiàn)的分塊算法簡(jiǎn)述如下:在采集時(shí)判斷辙哪,如果當(dāng)前采集的寄存器類的激活通道可以組成一個(gè)數(shù)據(jù)請(qǐng)求包,則進(jìn)行處理孔尸,提高一次采集的通道數(shù)沽澜。根據(jù)開(kāi)發(fā)人員定義的通道優(yōu)先級(jí),找出優(yōu)先級(jí)最高的通道地址附近的地址連續(xù)(或緊密)的通道竟闪,這些通道形成一個(gè)通道塊离福。重復(fù)同樣的過(guò)程杖狼,將剩下的通道繼續(xù)分塊,直到形成的塊數(shù)大于某一規(guī)定的數(shù)值比如20 或?qū)⒈炯拇嫫鞯乃型ǖ婪峙渫瓿伞?/font>

 ⊙(4)根據(jù)通訊協(xié)議的特點(diǎn)蝶涩,在打包數(shù)據(jù)請(qǐng)求時(shí)盡量保證包含更多的請(qǐng)求,從而減少請(qǐng)求的總次數(shù)絮识。

  6 結(jié)論

  根據(jù)本文的PLC 通用性數(shù)據(jù)接口開(kāi)發(fā)人員已開(kāi)發(fā)出多個(gè)廠家的PLC 驅(qū)動(dòng)绿聘,并在不同項(xiàng)目中得到應(yīng)用。在此PLC 通用數(shù)據(jù)接口基礎(chǔ)上開(kāi)發(fā)PLC 驅(qū)動(dòng)次舌,縮短了開(kāi)發(fā)時(shí)間和難度熄攘。投入運(yùn)行的系統(tǒng)通信穩(wěn)定,采集速度快彼念,通用性好,可靠性高挪圾。保證了項(xiàng)目的順利實(shí)施。本文作者創(chuàng)新點(diǎn):具有通用性的監(jiān)控系統(tǒng)與PLC 通信接口設(shè)計(jì)逐沙,能夠大大縮短開(kāi)發(fā)時(shí)間和難度洛史,并提高通信穩(wěn)定性、實(shí)時(shí)性燃灿,具有很高的實(shí)用價(jià)值和經(jīng)濟(jì)價(jià)值。


聲明:本網(wǎng)站所收集的部分公開(kāi)資料來(lái)源于互聯(lián)網(wǎng)息扶,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享敦璧,并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),也不構(gòu)成任何其他建議纫脚。本站部分作品是由網(wǎng)友自主投稿和發(fā)布钻琴、編輯整理上傳,對(duì)此類作品本站僅提供交流平臺(tái)况颈,不為其版權(quán)負(fù)責(zé)堕圾。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻、圖片勾奇、文字如涉及作品版權(quán)問(wèn)題谁昵,請(qǐng)第一時(shí)間告知,我們將根據(jù)您提供的證明材料確認(rèn)版權(quán)并按國(guó)家標(biāo)準(zhǔn)支付稿酬或立即刪除內(nèi)容摆野,以保證您的權(quán)益夭寺!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn。

網(wǎng)友評(píng)論 匿名:

分享到