OPC UA Specification - Amendment

OPC 10001-1

 

OPC Unified Architecture

Amendment 1: AnalogItem Types

 

 

Release 1.04

2018-11-06

 

 

 

 

 

 

 


 

Specification Type:

Industry Standard Specification

Comments:

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

 

 

 

 

Document
Number

OPC 10001-1

 

 

Title:

OPC Unified Architecture

Amendment1 AnalogItem Types

Date:

2018-11-06

 

 

 

 

Version:

Release 1.04

Software:

MS-Word

 

 

Source:

OPC 10001-1 - UA Specification 1.04 Amendment 1 - AnalogItem Types.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-2019, 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 1 Highlights

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

Mantis ID

Summary

Resolution

4229

Limitations in Range for (U)Int64

Clarified behaviour for InstrumentRange.

4230

Need VariableType with mandatory EngineeringUnits

Created a new super-type for analog items with all Properties as optional. Several sub-types are defined with individual Properties mandated.

 

 


OPC Unified Architecture Specification

 

Amendment 1: AnalogItem Types

 

 

OPC 10000-8, OPC Unified Architecture - Part 8: Data Access

Clause 5.1: Replace 5.1 with the following:

5.1       General

The DataAccess model extends the variable model by defining VariableTypes. The DataItemType is the base type. ArrayItemType, BaseAnalogType, and DiscreteItemType are specializations. See Figure 2. Each of these VariableTypes can be further extended to form domain or server specific DataItems.

Figure 2DataItem VariableType hierarchy

 

 

Clause 5.3.2: Replace 5.3.2 with the following:

5.3.2    AnalogItem VariableTypes

5.3.2.1 General

The VariableTypes in this clause define the characteristics of AnalogItems. The types have identical semantics and Properties but with diverging ModellingRules for individual Properties.

The Properties are only described once - in the BaseAnalogType clause. The descriptions apply to the Properties for the other VariableTypes as well.

5.3.2.3 BaseAnalogType

This VariableType is the base type for analog items. All Properties are optional. Subtypes of this base type will mandate some of the Properties. The BaseAnalogType derives from the DataItemType. It is formally defined in Table 2A.

Table 2A BaseAnalogType definition

Attribute

Value

BrowseName

BaseAnalogType

IsAbstract

False

ValueRank

2  (2 = ‘Any’)

DataType

Number

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the DataItemType defined in 5.3.1 i.e the Properties of that type are inherited.

HasSubtype

VariableType

AnalogItemType

Defined in 5.3.2.2

HasSubtype

VariableType

AnalogUnitType

Defined in 5.3.2.3

HasProperty

Variable

InstrumentRange

Range

PropertyType

Optional

HasProperty

Variable

EURange

Range

PropertyType

Optional

HasProperty

Variable

EngineeringUnits

EUInformation

PropertyType

Optional

 

The following paragraphs describe the Properties of this VariableType. If the analog item’s Value contains an array, the Properties shall apply to all elements in the array.

InstrumentRange defines the value range that can be returned by the instrument.

    Example:            InstrumentRange::= {-9999.9, 9999.9}

Although defined as optional, it is strongly recommended for Servers to support this Property. Without an InstrumentRange being provided, Clients will commonly assume the full range according to the DataType.

The InstrumentRange Property may also be used to restrict a Built-in DataType such as Byte or Int16) to a smaller range of values.

Examples:

4-Bit UInt:       InstrumentRange::= {0, 15}

6-Bit Int:        InstrumentRange::= {-32, 31}

The Range Data Type is specified in OPC 10000-8, clause 5.6.2.

EURange defines the value range likely to be obtained in normal operation. It is intended for such use as automatically scaling a bar graph display.

Sensor or instrument failure or deactivation can result in a returned item value which is actually outside of this range. Client software must be prepared to deal with this possibility. Similarly a Client may attempt to write a value that is outside of this range back to the server. The exact behaviour (accept, reject, clamp, etc.) in this case is Server-dependent. However, in general Servers shall be prepared to handle this.

    Example:            EURange::= {-200.0,1400.0}

See also 6.2 for a special monitoring filter (PercentDeadband) which is based on the engineering unit range.

NOTE If EURange is not provided on an instance, the PercentDeadband filter cannot be used for that instance (see OPC 10000-8, clause 6.2).

EngineeringUnits specifies the units for the DataItem’s value (e.g., DEGC, hertz, seconds). The EUInformation type is specified in  OPC 10000-8, clause 5.6.3.

Important note: Understanding the units of a measurement value is essential for a uniform system. In an open system in particular where Servers from different cultures might be used, it is essential to know what the units of measurement are. Based on such knowledge, values can be converted if necessary before being used. Therefore, although defined as optional, support of the EngineeringUnits Property is strongly advised.

OPC UA recommends using the “Codes for Units of Measurement” (see  UN/CEFACT: UNECE Recommendation N° 20). The mapping to the EngineeringUnits Property is specified in  OPC 10000-8, clause 5.6.3.

Examples for unit mixup: In 1999, the Mars Climate Orbiter crashed into the surface of Mars. The main reason was a discrepancy over the units used. The navigation software expected data in newton second; the company who built the orbiter provided data in pound-force seconds. Another, less expensive, disappointment occurs when people used to British pints order a pint in the USA, only to be served what they consider a short measure.

The StatusCode SemanticsChanged bit shall be set if any of the EURange (could change the behaviour of a Subscription if a PercentDeadband filter is used) or EngineeringUnits (could create problems if the Client uses the value to perform calculations) Properties are changed (see OPC 10000-8, clause 5.2 for additional information).

5.3.2.2 AnalogItemType

This VariableType requires the EURange Property. The AnalogItemType derives from the BaseAnalogType. It is formally defined in Table 2.

Table 2 AnalogItemType definition

Attribute

Value

BrowseName

AnalogItemType

IsAbstract

False

ValueRank

2  (2 = ‘Any’)

DataType

Number

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseAnalogType defined in 5.3.2.1 i.e the Properties of that type are inherited.

HasSubtype

VariableType

AnalogUnitRangeType

Defined in 5.3.2.5

HasProperty

Variable

EURange

Range

PropertyType

Mandatory

 

5.3.2.4 AnalogUnitType

This VariableType requires the EngineeringUnits Property. The AnalogUnitType derives from the BaseAnalogType. It is formally defined in Table 2B.

Table 2B AnalogUnitType definition

Attribute

Value

BrowseName

AnalogUnitType

IsAbstract

False

ValueRank

2  (2 = ‘Any’)

DataType

Number

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseAnalogType defined in 5.3.2.1 i.e the Properties of that type are inherited.

HasProperty

Variable

EngineeringUnits

EUInformation

PropertyType

Mandatory

 

5.3.2.5 AnalogUnitRangeType

The AnalogUnitRangeType derives from the AnalogItemType and additionaly requires the EngineeringUnits Property. It is formally defined in Table 2C.

Table 2C AnalogUnitRangeType definition

Attribute

Value

BrowseName

AnalogUnitRangeType

IsAbstract

False

ValueRank

2  (2 = ‘Any’)

DataType

Number

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AnalogItemType defined in 5.3.2.2 i.e the Properties of that type are inherited.

HasProperty

Variable

EngineeringUnits

EUInformation

PropertyType

Mandatory

 

 

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

Add the following ConformanceUnits to section 5.4, Table 15 “Data Access”:

Category

Title

Description

Server

Data Access BaseAnalogType

 

Support BaseAnalogType Variables with corresponding Properties. The support of optional properties will be listed.

Server

Data Access AnalogUnitType

 

Support AnalogUnitType Variables with corresponding Properties. The support of optional properties will be listed.

Server

Data Access AnalogUnitRangeType

Support AnalogUnitRangeType Variables with corresponding Properties. The support of optional properties will be listed.

Client

Data Access Client BaseAnalogType

 

Understand BaseAnalogType Variables with corresponding Properties.

Client

Data Access Client AnalogUnitType

 

Understand AnalogUnitType Variables with corresponding Properties.

Client

Data Access Client AnalogUnitRangeType

Understand AnalogUnitRangeType Variables with corresponding Properties.

 

Add the following ConformanceUnits to the section 6.6.21 Data Access Server Facet:

Group

Conformance Unit / Profile Title

Optional

Data Access

Data Access BaseAnalogType

True

Data Access

Data Access AnalogUnitType

True

Data Access

Data Access AnalogUnitRangeType

True

 

Add the following ConformanceUnits to the section 6.6.93 Data Access Client Facet:

Group

Conformance Unit / Profile Title

Optional

Data Access

Data Access Client BaseAnalogType

True

Data Access

Data Access Client AnalogUnitType

True

Data Access

Data Access Client AnalogUnitRangeType

True

___________