999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于WebGL的PLC組態(tài)虛擬仿真系統(tǒng)設(shè)計與實現(xiàn)*

2022-12-16 09:22:50張聰林菲王進(jìn)司華豪
計算機時代 2022年12期
關(guān)鍵詞:實驗模型系統(tǒng)

張聰,林菲,王進(jìn),司華豪

(1.杭州電子科技大學(xué)計算機學(xué)院,浙江 杭州 310018;2.杭州電子科技大學(xué)人文藝術(shù)與數(shù)字媒體學(xué)院)

0 引言

隨著信息技術(shù)的飛速發(fā)展,推動現(xiàn)代信息技術(shù)與實驗教學(xué)深度融合,拓展實驗教學(xué)的深度與廣度,已成為提升實驗教學(xué)效果與水平的重要方式。在工業(yè)自動化領(lǐng)域,結(jié)合物聯(lián)網(wǎng)、大數(shù)據(jù)、云計算、虛擬現(xiàn)實等技術(shù),將工業(yè)基礎(chǔ)設(shè)施和設(shè)備等數(shù)據(jù)資源以信息的流方式進(jìn)行虛實交互已成為主流趨勢[1-2]。推動工業(yè)虛擬仿真實驗平臺的研究建設(shè),對工業(yè)自動化仿真行業(yè)的發(fā)展具有重要意義。

1 國內(nèi)外研究現(xiàn)狀

在工業(yè)領(lǐng)域內(nèi),組態(tài)仿真技術(shù)的使用已較為成熟,如組態(tài)王、FIX、力控、WinCC、威淪等軟件[4],均可通過軟件包內(nèi)的二維平面設(shè)計工具,實現(xiàn)工業(yè)流程中硬件、數(shù)據(jù)、圖形圖像等組態(tài)仿真工作[4]。但基于二維設(shè)計的組態(tài)模式對仿真過程的表現(xiàn)力不是很強,存在一定局限性。為了解決這個問題,有許多基于三維的虛擬仿真系統(tǒng)被設(shè)計出來,如RealGame 公司使用Unity3D 實現(xiàn)Windows 環(huán)境下的工業(yè)自動化生產(chǎn)線虛擬仿真實驗系統(tǒng)FactoryIO[5]。此類三維虛擬仿真實驗平臺雖能達(dá)到較好的仿真效果,但基于C/S 的系統(tǒng)結(jié)構(gòu),使其在跨平臺使用、安裝配置及升級維護(hù)上較為復(fù)雜。華南理工大學(xué)翟敬梅、郭培森等人使用WebGL構(gòu)建雙機器人運動仿真實驗平臺,實現(xiàn)了基于B/S 的跨平臺機器人運動仿真實驗系統(tǒng)[6]。但現(xiàn)有B/S 虛擬仿真系統(tǒng)的設(shè)計大多為單一案例場景,定制性較強。未能滿足高校在PLC 工業(yè)虛擬仿真實驗教學(xué)上的多樣性需求,缺乏一定的通用性。

因此,本文提出了基于WebGL 的PLC 組態(tài)虛擬仿真實驗系統(tǒng)的設(shè)計方案,結(jié)合跨平臺三維仿真技術(shù)與組態(tài)軟件的優(yōu)勢,為學(xué)生提供魯棒、易用的PLC 虛擬仿真實驗平臺,對工業(yè)仿真領(lǐng)域的發(fā)展和PLC 軟件人才的培養(yǎng)具有重要意義。

2 PLC組態(tài)虛擬仿真實驗系統(tǒng)設(shè)計

PLC組態(tài)虛擬仿真實驗系統(tǒng)遵循分層的架構(gòu)設(shè)計思想,基于開源跨平臺框架Electron 完成組態(tài)虛擬仿真實驗系統(tǒng)的構(gòu)建,支持在多平臺運行。在構(gòu)建過程中,使用OpenGL ES 圖形庫、ThreeJs 引擎庫及PLC 串口通信接口模塊庫來提供對圖形及異構(gòu)設(shè)備通訊的支持。系統(tǒng)層級結(jié)構(gòu)自底向上分別為硬件層、服務(wù)層、業(yè)務(wù)層、展示層。系統(tǒng)總體架構(gòu)如圖1所示。

圖1 系統(tǒng)架構(gòu)圖

