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

📄 opchda.pas

📁 delphi入门基本程序,包括OPC的通用协议,在这个基础上进行各个厂家的设备的数据采集
💻 PAS
📖 第 1 页 / 共 3 页
字号:
    dwAttributeID:                      DWORD;
    ftTimeStamps:                       PFileTimeArray;
    vAttributeValues:                   POleVariantArray;
  end;
  POPCHDA_ATTRIBUTE = ^OPCHDA_ATTRIBUTE;
  OPCHDA_ATTRIBUTEARRAY = array[0..65535] of OPCHDA_ATTRIBUTE;
  POPCHDA_ATTRIBUTEARRAY = ^OPCHDA_ATTRIBUTEARRAY;

  OPCHDA_TIME = record
    bString:                            BOOL;
    szTime:                             POleStr;
    ftTime:                             TFileTime;
  end;
  POPCHDA_TIME = ^OPCHDA_TIME;

  OPCHDA_ITEM = record
    hClient:                            OPCHANDLE;
    haAggregate:                        DWORD;
    dwCount:                            DWORD;
    pftTimeStamps:                      PFileTimeArray;
    pdwQualities:                       PDWORDARRAY;
    pvDataValues:                       POleVariantArray;
  end;
  POPCHDA_ITEM = ^OPCHDA_ITEM;
  OPCHDA_ITEMARRAY = array[0..65535] of OPCHDA_ITEM;
  POPCHDA_ITEMARRAY = ^OPCHDA_ITEMARRAY;
  OPCHDA_ITEMPTRARRAY = array[0..65535] of POPCHDA_ITEM;
  POPCHDA_ITEMPTRARRAY = ^OPCHDA_ITEMPTRARRAY;

// *********************************************************************//
// Interface: IOPCHDA_Browser
// GUID:      {1F1217B1-DEE0-11D2-A5E5-000086339399}
// *********************************************************************//
  IOPCHDA_Browser = interface(IUnknown)
    ['{1F1217B1-DEE0-11D2-A5E5-000086339399}']
    function GetEnum(
            dwBrowseType:               OPCHDA_BROWSETYPE;
      out   ppIEnumString:              IEnumString): HResult; stdcall;
    function ChangeBrowsePosition(
            dwBrowseDirection:          OPCHDA_BROWSEDIRECTION;
            szString:                   POleStr): HResult; stdcall;
    function GetItemID(
            szNode:                     POleStr;
      out   pszItemID:                  POleStr): HResult; stdcall;
    function GetBranchPosition(
      out   pszBranchPos:               POleStr): HResult; stdcall;
  end;

