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