專利名稱:一種多網(wǎng)絡(luò)控制系統(tǒng)通訊管理方法
技術(shù)領(lǐng)域:
本發(fā)明屬于工業(yè)自動(dòng)化控制領(lǐng)域,涉及控制系統(tǒng)中的多網(wǎng)絡(luò)控制系統(tǒng)通訊管理方法。
背景技術(shù):
目前的自動(dòng)化控制系統(tǒng)中,通訊已經(jīng)成為了必不可少的功能,各種各樣的通訊接 口也越來越多,比如以太網(wǎng)、RS485串行通訊、無線ZigBee、Profibus等接口。不同的接口 按照各自的方式組成相應(yīng)的通訊網(wǎng)絡(luò),實(shí)現(xiàn)設(shè)備相互間的數(shù)據(jù)交換功能,完成控制系統(tǒng)分 配的任務(wù)。多網(wǎng)絡(luò)技術(shù)在控制系統(tǒng)中應(yīng)用的同時(shí),不同網(wǎng)絡(luò)間的通訊如何管理才能保證系 統(tǒng)通訊的穩(wěn)定性、實(shí)時(shí)性已經(jīng)成為了重要的問題。工業(yè)現(xiàn)場(chǎng)中目前普遍使用的是基于以太網(wǎng)通訊和RS485串行總線通訊的產(chǎn)品,同 時(shí)基于IEC802. 15. 4標(biāo)準(zhǔn)的無線ZigBee通訊的網(wǎng)絡(luò)應(yīng)用也越來越廣泛。以太網(wǎng)通訊的產(chǎn) 品中各個(gè)公司的管理通訊協(xié)議各不相同,目前我國自動(dòng)化行業(yè)推出了第一個(gè)自動(dòng)化領(lǐng)域內(nèi) 的工業(yè)以太網(wǎng)通訊標(biāo)準(zhǔn)抓EPA標(biāo)準(zhǔn),并且已經(jīng)被IEC61158第四版收錄,成為了國際標(biāo)準(zhǔn)。 EPA標(biāo)準(zhǔn)基于工業(yè)以太網(wǎng),制訂了網(wǎng)絡(luò)通信中功能安全、一致性、可互操作性、實(shí)時(shí)性等方面 的規(guī)范,應(yīng)用層服務(wù)以網(wǎng)絡(luò)地址IP或物理設(shè)備位號(hào)來對(duì)系統(tǒng)設(shè)備進(jìn)行定位,針對(duì)設(shè)備的每 項(xiàng)操作服務(wù)標(biāo)識(shí)則由應(yīng)用進(jìn)程標(biāo)識(shí)符AppID和對(duì)象標(biāo)識(shí)符ObjectID來確定,采用點(diǎn)對(duì)點(diǎn) 的通信模式在網(wǎng)絡(luò)上傳遞數(shù)據(jù),保證了控制系統(tǒng)中通信的穩(wěn)定性,并且在實(shí)際應(yīng)用中已經(jīng) 得到驗(yàn)證。RS485串行通訊總線中大量使用的是Modbus協(xié)議,通過設(shè)備地址以及功能號(hào)操 作,這種協(xié)議操作方便,兼容性好。無線ZigBee通訊中應(yīng)用層的協(xié)議也根據(jù)實(shí)際情況各自 不同,沒有形成統(tǒng)一標(biāo)準(zhǔn)。上述三種網(wǎng)絡(luò)根據(jù)協(xié)議各不相同,使用中無法互聯(lián)?;谝陨峡紤],有必要將各個(gè)不同的網(wǎng)絡(luò)協(xié)議進(jìn)行統(tǒng)一改進(jìn),使得控制系統(tǒng)能夠 方便的管理不同的網(wǎng)絡(luò)。
發(fā)明內(nèi)容
本發(fā)明針對(duì)多網(wǎng)絡(luò)通訊管理對(duì)系統(tǒng)一致性、互操作性和實(shí)時(shí)性的要求,以EPA網(wǎng) 絡(luò)、Modbus網(wǎng)絡(luò)、無線ZigBee網(wǎng)絡(luò)為基礎(chǔ),提供了一種多網(wǎng)絡(luò)控制系統(tǒng)通訊管理方法。該 方法擴(kuò)展了 EPA標(biāo)準(zhǔn)協(xié)議,與Modbus標(biāo)準(zhǔn)協(xié)議相結(jié)合,實(shí)現(xiàn)了三種網(wǎng)絡(luò)內(nèi)數(shù)據(jù)的自由交換, 對(duì)整個(gè)控制系統(tǒng)內(nèi)設(shè)備通信進(jìn)行統(tǒng)一管理。本發(fā)明解決問題的技術(shù)方案是以EPA標(biāo)準(zhǔn)協(xié)議應(yīng)用層讀服務(wù)和寫服務(wù)為基礎(chǔ),結(jié)合Modbus協(xié)議,將Modbus網(wǎng)絡(luò) 和ZigBee網(wǎng)絡(luò)內(nèi)的設(shè)備虛擬成EPA網(wǎng)絡(luò)設(shè)備,利用轉(zhuǎn)發(fā)服務(wù)的方式實(shí)現(xiàn)不同網(wǎng)絡(luò)內(nèi)的數(shù)據(jù) 通訊,利用功能塊的方式實(shí)現(xiàn)了相同網(wǎng)絡(luò)之間的數(shù)據(jù)通訊。本管理方法中通訊協(xié)議由三部分組成標(biāo)準(zhǔn)EPA協(xié)議、標(biāo)準(zhǔn)Modbus協(xié)議和轉(zhuǎn)發(fā)服 務(wù)協(xié)議。以以太網(wǎng)為通訊介質(zhì)的EPA網(wǎng)絡(luò)設(shè)備之間通訊采用標(biāo)準(zhǔn)的EPA協(xié)議,以RS485為 通訊介質(zhì)的Modbus網(wǎng)絡(luò)設(shè)備之間通訊采用標(biāo)準(zhǔn)Modbus協(xié)議,以ZigBee無線網(wǎng)絡(luò)為介質(zhì)的ZigBee網(wǎng)絡(luò)設(shè)備之間通訊采用標(biāo)準(zhǔn)的Modbus協(xié)議。EPA網(wǎng)絡(luò)與Modbus網(wǎng)絡(luò)、ZigBee網(wǎng)絡(luò) 設(shè)備之間的通訊采用轉(zhuǎn)發(fā)服務(wù)協(xié)議進(jìn)行通訊,增加了 EPA協(xié)議和Modbus協(xié)議的轉(zhuǎn)發(fā)31號(hào) 服務(wù),通過此服務(wù)可實(shí)現(xiàn)無限級(jí)網(wǎng)絡(luò)的轉(zhuǎn)發(fā)。整個(gè)通訊管理由通訊調(diào)度管理器部分、通訊執(zhí)行實(shí)體部分、功能塊單元部分、數(shù)據(jù) 映射管理部分組成。通訊調(diào)度管理器部分負(fù)責(zé)整個(gè)通訊過程的管理,協(xié)調(diào)通訊執(zhí)行實(shí)體、功能塊處理、 數(shù)據(jù)映射管理各部分之間的關(guān)系,根據(jù)用戶層的需求對(duì)各個(gè)模塊進(jìn)行讀寫服務(wù)調(diào)度,實(shí)現(xiàn) 同網(wǎng)絡(luò)或不同網(wǎng)絡(luò)之間通信的智能判斷,完成相應(yīng)的數(shù)據(jù)交換。通訊執(zhí)行實(shí)體負(fù)責(zé)驅(qū)動(dòng)底 層硬件部分,完成各個(gè)網(wǎng)絡(luò)之間的報(bào)文收發(fā),接收從通訊調(diào)度管理器部分發(fā)送的報(bào)文,按照 要求發(fā)送給EPA網(wǎng)絡(luò)、ZigBee網(wǎng)絡(luò)、Modbus網(wǎng)絡(luò)上的其他控制器設(shè)備,接收從EPA網(wǎng)絡(luò)、 ZigBee網(wǎng)絡(luò)、Modbus網(wǎng)絡(luò)上其他控制器設(shè)備發(fā)送的報(bào)文,再交由通訊調(diào)度管理器進(jìn)行處 理。功能塊單元部分負(fù)責(zé)同一網(wǎng)絡(luò)內(nèi)不同設(shè)備之間的數(shù)據(jù)交換,以功能塊指令的方式進(jìn)行 工作,用戶編寫相應(yīng)的指令程序。數(shù)據(jù)映射管理部分負(fù)責(zé)處理通訊中用到的數(shù)據(jù),存放網(wǎng)絡(luò) 中其他要傳輸設(shè)備的數(shù)據(jù)鏡像,只有傳輸對(duì)象中的相應(yīng)數(shù)據(jù)發(fā)生變化才引起網(wǎng)絡(luò)傳輸,使 用回應(yīng)命令的確認(rèn)數(shù)據(jù)修改數(shù)據(jù)鏡像緩沖區(qū),用來保證數(shù)據(jù)通信的可靠性。本發(fā)明的有益效果是使用了我國第一個(gè)自行制定的自動(dòng)化行業(yè)標(biāo)準(zhǔn)EPA標(biāo)準(zhǔn), 利用標(biāo)準(zhǔn)內(nèi)規(guī)定的讀寫服務(wù)及其擴(kuò)展服務(wù)與工業(yè)上廣泛應(yīng)用的Modbus協(xié)議相結(jié)合,實(shí)現(xiàn) 了控制系統(tǒng)內(nèi)多網(wǎng)絡(luò)通訊管理功能,保證了通訊的一致性、互操作性及實(shí)時(shí)性。
圖1控制系統(tǒng)組網(wǎng)示意圖。圖2通訊網(wǎng)絡(luò)模型圖。圖3功能塊通訊指令示意圖。圖4網(wǎng)絡(luò)轉(zhuǎn)發(fā)流程圖。
具體實(shí)施例方式圖1給出了控制系統(tǒng)的組網(wǎng)方式,主要由3部分網(wǎng)絡(luò)組成EPA網(wǎng)絡(luò)、ZigBee網(wǎng)絡(luò)、 Modbus網(wǎng)絡(luò)。其中EPA網(wǎng)絡(luò)和Modbus網(wǎng)絡(luò)提供外界軟件對(duì)系統(tǒng)內(nèi)設(shè)備編程、監(jiān)控以及設(shè)備 之間的數(shù)據(jù)交換功能,ZigBee網(wǎng)絡(luò)提供設(shè)備之間的數(shù)據(jù)交換功能。每種網(wǎng)絡(luò)之間有提供兩種方式進(jìn)行數(shù)據(jù)交換一種是主從設(shè)備式,網(wǎng)絡(luò)內(nèi)配置一 種設(shè)備為主設(shè)備,另一種設(shè)備為從設(shè)備,從設(shè)備將內(nèi)部資源映射到主設(shè)備中,由主設(shè)備進(jìn)行 統(tǒng)一管理;一種是非主從設(shè)備式,網(wǎng)絡(luò)內(nèi)的設(shè)備均為地位等同的設(shè)備,設(shè)備之間通過功能塊 編程的方式按照EPA標(biāo)準(zhǔn)協(xié)議進(jìn)行讀寫服務(wù)操作,完成設(shè)備間的數(shù)據(jù)交換。整個(gè)控制系統(tǒng) 網(wǎng)絡(luò)級(jí)聯(lián)的方式進(jìn)行數(shù)據(jù)通訊服務(wù),工程師站和操作員站可以通過EPA網(wǎng)絡(luò)和Modbus網(wǎng)絡(luò) 對(duì)設(shè)備進(jìn)行編程和監(jiān)控操作,并且可以通過轉(zhuǎn)發(fā)服務(wù)對(duì)EPA網(wǎng)絡(luò)或Modbus網(wǎng)絡(luò)的下一級(jí)網(wǎng) 絡(luò)設(shè)備進(jìn)行編程和監(jiān)控操作,以此類推,可以管理無限級(jí)的網(wǎng)絡(luò)設(shè)備。ZigBee網(wǎng)絡(luò)無法直接 與上位機(jī)的工程師站和操作員站互聯(lián),但是接入到第二級(jí)網(wǎng)絡(luò)后也可以實(shí)現(xiàn)對(duì)第三級(jí)網(wǎng)絡(luò) 的管理,完成轉(zhuǎn)發(fā)通訊服務(wù)。圖2給出了通訊網(wǎng)絡(luò)模型示意圖。EPA網(wǎng)絡(luò)、ZigBee網(wǎng)絡(luò)、Modbus網(wǎng)絡(luò)三者通過通信執(zhí)行實(shí)體完成與通信調(diào)度管理器的連接,通信調(diào)度管理器負(fù)責(zé)把通信執(zhí)行實(shí)體中的數(shù) 據(jù)按照協(xié)議規(guī)定進(jìn)行解析,完成通訊管理和數(shù)據(jù)映射管理。不同網(wǎng)絡(luò)之間的通訊采用轉(zhuǎn)發(fā)服務(wù)的方式進(jìn)行,并且只能采用主從設(shè)備式進(jìn)行通 訊,此處對(duì)EPA標(biāo)準(zhǔn)協(xié)議進(jìn)行了改進(jìn),EPA的標(biāo)準(zhǔn)協(xié)議中規(guī)定了 14種服務(wù),沒有規(guī)定不同網(wǎng) 絡(luò)間數(shù)據(jù)交換的轉(zhuǎn)發(fā)服務(wù),改進(jìn)協(xié)議中增加了第15種服務(wù)抓轉(zhuǎn)發(fā)服務(wù)來完成不同網(wǎng)絡(luò)間 的數(shù)據(jù)交換,定義服務(wù)號(hào)為31。同時(shí),此處對(duì)Modbus協(xié)議也進(jìn)行了改進(jìn),將Modbus報(bào)文頭 中的功能號(hào)也擴(kuò)展了 31作為轉(zhuǎn)發(fā)服務(wù)。網(wǎng)絡(luò)間通過改進(jìn)的EPA協(xié)議和Modbus協(xié)議進(jìn)行數(shù) 據(jù)交換,通過EPA網(wǎng)絡(luò)訪問Modbus網(wǎng)路或ZigBee網(wǎng)絡(luò)的報(bào)文如下所示 其中ServiceID取EPA協(xié)議中暫時(shí)未規(guī)定的31號(hào),Length是報(bào)文長度,Message ID是報(bào)文標(biāo)識(shí),每發(fā)送一次加1,Reserved為EPA報(bào)文中的其他部分報(bào)文頭,暫時(shí)無用, Handle為當(dāng)前轉(zhuǎn)發(fā)的從設(shè)備索引,控制器接收到此擴(kuò)展服務(wù)ID的報(bào)文后去掉EPA報(bào)文 頭,按照Handle指示的從設(shè)備獲取Modbus協(xié)議中的設(shè)備地址,取Modbus報(bào)文功能號(hào) FunctionCode為改進(jìn)的31號(hào)功能號(hào),根據(jù)接下來的EPA報(bào)文中的服務(wù)ServiceID和AppID、 ObjectID來進(jìn)行讀寫服務(wù),如果擴(kuò)展設(shè)備還需要在進(jìn)行下一級(jí)轉(zhuǎn)發(fā),則EPA報(bào)文2中的 ServiceID取31號(hào),其他報(bào)文格式和前面一樣,循環(huán)操作可實(shí)現(xiàn)多級(jí)轉(zhuǎn)發(fā)。Modbus網(wǎng)絡(luò)訪 問ZigBee網(wǎng)絡(luò)時(shí)只需要將Modbus報(bào)文中添加上設(shè)備地址及31號(hào)功能號(hào),后面添加Handle 和標(biāo)準(zhǔn)Modbus報(bào)文,如需要多級(jí)轉(zhuǎn)發(fā),則標(biāo)準(zhǔn)Modbus報(bào)文中的功能號(hào)需要添加為改進(jìn)協(xié)議 的31號(hào)。ZigBee網(wǎng)絡(luò)和串行通訊網(wǎng)絡(luò)一樣使用Modbus報(bào)文來進(jìn)行多級(jí)轉(zhuǎn)發(fā)服務(wù)。圖3給出了同網(wǎng)絡(luò)之間功能塊進(jìn)行通訊的指令示意圖。EPA網(wǎng)絡(luò)中通過NETR和 NETW指令進(jìn)行網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)交換,如圖3 (A)所示,ZigBee網(wǎng)絡(luò)通過ZRead和ZWrite指令進(jìn) 行網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)交換,圖3(B)中列出了 ZRead讀指令,Modbus網(wǎng)絡(luò)通過SCR和SCW指令進(jìn) 行數(shù)據(jù)交換,圖3(B)中列出了 SCW_W寫指令。設(shè)備之間數(shù)據(jù)交換的方式分為讀和寫兩種,采 用點(diǎn)對(duì)點(diǎn)的通信模式進(jìn)行,將請(qǐng)求指令封裝為基于IEC61131-3標(biāo)準(zhǔn)的功能塊,通過指令運(yùn) 行的方式實(shí)現(xiàn)。讀服務(wù)是讀取目的設(shè)備中一定數(shù)量的目的寄存器數(shù)據(jù)放入到本地設(shè)備中的 寄存器中,寫服務(wù)是將本地設(shè)備中一定數(shù)量的寄存器數(shù)據(jù)寫入到目的設(shè)備中的寄存器中。 EPA網(wǎng)絡(luò)中的每個(gè)讀或?qū)懝δ軌K指令由使能端、目的設(shè)備IP、本地設(shè)備操作寄存 器起始地址、操作寄存器數(shù)量、目的設(shè)備操作寄存器起始地址組成。每個(gè)讀寫操作指令均被 分配了一個(gè)應(yīng)用進(jìn)程AppID,設(shè)備通過AppID來判斷是否為網(wǎng)絡(luò)通訊服務(wù),并根據(jù)目的設(shè)備 IP和傳遞的寄存器地址及數(shù)據(jù)來進(jìn)行操作。功能塊指令通過使能端控制通訊服務(wù)的啟動(dòng),目的設(shè)備IP用來定位所要操作的設(shè)備,讀寫服務(wù)用來標(biāo)識(shí)應(yīng)用進(jìn)程的類型,AppID用來標(biāo)識(shí)服務(wù)進(jìn)程號(hào),目的寄存器地址和 數(shù)量指示了此次服務(wù)所操作的資源及大小。每個(gè)設(shè)備內(nèi)可以通過不同的功能塊指令同時(shí)啟 動(dòng)多個(gè)通訊服務(wù)進(jìn)程,實(shí)現(xiàn)同時(shí)對(duì)多個(gè)設(shè)備的通訊讀寫服務(wù)操作,也可以同時(shí)接收其他設(shè) 備的多個(gè)通訊服務(wù)進(jìn)程,二者互相獨(dú)立,互不干擾。多個(gè)設(shè)備之間通過各自的通訊服務(wù)進(jìn)程 實(shí)現(xiàn)網(wǎng)狀的數(shù)據(jù)交換,在復(fù)雜控制系統(tǒng)中可以根據(jù)需要任意進(jìn)行編程配置。讀寫服務(wù)中提 供了多種模式可供選擇,按照操作的寄存器數(shù)據(jù)類型劃分為位通訊、字通訊、雙字通訊指令 模式,可清晰的指示所要操作資源的種類。ZigBee網(wǎng)絡(luò)和Modbus網(wǎng)絡(luò)同EPA網(wǎng)絡(luò)不同,需要采用主從設(shè)備式的方式才能進(jìn) 行通訊,通訊中只能是主設(shè)備向從設(shè)備發(fā)送讀或?qū)懙拿?。Modbus網(wǎng)絡(luò)需要指定設(shè)備標(biāo)識(shí) Handle、起始寄存器Reg、功能號(hào)FUN、目的寄存器地址ADDR、操作寄存器數(shù)目NUM以及掃描 周期CIRCLE,根據(jù)上述參數(shù)組成標(biāo)準(zhǔn)Modbus報(bào)文進(jìn)行通訊。ZigBee網(wǎng)絡(luò)需要指定設(shè)備標(biāo) 識(shí)Device、起始寄存器地址ADDR、操作寄存器數(shù)量NUM、目的寄存器地址Reg參數(shù),根據(jù)上述 參數(shù)組成Modbus報(bào)文,進(jìn)行設(shè)備間的數(shù)據(jù)通訊。無論何種模式,讀服務(wù)的指令每次運(yùn)行均激活,此操作通過通訊緩存區(qū)來進(jìn)行管 理,激活時(shí)將發(fā)送命令放入命令緩存區(qū),如下所示 在命令緩存區(qū)中通過統(tǒng)一的定時(shí)器來管理命令的發(fā)送,定時(shí)器到達(dá)時(shí),從緩存區(qū) 頭開始查詢命令,η為最大可操作的讀服務(wù)指令個(gè)數(shù),查詢到對(duì)應(yīng)的指令緩存區(qū)存在命令 后,記錄此時(shí)的緩存區(qū)索引,發(fā)送此讀取命令,下一次定時(shí)器到達(dá)時(shí),將從此索引值開始檢 查緩存區(qū)是否存在命令,如此循環(huán)往復(fù),可以避免讀命令同時(shí)搶占網(wǎng)絡(luò)資源造成的命令丟 失,有效提高網(wǎng)絡(luò)資源利用率。寫服務(wù)除上述的通用模式外,本身具有兩種寫入指令激活方式可供選擇。一種是 被操作數(shù)據(jù)變化激活方式,此種情況下,將本地設(shè)備中要操作的寄存器數(shù)據(jù)復(fù)制到內(nèi)存區(qū) 中,每次運(yùn)行指令均檢查對(duì)比寄存器和內(nèi)存區(qū)中的數(shù)據(jù),不同時(shí)才激活寫入命令,寫入完成 后要發(fā)送讀取目的設(shè)備寄存器命令,將讀回的數(shù)據(jù)同本地寄存器中的數(shù)據(jù)進(jìn)行比較,相同 時(shí)復(fù)制此數(shù)據(jù)到內(nèi)存區(qū)中,不相同則再次發(fā)送寫入命令,直到寫入正確為止,保證了寫入的 可靠性。另一種激活方式是在每次運(yùn)行時(shí)均強(qiáng)制激活,無需考慮是否數(shù)據(jù)有改變,可以讓使 用者自由選擇寫入時(shí)間間隔。圖4給出了網(wǎng)絡(luò)通訊的轉(zhuǎn)發(fā)流程示意圖。通訊調(diào)度管理器接 收到報(bào)文后,首先根據(jù)報(bào)文功能號(hào)判斷是否為轉(zhuǎn)發(fā)報(bào)文,當(dāng)為轉(zhuǎn)發(fā)報(bào)文后,繼續(xù)判斷是否為 EPA網(wǎng)絡(luò)、Modbus網(wǎng)絡(luò)、ZigBee網(wǎng)絡(luò)轉(zhuǎn)發(fā)報(bào)文,根據(jù)判斷要轉(zhuǎn)發(fā)的網(wǎng)絡(luò)來進(jìn)行下一級(jí)的報(bào)文 組裝,完成組裝后由通訊調(diào)度管理器轉(zhuǎn)發(fā)給通訊執(zhí)行實(shí)體,通訊執(zhí)行實(shí)體再發(fā)給物理網(wǎng)絡(luò), 進(jìn)行下一級(jí)通訊調(diào)度管理。
權(quán)利要求
一種多網(wǎng)絡(luò)控制系統(tǒng)通訊管理方法,以EPA標(biāo)準(zhǔn)協(xié)議應(yīng)用層讀服務(wù)和寫服務(wù)為基礎(chǔ),結(jié)合Modbus協(xié)議,將Modbus網(wǎng)絡(luò)和ZigBee網(wǎng)絡(luò)內(nèi)的設(shè)備虛擬成EPA網(wǎng)絡(luò)設(shè)備,利用轉(zhuǎn)發(fā)服務(wù)的方式實(shí)現(xiàn)不同網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)通訊,利用功能塊的方式實(shí)現(xiàn)了相同網(wǎng)絡(luò)之間的數(shù)據(jù)通訊,其特征在于如下步驟控制系統(tǒng)主要由三部分網(wǎng)絡(luò)組成EPA網(wǎng)絡(luò)、ZigBee網(wǎng)絡(luò)、Modbus網(wǎng)絡(luò),其中EPA網(wǎng)絡(luò)和Modbus網(wǎng)絡(luò)提供外界軟件對(duì)系統(tǒng)內(nèi)設(shè)備編程、監(jiān)控以及設(shè)備之間的數(shù)據(jù)交換功能;EPA網(wǎng)絡(luò)與Modbus網(wǎng)絡(luò)、ZigBee網(wǎng)絡(luò)設(shè)備之間的通訊采用轉(zhuǎn)發(fā)服務(wù)協(xié)議進(jìn)行通訊;整個(gè)通訊管理由通訊調(diào)度管理器部分、通訊執(zhí)行實(shí)體部分、功能塊單元部分、數(shù)據(jù)映射管理部分組成;EPA網(wǎng)絡(luò)、ZigBee網(wǎng)絡(luò)、Modbus網(wǎng)絡(luò)三者通過通信執(zhí)行實(shí)體完成與通信調(diào)度管理器的連接,通信調(diào)度管理器負(fù)責(zé)把通信執(zhí)行實(shí)體中的數(shù)據(jù)按照協(xié)議規(guī)定進(jìn)行解析,完成通訊管理和數(shù)據(jù)映射管理;每種網(wǎng)絡(luò)之間有提供兩種方式進(jìn)行數(shù)據(jù)交換一種是主從設(shè)備式,網(wǎng)絡(luò)內(nèi)配置一種設(shè)備為主設(shè)備,另一種設(shè)備為從設(shè)備,從設(shè)備將內(nèi)部資源映射到主設(shè)備中,由主設(shè)備進(jìn)行統(tǒng)一管理;一種是非主從設(shè)備式,網(wǎng)絡(luò)內(nèi)的設(shè)備均為地位等同的設(shè)備,設(shè)備之間通過功能塊編程的方式按照EPA標(biāo)準(zhǔn)協(xié)議進(jìn)行讀寫服務(wù)操作,完成設(shè)備間的數(shù)據(jù)交換,整個(gè)控制系統(tǒng)網(wǎng)絡(luò)級(jí)聯(lián)的方式進(jìn)行數(shù)據(jù)通訊服務(wù);不同網(wǎng)絡(luò)之間的通訊采用轉(zhuǎn)發(fā)服務(wù)的方式進(jìn)行,并且只能采用主從設(shè)備式進(jìn)行通訊;在EPA的標(biāo)準(zhǔn)協(xié)議中,增加了第15種服務(wù)——轉(zhuǎn)發(fā)服務(wù)來完成不同網(wǎng)絡(luò)間的數(shù)據(jù)交換,定義服務(wù)號(hào)為31;同時(shí),在Modbus協(xié)議將Modbus報(bào)文頭中的功能號(hào)也擴(kuò)展了31作為轉(zhuǎn)發(fā)服務(wù); 其中ServiceID取EPA協(xié)議中暫時(shí)未規(guī)定的31號(hào),Length是報(bào)文長度,Message是報(bào)文標(biāo)識(shí),每發(fā)送一次加1,Reserved為EPA報(bào)文中的其他部分報(bào)文頭,暫時(shí)無用,Handle為當(dāng)前轉(zhuǎn)發(fā)的從設(shè)備索引,控制器接收到此擴(kuò)展服務(wù)ID的報(bào)文后去掉EPA報(bào)文頭,按照Handle指示的從設(shè)備獲取Modbus協(xié)議中的設(shè)備地址,取Modbus報(bào)文功能號(hào)FunctionCode為改進(jìn)的31號(hào)功能號(hào),根據(jù)接下來的EPA報(bào)文中的服務(wù)ServiceID和AppID、ObjectID來進(jìn)行讀寫服務(wù),如果擴(kuò)展設(shè)備還需要在進(jìn)行下一級(jí)轉(zhuǎn)發(fā),則EPA報(bào)文2中的ServiceID取31號(hào),其他報(bào)文格式和前面一樣,循環(huán),實(shí)現(xiàn)多級(jí)轉(zhuǎn)發(fā);Modbus網(wǎng)絡(luò)訪問ZigBee網(wǎng)絡(luò)時(shí)只需要將Modbus報(bào)文中添加上設(shè)備地址及31號(hào)功能號(hào),后面添加Handle和標(biāo)準(zhǔn)Modbus報(bào)文,如需要多級(jí)轉(zhuǎn)發(fā),則標(biāo)準(zhǔn)Modbus報(bào)文中的功能號(hào)需要添加為改進(jìn)協(xié)議的31號(hào);ZigBee網(wǎng)絡(luò)和串行通訊網(wǎng)絡(luò)一樣使用Modbus報(bào)文來進(jìn)行多級(jí)轉(zhuǎn)發(fā)服務(wù);EPA網(wǎng)絡(luò)中通過NETR和NETW指令進(jìn)行網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)交換,ZigBee網(wǎng)絡(luò)通過ZRead和ZWrite指令進(jìn)行網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)交換,Modbus網(wǎng)絡(luò)通過SCR和SCW指令進(jìn)行數(shù)據(jù)交換;EPA網(wǎng)絡(luò)中的每個(gè)讀或?qū)懝δ軌K指令由使能端、目的設(shè)備IP、本地設(shè)備操作寄存器起始地址、操作寄存器數(shù)量、目的設(shè)備操作寄存器起始地址組成;每個(gè)讀寫操作指令均被分配了一個(gè)應(yīng)用進(jìn)程AppID,設(shè)備通過AppID來判斷是否為網(wǎng)絡(luò)通訊服務(wù),并根據(jù)目的設(shè)備IP和傳遞的寄存器地址及數(shù)據(jù)來進(jìn)行操作;功能塊指令通過使能端控制通訊服務(wù)的啟動(dòng),目的設(shè)備IP用來定位所要操作的設(shè)備,讀寫服務(wù)用來標(biāo)識(shí)應(yīng)用進(jìn)程的類型,AppID用來標(biāo)識(shí)服務(wù)進(jìn)程號(hào),目的寄存器地址和數(shù)量指示了此次服務(wù)所操作的資源及大??;ZigBee網(wǎng)絡(luò)和Modbus網(wǎng)絡(luò)同EPA網(wǎng)絡(luò)不同,需要采用主從設(shè)備式的方式才能進(jìn)行通訊,通訊中只能是主設(shè)備向從設(shè)備發(fā)送讀或?qū)懙拿?;Modbus網(wǎng)絡(luò)需要指定設(shè)備標(biāo)識(shí)Handle、起始寄存器Reg、功能號(hào)FUN、目的寄存器地址ADDR、操作寄存器數(shù)目NUM以及掃描周期CIRCLE,根據(jù)上述參數(shù)組成標(biāo)準(zhǔn)Modbus報(bào)文進(jìn)行通訊;ZigBee網(wǎng)絡(luò)需要指定設(shè)備標(biāo)識(shí)Device、起始寄存器地址ADDR、操作寄存器數(shù)量NUM、目的寄存器地址Reg參數(shù),根據(jù)上述參數(shù)組成Modbus報(bào)文,進(jìn)行設(shè)備間的數(shù)據(jù)通訊; 無論何種模式,讀服務(wù)的指令每次運(yùn)行均激活,此操作通過通訊緩存區(qū)來進(jìn)行管理,激活時(shí)將發(fā)送命令放入命令緩存區(qū); 緩存區(qū)尾緩存區(qū)頭在命令緩存區(qū)中通過統(tǒng)一的定時(shí)器來管理命令的發(fā)送,定時(shí)器到達(dá)時(shí),從緩存區(qū)頭開始查詢命令,n為最大可操作的讀服務(wù)指令個(gè)數(shù),查詢到對(duì)應(yīng)的指令緩存區(qū)存在命令后,記錄此時(shí)的緩存區(qū)索引,發(fā)送此讀取命令,下一次定時(shí)器到達(dá)時(shí),將從此索引值開始檢查緩存區(qū)是否存在命令,如此循環(huán)往復(fù);寫服務(wù)除上述的通用模式外,本身具有兩種寫入指令激活方式供選擇一種是被操作數(shù)據(jù)變化激活方式,此種情況下,將本地設(shè)備中要操作的寄存器數(shù)據(jù)復(fù)制到內(nèi)存區(qū)中,每次運(yùn)行指令均檢查對(duì)比寄存器和內(nèi)存區(qū)中的數(shù)據(jù),不同時(shí)才激活寫入命令,寫入完成后要發(fā)送讀取目的設(shè)備寄存器命令,將讀回的數(shù)據(jù)同本地寄存器中的數(shù)據(jù)進(jìn)行比較,相同時(shí)復(fù)制此數(shù)據(jù)到內(nèi)存區(qū)中,不相同則再次發(fā)送寫入命令,直到寫入正確為止另一種激活方式是在每次運(yùn)行時(shí)均強(qiáng)制激活,無需考慮是否數(shù)據(jù)有改變,讓使用者自由選擇寫入時(shí)間間隔;通訊調(diào)度管理器接收到報(bào)文后,首先根據(jù)報(bào)文功能號(hào)判斷是否為轉(zhuǎn)發(fā)報(bào)文,當(dāng)為轉(zhuǎn)發(fā)報(bào)文后,繼續(xù)判斷是否為EPA網(wǎng)絡(luò)、Modbus網(wǎng)絡(luò)、ZigBee網(wǎng)絡(luò)轉(zhuǎn)發(fā)報(bào)文,根據(jù)判斷要轉(zhuǎn)發(fā)的網(wǎng)絡(luò)來進(jìn)行下一級(jí)的報(bào)文組裝,完成組裝后由通訊調(diào)度管理器轉(zhuǎn)發(fā)給通訊執(zhí)行實(shí)體,通訊執(zhí)行實(shí)體再發(fā)給物理網(wǎng)絡(luò),進(jìn)行下一級(jí)的通訊調(diào)度管理。
全文摘要
本發(fā)明公開了一種多網(wǎng)絡(luò)控制系統(tǒng)通訊管理方法,以EPA標(biāo)準(zhǔn)協(xié)議應(yīng)用層讀服務(wù)和寫服務(wù)為基礎(chǔ),結(jié)合Modbus協(xié)議,將Modbus網(wǎng)絡(luò)和ZigBee網(wǎng)絡(luò)內(nèi)的設(shè)備虛擬成EPA網(wǎng)絡(luò)設(shè)備,利用轉(zhuǎn)發(fā)服務(wù)的方式實(shí)現(xiàn)不同網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)通訊,利用功能塊指令的方式實(shí)現(xiàn)了相同網(wǎng)絡(luò)之間的數(shù)據(jù)通訊。
文檔編號(hào)H04L29/08GK101931642SQ20091030448
公開日2010年12月29日 申請(qǐng)日期2009年7月17日 優(yōu)先權(quán)日2009年7月17日
發(fā)明者付樹東, 仲崇權(quán), 師文匯, 董智超 申請(qǐng)人:大連理工計(jì)算機(jī)控制工程有限公司