丁金華, 劉 暢, 李明穎, 高 騰, 王德權, 李思遠
(大連工業大學 機械工程與自動化學院, 遼寧 大連 116034)
?
三維虛擬現實機電設備控制仿真系統
丁金華, 劉暢, 李明穎, 高騰, 王德權, 李思遠
(大連工業大學 機械工程與自動化學院, 遼寧 大連116034)
三維虛擬現實機電設備控制仿真系統由上、下位機構成,上位機PC與下位機嵌入式系統采用RS232相連,基于MODBUS協議通信。上位機的虛擬機電設備采用Unity3D軟件設計,其測控信號通過下位機I/O口映射模塊與學生設計的單片機或PLC控制系統相連。以典型的XY數控工作臺為例,說明控制仿真系統的設計方法。該仿真系統形成與實際設備相同或相似的編程與調試環境,改善了實驗實訓條件。
虛擬仿真系統;機電設備;XY數控工作臺,Unity3D; 虛擬現實
機電專業的學生采用實際機電設備進行實驗和操作訓練,能夠獲得較多的實踐知識與經驗[1-2]。但機電設備的投入需要較多資金、占用較大空間,一般高校配置得較少。又由于機電設備的多樣性,且隨著技術的進步不斷更新,所購置的機電設備常常不能滿足實際實踐教學需求。
采用三維虛擬現實技術構建虛擬現實機電設備控制仿真系統,能夠不受資源、時間、人力等條件的局限,將真實的機電設備移植到虛擬環境中。由于采用三維虛擬現實技術動態展示機電設備的工作過程,學生可以從任意角度深入了解設備的外部和內部結構。若采用虛實結合方式,還可以利用單片機、PLC及上位機可視化監控系統,通過I/O口映射模塊完成其控制功能(見圖1)。三維虛擬現實機電設備控制仿真系統構建了以學生為主體的實踐教學環境,能夠降低實訓成本、改善實訓條件、優化教學過程、提高教學效果。

圖1 上下位機組成虛實結合的機電裝備控制仿真系統
在一些虛實結合的機電設備控制仿真系統和大型設備PLC實驗系統的開發中,上位機采用MCGS工業組態軟件和組態王軟件虛擬機電設備[3-4],雖能逼真地模擬大型設備運行過程、表達機電設備的功能,但沒有三維虛擬現實效果,不能很好地展示其結構,也不能從各個角度來觀測和深入了解設備。
Unity3D虛擬現實技術是近年來迅速發展起來的一項多學科的綜合技術。Unity3D幾乎支持所有的主流平臺(PC、Web、移動端),所開發的三維虛擬現實機電設備控制仿真系統,可以在PC端和手機端很好地展示機電設備工作原理,并進行相應的實踐訓練,提供視覺、聽覺、觸覺等感官的模擬[5-7],在跨平臺開發方面具有非常大的優勢。
XY數控工作臺是許多數控加工設備和電子加工設備的基本部件[8],在數控機床、激光加工設備、汽車發動機缸蓋和缸體的自動涂膠設備[9-10]、表面貼裝設備、刻字機、印刷包裝制袋設備等都含有XY工作臺這樣的基本部件[11]。XY數控工作臺是三維虛擬現實機電設備控制仿真系統的典型應用。
圖2為XY數控工作臺的實物圖。從圖中可以看出:工作臺分上下兩層,X向、Y向結構基本相同。進給系統主要由步進電機(或伺服電機)、聯軸器、滾珠絲杠螺母副、直線滾動導軌、軸承、工作臺面等組成;控制系統主要由計算機、單片機或PLC系統、電機驅動器、伺服或步進電機及相關軟件等組成。

圖2 XY數控工作臺實物圖

