ebook img

OPC Data eXchange Specification Version 1.0 PDF

122 Pages·2.59 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview OPC Data eXchange Specification Version 1.0

OPC Data eXchange Specification Version 1.0 Release March 5, 2003 OPC Data eXchange Specification Version: 1.0 Specification Type Industry Standard Specification Title: OPC Data eXchange Date: March 5, 2003 Specification Version: 1.0 Soft MS-Word Source: OPC DX 1.00 Specification.doc Author: OPC Foundation Status: Release Synopsis: This specification is the specification for developers of OPC DX clients and 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. Page 2 of 122 OPC Data eXchange Specification Version: 1.0 NON-EXCLUSIVE LICENSE AGREEMENT The OPC Foundation, a non-profit corporation (the “OPC Foundation”), has defined a set of standard objects, interfaces and behaviors associated with the objects intended to promote interoperability between automation/control applications, field systems/devices, and business/office applications in the process control industry. The OPC specifications, sample software (that demonstrates the implementation of the specifications, standard interface components deliverables and related documentation (collectively, the “OPC Materials”), form a set of standard objects, interfaces and behavior that are based on the technology being used in the automation marketplace, and includes the use of Microsoft Technology as well providing interoperability to non Microsoft platforms. The 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 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. Page 3 of 122 OPC Data eXchange Specification Version: 1.0 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 are the OPC Foundation,. 16101 N. 82nd Street, Suite 3B, Scottsdale, AZ, 85260-1830 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. Page 4 of 122 OPC Data eXchange Specification Version: 1.0 Table of Contents 1. INTRODUCTION.................................................................................................................................9 1.1 BACKGROUND......................................................................................................................................9 1.2 PURPOSE...............................................................................................................................................9 1.3 TARGET AUDIENCE..............................................................................................................................9 1.4 GOALS..................................................................................................................................................9 1.5 PREREQUISITES...................................................................................................................................10 1.6 REVISION HISTORY.............................................................................................................................10 2. FUNDAMENTAL CONCEPTS.........................................................................................................11 3. ARCHITECTURAL OVERVIEW....................................................................................................12 3.1 SYSTEM MODEL.................................................................................................................................12 3.2 SERVER MODEL..................................................................................................................................15 3.3 OPC DATA EXCHANGE SERVER SECURITY........................................................................................16 4. DX DATABASE...................................................................................................................................17 4.1 DX DATABASE ROOT.........................................................................................................................18 4.2 SERVERSTATUS..................................................................................................................................19 4.2.1 ConfigurationVersion................................................................................................................20 4.2.2 ServerState.................................................................................................................................20 4.2.3 DXConnectionCount.................................................................................................................21 4.2.4 MaxDXConnections..................................................................................................................21 4.2.5 DirtyFlag....................................................................................................................................22 4.2.6 ErrorID.......................................................................................................................................22 4.2.7 ErrorDiagnostic..........................................................................................................................23 4.2.8 SourceServerTypes....................................................................................................................23 4.2.9 MaxQueueSize...........................................................................................................................24 4.3 DXCONNECTIONSROOT.....................................................................................................................24 4.3.1 <Branch>...................................................................................................................................24 4.3.1.1 Status.....................................................................................................................................................25 4.3.1.1.1 Overridden.......................................................................................................................................25 4.3.1.1.2 SourceItemConnected......................................................................................................................26 4.3.1.1.3 TargetItemConnected......................................................................................................................26 4.3.2 DXConnection...........................................................................................................................27 4.3.2.1 Version..................................................................................................................................................28 4.3.2.2 Description............................................................................................................................................28 4.3.2.3 Keyword................................................................................................................................................29 4.3.2.4 DefaultSourceItemConnected................................................................................................................29 4.3.2.5 DefaultTargetItemConnected................................................................................................................30 4.3.2.6 DefaultOverridden.................................................................................................................................30 4.3.2.7 DefaultOverrideValue...........................................................................................................................30 4.3.2.8 SubstituteValue.....................................................................................................................................31 4.3.2.9 EnableSubstituteValue..........................................................................................................................31 4.3.2.10 TargetItemPath..................................................................................................................................32 4.3.2.11 TargetItemName...............................................................................................................................32 4.3.2.12 SourceServerName............................................................................................................................32 4.3.2.13 SourceItemPath.................................................................................................................................33 4.3.2.14 SourceItemName...............................................................................................................................33 4.3.2.15 QueueSize.........................................................................................................................................34 4.3.2.16 UpdateRate........................................................................................................................................34 4.3.2.17 Deadband..........................................................................................................................................35 4.3.2.18 VendorData.......................................................................................................................................35 Page 5 of 122 OPC Data eXchange Specification Version: 1.0 4.3.2.19 Status.................................................................................................................................................35 4.3.2.19.1 DXConnectionState.......................................................................................................................39 4.3.2.19.2 WriteValue....................................................................................................................................40 4.3.2.19.3 WriteTimestamp............................................................................................................................40 4.3.2.19.4 WriteQuality..................................................................................................................................41 4.3.2.19.5 WriteErrorID.................................................................................................................................42 4.3.2.19.6 WriteErrorDiagnostic....................................................................................................................43 4.3.2.19.7 SourceValue..................................................................................................................................43 4.3.2.19.8 SourceTimestamp..........................................................................................................................43 4.3.2.19.9 SourceQuality................................................................................................................................44 4.3.2.19.10 SourceErrorID.............................................................................................................................44 4.3.2.19.11 SourceErrorDiagnostic................................................................................................................45 4.3.2.19.12 ActualUpdateRate........................................................................................................................46 4.3.2.19.13 QueueHighWaterMark................................................................................................................46 4.3.2.19.14 QueueFlushCount........................................................................................................................47 4.3.2.19.15 SourceItemConnected..................................................................................................................47 4.3.2.19.16 TargetItemConnected..................................................................................................................48 4.3.2.19.17 Overridden...................................................................................................................................48 4.3.2.19.18 OverrideValue.............................................................................................................................49 4.4 SOURCE SERVERS...............................................................................................................................49 4.4.1 SourceServer..............................................................................................................................49 4.4.1.1 Version..................................................................................................................................................50 4.4.1.2 Description............................................................................................................................................50 4.4.1.3 ServerType............................................................................................................................................51 4.4.1.4 ServerURL............................................................................................................................................51 4.4.1.5 DefaultSourceServerConnected.............................................................................................................52 4.4.1.6 Status.....................................................................................................................................................53 4.4.1.6.1 ConnectStatus..................................................................................................................................54 4.4.1.6.2 ErrorID............................................................................................................................................55 4.4.1.6.3 ErrorDiagnostic...............................................................................................................................55 4.4.1.6.4 LastConnectTimestamp...................................................................................................................56 4.4.1.6.5 LastConnectFailTimestamp.............................................................................................................56 4.4.1.6.6 ConnectFailCount............................................................................................................................56 4.4.1.6.7 PingTime.........................................................................................................................................57 4.4.1.6.8 LastDataChangeTimestamp.............................................................................................................57 4.4.1.6.9 SourceServerConnected...................................................................................................................58 5. OPC DX CONFIGURATION SERVICES.......................................................................................59 5.1 PARAMETER DEFINITIONS..................................................................................................................59 5.1.1 BrowsePath................................................................................................................................60 5.1.2 DXConnection...........................................................................................................................61 5.1.3 DXGeneralResponse..................................................................................................................63 5.1.4 IdentifiedResult..........................................................................................................................64 5.1.5 ItemIdentifier.............................................................................................................................64 5.1.6 NodeName.................................................................................................................................64 5.1.7 ResultCode.................................................................................................................................65 5.1.8 Source Server.............................................................................................................................67 5.2 OPC DX SERVICES............................................................................................................................68 5.2.1 Source Server Services..............................................................................................................68 5.2.1.1 GetServers.............................................................................................................................................68 5.2.1.1.1 GetServers Request.........................................................................................................................69 5.2.1.1.2 GetServers Response.......................................................................................................................69 5.2.1.2 AddServers............................................................................................................................................69 5.2.1.2.1 AddServers Request........................................................................................................................69 5.2.1.2.2 AddServers Response......................................................................................................................69 5.2.1.3 ModifyServers.......................................................................................................................................70 5.2.1.3.1 ModifyServers Request...................................................................................................................71 5.2.1.3.2 ModifyServers Response.................................................................................................................71 Page 6 of 122 OPC Data eXchange Specification Version: 1.0 5.2.1.4 DeleteServers........................................................................................................................................72 5.2.1.4.1 DeleteServers Request.....................................................................................................................72 5.2.1.4.2 DeleteServers Response..................................................................................................................72 5.2.1.5 CopyDefaultServerAttributes................................................................................................................73 5.2.1.5.1 CopyDefaultServerAttributes Request............................................................................................73 5.2.1.5.2 CopyDefaultServerAttributes Response..........................................................................................73 5.2.2 DXConnection Services.............................................................................................................74 5.2.2.1 QueryDXConnections...........................................................................................................................74 5.2.2.1.1 QueryDXConnections Request........................................................................................................75 5.2.2.1.2 QueryDXConnections Response.....................................................................................................75 5.2.2.2 AddDXConnections..............................................................................................................................76 5.2.2.2.1 AddDXConnections Request...........................................................................................................76 5.2.2.2.2 AddDXConnections Response........................................................................................................76 5.2.2.3 UpdateDXConnections..........................................................................................................................77 5.2.2.3.1 UpdateDXConnections Request......................................................................................................78 5.2.2.3.2 UpdateDXConnections Response....................................................................................................78 5.2.2.4 ModifyDXConnections.........................................................................................................................79 5.2.2.4.1 ModifyDXConnections Request......................................................................................................80 5.2.2.4.2 ModifyDXConnections Response...................................................................................................80 5.2.2.5 DeleteDXConnections...........................................................................................................................81 5.2.2.5.1 DeleteDXConnections Request.......................................................................................................82 5.2.2.5.2 DeleteDXConnections Response.....................................................................................................82 5.2.2.6 CopyDefaultDXConnectionAttributes...................................................................................................83 5.2.2.6.1 CopyDefaultDXConnectionAttributes Request...............................................................................84 5.2.2.6.2 CopyDefaultDXConnectionAttributes Response.............................................................................84 5.2.3 ResetConfiguration....................................................................................................................85 5.2.3.1 ResetConfiguration Request..................................................................................................................85 5.2.3.2 ResetConfiguration Response................................................................................................................86 5.3 PERSISTENCE......................................................................................................................................86 6. OPC DX RUNTIME MODEL............................................................................................................88 6.1 DX STARTUP......................................................................................................................................88 6.2 ESTABLISHING AND MAINTAINING CONNECTIONS TO SOURCE SERVERS...........................................88 6.2.1 Opening a Connection to a Source Server.................................................................................88 6.2.1.1 Security.................................................................................................................................................88 6.2.2 Modifying a Connection to a Server..........................................................................................88 6.2.3 Recovering Connections to Source Servers...............................................................................89 6.2.4 Closing Connections to Source Servers.....................................................................................90 6.3 TRANSFERRING DATA ON DXCONNECTIONS......................................................................................90 6.3.1 Maintaining DXConnections.....................................................................................................90 6.3.1.1 Managing Subscriptions........................................................................................................................90 6.3.1.1.1 Creating Subscriptions.....................................................................................................................90 6.3.1.1.2 Activating and Deactivating DXConnections Within a Subscription..............................................91 6.3.1.1.3 Handling Subscription Errors..........................................................................................................92 6.3.1.2 Adding DXConnections........................................................................................................................92 6.3.1.3 Modifying DXConnections...................................................................................................................93 6.3.1.4 Deleting DXConnections.......................................................................................................................94 6.3.2 Runtime Controls.......................................................................................................................94 6.3.3 Queueing Source Data...............................................................................................................97 6.3.4 Data Conversion........................................................................................................................97 6.3.5 Updating Target Values.............................................................................................................98 6.3.5.1 Target Update Truth Table....................................................................................................................98 6.3.5.2 Relationship to DXConnection States.................................................................................................100 6.3.5.3 TargetErrorID Runtime Behavior........................................................................................................102 6.4 STATUS AND MONITORING...............................................................................................................102 6.5 DX SHUTDOWN................................................................................................................................102 APPENDIX A. WEB SERVICES IMPLEMENTATION..................................................................104 Page 7 of 122 OPC Data eXchange Specification Version: 1.0 A.1. IMPLEMENTATION GUIDELINES........................................................................................................104 A.1.1. Error Handling.........................................................................................................................104 A.1.2. Locale Ids and Verbose Errors.................................................................................................104 A.2. MAPPING OF PARAMETERS AND SERVICES.......................................................................................105 A.2.1. Parameter Definitions..............................................................................................................105 A.2.1.1 DXConnection.....................................................................................................................................105 A.2.1.2 DXGeneralResponse...........................................................................................................................105 A.2.1.3 IdentifiedResult...................................................................................................................................105 A.2.1.4 ItemIdentifier.......................................................................................................................................106 A.2.1.5 SourceServer.......................................................................................................................................106 A.2.2. OPC DX Services....................................................................................................................106 A.2.2.1 Server Services....................................................................................................................................106 A.2.2.1.1 GetServers....................................................................................................................................106 A.2.2.1.2 AddServers...................................................................................................................................107 A.2.2.1.3 ModifyServers..............................................................................................................................107 A.2.2.1.4 DeleteServers................................................................................................................................108 A.2.2.1.5 CopyDefaultServerAttributes.......................................................................................................108 A.2.2.2 DXConnection Services......................................................................................................................109 A.2.2.2.1 QueryDXConnections...................................................................................................................109 A.2.2.2.2 AddDXConnections......................................................................................................................110 A.2.2.2.3 UpdateDXConnections.................................................................................................................110 A.2.2.2.4 ModifyDXConnections.................................................................................................................111 A.2.2.2.5 DeleteDXConnections..................................................................................................................111 A.2.2.2.6 CopyDefaultDXConnectionsAttributes........................................................................................112 A.2.2.3 ResetConfiguration..............................................................................................................................112 APPENDIX B. IDL IMPLEMENTATION.........................................................................................114 B.1. IMPLEMENTATION GUIDELINES........................................................................................................114 B.1.1. Error Handling.........................................................................................................................114 B.1.2. Locale Ids and Verbose Errors.................................................................................................114 B.1.3. Masks in Structures..................................................................................................................114 B.1.4. IDL..........................................................................................................................................114 Page 8 of 122 OPC Data eXchange Specification Version: 1.0 1. Introduction 1.1 Background The OPC Foundation has defined interfaces to OPC Data Access Servers, Alarm and Event Servers, Batch Servers, and Historical Data Access Servers. These servers acquire data from the plant floor and move it vertically into the enterprise system. In contrast, OPC Data eXchange (OPC DX) has been designed to move plant floor data horizontally between OPC DA servers. By presenting this new technology, the OPC DX enables data interoperability between OPC based systems (including DCOM and XML based systems running over Ethernet) including PLCs, HMI/SCADA, Devices, and PCs. 1.2 Purpose The purpose of this document is to continue OPC’s goal of enabling and promoting interoperability of applications. This document defines abstract services used to configure horizontal data transfers from servers with OPC DA interfaces to OPC DX servers. This document contains appendices that map these abstract services to specific interface technologies (e.g. Web Services and COM). OPC DX does not specify a new method for these data transfers. Instead, it relies on OPC Data Access (OPC DA) data transfer capabilities already in use today. This document defines the behavior of the OPC DX server as it relates to control and monitoring the data transfer from DA servers to itself. 1.3 Target Audience This specification is intended for developers of OPC compliant DX Clients and Servers. It is assumed that the reader is familiar with Microsoft COM, Web Services, XML, and SOAP. It is also recommended that the reader review the reference documents described in Section 1.5. 1.4 Goals OPC DX, in contrast to OPC DA, is used primarily for horizontal data flows between OPC servers. OPC DX is designed to provide for the direct transfer of data from one or more OPC DA and DX servers to an OPC DX server, without the need for intermediate clients or servers to access the data from one server and forward it to another. To support these capabilities, OPC DX has the following goals: • Exchange data between OPC DA servers in environments containing multiple bus technologies. • Define a standard interface for OPC DX server configuration. • Use OPC DA where practical. • Provide an easy migration path for existing OPC DA vendors. Insulate the design from communication technologies, while maintaining interoperability within as many products as possible. Page 9 of 122 OPC Data eXchange Specification Version: 1.0 1.5 Prerequisites Readers are assumed to be familiar with the following applicable OPC Specifications. • OPC Data Access Custom Interface Standard 2.04 • OPC Data Access Custom Interface Standard 2.05 • OPC Data Access Custom Interface Standard 3.0 • OPC Security Custom Interface 1.0 • OPC Common Definitions and Interfaces 1.0 • OPC XML DA Specification 1.0 The specifications are available from the OPC Foundation web site: http://www.opcfoundation.org/ It is also assumed that the reader is familiar with Microsoft COM technology, Web Services, XML/SOAP. Information regarding XML, SOAP, Web Services and various DXConnections to related sites, white papers, specs, etc, can be found at the W3C Web site. 1.6 Revision History Page 10 of 122

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.