国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

某種絞吸式挖泥船仿真器系統(tǒng)的設(shè)計(jì)與研究*

2019-01-02 06:56倪福生鄭慶云
關(guān)鍵詞:視景下位挖泥船

袁 斌 倪福生 蔣 爽 鄭慶云

(1.河海大學(xué)疏浚技術(shù)教育部工程研究中心 常州 213022)(2.河海大學(xué)機(jī)電工程學(xué)院 常州 213022)

1 引言

疏浚設(shè)備,廣泛應(yīng)用于江河湖泊的清淤和整治工作、港口航道建設(shè)和吹填造地等國(guó)民建設(shè)中[1]。本文挖泥船仿真器的設(shè)計(jì)和研究,旨在實(shí)現(xiàn)對(duì)疏浚設(shè)備施工作業(yè)全過(guò)程的模擬。在視景系統(tǒng)中,逼真地仿真設(shè)備現(xiàn)場(chǎng)施工環(huán)境和設(shè)備操作、運(yùn)轉(zhuǎn)、水下切削土壤等;在監(jiān)控系統(tǒng)中,準(zhǔn)確實(shí)時(shí)地顯示數(shù)據(jù)變化[2]。

目前,國(guó)外先進(jìn)的疏浚企業(yè)均有自己的挖泥船仿真器,并成功地用于學(xué)員培訓(xùn)。如荷蘭IHC公司已經(jīng)成功研制多臺(tái)挖泥船仿真器,荷蘭的Boskalis公司也成功研制了幾臺(tái)耙吸挖泥船和絞吸挖泥船仿真器。國(guó)內(nèi)有長(zhǎng)江航道局與武漢理工大學(xué)聯(lián)合研制的 1750m3∕h 絞吸挖泥船疏浚仿真器[3]。不過(guò)這些仿真器普遍存在以下兩點(diǎn)不足:一方面視景系統(tǒng)大都是基于OpenGL或DirectX作為底層框架的編程接口,這樣開(kāi)發(fā)難度大且不易實(shí)現(xiàn)跨平臺(tái)發(fā)布;另一方面監(jiān)控系統(tǒng)大都采用MFC為框架,使用C++作為腳本搭建的平臺(tái),這嚴(yán)重影響了代碼可讀性、底層SDK封裝性和標(biāo)準(zhǔn)庫(kù)的融合性。本文采用Unity3D作為視景開(kāi)發(fā)平臺(tái),通過(guò)添加第三人稱視角和C#作為腳本,使得仿真畫面更為逼真、擴(kuò)展性高且程序簡(jiǎn)易、移植性高;本文采用Visual Studio作為監(jiān)控系統(tǒng)開(kāi)發(fā)平臺(tái),通過(guò)多線程技術(shù)和C#作為程序腳本,實(shí)現(xiàn)監(jiān)控系統(tǒng)數(shù)據(jù)的實(shí)時(shí)反饋并消除窗口時(shí)??D的現(xiàn)象。

2 總體設(shè)計(jì)方案

本文對(duì)于基于絞吸式挖泥船的仿真器系統(tǒng)設(shè)計(jì)和研究主要包括三個(gè)方面:PLC系統(tǒng)的設(shè)計(jì)、上下位機(jī)的通訊和上位機(jī)系統(tǒng)的設(shè)計(jì)[4]??紤]到挖泥船仿真器需要滿足培訓(xùn)船員疏浚作業(yè)的要求且上位機(jī)需要下位機(jī)采集的實(shí)時(shí)信號(hào),故下位機(jī)PLC系統(tǒng)部分是本文設(shè)計(jì)和研究的基礎(chǔ),上位機(jī)的視景和監(jiān)控系統(tǒng)部分是本文設(shè)計(jì)和研究的關(guān)鍵,而上下位機(jī)的通訊部分是上下位機(jī)設(shè)計(jì)和研究的“橋梁”[5]。

