張淵博+彭漢國+雷波
摘 要:針對US3仿真系統(tǒng)的特殊功能和要求,網(wǎng)絡系統(tǒng)設(shè)計采用了二層的星型以太網(wǎng)物理拓撲結(jié)構(gòu),并依據(jù)US3系統(tǒng)內(nèi)程序開發(fā)的固定結(jié)構(gòu)和模式,開發(fā)設(shè)計實時、可靠的網(wǎng)絡通信軟件,最后有針對性的分析了關(guān)鍵技術(shù)。
關(guān)鍵詞:網(wǎng)絡結(jié)構(gòu);US3系統(tǒng);關(guān)鍵技術(shù)
中圖分類號:TP302 文獻標識碼:A
Design and Implement of Network Communications System of US3 Simulation System
ZHANG Yuanbo,PENG Hanguo,LEI Bo
(Navy College of Submarine,Simulation Training Center,Dalian 116085,China)
Abstract:Based on special function and demand of US3 simulation system,a two-tier star Ethernet physical topology was presented for network system.Based on stationary struction and mode for program developing on US3 system,a real-time and reliable network communications software was developed and designed.Finally,the targeted key technology was analysised.
Keywords:network structure;US3 system;key technology
1 引言(Introduction)
實時仿真系統(tǒng)是一個復雜的多功能訓練系統(tǒng),實時仿真是指系統(tǒng)在實時條件下接收動態(tài)輸入,并能實時產(chǎn)生一個動態(tài)的輸出[1],系統(tǒng)擁有強大的運算能力和數(shù)據(jù)吞吐能力,對網(wǎng)絡通信提出了極高的要求。針對實時仿真系統(tǒng)的特殊功能及要求,網(wǎng)絡通信系統(tǒng)的網(wǎng)絡構(gòu)架嚴格遵循可靠適用的原則,采用標準的通信協(xié)議和模塊化的程序設(shè)計方法設(shè)計可靠、實時的網(wǎng)絡通信軟件。
2 需求分析(Demand analysis)
2.1 功能要求
實時仿真系統(tǒng)具有獨立訓練(包括崗位訓練和科目訓練)和協(xié)同訓練的功能,計算機網(wǎng)絡通信系統(tǒng)是實現(xiàn)系統(tǒng)各項功能的基本組成部分,概括起來網(wǎng)絡通信系統(tǒng)的主要功能包括:
(1)為仿真系統(tǒng)各仿真子系統(tǒng)(包括熱工水力仿真系統(tǒng)、軸系仿真系統(tǒng)、綜合控制仿真系統(tǒng)、電力仿真系統(tǒng)、電力推進與應急動力仿真系統(tǒng)等)之間提供通信手段。
(2)為仿真主計算機與終端計算機(包括工業(yè)控制計算機、接口計算機、軟臺屏計算機、監(jiān)控計算機、數(shù)據(jù)庫計算機)之間提供通信手段。
2.2 設(shè)計要求
為確保滿足系統(tǒng)仿真的實時性需要和可擴展性的需要,網(wǎng)絡通信系統(tǒng)的設(shè)計應滿足以下設(shè)計準則:
(1)通信傳輸時延<10ms。在網(wǎng)絡系統(tǒng)中,用戶對數(shù)據(jù)通信的響應時間最為敏感,因此網(wǎng)絡系統(tǒng)應滿足高速度和低延遲的要求。
(2)可靠性和安全性。網(wǎng)絡系統(tǒng)的安全可靠性直接關(guān)系到實時仿真系統(tǒng)性能的發(fā)揮,因此系統(tǒng)應選用成熟可靠的網(wǎng)絡產(chǎn)品,并考慮適當?shù)脑O(shè)備冗余備份。
(3)開放性和標準化。由于網(wǎng)絡系統(tǒng)涉及不同的軟硬件平臺,為確保網(wǎng)絡的成功互連,網(wǎng)絡通信軟件必須滿足標準化、模塊化和通用化要求。通信軟件應盡量采用通用的、開放的國際標準協(xié)議和通信方式,包括網(wǎng)絡拓撲結(jié)構(gòu)、網(wǎng)絡通信協(xié)議以及網(wǎng)絡綜合化布線標準等,通信程序必須模塊化,以便控制系統(tǒng)的復雜度,提高系統(tǒng)的可靠性,靈活性和可擴展能力。
(4)可管理性。方便的網(wǎng)絡管理可以有效地提高系統(tǒng)的使用效率,以及有效地維護和監(jiān)控網(wǎng)絡系統(tǒng),還可以根據(jù)應用特點優(yōu)化系統(tǒng)資源的分配,確保網(wǎng)絡系統(tǒng)的正常和高效使用。
(5)可擴充性。網(wǎng)絡系統(tǒng)應能隨著技術(shù)的發(fā)展和應用要求的不斷提高,可以方便地進行擴充和升級,以便保護系統(tǒng)的投資。
3 系統(tǒng)設(shè)計(System design)
3.1 網(wǎng)絡系統(tǒng)
計算機網(wǎng)絡系統(tǒng)是聯(lián)系仿真系統(tǒng)中各個節(jié)點的紐帶,是將各計算機集成為系統(tǒng)的重要環(huán)節(jié),網(wǎng)絡系統(tǒng)的組成包括網(wǎng)絡拓撲結(jié)構(gòu)以及網(wǎng)絡采用的基本通信協(xié)議等。
3.1.1 網(wǎng)絡拓撲結(jié)構(gòu)
一般地,網(wǎng)絡的實際組網(wǎng)方法有兩種即單層設(shè)計和多層設(shè)計,典型地為三層設(shè)計。雖然多層設(shè)計的傳輸延遲略大一些,但多層設(shè)計較之單層設(shè)計有諸多方面的優(yōu)點[2]:
(1)多層設(shè)計配置靈活,管理方便,可優(yōu)化局部的層次訪問。
(2)多層設(shè)計可提供多層的流量控制功能。流量控制功能使高速端口的信息在低速端口上不發(fā)生丟包。
(3)多層設(shè)計可以使網(wǎng)絡同時打開多個端口,從而避免由于遇到小的阻塞而關(guān)閉端口,低層端口的信息過載只關(guān)閉一個本層的上行端口而不會關(guān)閉上層的上行端口。
(4)多層設(shè)計也能提供多層的緩沖功能。信息緩沖功能可以控制高速數(shù)據(jù)的快速猝發(fā)而不丟失數(shù)據(jù)分組,提高整個網(wǎng)絡的運轉(zhuǎn)效率,多層設(shè)計的網(wǎng)絡傳送的信息量要遠高于單層設(shè)計[3]。
鑒于以上考慮,仿真系統(tǒng)網(wǎng)絡采用如圖1所示的二層設(shè)計的星型以太網(wǎng)物理拓撲結(jié)構(gòu),采用交換式快速以太網(wǎng)標準IEEE 802.3u組網(wǎng)。仿真系統(tǒng)采用100Base-TX快速交換式以太網(wǎng)標準按兩個層次組網(wǎng),中心層連接仿真主機、教控臺、網(wǎng)管工作站、接口計算機以及下層交換機,下層交換機主要連接工業(yè)控制計算機、監(jiān)控計算機、軟臺屏計算機等。
圖1 網(wǎng)絡拓撲圖endprint
Fig.1 Network topology
3.1.2 網(wǎng)絡通信協(xié)議
模擬系統(tǒng)物理層采用快速交換式以太網(wǎng)協(xié)議標準IEEE 802.3u,鏈路層支持IEEE 802.1d透明網(wǎng)橋協(xié)議標準,網(wǎng)絡層采用TCP/IP通信協(xié)議標準,確保異種機(IRIX系統(tǒng)和WINDOWS系統(tǒng))之間的互連和有效通信。
3.2 網(wǎng)絡通信軟件
3.2.1 網(wǎng)絡通信軟件類型
本系統(tǒng)網(wǎng)絡通信軟件可分為兩種類型,一種是仿真系統(tǒng)各仿真子系統(tǒng)之間的通信,即IRIX和IRIX之間的通信,另一種是仿真主計算機與終端計算機之間的通信,即IRIX和WINDOWS之間的通信。
IRIX-IRIX間的通信是仿真服務器上的仿真平臺(US3)與仿真服務器上各仿真子系統(tǒng)間的數(shù)據(jù)通信。US3將仿真的計算結(jié)果等傳送給各仿真子系統(tǒng),供各子系統(tǒng)調(diào)用,各仿真子系統(tǒng)發(fā)送指令信息給US3來控制仿真任務的進程。IRIX和IRIX之間的通信實現(xiàn)方式采用共享數(shù)據(jù)技術(shù),交互的數(shù)據(jù)全部存放在仿真主機共享數(shù)據(jù)區(qū),供仿真平臺和各仿真子系統(tǒng)進行訪問,該功能已由研發(fā)機構(gòu)GSE公司實現(xiàn)。
IRIX和Windows之間的通信是指仿真主計算機與終端計算機間的數(shù)據(jù)通信。仿真主計算機從終端計算機獲得模擬硬臺屏的設(shè)備狀態(tài)參數(shù),終端計算機則從仿真主計算機獲得終端計算機顯示的變量參數(shù)、教控臺指令等,通信程序通過動態(tài)數(shù)據(jù)交換機制(DDE)方式進行數(shù)據(jù)交換[4],交換媒介為通信點表文件。它們兩者間的通信是仿真通信系統(tǒng)的主體部分,是開發(fā)設(shè)計的主要工作內(nèi)容,這部分的設(shè)計和實現(xiàn)嚴格遵循優(yōu)化可靠的準則。
3.2.2 US3仿真平臺下的程序開發(fā)
通信軟件的功能是實現(xiàn)仿真主機與終端計算機之間的通訊,通信軟件一方面需要實時的接收設(shè)備狀態(tài)的參數(shù),同時將接收的數(shù)據(jù)寫入到共享數(shù)據(jù)區(qū),另一方面通信軟件還需要將共享數(shù)據(jù)區(qū)的數(shù)據(jù)發(fā)送到終端計算機。由于通信軟件是在US3系統(tǒng)內(nèi)開發(fā)實現(xiàn)的,因此通訊軟件的程序開發(fā)必須嚴格遵循US3系統(tǒng)所固有的程序開發(fā)模式和程序結(jié)構(gòu)。
(1)共享數(shù)據(jù)區(qū)。共享數(shù)據(jù)區(qū)是進程通信中最快的方式,而且傳遞的信息量非常大,共享數(shù)據(jù)區(qū)是系統(tǒng)內(nèi)一塊特定的內(nèi)存區(qū)域,系統(tǒng)通過建立允許各個進程之間的共享數(shù)據(jù)區(qū)的映射關(guān)系進行數(shù)據(jù)變量的共享和存儲。在共享數(shù)據(jù)區(qū)中的數(shù)據(jù)分為系統(tǒng)級和用戶級兩個級別,系統(tǒng)內(nèi)的所有用戶都可以不受限制的任意調(diào)取和使用共享數(shù)據(jù)區(qū)內(nèi)系統(tǒng)級的數(shù)據(jù),但是針對用戶級的數(shù)據(jù)的調(diào)取和使用只能局限于定義該變量的用戶,在進行網(wǎng)絡通信程序開發(fā)之前必須先將程序所需要使用變量添加到共享數(shù)據(jù)中。
(2)開發(fā)語言。US3系統(tǒng)的開發(fā)語言為c語言,在US3系統(tǒng)內(nèi)的c語言程序遵循一個特定的程序結(jié)構(gòu)和編譯/執(zhí)行方式,該程序與通常結(jié)構(gòu)的c語言程序有著很大的不同,它的主程序不是通過傳統(tǒng)的main()來指定的,而是指添加到模塊說明文件中的模塊名稱。正是因為其程序結(jié)構(gòu)所具有的特殊性,要求我們在開始編寫程序的時候必須編寫一段特別的說明,在說明中指出:使用programs說明本程序提供給其他程序調(diào)用以及模塊說明文件使用的名稱,使用globals說明在本程序中所需要調(diào)用的共享數(shù)據(jù)區(qū)的數(shù)據(jù)變量,使用modules說明在本程序中所需要調(diào)用的其他的程序模塊的名稱,并且必須引用一個與本程序名稱相同的函數(shù)庫文件。例如:
/*programs network */ 程序模塊的名稱
/*globals network1 */ 需要調(diào)用的公共變量
/*modules network2 */ 需要調(diào)用的程序模塊的名稱
#include “network.h”
void network()
{
…
}
(3)程序描述列表。程序描述列表是US3系統(tǒng)內(nèi)的程序信息庫,在信息庫內(nèi)包含有每一個程序模塊的相關(guān)信息,US3系統(tǒng)可以通過該信息庫來管理系統(tǒng)數(shù)據(jù)在所有程序模塊,所有需要在US3系統(tǒng)內(nèi)運行的程序模塊都必須添加到程
序描述列表中,任何描述列表以外的程序都是無法被正常調(diào)用和運行的。
4 關(guān)鍵技術(shù)(Key technologies)
(1)仿真系統(tǒng)是由多臺運行IRIX操作系統(tǒng)的RISC計算機和若干運行Windows的基于Intel芯片的PC組成的計算機網(wǎng)絡,這樣一個由多平臺和多系統(tǒng)計算機組成的網(wǎng)絡系統(tǒng),必須采用標準的通訊協(xié)議來實現(xiàn)整個網(wǎng)絡的數(shù)據(jù)通訊。
(2)部分終端計算機中使用了INTOUCH軟件開發(fā),INTOUCH軟件規(guī)定了軟臺屏界面與相應通訊模塊的通訊方式是動態(tài)數(shù)據(jù)交換機制(DDE),中間連接媒介為通訊點表文件,相應通訊模塊的編制必須考慮使用DDE技術(shù)。
5 結(jié)論(Conclusion)
伴隨著計算機科學和信息技術(shù)的飛速發(fā)展,大型仿真支撐平臺在日后的工業(yè)生產(chǎn)和教學科研領(lǐng)域得到越來越廣泛的應用,針對大型計算機仿真系統(tǒng)多平臺和多系統(tǒng)的特點,實現(xiàn)仿真系統(tǒng)網(wǎng)絡標準化和模塊化的設(shè)計特征,是滿足仿真訓練系統(tǒng)功能和性能的需要的必然要求。
參考文獻(References)
[1] 游景玉.實時仿真技術(shù)及其應用[M].珠海:珠海出版社,1999.
[2] 張秀山,等.通用分布式仿真I/O體系結(jié)構(gòu)設(shè)計及其應用[J].計
算機應用,2005,4(4):926.
[3] 冉隆科.千兆比特以太網(wǎng)的發(fā)展機遇[J].今日電子,1998,2(2):
6-8.
[4] 馬正午,周德興.過程可視化組態(tài)軟件InTouch應用技術(shù)[M].
北京:機械工業(yè)出版社,2006.
作者簡介:
張淵博(1980-),男,工程師.研究領(lǐng)域:仿真系統(tǒng)教學與
研究.
彭漢國(1965-),男,高級工程師.研究領(lǐng)域:電子裝備保
障,仿真系統(tǒng)開發(fā).
雷 波(1977-),男,工程師.研究領(lǐng)域:仿真系統(tǒng)教學與
研究.endprint
Fig.1 Network topology
3.1.2 網(wǎng)絡通信協(xié)議
模擬系統(tǒng)物理層采用快速交換式以太網(wǎng)協(xié)議標準IEEE 802.3u,鏈路層支持IEEE 802.1d透明網(wǎng)橋協(xié)議標準,網(wǎng)絡層采用TCP/IP通信協(xié)議標準,確保異種機(IRIX系統(tǒng)和WINDOWS系統(tǒng))之間的互連和有效通信。
3.2 網(wǎng)絡通信軟件
3.2.1 網(wǎng)絡通信軟件類型
本系統(tǒng)網(wǎng)絡通信軟件可分為兩種類型,一種是仿真系統(tǒng)各仿真子系統(tǒng)之間的通信,即IRIX和IRIX之間的通信,另一種是仿真主計算機與終端計算機之間的通信,即IRIX和WINDOWS之間的通信。
IRIX-IRIX間的通信是仿真服務器上的仿真平臺(US3)與仿真服務器上各仿真子系統(tǒng)間的數(shù)據(jù)通信。US3將仿真的計算結(jié)果等傳送給各仿真子系統(tǒng),供各子系統(tǒng)調(diào)用,各仿真子系統(tǒng)發(fā)送指令信息給US3來控制仿真任務的進程。IRIX和IRIX之間的通信實現(xiàn)方式采用共享數(shù)據(jù)技術(shù),交互的數(shù)據(jù)全部存放在仿真主機共享數(shù)據(jù)區(qū),供仿真平臺和各仿真子系統(tǒng)進行訪問,該功能已由研發(fā)機構(gòu)GSE公司實現(xiàn)。
IRIX和Windows之間的通信是指仿真主計算機與終端計算機間的數(shù)據(jù)通信。仿真主計算機從終端計算機獲得模擬硬臺屏的設(shè)備狀態(tài)參數(shù),終端計算機則從仿真主計算機獲得終端計算機顯示的變量參數(shù)、教控臺指令等,通信程序通過動態(tài)數(shù)據(jù)交換機制(DDE)方式進行數(shù)據(jù)交換[4],交換媒介為通信點表文件。它們兩者間的通信是仿真通信系統(tǒng)的主體部分,是開發(fā)設(shè)計的主要工作內(nèi)容,這部分的設(shè)計和實現(xiàn)嚴格遵循優(yōu)化可靠的準則。
3.2.2 US3仿真平臺下的程序開發(fā)
通信軟件的功能是實現(xiàn)仿真主機與終端計算機之間的通訊,通信軟件一方面需要實時的接收設(shè)備狀態(tài)的參數(shù),同時將接收的數(shù)據(jù)寫入到共享數(shù)據(jù)區(qū),另一方面通信軟件還需要將共享數(shù)據(jù)區(qū)的數(shù)據(jù)發(fā)送到終端計算機。由于通信軟件是在US3系統(tǒng)內(nèi)開發(fā)實現(xiàn)的,因此通訊軟件的程序開發(fā)必須嚴格遵循US3系統(tǒng)所固有的程序開發(fā)模式和程序結(jié)構(gòu)。
(1)共享數(shù)據(jù)區(qū)。共享數(shù)據(jù)區(qū)是進程通信中最快的方式,而且傳遞的信息量非常大,共享數(shù)據(jù)區(qū)是系統(tǒng)內(nèi)一塊特定的內(nèi)存區(qū)域,系統(tǒng)通過建立允許各個進程之間的共享數(shù)據(jù)區(qū)的映射關(guān)系進行數(shù)據(jù)變量的共享和存儲。在共享數(shù)據(jù)區(qū)中的數(shù)據(jù)分為系統(tǒng)級和用戶級兩個級別,系統(tǒng)內(nèi)的所有用戶都可以不受限制的任意調(diào)取和使用共享數(shù)據(jù)區(qū)內(nèi)系統(tǒng)級的數(shù)據(jù),但是針對用戶級的數(shù)據(jù)的調(diào)取和使用只能局限于定義該變量的用戶,在進行網(wǎng)絡通信程序開發(fā)之前必須先將程序所需要使用變量添加到共享數(shù)據(jù)中。
(2)開發(fā)語言。US3系統(tǒng)的開發(fā)語言為c語言,在US3系統(tǒng)內(nèi)的c語言程序遵循一個特定的程序結(jié)構(gòu)和編譯/執(zhí)行方式,該程序與通常結(jié)構(gòu)的c語言程序有著很大的不同,它的主程序不是通過傳統(tǒng)的main()來指定的,而是指添加到模塊說明文件中的模塊名稱。正是因為其程序結(jié)構(gòu)所具有的特殊性,要求我們在開始編寫程序的時候必須編寫一段特別的說明,在說明中指出:使用programs說明本程序提供給其他程序調(diào)用以及模塊說明文件使用的名稱,使用globals說明在本程序中所需要調(diào)用的共享數(shù)據(jù)區(qū)的數(shù)據(jù)變量,使用modules說明在本程序中所需要調(diào)用的其他的程序模塊的名稱,并且必須引用一個與本程序名稱相同的函數(shù)庫文件。例如:
/*programs network */ 程序模塊的名稱
/*globals network1 */ 需要調(diào)用的公共變量
/*modules network2 */ 需要調(diào)用的程序模塊的名稱
#include “network.h”
void network()
{
…
}
(3)程序描述列表。程序描述列表是US3系統(tǒng)內(nèi)的程序信息庫,在信息庫內(nèi)包含有每一個程序模塊的相關(guān)信息,US3系統(tǒng)可以通過該信息庫來管理系統(tǒng)數(shù)據(jù)在所有程序模塊,所有需要在US3系統(tǒng)內(nèi)運行的程序模塊都必須添加到程
序描述列表中,任何描述列表以外的程序都是無法被正常調(diào)用和運行的。
4 關(guān)鍵技術(shù)(Key technologies)
(1)仿真系統(tǒng)是由多臺運行IRIX操作系統(tǒng)的RISC計算機和若干運行Windows的基于Intel芯片的PC組成的計算機網(wǎng)絡,這樣一個由多平臺和多系統(tǒng)計算機組成的網(wǎng)絡系統(tǒng),必須采用標準的通訊協(xié)議來實現(xiàn)整個網(wǎng)絡的數(shù)據(jù)通訊。
(2)部分終端計算機中使用了INTOUCH軟件開發(fā),INTOUCH軟件規(guī)定了軟臺屏界面與相應通訊模塊的通訊方式是動態(tài)數(shù)據(jù)交換機制(DDE),中間連接媒介為通訊點表文件,相應通訊模塊的編制必須考慮使用DDE技術(shù)。
5 結(jié)論(Conclusion)
伴隨著計算機科學和信息技術(shù)的飛速發(fā)展,大型仿真支撐平臺在日后的工業(yè)生產(chǎn)和教學科研領(lǐng)域得到越來越廣泛的應用,針對大型計算機仿真系統(tǒng)多平臺和多系統(tǒng)的特點,實現(xiàn)仿真系統(tǒng)網(wǎng)絡標準化和模塊化的設(shè)計特征,是滿足仿真訓練系統(tǒng)功能和性能的需要的必然要求。
參考文獻(References)
[1] 游景玉.實時仿真技術(shù)及其應用[M].珠海:珠海出版社,1999.
[2] 張秀山,等.通用分布式仿真I/O體系結(jié)構(gòu)設(shè)計及其應用[J].計
算機應用,2005,4(4):926.
[3] 冉隆科.千兆比特以太網(wǎng)的發(fā)展機遇[J].今日電子,1998,2(2):
6-8.
[4] 馬正午,周德興.過程可視化組態(tài)軟件InTouch應用技術(shù)[M].
北京:機械工業(yè)出版社,2006.
作者簡介:
張淵博(1980-),男,工程師.研究領(lǐng)域:仿真系統(tǒng)教學與
研究.
彭漢國(1965-),男,高級工程師.研究領(lǐng)域:電子裝備保
障,仿真系統(tǒng)開發(fā).
雷 波(1977-),男,工程師.研究領(lǐng)域:仿真系統(tǒng)教學與
研究.endprint
Fig.1 Network topology
3.1.2 網(wǎng)絡通信協(xié)議
模擬系統(tǒng)物理層采用快速交換式以太網(wǎng)協(xié)議標準IEEE 802.3u,鏈路層支持IEEE 802.1d透明網(wǎng)橋協(xié)議標準,網(wǎng)絡層采用TCP/IP通信協(xié)議標準,確保異種機(IRIX系統(tǒng)和WINDOWS系統(tǒng))之間的互連和有效通信。
3.2 網(wǎng)絡通信軟件
3.2.1 網(wǎng)絡通信軟件類型
本系統(tǒng)網(wǎng)絡通信軟件可分為兩種類型,一種是仿真系統(tǒng)各仿真子系統(tǒng)之間的通信,即IRIX和IRIX之間的通信,另一種是仿真主計算機與終端計算機之間的通信,即IRIX和WINDOWS之間的通信。
IRIX-IRIX間的通信是仿真服務器上的仿真平臺(US3)與仿真服務器上各仿真子系統(tǒng)間的數(shù)據(jù)通信。US3將仿真的計算結(jié)果等傳送給各仿真子系統(tǒng),供各子系統(tǒng)調(diào)用,各仿真子系統(tǒng)發(fā)送指令信息給US3來控制仿真任務的進程。IRIX和IRIX之間的通信實現(xiàn)方式采用共享數(shù)據(jù)技術(shù),交互的數(shù)據(jù)全部存放在仿真主機共享數(shù)據(jù)區(qū),供仿真平臺和各仿真子系統(tǒng)進行訪問,該功能已由研發(fā)機構(gòu)GSE公司實現(xiàn)。
IRIX和Windows之間的通信是指仿真主計算機與終端計算機間的數(shù)據(jù)通信。仿真主計算機從終端計算機獲得模擬硬臺屏的設(shè)備狀態(tài)參數(shù),終端計算機則從仿真主計算機獲得終端計算機顯示的變量參數(shù)、教控臺指令等,通信程序通過動態(tài)數(shù)據(jù)交換機制(DDE)方式進行數(shù)據(jù)交換[4],交換媒介為通信點表文件。它們兩者間的通信是仿真通信系統(tǒng)的主體部分,是開發(fā)設(shè)計的主要工作內(nèi)容,這部分的設(shè)計和實現(xiàn)嚴格遵循優(yōu)化可靠的準則。
3.2.2 US3仿真平臺下的程序開發(fā)
通信軟件的功能是實現(xiàn)仿真主機與終端計算機之間的通訊,通信軟件一方面需要實時的接收設(shè)備狀態(tài)的參數(shù),同時將接收的數(shù)據(jù)寫入到共享數(shù)據(jù)區(qū),另一方面通信軟件還需要將共享數(shù)據(jù)區(qū)的數(shù)據(jù)發(fā)送到終端計算機。由于通信軟件是在US3系統(tǒng)內(nèi)開發(fā)實現(xiàn)的,因此通訊軟件的程序開發(fā)必須嚴格遵循US3系統(tǒng)所固有的程序開發(fā)模式和程序結(jié)構(gòu)。
(1)共享數(shù)據(jù)區(qū)。共享數(shù)據(jù)區(qū)是進程通信中最快的方式,而且傳遞的信息量非常大,共享數(shù)據(jù)區(qū)是系統(tǒng)內(nèi)一塊特定的內(nèi)存區(qū)域,系統(tǒng)通過建立允許各個進程之間的共享數(shù)據(jù)區(qū)的映射關(guān)系進行數(shù)據(jù)變量的共享和存儲。在共享數(shù)據(jù)區(qū)中的數(shù)據(jù)分為系統(tǒng)級和用戶級兩個級別,系統(tǒng)內(nèi)的所有用戶都可以不受限制的任意調(diào)取和使用共享數(shù)據(jù)區(qū)內(nèi)系統(tǒng)級的數(shù)據(jù),但是針對用戶級的數(shù)據(jù)的調(diào)取和使用只能局限于定義該變量的用戶,在進行網(wǎng)絡通信程序開發(fā)之前必須先將程序所需要使用變量添加到共享數(shù)據(jù)中。
(2)開發(fā)語言。US3系統(tǒng)的開發(fā)語言為c語言,在US3系統(tǒng)內(nèi)的c語言程序遵循一個特定的程序結(jié)構(gòu)和編譯/執(zhí)行方式,該程序與通常結(jié)構(gòu)的c語言程序有著很大的不同,它的主程序不是通過傳統(tǒng)的main()來指定的,而是指添加到模塊說明文件中的模塊名稱。正是因為其程序結(jié)構(gòu)所具有的特殊性,要求我們在開始編寫程序的時候必須編寫一段特別的說明,在說明中指出:使用programs說明本程序提供給其他程序調(diào)用以及模塊說明文件使用的名稱,使用globals說明在本程序中所需要調(diào)用的共享數(shù)據(jù)區(qū)的數(shù)據(jù)變量,使用modules說明在本程序中所需要調(diào)用的其他的程序模塊的名稱,并且必須引用一個與本程序名稱相同的函數(shù)庫文件。例如:
/*programs network */ 程序模塊的名稱
/*globals network1 */ 需要調(diào)用的公共變量
/*modules network2 */ 需要調(diào)用的程序模塊的名稱
#include “network.h”
void network()
{
…
}
(3)程序描述列表。程序描述列表是US3系統(tǒng)內(nèi)的程序信息庫,在信息庫內(nèi)包含有每一個程序模塊的相關(guān)信息,US3系統(tǒng)可以通過該信息庫來管理系統(tǒng)數(shù)據(jù)在所有程序模塊,所有需要在US3系統(tǒng)內(nèi)運行的程序模塊都必須添加到程
序描述列表中,任何描述列表以外的程序都是無法被正常調(diào)用和運行的。
4 關(guān)鍵技術(shù)(Key technologies)
(1)仿真系統(tǒng)是由多臺運行IRIX操作系統(tǒng)的RISC計算機和若干運行Windows的基于Intel芯片的PC組成的計算機網(wǎng)絡,這樣一個由多平臺和多系統(tǒng)計算機組成的網(wǎng)絡系統(tǒng),必須采用標準的通訊協(xié)議來實現(xiàn)整個網(wǎng)絡的數(shù)據(jù)通訊。
(2)部分終端計算機中使用了INTOUCH軟件開發(fā),INTOUCH軟件規(guī)定了軟臺屏界面與相應通訊模塊的通訊方式是動態(tài)數(shù)據(jù)交換機制(DDE),中間連接媒介為通訊點表文件,相應通訊模塊的編制必須考慮使用DDE技術(shù)。
5 結(jié)論(Conclusion)
伴隨著計算機科學和信息技術(shù)的飛速發(fā)展,大型仿真支撐平臺在日后的工業(yè)生產(chǎn)和教學科研領(lǐng)域得到越來越廣泛的應用,針對大型計算機仿真系統(tǒng)多平臺和多系統(tǒng)的特點,實現(xiàn)仿真系統(tǒng)網(wǎng)絡標準化和模塊化的設(shè)計特征,是滿足仿真訓練系統(tǒng)功能和性能的需要的必然要求。
參考文獻(References)
[1] 游景玉.實時仿真技術(shù)及其應用[M].珠海:珠海出版社,1999.
[2] 張秀山,等.通用分布式仿真I/O體系結(jié)構(gòu)設(shè)計及其應用[J].計
算機應用,2005,4(4):926.
[3] 冉隆科.千兆比特以太網(wǎng)的發(fā)展機遇[J].今日電子,1998,2(2):
6-8.
[4] 馬正午,周德興.過程可視化組態(tài)軟件InTouch應用技術(shù)[M].
北京:機械工業(yè)出版社,2006.
作者簡介:
張淵博(1980-),男,工程師.研究領(lǐng)域:仿真系統(tǒng)教學與
研究.
彭漢國(1965-),男,高級工程師.研究領(lǐng)域:電子裝備保
障,仿真系統(tǒng)開發(fā).
雷 波(1977-),男,工程師.研究領(lǐng)域:仿真系統(tǒng)教學與
研究.endprint