OPC UA Specification - Amendment

OPC 10001-13

 

OPC Unified Architecture

Amendment 13: Ordered List

 

 

Release 1.04

2020-08-27

 

 

 

 

 


 

Specification Type:

Industry Standard Specification

Comments:

Report or view errata: http://www.opcfoundation.org/errata

 

 

 

 

Document
Number

OPC 10001-13

 

 

Title:

OPC Unified Architecture

Amendment13
Ordered List

Date:

2020-08-27

 

 

 

 

Version:

Release 1.04

Software:

MS-Word

 

 

Source:

OPC 10001-13 - UA Specification 1.04 Amendment 13 - Ordered List.docx

 

 

 

 

Author:

OPC Foundation

Status:

Release

 

 

 

 


 

 

OPC Foundation

____________

 

UNIFIED ARCHITECTURE –

FOREWORD

This specification is the specification for developers of OPC UA applications. The specification is a result of an analysis and design process to develop a standard interface to facilitate the development of applications by multiple vendors that shall inter-operate seamlessly together.

Copyright © 2006-2020, OPC Foundation, Inc.

AGREEMENT OF USE

COPYRIGHT RESTRICTIONS

Any unauthorized use of this specification may violate copyright laws, trademark laws, and communications regulations and statutes. This document contains information which is protected by copyright. All Rights Reserved. No part of this work covered by copyright herein may be reproduced or used in any form or by any means--graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems--without permission of the copyright owner.

OPC Foundation members and non-members are prohibited from copying and redistributing this specification. All copies must be obtained on an individual basis, directly from the OPC Foundation Web site
HTUhttp://www.opcfoundation.orgUTH.

PATENTS

The attention of adopters is directed to the possibility that compliance with or adoption of OPC specifications may require use of an invention covered by patent rights. OPC shall not be responsible for identifying patents for which a license may be required by any OPC specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. OPC specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents.

WARRANTY AND LIABILITY DISCLAIMERS

WHILE THIS PUBLICATION IS BELIEVED TO BE ACCURATE, IT IS PROVIDED "AS IS" AND MAY CONTAIN ERRORS OR MISPRINTS. THE OPC FOUDATION MAKES NO WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, WITH REGARD TO THIS PUBLICATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF TITLE OR OWNERSHIP, IMPLIED WARRANTY OF MERCHANTABILITY OR WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE OR USE. IN NO EVENT SHALL THE OPC FOUNDATION BE LIABLE FOR ERRORS CONTAINED HEREIN OR FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, RELIANCE OR COVER DAMAGES, INCLUDING LOSS OF PROFITS, REVENUE, DATA OR USE, INCURRED BY ANY USER OR ANY THIRD PARTY IN CONNECTION WITH THE FURNISHING, PERFORMANCE, OR USE OF THIS MATERIAL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

The entire risk as to the quality and performance of software developed using this specification is borne by you.

RESTRICTED RIGHTS LEGEND

This Specification is 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

COMPLIANCE

The OPC Foundation shall at all times be the sole entity that may authorize developers, suppliers and sellers of hardware and software to use certification marks, trademarks or other special designations to indicate compliance with these materials. Products developed using this specification may claim compliance or conformance with this specification if and only if the software satisfactorily meets the certification requirements set by the OPC Foundation. Products that do not meet these requirements may claim only that the product was based on this specification and must not claim compliance or conformance with this specification.

Trademarks

Most computer and software brand names have trademarks or registered trademarks. The individual trademarks have not been listed here.

GENERAL PROVISIONS

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, this specification.

ISSUE REPORTING

The OPC Foundation strives to maintain the highest quality standards for its published specifications, hence they undergo constant review and refinement. Readers are encouraged to report any issues and view any existing errata here: HTUhttp://www.opcfoundation.org/errataUTH

 


Revision 1.04 Amendment 13 Highlights

The following table includes the Mantis issues resolved by this Amendment.

Mantis ID

Summary

Resolution

5565

Request for standardized ordered list of objects

Created OrderedListType managing an ordered list of objects.

 

 


OPC Unified Architecture Specification

 

Amendment 13: Ordered List

 

 

OPC 10000-5, OPC Unified Architecture - Part 5: Information Model

Add the following ObjectTypes to Clause 6 “Standard ObjectTypes”

6.10   OrderedListType Definition

The OrderedListType is a base type to manage an ordered list of Objects. It is formally defined in Table 87B.

Table 87B - OrderedListType Definition

Attribute

Value

BrowseName

OrderedListType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseObjectType defined in 6.2, i.e. inheriting the InstanceDeclarations of that Node.

HasOrderedComponent

Object

<OrderedObject>

 

BaseObjectType

OP

HasProperty

Variable

NodeVersion

String

PropertyType

O

GeneratesEvent

ObjectType

GeneralModelChangeEventType

 

 

 

 

The <OrderedObject> Object represents the ordered Objects managed by Instances of the OrderedListType. The order is provided by the 0:HasOrderedComponent References to the Objects. As not all Clients consider the order returned by the Browse Service (e.g. displaying the results in alphabetic order) each <OrderedObject> shall implement the IOrderedObjectType Interface, providing the order by a specific Property (see definition of IOrderedObjectType).

The NodeVersion is intended to be used in conjunction with the GeneralModelChangeEventType in the way defined in OPC 10000-3. The NodeVersion should be provided if the ordered List can change (e.g. new Objects added or removed). This allows Clients to subscribe to the Property or the GeneralModelChangeEvents, instead of polling Browse calls. Changes in the order of the List are considered as adding and deleting References, i.e. if the order changes the NodeVersion shall be changed and a GeneralModelChangeEvent shall be issued, indicating that References have been added and deleted.

In Table 87C, the additional References are defined.

Table 87C OrderedListType Additional Subcomponents

SourcePath

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

<OrderedObject>

HasProperty

Variable

NumberInList

Number

PropertyType

M

<OrderedObject>

HasInterface

ObjectType

IOrderedObjectType

 

The <OrderedObject> Object shall implement the Interface IOrderedObjectType and therefore contains the mandatory Property NumberInList.

6.11   IOrderedObjectType Definition

The IOrderedObjectType defines the Interface all Objects managed by an OrderedListType shall implement. It is formally defined in Table 87D.

Table 87D - IOrderedObjectType Definition

Attribute

Value

BrowseName

IOrderedObjectType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseInterfaceType defined in 6.9, i.e. inheriting the InstanceDeclarations of that Node.

HasProperty

Variable

NumberInList

Number

PropertyType

M

 

The mandatory Property NumberInList provides the position of the Object in a list, managed by an instance of the OrderedListType. Ideally, the numbering should start with a 0 and have no gaps, but that is not required and Clients shall not assume this. All Objects in the same list shall use the same concrete DataType for the property NumberInList. Two Objects in a list shall never have the same value in this Property. The order shall be identical to the order managed by the HasOrderedComponent References.

Note that due to the nature of a list element, the NumberInList Property is bound to the parent instance of OrderedListType. Objects implementing the Interface can in general not be managed by two instances of OrderedListType at the same time.

 

OPC 10000-7, OPC Unified Architecture - Part 7: Profiles

Add the following ConformanceUnits to section 5.4, Table 13 “Base Information”:

Category

Title

Description

Server

Base Info OrderedList

Supports the OrderedListType and its associated rules.

Client

Base Info Client OrderedList

Use the information provided by the OrderedListType to use the ordered Objects of the list in an ordered way (either programaticaly or for display purposes).

 

Add the following ConformanceUnits to the section 6.6.3 Core 2017 Server Facet:

Group

Conformance Unit / Profile Title

Optional

Base Information

Base Info OrderedList

True

 

Add the following ConformanceUnits to the section 6.6.73 Core 2017 Client Facet:

Group

Conformance Unit / Profile Title

Optional

Base Information

Base Info Client OrderedList

True

 

 

___________