翻譯|使用教程|編輯:王香|2019-04-18 15:22:08.000|閱讀 447 次
概述:此API可以輕松地從VC#和VB.NET opc客戶端一次讀取和寫入數(shù)據(jù)。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
OPC Server是一套利用微軟的COM/DCOM技術(shù)實(shí)現(xiàn)工業(yè)自動化資料獲取的架構(gòu)。OPC Server提供OPC接口,它將與之相連的物理設(shè)備(PLC)的信息值通過接口返回到客戶端應(yīng)用程序。也就是說,客戶端通過這些接口,可以獲得與OPC Server連接的物理設(shè)備的信息。對于集成應(yīng)用程序,只要支持OPC接口,就能輕易訪問物理設(shè)備,而無需相關(guān)的技術(shù)信息。 程序設(shè)計者可以使用相同的程序代碼,操作不同的硬件裝置,充分達(dá)成軟件復(fù)用的目的。
此API可以輕松地從VC#和VB.NET opc客戶端一次讀取和寫入數(shù)據(jù)。
在C#的簡單API的DLL(DxpSimpleAPI.dll)中準(zhǔn)備了以下函數(shù)。
namespace DxpSimpleAPI { public class DxpSimpleClass { public DxpSimpleClass(); public bool Connect(string sNodeName, string sServerName); public bool Disconnect(); public bool EnumServerList(string sNodeName, out string[] sServerNameArray); public bool Read(string[] sItemIDArray, out object[] oValueArray, out short[] wQualityArray, out FILETIME[] fTimeArray, out int[] nErrorArray); public bool Write(string[] sItemIDArray, object[] oValArray, out int[] nErrorArray); } }
它主要使用以下四個功能。
連接(連接到OPC服務(wù)器)
斷開連接(斷開與OPC服務(wù)器的連接)
讀取(一次性讀取)
數(shù)組arg2:讀取值數(shù)組(out)
寫入(一次寫入)
OPC服務(wù)器的枚舉可通過以下函數(shù)實(shí)現(xiàn)。
EnumServerList(OPC服務(wù)器的枚舉)
使用Visual Studio創(chuàng)建VC#項目,并添加參考配置。 請從Visual Studio的參考配置的附加菜單中添加對此DLL和OPCRcw.Da.DLL的引用。
請使用using語句定義OpcRcw.Da,如下所示。
using OpcRcw.Da;
簡單的API可以通過以下方式使用。
// Create OPC access instance DxpSimpleAPI.DxpSimpleClass opc = new DxpSimpleAPI.DxpSimpleClass(); // Connect: node name("localhost") and Server Prog.ID("Takebishi.Dxp") bool ret = opc.Connect("localhost", "Takebishi.Dxp");
// Read 3 points string[] sItemNameArray = new string[3]; sItemNameArray[0] = "Device1.D0"; sItemNameArray[1] = "Device1.D1"; sItemNameArray[2] = "Device1.D2"; object[] oValueArray; short[] wQualityArray; OpcRcw.Da.FILETIME[] fTimeArray; int[] nErrorArray; bool ret = opc.Read(sItemNameArray, out oValueArray, out wQualityArray, out fTimeArray, out nErrorArray);
// Write 3 points object[] oValArray = new object[3]; oValArray[0] = "1234"; oValArray[1] = "5678"; oValArray[2] = "9012"; int[] nErrorArray; bool ret = opc.Write(sItemNameArray, oValArray, out nErrorArray);
// Disconnect opc.Disconnect();
VC#客戶端(VS2008)的示例程序比以下鏈接的可下載程序更易于下載。
使用此DLL時,請從Visual Studio 2008開始使用。并且,它需要.NET Framework 3.5作為運(yùn)行時引擎。
連接目標(biāo)OPC服務(wù)器應(yīng)對應(yīng)OPC DA3.0,因為該DLL使用OPC DA3.0的IOPCItemIO接口。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn