基於ADAM5510-E/TCP實現動力系統訓練模擬器的設計

2020-12-17 電子發燒友

基於ADAM5510-E/TCP實現動力系統訓練模擬器的設計

楊佔錄;王宗亮; 發表於 2020-12-16 18:05:00

  作者:楊佔錄;王宗亮;劉海光

引言

上世紀九十年代以來,由於計算機技術、自動控制技術和仿真技術的飛速發展,訓練模擬器在各個領域特別是航海、航天、軍事領域得到了廣泛的應用並取得了很好的應用成果。動力系統是艦艇的重要系統之一,其操作人員的操作水平對艦艇能否遂行各項戰鬥任務影響重大。因此,動力系統訓練模擬器在我國海軍已得到較廣泛應用。這些訓練模擬器大都採用半實物仿真的模式,模擬器在設備外觀上與被仿真設備完全一致,但其內部為計算機控制,並沒有真實設備。這種訓練模式的優點是學員的操作手感與被仿真設備完全一致,學員完成訓練後完全可以達到操作實際裝備所需的操作技能,能顯著提高軍事訓練的質量與速度。

半實物仿真設備面板上有各類操作與顯示部件,必須用數據採集設備採集操作人員操作開關等部件產生的數據,同時還要驅動指示燈、儀表等顯示部件將計算結果進行輸出。因此,設計一套可靠工作的數據採集與控制系統是研製半實物訓練模擬器的關鍵技術之一。

1 系統概述

動力系統設備多而且關係複雜,開發的模擬器包括37 臺模擬設備,合計開關量輸入點733 個,開關量輸出點1115 個,模擬量輸入點19 個,模擬量輸出點149 個。系統的核心是仿真伺服器(該伺服器同時作為模擬器的教練員臺)。伺服器上運行SimuEngine 仿真引擎,系統中所有的數學模型都由仿真引擎調度。I/O 設備採集半實物設備上的操作,由通信程序將操作數據通過乙太網上傳至伺服器上的實時資料庫,伺服器根據實時資料庫對數學模型進行計算,計算結果也寫入實時資料庫。通信程序將最新計算結果發送給I/O 設備,I/O 設備驅動相應的指示燈或儀表進行顯示。系統總體結構如圖1 所示。

2 設備選型

接口系統的設計有四種方案可供選擇:

(1)基於某種型號的微處理器或單片機設計專用的接口硬體。該方案的優點是成本低,但設計周期長,可靠性難以保證,且開發調試困難。

(2) 採用工業控制計算機以及配套的硬體接口。該方案的優點是成本較低,選型方便快捷、開發調試方便。但由於這種接口系統依賴於WINDOWS 作業系統運行,可靠性不高。

圖 1 系統總體結構

(3)採用可編程序控制器PLC 作為接口。該方案的優點是可靠性高、開發調試方便、模塊化結構、易於維護;缺點是成本高,而且傳統的中低端PLC 沒有乙太網接口,不易構成較為複雜的網絡系統,最新推出的帶乙太網接口的PLC 價格昂貴。

(4)採用可編程自動化控制器PAC(Programmable Automation Controller)。PAC 結合了PC 的處理器、RAM 和軟體的優勢,以及PLC 固有的可靠性和分布特性,是近年來在工控領域出現的新型控制器。 PAC 與傳統PLC 的性能比較見表1。

表 1 PAC 與傳統PLC 的性能比較

PAC 產品型號眾多,經過多方比較,選擇了ADAM5510-E/TCP。它採用模塊化結構,其CPU 模塊包括80188CPU、256KB FLASH ROM、256KB SRAM 和三個串行通訊口與一個10/100M 乙太網接口。其底板有8 個擴展槽,可以安裝不同類型的I/O 模塊。系統內置ROM-DOS,與MS-DOS 作業系統兼容,提供了除BIOS 之外的基本MS-DOS 功能調用,允許運行用C 或C++等高級語言編譯的應用程式。與PLC 相比,5510 運算能力和通訊能力更強,模擬量點價位低。與工控機相比,5510 系統更加緊湊,抗幹擾能力更強,因此適合做模擬器的I/O 設備。