針對(duì)下位機(jī)不能與視景系統(tǒng)實(shí)現(xiàn)直接通訊問(wèn)題,本文選用了STM32單片機(jī)、變壓器、D∕A轉(zhuǎn)換器和TTL電平轉(zhuǎn)換電路等硬件來(lái)實(shí)現(xiàn)S7-300PLC與PC視景系統(tǒng)的RS232串口通訊[6]。對(duì)于下位機(jī)不能與監(jiān)控系統(tǒng)實(shí)現(xiàn)直接通訊和通訊時(shí)包含大量通訊程序和數(shù)據(jù)程序需要存儲(chǔ)的問(wèn)題,在對(duì)比幾組不同硬件配置并考慮通訊效率和成本的基礎(chǔ)上,本文選擇了CP5611網(wǎng)卡、PROFIBUS-DP編程電纜和OPC Sever較好地解決了以上問(wèn)題。其中CP5611和編程電纜用來(lái)實(shí)現(xiàn)上下位機(jī)的MPI通訊,OPC Sever用來(lái)提供標(biāo)準(zhǔn)的OPC接口。

絞吸式挖泥船的仿真器系統(tǒng)總體設(shè)計(jì)方案如圖1所示。

圖1 仿真器系統(tǒng)總體設(shè)計(jì)方案

3 下位機(jī)系統(tǒng)設(shè)計(jì)與研究

下位機(jī)系統(tǒng)的設(shè)計(jì),即PLC系統(tǒng)的設(shè)計(jì)。挖泥船仿真器仿真疏浚作業(yè)時(shí)有不同的控制任務(wù),比如實(shí)現(xiàn)起錨、臺(tái)車的行走和鉸刀的切削等,這對(duì)于PLC系統(tǒng)編程提出了較高的要求,而S7-300PLC編程不僅可以使用大多PLC能夠?qū)崿F(xiàn)的線性編程方式還可以使用結(jié)構(gòu)化編程的方式,這樣可以把復(fù)雜的控制系統(tǒng)分為多個(gè)簡(jiǎn)單的控制任務(wù),各部分任務(wù)分類編程和調(diào)試,提高了工作效率[7],滿足系統(tǒng)編程要求。具體下位機(jī)系統(tǒng)設(shè)計(jì)分為硬件組態(tài)、網(wǎng)絡(luò)配置和PLC程序?qū)崿F(xiàn)三個(gè)主要部分。

3.1 PLC硬件組態(tài)及網(wǎng)絡(luò)配置

本文所使用的操作臺(tái)由3部分組成,即左操作臺(tái)、右操作臺(tái)和儀表顯示臺(tái),通過(guò)對(duì)比不同硬件組態(tài)效率和工作穩(wěn)定性,最終本文選擇一臺(tái)CPU315-2DP作為PROFIBUS DP主站,兩臺(tái)IM153-2作為從站接口模塊。其中操作臺(tái)操作件類型有啟停按鈕、旋鈕和搖柄等,顯示件類型有放錨速度轉(zhuǎn)盤、鉸刀轉(zhuǎn)速盤、試燈等。左操作臺(tái)如圖2所示,組態(tài)時(shí)需要將這些數(shù)字量和模擬量分配充足的通道。以左操作臺(tái)為例,需要選擇32路SM321數(shù)字量輸入和SM322數(shù)字量輸出模塊各一個(gè)、8路的SM331模擬量輸入和SM332模擬量輸出模塊各一個(gè)。

圖2 左操作臺(tái)實(shí)物圖

主站和從站使用PROFIBUS-DP通訊,其中CPU315-2DP作為主站,IM153-2作為從站接口模塊,通過(guò)串聯(lián)的方式,實(shí)現(xiàn)主站和從站數(shù)據(jù)的數(shù)據(jù)反饋。在Step7中,對(duì)主從站PROFIBUS地址分配依次為2、3、4,波特率設(shè)為1.5Mbit∕s。對(duì)硬件組態(tài)及主從站PROFIBUS地址配置完成后如圖3所示[8]。