圖3 XY數控工作臺三維虛擬現實仿真界面
學生可以在XY數控工作臺上完成上位機工業可視化組態軟件的設計編程、單片機控制步進電機或伺服電機、PLC的程序設計和數控插補算法軟件設計,實現預定軌跡等實驗,能夠起到綜合實踐訓練作用。
圖3為制作的XY數控工作臺虛擬現實仿真界面。為了說明過程,其Z向采用了畫筆形式(模擬加工刀具),可抬起、落下。落下時,可在工作臺繪出預定加工軌跡。
虛擬現實XY數控工作臺不但能完成實際XY數控工作臺的全部功能,而且能進行XY數控工作臺的零部件拆裝實驗,給出全部零部件的三維展示。這為學生的機電系統課程設計提供了很好的幫助,便于學生理解設備的工作原理和進行實際的設計。例如在步進電機或伺服電機座的設計中,根據電機止口給出的參數設計電機座的具體尺寸,能保證將來安裝的同軸度要求和中心線的跳動精度要求,使設計更加合理。
2.1參數設置
在虛擬現實界面,除了XY數控工作臺外,還要設置工作按鈕、參數顯示和操作按鈕等。
工作按鈕有:設置、打開串口/關閉串口、落下畫筆/抬起畫筆(實際為Z向控制單元)、清除畫布、保存圖片和退出。
按下設置按鈕,彈出的參數設置界面如圖4所示。其中“網絡設置”是通過設置服務器地址和服務器端口與手機客戶端進行通信; “串口連接設置”和“MODBUS通訊設置”主要是設置XY數控工作臺虛擬現實I/O映射及串行口通信協議參數;“工作臺設置”用于設置電機每轉的脈沖數和工作臺滾珠絲杠的螺距;“繪制設置”用于設置加工軌跡線的粗細。

圖4 設置界面
手機移動終端的XY數控工作臺能夠與PC端的工作臺同步運行,便于教師遠程了解學生的實驗過程。
為了能將XY數控工作臺作為虛擬被控對象,利用STM32嵌入式單片機制作了映射端口模塊,通過串行通信,將虛擬仿真XY數控工作臺的測控端口映射到STM32端口模塊上。
2.2參數顯示
如圖3所示,界面左下角的參數顯示窗口可以顯示XY數控工作臺的X向和Y向工作臺的位置坐標。因為實驗室中XY數控工作臺每轉脈沖數為500,滾珠絲杠螺距為5 mm,因此顯示精度可到0.01 mm。
顯示的X00、X01、X02和X03分別為X軸向的正向脈沖、反向脈沖和Y軸向的正向脈沖、反向脈沖。對應的紅色顯示框在有脈沖時閃爍。Y00和Y01分別為X軸向的正向限位傳感器信號和反向限位傳感器信號;Y02和Y03為分別為Y軸向的正向傳感器限位信號和反向傳感器限位信號。若工作臺移動到極限位置,對應的紅色顯示框會高亮顯示,同時會通過通信接口將信號反映到I/O口映射模塊的端口上。
在沒有脈沖輸入的情況下,可以利用界面右上部的4個箭頭按鈕手動繪制加工曲線。例如點擊X00按鈕,相當于給X軸一個正向脈沖,工作臺的X軸正向有一個脈沖當量的位移。
3.1零部件繪制說明
首先,根據圖2所示的XY數控工作臺,利用三維機械設計CAD軟件SolidWorks進行零部件的三維制作,然后根據裝配關系導入Unity3D中。
3.2軟件編寫說明
除了三維機械CAD設計外,三維虛擬現實機電設備控制仿真平臺要實現與機電設備相同的工作原理,腳本程序設計是其重要的一環。
軟件編程采用C#語言編寫(見圖5)。由于軟件涉及的內容較多,將主要的子程序進行說明。