本系統*選擇了四種 I/O 模塊:16 通道隔離數字量輸出模塊ADAM5056S、16 通道隔離數字量輸入模塊ADAM5051S、4 通道模擬量輸出模塊ADAM5024、8 通道高速模擬量輸入模塊ADAM5017H 等。另外,在某些操作臺上有數碼管顯示器件。由於數碼管的位數較多,為了節約輸出模塊,不宜用5056 的輸出口直接驅動數碼管的各段,因此選用了MAX7219 作為數碼管的驅動晶片。通常,使用單片機等微控制器通過7219 的DIN、CS 和CLK 三根信號線控制它進行數碼管的顯示。該項目中由5056 的三個輸出口模擬微控制器的三個口線對7219 進行控制。

3 程序設計

5510 沒有顯示界面,首先在PC 機上編寫應用程式,編譯好之後再下載到5510 內。5510採用了DOS 類作業系統,不支持多線程編程,每臺5510 的程序隨I/O 模塊配置不同略有不同,但程序的總體流程均如圖2 所示。

圖2 程序總體流程

3.1 初始化子程序

(1)啟動看門狗。系統由於某種原因陷入死循環後能自動退出,使系統恢復正常。

(2)初始化5024、5017。該兩種模擬量模塊在使用之前需要通過軟體進行設置。其中5024 設置為4「20mA 電流輸出,5017 設置為0」10V 輸入。

(3)啟動網絡心跳包檢測定時器。網絡心跳包用於確認網絡連接是否正常。

3.2 網絡連接子程序

控制器首先建立 socket,然後與伺服器連接。網絡連接子程序的主要部分為:

void ConnectServer()

{ //首先進行相關變量定義

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

INVALID_SOCKET) //建立socket 並設置為TCP 方式

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

pulArgp = 1;

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

{//未能設置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)

{//建立連接成功的相應處理}

else

{//建立連接失敗的相應處理}

}

3.3 接收數並處理子程序

5510 接收到數據包後首先分析數據包內的命令字。本系統中設計的命令字有開始採集、停止採集、檢查連接、有效數據等。如果是前三種命令則立即執行,如果是「有效數據」命令則打開數據包後面的內容(可能包含多個子包),子包內包含開關量、模擬量等若干子命令,程序根據不同子命令執行相應子程序。程序主體示意如下。

void ReceiveAndProcess()

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

SOCKET_ERROR)

{//沒有接收到數據的處理}

if(numbytes》0)//收到數據後的處理

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

{ case Scollectstart: //開始採集命令

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

break;

case Ssendgroupdata: //有效數據指令

{ for(CircleNum=0;CircleNum

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

{ case SsendoneDOdata: //server 發送的開關量單字節指令

WriteOneDOChannel(RECVITEMS.Items[CircleNum]);

break;

case SsendoneAOdata: //server 發送的模擬量單字節指令

WriteOneAOChannel(RECVITEMS.Items[CircleNum]);

break;

default: break;

} } }

default: break;

} } }

3.3 數據採集發送子程序

為了降低網絡傳輸的數據量,PAC 控制器只向伺服器發送狀態發生變化的數據,而狀態沒有發生變化的數據則不發送。同樣,伺服器通信程序SimuTrans 只向PAC 控制器發送模型計算後發生變化的數據。

為了保證數據不會丟失,針對不同種類的數據採用了不同的發送、回送方式。在該模擬器中,輸入的模擬量為艇員操作面板上的旋鈕時帶動內部的電位器產生0「10V 的模擬電壓信號,由於其操作是連續過程,操作過程會產生一系列變化數據,因此5017H 採集到的變化數據直接發送到伺服器即可。對於操作按鈕、多位開關等部件產生的開關量數據,為了避免數據丟失採用了重複發送,並且伺服器收到數據後要做應答,確保了數據傳輸的可靠性。

4 結論

該模擬器2007 年9 月通過了驗收、鑑定。在動力系統管理人員及在校學員的學習與訓練過程中發揮了重要作用,獲得了良好的軍事和經濟效益。該半實物仿真訓練模擬器的成功研製實踐說明,將新型PAC 控制器應用於模擬器代替傳統的工控機或PLC 不僅能縮短開發周期、使系統運行穩定可靠,而且系統開放性好,可以方便地與其他系統的模擬器連接組成更大規模的模擬器進行訓練,是模擬器研製的一種新思路。

