當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]PAC應(yīng)用于某動(dòng)力系統(tǒng)訓(xùn)練模擬器中

  摘 要:介紹了某型艦艇動(dòng)力系統(tǒng)訓(xùn)練模擬器的組成與基本工作原理。詳細(xì)介紹了I/O設(shè)備的選型依據(jù),給出了ADAM5510-E/TCP 的基本性能,并詳細(xì)介紹了其在模擬器中的硬件配置方法和主要軟件的編制思想。實(shí)踐證明,基于ADAM5510-E/TCP 所設(shè)計(jì)的訓(xùn)練模擬器運(yùn)行穩(wěn)定、擴(kuò)展靈活,完全滿足軍事訓(xùn)練需求。
  0 引言

  上世紀(jì)九十年代以來,由于計(jì)算機(jī)技術(shù)、自動(dòng)控制技術(shù)和仿真技術(shù)的飛速發(fā)展,訓(xùn)練模擬器在各個(gè)領(lǐng)域特別是航海、航天、軍事領(lǐng)域得到了廣泛的應(yīng)用并取得了很好的應(yīng)用成果。動(dòng)力系統(tǒng)是艦艇的重要系統(tǒng)之一,其操作人員的操作水平對(duì)艦艇能否遂行各項(xiàng)戰(zhàn)斗任務(wù)影響重大。因此,動(dòng)力系統(tǒng)訓(xùn)練模擬器在我國海軍已得到較廣泛應(yīng)用。這些訓(xùn)練模擬器大都采用半實(shí)物仿真的模式,模擬器在設(shè)備外觀上與被仿真設(shè)備完全一致,但其內(nèi)部為計(jì)算機(jī)控制,并沒有真實(shí)設(shè)備。這種訓(xùn)練模式的優(yōu)點(diǎn)是學(xué)員的操作手感與被仿真設(shè)備完全一致,學(xué)員完成訓(xùn)練后完全可以達(dá)到操作實(shí)際裝備所需的操作技能,能顯著提高軍事訓(xùn)練的質(zhì)量與速度。

  半實(shí)物仿真設(shè)備面板上有各類操作與顯示部件,必須用數(shù)據(jù)采集設(shè)備采集操作人員操作開關(guān)等部件產(chǎn)生的數(shù)據(jù),同時(shí)還要驅(qū)動(dòng)指示燈、儀表等顯示部件將計(jì)算結(jié)果進(jìn)行輸出。因此,設(shè)計(jì)一套可靠工作的數(shù)據(jù)采集與控制系統(tǒng)是研制半實(shí)物訓(xùn)練模擬器的關(guān)鍵技術(shù)之一。

  1 系統(tǒng)概述

  動(dòng)力系統(tǒng)設(shè)備多而且關(guān)系復(fù)雜,筆者開發(fā)的模擬器包括37 臺(tái)模擬設(shè)備,合計(jì)開關(guān)量輸入點(diǎn)733 個(gè),開關(guān)量輸出點(diǎn)1115 個(gè),模擬量輸入點(diǎn)19 個(gè),模擬量輸出點(diǎn)149 個(gè)。系統(tǒng)的核心是仿真服務(wù)器(該服務(wù)器同時(shí)作為模擬器的教練員臺(tái))。服務(wù)器上運(yùn)行SimuEngine 仿真引擎,系統(tǒng)中所有的數(shù)學(xué)模型都由仿真引擎調(diào)度。I/O 設(shè)備采集半實(shí)物設(shè)備上的操作,由通信程序?qū)⒉僮鲾?shù)據(jù)通過以太網(wǎng)上傳至服務(wù)器上的實(shí)時(shí)數(shù)據(jù)庫,服務(wù)器根據(jù)實(shí)時(shí)數(shù)據(jù)庫對(duì)數(shù)學(xué)模型進(jìn)行計(jì)算,計(jì)算結(jié)果也寫入實(shí)時(shí)數(shù)據(jù)庫。通信程序?qū)⒆钚掠?jì)算結(jié)果發(fā)送給I/O 設(shè)備,I/O 設(shè)備驅(qū)動(dòng)相應(yīng)的指示燈或儀表進(jìn)行顯示。系統(tǒng)總體結(jié)構(gòu)如圖1 所示。

  2 設(shè)備選型

  接口系統(tǒng)的設(shè)計(jì)有四種方案可供選擇:

  (1)基于某種型號(hào)的微處理器或單片機(jī)設(shè)計(jì)專用的接口硬件。該方案的優(yōu)點(diǎn)是成本低,但設(shè)計(jì)周期長,可靠性難以保證,且開發(fā)調(diào)試?yán)щy。

  (2) 采用工業(yè)控制計(jì)算機(jī)以及配套的硬件接口。該方案的優(yōu)點(diǎn)是成本較低,選型方便快捷、開發(fā)調(diào)試方便。但由于這種接口系統(tǒng)依賴于WINDOWS 操作系統(tǒng)運(yùn)行,可靠性不高。

  圖 1 系統(tǒng)總體結(jié)構(gòu)[!--empirenews.page--]

 ?。?)采用可編程序控制器PLC 作為接口。該方案的優(yōu)點(diǎn)是可靠性高、開發(fā)調(diào)試方便、模塊化結(jié)構(gòu)、易于維護(hù);缺點(diǎn)是成本高,而且傳統(tǒng)的中低端PLC 沒有以太網(wǎng)接口,不易構(gòu)成較為復(fù)雜的網(wǎng)絡(luò)系統(tǒng),最新推出的帶以太網(wǎng)接口的PLC 價(jià)格昂貴。

 ?。?)采用可編程自動(dòng)化控制器PAC(Programmable Automation Controller)。PAC 結(jié)合了PC 的處理器、RAM 和軟件的優(yōu)勢,以及PLC 固有的可靠性和分布特性,是近年來在工控領(lǐng)域出現(xiàn)的新型控制器。 PAC 與傳統(tǒng)PLC 的性能比較見表1。

  表 1 PAC 與傳統(tǒng)PLC 的性能比較

  PAC 產(chǎn)品型號(hào)眾多,經(jīng)過多方比較,選擇了ADAM5510-E/TCP。它采用模塊化結(jié)構(gòu),其CPU 模塊包括80188CPU、256KB FLASH ROM、256KB SRAM 和三個(gè)串行通訊口與一個(gè)10/100M 以太網(wǎng)接口。其底板有8 個(gè)擴(kuò)展槽,可以安裝不同類型的I/O 模塊。系統(tǒng)內(nèi)置ROM-DOS,與MS-DOS 操作系統(tǒng)兼容,提供了除BIOS 之外的基本MS-DOS 功能調(diào)用,允許運(yùn)行用C 或C++等高級(jí)語言編譯的應(yīng)用程序。與PLC 相比,5510 運(yùn)算能力和通訊能力更強(qiáng),模擬量點(diǎn)價(jià)位低。與工控機(jī)相比,5510 系統(tǒng)更加緊湊,抗干擾能力更強(qiáng),因此適合做模擬器的I/O 設(shè)備。

  本系統(tǒng)*選擇了四種 I/O 模塊:16 通道隔離數(shù)字量輸出模塊ADAM5056S、16 通道隔離數(shù)字量輸入模塊ADAM5051S、4 通道模擬量輸出模塊ADAM5024、8 通道高速模擬量輸入模塊ADAM5017H 等。另外,在某些操作臺(tái)上有數(shù)碼管顯示器件。由于數(shù)碼管的位數(shù)較多,為了節(jié)約輸出模塊,不宜用5056 的輸出口直接驅(qū)動(dòng)數(shù)碼管的各段,因此選用了MAX7219 作為數(shù)碼管的驅(qū)動(dòng)芯片。通常,使用單片機(jī)等微控制器通過7219 的DIN、CS 和CLK 三根信號(hào)線控制它進(jìn)行數(shù)碼管的顯示。該項(xiàng)目中由5056 的三個(gè)輸出口模擬微控制器的三個(gè)口線對(duì)7219 進(jìn)行控制。

  3 程序設(shè)計(jì)

  5510 沒有顯示界面,首先在PC 機(jī)上編寫應(yīng)用程序,編譯好之后再下載到5510 內(nèi)。5510采用了DOS 類操作系統(tǒng),不支持多線程編程,每臺(tái)5510 的程序隨I/O 模塊配置不同略有不同,但程序的總體流程均如圖2 所示。


  圖2 程序總體流程[!--empirenews.page--]

  3.1 初始化子程序

 ?。?)啟動(dòng)看門狗。系統(tǒng)由于某種原因陷入死循環(huán)后能自動(dòng)退出,使系統(tǒng)恢復(fù)正常。

 ?。?)初始化5024、5017。該兩種模擬量模塊在使用之前需要通過軟件進(jìn)行設(shè)置。其中5024 設(shè)置為4~20mA 電流輸出,5017 設(shè)置為0~10V 輸入。

 ?。?)啟動(dòng)網(wǎng)絡(luò)心跳包檢測定時(shí)器。網(wǎng)絡(luò)心跳包用于確認(rèn)網(wǎng)絡(luò)連接是否正常。

  3.2 網(wǎng)絡(luò)連接子程序

  控制器首先建立 socket,然后與服務(wù)器連接。網(wǎng)絡(luò)連接子程序的主要部分為:

  void ConnectServer()

  { //首先進(jìn)行相關(guān)變量定義

  if((SO_5510=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))==

  INVALID_SOCKET) //建立socket 并設(shè)置為TCP 方式

  {//未能建立socket 的處理}

  pulArgp = 1;

  if(ioctlsocket(SO_5510, FIONBIO, &pulArgp)) //將socket 設(shè)置為非阻塞模式

  {//未能設(shè)置socket 的處理}

  he=gethostbyname("172.18.55.1"); //server address

  Server_addr.sin_family = AF_INET; //TCP/IP

  Server_addr.sin_port = htons(Server_Port);

  Server_addr.sin_addr =*((struct in_addr *)he->h_addr);

  memset(&(Server_addr.sin_zero), 0, 8);

  ConnectReturnFlag = connect(SO_5510, (struct sockaddr *)&Server_addr,sizeof(struct

  sockaddr));//建立連接

  if( ConnectReturnFlag == 0)

  {//建立連接成功的相應(yīng)處理}

  else

  {//建立連接失敗的相應(yīng)處理}

  }

  3.3 接收數(shù)并處理子程序

  5510 接收到數(shù)據(jù)包后首先分析數(shù)據(jù)包內(nèi)的命令字。本系統(tǒng)中設(shè)計(jì)的命令字有開始采集、停止采集、檢查連接、有效數(shù)據(jù)等。如果是前三種命令則立即執(zhí)行,如果是“有效數(shù)據(jù)”命令則打開數(shù)據(jù)包后面的內(nèi)容(可能包含多個(gè)子包),子包內(nèi)包含開關(guān)量、模擬量等若干子命令,程序根據(jù)不同子命令執(zhí)行相應(yīng)子程序。程序主體示意如下。

  void ReceiveAndProcess()

  { if ((numbytes = recv(SO_5510, (char *)&RECVITEMS, sizeof(RECVITEMS), 0))==

  SOCKET_ERROR)

  {//沒有接收到數(shù)據(jù)的處理}

  if(numbytes>0)//收到數(shù)據(jù)后的處理

  { switch(RECVITEMS.Command) //判斷命令字

  { case Scollectstart: //開始采集命令[!--empirenews.page--]

  SendCommand(CReplyCollectStart);//表示收到開始采集命令

  break;

  case Ssendgroupdata: //有效數(shù)據(jù)指令

  { for(CircleNum=0;CircleNum

  { switch (RECVITEMS.Items[CircleNum].Command) //判斷子命令

  { case SsendoneDOdata: //server 發(fā)送的開關(guān)量單字節(jié)指令

  WriteOneDOChannel(RECVITEMS.Items[CircleNum]);

  break;

  case SsendoneAOdata: //server 發(fā)送的模擬量單字節(jié)指令

  WriteOneAOChannel(RECVITEMS.Items[CircleNum]);

  break;

  default: break;

  } } }

  default: break;

  } } }

  3.3 數(shù)據(jù)采集發(fā)送子程序

  為了降低網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,PAC 控制器只向服務(wù)器發(fā)送狀態(tài)發(fā)生變化的數(shù)據(jù),而狀態(tài)沒有發(fā)生變化的數(shù)據(jù)則不發(fā)送。同樣,服務(wù)器通信程序SimuTrans 只向PAC 控制器發(fā)送模型計(jì)算后發(fā)生變化的數(shù)據(jù)。

  為了保證數(shù)據(jù)不會(huì)丟失,針對(duì)不同種類的數(shù)據(jù)采用了不同的發(fā)送、回送方式。在該模擬器中,輸入的模擬量為艇員操作面板上的旋鈕時(shí)帶動(dòng)內(nèi)部的電位器產(chǎn)生0~10V 的模擬電壓信號(hào),由于其操作是連續(xù)過程,操作過程會(huì)產(chǎn)生一系列變化數(shù)據(jù),因此5017H 采集到的變化數(shù)據(jù)直接發(fā)送到服務(wù)器即可。對(duì)于操作按鈕、多位開關(guān)等部件產(chǎn)生的開關(guān)量數(shù)據(jù),為了避免數(shù)據(jù)丟失采用了重復(fù)發(fā)送,并且服務(wù)器收到數(shù)據(jù)后要做應(yīng)答,確保了數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

  4 結(jié)論

  該模擬器2007 年9 月通過了驗(yàn)收、鑒定。在動(dòng)力系統(tǒng)管理人員及在校學(xué)員的學(xué)習(xí)與訓(xùn)練過程中發(fā)揮了重要作用,獲得了良好的軍事和經(jīng)濟(jì)效益。該半實(shí)物仿真訓(xùn)練模擬器的成功研制實(shí)踐說明,將新型PAC 控制器應(yīng)用于模擬器代替?zhèn)鹘y(tǒng)的工控機(jī)或PLC 不僅能縮短開發(fā)周期、使系統(tǒng)運(yùn)行穩(wěn)定可靠,而且系統(tǒng)開放性好,可以方便地與其他系統(tǒng)的模擬器連接組成更大規(guī)模的模擬器進(jìn)行訓(xùn)練,是模擬器研制的一種新思路。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