圖5 XY數控工作臺三維虛擬現實Unity3D軟件設計界面
主要的子程序有:
DeviceController.cs:主要涉及工作臺面X、Y向移動控制、滾珠絲杠轉動、加工軌跡粗細等變量控制。
ModBusProtocol.cs:主要根據MODBUS協議進行CRC程序校驗編寫以及主要功能碼函數的編寫,如功能碼:
0x01:讀取輸出繼電器線圈狀態(讀位),取得一組邏輯輸出線圈的當前狀態(ON/OFF);
0x02:讀取輸入狀態(讀位),取得一組開關輸入的當前狀態(ON/OFF);
0x03:讀取保持寄存器,在一個或多個保持寄存器中取得當前的二進制值;
0x05:強置單線圈(寫位),強置一個邏輯線圈的通斷狀態;
0x10:預置多寄存器,把具體的二進制值裝入一串連續的保持寄存器。
以便與下位機I/O口映射模塊裝置進行通信。
SerialPortListener.cs:主要進行串行口硬件參數設置,以及從串行口讀取數據和發送數據的子程序。例如相關參數的定義如下:
public class SerialPortListener :MonoBehaviour {
publicuint comID = 5;//定義選用的串行通信口,實際上還可以從按鈕參數中進行設置
publicint baudRate = 256000; //串行通信波特率,也可從按鈕處進行設置
public Parityparity = Parity.None;//通信校驗位設置,無校驗位
publicint dataBits = 8; //通信數據位設置,數據位8位
publicStopBits stopBits = StopBits.One;//通信停止位設置,1位停止位
public bytedeviceAddress = (byte)0x02;//IO口映射裝置地址為0x02
publicint handleTimeIntervalMS = 200;//上下位機通信掃描周期設為200 ms
publicint writeComTimeIntervalMS = 10;//ModBus等待時間間隔設為10 ms(規定為3.5個字節周期,此處暫且設為10 ms)
privateModBusProtocol mModBus = new ModBusProtocol();//實例化ModBusProtocol()
……以下為其他變量聲明及子程序等
}
NetworkController.cs:主要進行服務器IP地址和端口設置,以及相關的子程序編寫。
UdpListener.cs:用來啟動和關閉UDP接收信息線程,以及相關的子程序。
Registers.cs:通過接收通信或屏幕參數,進行相應變量的計算。如工作臺X向和Y向移動變量的計算等。
UIEvents.cs:采用Unity3D的GUI圖形用戶接口,進行三維虛擬現實機電設備控制仿真平臺的界面設計,主要為按鈕、輸入框及參數設置,顯示信息,包括根據輸入的脈沖信息進行軌跡的繪制等。
為了能使三維虛擬現實軟件與下位機I/O口映射模塊進行串行通信,在Unity3D設置中,需將Api Compatibility Level項由“.Net 2.0 Subset”子集設置成“.Net 2.0”。
4.1下位機I/O口映射模塊硬件說明
為了實現對機電虛擬現實設備進行控制,可用單片機或PLC為核心的控制系統。可采用I/O口映射模塊,將上位機的機電設備三維虛擬現實畫面中的測控信號引出,實現虛實結合的三維虛擬現實機電設備控制仿真系統。
下位機I/O口映射模塊的CPU采用基于ARM CortexTM-M處理器的STM32F103RCT6芯片。I/O口映射模塊主要包括圖6所示的4個部分。其中通信單元RS232采用MODBUS協議與上位機虛擬顯示軟件進行通信,進行測控信號的輸入/輸出傳輸;RS485通信單元可以進行I/O口映射模塊的級聯,即對多于I/O口映射模塊的I/O口,可采用多個映射模塊進行級聯,以適應復雜的機電設備。

圖6 I/O口映射模塊框圖
機電虛擬現實設備的傳感器信號(如限位開關信號)可以從光電隔離輸出口輸出。圖7為XY數控工作臺上的一個限位傳感器映射的輸出接口電路。可以看出,為增加系統的抗干擾能力,接口電路已采用了光電隔離技術。若XY數控工作臺移動到Y00限位傳感器,I/O口映射模塊的Y00=0,則對應的輸出三極管Q00導通,輸出端子Q0.0對地導通,與實際的限位傳感器接口電路基本沒有區別。

圖7 限位傳感器接口電路
步進(伺服)電機驅動器的驅動信號(如脈沖信號)的輸入,可以從光電隔離口傳輸。在XY數控工作臺中,輸入接口電路實際是2個步進(或伺服)驅動器接口電路,如圖8所示。接口電路也采用了光電隔離技術,與松下伺服電機驅動器連接器X4的配線圖是一致的[12]。

圖8 驅動器接口電路
控制線路的硬件接口與實際接口電路相仿,可以通過實際接線增加感性認識,鍛煉學生的動手能力。
4.2下位機I/O口映射模塊軟件說明
由于下位機I/O口映射模塊的CPU采用基于ARM CortexTM-M處理器STM32F103RCT6芯片,因此其語言編程采用Keil ARM C。以XY數控工作臺機電三維虛擬現實控制仿真系統為例,實際上輸入量有4個,其中X00、X01 為X軸的正向和反向脈沖信號;X02、X03為Y軸的正向和反向脈沖信號。輸出信號Y00、Y01分別為X軸正向限位傳感器信號和反向限位傳感器信號;Y02、Y03分別為Y軸正向傳感器限位信號和反向傳感器限位信號。
下位機的I/O口映射模塊首先從輸入端口讀取X軸和Y軸的脈沖輸入信號,利用串行口中斷函數接收上位機的信息命令。根據功能碼,若有傳感器信號,則通過對應的輸出端口Q0.0—Q0.3輸出信號,然后將從端口讀取的脈沖輸入信號,利用串行口中斷函數發送給上位機,從而使上位機根據脈沖信號進行電機的旋轉、驅動工作臺移動、繪制加工軌跡。程序流程圖如圖9所示。