在硬件 層,由PC 和GPU 來提供對WebGL 中ThreeJS 和PhysiJs 的引擎計算支持[7]。在服務(wù)層,使用NodeJs 作為系統(tǒng)數(shù)據(jù)交互服務(wù)的支撐,使用Serialport和Dgram 模塊來完成與硬件層基于ModBusRtu[8]協(xié)議的數(shù)據(jù)通信。在業(yè)務(wù)層,主要分為虛擬仿真模型庫構(gòu)建、三維工業(yè)場景構(gòu)建及虛擬仿真運行三個模塊。其中,虛擬仿真模型庫構(gòu)建部分包括三維模型設(shè)計、模型運動庫構(gòu)建、模型碰撞檢測方法及自定義模型添加;三維工業(yè)場景構(gòu)建部分包括基礎(chǔ)環(huán)境設(shè)計、模型組裝及PLC 通訊配置;虛擬仿真運行設(shè)計則包括虛擬漫游、模擬交互控制及仿真錯誤檢驗。在展示層,采用BootStrap 框架來構(gòu)建虛擬仿真實驗系統(tǒng)的前端頁面,并使用Webpack 來完成頁面組件的統(tǒng)一模塊管理。

2.1 虛擬仿真模型庫構(gòu)建

⑴三維模型設(shè)計

虛擬仿真模型的設(shè)計方式主要有兩種,代碼繪制和三維建模軟件Rhino 繪制。根據(jù)模型的復(fù)雜程度,選擇效率最高的模型構(gòu)建方法。基礎(chǔ)模型的構(gòu)建一般由代碼繪制。對于結(jié)構(gòu)較為復(fù)雜的工業(yè)模型選用建模軟件繪制。

⑵模型運動庫構(gòu)建

本文基于PhysiJs 來實現(xiàn)運動控制。通過對虛擬設(shè)備的運動行為分析,將模型的運動分為直線勻變速運動、旋轉(zhuǎn)運動及約束性復(fù)合運動,可以通過構(gòu)建模型的運動方程來實現(xiàn)運動的仿真。而系統(tǒng)中的模型的運動約束關(guān)系是基于D-H[9]思想實現(xiàn),根據(jù)每一個關(guān)節(jié)來建立其各自的參考坐標(biāo)系,使用單變量控制相鄰桿之間的轉(zhuǎn)移矩陣,然后再通過建立相對狀態(tài)轉(zhuǎn)移矩陣來表示各關(guān)節(jié)及連桿間的關(guān)系,最終得到連桿終端相對模型基底坐標(biāo)系的狀態(tài)轉(zhuǎn)移矩陣。本文通過模型的運動屬性配置文件來封裝模型運動接口,從而構(gòu)建出高拓展的模型運動庫。在模型加載至場景前,均通過掃描屬性配置文件來加載模型運動屬性,增強了模型庫的可拓展性與通用性。

⑶模型碰撞檢測方法

為了提升實驗仿真中碰撞檢測的計算效率,在每個模型加載至場景前,系統(tǒng)會為其設(shè)置相應(yīng)包圍盒。本試驗系統(tǒng)中因不存在會發(fā)生形變的模型對象,故使用簡單、高效、易于存儲的AABB 包圍盒作為層次包圍的底層盒結(jié)構(gòu),AABB包圍盒效果如圖2所示。

圖2 AABB包圍盒效果圖

圖2中A、B分別為三維空間中包圍盒上的最小點和最大點。AABB包圍盒在三維空間中的碰撞檢測是基于物體包圍盒的最大點和最小點的關(guān)系,通過對兩個物體的最大點和最小點在三個維度的坐標(biāo)關(guān)系的比較而得到兩物體的碰撞關(guān)系。為了提高碰撞檢測的精度與效率,使用自頂向下的方式來構(gòu)建層次包圍[10]來進(jìn)行精確碰撞檢測。如圖3 所示,層次包圍盒會將三維空間遞歸的劃分為不同層次的樹狀結(jié)構(gòu),并在當(dāng)前分割出的單塊區(qū)域再次進(jìn)行多叉劃分,直至劃分出的每一塊空間區(qū)域只包含單個元素或樹的深度達(dá)到一定閾值,即停止劃分,那么模型則以一棵多叉樹的方式來保存下來。

圖3 Top-down構(gòu)造過程圖

⑷自定義模型支持

系統(tǒng)默認(rèn)模型工具庫中的模型組件能夠滿足大部分實驗場景。若實驗者有特殊的自定義模型需要添加到組態(tài)場景中,則可通過自定義模型添加模塊來上傳本地模型。系統(tǒng)自定義模型導(dǎo)入標(biāo)準(zhǔn)如下:

①導(dǎo)入自定義模型數(shù)據(jù)格式應(yīng)為dae;

②導(dǎo)入自定義模型icon 應(yīng)為分辨不小于96*96且文件大小不大于1M的png;

③導(dǎo)入模型命名規(guī)則應(yīng)符合系統(tǒng)模型標(biāo)識方法要求;

④導(dǎo)入模型運動屬性配置應(yīng)按照系統(tǒng)提供格式配置。

⑸模型庫構(gòu)建

系統(tǒng)將所有的模型進(jìn)行分類歸庫,構(gòu)建出完整的仿真工具模型庫。系統(tǒng)為每一個模型分別定義一個類別屬性及其在各自類別下的專有命名,工具箱模型效果如圖4所示。

圖4 工具箱效果圖

2.2 三維工業(yè)場景構(gòu)建

⑴基礎(chǔ)環(huán)境設(shè)計

從WebGL的場景構(gòu)建流程來看,一個完整的擬真三維工業(yè)環(huán)境應(yīng)包含帶有重力屬性的物理場景、攝像機、光源、渲染器及貼圖等。WebGL 場景構(gòu)建流程如圖5所示。

圖5 WebGL場景構(gòu)建流程圖

⑵模型組態(tài)

在構(gòu)建虛擬仿真場景部分,模型組裝是實現(xiàn)場景快速構(gòu)建的關(guān)鍵。系統(tǒng)主要通過模型間的三維一致性來實現(xiàn)模型的方位對齊,即通過不同模型間的面一致、點一致來實現(xiàn)點面對齊。

系統(tǒng)提供對模型對象六個緯度的操作方式,可利用光標(biāo)拖拽模型至虛擬環(huán)境中的任意位置。其中,三維場景中模型對象的獲取是通過DragControl 中的Raycaster 來實現(xiàn)[10]。在交互過程中,頁面點擊坐標(biāo)與三維空間射線交互方向的轉(zhuǎn)換方程如下:

其中,Cx為2d 坐標(biāo)x,Cy為2d 坐標(biāo)y,Bl為窗口左邊距,Bt為窗口上邊距,Bw為窗口寬度,Bh為窗口高度,Rd為射線在三維空間以camera為起點的方向向量。

⑶PLC通訊配置在PLC 通訊配置部分,使用Serialport模塊掃描連接到終端上的PLC 串口,并配置波特率、數(shù)據(jù)位、校驗位、停止位等參數(shù),這樣建立與PLC 硬件板的連接。在連接建立完成后,系統(tǒng)會掃描場景中現(xiàn)有模型對象,通過讀取模型屬性配置文件來加載對應(yīng)模型屬性,同時加載PLC 硬件板中的相應(yīng)數(shù)據(jù)單元。進(jìn)而實驗者可以通過拖拽方式來完成模型屬性與PLC 數(shù)據(jù)的一一對應(yīng),實現(xiàn)數(shù)據(jù)綁定。

2.3 虛擬仿真運行

⑴虛擬漫游

在仿真模擬時,系統(tǒng)提供了第三人稱的相機觀測視角,并支持旋轉(zhuǎn)、平移和縮放操作。為提高整個漫游過程的渲染性能,使用單加載模式繪制紋理貼圖,使用LOD[11]分層來約束渲染模式,并根據(jù)相機與模型的視距不同來調(diào)整渲染模式,即為遠(yuǎn)視距低精度渲染與近視距高精度渲染。

⑵模擬交互控制

在仿真模擬的整個過程中,將由PLC 實驗板上的代碼程序來控制場景中的模型運動。在場景與PLC實驗板的數(shù)據(jù)交互過程中,系統(tǒng)通過UDP 指令幀向PLC 程序發(fā)送模型的運動狀態(tài),同時PLC 實驗板通過返回應(yīng)答幀來反饋控制參數(shù),從而實現(xiàn)仿真過程的模擬交互控制。數(shù)據(jù)交互過程遵循ModbusRtu 協(xié)議,ModbusRtu協(xié)議對應(yīng)的十六進(jìn)制指令幀格式如表1所示。

表1 ModbusRtu指令幀格式

3 工業(yè)仿真運行實例及性能測試

3.1 虛擬仿真運行實例

