亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        異構(gòu)系統(tǒng)通信中間件及其軟件的設(shè)計(jì)

        2012-12-31 00:00:00黃觀仁趙建勇
        計(jì)算機(jī)時(shí)代 2012年12期

        摘 要: 不同生產(chǎn)廠家的工業(yè)控制系統(tǒng)一般具有不同的通信接口、通信方式及通信協(xié)議,這給應(yīng)用軟件開(kāi)發(fā)帶來(lái)極大不便。中間件作為分布式環(huán)境及網(wǎng)絡(luò)異構(gòu)問(wèn)題的解決方案?jìng)涫荜P(guān)注。從異構(gòu)通信協(xié)議同構(gòu)化思想入手,在研究理論和實(shí)驗(yàn)的基礎(chǔ)上,研究了在工業(yè)控制系統(tǒng)中異構(gòu)通信網(wǎng)絡(luò)通信中間件的解決方案,詳細(xì)設(shè)計(jì)并實(shí)現(xiàn)了針對(duì)PLC的異構(gòu)通信網(wǎng)絡(luò)中間件系統(tǒng)。

        關(guān)鍵詞: 控制系統(tǒng); 中間件; 異構(gòu)通信; 通信協(xié)議

        中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2012)12-11-03

        Design of communication middleware and software in heterogeneous system

        Huang Guanren1, Zhao Jianyong2

        (1. Zhejiang Provincial Testing Institute of Electronic Information Products, Hangzhou, Zhejiang 310012, China; 2. Hangzhou Dianzi University)

        Abstract: Different industrial control systems have different communication interfaces, communication means and communication protocol, which is really inconvenient for application developpers. Middleware technologies are getting more attention as a solution to this problem. Starting with how to amalgamate heterogeneous structure of the communication protocol, based on certain theoretical and experimental research, heterogeneous communications network communication middleware solutions in industrial control systems are studied. The PLC heterogeneous communications network middleware system is designed and realized.

        Key words: control system; middleware; heterogeneous communication; communication protocol

        0 引言

        PLC可編程邏輯控制器、DCS集散控制系統(tǒng)極大地推動(dòng)了工業(yè)自動(dòng)化的發(fā)展。然而,在采用這些控制系統(tǒng)的時(shí)候,出于對(duì)安全、經(jīng)濟(jì)等多方面的考慮,往往會(huì)采用多個(gè)不同廠家生產(chǎn)的控制器。不同制造商提供的控制系統(tǒng)在結(jié)構(gòu)設(shè)計(jì)、標(biāo)準(zhǔn)等方面自成體系,互不兼容,技術(shù)標(biāo)準(zhǔn)互不公開(kāi),這些異構(gòu)的通信網(wǎng)絡(luò)環(huán)境由于訪問(wèn)方法和機(jī)制各不相同,即通信協(xié)議各不相同,使得控制系統(tǒng)之間的通信連接不易實(shí)現(xiàn)[1-2]。

        為了便捷地在不同的通信接口之間通信,更好地開(kāi)發(fā)和運(yùn)行異構(gòu)平臺(tái)上的應(yīng)用軟件,解決PC機(jī)與以嵌入式技術(shù)為基礎(chǔ)的控制系統(tǒng)之間的互通、互連和互操作問(wèn)題,本文引入異構(gòu)通信中間件HCM(Heterogeneous Communication Middleware)的概念,并設(shè)計(jì)了解決方案。該設(shè)計(jì)解決了異構(gòu)通信網(wǎng)絡(luò)的互通、互連,方便了應(yīng)用層用戶(hù)開(kāi)發(fā)應(yīng)用程序,提高了開(kāi)發(fā)效率,縮短了開(kāi)發(fā)周期。

        1 異構(gòu)通信中間件HCM總體設(shè)計(jì)

        中間件技術(shù)近年來(lái)得到了廣泛地研究與實(shí)踐[3-4],解決網(wǎng)絡(luò)異構(gòu)問(wèn)題的中間件[5-6]也是研究的熱點(diǎn)。根據(jù)異構(gòu)通信網(wǎng)絡(luò)協(xié)議的需要,我們?cè)O(shè)計(jì)了異構(gòu)通信中間件HCM的整體結(jié)構(gòu)框架,為用戶(hù)提供了統(tǒng)一的數(shù)據(jù)訪問(wèn)接口;完成應(yīng)用層和底層以及底層和異構(gòu)通信網(wǎng)絡(luò)間數(shù)據(jù)的傳輸和處理;提供適合各種編程模式的開(kāi)放接口,并提供應(yīng)用執(zhí)行時(shí)的各種運(yùn)行機(jī)制。

        整個(gè)系統(tǒng)采用三層構(gòu)架體系,HCM作為中間層構(gòu)建在應(yīng)用層和網(wǎng)絡(luò)層之間,它有兩個(gè)接口,分別為與應(yīng)用服務(wù)器的接口(接口一)及與網(wǎng)絡(luò)資源實(shí)體的接口(接口二)。HCM中間件平臺(tái)的功能集包含以下主要功能模塊:協(xié)議調(diào)度模塊、通信模塊、數(shù)據(jù)處理模塊,如圖1所示。

        協(xié)議調(diào)度模塊:在構(gòu)建好的通信協(xié)議庫(kù)中調(diào)度適合當(dāng)前通信網(wǎng)絡(luò)所需的通信協(xié)議。

        通信模塊:包括組幀模塊(組裝讀/寫(xiě)數(shù)據(jù)幀)和通信口操作模塊(讀/寫(xiě)通信口)。其中組幀模塊是面向應(yīng)用層的接口模塊,用來(lái)獲取應(yīng)用層數(shù)據(jù)信息;通信口操作模塊是面向網(wǎng)絡(luò)層的接口模塊,用來(lái)根據(jù)組幀模塊的數(shù)據(jù)幀通過(guò)通信接口與通信網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交互。

        數(shù)據(jù)處理模塊:包括數(shù)據(jù)類(lèi)型處理模塊、規(guī)則轉(zhuǎn)換模塊和有效驗(yàn)證模塊。

        2 系統(tǒng)各組成的研究與設(shè)計(jì)

        對(duì)HCM系統(tǒng)的各組成部分及功能,從通信協(xié)議庫(kù)的數(shù)據(jù)結(jié)構(gòu)模型、通信協(xié)議調(diào)度算法、共享內(nèi)存訪問(wèn)、通信線程狀態(tài)轉(zhuǎn)換、規(guī)則轉(zhuǎn)換算法幾個(gè)方面進(jìn)行研究。

        2.1 通信協(xié)議庫(kù)數(shù)據(jù)結(jié)構(gòu)模型

        對(duì)于通信協(xié)議庫(kù)ProtocodStore,可以把它看成是一片森林,ProtocodStore(Tree1,Tree2…Treei…TreeN),N≥0,森林中的每棵樹(shù)Treei(Child1,Child2,…,ChildN),N≥0,是由一個(gè)或多個(gè)子協(xié)議庫(kù)組成,按照森林的構(gòu)建方法通信協(xié)議庫(kù)可以抽象為圖2所示的數(shù)據(jù)結(jié)構(gòu)。

        圖2中,節(jié)點(diǎn)A和H代表公司名,節(jié)點(diǎn)B、C、D代表隸屬于A的PLC類(lèi)型,節(jié)點(diǎn)I、J代表隸屬于H的PLC類(lèi)型,節(jié)點(diǎn)E、F、G、K、L分別代表隸屬于某個(gè)PLC型號(hào)的通信協(xié)議。

        2.2 通信協(xié)議調(diào)度算法及調(diào)度模塊設(shè)計(jì)

        2.2.1 協(xié)議調(diào)度算法

        協(xié)議調(diào)度管理器根據(jù)應(yīng)用層用戶(hù)提供的調(diào)度信息在通信協(xié)議庫(kù)中調(diào)度具體通信協(xié)議,按照先序遍歷ProtocodStore森林的算法來(lái)完成協(xié)議的調(diào)度,具體調(diào)度算法如下。

        ⑴ 取得調(diào)度元數(shù)據(jù)結(jié)構(gòu)struct_Protocol;

        ⑵ 訪問(wèn)ProtocodStore森林的第一棵樹(shù)的根節(jié)點(diǎn)A;

        ⑶ 先序遍歷第一棵樹(shù)Tree1中根節(jié)點(diǎn)的子樹(shù)森林;

        ⑷ 若找到Tree1中節(jié)點(diǎn)度為0的葉子節(jié)點(diǎn)符合要求則轉(zhuǎn)⑹;

        ⑸ 先序遍歷除去第一棵樹(shù)Tree1之后剩余的樹(shù)(Tree2…TreeN)構(gòu)成的森林;

        ⑹ 若查找成功返回找到的葉子節(jié)點(diǎn)信息,否則返回NULL。

        經(jīng)過(guò)該算法得到圖2中所示森林中L節(jié)點(diǎn)的先序序列為:

        A→B→E→C→F→D→G→H→I→K→J→L

        2.2.2 協(xié)議調(diào)度的數(shù)學(xué)描述

        定義1 設(shè)通信協(xié)議庫(kù)的所有通信協(xié)議的集合為Cprot:

        Cprot={C1,C2,C3,…,CN} N≥0 ⑴

        式⑴中,Ci為某個(gè)通信協(xié)議對(duì)象,對(duì)每個(gè)對(duì)象Ci的描述形式為:

        Ci={Companyi,PLCTypei,CheckSumTypei,

        ComInfoi,ConfirmCounti,Modei} ⑵

        式⑵中的Companyi,PLCTypei,CheckSumTypei,ComInfoi,ConfirmCounti,Modei表示第i個(gè)協(xié)議對(duì)象的屬性。

        定義2 設(shè)協(xié)議調(diào)度模塊調(diào)度集為:

        Action={Choose,F(xiàn)old} ⑶

        式⑶中,動(dòng)作Choose表示調(diào)度器調(diào)度通訊協(xié)議庫(kù)協(xié)議事件;動(dòng)作Fold表示通信協(xié)議導(dǎo)入?yún)f(xié)議調(diào)度管理器事件。

        定義3 通過(guò)定義1和定義2,協(xié)議庫(kù)中的單個(gè)通信協(xié)議可定義為協(xié)議集、調(diào)度和通信網(wǎng)絡(luò)的集合。

        Mi={Ci,Actioni,CommunicationNetWorki} ⑷

        式⑷中,Ci、Actioni和CommunicationNetWorki表示協(xié)議庫(kù)中的第i個(gè)通信協(xié)議、調(diào)度事件和對(duì)應(yīng)于Ci的通信網(wǎng)絡(luò)。

        通過(guò)以上三個(gè)定義描述了在HCM系統(tǒng)中的協(xié)議調(diào)度模塊集合。協(xié)議調(diào)度模塊主要由異構(gòu)通信網(wǎng)絡(luò)所需的通信協(xié)議庫(kù)和協(xié)議調(diào)度器組成,協(xié)議調(diào)度模塊結(jié)構(gòu)框圖如圖3所示。

        2.3 共享內(nèi)存訪問(wèn)

        共享內(nèi)存作為一種進(jìn)程間數(shù)據(jù)共享的方法,通過(guò)讓兩個(gè)或多個(gè)進(jìn)程映射到同一個(gè)內(nèi)存映射文件對(duì)象的視圖,實(shí)現(xiàn)不同的進(jìn)程共享物理存儲(chǔ)器的相同頁(yè)面。當(dāng)一個(gè)進(jìn)程將數(shù)據(jù)寫(xiě)入一個(gè)共享文件映射對(duì)象的視圖時(shí),其他進(jìn)程可以立即獲得該視圖中的數(shù)據(jù)變更情況。利用共享內(nèi)存實(shí)現(xiàn)數(shù)據(jù)的共享訪問(wèn),能夠達(dá)到系統(tǒng)資源的高效利用。因此,采用共享內(nèi)存訪問(wèn)技術(shù),通過(guò)HCM提供的接口ConstructReadData實(shí)現(xiàn)兩者之間的內(nèi)存交互,如圖4所示。

        在HCM中的共享內(nèi)存方式不涉及內(nèi)存互斥訪問(wèn)的問(wèn)題,是“半雙工”形式的內(nèi)存共享,即:應(yīng)用層動(dòng)態(tài)開(kāi)辟一塊內(nèi)存區(qū)域通過(guò)接口ConstructReadData分配給HCM,應(yīng)用層循環(huán)從該內(nèi)存區(qū)域獲取信息,而HCM則通過(guò)數(shù)據(jù)處理模塊將處理好的數(shù)據(jù)添入該內(nèi)存區(qū)域,從而完成應(yīng)用層和中間件層的內(nèi)存交互,達(dá)到數(shù)據(jù)傳遞的目的。

        2.4 通信線程中三態(tài)轉(zhuǎn)換

        在通信線程中涉及三個(gè)狀態(tài)間的轉(zhuǎn)換關(guān)系,分別為讀數(shù)據(jù)狀態(tài)、寫(xiě)數(shù)據(jù)狀態(tài)以及空閑狀態(tài)。三者之間的轉(zhuǎn)換關(guān)系如圖5所示。

        讀/寫(xiě)狀態(tài)是在進(jìn)行數(shù)據(jù)交互時(shí)的狀態(tài),由于寫(xiě)數(shù)據(jù)的優(yōu)先級(jí)最高,所以無(wú)論是處于讀狀態(tài)還是空閑狀態(tài),一旦寫(xiě)數(shù)據(jù)事件產(chǎn)生,要立即轉(zhuǎn)為寫(xiě)狀態(tài)。通訊時(shí),若接收到有效命令,則根據(jù)具體協(xié)議進(jìn)行譯碼,執(zhí)行相應(yīng)操作,并對(duì)命令做出響應(yīng);若檢查到錯(cuò)誤,則說(shuō)明接收字符不正確,予以丟棄,并保持通信口為接收狀態(tài),開(kāi)始下一次接收操作。設(shè)置空閑狀態(tài)的目的是為了釋放內(nèi)存占用資源,防止產(chǎn)生資源獨(dú)占。在大多數(shù)情況下為讀數(shù)據(jù)狀態(tài)和空閑狀態(tài)間的轉(zhuǎn)換,只有在用戶(hù)傳遞寫(xiě)數(shù)據(jù)時(shí)才發(fā)生讀狀態(tài)和寫(xiě)狀態(tài)或空閑狀態(tài)和寫(xiě)狀態(tài)間的狀態(tài)轉(zhuǎn)換關(guān)系。

        2.5 HCM通信模塊設(shè)計(jì)實(shí)現(xiàn)

        通信模塊在整個(gè)中間件系統(tǒng)中是一個(gè)交互層,包括與上層應(yīng)用層的接口、與下層網(wǎng)絡(luò)層的接口。應(yīng)用層需要讀寫(xiě)數(shù)據(jù)時(shí)通過(guò)該模塊的應(yīng)用層接口將讀寫(xiě)指令傳遞給組幀處理器。處理器根據(jù)用戶(hù)給出的指令進(jìn)行相應(yīng)處理,處理后再通過(guò)該模塊與網(wǎng)絡(luò)層的接口進(jìn)行通信,通信成功后得到需要的數(shù)據(jù)并交由數(shù)據(jù)處理模塊進(jìn)行數(shù)據(jù)處理。

        由于在通信過(guò)程中不同的通信協(xié)議(如波特率等)和應(yīng)用環(huán)境會(huì)影響到系統(tǒng)運(yùn)行速度,如果采用單線程來(lái)完成數(shù)據(jù)處理和通信等功能,系統(tǒng)整體響應(yīng)速度會(huì)很慢。因此,采用異步多線程的處理方案,組幀模塊和通信口模塊分別采用各自獨(dú)立線程完成數(shù)據(jù)幀的組裝和與通信網(wǎng)絡(luò)的數(shù)據(jù)交互。通信操作時(shí)的獨(dú)立線程方式,可以減少系統(tǒng)的閑置時(shí)間,提高通信口的吞吐能力。

        2.6 數(shù)據(jù)處理模塊的設(shè)計(jì)實(shí)現(xiàn)

        數(shù)據(jù)處理模塊主要負(fù)責(zé)對(duì)通信得到的數(shù)據(jù)進(jìn)行分析處理,包括數(shù)據(jù)有效性驗(yàn)證、數(shù)據(jù)類(lèi)型處理、規(guī)則轉(zhuǎn)換處理三個(gè)子模塊,如圖6所示。

        ⑴ 有效性驗(yàn)證模塊,目的是為了獲得通信網(wǎng)絡(luò)中正確的數(shù)據(jù)信息,包括通信站號(hào)、數(shù)據(jù)字節(jié)個(gè)數(shù)、數(shù)據(jù)校驗(yàn)等有效性驗(yàn)證。如果驗(yàn)證通過(guò)則進(jìn)行數(shù)據(jù)類(lèi)型和規(guī)則轉(zhuǎn)換的處理,如果有一項(xiàng)驗(yàn)證失敗則整幀數(shù)據(jù)均丟棄。

        ⑵ 數(shù)據(jù)類(lèi)型處理模塊,數(shù)據(jù)的基本類(lèi)型包括:位(BIT)類(lèi)型、字節(jié)(BYTE)類(lèi)型、字(WORD)類(lèi)型、雙字(DWORD)類(lèi)型、浮點(diǎn)數(shù)(FLOAT)類(lèi)型。

        ⑶ 規(guī)則轉(zhuǎn)換模塊,目的是對(duì)⑴和⑵處理后的數(shù)據(jù)按照不同的規(guī)則進(jìn)行數(shù)據(jù)轉(zhuǎn)換,如果不需要轉(zhuǎn)換則將數(shù)據(jù)直接傳遞給應(yīng)用層。數(shù)據(jù)處理時(shí)根據(jù)特定通信協(xié)議進(jìn)行設(shè)置,對(duì)接收數(shù)據(jù)按照不同協(xié)議語(yǔ)法格式進(jìn)行檢查和提取,包括數(shù)據(jù)有效性檢查、數(shù)據(jù)類(lèi)型處理、轉(zhuǎn)換規(guī)則處理等操作。數(shù)據(jù)處理結(jié)束后,動(dòng)態(tài)刷新接收緩沖區(qū)中的數(shù)據(jù),該緩沖區(qū)與應(yīng)用層實(shí)現(xiàn)內(nèi)存共享。

        3 系統(tǒng)仿真和測(cè)試

        為了測(cè)試HCM系統(tǒng)的穩(wěn)定性、可靠性等性能,通過(guò)建立仿真環(huán)境來(lái)進(jìn)行性能測(cè)試和數(shù)據(jù)驗(yàn)證。測(cè)試過(guò)程中仿真了西門(mén)子S7-200、三菱FX1N、歐姆龍CPM2A三種型號(hào)的PLC構(gòu)成的異構(gòu)通信網(wǎng)絡(luò)環(huán)境,在PC端生成對(duì)應(yīng)的HCM系統(tǒng)并設(shè)計(jì)了應(yīng)用層界面下載到Windows CE中運(yùn)行,PC機(jī)模擬PLC運(yùn)行環(huán)境。通過(guò)測(cè)試異構(gòu)環(huán)境及通信數(shù)據(jù),驗(yàn)證了HCM系統(tǒng)的穩(wěn)定性和可靠性。

        參考文獻(xiàn):

        [1] Li Xiaoming, Li DongXiao. Protocol conversion of plant control

        system consisted of different type PLCs[J].IEEE Trans on Software Engineering,2002.2:1509-1512

        [2] 李男,黃永忠,陳海勇.一種嵌入式系統(tǒng)通信中間件的設(shè)計(jì)[J].微計(jì)算

        機(jī)信息,2006.22(1-2):48-50

        [3] Richard Soley and the OMG Staff Strategy Group. Model Driven

        Architecture:OMG White Paper Draft 3.2[EB/OL].http://www.omg.org/mda,2000,Nov 27th.

        [4] 楊放春,龍湘明,趙耀.異構(gòu)網(wǎng)絡(luò)中間件與開(kāi)發(fā)式API技術(shù)[M].北京郵

        電大學(xué)出版社,2007.

        [5] Richard E. Schantz,Douglas C. Schmidt.Middleware for Distributed

        Systems: Evolving the common Structure for Network-Centric Applications[M]. Chapter in The Encyclopedia of Software Engineering. John Wiley Sons,2001.

        [6] Cecelia Mascolo, Licia Capra and Wolfgang Emmerich. Mobile

        Computing Middleware[C].Fourth IEEE Conference on Mobile and Wireless Communication networks,2002.

        精品淑女少妇av久久免费| 亚洲一区免费视频看看| av男人的天堂亚洲综合网| 九九久久自然熟的香蕉图片| 精品成人乱色一区二区| 真实国产网爆门事件在线观看| av男人的天堂第三区| 全免费a级毛片免费看无码| 性一交一乱一伧国产女士spa| 亚洲AV秘 无码一区二区三区1| 色se在线中文字幕视频| 精品亚洲国产成人av色哟哟| 欧美极品jizzhd欧美| 久久久久欧洲AV成人无码国产| 极品少妇在线观看视频| av高清在线不卡直播| 国产精品无码成人午夜电影| 国产一级三级三级在线视| 午夜少妇高潮在线观看视频| 久久精品国产亚洲av超清| 色橹橹欧美在线观看视频高清 | 欧美成人看片一区二区三区尤物| 99久久国产综合精品麻豆 | 亚洲人成综合第一网站| 欧美精品videossex少妇| 国产AⅤ无码久久丝袜美腿| 青青草成人免费播放视频| 婷婷四虎东京热无码群交双飞视频| 久久老子午夜精品无码怎么打| 天天插天天干天天操| 亚洲国产精品久久久婷婷| 67194熟妇人妻欧美日韩| 99热免费观看| 色佬易精品视频免费在线观看| 8x国产精品视频| 亚洲欧美日韩综合久久久| 无码啪啪人妻| 中文字幕乱码在线人妻| 97久久人人超碰超碰窝窝| 精品少妇一区一区三区| 国产精品又湿又黄九九九久久嫩草|