責任編輯:gt

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 基於STM32的直流電機PID調速系統設計與實現
    順應調速系統智能化、簡單化的發展趨勢,本設計採用一款性價比高、功耗低的基於ARMCortex⁃M3內核的STM32單片機為控制核心,結合PID控制技術,實現了直流電機範圍大、精度高的調速性能。 1、系統的總體設計 該調速系統能夠實現對電機的啟動、制動、正反轉調速、測速和數據上傳等功能,可方便地實現直流電機的四象限運行。
  • 基於FPGA的TS over IP的設計與實現
    編者按:隨著網際網路的發展, 數位電視信號的網絡傳輸得到了越來越多的關注,本文設計與實現了一種基於FPGA和MCU(R8051XC2)的TS over IP系統,並對傳統的TS over IP系統進行了改進。
  • Adam e-bike 概念車+音響+電池動力
    Adam e-bike是由荷蘭設計工作室制定了一個項目,它是一個單速電動自行車,(車把上的模塊)主要特徵是Adam e-bike採用集成命令可以作為揚聲器播放音樂和當作電池供應電動機,使其成為前輪動力來源。這個裝置是可移動的,並且可以不在自行車中使用。
  • 基於LabVIEW和DataSocket技術實現網絡化測控系統的設計
    基於LabVIEW和DataSocket技術實現網絡化測控系統的設計 安幼林,楊鎖昌 發表於 2021-01-06 09:43:46 隨著分布式自動測控技術的不斷發展,網絡化測控系統的研究和應用也受到關注。
  • 基於智能移動終端的安全檢查系統設計與實現
    為此,本項目設計了基於智能移動終端的安全檢查系統,它使用手持終端設備,進行現場檢查,並及時將檢查結果上傳伺服器資料庫,安全管理人員通過對檢查信息進行分析,能夠很好地對礦山安全進行綜合評估,確定其安全狀況。
  • 基於CBIR的計算機拼圖系統的設計與實現
    3 計算機拼圖遊戲系統設計計算機拼圖遊戲系統是基於CBIR系統框架的,但鑑於系統處理對象即拼塊數量有限,並不存在特徵庫,故不預先計算圖像庫中圖像的某種特徵存入庫中,並且把特徵提取模塊與檢索匹配模塊集成到統一檢索算法模塊DLL中,可以稱之為簡化的CBIR系統。其系統結構圖如圖2所示。
  • 基於MSP430心肺聽診技能訓練系統的設計
    摘要:基於MSP430心肺聽診技能訓練系統針對現代醫學模擬教學的發展,改變過去用射頻和特製聽診器來模仿心肺聽診過程,在操作上更逼真臨床真實環境。
  • 基於參數自整定模糊控制技術實現電機軟啟動控制系統的設計
    基於參數自整定模糊控制技術實現電機軟啟動控制系統的設計 蘇亮,廖力清,凌玉 發表於 2020-12-17 10:29:17 1 引言 三相異步電機應用廣泛
  • 基於Web的氣象項目管理系統的設計與實現
    與其他系統的對接採用安全規範的接口技術,數據格式採用 JSON 和 XML,基於安全規範的制定統一控制接口,重要數據實現加密,支持異構系統、目錄、FTP 站點等手動或自動獲取數據。2 系統設計與實現2.1 系統業務流程分析系統建設的目的是為了對局內課題項目的申報、審核、驗收、文檔進行統一的管理,經過對業務需求分析調研,將對系統角色進行統籌設計[10]。系統角色分為項目申報人員、科研管理人員、評審專家、超級管理員。
  • 基於LabVIEW的SIP系統仿真的設計與實現
    基於LabVIEW的SIP系統仿真的設計與實現將虛擬儀器的概念引入大亞灣核電站的SIP系統的仿真,利用計算機仿真技術參與其系統設計有助於縮短設計周期,降低設計費用和提高設計質量,基於這些優點利用LabVIEW進行了SIP系統的虛擬仿真設計,目前已經取得了預期的效果,主要以SIP系統的RCP10通道為例進行詳細地仿真設計介紹。
  • 基於USB接口的LED顯示系統設計
    本設計包括硬體和軟體。硬體包括LED顯示屏的驅動和控制。驅動部分負責根據行列選通信號向指定的LED發光器件提供合適的驅動電流;控制部分採用集成USB2. 0的微處理器CY7C68013A,實現USB通信和對行列移位寄存系統的控制。
  • 雷蛇發布方程式賽車模擬器:202°投影,土豪快樂椅!
    IT之家1月7日消息 根據雷蛇官方的消息,雷蛇與模擬賽車領域的頂尖公司合作打造了Razer Eracing Simulator 雷蛇方程式賽車模擬器概念版,運行Project CARS Pro,結合來自Vesaro, Simpit, Fanatec以及Synthesis VR的諸多技術
  • 日產全新NOTE亮相 使用e-POWER動力系統
    易車訊 11月24日,日產全新NOTE正式亮相,新車將推出前驅和四驅車型可供選擇,並全系搭載日產e-POWER動力系統。此前該車並沒有在歐美、中國、俄羅斯等市場銷售,其主要的市場在日本。新車在外觀上採用了日產家族式的設計理念,格柵採用了大尺寸的設計,大燈與格柵融為一體,加上下方鍍鉻飾條的修飾,看上去增加了幾分靈氣。側面造型方面,A柱下方的小窗戶得以保留,更大的車窗面積增加了車內的視野通透度,車身尺寸方面,新車長寬高分別為4045×1695×1505(1520)mm,軸距為2580mm。
  • IND4底盤丨一種駕駛模擬器平臺
    1969年飛行員訓練模擬器首次採用Stewart平臺作為動感模擬,利用液壓方式驅動,實現六個自由度的運動。Stewart平臺在汽車駕駛模擬器方面的應用起步相對較晚,80年代中期開始,汽車製造商相繼推出具備六自由度運動仿真的開發型駕駛模擬器口,並且在算法和動力學模型方面不斷完善發展。
  • 基於VoiceXML技術的可視化IVR系統設計和實現(三)
    查瑋 2009/12/29 基於VoiceXML技術的可視化IVR系統設計和實現(一) 基於VoiceXML技術的可視化IVR系統設計和實現(二)   在系統分析和系統總體設計之後,就進入了系統實現階段。
  • 應用PAC技術設計的溫度控制自動化實驗系統
    本文設計了一個基於PAC的溫度控制自動化實驗系統。本實驗系統以信號盒和信號發生器產生的模擬信號為被控對象,能夠較好地實現被控對象的自動化控制。1 系統組成設計方案本系統模擬化工過程稀釋罐、反應罐液位和反應罐溫度的變化,對這一過程進行監控。
  • 基於光電傳感器的智能燈控系統的設計與實現
    打開APP 基於光電傳感器的智能燈控系統的設計與實現 電子發燒友 發表於 2019-03-19 10:40:31   摘要:文章設計了一種基於光敏電阻和光電傳感器的智能燈控系統
  • 顧宏斌:駕「輕舟」飛天打造中國牌飛行模擬器
    顧宏斌介紹,飛行模擬器在國際上一般訂貨周期是18個月,而根據具體情況,華模科技可以做到一年甚至更短的時間。 有了自己的國產飛行模擬器,未來飛行訓練還將獲得更深入的服務支持。顧宏斌說,過去有航空公司希望和南航團隊聯合開展飛行訓練的評估,但國外飛行模擬器的廠家根本不給數據。
  • 一種基於STC89C52的客車安全系統設計與實現
    摘要 為增加客車的安全性,提出了一種基於STC89C52單片機同時具有防超載和防撞功能的客車安全系統。通過研究超聲波測距原理和脈衝寬度調製原理,並對車身重量和障礙物的距離進行實時監測以實現其功能。對該系統的安全性能和測量精度進行了測試,結果表明,系統達到了設計要求。本文引用地址:http://www.eepw.com.cn/article/246381.htm統計表明,在關於客車的交通事故中,超速和超載是事故發生的主要原因。
  • 基於Fuzzy-PID的陀螺儀溫度控制系統設計
    控制部分採用Fuzzy-PID的複合控制使單片機輸出PWM脈衝,進而控制執行機構輸出到陀螺加熱器的電流量,實現陀螺加熱器的溫度自動調節控制。由於採用了模糊自適應PID控制算法,系統就可以在沒有操作者幹預的情況下根據控制系統的實際響應情況,自動實現對PID參數的最佳調整,改變PWM輸出波形的佔空比,合理地控制輸出,使陀螺加熱器的工作溫度保持恆定,實現自動控制,這也是設計該溫控制系統的關鍵所在。