上下位機(jī)使用MPI通訊,即CPU315-2DP與CP5611網(wǎng)卡采用點(diǎn)對(duì)點(diǎn)的通訊方式。在Step7中,配置MPI通訊方式同配置主從站PROFIBUS通訊方式類似,需要注意的是二者通訊地址不能沖突,本文將CP5611的MPI地址分配為1,CPU315-2DP的MPI地址分配為2,實(shí)現(xiàn)了上下位機(jī)的MPI通訊。

圖3 硬件組態(tài)及PROFIBUS地址配置圖

3.2 PLC程序?qū)崿F(xiàn)

本文PLC程序的編寫采用結(jié)構(gòu)化編程的方式,使用不同的FC(功能)實(shí)現(xiàn)挖泥船仿真器不同的疏浚動(dòng)作,通過(guò)主程序OB1來(lái)分別調(diào)用各個(gè)功能模塊,實(shí)現(xiàn)不同的控制要求。

主程序0B1的部分代碼如下所示:

CALL“Pump_FC”∕調(diào)用泵的控制功能

CALL“ Reamer_FC”∕調(diào)用鉸刀控制功能

鉸刀的控制程序“Reamer_FC”的部分代碼下圖4所示。

圖4 鉸刀一檔調(diào)速

通過(guò)上面梯形圖(LAD)代碼,可以實(shí)現(xiàn)操作臺(tái)鉸刀調(diào)速檔位調(diào)制一檔時(shí)鉸刀的啟停,并將其鉸刀的工作轉(zhuǎn)速分別傳送到位寄存器MW40中和外部輸出寄存器PQW290中,以便實(shí)現(xiàn)上位機(jī)對(duì)鉸刀轉(zhuǎn)速的拾取和操作臺(tái)鉸刀轉(zhuǎn)速盤對(duì)數(shù)據(jù)的實(shí)時(shí)反饋。

4 通訊方式

挖泥船仿真器進(jìn)行仿真疏浚作業(yè)時(shí),上位機(jī)需要和下位機(jī)機(jī)設(shè)備進(jìn)行數(shù)據(jù)交互。本文通過(guò)Simatic Net作為OPC服務(wù)站[9],實(shí)現(xiàn)了下位機(jī)與監(jiān)控系統(tǒng)的OPC通訊。本文通過(guò)Keil MDK作為STM32的開(kāi)發(fā)平臺(tái),實(shí)現(xiàn)了下位機(jī)與視景系統(tǒng)的RS232串口通信[10]。

4.1 OPC通訊

OPC讀數(shù)方式有3種:同步、異步、訂閱[11]。考慮到客戶端程序操作對(duì)象多樣,本文采用異步通訊的方式,當(dāng)OPC客戶程序?qū)Ψ?wù)器進(jìn)行請(qǐng)求后立刻返回,無(wú)需OPC服務(wù)器的響應(yīng),即可進(jìn)行其它操作,這樣實(shí)現(xiàn)了通訊的高效率。異步讀寫方式如圖5所示。

圖5 OPC異步讀寫方式

OPC主要包含兩種接口:一種是用戶定制的標(biāo)準(zhǔn)接口,另一種是OLE自動(dòng)化標(biāo)準(zhǔn)接口[12]。一般自定義接口服務(wù)商會(huì)有提供,而自動(dòng)化接口則為可選的,本文選擇自定義接口的方式??紤]到自定義接口是一組COM接口,它是采用C++語(yǔ)言開(kāi)發(fā)的應(yīng)用程序[13],而本套監(jiān)控及視景系統(tǒng)是基于NET框架下的C#語(yǔ)言開(kāi)發(fā)的,故需要解決兩個(gè)平臺(tái)間無(wú)縫遷移問(wèn)題。

針對(duì)以上問(wèn)題,OPC基金會(huì)提供了OpcRcw動(dòng)態(tài)鏈接庫(kù),OPCNET COM包裝器和OPCNET API,這將OPC復(fù)雜的規(guī)范封裝成簡(jiǎn)單易用的C#類,可以較為容易地實(shí)現(xiàn)數(shù)據(jù)的訪問(wèn)。下面是本文采用的自定義接口異步讀寫方式的部分代碼。

