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

📄 opchda.pas

📁 delphi入门基本程序,包括OPC的通用协议,在这个基础上进行各个厂家的设备的数据采集
💻 PAS
📖 第 1 页 / 共 3 页
字号:

{*******************************************************}
{                                                       }
{       OPC Historical Data Access 1.2                  }
{                                                       }
{       Delphi conversion generated and supplied by     }
{       Mike Dillamore                                  }
{       OPC Programmers' Connection                     }
{       http://www.opcconnect.com/                      }
{       mailto:opc@opcconnect.com                       }
{                                                       }
{       Based on OPC HDA 1.0 conversion by              }
{       Illya Kysil                                     }
{       mailto:ikysil@ua.fm                             }
{                                                       }
{*******************************************************}

unit OPCHDA;

{$IFDEF VER150}
{$WARN UNSAFE_TYPE OFF}
{$ENDIF}

// ************************************************************************ //
// Type Lib: opchda_ps.dll
// IID\LCID: {1F1217BA-DEE0-11D2-A5E5-000086339399}\0
// ************************************************************************ //

interface

uses
  Windows, ActiveX, OPCtypes;

// *********************************************************************//
// GUIDS declared in the TypeLibrary                                    //
// *********************************************************************//
const
  LIBID_OPCHDA: TGUID = '{1F1217BA-DEE0-11D2-A5E5-000086339399}';
  IID_IOPCHDA_Server: TGUID = '{1F1217B0-DEE0-11D2-A5E5-000086339399}';
  IID_IOPCHDA_Browser: TGUID = '{1F1217B1-DEE0-11D2-A5E5-000086339399}';
  IID_IOPCHDA_SyncRead: TGUID = '{1F1217B2-DEE0-11D2-A5E5-000086339399}';
  IID_IOPCHDA_SyncUpdate: TGUID = '{1F1217B3-DEE0-11D2-A5E5-000086339399}';
  IID_IOPCHDA_SyncAnnotations: TGUID = '{1F1217B4-DEE0-11D2-A5E5-000086339399}';
  IID_IOPCHDA_AsyncRead: TGUID = '{1F1217B5-DEE0-11D2-A5E5-000086339399}';
  IID_IOPCHDA_AsyncUpdate: TGUID = '{1F1217B6-DEE0-11D2-A5E5-000086339399}';
  IID_IOPCHDA_AsyncAnnotations: TGUID =
                                      '{1F1217B7-DEE0-11D2-A5E5-000086339399}';
  IID_IOPCHDA_Playback: TGUID = '{1F1217B8-DEE0-11D2-A5E5-000086339399}';
  IID_IOPCHDA_DataCallback: TGUID = '{1F1217B9-DEE0-11D2-A5E5-000086339399}';

  CATID_OPCHDAServer10: TGUID = '{7DE5B060-E089-11d2-A5E6-000086339399}';

// *********************************************************************//
// Declaration of Enumerations defined in Type Library                  //
// *********************************************************************//
type
  OPCHDA_SERVERSTATUS = TOleEnum;
const
  OPCHDA_UP            = 1;
  OPCHDA_DOWN          = 2;
  OPCHDA_INDETERMINATE = 3;

type
  OPCHDA_BROWSEDIRECTION = TOleEnum;
const
  OPCHDA_BROWSE_UP     = 1;
  OPCHDA_BROWSE_DOWN   = 2;
  OPCHDA_BROWSE_DIRECT = 3;

type
  OPCHDA_BROWSETYPE = TOleEnum;
const
  OPCHDA_BRANCH = 1;
  OPCHDA_LEAF   = 2;
  OPCHDA_FLAT   = 3;
  OPCHDA_ITEMS  = 4;

type
  OPCHDA_ANNOTATIONCAPABILITIES = TOleEnum;
const
  OPCHDA_READANNOTATIONCAP   = 1;
  OPCHDA_INSERTANNOTATIONCAP = 2;

type
  OPCHDA_UPDATECAPABILITIES = TOleEnum;
const
  OPCHDA_INSERTCAP        = $01;
  OPCHDA_REPLACECAP       = $02;
  OPCHDA_INSERTREPLACECAP = $04;
  OPCHDA_DELETERAWCAP     = $08;
  OPCHDA_DELETEATTIMECAP  = $10;

type
  OPCHDA_OPERATORCODES = TOleEnum;
const
  OPCHDA_EQUAL        = 1;
  OPCHDA_LESS         = 2;
  OPCHDA_LESSEQUAL    = 3;
  OPCHDA_GREATER      = 4;
  OPCHDA_GREATEREQUAL = 5;
  OPCHDA_NOTEQUAL     = 6;
type
  OPCHDA_OPERATORCODESARRAY = array[0..65535] of OPCHDA_OPERATORCODES;
  POPCHDA_OPERATORCODESARRAY = ^OPCHDA_OPERATORCODESARRAY;

type
  OPCHDA_EDITTYPE = TOleEnum;
const
  OPCHDA_INSERT        = 1;
  OPCHDA_REPLACE       = 2;
  OPCHDA_INSERTREPLACE = 3;
  OPCHDA_DELETE        = 4;
type
  OPCHDA_EDITTYPEARRAY = array[0..65535] of OPCHDA_EDITTYPE;
  POPCHDA_EDITTYPEARRAY = ^OPCHDA_EDITTYPEARRAY;

type
  OPCHDA_AGGREGATE = TOleEnum;
const
  OPCHDA_NOAGGREGATE       = 0;
  OPCHDA_INTERPOLATIVE     = 1;
  OPCHDA_TOTAL             = 2;
  OPCHDA_AVERAGE           = 3;
  OPCHDA_TIMEAVERAGE       = 4;
  OPCHDA_COUNT             = 5;
  OPCHDA_STDEV             = 6;
  OPCHDA_MINIMUMACTUALTIME = 7;
  OPCHDA_MINIMUM           = 8;
  OPCHDA_MAXIMUMACTUALTIME = 9;
  OPCHDA_MAXIMUM           = 10;
  OPCHDA_START             = 11;
  OPCHDA_END               = 12;
  OPCHDA_DELTA             = 13;
  OPCHDA_REGSLOPE          = 14;
  OPCHDA_REGCONST          = 15;
  OPCHDA_REGDEV            = 16;
  OPCHDA_VARIANCE          = 17;
  OPCHDA_RANGE             = 18;
  OPCHDA_DURATIONGOOD      = 19;
  OPCHDA_DURATIONBAD       = 20;
  OPCHDA_PERCENTGOOD       = 21;
  OPCHDA_PERCENTBAD        = 22;
  OPCHDA_WORSTQUALITY      = 23;
  OPCHDA_ANNOTATIONS       = 24;
type
  OPCHDA_AGGREGATEARRAY = array[0..65535] of OPCHDA_AGGREGATE;
  POPCHDA_AGGREGATEARRAY = ^OPCHDA_AGGREGATEARRAY;

const

// AttributeID

  OPCHDA_DATA_TYPE          = $01;
  OPCHDA_DESCRIPTION        = $02;
  OPCHDA_ENG_UNITS          = $03;
  OPCHDA_STEPPED            = $04;
  OPCHDA_ARCHIVING          = $05;
  OPCHDA_DERIVE_EQUATION    = $06;
  OPCHDA_NODE_NAME          = $07;
  OPCHDA_PROCESS_NAME       = $08;
  OPCHDA_SOURCE_NAME        = $09;
  OPCHDA_SOURCE_TYPE        = $0A;
  OPCHDA_NORMAL_MAXIMUM     = $0B;
  OPCHDA_NORMAL_MINIMUM     = $0C;
  OPCHDA_ITEMID             = $0D;

  OPCHDA_MAX_TIME_INT       = $0E;
  OPCHDA_MIN_TIME_INT       = $0F;
  OPCHDA_EXCEPTION_DEV      = $10;
  OPCHDA_EXCEPTION_DEV_TYPE = $11;
  OPCHDA_HIGH_ENTRY_LIMIT   = $12;
  OPCHDA_LOW_ENTRY_LIMIT    = $13;

// OPCHDA_QUALITY -- these are the high-order 16 bits, OPC DA Quality
// occupies low-order 16 bits

  OPCHDA_EXTRADATA          = $00010000;
  OPCHDA_INTERPOLATED       = $00020000;
  OPCHDA_RAW                = $00040000;
  OPCHDA_CALCULATED         = $00080000;
  OPCHDA_NOBOUND            = $00100000;
  OPCHDA_NODATA             = $00200000;
  OPCHDA_DATALOST           = $00400000;
  OPCHDA_CONVERSION         = $00800000;
  OPCHDA_PARTIAL            = $01000000;

type

// *********************************************************************//
// Forward declaration of types defined in TypeLibrary                  //
// *********************************************************************//
  IOPCHDA_Browser = interface;
  IOPCHDA_Server = interface;
  IOPCHDA_SyncRead = interface;
  IOPCHDA_SyncUpdate = interface;
  IOPCHDA_SyncAnnotations = interface;
  IOPCHDA_AsyncRead = interface;
  IOPCHDA_AsyncUpdate = interface;
  IOPCHDA_AsyncAnnotations = interface;
  IOPCHDA_Playback = interface;
  IOPCHDA_DataCallback = interface;

// *********************************************************************//
// Declaration of structures, unions and aliases.                       //
// *********************************************************************//
  OPCHDA_ANNOTATION = record
    hClient:                            OPCHANDLE;
    dwNumValues:                        DWORD;
    ftTimeStamps:                       PFileTimeArray;
    szAnnotation:                       POleStrList;
    ftAnnotationTime:                   PFileTimeArray;
    szUser:                             POleStrList;
  end;
  POPCHDA_ANNOTATION = ^OPCHDA_ANNOTATION;
  OPCHDA_ANNOTATIONARRAY = array[0..65535] of OPCHDA_ANNOTATION;
  POPCHDA_ANNOTATIONARRAY = ^OPCHDA_ANNOTATIONARRAY;

  OPCHDA_MODIFIEDITEM = record
    hClient:                            OPCHANDLE;
    dwCount:                            DWORD;
    pftTimeStamps:                      PFileTimeArray;
    pdwQualities:                       PDWORDARRAY;
    pvDataValues:                       POleVariantArray;
    pftModificationTime:                PFileTimeArray;
    pEditType:                          POPCHDA_EDITTYPEARRAY;
    szUser:                             POleStrList;
  end;
  POPCHDA_MODIFIEDITEM = ^OPCHDA_MODIFIEDITEM;
  OPCHDA_MODIFIEDITEMARRAY = array[0..65535] of OPCHDA_MODIFIEDITEM;
  POPCHDA_MODIFIEDITEMARRAY = ^OPCHDA_MODIFIEDITEMARRAY;

  OPCHDA_ATTRIBUTE = record
    hClient:                            OPCHANDLE;
    dwNumValues:                        DWORD;

⌨️ 快捷键说明

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