系統(tǒng)需要在不同計算機之間進行參數(shù)傳輸,因此網(wǎng)絡(luò)通信是必不可少的條件。本系統(tǒng)采用的是客戶/服務(wù)器結(jié)構(gòu)的應(yīng)用程序,這種結(jié)構(gòu)非常適用于分布式處理的計算機網(wǎng)絡(luò)環(huán)境。由于系統(tǒng)是面向PC機平臺的應(yīng)用,因此采用基于TCP/IP協(xié)議的Winsock接口實現(xiàn)網(wǎng)絡(luò)間的數(shù)據(jù)傳輸。
2、虛擬儀表面板對象
2.1面向?qū)ο蟮脑O(shè)計方法
在虛擬儀表的可視化設(shè)計過程中,采用了面向?qū)ο蠓椒?。一個虛擬儀表系統(tǒng)由許多儀表組成,每個虛擬儀表均由面板控制,因此按照面向?qū)ο蟮脑O(shè)計思想將面板分解為具有繼承關(guān)系的面板對象(Panel Object),每個面板對象都有各自的獨立屬性和行為。
對于虛擬儀表系統(tǒng),可以將其儀表面板對象劃分為基本的圖形元素和專用面板對象兩類,如圖2所示?;镜膱D形元素即圖元包括直線、矩形、橢圓、多邊形和文本等;專用面板對象包括按鈕、開關(guān)、旋鈕、動態(tài)調(diào)節(jié)器等面板控制控件和指示燈、數(shù)字儀表、指針儀表、圖像顯示器、示波器等面板顯示控件以及其它特殊顯示控件。2.2面板對象數(shù)據(jù)結(jié)構(gòu)
在虛擬儀表系統(tǒng)中,面板對象是以圖形的方式顯示的,系統(tǒng)允許用戶通過人機交互的方式對儀表對象的屬性參數(shù)進行修改。對象的描述包括了定義面板對象各組成部分形狀的幾何坐標數(shù)據(jù),對象的屬性如線型、顏色等,還有非幾何的文字或數(shù)值,如對象名稱和可見信息等,它對于后處理程序或交互作用的使用是非常有用的。
各種面板對象都具有共同的屬性,因此基于各種面板對象的數(shù)據(jù)類型和結(jié)構(gòu),可抽象出通用的基類數(shù)據(jù)結(jié)構(gòu)。綜上所述,可以如下定義面板對象的基類數(shù)據(jù)結(jié)構(gòu):
class base{
m_csObjectName;? 面板對象名稱
m_bVisible;? 可視信息,0——不可見;1—— 可見
m_crPosition;? 面板對象的位置信息及其包圍框大小信息
m_logbrush;? 繪制該面板對象時采用的畫刷,決定填充屬性
m_logpen; ? 繪制該面板對象時采用的畫筆,決定線屬性
};
具體的面板對象的數(shù)據(jù)結(jié)構(gòu)均繼承基類的數(shù)據(jù)結(jié)構(gòu),并在基類的基礎(chǔ)上,根據(jù)不同的面板對象的屬性和參數(shù),添加相應(yīng)的數(shù)據(jù)類型就可以確定特定的面板對象數(shù)據(jù)結(jié)構(gòu)。