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

        ?

        基于虛擬設(shè)備模型的工業(yè)協(xié)議轉(zhuǎn)換方法研究

        2023-12-26 04:46:58卞志國湯東陽曹棟
        智能制造 2023年6期
        關(guān)鍵詞:定義設(shè)備模型

        卞志國,湯東陽,曹棟

        (1.南京工業(yè)職業(yè)技術(shù)大學(xué)計算機與軟件學(xué)院,江蘇 南京 210023;2.江蘇省工業(yè)軟件工程技術(shù)研究開發(fā)中心,江蘇南京 210023)

        1 引言

        在工業(yè)生產(chǎn)領(lǐng)域,由于自動化設(shè)備廠商和相關(guān)國際標(biāo)準(zhǔn)化組織的不妥協(xié),導(dǎo)致了現(xiàn)場總線和工業(yè)以太網(wǎng)均出現(xiàn)了多種標(biāo)準(zhǔn)共存的局面,標(biāo)準(zhǔn)之間互不兼容,導(dǎo)致不同的工控協(xié)議使用不同的實現(xiàn)方法,數(shù)據(jù)組織方式、語義表示也不盡相同[1-2]。針對當(dāng)前工業(yè)互聯(lián)網(wǎng)邊緣計算基礎(chǔ)網(wǎng)關(guān)與軟件平臺多協(xié)議交互形式存在普適性低、缺乏自適應(yīng)能力等問題[3-7],本文研究并開發(fā)在工業(yè)互聯(lián)網(wǎng)邊緣計算場景下,多種工控協(xié)議的自適應(yīng)協(xié)議交互模型,解決具有有限聯(lián)網(wǎng)能力的設(shè)備之間進行數(shù)據(jù)交互過程中存在的瓶頸問題,從而實現(xiàn)該類設(shè)備之間通過協(xié)議轉(zhuǎn)換進行數(shù)據(jù)交互。

        2 研究與方法

        2.1 協(xié)議轉(zhuǎn)換流程設(shè)計

        本文設(shè)計了一種滿足讀、寫、訂閱/發(fā)布、設(shè)備狀態(tài)查詢等功能的普適性數(shù)據(jù)交互語義模型,并利用Golang語言實現(xiàn)跨平臺的交互數(shù)據(jù)協(xié)議轉(zhuǎn)換服務(wù)。該服務(wù)北向與標(biāo)準(zhǔn)化協(xié)議客戶端通過HTTP 協(xié)議進行交互,負責(zé)將獲取的標(biāo)準(zhǔn)化協(xié)議數(shù)據(jù)轉(zhuǎn)換為普適性數(shù)據(jù)交互語義模型,南向與非標(biāo)準(zhǔn)化協(xié)議的智能設(shè)備或邊緣云平臺進行交互,將獲取的非標(biāo)準(zhǔn)化協(xié)議數(shù)據(jù)(如智能傳感器、無線設(shè)備、智能工業(yè)云平臺)轉(zhuǎn)換為普適性數(shù)據(jù)交互語義模型,從而為客戶端提供統(tǒng)一的數(shù)據(jù)輸入/輸出協(xié)議,系統(tǒng)總體架構(gòu)如圖1 所示。

        圖1 跨平臺交互數(shù)據(jù)協(xié)議轉(zhuǎn)換服務(wù)數(shù)據(jù)流

        協(xié)議轉(zhuǎn)換網(wǎng)關(guān)實現(xiàn)了web 服務(wù)功能,向客戶端提供RESTful 風(fēng)格的API 接口,客戶端通過向協(xié)議轉(zhuǎn)換網(wǎng)關(guān)請求數(shù)據(jù),從而實現(xiàn)設(shè)備數(shù)據(jù)的讀、寫、訂閱/發(fā)布。協(xié)議轉(zhuǎn)換網(wǎng)關(guān)接收到客戶端發(fā)送的請求后,通過查詢其管理的設(shè)備資源模型,進行相應(yīng)的操作,并向客戶端返回響應(yīng)。

        2.2 設(shè)備資源模型

        (1)資源模型文件 本文采用統(tǒng)一的設(shè)備資源模型描述文件定義終端設(shè)備的數(shù)據(jù)資源,支持JSON 和TOML兩種文件格式。以Modbus 設(shè)備為例,其中Name 定義了設(shè)備的名稱,DebiceId 定義設(shè)備的ID 號,對于連接到該網(wǎng)關(guān)的設(shè)備而言,該ID 號應(yīng)該是唯一的,Protocol 定義了設(shè)備支持的工業(yè)協(xié)議,本文采用動態(tài)加載的方式,支持Modbus、OPC UA、MQTT 三種協(xié)議。BaseInfo 給出了該設(shè)備所特有的信息,如Modbus 設(shè)備要求給出設(shè)備IP、設(shè)備端口號、從設(shè)備號、寄存器節(jié)點信息,其中寄存器節(jié)點信息表Nodes 定義了該設(shè)備所有可訪問寄存器數(shù)據(jù)的信息,包括地址、數(shù)據(jù)類型、數(shù)據(jù)長度,BaseInfo 部分根據(jù)設(shè)備協(xié)議的不同定義相應(yīng)的字段。

        (2)插件式協(xié)議轉(zhuǎn)換模塊 本文采用插件模塊實現(xiàn)非標(biāo)準(zhǔn)工業(yè)協(xié)議的轉(zhuǎn)換,開發(fā)了OPC UA、Modbus、MQTT 三種常用協(xié)議轉(zhuǎn)換模塊。

        本文采用Golang 作為系統(tǒng)開發(fā)工具,作為編譯型的開發(fā)語言,Golang 本身并不支持通過源代碼實現(xiàn)動態(tài)加載和更新。但Golang 官方提供了Plugin 技術(shù),實現(xiàn)動態(tài)加載。即通過動態(tài)共享對象封裝操作系統(tǒng)底層接口,對外提供統(tǒng)一的調(diào)用接口,以供上層應(yīng)用程序調(diào)用,相當(dāng)于提供了一層兼容層。

        首先定義插件模塊基類,在此基類的基礎(chǔ)上,派生出對應(yīng)協(xié)議轉(zhuǎn)換模塊,插件模塊關(guān)系如圖2 所示。

        圖2 插件模塊關(guān)系

        在插件模塊基類中,定義了設(shè)備的基礎(chǔ)信息,如設(shè)備名稱、ID 號、是否在線等,定義了共性操作方法,如初始化模塊,斷開連接,處理WebSocket 請求,處理HTTP 請求等。非標(biāo)準(zhǔn)協(xié)議轉(zhuǎn)換插件均派生于該基類,并根據(jù)非標(biāo)準(zhǔn)協(xié)議的具體操作規(guī)程,增加協(xié)議特有的操作,改寫基類中相應(yīng)的函數(shù)等。

        其次,在轉(zhuǎn)換軟件啟動時,掃描插件模塊文件夾,依次加載對應(yīng)的插件模塊,協(xié)議轉(zhuǎn)換軟件服務(wù)的總活動流程如圖3 所示。

        圖3 協(xié)議轉(zhuǎn)換軟件服務(wù)的總活動流程

        2.3 協(xié)議轉(zhuǎn)換軟件設(shè)計

        協(xié)議轉(zhuǎn)換軟件服務(wù)有兩部分組成,一是協(xié)議轉(zhuǎn)換軟件網(wǎng)關(guān)主線程,二是掛載在該服務(wù)器的虛擬設(shè)備線程。

        軟件主線程啟動后,首先加載協(xié)議轉(zhuǎn)換插件,獲取該服務(wù)支持的非標(biāo)準(zhǔn)協(xié)議類型;然后從配置文件加載設(shè)備資源模型,構(gòu)建虛擬設(shè)備;最后啟動web 服務(wù),等待客戶端請求。服務(wù)端接收到客戶端請求后,首先解析請求數(shù)據(jù),將對應(yīng)的請求分配到對應(yīng)的虛擬設(shè)備,如果對應(yīng)的虛擬設(shè)備不存在,則直接返回錯誤信息,否則將對應(yīng)的服務(wù)請求轉(zhuǎn)發(fā)至對應(yīng)的虛擬設(shè)備線程;接著,虛擬設(shè)備線程將基于普適協(xié)議的請求數(shù)據(jù)轉(zhuǎn)換為對應(yīng)的設(shè)備協(xié)議數(shù)據(jù),對相應(yīng)的設(shè)備進行讀、寫、訂閱等操作,并獲取相應(yīng)的返回數(shù)據(jù);最后,將返回的非標(biāo)準(zhǔn)協(xié)議數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)協(xié)議數(shù)據(jù),并返回到請求客戶端。

        3 測試與分析

        按照上述總體架構(gòu)搭建測試系統(tǒng),其中協(xié)議轉(zhuǎn)換網(wǎng)關(guān)分別部署于PC 機和RaspberryPi 3B,PC 機配置運行于Intel(R)Core(TM)i7-10750H CPU @ 2.60GHz,32G內(nèi)存機器上的WSL Ubuntu20.04 子系統(tǒng);RaspberryPi 3B配 置BCM2835,ARMv7 Processor rev 4(v7l),內(nèi) 存1G。

        利用Postman 對服務(wù)器進行不間斷寫操作訪問100次,統(tǒng)計API 響應(yīng)時間,其平均每次API 響應(yīng)時間見表1。

        表1 API 請求響應(yīng)時間(單位:ms)

        API 一次完整的寫操作時間包括三個部分:一是客戶端與web 服務(wù)器之間消耗的時間,二是web 服務(wù)器與設(shè)備之間消耗的時間,三是協(xié)議轉(zhuǎn)換的時間,如圖4 所示。

        因此表1 中ping 的時間只有t1+t6,而訪問設(shè)備的時間包括t1+t2+t3+t4+t5+t6,所以平均一次協(xié)議轉(zhuǎn)換時間不超過(t3+t4+t5+t6)/2,在本次測試中,平均轉(zhuǎn)換時間見表2。

        表2 平均轉(zhuǎn)換時間(單位:ms)

        從表2 可以看出,Modbus 耗時最長,這是因為Modbus 設(shè)備端對寄存器的讀寫是串行的,對設(shè)備的訪問相對較耗時間;MQTT 耗時最短,因為MQTT 寫完后并不需要等待返回數(shù)據(jù)因此相對速度較快。

        4 結(jié)束語

        本文提出的協(xié)議轉(zhuǎn)換方案優(yōu)點主要體現(xiàn)在五個方面:①Golang 語言開發(fā),部署方便,并發(fā)效率高;②設(shè)備協(xié)議插件化,便于擴展新的設(shè)備協(xié)議;③利用多線程技術(shù)及設(shè)備描述文件虛擬化設(shè)備,系統(tǒng)適應(yīng)性強,響應(yīng)速度快;④系統(tǒng)采用RESTful API 接口和WebSocket 長連接設(shè)計,便于多種類型客戶端操作各類協(xié)議設(shè)備;⑤系統(tǒng)運行環(huán)境適應(yīng)性強,可運行于普通計算機平臺或樹莓派等嵌入式系統(tǒng)。

        猜你喜歡
        定義設(shè)備模型
        一半模型
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        基于MPU6050簡單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        3D打印中的模型分割與打包
        500kV輸變電設(shè)備運行維護探討
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        原來他們都是可穿戴設(shè)備
        消費者報道(2014年7期)2014-07-31 11:23:57
        修辭學(xué)的重大定義
        国产精品自线一区二区三区| 国产黄大片在线观看| 亚洲精品久久激情国产片| 久久久久久欧美精品se一二三四| 性一交一乱一伧国产女士spa| 日日碰狠狠添天天爽超碰97| 亚洲亚洲网站三级片在线| 日韩有码中文字幕第一页| 久久综合久中文字幕青草| 日本女u久久精品视频| 精品中文字幕在线不卡| 国产后入清纯学生妹| 精品国产乱码久久久软件下载 | 可以免费看亚洲av的网站| 隔壁老王国产在线精品| 成人毛片无码一区二区三区| 亚洲色欲综合一区二区三区| 免费国产交换配乱淫| 一本久到久久亚洲综合| 国产精品美女久久久久浪潮AVⅤ | 久久久精品午夜免费不卡| 亚洲精品无码成人a片| 亚洲不卡电影| 精品国产自拍在线视频| 性色国产成人久久久精品二区三区| 久久精品国产免费观看三人同眠| 国产欧美日韩综合精品二区| 巨大欧美黑人xxxxbbbb| 亚洲av高清资源在线观看三区| 日本a级片一区二区三区| 国产成人精品日本亚洲专区61| 欧美a级情欲片在线观看免费| ā片在线观看| 一本大道久久精品 东京热| 日本视频一区二区三区三州| 日本污ww视频网站| 欧美一区二区三区红桃小说 | 人人爽人人爱| 日本中文字幕一区二区高清在线 | 国内偷拍国内精品多白86| 人妻熟妇乱又伦精品hd|