OpcRcw.Da.IOPCServer ServerSmt;∕OPC 服務(wù)

OpcRcw.Da.IOPCCiasIO2 IOPCCiasIO2Smt=null;∕異步讀寫對(duì)象

OpcRcw.Da.IOPCGroupStateMgt IOPCGroup-StateMgtSmt=null;∕組管理對(duì)象

試驗(yàn)表明,客戶端可以通過(guò)使用上面的代碼,完成了OPC服務(wù)器的訪問(wèn)工作,從而較好地實(shí)現(xiàn)了監(jiān)控系統(tǒng)與下位機(jī)的通訊。

4.2 RS232通訊

STM32的CPU與接口之間是并行通信方式,但接口與PC之間卻是RS232通信方式,因此,在串行接口中,需要有接收和發(fā)送的位移寄存器[14]。在數(shù)據(jù)輸入過(guò)程中,數(shù)據(jù)以位傳輸?shù)姆绞綇耐庠O(shè)進(jìn)入接口的“接收位移寄存器”,當(dāng)“接收位移寄存器”完成一個(gè)字符的接收,數(shù)據(jù)就從“接收位移寄存器”進(jìn)入“數(shù)據(jù)輸入寄存器”,CPU從“數(shù)據(jù)輸入寄存器”中讀取接收到的字符,其中位移寄存器的位移速度由“接收時(shí)鐘”確定,能夠完成上述串并功能轉(zhuǎn)換的電路稱為“通用異步收發(fā)器”[15]。

為了實(shí)現(xiàn)STM32與上位機(jī)的串口通訊,首先在Keil中使用C語(yǔ)言編寫串口接收和發(fā)送的程序,再通過(guò)以MAX232為芯片的TTL電平轉(zhuǎn)換電路就可以基本實(shí)現(xiàn)下位機(jī)與視景系統(tǒng)的數(shù)據(jù)傳輸[16]。下面是設(shè)置串口接收中斷和定時(shí)器中斷的部分代碼。

if (USART_GetITStatus (USART1,USART_IT_RXNE)!=RESET)∕判斷寄存器讀寫

……

rx_data[RbufCounter++]=USART_ReceiveData(USART1); ∕接收字節(jié)到接收緩沖區(qū)

……

5 上位機(jī)系統(tǒng)設(shè)計(jì)與研究

本文絞吸式挖泥船仿真器上位機(jī)部分主要包括視景系統(tǒng)和監(jiān)控系統(tǒng)兩個(gè)部分,它們分別用來(lái)模擬挖泥船作業(yè)時(shí)的動(dòng)態(tài)場(chǎng)景和反饋其工作時(shí)各子系統(tǒng)的工作狀態(tài)和數(shù)據(jù)。

5.1 視景系統(tǒng)設(shè)計(jì)與研究

絞吸式泥船仿真器仿真疏浚作業(yè)時(shí),通過(guò)下位機(jī)實(shí)施操作,同時(shí)需要在視景系統(tǒng)中實(shí)時(shí)反映出船體、臺(tái)車、定位樁的移動(dòng),鉸刀的轉(zhuǎn)動(dòng)等動(dòng)態(tài)場(chǎng)景。

本文的視景系統(tǒng)的設(shè)計(jì)是基于Unity3D平臺(tái)開(kāi)發(fā)的,使用C#作為腳本語(yǔ)言。由于本文視景系統(tǒng)添加了第三人稱視角進(jìn)行開(kāi)發(fā)的,這與傳統(tǒng)的挖泥船仿真器系統(tǒng)采用的單一的第一視角開(kāi)發(fā)相比,可將視角切換到角色外部,這樣可以方便船員在進(jìn)行模擬時(shí)對(duì)仿真設(shè)備整體狀態(tài)的把控,提高了培訓(xùn)的效率。具體視景系統(tǒng)如圖6所示。

圖6 基于Unity仿真系統(tǒng)設(shè)計(jì)

在Unity3D添加第三人稱視角,這需要添加與模型保持相對(duì)距離位置的攝像機(jī)并對(duì)其編寫腳本后將挖泥船模型放入它的Target中。實(shí)現(xiàn)模型相對(duì)攝像機(jī)進(jìn)行旋轉(zhuǎn)的部分代碼如下所示。

Movement=target.TransformDirection (movement);∕把 movement的方向從 Local坐標(biāo)變換為Globel坐標(biāo)

Transform.rotation=Quaternion.LookRotation(movement);∕計(jì)算movement面向方向的四元數(shù)

試驗(yàn)表明,基于Unity3D平臺(tái),通過(guò)添加第三人稱視角的方式,可以使得操作者能夠更快速地了解挖泥船中各個(gè)系統(tǒng)的實(shí)時(shí)工作狀態(tài),提高了船員培訓(xùn)的效率。

5.2 監(jiān)控系統(tǒng)設(shè)計(jì)

在實(shí)際疏浚作業(yè)過(guò)程中,對(duì)錨的起放速度、臺(tái)車行程、臺(tái)車壓力等信息需要實(shí)時(shí)反饋給操作者和監(jiān)控者,挖泥船仿真器監(jiān)控系統(tǒng)界面的設(shè)計(jì)旨在完成這些信號(hào)的準(zhǔn)確實(shí)時(shí)采集。仿真器監(jiān)控系統(tǒng)界面如圖7所示。

圖7 監(jiān)控系統(tǒng)界面圖

在監(jiān)控系統(tǒng)設(shè)計(jì)和研發(fā)過(guò)程中,發(fā)現(xiàn)當(dāng)同時(shí)處理大量數(shù)據(jù)時(shí),會(huì)導(dǎo)致執(zhí)行的任務(wù)時(shí)間過(guò)長(zhǎng),繼而影響到監(jiān)控系統(tǒng)數(shù)據(jù)實(shí)時(shí)更新,甚至出現(xiàn)程序卡死的現(xiàn)象。這里嘗試引進(jìn)多線程技術(shù)來(lái)解決上述問(wèn)題,創(chuàng)建線程和啟動(dòng)線程的代碼具體如下所示:

Thread th1 =new Thread(new ThreadStart(ThreadMethod));∕創(chuàng)建一個(gè)名為th1的線程

th1.Start();∕啟動(dòng)線程

試驗(yàn)結(jié)果表明窗口卡死現(xiàn)象明顯減少,多線程技術(shù)確實(shí)提高了系統(tǒng)的運(yùn)行效率。

6 結(jié)語(yǔ)

本文對(duì)絞吸式挖泥船的仿真器系統(tǒng)進(jìn)行了設(shè)計(jì)和研究,初步實(shí)現(xiàn)了絞吸挖泥船仿真器的視景仿真和監(jiān)控工作,但目前仍處于設(shè)計(jì)的初步階段,考慮到實(shí)際工況的多樣性、復(fù)雜性,本文的絞吸式挖泥船仿真器仍還有許多地方可以進(jìn)行開(kāi)發(fā)和改進(jìn)。

猜你喜歡
視景下位挖泥船
飛行控制算法演示驗(yàn)證系統(tǒng)設(shè)計(jì)
地球表面的編輯器
飛行模擬器多通道視景校正融合方法研究
基于UDS協(xié)議的CAN BootLoader的開(kāi)發(fā)與驗(yàn)證
地理信息技術(shù)在機(jī)載增強(qiáng)合成視景中的應(yīng)用
某炮模擬訓(xùn)練系統(tǒng)中三維視景的設(shè)計(jì)與實(shí)現(xiàn)
基于STM32和Zigbee的mini寵物智能喂養(yǎng)系統(tǒng)的設(shè)計(jì)
全球挖泥船市場(chǎng)圖譜
發(fā)射機(jī)房監(jiān)控系統(tǒng)之下位機(jī)
新一代挖泥船旗艦“浚洋1”建成投產(chǎn)