周傳應(yīng)
OPC是Ob ject Linking and Embedding(OLE)for Process Control的縮寫,它是微軟公司的對象鏈接和嵌入技術(shù)在過程控制方面的應(yīng)用。它的出現(xiàn)為基于Windows的應(yīng)用程序和現(xiàn)場過程控制應(yīng)用建立了橋梁。
7臺 PLC控制器(堆垛機和輸送機)通過 MPI控制網(wǎng)絡(luò)進行通訊,完成現(xiàn)場運行設(shè)備的狀態(tài)數(shù)據(jù)采集、傳送及控制指令的傳送等功能。上位機是一臺普通的電腦,其上安裝的KEPServerEx,OPC服務(wù)器軟件。
開發(fā)OPC客戶端程序時,首先應(yīng)該生成OPC服務(wù)器支持的OPC對象,然后就可以使用 OPC對象支持的屬性和方法,對其進行各種操作。
OPC數(shù)據(jù)服務(wù)器定義了兩種標(biāo)準(zhǔn)的 COM對象,即 OPCServer,OPCGroup對象。通過實現(xiàn)這兩種標(biāo)準(zhǔn)的 COM對象及相應(yīng)接口,用戶就完成了 OPC數(shù)據(jù)服務(wù)器的開發(fā)。OPC Server對象,是客戶端軟件與服務(wù)器交互的首要對象。客戶端訪問 OPC Server對象的接口函數(shù)組織管理 OPCGroup對象,OPCGroup對象用于組織管理服務(wù)器內(nèi)部的實時數(shù)據(jù)信息。在OPC標(biāo)準(zhǔn)中使用Items對象描述實時數(shù)據(jù),Items是非 COM對象,是客戶端不可見的對象。
定制CMyOPCComm類。
其中,serverIDStr為服務(wù)器識別號(KEPServerKEPware.KEPS用erverEx.V 4,西門子用OPC.SimaticNet);str為服務(wù)器的IP地址(如果是本機也可用 127.0.0.1);m-pServer為 CKServer,客戶端訪問 OPCServer對象。
2)CMyOPCComm∶AddGroup方法。
添加組,實際上是對于每個巷道的堆垛機和輸送機。
3)CMyOPCComm∶Add Item方法。
添加組的各個項目(OPC服務(wù)器中的每個巷道的堆垛機和輸送機需要采集或設(shè)置的數(shù)據(jù)項)。
4)初始化OPC服務(wù)器的數(shù)據(jù)項。
AddItem(m-pServer->GetGroup("宗申立庫"),"堆垛機 1.堆垛機狀態(tài).StackerState-00",VT-BOOL)。
將客戶端和OPC服務(wù)器端數(shù)據(jù)連接起來。
傳染性法氏囊病毒主要對3~8周齡的雛雞造成嚴(yán)重危害,育成后的雞和14周齡的育雛雞,通常感染該種病毒后,不會表現(xiàn)出明顯的臨床癥狀。雞傳染性法氏囊病一年四季均可發(fā)生,沒有典型的季節(jié)性,但在每年的夏季流行最為嚴(yán)重。隨著養(yǎng)殖數(shù)量的增加,該種疾病發(fā)生新的變化,呈現(xiàn)新的流行特點,發(fā)現(xiàn)雞的日齡有所提前和延后,日齡較高的雞群患該種疾病的概率增加。由于雞傳染性法氏囊病屬于一種接觸性、免疫抑制性傳染性疾病,因此,需掌握雞傳染性法氏囊病的流行特點,并采取針對性措施進行防治。
5)獲得 OPC服務(wù)器端數(shù)據(jù)。
GetDataFromOPC(CStringArray*DataArray)。
6)向 OPC服務(wù)器端寫數(shù)據(jù)。
W riteDataToOPC(CString yes,CString no,CString out)。
自動化立體倉庫管理系統(tǒng)的功能,對立體倉庫中各貨物的物料的類型、數(shù)量進行管理,能根據(jù)出料單或入庫單向堆垛機自動發(fā)生作業(yè),并具有數(shù)據(jù)查詢、打印等功能。
根據(jù)入庫單或出庫單自動生成入庫作業(yè)或出庫作業(yè)。
讀取堆垛機和輸送機的狀態(tài),判斷是否向堆垛機發(fā)送作業(yè)。
系統(tǒng)向堆垛機發(fā)送作業(yè),堆垛機完成作業(yè)。
1)生成一個堆垛機和輸送機數(shù)據(jù)處理的線程類 CcommunicationThread(基類 CWinThread)。
讀取堆垛機和輸送機的狀態(tài)并進行處理。
2)在主程序cmainFrame中。
a.生成六個CcommunicationThread的實例。
表示六個巷道,其中需要處理每個堆垛機和輸送機的信息。
b.重載cmainFrame∶OnTimer(UINT n IDEvent)。
定時器的設(shè)置為SetTimer(101,1000,NULL)。OPC技術(shù)在監(jiān)控系統(tǒng)、工程機械等領(lǐng)域都得到廣泛的應(yīng)用。
雖然使用開發(fā)工具也可以開發(fā)OPC Server,但還是希望大家能多了解 COM技術(shù),這樣對 OPC Server的擴展和維護都有好處。由于時間和作者水平的限制,難免有錯誤和不妥之處,敬請大家批評和指正。
[1] 李 敬.淺析通信工程項目管理系統(tǒng)集成服務(wù)[J].山西建筑,2009,35(28):365-366.