一種可擴(kuò)展的工業(yè)組態(tài)或仿真軟件通信方法
【專利摘要】本發(fā)明公開了一種可擴(kuò)展的工業(yè)組態(tài)或仿真軟件通信方法,屬于計(jì)算機(jī)通信【技術(shù)領(lǐng)域】。本方法為:1)服務(wù)器端配置組態(tài)或仿真軟件,在組態(tài)或仿真軟件內(nèi)設(shè)置一信號(hào)讀寫模塊和一通信代理模塊;其中,所述通信代理模塊中包括多種外圍設(shè)備接口的通信代理;2)服務(wù)器端的組態(tài)或仿真軟件對(duì)某一外圍設(shè)備發(fā)出請(qǐng)求時(shí),信號(hào)讀寫模塊將該請(qǐng)求封裝后發(fā)送給該外圍設(shè)備的通信代理;3)該外圍設(shè)備的通信代理將該請(qǐng)求發(fā)送給該外圍設(shè)備,并將該外圍設(shè)備針對(duì)該請(qǐng)求的返回結(jié)果發(fā)送給信號(hào)讀寫模塊;4)信號(hào)讀寫模塊對(duì)返回結(jié)果進(jìn)行解析,將解析得到的信號(hào)名稱及信號(hào)值反饋給組態(tài)或仿真軟件。本方法將增強(qiáng)工業(yè)組態(tài)或仿真軟件通信部分的擴(kuò)展性,減少開發(fā)人員的開發(fā)時(shí)間。
【專利說明】一種可擴(kuò)展的工業(yè)組態(tài)或仿真軟件通信方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及工業(yè)組態(tài)(或仿真)軟件與外圍設(shè)備的通信方法,屬于計(jì)算機(jī)通信【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]現(xiàn)有組態(tài)(或仿真)軟件,譬如SamDraw組態(tài)軟件、InTouch組態(tài)軟件、SIMIT等等,提供的通信接口均集成在軟件中,而且種類有限。一般內(nèi)置的接口有串口、以太網(wǎng)口、DDE軟接口、OPC接口等等,如圖1所示。圖1中(a)為常見組態(tài)軟件所支持的設(shè)備類型,圖1中(b)為常見組態(tài)軟件所支持的接口類型。
[0003]現(xiàn)有的工業(yè)組態(tài)與外圍設(shè)備的通信接口 一般有RS232、RS485、以太網(wǎng)接口等,這種內(nèi)置方式會(huì)帶來軟件實(shí)際應(yīng)用中的限制:組態(tài)軟件通過I/o驅(qū)動(dòng)程序從現(xiàn)場(chǎng)測(cè)控設(shè)備獲得實(shí)時(shí)數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行加工處理,一般情況下,I/o驅(qū)動(dòng)程序是與設(shè)備相關(guān)的,即一種設(shè)備的驅(qū)動(dòng)程序只能驅(qū)動(dòng)該類的設(shè)備。當(dāng)組態(tài)(或仿真)軟件本身功能達(dá)到要求時(shí),如果設(shè)備更新或升級(jí),而組態(tài)軟件中的I/o驅(qū)動(dòng)程序沒有及時(shí)更新,可能依然無法對(duì)某種特定的監(jiān)控對(duì)象進(jìn)行組態(tài)或測(cè)試,除非更新I/o驅(qū)動(dòng)程序,而這樣又要考慮組態(tài)(或仿真)軟件和I/O驅(qū)動(dòng)程序的兼容性,將會(huì)面臨對(duì)整個(gè)組態(tài)(或仿真)軟件進(jìn)行大量修改的問題。
【發(fā)明內(nèi)容】
[0004]為了解決現(xiàn)有組態(tài)(或仿真)軟件接口類型限制問題,本發(fā)明提出一種可擴(kuò)展的通信結(jié)構(gòu),可以不用修改軟件本身的情況下在新型接口上進(jìn)行組態(tài)(或仿真)操作。
[0005]本發(fā)明的技術(shù)方案為:
[0006]一種可擴(kuò)展的工業(yè)組態(tài)或仿真軟件通信方法,其步驟為:
[0007]I)服務(wù)器端配置組態(tài)或仿真軟件,在組態(tài)或仿真軟件內(nèi)設(shè)置一信號(hào)讀寫模塊和一通信代理模塊;其中,所述通信代理模塊中包括多種外圍設(shè)備接口的通信代理;
[0008]2)服務(wù)器端的組態(tài)或仿真軟件對(duì)某一外圍設(shè)備發(fā)出請(qǐng)求時(shí),信號(hào)讀寫模塊將該請(qǐng)求封裝
[0009]后發(fā)送給該外圍設(shè)備的通信代理;
[0010]3)該外圍設(shè)備的通信代理將該請(qǐng)求發(fā)送給該外圍設(shè)備,并將該外圍設(shè)備針對(duì)該請(qǐng)求的返回結(jié)果發(fā)送給信號(hào)讀寫模塊;
[0011]4)信號(hào)讀寫模塊對(duì)返回結(jié)果進(jìn)行解析,將解析得到的信號(hào)名稱及信號(hào)值反饋給組態(tài)或仿真軟件。
[0012]進(jìn)一步的,組態(tài)或仿真軟件發(fā)出的請(qǐng)求包括讀請(qǐng)求和寫請(qǐng)求。
[0013]進(jìn)一步的,所述讀請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)包括:命令行字段,數(shù)字信號(hào)個(gè)數(shù)字段,信號(hào)讀請(qǐng)求周期,模擬信號(hào)個(gè)數(shù)字段,數(shù)字信號(hào)序號(hào)字段,模擬信號(hào)序號(hào)字段。
[0014]進(jìn)一步的,針對(duì)所述讀請(qǐng)求的返回結(jié)果信息包括:響應(yīng)碼,發(fā)送給組態(tài)或仿真軟件的數(shù)字信號(hào)個(gè)數(shù),發(fā)送給組態(tài)或仿真的模擬信號(hào)個(gè)數(shù),每一數(shù)字信號(hào)在數(shù)字信號(hào)中的序號(hào)及信號(hào)值,每一模擬信號(hào)在模擬信號(hào)中的序號(hào)及信號(hào)值。
[0015]進(jìn)一步的,所述寫請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)包括:命令行字段,數(shù)字信號(hào)個(gè)數(shù)字段,模擬信號(hào)個(gè)數(shù)字段,數(shù)字信號(hào)序號(hào)及具體值字段,模擬信號(hào)序號(hào)及具體值字段。
[0016]進(jìn)一步的,針對(duì)所述寫請(qǐng)求的返回結(jié)果信息包括:響應(yīng)碼。
[0017]進(jìn)一步的,組態(tài)或仿真軟件發(fā)出的請(qǐng)求還包括暫停請(qǐng)求和退出請(qǐng)求;所述退出請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)包括:命令行字段,充請(qǐng)求頭部字段,多出頭部字段;所述暫停請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)包括:命令行字段,充請(qǐng)求頭部字段,多出頭部字段。
[0018]進(jìn)一步的,組態(tài)或仿真軟件發(fā)出的請(qǐng)求還包括配置文檔查找請(qǐng)求,該請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)包括:命令行字段,項(xiàng)目路徑字符串字節(jié)數(shù)字段,填充寫請(qǐng)求頭部字段,項(xiàng)目路徑字符串字段。
[0019]進(jìn)一步的,所述組態(tài)或仿真軟件與所述信號(hào)讀寫模塊之間通過進(jìn)程間通信方式或線程間通信方式進(jìn)行通信。
[0020]進(jìn)一步的,所述外圍設(shè)備包括:Excel文檔、PLCSim、OPCServer ;所述通信代理包括:Excel通信代理、PLCSim通信代理、Ethernet通信代理、OPCServer通信代理。
[0021]本文提出的通信結(jié)構(gòu)基于代理模式進(jìn)行設(shè)計(jì),主要思想是在服務(wù)器端配置組態(tài)(或仿真)軟件,組態(tài)(或仿真)軟件內(nèi)包含信號(hào)讀寫模塊,信號(hào)讀寫模塊將組態(tài)(或仿真)軟件對(duì)設(shè)備信號(hào)的讀寫請(qǐng)求封裝(封裝形式詳見“【具體實(shí)施方式】”),具體實(shí)現(xiàn)方式即使用編程語言(如C++等)按照“【具體實(shí)施方式】”中表格規(guī)定的信息格式,將特定字節(jié)數(shù)和每位字節(jié)值封裝為一段內(nèi)存,通過進(jìn)程間通信(如使用命名管道等)傳遞給特定的通信代理(通信代理的解釋詳見下段);通信代理返回結(jié)果,信號(hào)讀寫模塊對(duì)結(jié)果進(jìn)行解析,解析方式是按照“【具體實(shí)施方式】”中表格規(guī)定的信息格式,對(duì)通信代理返回結(jié)果按照每位字節(jié)進(jìn)行解析,得到信號(hào)名稱及信號(hào)值,提供給組態(tài)(或仿真)軟件使用。
[0022]如圖2所示:組態(tài)(或仿真)軟件與設(shè)備進(jìn)行信息交互時(shí),根據(jù)不同設(shè)備會(huì)選擇不同的通信代理,組態(tài)(或仿真)軟件向通信代理發(fā)出與設(shè)備進(jìn)行信息交互的請(qǐng)求,然后由通信代理與特定設(shè)備進(jìn)行通信,最后由代理將請(qǐng)求結(jié)果返回給組態(tài)(或仿真)軟件。每種設(shè)備對(duì)應(yīng)各自的通信代理,如讀寫Excel文件、PLCSim、OPCServer等都對(duì)應(yīng)特定代理,組態(tài)(或仿真)軟件需要與特定設(shè)備進(jìn)行信息交互時(shí),組態(tài)(或仿真)軟件會(huì)激活相應(yīng)的通信代理,此通信代理會(huì)接受組態(tài)(或仿真)軟件對(duì)特定設(shè)備的讀寫請(qǐng)求,這個(gè)讀寫請(qǐng)求具體是由組態(tài)(或仿真)軟件讀寫模塊對(duì)請(qǐng)求消息封裝后發(fā)出的,然后通信代理將此讀寫請(qǐng)求傳遞到特定設(shè)備,最后通信代理將該設(shè)備的反饋結(jié)果回傳到組態(tài)(或仿真)軟件。Excel文檔或仿真器也可以看做是外接設(shè)備,Excel文檔可以接受組態(tài)(或仿真)軟件的讀寫請(qǐng)求,這些信息交互請(qǐng)求由Excel文檔通信代理來傳遞,特定的通信代理會(huì)識(shí)別特定的設(shè)備。
[0023]圖2中左邊部分為組態(tài)(或仿真)軟件,左邊部分下部為信號(hào)讀寫模塊;圖2中間部分為各種特定通信代理,列舉了 Excel、PLCSim、Ethernet、OPCServer通信代理;圖2右邊部分為各種特定設(shè)備,列舉了 Excel文件、PLCSim、OPC設(shè)備。
[0024]在該結(jié)構(gòu)中,位于中間的特定的通信代理將組態(tài)(或仿真)軟件對(duì)特定設(shè)備的信號(hào)讀寫請(qǐng)求重新封裝并轉(zhuǎn)發(fā)至特定的外圍設(shè)備。新的通信過程將分兩個(gè)階段進(jìn)行。
[0025]通信過程01
[0026]組態(tài)(或仿真)軟件內(nèi)置的信號(hào)讀寫模塊通信過程。組態(tài)(或仿真)軟件向通信代理傳遞對(duì)設(shè)備的讀寫請(qǐng)求,該請(qǐng)求有統(tǒng)一信號(hào)組織結(jié)構(gòu),詳見“【具體實(shí)施方式】”中“11)軟件向通信進(jìn)程發(fā)起Read請(qǐng)求(RD)”和“13)軟件向通信進(jìn)程發(fā)起Write請(qǐng)求(WT) ” ;通行代理將反饋結(jié)果回傳到組態(tài)(或仿真)軟件,該回傳信息有統(tǒng)一信號(hào)組織結(jié)構(gòu),詳見“【具體實(shí)施方式】”中“ 12)通信進(jìn)程對(duì)Read請(qǐng)求的響應(yīng)”和“ 14)通信進(jìn)程對(duì)Write請(qǐng)求的響應(yīng)”。本通信過程可以使用進(jìn)程間通信(IPC),如:管道,Socket方式。也可以采用線程間通信或者其他類似通信方式。
[0027]通信過程02
[0028]特定通信代理與對(duì)應(yīng)的外界設(shè)備進(jìn)行交互的過程,是外置的且針對(duì)特定交互對(duì)象開發(fā)設(shè)計(jì)的通信軟件。如GW Excel可以讀寫Excel文檔;GW PLCSim可以與PLCSim仿真器進(jìn)行通信;GW Ethernet可以與支持TCP/IP的以太網(wǎng)設(shè)備進(jìn)行通信等等。特定通信代理被組態(tài)(或仿真)軟件激活時(shí),該通信代理會(huì)接受組態(tài)(或仿真)軟件對(duì)特定設(shè)備的讀寫請(qǐng)求,同時(shí)將該請(qǐng)求傳遞到特定設(shè)備。
[0029]軟件的“信號(hào)讀寫模塊”提供統(tǒng)一的信號(hào)操作接口 ;“通信過程-01”使用自定義或者公開的通信協(xié)議進(jìn)行通信;“統(tǒng)一信號(hào)組織結(jié)構(gòu)”提供一種或幾種數(shù)據(jù)結(jié)構(gòu)對(duì)信號(hào)進(jìn)行存儲(chǔ)。
[0030]需要特別說明的是,如果特定通信方式存在兩個(gè)及以上的通信代理(如C/S結(jié)構(gòu)),該結(jié)構(gòu)同樣可以支持?jǐn)U展,只需在通信代理鏈的最左端提供通信過程01支持即可。
[0031]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
[0032]本發(fā)明提出的通信方法將增強(qiáng)工業(yè)組態(tài)(或仿真)軟件通信部分的擴(kuò)展性,減少開發(fā)人員的開發(fā)時(shí)間。同時(shí)也 方便用戶在內(nèi)置通信接口之外自行開發(fā)特定的通信接口。
【專利附圖】
【附圖說明】
[0033]圖1、常見的內(nèi)置通信接口 ;
[0034](a)為常見組態(tài)軟件所支持的設(shè)備類型,(b)為常見組態(tài)軟件所支持的接口類型,
[0035]圖2、可擴(kuò)展通信結(jié)構(gòu);
[0036]圖3、本發(fā)明方法流程圖。
【具體實(shí)施方式】
[0037]I)本發(fā)明的工作流程如圖3所示
[0038]2) “通信過程-01”涉及的消息格式
[0039]11)組態(tài)(或仿真)軟件向通信代理發(fā)起Read請(qǐng)求(RD)
[0040]Read請(qǐng)求只發(fā)送一次,處理端需要根據(jù)指定的響應(yīng)周期循環(huán)響應(yīng),直到收到下一個(gè)Read請(qǐng)求,然后繼續(xù)重復(fù)上述過程。
[0041]BigEndian指高位字節(jié)排放在內(nèi)存的低地址端,低位字節(jié)排放在內(nèi)存的高地址端。
[0042]表1、Read請(qǐng)求(RD)的數(shù)據(jù)結(jié)構(gòu)
[0043]
【權(quán)利要求】
1.一種可擴(kuò)展的工業(yè)組態(tài)或仿真軟件通信方法,其步驟為: 1)服務(wù)器端配置組態(tài)或仿真軟件,在組態(tài)或仿真軟件內(nèi)設(shè)置一信號(hào)讀寫模塊和一通信代理模塊;其中,所述通信代理模塊中包括多種外圍設(shè)備接口的通信代理; 2)服務(wù)器端的組態(tài)或仿真軟件對(duì)某一外圍設(shè)備發(fā)出請(qǐng)求時(shí),信號(hào)讀寫模塊將該請(qǐng)求封裝后發(fā)送給該外圍設(shè)備的通信代理; 3)該外圍設(shè)備的通信代理將該請(qǐng)求發(fā)送給該外圍設(shè)備,并將該外圍設(shè)備針對(duì)該請(qǐng)求的返回結(jié)果發(fā)送給信號(hào)讀寫模塊; 4)信號(hào)讀寫模塊對(duì)返回結(jié)果進(jìn)行解析,將解析得到的信號(hào)名稱及信號(hào)值反饋給組態(tài)或仿真軟件。
2.如權(quán)利要求1所述的方法,其特征在于組態(tài)或仿真軟件發(fā)出的請(qǐng)求包括讀請(qǐng)求和寫請(qǐng)求。
3.如權(quán)利要求2所述的方法,其特征在于所述讀請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)包括:命令行字段,數(shù)字信號(hào)個(gè)數(shù)字段,信號(hào)讀請(qǐng)求周期,模擬信號(hào)個(gè)數(shù)字段,數(shù)字信號(hào)序號(hào)字段,模擬信號(hào)序號(hào)字段。
4.如權(quán)利要求3所述的方法,其特征在于針對(duì)所述讀請(qǐng)求的返回結(jié)果信息包括:響應(yīng)碼,發(fā)送給組態(tài)或仿真軟件的數(shù)字信號(hào)個(gè)數(shù),發(fā)送給組態(tài)或仿真的模擬信號(hào)個(gè)數(shù),每一數(shù)字信號(hào)在數(shù)字信號(hào)中的序號(hào)及信號(hào)值,每一模擬信號(hào)在模擬信號(hào)中的序號(hào)及信號(hào)值。
5.如權(quán)利要求2所述的方法,其特征在于所述寫請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)包括:命令行字段,數(shù)字信號(hào)個(gè)數(shù)字段,模擬信號(hào)個(gè)數(shù)字段,數(shù)字信號(hào)序號(hào)及具體值字段,模擬信號(hào)序號(hào)及具體值字段。
6.如權(quán)利要求5所述的方法,其特征在于針對(duì)所述寫請(qǐng)求的返回結(jié)果信息包括:響應(yīng)碼。
7.如權(quán)利要求2所述的方法,其特征在于組態(tài)或仿真軟件發(fā)出的請(qǐng)求還包括暫停請(qǐng)求和退出請(qǐng)求;所述退出請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)包括:命令行字段,充請(qǐng)求頭部字段,多出頭部字段;所述暫停請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)包括:命令行字段,充請(qǐng)求頭部字段,多出頭部字段。
8.如權(quán)利要求1所述的方法,其特征在于組態(tài)或仿真軟件發(fā)出的請(qǐng)求還包括配置文檔查找請(qǐng)求,該請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)包括:命令行字段,項(xiàng)目路徑字符串字節(jié)數(shù)字段,填充寫請(qǐng)求頭部字段,項(xiàng)目路徑字符串字段。
9.如權(quán)利要求1所述的方法,其特征在于所述組態(tài)或仿真軟件與所述信號(hào)讀寫模塊之間通過進(jìn)程間通信方式或線程間通信方式進(jìn)行通信。
10.如權(quán)利要求1所述的方法,其特征在于所述外圍設(shè)備包括=Excel文檔、PLCSim,OPCServer ; 所述通信代理包括=Excel通信代理、PLCSim通信代理、Ethernet通信代理、OPCServer通信代理。
【文檔編號(hào)】H04L29/08GK103546527SQ201210262972
【公開日】2014年1月29日 申請(qǐng)日期:2012年7月26日 優(yōu)先權(quán)日:2012年7月16日
【發(fā)明者】武斌, 郭亮, 翁彥, 梁國(guó)政, 周瑜, 譚海濤 申請(qǐng)人:中國(guó)科學(xué)院軟件研究所