?在樓宇自動化系統的系統集成中應用OPC(OLE for process control)技術可以很方便的實現分布式計算平臺的過程,有利于軟件互連,從而形成一個開放性系統。 Microsoft提出的ATL是一個基于C++平臺的框架,主要用于M icrosoft的組件對象模型(COM)的軟件開發。典型的OPC客戶機/服務器關系如圖2所示。
在樓宇自動化系統的系統集成中應用OPC(OLE for process control)技術可以很方便的實現分布式計算平臺的過程,有利于軟件互連,從而形成一個開放性系統。 Microsoft提出的ATL是一個基于C++平臺的框架,主要用于M icrosoft的組件對象模型(COM)的軟件開發。典型的OPC客戶機/服務器關系如圖所示。
第1步:新建項目。在Projects選擇中ATL COM AppW izard,然后建立文件名(chengxu)?!癓ocation”編輯框中指定工程的存放位置,然后單擊ok按鈕。
第2步:創建一個進程內服務器(Server DLL)。選擇的類型是動態鏈接庫“Dynamic Link Library——DLL”選項,單擊“Finish”按鈕。向導將自動產生相應的文件。然后出現“New Project Information”窗口告訴你向導將要創建一些什么文件。確認后單擊OK按鈕。
第3步:創建新的ATL對象。確定在VC的IDE環境中見到“Workspace View”。選中后單擊右鍵并從彈出菜單中選擇“New A TL Ob ject”。選擇(Simp le Object),在“Short Name”文本編輯框中輸入“First_ATL”。單擊“A ttributes”標簽。其中有幾組單選按鈕選項和幾個復選框。第一組單選按鈕是線程模型“Threading M odel”,取缺省值“Apartm ent M odel”。第二組單選按鈕是接口“Interface”,單擊“Dual”,也就是雙接口。最后,第三組單選按鈕是聚合“Aggregation”,因為不想涉及接口的聚合,所以在此選擇“No”。
第4步:將添加方法。選中“IFirst_ATL”后單擊右鍵并選擇“Add M ethod”??吹健癆dd M ethod to Interface”對話框。在下一個方法名編輯框“Method Name”中輸入方法名,后一個“Parameters”編輯框輸入使用的參數。方法名;shuju1參數則輸入[in] int Num1,long*Returnval采用一個輸入參數判斷用戶需要的查詢服務,其中Num1將對應服務器相應數據,Returnval為一個指針,進行查詢后的數據傳遞工作。添加相應的實現代碼。
第5步:數據庫銜接。在C lassview中加入MFC類,類名shu ju lian jie。在 Bass class:中選擇 CdaoRecordset并且銜接數據庫。見圖1。