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