OPC Data Access Custom Interface Specification 3.0
F O U N D A T I O N
Data Access Custom Interface
Standard
Version 3.00
Released
March 4, 2003
OPC Data Access Custom Interface
Specification Version 3.0
F O U N D A T I O N
Released
Specification Type Industry Standard Specification
Title: OPC Data Access Custom
Interface Specification
Date: March 4, 2003
Version:
3.0 Soft MS-Word
Source: Opcda30_cust
Author:
Opc Foundation Status:
Released
Synopsis:
This specification is the specification of the interface for developers of OPC
Data Access clients and OPC servers.. The specification is a result of an
analysis and design process to develop a standard interface to facilitate the
development of servers and clients by multiple vendors that shall inter-operate
seamlessly together.
Trademarks:
Most computer and software brand names have trademarks or registered
trademarks. The individual trademarks have not been listed here.
Required Runtime Environment:
This specification requires Windows 95, Windows NT 4.0 or later
ii
OPC Data Access Custom Interface
Specification Version 3.0
F O U N D A T I O N
Released
NON-EXCLUSIVE LICENSE AGREEMENT
The OPC Foundation, a non-profit corporation (the “OPC Foundation”), has established a set of standard
OLE/COM interface protocols intended to foster greater interoperability between automation/control
applications, field systems/devices, and business/office applications in the process control industry.
The current OPC specifications, prototype software examples and related documentation (collectively, the
“OPC Materials”), form a set of standard OLE/COM interface protocols based upon the functional
requirements of Microsoft’s OLE/COM technology. Such technology defines standard objects, methods,
and properties for servers of real-time information like distributed process systems, programmable logic
controllers, smart field devices and analyzers in order to communicate the information that such servers
contain to standard OLE/COM compliant technologies enabled devices (e.g., servers, applications, etc.).
The OPC Foundation will grant to you (the “User”), whether an individual or legal entity, a license to use,
and provide User with a copy of, the current version of the OPC Materials so long as User abides by the
terms contained in this Non-Exclusive License Agreement (“Agreement”). If User does not agree to the
terms and conditions contained in this Agreement, the OPC Materials may not be used, and all copies (in
all formats) of such materials in User’s possession must either be destroyed or returned to the OPC
Foundation. By using the OPC Materials, User (including any employees and agents of User) agrees to be
bound by the terms of this Agreement.
LICENSE GRANT
:
Subject to the terms and conditions of this Agreement, the OPC Foundation hereby grants to User a non-
exclusive, royalty-free, limited license to use, copy, display and distribute the OPC Materials in order to
make, use, sell or otherwise distribute any products and/or product literature that are compliant with the
standards included in the OPC Materials.
All copies of the OPC Materials made and/or distributed by User must include all copyright and other
proprietary rights notices include on or in the copy of such materials provided to User by the OPC
Foundation.
The OPC Foundation shall retain all right, title and interest (including, without limitation, the copyrights) in
the OPC Materials, subject to the limited license granted to User under this Agreement.
WARRANTY AND LIABILITY DISCLAIMERS
:
User acknowledges that the OPC Foundation has provided the OPC Materials for informational purposes
only in order to help User understand Microsoft’s OLE/COM technology. THE OPC MATERIALS ARE
PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF PERFORMANCE, MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. USER BEARS ALL RISK
RELATING TO QUALITY, DESIGN, USE AND PERFORMANCE OF THE OPC MATERIALS. The
OPC Foundation and its members do not warrant that the OPC Materials, their design or their use will meet
User’s requirements, operate without interruption or be error free.
IN NO EVENT SHALL THE OPC FOUNDATION, ITS MEMBERS, OR ANY THIRD PARTY BE
LIABLE FOR ANY COSTS, EXPENSES, LOSSES, DAMAGES (INCLUDING, BUT NOT LIMITED
TO, DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL, SPECIAL OR PUNITIVE DAMAGES)
OR INJURIES INCURRED BY USER OR ANY THIRD PARTY AS A RESULT OF THIS
AGREEMENT OR ANY USE OF THE OPC MATERIALS.
iii
OPC Data Access Custom Interface
Specification Version 3.0
F O U N D A T I O N
Released
GENERAL PROVISIONS
:
This Agreement and User’s license to the OPC Materials shall be terminated (a) by User ceasing all use of
the OPC Materials, (b) by User obtaining a superseding version of the OPC Materials, or (c) by the OPC
Foundation, at its option, if User commits a material breach hereof. Upon any termination of this
Agreement, User shall immediately cease all use of the OPC Materials, destroy all copies thereof then in its
possession and take such other actions as the OPC Foundation may reasonably request to ensure that no
copies of the OPC Materials licensed under this Agreement remain in its possession.
User shall not export or re-export the OPC Materials or any product produced directly by the use thereof to
any person or destination that is not authorized to receive them under the export control laws and
regulations of the United States.
The Software and Documentation are provided with Restricted Rights. Use, duplication or disclosure by
the U.S. government is subject to restrictions as set forth in (a) this Agreement pursuant to DFARs
227.7202-3(a); (b) subparagraph (c)(1)(i) of the Rights in Technical Data and Computer Software clause at
DFARs 252.227-7013; or (c) the Commercial Computer Software Restricted Rights clause at FAR 52.227-
19 subdivision (c)(1) and (2), as applicable. Contractor/ manufacturer is the OPC Foundation, P.O. Box
140524, Austin, Texas 78714-0524.
Should any provision of this Agreement be held to be void, invalid, unenforceable or illegal by a court, the
validity and enforceability of the other provisions shall not be affected thereby.
This Agreement shall be governed by and construed under the laws of the State of Minnesota, excluding its
choice or law rules.
This Agreement embodies the entire understanding between the parties with respect to, and supersedes any
prior understanding or agreement (oral or written) relating to, the OPC Materials.
iv
OPC Data Access Custom Interface
Specification Version 3.0
F O U N D A T I O N
Released
Revision 3.0 Highlights
This revision contains the changes made to the Data Access Custom Interface (2.05A Version Baseline). It
will be determined at a later time as to whether a Separate Document (The OPC Data Access Automation
Specification 3.0) will be provided to describe the OPC Automation Interfaces which facilitate the use of
Visual Basic, Delphi and other Automation enabled products to interface with OPC Servers. The following
functionality has been added to this version of the OPC Data Access Custom Interface Specification
• Added new interfaces
o IOPCBrowse
o IOPCItemDeadbandMgt
o IOPCItemSamplingMgt
o IOPCItemIO
o IOPCSyncIO2
o IOPCAsyncIO3
o IOPCGroupStateMgt2
• Clarified startup issues and add WAITING_FOR_INITIAL_DATA quality status mask.
• Added Item Property #7, #8 for EUTYPE
• Clarify SetActiveState to indicate that an item transition from inactive to active will ultimately
result in a quality change, triggering a callback.
• Add new server status enumeration (OPC_STATUS_COMM_FAULT)
• Heading labels added to methods for easier access via the Table of Contents
• Removed Legacy Interfaces from this version of the specification
o IOPCServerPublicGroups
o IOPCBrowseServerAddressSpace
o IOPCPublicGroupStateMgt
o IOPCAsyncIO
o IOPCItemProperties
• In addition, spelling, grammer, formatting and minor clarifications were added to improve the
quality of the specification
• Added Item Properties section
• Clarify RemoveGroup
• Added CATIDs to idl
• Provided the ability to read and write the quality and timestamp
• KeepAlive mechanism was added to confirm the callback connection health
Revision 2.05A Highlights
This revision clarifies section 4.2.13 Note (5) regarding roundup when converting floats and doubles to
integers. Also correct an error in the property definitions in Appendix D (200-207 were off by 1).
Revision 2.05 Highlights
This revision includes numerous clarifications to Section 4.2.13 regarding data conversion between Native
and Requested data types.
Revision 2.04 Highlights
This revision includes additional minor clarifications to certain ambiguities which were discovered during
Interoperability sessions and during the development of the Compliance Test. The affected sections
include: TimeBias and DeadBand discussion in Group Object: General Properties (4.5.1). LocaleID for
SetState (to make it clear the behaviour is optional). Addition or Clarification of error returns
E_INVALIDARG and S_FALSE return for GetItemProperties, LookupItemIDs, AddItems, ValidateItems,
v