📄 omopcsvrapi.pas
字号:
unit OMOPCSvrAPI;
interface
uses
Windows, ActiveX;
type
TDeviceReadProc = procedure (Handle: THandle; var Value: Variant; var Quality: Word; var TimeStamp: TFileTime; var Error: Longint);
TDeviceWriteProc = procedure (Handle: THandle; var Value: Variant; var Error: Longint);
TClientConnProc = procedure (Num: DWORD; Connect: Boolean);
TTagConnectProc = procedure (Handle: THandle; Connect: Boolean);
TIfEventMsgProc = procedure (Msg: LPCWSTR);
function RegisterOPCServer(pSvrCLSID: Pointer; lpProgID, lpDescription, lpVendor, lpFilePath: LPCWSTR): HResult; stdcall;
function UnregisterOPCServer(pSvrCLSID: Pointer; lpProgID: LPCWSTR): HResult; stdcall;
function SetVendorInfo(szVendorInfo: LPCWSTR; wMajorVersion, wMinorVersion, wBuildNumber: Word): HResult; stdcall;
function SetServerRate(dwServerRate: DWORD): HResult; stdcall;
function SetServerDelimiter(cDelimiter: WCHAR): HResult; stdcall;
function CreateTag(szName: LPCWSTR; Value: Variant; Quality: Word; bWritable: Boolean; hClient: THandle; var phTag: THandle): HResult; stdcall;
function CreateTagWithTimeStamp(szName: LPCWSTR; Value: Variant; Quality: Word; TimeStamp: TFileTime; bWritable: Boolean; hClient: THandle; var phTag: THandle): HResult; stdcall;
function IsTagInUse(hTag: THandle): Boolean; stdcall;
function RenameTag(hTag: THandle; szNewName: LPCWSTR): HResult; stdcall;
function SetTagInfo(hTag: THandle; var pDataType: TVarType; var pWritable: Boolean; var pClient: THandle): HResult; stdcall;
function UpdateTag(hTag: THandle; Value: Variant; Quality: Word): HResult; stdcall;
function UpdateTagWithTimeStamp(hTag: THandle; Value: Variant; Quality: Word; TimeStamp: TFileTime): HResult; stdcall;
function UpdateTagByName(szName: LPCWSTR; Value: Variant; Quality: Word): HResult; stdcall;
function UpdateTagWithTimeStampByName(szName: LPCWSTR; Value: Variant; Quality: Word; TimeStamp: TFileTime): HResult; stdcall;
function ReadTag(hTag: THandle; var pValue: Variant): HResult; stdcall;
function ReadTagWithTimeStamp(hTag: THandle; var pValue: Variant; var pQuality: Word; var pTimeStamp: TFileTime): HResult; stdcall;
function RemoveTag(hTag: THandle; bForce: Boolean = FALSE): HResult; stdcall;
function SuspendTagUpdate(hTag: THandle; bOnOff: Boolean): HResult; stdcall;
procedure SetCaseSensitivity(bOnOff: Boolean = FALSE); stdcall;
function NumberOfClientConnections: Integer; stdcall;
function RequestDisconnect(szReason: LPCWSTR): HResult; stdcall;
procedure RefreshAllClients; stdcall;
function EnableDeviceRead(fnCallback: TDeviceReadProc): HResult; stdcall;
function EnableDeviceWrite(fnCallback: TDeviceWriteProc): HResult; stdcall;
function EnableClientConnNotify(fnCallback: TClientConnProc): HResult; stdcall;
function EnableTagConnNotify(fnCallback: TTagConnectProc): HResult; stdcall;
function EnableIfEventMsgNofity(fnCallback: TIfEventMsgProc): HResult; stdcall;
function InitOPCSvr(pSvrCLSID: Pointer; bExeSvr: Boolean = TRUE; dwCoInit: DWORD = 0): HResult; stdcall;
procedure UninitOPCSvr(dwWaitTime: DWORD = 1000); stdcall;
function CreateCustomOPCServer(riid: TIID; var ppvObject: Pointer): HResult; stdcall;
procedure SetServerState(dwState: DWORD); stdcall;
function GetErrorString(dwError: HResult; var pBuf: WCHAR; nBufSize: Integer): HResult; stdcall;
function ConvertVBDateToFileTime1(var pVBDate: Double; var pFileTime: TFileTime): HResult; stdcall;
function ConvertFileTimeToVBDate1(var pFileTime: TFileTime; var pVBDate: Double): HResult; stdcall;
function Deactivate30MinTimer(szAuthorization: LPCWSTR): HResult; stdcall;
implementation
function RegisterOPCServer; external 'OM_OPCSvr.dll' name 'RegisterOPCServer';
function UnregisterOPCServer; external 'OM_OPCSvr.dll' name 'UnregisterOPCServer';
function SetVendorInfo; external 'OM_OPCSvr.dll' name 'SetVendorInfo';
function SetServerRate; external 'OM_OPCSvr.dll' name 'SetServerRate';
function SetServerDelimiter; external 'OM_OPCSvr.dll' name 'SetServerDelimiter';
function CreateTag; external 'OM_OPCSvr.dll' name 'CreateTag';
function CreateTagWithTimeStamp; external 'OM_OPCSvr.dll' name 'CreateTagWithTimeStamp';
function IsTagInUse; external 'OM_OPCSvr.dll' name 'IsTagInUse';
function RenameTag; external 'OM_OPCSvr.dll' name 'RenameTag';
function SetTagInfo; external 'OM_OPCSvr.dll' name 'SetTagInfo';
function UpdateTag; external 'OM_OPCSvr.dll' name 'UpdateTag';
function UpdateTagWithTimeStamp; external 'OM_OPCSvr.dll' name 'UpdateTagWithTimeStamp';
function UpdateTagByName; external 'OM_OPCSvr.dll' name 'UpdateTagByName';
function UpdateTagWithTimeStampByName; external 'OM_OPCSvr.dll' name 'UpdateTagWithTimeStampByName';
function ReadTag; external 'OM_OPCSvr.dll' name 'ReadTag';
function ReadTagWithTimeStamp; external 'OM_OPCSvr.dll' name 'ReadTagWithTimeStamp';
function RemoveTag; external 'OM_OPCSvr.dll' name 'RemoveTag';
function SuspendTagUpdate; external 'OM_OPCSvr.dll' name 'SuspendTagUpdate';
procedure SetCaseSensitivity; external 'OM_OPCSvr.dll' name 'SetCaseSensitivity';
function NumberOfClientConnections; external 'OM_OPCSvr.dll' name 'NumberOfClientConnections';
function RequestDisconnect; external 'OM_OPCSvr.dll' name 'RequestDisconnect';
procedure RefreshAllClients; external 'OM_OPCSvr.dll' name 'RefreshAllClients';
function EnableDeviceRead; external 'OM_OPCSvr.dll' name 'EnableDeviceRead';
function EnableDeviceWrite; external 'OM_OPCSvr.dll' name 'EnableDeviceWrite';
function EnableClientConnNotify; external 'OM_OPCSvr.dll' name 'EnableClientConnNotify';
function EnableTagConnNotify; external 'OM_OPCSvr.dll' name 'EnableTagConnNotify';
function EnableIfEventMsgNofity; external 'OM_OPCSvr.dll' name 'EnableIfEventMsgNofity';
function InitOPCSvr; external 'OM_OPCSvr.dll' name 'InitOPCSvr';
procedure UninitOPCSvr; external 'OM_OPCSvr.dll' name 'UninitOPCSvr';
function CreateCustomOPCServer; external 'OM_OPCSvr.dll' name 'CreateCustomOPCServer';
procedure SetServerState; external 'OM_OPCSvr.dll' name 'SetServerState';
function GetErrorString; external 'OM_OPCSvr.dll' name 'GetErrorString';
function ConvertVBDateToFileTime1; external 'OM_OPCSvr.dll' name 'ConvertVBDateToFileTime1';
function ConvertFileTimeToVBDate1; external 'OM_OPCSvr.dll' name 'ConvertFileTimeToVBDate1';
function Deactivate30MinTimer; external 'OM_OPCSvr.dll' name 'Deactivate30MinTimer';
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -