⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dasvrsdk.pas

📁 OPC 开发工具包2.0.OPC工具包是用来简化OPC规范服务器开发的工具包
💻 PAS
字号:
unit DASVRSDK;

interface

uses ShareMem,Windows, Classes, Variants,SysUtils;

const SDK='ASOPCDA.dll';


type
  CALLBACKSERVER  = procedure(hServer: DWORD; wOperateType: WORD); stdcall;
  CALLBACKGROUP   = procedure(hServer: DWORD; szName: LPWSTR; wOperateType: WORD); stdcall;
  CALLBACKITEM    = procedure(hServer: DWORD; hTag: DWORD; wOperateType: WORD); stdcall;
  CALLBACKTAG     = procedure(Name: LPWSTR; Path: LPWSTR; hTag: PDWORD); stdcall;

  CALLBACKREAD    = procedure(hTag: DWORD; vValue: PVARIANT; wQuality: PWORD; pTimeStamp: PFILETIME; pError: PLongInt);stdcall;
  CALLBACKREADEX  = procedure(hTag: DWORD; PropID: DWORD; vValue: PVARIANT; wQuality: PWORD; pTimeStamp: PFILETIME; pError: PLongInt);stdcall;
  CALLBACKWRITE   = procedure(hTag: DWORD; pNewValue: VARIANT; pError: PLongInt); stdcall;
  CALLBACKWRITEEX = procedure(hTag: DWORD; PropID: DWORD; pNewValue: VARIANT; pError: PLongInt); stdcall;
  CALLBACKMSG     = procedure(uMsg: LPCSTR); stdcall;

  CALLBACKWRITEWITHINDEX    = procedure(hTag: DWORD; dwIndex: DWORD; pValue: VARIANT; pError: PLongInt);stdcall;
  CALLBACKREADWITHINDEX    = procedure(hTag: DWORD; dwIndex: DWORD; pValue: PVARIANT; pQuality: PWORD; pTime: PFILETIME; pError: PLongInt);stdcall;

  function  CreateServer(pCLSID_Svr: LPCSTR; ServerRate: UINT): BOOL; stdcall;external SDK;
  function  FreeServer: BOOL; stdcall;external SDK;
  function  RegServer(pCLSID_Svr: LPCSTR; Name: LPCSTR; Descr: LPCSTR; ExePath: LPCSTR): BOOL; stdcall;external SDK;
  function  UnregServer(pCLSID_Svr: LPCSTR; Name: LPCSTR): BOOL; stdcall;external SDK;
  function  ActiveCode(UserName: LPCSTR; Password: LPCSTR): BOOL; stdcall;external SDK;
  function  SetServerState(state: WORD): BOOL; stdcall; external SDK;
  function  SetVensionInfo(VendorInfoString: LPCSTR;Major, Minor, Build: WORD): BOOL; stdcall; external SDK;
  procedure ShutDown;stdcall; external SDK;

  function  RegTag(Handle: DWORD; Name: LPCSTR; Value: VARIANT; Quality: WORD; AccessRight: WORD): DWORD; stdcall; external SDK;
  function  RegTagEx(Handle: DWORD; Name: LPCSTR; ADataType: WORD; AcessRight: WORD): DWORD; stdcall; external SDK;
  function  UnregTag(Handle: THandle): BOOL; stdcall; external SDK;
  function  SetTagQualifier(Qualifier: Char):BOOL; stdcall; external SDK;
  function  AddTagProperty(Handle: DWORD; Name: LPCSTR; PropertyID: DWORD; Description: LPCSTR; Value: Variant): BOOL; stdcall; external SDK;
  function  AddTagPropertyEx(Handle: DWORD; Name: LPCSTR; PropertyID: DWORD; Description: LPCSTR; DataType: WORD): BOOL; stdcall; external SDK;
  function  SetTagProperty(Handle: DWORD; PropertyID: DWORD; Value: VARIANT): BOOL; stdcall; external SDK;

  function  UpdateTagWithTimeStamp(Handle: DWORD; Value: VARIANT;Quality: WORD; TimeStamp: FILETIME): BOOL; stdcall;external SDK;
  function  UpdateTag(Handle: DWORD; Value: VARIANT;Quality: WORD): BOOL; stdcall;external SDK;

  function  SetWriteCallback(lpCallback: CALLBACKWRITE): BOOL; stdcall;external SDK;
  function  SetWriteCallbackEx(lpCallback: CALLBACKWRITEEX): BOOL; stdcall;external SDK;
  function  SetReadCallback(lpCallback: CALLBACKREAD): BOOL; stdcall;external SDK;
  function  SetReadCallbackEx(lpCallback: CALLBACKREADEX): BOOL; stdcall;external SDK;
  function  SetServerNotify(lpCallback: CALLBACKSERVER): BOOL; stdcall;external SDK;
  function  SetGroupNotify(lpCallback: CALLBACKGROUP): BOOL; stdcall;external SDK;
  function  SetItemNotify(lpCallback: CALLBACKITEM): BOOL; stdcall;external SDK;
  function  SetTagNotify(lpCallback: CALLBACKTAG): BOOL; stdcall;external SDK;
  function  SetLogNotify(lpCallback: CALLBACKMSG): BOOL; stdcall;external SDK;

  function  RegTagWithIndex(Handle: DWORD; dwIndex: DWORD; Name: LPCSTR; Value: VARIANT; Quality: WORD; AccessRight: WORD): DWORD; stdcall; external SDK;
  function  SetWriteCallbackWithIndex(lpCallback: CALLBACKWRITEWITHINDEX): BOOL; stdcall;external SDK;
  function  SetReadCallbackWithIndex(lpCallback: CALLBACKREADWITHINDEX): BOOL; stdcall;external SDK;

//  procedure WriteCallback(handle: DWORD; pNewValue: VARIANT; pError: PLongInt); stdcall;
//  procedure ReadCallback(handle: DWORD; vValue: PVARIANT; wQuality: PWORD; pTimeStamp: PFILETIME; pError: PLongInt);stdcall;
//  procedure WriteCallbackWithIndex(handle: DWORD; dwIndex: DWORD; pNewValue: VARIANT; pError: PLongInt); stdcall;
//  procedure ReadCallbackWithIndex(handle: DWORD;  dwIndex: DWORD; vValue: PVARIANT; wQuality: PWORD; pTimeStamp: PFILETIME; pError: PLongInt);stdcall;
//  procedure ServerNotify(hServer: DWORD; wOperateType: WORD); stdcall;
//  procedure GroupNotify(hServer: DWORD; szName: LPWSTR; wOperateType: WORD); stdcall;
//  procedure ItemNotify(hServer, hTag: DWORD; wOperateType: WORD); stdcall;
//  procedure TagNotify(Name, Path: LPWSTR; hTag: PDWORD); stdcall;
//  procedure OpcLog(uMsg: LPWSTR); stdcall;

implementation

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -