Data Access Custom Interface Standard

Version 2.0
 
 

October 14, 1998


Table of Contents
Synopsis

1 Introduction

1.1 Audience

1.2 Deliverables

2 OPC Data Access Fundamentals

2.1 OPC Overview

2.2 Where OPC Fits

2.3 General OPC Architecture and Components

2.4 Overview of the Objects and Interfaces

2.5 The Address Space and Configuration of the Server

2.6 Application Level Server and Network Node Selection

2.7 Synchronization and Serialization Issues

2.8 Public (aka shared) Groups

2.9 Persistent Storage Story

3 OPC Data Access Quick Reference

3.1 Custom Interface

3.1.1 OPCServer Object

3.1.2 OPCGroup Object

3.1.3 EnumOPCItemAttributes Object

3.2 Custom Interface/Client Side

4 OPC Custom Interface

4.1 Overview of the OPC Custom Interface

4.2 General Information

4.2.1 Version Interoperability

4.2.2 Ownership of memory

4.2.3 Standard Interfaces

4.2.4 Null Strings and Null Pointers

4.2.5 Returned Arrays

4.2.6 Public Groups

4.2.7 CACHE data, DEVICE data and TimeStamps

4.2.8 Time Series Values

4.2.9 Asynchronous vs. Synchronous Interfaces

4.2.10 The ACTIVE flags, Deadband and Update Rate

4.2.11 Errors and return codes

4.2.12 Startup Issues

4.2.13 VARIANT Data Types and Interoperability

4.3 Data Acquisition and Active State Behavior 4.3.1 IOPCSyncIO

4.3.2 IOPCASyncIO2

4.3.3 SUBSCRIPTION via IOPCDataCallback

4.3.4 IOPCASyncIO (old)

4.3.5 SUBSCRIPTION via IDataObject (old)

4.4 OPCServer Object 4.4.1 Overview

4.4.2 IUnknown

4.4.3 IOPCCommon

4.4.4 IOPCServer

4.4.5 IConnectionPointContainer (on OPCServer)

4.4.6 IOPCItemProperties

4.4.7 IOPCServerPublicGroups (optional)

4.4.8 IOPCBrowseServerAddressSpace (optional)

4.4.9 IPersistFile (optional)

4.5 OPCGroup Object 4.5.1 General Properties

4.5.2 IOPCItemMgt

4.5.3 IOPCGroupStateMgt

4.5.4 IOPCPublicGroupStateMgt

4.5.5 IOPCSyncIO

4.5.6 IOPCAsyncIO2

4.5.7 IConnectionPointContainer (on OPCGroup)

4.5.8 IEnumOPCItemAttributes

4.5.9 IOPCAsyncIO (old)

4.5.10 IDataObject (old)

4.6 Client Side Interfaces 4.6.1 IOPCDataCallback

4.6.2 IOPCShutdown

4.6.3 IAdviseSink (old)

4.6.4 IAdviseSink - Data Stream Formats (old)

5 Installation Issues

5.1 Component Categories

5.2 Registry Entries for Custom Interface

5.3 Registry Entries for the Proxy/Stub DLL

6 Description of Data Types, Parameters and Structures

6.1 Item Definition

6.2 AccessPath

6.3 Blob

6.4 Time Stamps

6.5 Variant Data Types for OPC Data Items

6.6 Constants

6.6.1 OPCHANDLE 6.7 Structures and Masks 6.7.1 OPCITEMSTATE

6.7.2 OPCITEMDEF

6.7.3 OPCITEMRESULT

6.7.4 OPCITEMATTRIBUTES

6.7.5 OPCSERVERSTATUS

6.7.6 Access Rights

6.8 OPC Quality flags

7 Summary of OPC Error Codes

8 Appendix A - OPCError.h

9 Appendix B - Data Access IDL Specification

10 Appendix D - OPCProps.h