圖9 下位機I/O口映射模塊程序流程圖
采用三維虛擬現實機電設備控制仿真系統,作為單片機或PLC的被控系統,可以做到學生人手一套,使每位學生都能得到實際的操作訓練。控制仿真系統將真實世界的機電設備移植到虛擬環境中,不受資源、時間、人力等條件的局限。通過所設計的硬件系統將設備的I/O口與實際的端子相連,進而可采用PLC或嵌入式單片機進行控制系統設計。
目前上下、位機采用串行口通信,盡管采用了較高的波特率,但其響應實時性仍顯不足。為提高其響應實時性,將考慮利用其他通信方式,例如網口或USB接口進行上下位機的通信設計。
References)
[1] 劉俊,汪燁,楊惠勤,等.基于工程項目的機電一體化綜合實驗教學研究[J].實驗室研究與探索,2012,31(8):128-130.
[2] 黃雪梅.圍繞機電實驗平臺的創新實踐課程[J].實驗室研究與探索,2011,30(3):140-144.
[3] 丁金華,李明穎,王德權,等.虛實結合的機電設備控制仿真平臺[J].實驗技術與管理,2015,32(2):119-122.
[4] 邢玲,徐健寧,董增文.虛實結合的大型設備PLC實驗系統設計與開發[J].實驗技術與管理,2015,32(11):121-124.
[5] 林德江,秦國偉,王國德,等.基于Unity 3D技術的某裝備便攜式虛擬訓練系統研究[J].火炮發射與控制學報,2014,35(4):91-95.
[6] 吳景,趙運生,黃海峰,等.基于Unity3D的多模塊虛擬系統的設計與實現[J].機械工程與自動化,2015(6):59-61.
[7] 楊雪松.基于Unity 3D的發動機虛擬拆裝系統研究[J].機械,2016(1):32-35.
[8] 王林鴻,杜潤生,吳波,等.數控工作臺的非線性動態特性[J].中國機械工程,2009,20(7):1513-1518.
[9] 耿蕊,于曉敏.自動涂膠機壓力控制系統設計與仿真[J].計算機仿真,2011,24(8):191-195.
[10] 楊樹彬.直角坐標機器人在汽車發動機涂膠機上的應用[J].伺服控制,2008(4):50-51.
[11] 王進軍,陳光柱,林壯.新型帶式輸送機自動糾偏裝置的設計與分析[J].煤礦機電,2010(4):13-15.
[12] 松下電器產業株式會社(馬達公司).minas-a5_使用手冊綜合版[M/L].[2016-03-25].http://wenku.baidu.com/link?url=y-uKxmkPJSPVsbfCC9AK1URtoaSN_pJoXj3Malfypf-Qf9gE4X7U2KCGUu-pBiLiJVL8IJND-Y5YLViVbmx6Nbla6O8ZdJ6ccmuD2hxugC7.
3D virtual reality control simulation system of mechanical and electrical equipment
Ding Jinhua, Liu Chang, Li Mingying, Gao Teng, Wang Dequan, Li Siyuan
(Department of Mechanical Engineering and Automation,Dalian Polytechnic University,Dalian 116034, China)
The mechanical and electrical equipment control simulation system consists of master and slave computers. The master computer PC connects to the slave computer embedded system by RS232 based on MODBUS communication protocol. The virtual mechanical and electrical equipment was designed by using Unity3D software. The measurement and control signal of virtual mechanical and electrical equipment can be mapped to IO ports on the slave computer embedded system,which can be connected to the control systems,such as MCU or PLC designed by the students. The realization of virtual realityXYNC workbench,a typical mechanical and electrical system,is discussed. 3D virtual reality of mechanical and electrical equipment control simulation system can be used as controlled equipment of MCU and PLC control system,similar with the actual equipment programming and debugging environment,which builds the practical teaching environment as student-oriented education, and improves the condition of experimental training.
virtual simulation system; mechanical and electrical equipment;XYNC workbench;Unity3D; virtual reality
10.16791/j.cnki.sjg.2016.09.027
虛擬仿真技術探索與實踐
2016-03-30修改日期:2016-05-06
2016年遼寧省本科教改一般項目(2016No.266);2015年遼寧省大學生創新創業競賽項目(201510152003)資助;2014年度大連工業大學教育教學改革研究項目(JGLX14028)
丁金華(1962—),男,山東威海,博士,教授,主要研究方向為機械電子工程.
E-mail:342012450@qq.com
TP273
A
1002-4956(2016)9-0106-05