// *********************************************************************//
// Interface: IOPCHDA_Server
// GUID:      {1F1217B0-DEE0-11D2-A5E5-000086339399}
// *********************************************************************//
  IOPCHDA_Server = interface(IUnknown)
    ['{1F1217B0-DEE0-11D2-A5E5-000086339399}']
    function GetItemAttributes(
      out   pdwCount:                   DWORD;
      out   ppdwAttrID:                 PDWORDARRAY;
      out   ppszAttrName:               POleStrList;
      out   ppszAttrDesc:               POleStrList;
      out   ppvtAttrDataType:           PVarTypeList): HResult; stdcall;
    function GetAggregates(
      out   pdwCount:                   DWORD;
      out   ppdwAggrID:                 PDWORDARRAY;
      out   ppszAggrName:               POleStrList;
      out   ppszAggrDesc:               POleStrList): HResult; stdcall;
    function GetHistorianStatus(
      out   pwStatus:                   OPCHDA_SERVERSTATUS;
      out   pftCurrentTime:             PFileTimeArray;
      out   pftStartTime:               PFileTimeArray;
      out   pwMajorVersion:             Word;
      out   pwMinorVersion:             Word;
      out   pwBuildNumber:              Word;
      out   pdwMaxReturnValues:         DWORD;
      out   ppszStatusString:           POleStr;
      out   ppszVendorInfo:             POleStr): HResult; stdcall;
    function GetItemHandles(
            dwCount:                    DWORD;
            pszItemID:                  POleStrList;
            phClient:                   POPCHANDLEARRAY;
      out   pphServer:                  POPCHANDLEARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function ReleaseItemHandles(
            dwCount:                    DWORD;
            phServer:                   POPCHANDLEARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function ValidateItemIDs(
            dwCount:                    DWORD;
            pszItemID:                  POleStrList;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function CreateBrowse(
            dwCount:                    DWORD;
            pdwAttrID:                  PDWORDARRAY;
            pOperator:                  POPCHDA_OPERATORCODESARRAY;
            vFilter:                    POleVariantArray;
      out   pphBrowser:                 IOPCHDA_Browser;
      out   ppErrors:                   PResultList): HResult; stdcall;
  end;

// *********************************************************************//
// Interface: IOPCHDA_SyncRead
// GUID:      {1F1217B2-DEE0-11D2-A5E5-000086339399}
// *********************************************************************//
  IOPCHDA_SyncRead = interface(IUnknown)
    ['{1F1217B2-DEE0-11D2-A5E5-000086339399}']
    function ReadRaw(
      var   htStartTime:                OPCHDA_TIME;
      var   htEndTime:                  OPCHDA_TIME;
            dwNumValues:                DWORD;
            bBounds:                    BOOL;
            dwNumItems:                 DWORD;
            phServer:                   POPCHANDLEARRAY;
      out   ppItemValues:               POPCHDA_ITEMARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function ReadProcessed(
      var   htStartTime:                OPCHDA_TIME;
      var   htEndTime:                  OPCHDA_TIME;
            ftResampleInterval:         TFileTime;
            dwNumItems:                 DWORD;
            phServer:                   POPCHANDLEARRAY;
            haAggregate:                PDWORDARRAY;
      out   ppItemValues:               POPCHDA_ITEMARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function ReadAtTime(
            dwNumTimeStamps:            DWORD;
            ftTimeStamps:               PFileTimeArray;
            dwNumItems:                 DWORD;
            phServer:                   POPCHANDLEARRAY;
      out   ppItemValues:               POPCHDA_ITEMARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function ReadModified(
      var   htStartTime:                OPCHDA_TIME;
      var   htEndTime:                  OPCHDA_TIME;
            dwNumValues:                DWORD;
            dwNumItems:                 DWORD;
            phServer:                   POPCHANDLEARRAY;
      out   ppItemValues:               POPCHDA_MODIFIEDITEMARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function ReadAttribute(
      var   htStartTime:                OPCHDA_TIME;
      var   htEndTime:                  OPCHDA_TIME;
            hServer:                    OPCHANDLE;
            dwNumAttributes:            DWORD;
            pdwAttributeIDs:            PDWORDARRAY;
      out   ppAttributeValues:          POPCHDA_ATTRIBUTEARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
  end;

// *********************************************************************//
// Interface: IOPCHDA_SyncUpdate
// GUID:      {1F1217B3-DEE0-11D2-A5E5-000086339399}
// *********************************************************************//
  IOPCHDA_SyncUpdate = interface(IUnknown)
    ['{1F1217B3-DEE0-11D2-A5E5-000086339399}']
    function QueryCapabilities(
      out   pCapabilities:              OPCHDA_UPDATECAPABILITIES):
            HResult; stdcall;
    function Insert(
            dwNumItems:                 DWORD;
            phServer:                   POPCHANDLEARRAY;
            ftTimeStamps:               PFileTimeArray;
            vDataValues:                POleVariantArray;
            pdwQualities:               PDWORDARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function Replace(
            dwNumItems:                 DWORD;
            phServer:                   POPCHANDLEARRAY;
            ftTimeStamps:               PFileTimeArray;
            vDataValues:                POleVariantArray;
            pdwQualities:               PDWORDARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function InsertReplace(
            dwNumItems:                 DWORD;
            phServer:                   POPCHANDLEARRAY;
            ftTimeStamps:               PFileTimeArray;
            vDataValues:                POleVariantArray;
            pdwQualities:               PDWORDARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function DeleteRaw(
      var   htStartTime:                OPCHDA_TIME;
      var   htEndTime:                  OPCHDA_TIME;
            dwNumItems:                 DWORD;
            phServer:                   POPCHANDLEARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function DeleteAtTime(
            dwNumItems:                 DWORD;
            phServer:                   POPCHANDLEARRAY;
            ftTimeStamps:               PFileTimeArray;
      out   ppErrors:                   PResultList): HResult; stdcall;
  end;

// *********************************************************************//
// Interface: IOPCHDA_SyncAnnotations
// GUID:      {1F1217B4-DEE0-11D2-A5E5-000086339399}
// *********************************************************************//
  IOPCHDA_SyncAnnotations = interface(IUnknown)
    ['{1F1217B4-DEE0-11D2-A5E5-000086339399}']
    function QueryCapabilities(
      out   pCapabilities:              OPCHDA_ANNOTATIONCAPABILITIES):
            HResult; stdcall;
    function Read(
      var   htStartTime:                OPCHDA_TIME;
      var   htEndTime:                  OPCHDA_TIME;
            dwNumItems:                 DWORD;
            phServer:                   POPCHANDLEARRAY;
      out   ppAnnotationValues:         POPCHDA_ANNOTATIONARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function Insert(
            dwNumItems:                 DWORD;
            phServer:                   POPCHANDLEARRAY;
            ftTimeStamps:               PFileTimeArray;
            pAnnotationValues:          POPCHDA_ANNOTATIONARRAY;
      out   ppErrors:                   PResultList): HResult; stdcall;
  end;

// *********************************************************************//
// Interface: IOPCHDA_AsyncRead
// GUID:      {1F1217B5-DEE0-11D2-A5E5-000086339399}
// *********************************************************************//
  IOPCHDA_AsyncRead = interface(IUnknown)
    ['{1F1217B5-DEE0-11D2-A5E5-000086339399}']
    function ReadRaw(
            dwTransactionID:            DWORD;
      var   htStartTime:                OPCHDA_TIME;
      var   htEndTime:                  OPCHDA_TIME;
            dwNumValues:                DWORD;
            bBounds:                    BOOL;
            dwNumItems:                 DWORD;
            phServer:                   POPCHANDLEARRAY;
      out   pdwCancelID:                DWORD;
      out   ppErrors:                   PResultList): HResult; stdcall;
    function AdviseRaw(
            dwTransactionID:            DWORD;
      var   htStartTime:                OPCHDA_TIME;
            ftUpdateInterval:           TFileTime;

⌨️ 快捷键说明

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