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

        ?

        基于Unity3D的電磁軌道仿真平臺監(jiān)控系統(tǒng)*

        2017-05-02 11:58:16龐海亮
        上海電氣技術(shù) 2017年1期
        關(guān)鍵詞:輸入輸出腳本組態(tài)

        龐海亮

        上海電氣集團(tuán)股份有限公司 中央研究院 上海 200070

        在工業(yè)控制領(lǐng)域中,組態(tài)軟件作為開發(fā)綜合監(jiān)控系統(tǒng)常用的平臺應(yīng)用非常廣泛,常見的組態(tài)軟件包括西門子WinCC、施耐德Intouch、北京亞控KingView和上海電氣NetControl等。不同品牌的組態(tài)軟件雖然在具體開發(fā)使用方面有所不同,但在總體功能框架方面都非常類似,同時(shí)也都存在一個(gè)問題: 由于對三維畫面支持不佳,因此不能實(shí)現(xiàn)設(shè)備地理信息系統(tǒng)(GIS)監(jiān)控、設(shè)備自動巡檢、設(shè)備仿真運(yùn)行等功能[1]。

        近幾年,隨著計(jì)算機(jī)硬件及軟件技術(shù)不斷進(jìn)步,虛擬仿真技術(shù)不斷被應(yīng)用于各行各業(yè)。Unity3D作為一款性能強(qiáng)大的跨平臺開發(fā)軟件,應(yīng)用也越來越廣泛。采用Unity3D軟件開發(fā)電磁軌道交通仿真平臺三維綜合監(jiān)控系統(tǒng),通過改變?nèi)S監(jiān)控系統(tǒng)中人物模型的視角,可以實(shí)現(xiàn)對三維場景中的設(shè)備進(jìn)行巡檢等功能[2],同時(shí)三維監(jiān)控系統(tǒng)能夠?qū)⒎抡嫫脚_上的設(shè)備及設(shè)備狀態(tài)信息以純數(shù)字化模型進(jìn)行展示,以提供更直觀的監(jiān)控效果。

        1 系統(tǒng)概述

        1.1 電磁軌道交通仿真平臺

        電磁軌道交通是以地面鋪設(shè)的磁釘作為車輛行駛導(dǎo)軌的一種無人駕駛交通模式,目前這一交通模式被應(yīng)用于公共交通領(lǐng)域,具有道路改造成本低、建設(shè)周期短、設(shè)備維護(hù)成本低等多種優(yōu)勢。

        電磁軌道交通模擬仿真平臺是按電磁軌道交通原理制作的一個(gè)沙盤,具備與實(shí)際電磁軌道交通相同的功能,同時(shí)配備若干對外數(shù)據(jù)接口,可以實(shí)現(xiàn)與外部設(shè)備的互聯(lián)及數(shù)據(jù)交互。電磁軌道交通仿真平臺如圖1所示,對外提供的數(shù)據(jù)種類見表1。

        表1 電磁軌道交通仿真平臺對外數(shù)據(jù)接口

        圖1 電磁軌道交通仿真平臺

        1.2 Unity3D

        Unity3D是一款跨平臺圖形化三維軟件,能夠提供渲染、物理模擬、音樂音效、腳本及場景管理等基本功能,具有可視化編輯開發(fā)環(huán)境,支持包括C#、JavaScript在內(nèi)的腳本語言,默認(rèn)的腳本編輯器為Monodevelop,也可使用Visual Studio作為腳本編輯器??蓪⑼ㄟ^3Dmax、Maya建立的模型導(dǎo)入U(xiǎn)nity3D中進(jìn)行相應(yīng)的操作,通過編寫對應(yīng)的腳本可以實(shí)現(xiàn)模型的各種動態(tài)模擬效果[3]。

        1.3 NetControl

        NetControl是上海電氣推出的一款工業(yè)組態(tài)軟件,目前已在電力系統(tǒng)、軌道交通、泵站系統(tǒng)中應(yīng)用,具備監(jiān)控系統(tǒng)畫面組態(tài)、腳本控制、數(shù)據(jù)記錄存儲、控件二次開發(fā)等多種功能。通過NetControl與仿真平臺互聯(lián),可以進(jìn)行數(shù)據(jù)交互操作,并可將數(shù)據(jù)實(shí)時(shí)更新至SQL Server數(shù)據(jù)庫。

        1.4 系統(tǒng)整體框架

        整個(gè)系統(tǒng)包括仿真平臺、NetControl監(jiān)控系統(tǒng)、SQL Server數(shù)據(jù)庫、Unity3D工程。整體框架分為四層,仿真平臺作為被控對象提供數(shù)據(jù)源,NetControl監(jiān)控系統(tǒng)作為二維監(jiān)控系統(tǒng)與仿真平臺互聯(lián),SQL Server數(shù)據(jù)庫負(fù)責(zé)存儲NetControl監(jiān)控系統(tǒng)中記錄的數(shù)據(jù),Unity3D工程通過連接SQL Server數(shù)據(jù)庫取得數(shù)據(jù)并通過腳本實(shí)現(xiàn)相應(yīng)的動畫效果。系統(tǒng)整體框架如圖2所示。

        圖2 系統(tǒng)整體框架

        2 NetControl監(jiān)控系統(tǒng)的實(shí)現(xiàn)

        NetControl中集成了大量的預(yù)制圖標(biāo)、控件等模板,可直接用于監(jiān)控畫面組態(tài),并通過綁定變量或編寫腳本進(jìn)行監(jiān)控畫面的顯示與控制。同時(shí),NetControl中還集成了大量通信驅(qū)動程序,可以與多種控制器進(jìn)行設(shè)備互聯(lián)。NetControl監(jiān)控系統(tǒng)的實(shí)現(xiàn)主要分為以下幾個(gè)步驟。

        2.1 建立設(shè)備連接

        系統(tǒng)中,仿真平臺由其它廠家提供,支持Modbus通信協(xié)議。在NetControl中建立Modbus類型輸入與輸出設(shè)備連接,并進(jìn)行相應(yīng)的參數(shù)配置,將仿真平臺控制器掛載在NetControl建立的輸入輸出連接中,作為服務(wù)器端,NetControl監(jiān)控系統(tǒng)則作為客戶端,如圖3所示。

        圖3 設(shè)備連接示意圖

        2.2 建立輸入輸出變量

        在建立設(shè)備輸入輸出連接后,在連接中建立對應(yīng)的輸入輸出變量,用于NetControl與仿真平臺控制器進(jìn)行數(shù)據(jù)交換。圖4所示為截取的部分輸入輸出變量。

        圖4 部分輸入輸出變量截圖

        2.3 監(jiān)控畫面組態(tài)

        系統(tǒng)中的監(jiān)控畫面主要包括車輛運(yùn)行狀態(tài)畫面、車站設(shè)備畫面和交通燈狀態(tài)畫面,通過利用NetControl內(nèi)置的多種控件及圖標(biāo)完成所有監(jiān)控畫面的組態(tài),并將在設(shè)備連接中建立的輸入輸出變量與對應(yīng)的控件進(jìn)行綁定。由于在實(shí)現(xiàn)畫面動態(tài)功能方面進(jìn)行簡單的變量綁定是無法實(shí)現(xiàn)的,因此可以使用NetControl集成的用戶程序功能開發(fā)對應(yīng)的控制腳本。

        NetControl的用戶程序功能支持C#語言,并在用戶程序功能中集成了多種類和方法,可以直接調(diào)用,并且可以編寫自定義類及方法,還可以添加外部程序集,使NetControl具備功能強(qiáng)大的自定義開發(fā)。圖5所示為截取的屏蔽門監(jiān)控畫面。

        圖5 屏蔽門監(jiān)控畫面截圖

        2.4 數(shù)據(jù)存儲至SQL Server數(shù)據(jù)庫

        為了實(shí)現(xiàn)Unity3D與仿真平臺進(jìn)行數(shù)據(jù)交互,系統(tǒng)采用NetControl將仿真平臺數(shù)據(jù)存儲至SQL Server數(shù)據(jù)庫的方法,然后Unity3D通過連接SQL Server數(shù)據(jù)庫獲取仿真平臺的數(shù)據(jù),并進(jìn)行相應(yīng)的處理。

        在NetControl中具備外部訪問功能,可以實(shí)現(xiàn)Unity3D訪問NetControl[4-5]。事實(shí)上,NetControl的外部訪問功能就是將需要記錄數(shù)據(jù)的變量值存儲至SQL Server數(shù)據(jù)庫并實(shí)時(shí)更新,外部設(shè)備通過SQL Server提供的ADO.Net數(shù)據(jù)庫接口對數(shù)據(jù)庫進(jìn)行連接、訪問,進(jìn)而間接實(shí)現(xiàn)對NetControl的訪問。

        在實(shí)現(xiàn)數(shù)據(jù)存儲至數(shù)據(jù)庫之前,需要在SQL Server中建立相應(yīng)的數(shù)據(jù)庫及數(shù)據(jù)表,且數(shù)據(jù)表中需要具備一個(gè)主鍵,其它列也需要和NetControl中的變量一一對應(yīng)。

        實(shí)現(xiàn)NetControl外部訪問的具體步驟如下。

        (1) 在NetControl的外部訪問功能中新建配置項(xiàng),并選擇數(shù)據(jù)庫類型,如圖6所示。

        圖6 新建外部訪問配置項(xiàng)截圖

        (2) 配置數(shù)據(jù)庫、數(shù)據(jù)表的來源,并為數(shù)據(jù)表中對應(yīng)的項(xiàng)綁定NetControl中的輸入輸出變量,完成輸入輸出變量實(shí)時(shí)存儲至數(shù)據(jù)庫對應(yīng)的表中,如圖7、圖8所示。

        圖7 選擇數(shù)據(jù)庫截圖

        圖8 數(shù)據(jù)表與輸入輸出變量綁定截圖

        3 Unity3D工程的實(shí)現(xiàn)

        模型導(dǎo)入U(xiǎn)nity3D軟件后,需要通過編寫腳本實(shí)現(xiàn)動畫控制。

        導(dǎo)入至Unity3D軟件中的主要模型包括車輛、車站(含閘機(jī)、屏蔽門、信息顯示屏等)、交通燈等,這些模型的數(shù)據(jù)都來自于通過NetControl外部訪問功能保存至數(shù)據(jù)庫中的數(shù)值。實(shí)現(xiàn)Unity3D動畫控制的步驟如下。

        3.1 連接SQL Server數(shù)據(jù)庫,獲取數(shù)據(jù)

        在Unity3D中可以添加外部程序集、動態(tài)鏈接庫,同時(shí)Unity3D對.Net Framework框架具有良好的支持。Unity3D中采用ADO.Net數(shù)據(jù)庫接口對SQL Server進(jìn)行連接、訪問[6-7]。

        采用ADO.Net技術(shù)需要添加幾種動態(tài)鏈接庫,包含System.Data.dll、System.Data.SqlClient、I18N.Dll、I18N.CJK.Dll、I18N.West.Dll等[8-9],外部動態(tài)鏈接庫文件需要導(dǎo)入至Unity3D資源目錄Assets中的Plugins目錄下,此目錄下的動態(tài)鏈接庫會自動添加至腳本程序的引用中,從而在編寫腳本程序時(shí)可以調(diào)用相應(yīng)的方法。

        完成以上操作后,可以進(jìn)行腳本程序代碼的編寫。在Unity3D中對數(shù)據(jù)庫進(jìn)行操作的主要代碼包括以下幾個(gè)部分。

        (1) 獲取SQL Server數(shù)據(jù)庫主機(jī)的網(wǎng)際協(xié)議(IP)地址,如圖9所示。

        圖9 獲取數(shù)據(jù)庫主機(jī)IP地址代碼

        (2) 根據(jù)連接字符串連接SQL Server數(shù)據(jù)庫,對數(shù)據(jù)庫的連接操作放在Start方法中進(jìn)行。這一方法在Unity3D運(yùn)行時(shí)被調(diào)用,并且只調(diào)用一次,如圖10所示。

        圖10 Start方法代碼

        (3) 應(yīng)用SQL語句對數(shù)據(jù)庫進(jìn)行查詢,并將對數(shù)據(jù)庫的查詢操作放在FixedUpdate方法中。這一方法在Unity3D運(yùn)行過程中周期性調(diào)用,執(zhí)行周期可進(jìn)行設(shè)置,從而實(shí)現(xiàn)實(shí)時(shí)獲取數(shù)據(jù)庫中的數(shù)據(jù)[10],如圖11所示。獲取數(shù)據(jù)后,按不同的數(shù)據(jù)信號類型放置在對應(yīng)的數(shù)組中。

        圖11 FixedUpdate方法代碼

        3.2 動畫效果控制

        根據(jù)從數(shù)據(jù)庫獲得的數(shù)據(jù)對Unity3D中的物體進(jìn)行控制,實(shí)現(xiàn)動畫效果。通過編寫腳本程序?qū)崿F(xiàn)車輛行駛、車門開關(guān)、閘機(jī)啟閉、屏蔽門開合、交通燈變化等,由于篇幅有限,此處不再列出詳細(xì)的實(shí)現(xiàn)代碼。實(shí)際效果如圖12所示。

        圖12 電磁軌道交通虛擬效果

        4 結(jié)束語

        采用Unity3D和NetControl組態(tài)軟件實(shí)現(xiàn)了電磁軌道交通仿真平臺綜合監(jiān)控系統(tǒng)的開發(fā),系統(tǒng)不僅具有數(shù)據(jù)信息與狀態(tài)顯示功能,而且可以進(jìn)行三維動畫監(jiān)控,對設(shè)備狀態(tài)的監(jiān)控更逼真、直觀[11]。筆者所介紹模式可應(yīng)用于多種監(jiān)控系統(tǒng)中,如地下軌道交通站點(diǎn)綜合監(jiān)控、工廠綜合監(jiān)控等。

        另一方面,由于NetControl的外部訪問功能向數(shù)據(jù)庫更新數(shù)據(jù)的最短周期為1s,在一定程度上會造成數(shù)據(jù)更新滯后,因此在未來改進(jìn)中可采用在Unity3D中編寫腳本程序的方法直接與外部設(shè)備進(jìn)行輸入輸出通信[12],從而使數(shù)據(jù)更新的實(shí)時(shí)性更強(qiáng)。

        [1] 楊程,劉濤,陳念年,等.3D數(shù)字工廠監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].化工自動化及儀表,2012,39(1): 108-111.

        [2] 倪萌.基于Unity3D的汽車發(fā)動機(jī)虛擬裝配訓(xùn)練考評系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京: 北京工業(yè)大學(xué),2014.

        [3] 李益.基于Unity3d的磨礦車間虛擬仿真系統(tǒng)[D].大連: 大連理工大學(xué),2014.

        [4] 張勇旭,李力雄,康盛.通用組態(tài)軟件驅(qū)動程序的設(shè)計(jì)與開發(fā)[J].工業(yè)控制計(jì)算機(jī).2009,22(9): 1-3.

        [5] 楊恒亮,朱浩翔,魯?shù)?一種基于3D視覺補(bǔ)償?shù)臋C(jī)器人整車涂膠應(yīng)用[J].裝備機(jī)械,2010(1): 19-21.

        [6] 佘慎思,楊文斌,李春.風(fēng)力發(fā)電場SCADA系統(tǒng)的設(shè)計(jì)[J].上海電氣技術(shù),2010,3(3): 39-42.

        [7] 李俊軍.基于Unity3D的室內(nèi)建筑三維建模與交互系統(tǒng)實(shí)現(xiàn)[D].徐州: 中國礦業(yè)大學(xué),2014.

        [8] 李文赫,陸劍峰,劉艷嬌.基于Unity3D的三維遠(yuǎn)程監(jiān)視系統(tǒng)中的通信方法研究和實(shí)現(xiàn)[J].制造業(yè)自動化,2015,37(24): 108-109,120.

        [9] 張利利,李仁義,李曉京,等.Unity3D與數(shù)據(jù)庫通信方法的研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,24(3): 229-232.

        [10] 曾林森.基于Unity3D的跨平臺虛擬駕駛視景仿真研究[D].長沙: 中南大學(xué),2013.

        [11] 弓建華.虛擬3D變電站監(jiān)視系統(tǒng)的研究[D].保定: 華北電力大學(xué),2014.

        [12] 李金永,吳寅生,鄭建峰,等.基于Unity3D的油田作業(yè)仿真考核系統(tǒng)移動設(shè)備客戶端的設(shè)計(jì)與實(shí)現(xiàn)[J].系統(tǒng)仿真技術(shù),2016,12(1): 71-77.

        猜你喜歡
        輸入輸出腳本組態(tài)
        酒駕
        基于PLC及組態(tài)技術(shù)的恒溫控制系統(tǒng)開發(fā)探討
        安奇奇與小cool 龍(第二回)
        Camtasia Studio高清視頻輸入輸出原理及方法
        鐵路信號系統(tǒng)安全輸入輸出平臺
        數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
        電子測試(2018年14期)2018-09-26 06:04:24
        輸入輸出理論在大學(xué)英語聽說課堂中的教學(xué)探索
        快樂假期
        基于PLC和組態(tài)的智能電動擰緊系統(tǒng)
        輸入輸出視角下高職英語教學(xué)研究
        国内精品女同一区二区三区| 野花社区www高清视频| 怡春院欧美一区二区三区免费| 超碰日韩AV在线| 精品人妻一区二区三区蜜桃| 免费人成在线观看播放视频| 国产精品美女久久久网av| 中文字幕一区二区人妻性色| 国产无线乱码一区二三区 | 国内自拍偷拍一区二区| 喷水白浆视频在线观看| 人与禽性视频77777| 亚洲成a人片在线| 美女黄网站永久免费观看网站| 一区二区三区午夜视频在线| 国产成人亚洲精品无码av大片| 亚洲av色福利天堂| 亚洲av乱码国产精品色| 国语对白免费观看123| 欧美一区二区三区久久综| 高清国产日韩欧美| 精品国精品自拍自在线| 日本中文一区二区在线观看| 欧美日韩不卡合集视频| 97在线视频免费| 麻豆成人久久精品二区三区免费| 免费又黄又爽又色的视频| 一群黑人大战亚裔女在线播放| 国产亚洲高清在线精品不卡| 国产精品人伦一区二区三| 亚洲中文字幕无码一久久区 | 国产午夜福利片| 麻豆AⅤ精品无码一区二区 | 国产成人综合久久精品推荐免费 | 无码人妻久久一区二区三区免费丨 | 蜜臀性色av免费| 最新国产日韩AV线| 国产av一区仑乱久久精品| 国产特级毛片aaaaaa高潮流水| 蜜桃成人无码区免费视频网站| 18禁国产美女白浆在线|