0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ADAM5510-E/TCP實現(xiàn)動力系統(tǒng)訓(xùn)練模擬器的設(shè)計

電子設(shè)計 ? 來源:微計算機信息 ? 作者:楊占錄;王宗亮; ? 2020-12-16 18:05 ? 次閱讀

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

引言

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

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

1 系統(tǒng)概述

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

2 設(shè)備選型

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

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

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

基于ADAM5510-E/TCP實現(xiàn)動力系統(tǒng)訓(xùn)練模擬器的設(shè)計

圖 1 系統(tǒng)總體結(jié)構(gòu)

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

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

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

3 程序設(shè)計

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

圖2 程序總體流程

3.1 初始化子程序

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

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

(3)啟動網(wǎng)絡(luò)心跳包檢測定時器。網(wǎng)絡(luò)心跳包用于確認網(wǎng)絡(luò)連接是否正常。

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

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

void ConnectServer()

{ //首先進行相關(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è)計的命令字有開始采集、停止采集、檢查連接、有效數(shù)據(jù)等。如果是前三種命令則立即執(zhí)行,如果是“有效數(shù)據(jù)”命令則打開數(shù)據(jù)包后面的內(nèi)容(可能包含多個子包),子包內(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: //開始采集命令

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ā)送模型計算后發(fā)生變化的數(shù)據(jù)。

為了保證數(shù)據(jù)不會丟失,針對不同種類的數(shù)據(jù)采用了不同的發(fā)送、回送方式。在該模擬器中,輸入的模擬量為艇員操作面板上的旋鈕時帶動內(nèi)部的電位器產(chǎn)生0“10V 的模擬電壓信號,由于其操作是連續(xù)過程,操作過程會產(chǎn)生一系列變化數(shù)據(jù),因此5017H 采集到的變化數(shù)據(jù)直接發(fā)送到服務(wù)器即可。對于操作按鈕、多位開關(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 月通過了驗收、鑒定。在動力系統(tǒng)管理人員及在校學(xué)員的學(xué)習(xí)與訓(xùn)練過程中發(fā)揮了重要作用,獲得了良好的軍事和經(jīng)濟效益。該半實物仿真訓(xùn)練模擬器的成功研制實踐說明,將新型PAC 控制器應(yīng)用于模擬器代替?zhèn)鹘y(tǒng)的工控機或PLC 不僅能縮短開發(fā)周期、使系統(tǒng)運行穩(wěn)定可靠,而且系統(tǒng)開放性好,可以方便地與其他系統(tǒng)的模擬器連接組成更大規(guī)模的模擬器進行訓(xùn)練,是模擬器研制的一種新思路。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5006

    文章

    13107

    瀏覽量

    461450
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    4023

    瀏覽量

    133336
  • 模擬器
    +關(guān)注

    關(guān)注

    2

    文章

    862

    瀏覽量

    43127
