1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lishilei0523-h-opc

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
DataAccess.cs 50 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Lee Отправлено 6 лет назад b2a9c58
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433
/* ========================================================================
* Copyright (c) 2005-2010 The OPC Foundation, Inc. All rights reserved.
*
* OPC Foundation MIT License 1.00
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* The complete license agreement can be found here:
* http://opcfoundation.org/License/MIT/1.00/
* ======================================================================*/
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
#pragma warning disable 1591
namespace OpcRcw.Da
{
/// <exclude />
[ComImport]
[GuidAttribute("63D5F430-CFE4-11d1-B2C8-0060083BA1FB")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface CATID_OPCDAServer10 {}
/// <exclude />
[ComImport]
[GuidAttribute("63D5F432-CFE4-11d1-B2C8-0060083BA1FB")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface CATID_OPCDAServer20 {}
/// <exclude />
[ComImport]
[GuidAttribute("CC603642-66D7-48f1-B69A-B625E73652D7")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface CATID_OPCDAServer30 {}
/// <exclude />
[ComImport]
[GuidAttribute("3098EDA4-A006-48b2-A27F-247453959408")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface CATID_XMLDAServer10 {}
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct FILETIME
{
public int dwLowDateTime;
public int dwHighDateTime;
}
/// <exclude />
public enum OPCDATASOURCE
{
OPC_DS_CACHE = 1,
OPC_DS_DEVICE
}
/// <exclude />
public enum OPCBROWSETYPE
{
OPC_BRANCH = 1,
OPC_LEAF,
OPC_FLAT
}
/// <exclude />
public enum OPCNAMESPACETYPE
{
OPC_NS_HIERARCHIAL = 1,
OPC_NS_FLAT
}
/// <exclude />
public enum OPCBROWSEDIRECTION
{
OPC_BROWSE_UP = 1,
OPC_BROWSE_DOWN,
OPC_BROWSE_TO
}
/// <exclude />
public enum OPCEUTYPE
{
OPC_NOENUM = 0,
OPC_ANALOG,
OPC_ENUMERATED
}
/// <exclude />
public enum OPCSERVERSTATE
{
OPC_STATUS_RUNNING = 1,
OPC_STATUS_FAILED,
OPC_STATUS_NOCONFIG,
OPC_STATUS_SUSPENDED,
OPC_STATUS_TEST,
OPC_STATUS_COMM_FAULT
}
/// <exclude />
public enum OPCENUMSCOPE
{
OPC_ENUM_PRIVATE_CONNECTIONS = 1,
OPC_ENUM_PUBLIC_CONNECTIONS,
OPC_ENUM_ALL_CONNECTIONS,
OPC_ENUM_PRIVATE,
OPC_ENUM_PUBLIC,
OPC_ENUM_ALL
}
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct OPCGROUPHEADER
{
[MarshalAs(UnmanagedType.I4)]
public int dwSize;
[MarshalAs(UnmanagedType.I4)]
public int dwItemCount;
[MarshalAs(UnmanagedType.I4)]
public int hClientGroup;
[MarshalAs(UnmanagedType.I4)]
public int dwTransactionID;
[MarshalAs(UnmanagedType.I4)]
public int hrStatus;
}
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct OPCITEMHEADER1
{
[MarshalAs(UnmanagedType.I4)]
public int hClient;
[MarshalAs(UnmanagedType.I4)]
public int dwValueOffset;
[MarshalAs(UnmanagedType.I2)]
public short wQuality;
[MarshalAs(UnmanagedType.I2)]
public short wReserved;
public FILETIME ftTimeStampItem;
}
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct OPCITEMHEADER2
{
[MarshalAs(UnmanagedType.I4)]
public int hClient;
[MarshalAs(UnmanagedType.I4)]
public int dwValueOffset;
[MarshalAs(UnmanagedType.I2)]
public short wQuality;
[MarshalAs(UnmanagedType.I2)]
public short wReserved;
}
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct OPCGROUPHEADERWRITE
{
[MarshalAs(UnmanagedType.I4)]
public int dwItemCount;
[MarshalAs(UnmanagedType.I4)]
public int hClientGroup;
[MarshalAs(UnmanagedType.I4)]
public int dwTransactionID;
[MarshalAs(UnmanagedType.I4)]
public int hrStatus;
}
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct OPCITEMHEADERWRITE
{
[MarshalAs(UnmanagedType.I4)]
public int hClient;
[MarshalAs(UnmanagedType.I4)]
public int dwError;
}
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct OPCITEMSTATE
{
[MarshalAs(UnmanagedType.I4)]
public int hClient;
public FILETIME ftTimeStamp;
[MarshalAs(UnmanagedType.I2)]
public short wQuality;
[MarshalAs(UnmanagedType.I2)]
public short wReserved;
[MarshalAs(UnmanagedType.Struct)]
public object vDataValue;
}
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct OPCSERVERSTATUS
{
public FILETIME ftStartTime;
public FILETIME ftCurrentTime;
public FILETIME ftLastUpdateTime;
public OPCSERVERSTATE dwServerState;
[MarshalAs(UnmanagedType.I4)]
public int dwGroupCount;
[MarshalAs(UnmanagedType.I4)]
public int dwBandWidth;
[MarshalAs(UnmanagedType.I2)]
public short wMajorVersion;
[MarshalAs(UnmanagedType.I2)]
public short wMinorVersion;
[MarshalAs(UnmanagedType.I2)]
public short wBuildNumber;
[MarshalAs(UnmanagedType.I2)]
public short wReserved;
[MarshalAs(UnmanagedType.LPWStr)]
public string szVendorInfo;
}
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct OPCITEMDEF
{
[MarshalAs(UnmanagedType.LPWStr)]
public string szAccessPath;
[MarshalAs(UnmanagedType.LPWStr)]
public string szItemID;
[MarshalAs(UnmanagedType.I4)]
public int bActive;
[MarshalAs(UnmanagedType.I4)]
public int hClient;
[MarshalAs(UnmanagedType.I4)]
public int dwBlobSize;
public IntPtr pBlob;
[MarshalAs(UnmanagedType.I2)]
public short vtRequestedDataType;
[MarshalAs(UnmanagedType.I2)]
public short wReserved;
};
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct OPCITEMATTRIBUTES
{
[MarshalAs(UnmanagedType.LPWStr)]
public string szAccessPath;
[MarshalAs(UnmanagedType.LPWStr)]
public string szItemID;
[MarshalAs(UnmanagedType.I4)]
public int bActive;
[MarshalAs(UnmanagedType.I4)]
public int hClient;
[MarshalAs(UnmanagedType.I4)]
public int hServer;
[MarshalAs(UnmanagedType.I4)]
public int dwAccessRights;
[MarshalAs(UnmanagedType.I4)]
public int dwBlobSize;
public IntPtr pBlob;
[MarshalAs(UnmanagedType.I2)]
public short vtRequestedDataType;
[MarshalAs(UnmanagedType.I2)]
public short vtCanonicalDataType;
public OPCEUTYPE dwEUType;
[MarshalAs(UnmanagedType.Struct)]
public object vEUInfo;
}
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct OPCITEMRESULT
{
[MarshalAs(UnmanagedType.I4)]
public int hServer;
[MarshalAs(UnmanagedType.I2)]
public short vtCanonicalDataType;
[MarshalAs(UnmanagedType.I2)]
public short wReserved;
[MarshalAs(UnmanagedType.I4)]
public int dwAccessRights;
[MarshalAs(UnmanagedType.I4)]
public int dwBlobSize;
public IntPtr pBlob;
}
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct OPCITEMPROPERTY
{
[MarshalAs(UnmanagedType.I2)]
public short vtDataType;
[MarshalAs(UnmanagedType.I2)]
public short wReserved;
[MarshalAs(UnmanagedType.I4)]
public int dwPropertyID;
[MarshalAs(UnmanagedType.LPWStr)]
public string szItemID;
[MarshalAs(UnmanagedType.LPWStr)]
public string szDescription;
[MarshalAs(UnmanagedType.Struct)]
public object vValue;
[MarshalAs(UnmanagedType.I4)]
public int hrErrorID;
[MarshalAs(UnmanagedType.I4)]
public int dwReserved;
}
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct OPCITEMPROPERTIES
{
[MarshalAs(UnmanagedType.I4)]
public int hrErrorID;
[MarshalAs(UnmanagedType.I4)]
public int dwNumProperties;
public IntPtr pItemProperties;
[MarshalAs(UnmanagedType.I4)]
public int dwReserved;
}
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct OPCBROWSEELEMENT
{
[MarshalAs(UnmanagedType.LPWStr)]
public string szName;
[MarshalAs(UnmanagedType.LPWStr)]
public string szItemID;
[MarshalAs(UnmanagedType.I4)]
public int dwFlagValue;
[MarshalAs(UnmanagedType.I4)]
public int dwReserved;
public OPCITEMPROPERTIES ItemProperties;
}
/// <exclude />
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct OPCITEMVQT
{
[MarshalAs(UnmanagedType.Struct)]
public object vDataValue;
[MarshalAs(UnmanagedType.I4)]
public int bQualitySpecified;
[MarshalAs(UnmanagedType.I2)]
public short wQuality;
[MarshalAs(UnmanagedType.I2)]
public short wReserved;
[MarshalAs(UnmanagedType.I4)]
public int bTimeStampSpecified;
[MarshalAs(UnmanagedType.I4)]
public int dwReserved;
public FILETIME ftTimeStamp;
}
/// <exclude />
public enum OPCBROWSEFILTER
{
OPC_BROWSE_FILTER_ALL = 1,
OPC_BROWSE_FILTER_BRANCHES,
OPC_BROWSE_FILTER_ITEMS,
}
/// <exclude />
[ComImport]
[GuidAttribute("39c13a4d-011e-11d0-9675-0020afd8adb3")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCServer
{
void AddGroup(
[MarshalAs(UnmanagedType.LPWStr)]
string szName,
[MarshalAs(UnmanagedType.I4)]
int bActive,
[MarshalAs(UnmanagedType.I4)]
int dwRequestedUpdateRate,
[MarshalAs(UnmanagedType.I4)]
int hClientGroup,
IntPtr pTimeBias,
IntPtr pPercentDeadband,
[MarshalAs(UnmanagedType.I4)]
int dwLCID,
[Out][MarshalAs(UnmanagedType.I4)]
out int phServerGroup,
[Out][MarshalAs(UnmanagedType.I4)]
out int pRevisedUpdateRate,
ref Guid riid,
[Out][MarshalAs(UnmanagedType.IUnknown, IidParameterIndex=9)]
out object ppUnk);
void GetErrorString(
[MarshalAs(UnmanagedType.I4)]
int dwError,
[MarshalAs(UnmanagedType.I4)]
int dwLocale,
[Out][MarshalAs(UnmanagedType.LPWStr)]
out string ppString);
void GetGroupByName(
[MarshalAs(UnmanagedType.LPWStr)]
string szName,
ref Guid riid,
[Out][MarshalAs(UnmanagedType.IUnknown, IidParameterIndex=1)]
out object ppUnk);
void GetStatus(
[Out]
out IntPtr ppServerStatus);
void RemoveGroup(
[MarshalAs(UnmanagedType.I4)]
int hServerGroup,
[MarshalAs(UnmanagedType.I4)]
int bForce);
void CreateGroupEnumerator(
OPCENUMSCOPE dwScope,
ref Guid riid,
[Out][MarshalAs(UnmanagedType.IUnknown, IidParameterIndex=1)]
out object ppUnk);
}
/// <exclude />
[ComImport]
[GuidAttribute("39c13a4e-011e-11d0-9675-0020afd8adb3")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCServerPublicGroups
{
void GetPublicGroupByName(
[MarshalAs(UnmanagedType.LPWStr)]
string szName,
ref Guid riid,
[Out][MarshalAs(UnmanagedType.IUnknown, IidParameterIndex=1)]
out object ppUnk);
void RemovePublicGroup(
[MarshalAs(UnmanagedType.I4)]
int hServerGroup,
[MarshalAs(UnmanagedType.I4)]
int bForce);
}
/// <exclude />
[ComImport]
[GuidAttribute("39c13a4f-011e-11d0-9675-0020afd8adb3")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCBrowseServerAddressSpace
{
void QueryOrganization(
[Out]
out OPCNAMESPACETYPE pNameSpaceType);
void ChangeBrowsePosition(
OPCBROWSEDIRECTION dwBrowseDirection,
[MarshalAs(UnmanagedType.LPWStr)]
string szString);
void BrowseOPCItemIDs(
OPCBROWSETYPE dwBrowseFilterType,
[MarshalAs(UnmanagedType.LPWStr)]
string szFilterCriteria,
[MarshalAs(UnmanagedType.I2)]
short vtDataTypeFilter,
[MarshalAs(UnmanagedType.I4)]
int dwAccessRightsFilter,
[Out]
out OpcRcw.Comn.IEnumString ppIEnumString);
void GetItemID(
[MarshalAs(UnmanagedType.LPWStr)]
string szItemDataID,
[Out][MarshalAs(UnmanagedType.LPWStr)]
out string szItemID);
void BrowseAccessPaths(
[MarshalAs(UnmanagedType.LPWStr)]
string szItemID,
[Out]
out OpcRcw.Comn.IEnumString pIEnumString);
}
/// <exclude />
[ComImport]
[GuidAttribute("39c13a50-011e-11d0-9675-0020afd8adb3")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCGroupStateMgt
{
void GetState(
[Out][MarshalAs(UnmanagedType.I4)]
out int pUpdateRate,
[Out][MarshalAs(UnmanagedType.I4)]
out int pActive,
[Out][MarshalAs(UnmanagedType.LPWStr)]
out string ppName,
[Out][MarshalAs(UnmanagedType.I4)]
out int pTimeBias,
[Out][MarshalAs(UnmanagedType.R4)]
out float pPercentDeadband,
[Out][MarshalAs(UnmanagedType.I4)]
out int pLCID,
[Out][MarshalAs(UnmanagedType.I4)]
out int phClientGroup,
[Out][MarshalAs(UnmanagedType.I4)]
out int phServerGroup);
void SetState(
IntPtr pRequestedUpdateRate,
[Out][MarshalAs(UnmanagedType.I4)]
out int pRevisedUpdateRate,
IntPtr pActive,
IntPtr pTimeBias,
IntPtr pPercentDeadband,
IntPtr pLCID,
IntPtr phClientGroup);
void SetName(
[MarshalAs(UnmanagedType.LPWStr)]
string szName);
void CloneGroup(
[MarshalAs(UnmanagedType.LPWStr)]
string szName,
ref Guid riid,
[Out][MarshalAs(UnmanagedType.IUnknown, IidParameterIndex=1)]
out object ppUnk);
}
/// <exclude />
[ComImport]
[GuidAttribute("39c13a51-011e-11d0-9675-0020afd8adb3")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCPublicGroupStateMgt
{
void GetState(
[Out][MarshalAs(UnmanagedType.I4)]
out int pPublic);
void MoveToPublic();
}
/// <exclude />
[ComImport]
[GuidAttribute("39c13a52-011e-11d0-9675-0020afd8adb3")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCSyncIO
{
void Read(
OPCDATASOURCE dwSource,
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=1)]
int[] phServer,
[Out]
out IntPtr ppItemValues,
[Out]
out IntPtr ppErrors);
void Write(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct, SizeParamIndex=0)]
object[] pItemValues,
[Out]
out IntPtr ppErrors);
}
/// <exclude />
[ComImport]
[GuidAttribute("39c13a53-011e-11d0-9675-0020afd8adb3")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCAsyncIO
{
void Read(
[MarshalAs(UnmanagedType.I4)]
int dwConnection,
OPCDATASOURCE dwSource,
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=2)]
int[] phServer,
[Out][MarshalAs(UnmanagedType.I4)]
out int pTransactionID,
[Out]
out IntPtr ppErrors);
void Write(
[MarshalAs(UnmanagedType.I4)]
int dwConnection,
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=1)]
int[] phServer,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct, SizeParamIndex=1)]
object[] pItemValues,
[Out][MarshalAs(UnmanagedType.I4)]
out int pTransactionID,
[Out]
out IntPtr ppErrors);
void Refresh(
[MarshalAs(UnmanagedType.I4)]
int dwConnection,
OPCDATASOURCE dwSource,
[Out][MarshalAs(UnmanagedType.I4)]
out int pTransactionID);
void Cancel(
[MarshalAs(UnmanagedType.I4)]
int dwTransactionID);
}
/// <exclude />
[ComImport]
[GuidAttribute("39c13a54-011e-11d0-9675-0020afd8adb3")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCItemMgt
{
void AddItems(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPStruct, SizeParamIndex=0)]
OPCITEMDEF[] pItemArray,
[Out]
out IntPtr ppAddResults,
[Out]
out IntPtr ppErrors);
void ValidateItems(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPStruct, SizeParamIndex=0)]
OPCITEMDEF[] pItemArray,
[MarshalAs(UnmanagedType.I4)]
int bBlobUpdate,
[Out]
out IntPtr ppValidationResults,
[Out]
out IntPtr ppErrors);
void RemoveItems(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[Out]
out IntPtr ppErrors);
void SetActiveState(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.I4)]
int bActive,
[Out]
out IntPtr ppErrors);
void SetClientHandles(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phClient,
[Out]
out IntPtr ppErrors);
void SetDatatypes(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I2, SizeParamIndex=0)]
short[] pRequestedDatatypes,
[Out]
out IntPtr ppErrors);
void CreateEnumerator(
ref Guid riid,
[Out][MarshalAs(UnmanagedType.IUnknown, IidParameterIndex=0)]
out object ppUnk);
}
/// <exclude />
[ComImport]
[GuidAttribute("39c13a55-011e-11d0-9675-0020afd8adb3")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IEnumOPCItemAttributes
{
void Next(
[MarshalAs(UnmanagedType.I4)]
int celt,
[Out]
out IntPtr ppItemArray,
[Out][MarshalAs(UnmanagedType.I4)]
out int pceltFetched);
void Skip(
[MarshalAs(UnmanagedType.I4)]
int celt);
void Reset();
void Clone(
[Out]
out IEnumOPCItemAttributes ppEnumItemAttributes);
}
/// <exclude />
[ComImport]
[GuidAttribute("39c13a70-011e-11d0-9675-0020afd8adb3")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCDataCallback
{
void OnDataChange(
[MarshalAs(UnmanagedType.I4)]
int dwTransid,
[MarshalAs(UnmanagedType.I4)]
int hGroup,
[MarshalAs(UnmanagedType.I4)]
int hrMasterquality,
[MarshalAs(UnmanagedType.I4)]
int hrMastererror,
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=4)]
int[] phClientItems,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct, SizeParamIndex=4)]
object[] pvValues,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I2, SizeParamIndex=4)]
short[] pwQualities,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPStruct, SizeParamIndex=4)]
FILETIME[] pftTimeStamps,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=4)]
int[] pErrors);
void OnReadComplete(
[MarshalAs(UnmanagedType.I4)]
int dwTransid,
[MarshalAs(UnmanagedType.I4)]
int hGroup,
[MarshalAs(UnmanagedType.I4)]
int hrMasterquality,
[MarshalAs(UnmanagedType.I4)]
int hrMastererror,
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=4)]
int[] phClientItems,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct, SizeParamIndex=4)]
object[] pvValues,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I2, SizeParamIndex=4)]
short[] pwQualities,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPStruct, SizeParamIndex=4)]
FILETIME[] pftTimeStamps,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=4)]
int[] pErrors);
void OnWriteComplete(
[MarshalAs(UnmanagedType.I4)]
int dwTransid,
[MarshalAs(UnmanagedType.I4)]
int hGroup,
[MarshalAs(UnmanagedType.I4)]
int hrMastererr,
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=3)]
int[] pClienthandles,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=3)]
int[] pErrors);
void OnCancelComplete(
[MarshalAs(UnmanagedType.I4)]
int dwTransid,
[MarshalAs(UnmanagedType.I4)]
int hGroup);
}
/// <exclude />
[ComImport]
[GuidAttribute("39c13a71-011e-11d0-9675-0020afd8adb3")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCAsyncIO2
{
void Read(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.I4)]
int dwTransactionID,
[Out][MarshalAs(UnmanagedType.I4)]
out int pdwCancelID,
[Out]
out IntPtr ppErrors);
void Write(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct, SizeParamIndex=0)]
object[] pItemValues,
[MarshalAs(UnmanagedType.I4)]
int dwTransactionID,
[Out][MarshalAs(UnmanagedType.I4)]
out int pdwCancelID,
[Out]
out IntPtr ppErrors);
void Refresh2(
OPCDATASOURCE dwSource,
[MarshalAs(UnmanagedType.I4)]
int dwTransactionID,
[Out][MarshalAs(UnmanagedType.I4)]
out int pdwCancelID);
void Cancel2(
[MarshalAs(UnmanagedType.I4)]
int dwCancelID);
void SetEnable(
[MarshalAs(UnmanagedType.I4)]
int bEnable);
void GetEnable(
[Out][MarshalAs(UnmanagedType.I4)]
out int pbEnable);
}
/// <exclude />
[ComImport]
[GuidAttribute("39c13a72-011e-11d0-9675-0020afd8adb3")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCItemProperties
{
void QueryAvailableProperties(
[MarshalAs(UnmanagedType.LPWStr)]
string szItemID,
[Out][MarshalAs(UnmanagedType.I4)]
out int pdwCount,
[Out]
out IntPtr ppPropertyIDs,
[Out]
out IntPtr ppDescriptions,
[Out]
out IntPtr ppvtDataTypes);
void GetItemProperties(
[MarshalAs(UnmanagedType.LPWStr)]
string szItemID,
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=1)]
int[] pdwPropertyIDs,
[Out]
out IntPtr ppvData,
[Out]
out IntPtr ppErrors);
void LookupItemIDs(
[MarshalAs(UnmanagedType.LPWStr)]
string szItemID,
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=1)]
int[] pdwPropertyIDs,
[Out]
out IntPtr ppszNewItemIDs,
[Out]
out IntPtr ppErrors);
}
/// <exclude />
[ComImport]
[GuidAttribute("5946DA93-8B39-4ec8-AB3D-AA73DF5BC86F")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCItemDeadbandMgt
{
void SetItemDeadband(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.R4, SizeParamIndex=0)]
float[] pPercentDeadband,
[Out]
out IntPtr ppErrors);
void GetItemDeadband(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[Out]
out IntPtr ppPercentDeadband,
[Out]
out IntPtr ppErrors);
void ClearItemDeadband(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[Out]
out IntPtr ppErrors);
}
/// <exclude />
[ComImport]
[GuidAttribute("3E22D313-F08B-41a5-86C8-95E95CB49FFC")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCItemSamplingMgt
{
void SetItemSamplingRate(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] pdwRequestedSamplingRate,
[Out]
out IntPtr ppdwRevisedSamplingRate,
[Out]
out IntPtr ppErrors);
void GetItemSamplingRate(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[Out]
out IntPtr ppdwSamplingRate,
[Out]
out IntPtr ppErrors);
void ClearItemSamplingRate(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[Out]
out IntPtr ppErrors);
void SetItemBufferEnable(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] pbEnable,
[Out]
out IntPtr ppErrors);
void GetItemBufferEnable(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[Out]
out IntPtr ppbEnable,
[Out]
out IntPtr ppErrors);
}
/// <exclude />
[ComImport]
[GuidAttribute("39227004-A18F-4b57-8B0A-5235670F4468")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCBrowse
{
void GetProperties(
[MarshalAs(UnmanagedType.I4)]
int dwItemCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPWStr, SizeParamIndex=0)]
string[] pszItemIDs,
[MarshalAs(UnmanagedType.I4)]
int bReturnPropertyValues,
[MarshalAs(UnmanagedType.I4)]
int dwPropertyCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=3)]
int[] dwPropertyIDs,
[Out]
out IntPtr ppItemProperties);
void Browse(
[MarshalAs(UnmanagedType.LPWStr)]
string szItemID,
ref IntPtr pszContinuationPoint,
[MarshalAs(UnmanagedType.I4)]
int dwMaxElementsReturned,
OPCBROWSEFILTER dwBrowseFilter,
[MarshalAs(UnmanagedType.LPWStr)]
string szElementNameFilter,
[MarshalAs(UnmanagedType.LPWStr)]
string szVendorFilter,
[MarshalAs(UnmanagedType.I4)]
int bReturnAllProperties,
[MarshalAs(UnmanagedType.I4)]
int bReturnPropertyValues,
[MarshalAs(UnmanagedType.I4)]
int dwPropertyCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=8)]
int[] pdwPropertyIDs,
[Out][MarshalAs(UnmanagedType.I4)]
out int pbMoreElements,
[Out][MarshalAs(UnmanagedType.I4)]
out int pdwCount,
[Out]
out IntPtr ppBrowseElements);
}
/// <exclude />
[ComImport]
[GuidAttribute("85C0B427-2893-4cbc-BD78-E5FC5146F08F")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCItemIO
{
void Read(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPWStr, SizeParamIndex=0)]
string[] pszItemIDs,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] pdwMaxAge,
[Out]
out IntPtr ppvValues,
[Out]
out IntPtr ppwQualities,
[Out]
out IntPtr ppftTimeStamps,
[Out]
out IntPtr ppErrors);
void WriteVQT(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPWStr, SizeParamIndex=0)]
string[] pszItemIDs,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPStruct, SizeParamIndex=0)]
OPCITEMVQT[] pItemVQT,
[Out]
out IntPtr ppErrors);
}
/// <exclude />
[ComImport]
[GuidAttribute("730F5F0F-55B1-4c81-9E18-FF8A0904E1FA")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCSyncIO2 // : IOPCSyncIO
{
void Read(
OPCDATASOURCE dwSource,
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=1)]
int[] phServer,
[Out]
out IntPtr ppItemValues,
[Out]
out IntPtr ppErrors);
void Write(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct, SizeParamIndex=0)]
object[] pItemValues,
[Out]
out IntPtr ppErrors);
void ReadMaxAge(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] pdwMaxAge,
[Out]
out IntPtr ppvValues,
[Out]
out IntPtr ppwQualities,
[Out]
out IntPtr ppftTimeStamps,
[Out]
out IntPtr ppErrors);
void WriteVQT(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPStruct, SizeParamIndex=0)]
OPCITEMVQT[] pItemVQT,
[Out]
out IntPtr ppErrors);
}
/// <exclude />
[ComImport]
[GuidAttribute("0967B97B-36EF-423e-B6F8-6BFF1E40D39D")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCAsyncIO3 // : IOPCAsyncIO2
{
void Read(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.I4)]
int dwTransactionID,
[Out][MarshalAs(UnmanagedType.I4)]
out int pdwCancelID,
[Out]
out IntPtr ppErrors);
void Write(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct, SizeParamIndex=0)]
object[] pItemValues,
[MarshalAs(UnmanagedType.I4)]
int dwTransactionID,
[Out][MarshalAs(UnmanagedType.I4)]
out int pdwCancelID,
[Out]
out IntPtr ppErrors);
void Refresh2(
OPCDATASOURCE dwSource,
[MarshalAs(UnmanagedType.I4)]
int dwTransactionID,
[Out][MarshalAs(UnmanagedType.I4)]
out int pdwCancelID);
void Cancel2(
[MarshalAs(UnmanagedType.I4)]
int dwCancelID);
void SetEnable(
[MarshalAs(UnmanagedType.I4)]
int bEnable);
void GetEnable(
[Out][MarshalAs(UnmanagedType.I4)]
out int pbEnable);
void ReadMaxAge(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] pdwMaxAge,
[MarshalAs(UnmanagedType.I4)]
int dwTransactionID,
[Out]
[MarshalAs(UnmanagedType.I4)]
out int pdwCancelID,
[Out]
out IntPtr ppErrors);
void WriteVQT(
[MarshalAs(UnmanagedType.I4)]
int dwCount,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4, SizeParamIndex=0)]
int[] phServer,
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPStruct, SizeParamIndex=0)]
OPCITEMVQT[] pItemVQT,
[MarshalAs(UnmanagedType.I4)]
int dwTransactionID,
[Out]
[MarshalAs(UnmanagedType.I4)]
out int pdwCancelID,
[Out]
out IntPtr ppErrors);
void RefreshMaxAge(
[MarshalAs(UnmanagedType.I4)]
int dwMaxAge,
[MarshalAs(UnmanagedType.I4)]
int dwTransactionID,
[Out]
[MarshalAs(UnmanagedType.I4)]
out int pdwCancelID);
}
/// <exclude />
[ComImport]
[GuidAttribute("8E368666-D72E-4f78-87ED-647611C61C9F")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOPCGroupStateMgt2 // : IOPCGroupStateMgt
{
void GetState(
[Out][MarshalAs(UnmanagedType.I4)]
out int pUpdateRate,
[Out][MarshalAs(UnmanagedType.I4)]
out int pActive,
[Out][MarshalAs(UnmanagedType.LPWStr)]
out string ppName,
[Out][MarshalAs(UnmanagedType.I4)]
out int pTimeBias,
[Out][MarshalAs(UnmanagedType.R4)]
out float pPercentDeadband,
[Out][MarshalAs(UnmanagedType.I4)]
out int pLCID,
[Out][MarshalAs(UnmanagedType.I4)]
out int phClientGroup,
[Out][MarshalAs(UnmanagedType.I4)]
out int phServerGroup);
void SetState(
IntPtr pRequestedUpdateRate,
[Out][MarshalAs(UnmanagedType.I4)]
out int pRevisedUpdateRate,
IntPtr pActive,
IntPtr pTimeBias,
IntPtr pPercentDeadband,
IntPtr pLCID,
IntPtr phClientGroup);
void SetName(
[MarshalAs(UnmanagedType.LPWStr)]
string szName);
void CloneGroup(
[MarshalAs(UnmanagedType.LPWStr)]
string szName,
ref Guid riid,
[Out][MarshalAs(UnmanagedType.IUnknown, IidParameterIndex=1)]
out object ppUnk);
void SetKeepAlive(
[MarshalAs(UnmanagedType.I4)]
int dwKeepAliveTime,
[Out][MarshalAs(UnmanagedType.I4)]
out int pdwRevisedKeepAliveTime);
void GetKeepAlive(
[Out][MarshalAs(UnmanagedType.I4)]
out int pdwKeepAliveTime);
}
/// <exclude />
public static class Constants
{
// category description strings.
public const string OPC_CATEGORY_DESCRIPTION_DA10 = "OPC Data Access Servers Version 1.0";
public const string OPC_CATEGORY_DESCRIPTION_DA20 = "OPC Data Access Servers Version 2.0";
public const string OPC_CATEGORY_DESCRIPTION_DA30 = "OPC Data Access Servers Version 3.0";
public const string OPC_CATEGORY_DESCRIPTION_XMLDA10 = "OPC XML Data Access Servers Version 1.0";
// values for access rights mask.
public const int OPC_READABLE = 0x01;
public const int OPC_WRITEABLE = 0x02;
// values for browse element flags.
public const int OPC_BROWSE_HASCHILDREN = 0x01;
public const int OPC_BROWSE_ISITEM = 0x02;
// well known complex type description systems.
public const string OPC_TYPE_SYSTEM_OPCBINARY = "OPCBinary";
public const string OPC_TYPE_SYSTEM_XMLSCHEMA = "XMLSchema";
// complex data consitency window values.
public const string OPC_CONSISTENCY_WINDOW_UNKNOWN = "Unknown";
public const string OPC_CONSISTENCY_WINDOW_NOT_CONSISTENT = "Not Consistent";
// complex data write behavoir values.
public const string OPC_WRITE_BEHAVIOR_BEST_EFFORT = "Best Effort";
public const string OPC_WRITE_BEHAVIOR_ALL_OR_NOTHING = "All or Nothing";
}
/// <exclude />
public static class Qualities
{
// Values for fields in the quality word
public const short OPC_QUALITY_MASK = 0xC0;
public const short OPC_STATUS_MASK = 0xFC;
public const short OPC_LIMIT_MASK = 0x03;
// Values for QUALITY_MASK bit field
public const short OPC_QUALITY_BAD = 0x00;
public const short OPC_QUALITY_UNCERTAIN = 0x40;
public const short OPC_QUALITY_GOOD = 0xC0;
// STATUS_MASK Values for Quality = BAD
public const short OPC_QUALITY_CONFIG_ERROR = 0x04;
public const short OPC_QUALITY_NOT_CONNECTED = 0x08;
public const short OPC_QUALITY_DEVICE_FAILURE = 0x0c;
public const short OPC_QUALITY_SENSOR_FAILURE = 0x10;
public const short OPC_QUALITY_LAST_KNOWN = 0x14;
public const short OPC_QUALITY_COMM_FAILURE = 0x18;
public const short OPC_QUALITY_OUT_OF_SERVICE = 0x1C;
public const short OPC_QUALITY_WAITING_FOR_INITIAL_DATA = 0x20;
// STATUS_MASK Values for Quality = UNCERTAIN
public const short OPC_QUALITY_LAST_USABLE = 0x44;
public const short OPC_QUALITY_SENSOR_CAL = 0x50;
public const short OPC_QUALITY_EGU_EXCEEDED = 0x54;
public const short OPC_QUALITY_SUB_NORMAL = 0x58;
// STATUS_MASK Values for Quality = GOOD
public const short OPC_QUALITY_LOCAL_OVERRIDE = 0xD8;
// Values for Limit Bitfield
public const short OPC_LIMIT_OK = 0x00;
public const short OPC_LIMIT_LOW = 0x01;
public const short OPC_LIMIT_HIGH = 0x02;
public const short OPC_LIMIT_CONST = 0x03;
}
//==========================================================================
// Properties
/// <exclude />
public static class Properties
{
// property ids.
public const int OPC_PROPERTY_DATATYPE = 1;
public const int OPC_PROPERTY_VALUE = 2;
public const int OPC_PROPERTY_QUALITY = 3;
public const int OPC_PROPERTY_TIMESTAMP = 4;
public const int OPC_PROPERTY_ACCESS_RIGHTS = 5;
public const int OPC_PROPERTY_SCAN_RATE = 6;
public const int OPC_PROPERTY_EU_TYPE = 7;
public const int OPC_PROPERTY_EU_INFO = 8;
public const int OPC_PROPERTY_EU_UNITS = 100;
public const int OPC_PROPERTY_DESCRIPTION = 101;
public const int OPC_PROPERTY_HIGH_EU = 102;
public const int OPC_PROPERTY_LOW_EU = 103;
public const int OPC_PROPERTY_HIGH_IR = 104;
public const int OPC_PROPERTY_LOW_IR = 105;
public const int OPC_PROPERTY_CLOSE_LABEL = 106;
public const int OPC_PROPERTY_OPEN_LABEL = 107;
public const int OPC_PROPERTY_TIMEZONE = 108;
public const int OPC_PROPERTY_CONDITION_STATUS = 300;
public const int OPC_PROPERTY_ALARM_QUICK_HELP = 301;
public const int OPC_PROPERTY_ALARM_AREA_LIST = 302;
public const int OPC_PROPERTY_PRIMARY_ALARM_AREA = 303;
public const int OPC_PROPERTY_CONDITION_LOGIC = 304;
public const int OPC_PROPERTY_LIMIT_EXCEEDED = 305;
public const int OPC_PROPERTY_DEADBAND = 306;
public const int OPC_PROPERTY_HIHI_LIMIT = 307;
public const int OPC_PROPERTY_HI_LIMIT = 308;
public const int OPC_PROPERTY_LO_LIMIT = 309;
public const int OPC_PROPERTY_LOLO_LIMIT = 310;
public const int OPC_PROPERTY_CHANGE_RATE_LIMIT = 311;
public const int OPC_PROPERTY_DEVIATION_LIMIT = 312;
public const int OPC_PROPERTY_SOUND_FILE = 313;
// complex data properties.
public const int OPC_PROPERTY_TYPE_SYSTEM_ID = 600;
public const int OPC_PROPERTY_DICTIONARY_ID = 601;
public const int OPC_PROPERTY_TYPE_ID = 602;
public const int OPC_PROPERTY_DICTIONARY = 603;
public const int OPC_PROPERTY_TYPE_DESCRIPTION = 604;
public const int OPC_PROPERTY_CONSISTENCY_WINDOW = 605;
public const int OPC_PROPERTY_WRITE_BEHAVIOR = 606;
public const int OPC_PROPERTY_UNCONVERTED_ITEM_ID = 607;
public const int OPC_PROPERTY_UNFILTERED_ITEM_ID = 608;
public const int OPC_PROPERTY_DATA_FILTER_VALUE = 609;
// property descriptions.
public const string OPC_PROPERTY_DESC_DATATYPE = "Item Canonical Data Type";
public const string OPC_PROPERTY_DESC_VALUE = "Item Value";
public const string OPC_PROPERTY_DESC_QUALITY = "Item Quality";
public const string OPC_PROPERTY_DESC_TIMESTAMP = "Item Timestamp";
public const string OPC_PROPERTY_DESC_ACCESS_RIGHTS = "Item Access Rights";
public const string OPC_PROPERTY_DESC_SCAN_RATE = "Server Scan Rate";
public const string OPC_PROPERTY_DESC_EU_TYPE = "Item EU Type";
public const string OPC_PROPERTY_DESC_EU_INFO = "Item EU Info";
public const string OPC_PROPERTY_DESC_EU_UNITS = "EU Units";
public const string OPC_PROPERTY_DESC_DESCRIPTION = "Item Description";
public const string OPC_PROPERTY_DESC_HIGH_EU = "High EU";
public const string OPC_PROPERTY_DESC_LOW_EU = "Low EU";
public const string OPC_PROPERTY_DESC_HIGH_IR = "High Instrument Range";
public const string OPC_PROPERTY_DESC_LOW_IR = "Low Instrument Range";
public const string OPC_PROPERTY_DESC_CLOSE_LABEL = "Contact Close Label";
public const string OPC_PROPERTY_DESC_OPEN_LABEL = "Contact Open Label";
public const string OPC_PROPERTY_DESC_TIMEZONE = "Item Timezone";
public const string OPC_PROPERTY_DESC_CONDITION_STATUS = "Condition Status";
public const string OPC_PROPERTY_DESC_ALARM_QUICK_HELP = "Alarm Quick Help";
public const string OPC_PROPERTY_DESC_ALARM_AREA_LIST = "Alarm Area List";
public const string OPC_PROPERTY_DESC_PRIMARY_ALARM_AREA = "Primary Alarm Area";
public const string OPC_PROPERTY_DESC_CONDITION_LOGIC = "Condition Logic";
public const string OPC_PROPERTY_DESC_LIMIT_EXCEEDED = "Limit Exceeded";
public const string OPC_PROPERTY_DESC_DEADBAND = "Deadband";
public const string OPC_PROPERTY_DESC_HIHI_LIMIT = "HiHi Limit";
public const string OPC_PROPERTY_DESC_HI_LIMIT = "Hi Limit";
public const string OPC_PROPERTY_DESC_LO_LIMIT = "Lo Limit";
public const string OPC_PROPERTY_DESC_LOLO_LIMIT = "LoLo Limit";
public const string OPC_PROPERTY_DESC_CHANGE_RATE_LIMIT = "Rate of Change Limit";
public const string OPC_PROPERTY_DESC_DEVIATION_LIMIT = "Deviation Limit";
public const string OPC_PROPERTY_DESC_SOUND_FILE = "Sound File";
// complex data properties.
public const string OPC_PROPERTY_DESC_TYPE_SYSTEM_ID = "Type System ID";
public const string OPC_PROPERTY_DESC_DICTIONARY_ID = "Dictionary ID";
public const string OPC_PROPERTY_DESC_TYPE_ID = "Type ID";
public const string OPC_PROPERTY_DESC_DICTIONARY = "Dictionary";
public const string OPC_PROPERTY_DESC_TYPE_DESCRIPTION = "Type Description";
public const string OPC_PROPERTY_DESC_CONSISTENCY_WINDOW = "Consistency Window";
public const string OPC_PROPERTY_DESC_WRITE_BEHAVIOR = "Write Behavior";
public const string OPC_PROPERTY_DESC_UNCONVERTED_ITEM_ID = "Unconverted Item ID";
public const string OPC_PROPERTY_DESC_UNFILTERED_ITEM_ID = "Unfiltered Item ID";
public const string OPC_PROPERTY_DESC_DATA_FILTER_VALUE = "Data Filter Value";
}
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/lishilei0523-h-opc.git
git@gitlife.ru:oschina-mirror/lishilei0523-h-opc.git
oschina-mirror
lishilei0523-h-opc
lishilei0523-h-opc
master