論利用OOP設計思想的通訊接口類的設計與應用
2.3 接口類用例
假設,現在有一個頻譜測量系統,各個測量儀器與主控PC 采用了GPIB 進行系統的構建[10],則使用類族如圖2 所示,流程圖如3所示,可以設計如下的類族偽代碼:
class COM
{
public:
virtual BOOL Open()=0;
virtual int Write(BYTE* pBuff,int CountToWrite)=0;
virtual int Read(BYTE* pBuff,int CountTORead)=0;
virtual void Close()= 0;
};
而派生類GPIB 接口的實現,就是將該接口的各個API進行封裝,然后由COM 的接口提供出統一的訪問方式。
在實現了具體的具體的儀器的類的編寫后,就可以采用圖3的流程來完成,下面是C++偽代碼:
COM *pc = new GPIB(1,0,0);
Device pDevice = new FreqMeasureInstrumen(t pc);
i(f TRUE == pDevice->Open())
{
開始與儀器的交互和測量數據的采集;
}
else
{
打開出錯,錯誤處理;
}
測量完成,關閉儀器;
pDevice->Close();
在這段偽代碼中,首先,定義了一個通信口的指針,但是所指的對象是一個動態產生的GPIB類的對象。然后再定義一個儀器類的指針pDevice,所指的對象是動態產生的一個頻譜測量儀的對象。然后通過pDevice,就可以調用接口完成具體的測量任務。
3 結語
基于這樣的面向對象的思想設計出來的測控系統的通訊接口類,在某個銀行終端的模擬測試中,可以很好地適應串口和網口的測試,代碼思路清晰,非常有利于擴展和維護。
pid控制相關文章:pid控制原理
通信相關文章:通信原理
評論