利用OPC實現(xiàn)VC應(yīng)用程序與PLC的數(shù)據(jù)交換
4.6 數(shù)據(jù)交換
成功地增加完所需要的數(shù)據(jù)項后,OPC客戶(VC應(yīng)用程序)和OPC服務(wù)器(RSView32)就可以進(jìn)行數(shù)據(jù)交換了。在數(shù)據(jù)量不大的情況下,可以使用 IOPCSyncIO同步接口的Write()和Read()兩個方法進(jìn)行數(shù)據(jù)的讀寫操作,從而實現(xiàn)OPC客戶(VC應(yīng)用程序)和OPC服務(wù)器 (RSView32)之間的數(shù)據(jù)交換。代碼如下:
ppUnknown->QueryInterface(IID_IOPCSyncIO,(void **)pOPCSync);
//得到IOPCSyncIO接口指針
pOPCSync->Read(OPC_DS_CACHE,ReadNumber,hServerRead,pItemValue,pErrors);
//讀ReadNumber個數(shù)據(jù)
pOPCSync->Write(WriteNumber,hServerWrite,WriteValue,pErrors);
//寫WriteNumber個數(shù)據(jù)
4.7 釋放接口指針
在VC應(yīng)用程序停止運行之前必須使用Release()方法刪除已創(chuàng)建的OPC對象并釋放內(nèi)存。
5 結(jié)束語
OPC技術(shù)規(guī)范把硬件供應(yīng)商和應(yīng)用軟件開發(fā)者分離開來,使得雙方的工作效率都有了很大提高。軟件開發(fā)商無需了解硬件的實質(zhì)和操作過程,就能訪問OPC數(shù)據(jù)服務(wù)器中的數(shù)據(jù),尤其是開發(fā)商在已使用了組態(tài)軟件進(jìn)行實時監(jiān)控的過程控制系統(tǒng)基礎(chǔ)上,用C++等高級語言開發(fā)系統(tǒng)時,大大簡化了過去從設(shè)備傳輸數(shù)據(jù)的復(fù)雜過程。在某鋁廠的自動配料系統(tǒng)開發(fā)中,應(yīng)用OPC技術(shù)方便地實現(xiàn)了VC應(yīng)用程序和RSView32的數(shù)據(jù)交換,間接地實現(xiàn)了VC應(yīng)用程序與PLC的通信,獲得了很好的結(jié)果。
評論