目前,本系統(tǒng)中已實現(xiàn)的場景包括IO 通訊、交通控制、機械軸、工件切割、機械臂、水位控制及組裝包裝流水線,并且不同場景分別由不同PLC 的控制程序來完成,場景實例效果如圖6所示。

圖6 場景實例

3.2 虛擬仿真運行性能測試

⑴系統(tǒng)流暢性測試

系統(tǒng)實際幀率性能對比如圖7 所示。圖7 上方折線為優(yōu)化后運行幀數(shù),下方折線為優(yōu)化前幀數(shù),可以觀察到該系統(tǒng)在幀率優(yōu)化上的提升。

圖7 場景仿真過程幀率圖

⑵通訊測試

本文通過記錄場景仿真過程中指令傳遞時間來評價系統(tǒng)的指令傳遞效率,仿真指令延遲如圖8所示。

圖8 指令通信傳輸延遲

從圖8 中可以看出延遲在12ms~28ms 之間,通信最小延遲約15ms,最高延遲約為28ms,可知本文虛擬仿真系統(tǒng)的指令效率較優(yōu)。

4 結(jié)束語

本文針對工業(yè)控制領(lǐng)域PLC 軟件開發(fā)人才培養(yǎng)時受實驗設(shè)備、場地和試驗投入限制等問題,設(shè)計并實現(xiàn)了一套基于WebGL 的PLC 組態(tài)虛擬仿真實驗系統(tǒng),經(jīng)過一系列基準(zhǔn)測試后驗證了本系統(tǒng)具有較好的性能,具備在線快速搭建擬真三維實驗場景并進(jìn)行PLC 仿真實驗的教學(xué)條件,能夠提高工業(yè)控制領(lǐng)域人才的培養(yǎng)質(zhì)量。目前系統(tǒng)內(nèi)置個性化組合場景還不夠多,在未來會增加模型庫及工業(yè)場景搭建適配數(shù)量。

猜你喜歡
實驗模型系統(tǒng)
一半模型
記一次有趣的實驗
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
做個怪怪長實驗
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 成人免费午夜视频| 亚洲欧洲自拍拍偷午夜色无码| 88国产经典欧美一区二区三区| 欧美一级高清视频在线播放| 玖玖精品在线| 极品尤物av美乳在线观看| 91精品国产一区| 婷婷综合缴情亚洲五月伊| 伊人久综合| 欧美精品v| 亚洲成肉网| 久视频免费精品6| 亚洲一区二区三区国产精品| 欧美日本二区| 国产精品xxx| 久久精品aⅴ无码中文字幕| 国产激爽大片高清在线观看| 91福利一区二区三区| 精品国产免费观看| 亚洲日本中文综合在线| 激情综合图区| 国产激情影院| 东京热高清无码精品| 亚洲日韩AV无码精品| 四虎成人免费毛片| 国产免费羞羞视频| 毛片a级毛片免费观看免下载| 久久人午夜亚洲精品无码区| 欧美人在线一区二区三区| 日韩亚洲综合在线| 国产18在线播放| 99热国产在线精品99| 91视频99| 毛片手机在线看| 亚洲视频在线青青| 亚洲午夜福利在线| 四虎永久免费在线| 中文一区二区视频| 成AV人片一区二区三区久久| 色综合婷婷| 成人福利在线看| 精品欧美一区二区三区久久久| 国产69精品久久久久妇女| 亚洲色图欧美| 丝袜久久剧情精品国产| 久久香蕉国产线看观| 亚洲国产成人自拍| 九九热这里只有国产精品| 97青青青国产在线播放| 手机看片1024久久精品你懂的| 国产成人AV男人的天堂| 午夜性刺激在线观看免费| 福利一区在线| 国产美女91呻吟求| 亚洲国产在一区二区三区| 国产人人干| 91视频日本| 超碰免费91| 91精品小视频| 欧美啪啪一区| 全免费a级毛片免费看不卡| 国产成年女人特黄特色毛片免| 99视频在线看| 国产日产欧美精品| 亚洲免费三区| 草逼视频国产| 国产美女叼嘿视频免费看| 久久精品亚洲专区| 婷婷99视频精品全部在线观看| 青青草原国产| 欧美在线一二区| 九九九精品成人免费视频7| 亚洲天堂高清| 成人韩免费网站| 久精品色妇丰满人妻| 欧美α片免费观看| 国产第四页| 欧美日韩国产综合视频在线观看| 婷婷久久综合九色综合88| 免费视频在线2021入口| 日韩视频福利| 亚洲中文精品久久久久久不卡|