收藏 人收藏

    評論

    相關(guān)推薦

    金屬帶式CVT與動力系統(tǒng)的優(yōu)化匹配及液壓系統(tǒng)控制

    本文是國家九五科技攻關(guān)項目的一部分內(nèi)容圍繞汽車CVT 系統(tǒng)動力系統(tǒng)的匹配及液壓系統(tǒng)的控制技術(shù)研究主要進行了以下幾方面的工作1. 建立了EQ491 發(fā)動機數(shù)學(xué)模型給出了發(fā)動機與動力系統(tǒng)
    發(fā)表于 12-02 12:45

    汽車動力系統(tǒng)解決方案集錦

    汽車動力系統(tǒng)解決方案集錦  TOP1 LIN步進電機驅(qū)動解決方案  步進電機驅(qū)動系統(tǒng)是由步進電機和步進電機驅(qū)動構(gòu)成的。步進電機驅(qū)動系統(tǒng)
    發(fā)表于 04-20 09:48

    汽車動力系統(tǒng)大盤點:助你設(shè)計絕佳方案

    本帖最后由 liuyongwangzi 于 2015-4-21 15:04 編輯 汽車動力系統(tǒng)就是指將發(fā)動機產(chǎn)生的動力,經(jīng)過一系列的動力傳遞,最后傳到車輪的整個機械布置的過程。本專題詳細介紹了
    發(fā)表于 04-21 14:59

    RoboMaster發(fā)布M2006動力系統(tǒng)!體積小、性能強,助力高性能機器人開發(fā)

    M2006 動力系統(tǒng)由 M2006 無刷減速電機和 C610 無刷電機調(diào)速組成,具有控制精度高,輸出功率大,體積小等特性,可廣泛應(yīng)用于機器人機構(gòu)、驅(qū)動模塊等等。 想了解電機知識的小伙伴,可以觀看電機的視頻
    發(fā)表于 05-11 10:26

    多功能發(fā)動機轉(zhuǎn)速模擬器系統(tǒng)總體方案設(shè)計

    、價格昂貴等缺點,給動力系統(tǒng)工程人員外出調(diào)試和檢修電控設(shè)備帶來了不便??紤]到諸多因素,很有必要研制一種結(jié)構(gòu)簡單、攜帶和使用方便的多功能發(fā)動機轉(zhuǎn)速模擬器。它能在不啟動發(fā)動機的情況下,模擬產(chǎn)生并輸出供現(xiàn)場
    發(fā)表于 06-18 07:19

    多功能發(fā)動機轉(zhuǎn)速模擬器系統(tǒng)的工作原理是什么?

    電池供電,所以該多功能發(fā)動機轉(zhuǎn)速模擬器的成功研制將給動力系統(tǒng)工程技術(shù)人員進行現(xiàn)場測試帶來極大的方便,且具有較高的實用價值、經(jīng)濟價值。
    發(fā)表于 08-21 08:16

    半導(dǎo)體技術(shù)在汽車動力系統(tǒng)中的應(yīng)用是什么?

    半導(dǎo)體技術(shù)在汽車動力系統(tǒng)中的應(yīng)用是什么?
    發(fā)表于 05-18 06:09

    艦船動力系統(tǒng)訓(xùn)練模擬器的研究與實現(xiàn)

    介紹了一種基于PC 機與PAC 控制硬件平臺、SimuWorks 仿真支撐軟件平臺和以太網(wǎng)技術(shù)的某型艦船動力系統(tǒng)訓(xùn)練模擬器的研制方法,闡述了該系統(tǒng)
    發(fā)表于 01-18 13:40 ?10次下載

    PAC在某動力系統(tǒng)訓(xùn)練模擬器中的應(yīng)用

    介紹了某型艦艇動力系統(tǒng)訓(xùn)練模擬器的組成與基本工作原理。詳細介紹了I/O設(shè)備的選型依據(jù),給出了ADAM5510-E/TCP 的基本性能,并詳細
    發(fā)表于 01-18 14:53 ?10次下載

    ADAM-5510KW中FPID/PID功能塊之實現(xiàn)及應(yīng)用

    ADAM-5510KW中FPID/PID功能塊之實現(xiàn)及應(yīng)用一、 ADAM-5510KW實現(xiàn)PID控制的方法1、ADAM-5510KW可以使用
    發(fā)表于 10-07 15:00 ?26次下載

    豐田普銳斯混合動力系統(tǒng)原理

    Prius是第一臺裝備新的高壓/高量的混合協(xié)同驅(qū)動系統(tǒng)的豐田車。如同原來的用在當前款Prius上的豐田混合動力系統(tǒng)(THS),混合協(xié)同驅(qū)動系統(tǒng)被定義為是一個“完全混合動力系統(tǒng)
    發(fā)表于 03-14 11:33 ?7937次閱讀

    基于容差控制的電動汽車動力系統(tǒng)動態(tài)負載模擬

    基于容差控制的電動汽車動力系統(tǒng)動態(tài)負載模擬_何承坤
    發(fā)表于 01-04 16:45 ?0次下載

    四軸飛行的“動力系統(tǒng)”:三相無刷電機的簡介

    在整個四軸飛行(或其他多軸飛行)中還有一套“動力系統(tǒng)”。這套“動力系統(tǒng)”由電調(diào)、電機和槳片組成。本節(jié),你將會了解到如何按照自己的需要選擇一套四軸飛行
    發(fā)表于 08-01 10:05 ?4091次閱讀

    環(huán)境模擬風(fēng)洞高壓動力系統(tǒng)設(shè)計方案

    環(huán)境模擬風(fēng)洞高壓動力系統(tǒng)設(shè)計方案
    發(fā)表于 06-19 16:21 ?19次下載

    某型艦艇動力系統(tǒng)訓(xùn)練模擬器的組成與基本工作原理

    動力系統(tǒng)設(shè)備多而且關(guān)系復(fù)雜,筆者開發(fā)的模擬器包括37 臺模擬設(shè)備,合計開關(guān)量輸入點733 個,開關(guān)量輸出點1115 個,模擬量輸入點19 個,模擬
    發(fā)表于 01-19 14:51 ?316次閱讀
    某型艦艇<b class='flag-5'>動力系統(tǒng)</b><b class='flag-5'>訓(xùn)練</b><b class='flag-5'>模擬器</b>的組成與基本工作原理