Figure1_

Figure3_

    OPC UA Specification

OPC 10000-200

 

OPC Unified Architecture

Part 200: Industrial Automation

 

 

Release v1.00.0

2020-08-31

 

 

 

 

 

 

 


 

Specification Type:

Industry Standard Specification

Comments:

 

 

 

 

 

Document
Number

OPC 10000-200

 

 

Title:

OPC Unified Architecture

Part 200 :Industrial Automation

Date:

2020-08-31

 

 

 

 

Version:

Release v1.00.0

Software:

MS-Word

 

 

Source:

OPC 10000-200 - UA Specification Part 200 - Industrial Automation 1.00.0.docx

 

 

 

 

Author:

OPC Foundation

Status:

Release

 

 

 

 


 


 

CONTENTS

Page

 

1       Scope. 8

2       Normative references. 8

3       Terms, definitions, abbreviated terms, and conventions. 9

3.1        Terms and definitions. 9

3.2        Abbreviated terms. 10

3.3        Conventions used in this document 10

3.3.1          Conventions for Node descriptions. 10

3.3.2          NodeIds and BrowseNames. 11

3.3.3          Common Attributes. 12

4       Concept 14

5       Stacklights. 14

5.1        Overview. 14

5.2        OPC UA ObjectTypes. 14

5.2.1          BasicStacklightType. 14

5.2.2          StacklightType. 15

5.2.3          StackLevelType. 16

5.2.4          StackRunningType. 17

5.2.5          StackElementType. 18

5.2.6          StackElementLightType. 19

5.2.7          StackElementAcousticType. 20

5.2.8          ControlChannelType. 21

5.2.9          AcousticSignalType. 22

5.3        OPC UA DataTypes. 23

5.3.1          StacklightOperationMode. 23

5.3.2          LevelDisplayMode. 24

5.3.3          SignalColor 24

5.3.4          SignalModeLight 25

6       Statistical Data. 26

6.1        Overview. 26

6.2        OPC UA ObjectTypes. 26

6.2.1          IStatisticsType. 26

6.2.2          IAggregateStatisticsType. 28

6.2.3          IRollingStatisticsType. 28

6.3        OPC UA ReferenceTypes. 29

6.3.1          HasStatisticComponent 29

7       Profiles and ConformanceUnits. 30

7.1        Conformance Units. 30

7.2        Profiles. 30

7.2.1          Profile list 30

7.2.2          Server Facets. 30

8       Namespaces. 31

8.1        Namespace Metadata. 31

8.2        Handling of OPC UA Namespaces. 31

Annex A (normative)   Industrial Automation Namespace and mappings. 33

A.1        Namespace and identifiers for Industrial Automation Information Model 33

 


 

Figures

 

Figure 1 BasicStacklightType overview.................................................. 14

Figure 2 StacklightType overview......................................................... 15

Figure 3 StackLevelType overview........................................................ 16

Figure 4 StackElementType overview.................................................... 18

Figure 5 StackElementLightType overview............................................. 19

Figure 6 StackElementAcousticType overview......................................... 20

Figure 7 ControlChannelType overview.................................................. 21

Figure 8 AcousticSignalType overview................................................... 22

Figure 9 Example of the usage of the IStatisticsType Interface................... 26

 


Tables

Table 1 – Examples of DataTypes. 10

Table 2 – Type Definition Table. 11

Table 3 – Examples of Other Characteristics. 11

Table 4 – Common Node Attributes. 12

Table 5 – Common Object Attributes. 13

Table 6 – Common Variable Attributes. 13

Table 7 – Common VariableType Attributes. 13

Table 8 – Common Method Attributes. 13

Table 9 – BasicStacklightType Definition. 15

Table 10 – BasicStacklightType Attribute values for child Nodes. 15

Table 11 – StacklightType Definition. 16

Table 12 – StacklightType Attribute values for child Nodes. 16

Table 13 – StackLevelType Definition. 17

Table 14 – StackLevelType Attribute values for child Nodes. 17

Table 15 – StackRunningType Definition. 17

Table 16 – StackElementType Definition. 18

Table 17 – StackElementType Attribute values for child Nodes. 18

Table 18 – StackElementLightType Definition. 19

Table 19 – StackElementLightType Attribute values for child Nodes. 20

Table 20 – StackElementAcousticType Definition. 20

Table 21 – StackElementAcousticType Additional Subcomponents. 21

Table 22 – StackElementAcousticType Attribute values for child Nodes. 21

Table 23 – ControlChannelType Definition. 22

Table 24 – ControlChannelType Attribute values for child Nodes. 22

Table 25 – AcousticSignalType Definition. 23

Table 26 – AcousticSignalType Attribute values for child Nodes. 23

Table 27 – StacklightOperationMode EnumStrings Fields. 23

Table 28 – StacklightOperationMode Definition. 23

Table 29 – LevelDisplayMode EnumStrings Fields. 24

Table 30 – LevelDisplayMode Definition. 24

Table 31 – SignalColor EnumStrings Fields. 24

Table 32 – SignalColor Definition. 24

Table 33 – SignalModeLight EnumStrings Fields. 25

Table 34 – SignalModeLight Definition. 25

Table 35 – IStatisticsType Definition. 27

Table 36 – IStatisticsType Attribute values for child Nodes. 27

Table 37 – ResetStatistics Method Definition. 27

Table 38 – IAggregateStatisticsType Definition. 28

Table 39 – IAggregateStatisticsType Attribute values for child Nodes. 28

Table 40 – IRollingStatisticsType Definition. 28

Table 41 – IRollingStatisticsType Attribute values for child Nodes. 29

Table 42 – HasStatisticComponent Definition. 29

Table 43 – Conformance Units for Industrial Automation. 30

Table 44 – Profile URIs for Industrial Automation. 30

Table 45 – IA Stacklight Server Profile. 30

Table 46 – IA Statistical Data Server Profile. 30

Table 47 – NamespaceMetadata Object for this Document 31

Table 48 – Namespaces used in an Industrial Automation Server 31

Table 49 – Namespaces used in this document 32

 


 

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

 

 


 


OPC Unified Architecture

 

Part 200: Industrial Automation

 

 

 

1      Scope

This specification contains modelling concepts used in industrial automation.

This version of the specification contains modelling concepts for:

·      Stacklights

·      Statistical Data

2      Normative references

The following referenced documents are indispensable for the application of this OPC UA part. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments and errata) applies.

 

OPC 10000-1, OPC Unified Architecture - Part 1: Overview and Concepts

http://www.opcfoundation.org/UA/Part1/

OPC 10000-2, OPC Unified Architecture - Part 2: Security Model

http://www.opcfoundation.org/UA/Part2/

OPC 10000-3, OPC Unified Architecture - Part 3: Address Space Model

http://www.opcfoundation.org/UA/Part3/

OPC 10000-4, OPC Unified Architecture - Part 4: Services

http://www.opcfoundation.org/UA/Part4/

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

http://www.opcfoundation.org/UA/Part5/

OPC 10000-6, OPC Unified Architecture - Part 6: Mappings

http://www.opcfoundation.org/UA/Part6/

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

http://www.opcfoundation.org/UA/Part7/

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

http://www.opcfoundation.org/UA/Part8/

OPC 10000-9, OPC Unified Architecture - Part 9: Alarms and Conditions

http://www.opcfoundation.org/UA/Part9/

OPC 10000-10, OPC Unified Architecture - Part 10: Programs

http://www.opcfoundation.org/UA/Part10/

OPC 10000-11, OPC Unified Architecture - Part 11: Historical Access

http://www.opcfoundation.org/UA/Part11/

OPC 10000-12, OPC Unified Architecture - Part 12: Discovery and Global Services

http://www.opcfoundation.org/UA/Part12/

OPC 10000-13, OPC Unified Architecture - Part 13: Aggregates

http://www.opcfoundation.org/UA/Part13/

OPC 10000-14, OPC Unified Architecture - Part 14: PubSub

http://www.opcfoundation.org/UA/Part14/

OPC 10001-1, OPC Unified Architecture V1.04 - Amendment 1: AnalogItem Types

http://www.opcfoundation.org/UA/Amendment1/

OPC 10001-3, OPC Unified Architecture V1.04 - Amendment 3: Method Metadata

http://www.opcfoundation.org/UA/Amendment3/

OPC 10001-5, OPC Unified Architecture V1.04 - Amendment 5: Dictionary Reference

http://www.opcfoundation.org/UA/Amendment5/

OPC 10001-7, OPC Unified Architecture V1.04 - Amendment 7: Interfaces and AddIns

http://www.opcfoundation.org/UA/Amendment7/

OPC 10001-11, OPC Unified Architecture V1.04 - Amendment 11: Spatial Types

http://www.opcfoundation.org/UA/Amendment11/

OPC 10001-13, OPC Unified Architecture V1.04 - Amendment 13: Ordered Lists

http://www.opcfoundation.org/UA/Amendment13/

OPC 10000-100, OPC Unified Architecture - Part 100: Devices

http://www.opcfoundation.org/UA/Part100/

IEC60073, Basic and Safety Principles for Man-Machine Interface, Marking and Identification - Coding Principles for Indicators and Actuators

3      Terms, definitions, abbreviated terms, and conventions

3.1       Terms and definitions

For the purposes of this document, the terms and definitions given in OPC 10000-1, OPC 10000-3, OPC 10000-4, OPC 10000-5, OPC 10000-7, and OPC 10000-100 apply.

All used terms are italicized in this document.

3.2       Abbreviated terms

 

UA               Unified Architecture

 

3.3       Conventions used in this document

3.3.1        Conventions for Node descriptions

Node definitions are specified using tables (see Table 2).

Attributes are defined by providing the Attribute name and a value, or a description of the value.

References are defined by providing the ReferenceType name, the BrowseName of the TargetNode and its NodeClass.

·      If the TargetNode is a component of the Node being defined in the table the Attributes of the composed Node are defined in the same row of the table.

·      The DataType is only specified for Variables; “[<number>]” indicates a single-dimensional array, for multi-dimensional arrays the expression is repeated for each dimension (e.g. [2][3] for a two-dimensional array). For all arrays the ArrayDimensions is set as identified by <number> values. If no <number> is set, the corresponding dimension is set to 0, indicating an unknown size. If no number is provided at all the ArrayDimensions can be omitted. If no brackets are provided, it identifies a scalar DataType and the ValueRank is set to the corresponding value (see OPC 10000-3). In addition, ArrayDimensions is set to null or is omitted. If it can be Any or ScalarOrOneDimension, the value is put into “{<value>}”, so either “{Any}” or “{ScalarOrOneDimension}” and the ValueRank is set to the corresponding value (see OPC 10000-3) and the ArrayDimensions is set to null or is omitted. Examples are given in Table 1.

Table 1 – Examples of DataTypes

Notation

Data­Type

Value­Rank

Array­Dimensions

Description

0:Int32

0:Int32

-1

omitted or null

A scalar Int32.

0:Int32[]

0:Int32

1

omitted or {0}

Single-dimensional array of Int32 with an unknown size.

0:Int32[][]

0:Int32

2

omitted or {0,0}

Two-dimensional array of Int32 with unknown sizes for both dimensions.

0:Int32[3][]

0:Int32

2

{3,0}

Two-dimensional array of Int32 with a size of 3 for the first dimension and an unknown size for the second dimension.

0:Int32[5][3]

0:Int32

2

{5,3}

Two-dimensional array of Int32 with a size of 5 for the first dimension and a size of 3 for the second dimension.

0:Int32{Any}

0:Int32

-2

omitted or null

An Int32 where it is unknown if it is scalar or array with any number of dimensions.

0:Int32{ScalarOrOneDimension}

0:Int32

-3

omitted or null

An Int32 where it is either a single-dimensional array or a scalar.

 

·      The TypeDefinition is specified for Objects and Variables.

·      The TypeDefinition column specifies a symbolic name for a NodeId, i.e. the specified Node points with a HasTypeDefinition Reference to the corresponding Node.

·      The ModellingRule of the referenced component is provided by specifying the symbolic name of the rule in the ModellingRule column. In the AddressSpace, the Node shall use a HasModellingRule Reference to point to the corresponding ModellingRule Object.

If the NodeId of a DataType is provided, the symbolic name of the Node representing the DataType shall be used.

Note that if a symbolic name of a different namespace is used, it is prefixed by the NamespaceIndex (see Table 49).

Nodes of all other NodeClasses cannot be defined in the same table; therefore, only the used ReferenceType, their NodeClass and their BrowseName are specified. A reference to another part of this document points to their definition.

Table 2 illustrates the table. If no components are provided, the DataType, TypeDefinition and Other columns may be omitted and only a Comment column is introduced to point to the Node definition.

Table 2 – Type Definition Table

Attribute

Value

Attribute name

Attribute value. If it is an optional Attribute that is not set “--“ is used.

 

 

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

ReferenceType name

NodeClass of the TargetNode.

BrowseName of the target Node. If the Reference is to be instantiated by the server, then the value of the target Node’s BrowseName is “--“.

DataType of the referenced Node, only applicable for Variables.

TypeDefinition of the referenced Node, only applicable for Variables and Objects.

Additional characteristics of the TargetNode such as the ModellingRule or AccessLevel.

NOTE Notes referencing footnotes of the table content.

 

Components of Nodes can be complex that is containing components by themselves. The TypeDefinition, NodeClass and DataType can be derived from the type definitions, and the symbolic name can be created as defined in Annex A. Therefore, those containing components are not explicitly specified; they are implicitly specified by the type definitions.

The Other column defines additional characteristics of the Node. Examples of characteristics that can appear in this column are show in Table 3.

Table 3 – Examples of Other Characteristics

Name

Short Name

Description

0:Mandatory

M

The Node has the Mandatory ModellingRule.

0:Optional

O

The Node has the Optional ModellingRule.

0:MandatoryPlaceholder

MP

The Node has the MandatoryPlaceholder ModellingRule.

0:OptionalPlaceholder

OP

The Node has the OptionalPlaceholder ModellingRule.

ReadOnly

RO

The Node AccessLevel has the CurrentRead bit set but not the CurrentWrite bit.

ReadWrite

RW

The Node AccessLevel has the CurrentRead and CurrentWrite bits set.

WriteOnly

WO

The Node AccessLevel has the CurrentWrite bit set but not the CurrentRead bit.

If multiple characteristics are defined, they are separated by commas. The name or the short name may be used.

3.3.2        NodeIds and BrowseNames

3.3.2.1         NodeIds

The NodeIds of all Nodes described in this standard are only symbolic names. Annex A defines the actual NodeIds.

The symbolic name of each Node defined in this document is its BrowseName, or, when it is part of another Node, the BrowseName of the other Node, a “.”, and the BrowseName of itself. In this case “part of” means that the whole has a HasProperty or HasComponent Reference to its part. Since all Nodes not being part of another Node have a unique name in this document, the symbolic name is unique.

The NamespaceUri for all NodeIds defined in this document is defined in Annex A. The NamespaceIndex for this NamespaceUri is vendor-specific and depends on the position of the NamespaceUri in the server namespace table.

Note that this document not only defines concrete Nodes, but also requires that some Nodes shall be generated, for example one for each Session running on the Server. The NodeIds of those Nodes are Server-specific, including the namespace. But the NamespaceIndex of those Nodes cannot be the NamespaceIndex used for the Nodes defined in this document, because they are not defined by this document but generated by the Server.

3.3.2.2         BrowseNames

The text part of the BrowseNames for all Nodes defined in this document is specified in the tables defining the Nodes. The NamespaceUri for all BrowseNames defined in this document is defined in Annex A.

If the BrowseName is not defined by this document, a namespace index prefix like ‘0:EngineeringUnits’ or ‘2:DeviceRevision’ is added to the BrowseName. This is typically necessary if a Property of another specification is overwritten or used in the OPC UA types defined in this document. Table 49 provides a list of namespaces and their indexes as used in this document.

3.3.3        Common Attributes

3.3.3.1         General

The Attributes of Nodes, their DataTypes and descriptions are defined in OPC 10000-3. Attributes not marked as optional are mandatory and shall be provided by a Server. The following tables define if the Attribute value is defined by this document or if it is server-specific.

For all Nodes specified in this document, the Attributes named in Table 4 shall be set as specified in the table.

Table 4 – Common Node Attributes

Attribute

Value

DisplayName

The DisplayName is a LocalizedText. Each server shall provide the DisplayName identical to the BrowseName of the Node for the LocaleId “en”. Whether the server provides translated names for other LocaleIds are server-specific.

Description

Optionally a server-specific description is provided.

NodeClass

Shall reflect the NodeClass of the Node.

NodeId

The NodeId is described by BrowseNames as defined in 3.3.2.1.

WriteMask

Optionally the WriteMask Attribute can be provided. If the WriteMask Attribute is provided, it shall set all non-server-specific Attributes to not writable. For example, the Description Attribute may be set to writable since a Server may provide a server-specific description for the Node. The NodeId shall not be writable, because it is defined for each Node in this document.

UserWriteMask

Optionally the UserWriteMask Attribute can be provided. The same rules as for the WriteMask Attribute apply.

RolePermissions

Optionally server-specific role permissions can be provided.

UserRolePermissions

Optionally the role permissions of the current Session can be provided. The value is server-specific and depends on the RolePermissions Attribute (if provided) and the current Session.

AccessRestrictions

Optionally server-specific access restrictions can be provided.

 

3.3.3.2         Objects

For all Objects specified in this document, the Attributes named in Table 5 shall be set as specified in the Table 5. The definitions for the Attributes can be found in OPC 10000-3.

Table 5 – Common Object Attributes

Attribute

Value

EventNotifier

Whether the Node can be used to subscribe to Events or not is server-specific.

 

3.3.3.3         Variables

For all Variables specified in this document, the Attributes named in Table 6 shall be set as specified in the table. The definitions for the Attributes can be found in OPC 10000-3.

Table 6 – Common Variable Attributes

Attribute

Value

MinimumSamplingInterval

Optionally, a server-specific minimum sampling interval is provided.

AccessLevel

The access level for Variables used for type definitions is server-specific, for all other Variables defined in this document, the access level shall allow reading; other settings are server-specific.

UserAccessLevel

The value for the UserAccessLevel Attribute is server-specific. It is assumed that all Variables can be accessed by at least one user.

Value

For Variables used as InstanceDeclarations, the value is server-specific; otherwise it shall represent the value described in the text.

ArrayDimensions

If the ValueRank does not identify an array of a specific dimension (i.e. ValueRank <= 0) the ArrayDimensions can either be set to null or the Attribute is missing. This behaviour is server-specific.

If the ValueRank specifies an array of a specific dimension (i.e. ValueRank > 0) then the ArrayDimensions Attribute shall be specified in the table defining the Variable.

Historizing

The value for the Historizing Attribute is server-specific.

AccessLevelEx

If the AccessLevelEx Attribute is provided, it shall have the bits 8, 9, and 10 set to 0, meaning that read and write operations on an individual Variable are atomic, and arrays can be partly written.

 

3.3.3.4         VariableTypes

For all VariableTypes specified in this document, the Attributes named in Table 7 shall be set as specified in the table. The definitions for the Attributes can be found in OPC 10000-3.

Table 7 – Common VariableType Attributes

Attributes

Value

Value

Optionally a server-specific default value can be provided.

ArrayDimensions

If the ValueRank does not identify an array of a specific dimension (i.e. ValueRank <= 0) the ArrayDimensions can either be set to null or the Attribute is missing. This behaviour is server-specific.

If the ValueRank specifies an array of a specific dimension (i.e. ValueRank > 0) then the ArrayDimensions Attribute shall be specified in the table defining the VariableType.

 

3.3.3.5         Methods

For all Methods specified in this document, the Attributes named in Table 8 shall be set as specified in the table. The definitions for the Attributes can be found in OPC 10000-3.

Table 8 – Common Method Attributes

Attributes

Value

Executable

All Methods defined in this document shall be executable (Executable Attribute set to “True”), unless it is defined differently in the Method definition.

UserExecutable

The value of the UserExecutable Attribute is server-specific. It is assumed that all Methods can be executed by at least one user.

 

4      Concept

This specification contains modelling concepts for industrial automation. The concepts can be used independent of each other and are organized in individual sections.

5      Stacklights

5.1       Overview

A stacklight is used to visually or acoustically indicate the state or a specific event of an automation component. This section defines a base modelling constructs to represent stacklights in an OPC UA Information Model.

5.2       OPC UA ObjectTypes

5.2.1        BasicStacklightType

Figure4_

Figure 1 BasicStacklightType overview

The BasicStacklightType is the entry point to a stacklight. It contains the elements of the stacklight as well as additional information valid for the whole unit. In Figure 1, a graphical overview is given. It is formally defined in Table 9.

Table 9 – BasicStacklightType Definition

Attribute

Value

BrowseName

BasicStacklightType

IsAbstract

False

Description

Entry point to a stacklight containing elements of the stacklight as well as additional information valid for the whole unit.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the OrderedListType defined in OPC 10001-13, i.e. inheriting the InstanceDeclarations of that Node.

0:HasProperty

Variable

StacklightMode

StacklightOperationMode

0:PropertyType

M

0:HasComponent

Object

StackLevel

 

StackLevelType

O

0:HasComponent

Object

StackRunning

 

StackRunningType

O

0:HasOrderedComponent

Object

0:<OrderedObject>

 

StackElementType

OP

 

StacklightMode shows in what way (stack of individual lights, level meter, running light) the stacklight unit is used.

StackLevel is only valid if the stacklight is used in “Levelmeter” StacklightMode. If so, the whole stack is controlled by a single percentual value. In this case, the SignalOn parameter of any <OrderedObject> of StackElementLightType has no meaning.

StackRunning is only valid if the stacklight is used in “Running_Light” StacklightMode.

The ordered component(s) <OrderedObject> represent the stack elements (lamps and acoustic elements) the stacklight is composed of. The HasOrderedComponent Reference shall represent the ordering from the base of the stacklight.

The InstanceDeclarations of the BasicStacklightType have the Attribute values defined in Table 10.

Table 10 – BasicStacklightType Attribute values for child Nodes

Source Path

Value

Description

StacklightMode

-

Shows in what way (stack of individual lights, level meter, running light) the stacklight unit is used.

StackLevel

-

Valid if the stacklight is used in “Levelmeter” StacklightMode. If so, the whole stack is controlled by a single percentual value. In this case, the SignalOn parameter of any stack element of StackElementLightType has no meaning.

StackRunning

-

Valid if the stacklight is used in “Running_Light” StacklightMode.

0:<OrderedObject>

-

Represent the stack elements (lamps and acoustic elements) the stacklight is composed of. The HasOrderedComponent Reference shall represent the ordering from the base of the stacklight.

 

5.2.2        StacklightType

Figure5_

Figure 2 StacklightType overview

The StacklightType is a subtype of the BasicStacklightType. It adds the possibility to show the stacklight’s health status. In Figure 2, a graphical overview is given. It is formally defined in Table 11.

Table 11 – StacklightType Definition

Attribute

Value

BrowseName

StacklightType

IsAbstract

False

Description

Entry point to a stacklight with the possibility to show the stacklight’s health status.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BasicStacklightType defined in 5.2.1, i.e. inheriting the InstanceDeclarations of that Node.

0:HasInterface

ObjectType

2:IDeviceHealthType

 

 

 

Properties of the 2:IDeviceHealthType

0:HasComponent

Variable

2:DeviceHealth

2:DeviceHealthEnumeration

0:BaseDataVariableType

O

0:HasComponent

Object

2:DeviceHealthAlarms

 

0:FolderType

O

 

DeviceHealth, defined in IDeviceHealthType, indicates the health status of the stacklight and shall be used as specified in OPC 10000-100.

DeviceHealthAlarms, defined in IDeviceHealthType, can be used to expose alarm instances and shall be used as specified in OPC 10000-100.

The InstanceDeclarations of the StacklightType have the Attribute values defined in Table 12.

Table 12 – StacklightType Attribute values for child Nodes

Source Path

Value

Description

2:DeviceHealth

-

Contains the health status information of the stacklight.

2:DeviceHealthAlarms

-

Contains alarms of the stacklights providing more detailed information on the health of the stacklight.

 

5.2.3        StackLevelType

Figure6_

Figure 3 StackLevelType overview

The StackLevelType contains the information relevant to a stacklight operating as a level meter. The whole stack is controlled by a percentual value. In Figure 3, a graphical overview is given. It is formally defined in Table 13.

Table 13 – StackLevelType Definition

Attribute

Value

BrowseName

StackLevelType

IsAbstract

False

Description

Contains information relevant to a stacklight operating as a level meter. The whole stack is controlled by a percentual value.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseObjectType defined in OPC 10000-5 i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Variable

LevelPercent

0:Float

0:AnalogItemType

M

0:HasComponent

Variable

DisplayMode

LevelDisplayMode

0:BaseDataVariableType

M

 

LevelPercent shows the percentual value the stacklight is representing. The mandatory EURange Property of the Variable indicates the lowest and highest value and thereby allows to calculate the percentage represented by the value. The lowest value is interpreted as 0 percent, the highest is interpreted as 100 percent.

DisplayMode indicates in what way the percentual value is displayed with the stacklight.

The InstanceDeclarations of the StackLevelType have the Attribute values defined in Table 14.

Table 14 – StackLevelType Attribute values for child Nodes

Source Path

Value

Description

LevelPercent

-

Shows the percentual value the stacklight is representing. The mandatory EURange Property of the Variable indicates the lowest and highest value and thereby allows to calculate the percentage represented by the value. The lowest value is interpreted as 0 percent, the highest is interpreted as 100 percent.

DisplayMode

-

Indicates in what way the percentual value is displayed with the stacklight.

 

5.2.4        StackRunningType

The StackRunningType contains the information relevant to a stacklight operating as a running light. This base type does not define any specific information, but can be extended. This Object is only of relevance when the StacklightMode is in mode “Running_Light”. It is formally defined in Table 15.

Table 15 – StackRunningType Definition

Attribute

Value

BrowseName

StackRunningType

IsAbstract

False

Description

Contains information relevant to a stacklight operating as a running light. This base type does not define any specific information, but can be extended.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseObjectType defined in OPC 10000-5 i.e. inheriting the InstanceDeclarations of that Node.

 

5.2.5        StackElementType

Figure7_

Figure 4 StackElementType overview

The StackElementType is the base class for elements in a stacklight. The elements are used in an ordered list. In Figure 4, a graphical overview is given. It is formally defined in Table 16.

Table 16 – StackElementType Definition

Attribute

Value

BrowseName

StackElementType

IsAbstract

True

Description

Base class for elements in a stacklight.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseObjectType defined in OPC 10000-5 i.e. inheriting the InstanceDeclarations of that Node.

0:HasInterface

ObjectType

0:IOrderedObjectType

 

 

 

0:HasProperty

Variable

SignalOn

0:Boolean

0:PropertyType

O

0:HasProperty

Variable

IsPartOfBase

0:Boolean

0:PropertyType

O

0:HasProperty

Variable

0:NumberInList

0:UInteger

0:PropertyType

M

 

SignalOn indicates if the signal emitted by the stack element is currently switched on or not.

IsPartOfBase indicates, if the element is contained in the mounting base of the stacklight. All elements contained in the mounting base shall be at the beginning of the list of stack elements.

NumberInList is defined in the IOrderedObjectType and used in conjunction with the HasOrderedComponent Reference of the BasicStacklightType. It shall contain the same ordering information as the Reference and enumerate the stacklight elements counting upwards beginning from the base of the stacklight.

The InstanceDeclarations of the StackElementType have the Attribute values defined in Table 17.

Table 17 – StackElementType Attribute values for child Nodes

Source Path

Value

Description

SignalOn

-

Indicates if the signal emitted by the stack element is currently switched on or not.

IsPartOfBase

-

Indicates, if the element is contained in the mounting base of the stacklight. All elements contained in the mounting base shall be at the beginning of the list of stack elements.

0:NumberInList

-

Enumerate the stacklight elements counting upwards beginning from the base of the stacklight.

 

5.2.6        StackElementLightType

Figure8_

Figure 5 StackElementLightType overview

The StackElementLightType represents a lamp element in a stacklight. In Figure 5, a graphical overview is given. It is formally defined in Table 18.

Table 18 – StackElementLightType Definition

Attribute

Value

BrowseName

StackElementLightType

IsAbstract

False

Description

Represents a lamp element in a stacklight.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the StackElementType defined in 5.2.5, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Variable

SignalColor

SignalColor

0:BaseDataVariableType

O

0:HasComponent

Variable

SignalMode

SignalModeLight

0:BaseDataVariableType

O

0:HasComponent

Variable

Intensity

0:Float

0:AnalogItemType

O

0:HasComponent

Object

<ControlChannel>

 

ControlChannelType

OP

 

For the StackElementLightType, either the Variables SignalColor, SignalOn, SignalMode and Intensity shall be used to indicate the respective values for the lamp element or separate ControlChannels per available and individually controllable colour channel shall be used (e.g. in RGB or RGBW lamp elements). The two concepts shall not be used in conjunction in a single StackElementLightType instance.

SignalColor indicates the colour the lamp element has when switched on.

SignalMode shows in what way the lamp is used (continuous light, flashing, blinking) when switched on.

Intensity shows the intensity of the lamp, thus its brightness. The mandatory EURange Property of the Variable indicates the lowest and highest value and thereby allows to calculate the percentage represented by the value. The lowest value is interpreted as 0 percent, the highest is interpreted as 100 percent.

The list of <ControlChannel> instances shows the control information for each independent colour channel of the stacked element.

The InstanceDeclarations of the StackElementLightType have the Attribute values defined in Table 19.

Table 19 – StackElementLightType Attribute values for child Nodes

Source Path

Value

Description

SignalColor

-

Indicates the colour the lamp element has when switched on.

SignalMode

-

Shows in what way the lamp is used (continuous light, flashing, blinking) when switched on.

Intensity

-

Intensity of the lamp, thus its brightness. The mandatory EURange Property of the Variable indicates the lowest and highest value and thereby allows to calculate the percentage represented by the value. The lowest value is interpreted as 0 percent, the highest is interpreted as 100 percent.

<ControlChannel>

-

The list of <ControlChannel> instances shows the control information for each independent colour channel of the stacked element.

 

5.2.7        StackElementAcousticType

Figure9_

Figure 6 StackElementAcousticType overview

The StackElementAcousticType represents an acoustic element in a stacklight. In Figure 6, a graphical overview is given. It is formally defined in Table 20.

Table 20 – StackElementAcousticType Definition

Attribute

Value

BrowseName

StackElementAcousticType

IsAbstract

False

Description

Represents an acoustic element in a stacklight.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the StackElementType defined in 5.2.5, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Variable

OperationMode

0:UInteger

0:BaseDataVariableType

M

0:HasComponent

Variable

Intensity

0:Float

0:AnalogItemType

O

0:HasComponent

Object

AcousticSignals

 

0:OrderedListType

M

 

OperationMode indicates what signal of the list of AcousticSignalType nodes is played when the acoustic element is switched on. It shall contain an index matching the NumberInList Property of the respective AcousticSignalType Object of AcousticSignals.

Intensity indicates the sound pressure level of the acoustic signal when switched on. This value shall only have positive values. The mandatory EURange Property of the Variable indicates the lowest and highest value and thereby allows to calculate the percentage represented by the value. The lowest value is interpreted as 0 percent, the highest is interpreted as 100 percent.

AcousticSignals contains a list of audio signals used by this acoustic stacklight element.

The components of the StackElementAcousticType have additional References which are defined in Table 21.

Table 21 – StackElementAcousticType Additional Subcomponents

Source Path

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

AcousticSignals

0:HasOrderedComponent

Object

0:<OrderedObject>

AcousticSignalType

MP

 

The InstanceDeclarations of the StackElementAcousticType have the Attribute values defined in Table 22.

Table 22 – StackElementAcousticType Attribute values for child Nodes

Source Path

Value

Description

OperationMode

-

Indicates what signal of the list of AcousticSignalType nodes is played when the acoustic element is switched on. It shall contain an index into the NumberInList of the respective AcousticSignalType Object of AcousticSignals.

Intensity

-

Indicates the sound pressure level of the acoustic signal when switched on. This value shall only have positive values. The mandatory EURange Property of the Variable indicates the lowest and highest value and thereby allows to calculate the percentage represented by the value. The lowest value is interpreted as 0 percent, the highest is interpreted as 100 percent.

AcousticSignals

-

Contains a list of audio signals used by this acoustic stacklight element.

AcousticSignals

0:<OrderedObject>

-

Represents an acoustic signal.

 

5.2.8        ControlChannelType

Figure10_

Figure 7 ControlChannelType overview

The ControlChannelType is used for control channels of single colour elements within a stack element (e.g. RGB elements would use three ControlChannels, one for each controllable colour). In Figure 7, a graphical overview is given. It is formally defined in Table 23.

Table 23 – ControlChannelType Definition

Attribute

Value

BrowseName

ControlChannelType

IsAbstract

False

Description

Used for control channels of single colour elements within a stack element (e.g. RGB elements would use three ControlChannels, one for each controllable colour).

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseObjectType defined in OPC 10000-5 i.e. inheriting the InstanceDeclarations of that Node.

0:HasProperty

Variable

SignalOn

0:Boolean

0:PropertyType

M

0:HasComponent

Variable

ChannelColor

SignalColor

0:BaseDataVariableType

M

0:HasComponent

Variable

SignalMode

SignalModeLight

0:BaseDataVariableType

M

0:HasComponent

Variable

Intensity

0:Float

0:AnalogItemType

O

 

SignalOn indicates if the colour is switched on.

ChannelColor shows the channel’s colour.

SignalMode indicates in what mode (continuously on, blinking, flashing) the channel operates when switched on.

Intensity shows the channel’s intensity, thus its brightness. The mandatory EURange Property of the Variable indicates the lowest and highest value and thereby allows to calculate the percentage represented by the value. The lowest value is interpreted as 0 percent, the highest is interpreted as 100 percent.

The InstanceDeclarations of the ControlChannelType have the Attribute values defined in Table 24.

Table 24 – ControlChannelType Attribute values for child Nodes

Source Path

Value

Description

SignalOn

-

Indicates if the colour is switched on.

ChannelColor

-

Indicates in what mode (continuously on, blinking, flashing) the channel operates when switched on.

SignalMode

-

Contains a list of audio signals used by this acoustic stacklight element.

Intensity

-

Shows the channel’s intensity, thus its brightness. The mandatory EURange Property of the Variable indicates the lowest and highest value and thereby allows to calculate the percentage represented by the value. The lowest value is interpreted as 0 percent, the highest is interpreted as 100 percent.

 

5.2.9        AcousticSignalType

Figure11_

Figure 8 AcousticSignalType overview

The AcousticSignalType represents an acoustic signal. It is used in an ordered list. In Figure 8, a graphical overview is given. It is formally defined in Table 25.

Table 25 – AcousticSignalType Definition

Attribute

Value

BrowseName

AcousticSignalType

IsAbstract

False

Description

Represents an acoustic signal.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseObjectType defined in OPC 10000-5, i.e. inheriting the InstanceDeclarations of that Node.

0:HasInterface

ObjectType

0:IOrderedObjectType

 

 

 

0:HasProperty

Variable

0:NumberInList

0:UInteger

0:PropertyType

M

0:HasComponent

Variable

AudioSample

0:AudioDataType

0:BaseDataVariableType

O

 

The Description Attribute of each Object of type AcousticSignalType should be used as textual description of the audio signal, e.g. “Buzzer 100Hz”.

NumberInList is defined in IOrderedObjectType and used in conjunction with the HasOrderedComponent Reference of the AcousticSignals Object. Instances of StackElementAcousticType index into this number using the OperationMode Property.

AudioSample contains the audio data, e.g. for devices capable of audio playback.

The InstanceDeclarations of the AcousticSignalType have the Attribute values defined in Table 26.

Table 26 – AcousticSignalType Attribute values for child Nodes

Source Path

Value

Description

0:NumberInList

-

Enumerate the acoustic signals. Instances of StackElementAcousticType index into this number using the OperationMode Property.

AudioSample

-

Contains the audio data, e.g. for devices capable of audio playback.

 

5.3       OPC UA DataTypes

5.3.1        StacklightOperationMode

The StacklightOperationMode Enumeration DataType contains the values used to indicate how a stacklight (as a whole unit) is used. The contents of its EnumStrings are defined in Table 27.

Table 27 – StacklightOperationMode EnumStrings Fields

Name

Value

Description

Segmented

0

Stacklight is used as stack of individual lights

Levelmeter

1

Stacklight is used as level meter

Running_Light

2

The whole stack acts as a running light

 Other

3

Stacklight is used in a way not defined in this version of the specification

 

Its representation in the AddressSpace is defined in Table 28.

Table 28 – StacklightOperationMode Definition

Attribute

Value

BrowseName

StacklightOperationMode

IsAbstract

False

Description

Contains the values used to indicate how a stacklight (as a whole unit) is used.

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the Enumeration type defined in OPC 10000-3

0:HasProperty

Variable

0:EnumValues

0:EnumValueType[]

0:PropertyType

M

 

5.3.2        LevelDisplayMode

The LevelDisplayMode Enumeration DataType contains the values used to indicate how a percentual value is displayed if the stacklight unit works in Levelmeter mode. The contents of its EnumStrings are defined in Table 29.

Table 29 – LevelDisplayMode EnumStrings Fields

Name

Value

Description

Dimmed

0

Uses dimming to display fractions.

Blinking

1

Uses blinking to display fractions.

Other

2

Display fractions in a way not defined in this version of the specification.

 

Its representation in the AddressSpace is defined in Table 30.

Table 30 – LevelDisplayMode Definition

Attribute

Value

BrowseName

LevelDisplayMode

IsAbstract

False

Description

Contains the values used to indicate how a percentual value is displayed if the stacklight unit works in Levelmeter mode.

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the Enumeration type defined in OPC 10000-3

0:HasProperty

Variable

0:EnumValues

0:EnumValueType[]

0:PropertyType

M

 

5.3.3        SignalColor

The SignalColor Enumeration DataType holds the possible colour values for stacklight lamps. The contents of its EnumStrings are defined in Table 31.

Table 31 – SignalColor EnumStrings Fields

Name

Value

Description

Off

0

Element is disabled.

Red

1

This value indicates a red lamp colour.

Green

2

This value indicates a green lamp colour.

Blue

3

This value indicates a blue lamp colour.

Yellow

4

This value indicates a yellow lamp colour (R+G).

Purple

5

This value indicates a purple lamp colour (R+B).

Cyan

6

This value indicates a cyan lamp colour (G+B).

White

7

This value indicates a white lamp colour (R+G+B).

 

Note: If you are using the IEC60073 you shall use the colours Red, Green, Blue, Yellow and White.

Its representation in the AddressSpace is defined in Table 32.

Table 32 – SignalColor Definition

Attribute

Value

BrowseName

SignalColor

IsAbstract

False

Description

Holds the possible colour values for stacklight lamps.

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the Enumeration type defined in OPC 10000-3

0:HasProperty

Variable

0:EnumValues

0:EnumValueType[]

0:PropertyType

M

 

5.3.4        SignalModeLight

SignalModeLight contains the values used to indicate in what way a lamp behaves when switched on. The contents of its EnumStrings are defined in Table 33.

Table 33 – SignalModeLight EnumStrings Fields

Name

Value

Description

Continuous

0

This value indicates a continuous light.

Blinking

1

This value indicates a blinking light (blinking in regular intervals with equally long on and off times).

Flashing

2

This value indicates a flashing light (blinking in intervals with longer off times than on times, per interval multiple on times are possible).

Other

3

The light is handled in a way not defined in this version of the specification.

 

Its representation in the AddressSpace is defined in Table 34.

Table 34 – SignalModeLight Definition

Attribute

Value

BrowseName

SignalModeLight

IsAbstract

False

Description

Contains the values used to indicate in what way a lamp behaves when switched on.

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the Enumeration type defined in OPC 10000-3

0:HasProperty

Variable

0:EnumValues

0:EnumValueType[]

0:PropertyType

M

 


 

6      Statistical Data

6.1       Overview

The Interfaces defined in this chapter can be used to manage statistical data. It provides an infrastructure to manage the statistical data, but no concrete statistical data are defined in this chapter.

6.2       OPC UA ObjectTypes

6.2.1        IStatisticsType

6.2.1.1         Overview

The IStatisticsType is an Interface to manage statistical data of any kind, and provides general information about those statistical data.

The concrete statistical data are managed in DataVariables referenced from the Object or ObjectType implementing the Interface with a HasStatisticComponent Reference, either directly or indirectly. Those Variables are not predefined by the Interface, but added by the concrete Objects or ObjectTypes implementing the Interface. In Figure 9, an example is given. The MyStatisticsType is implementing IStatisticsType and provides the statistical Variables StatVar_A and its sub-variable StatVar_A1, as well as StatX and StatY, groups by the Object StatGroup. The Property StartTime applies to all of them, as well as the Method ResetStatistics.

Figure12_

Figure 9 Example of the usage of the IStatisticsType Interface

IStatisticsType is formally defined in Table 35.

Table 35IStatisticsType Definition

Attribute

Value

BrowseName

IStatisticsType

IsAbstract

True

Description

Base interface for managing statistical data.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseInterfaceType defined in OPC 10000-5 i.e. inheriting the InstanceDeclarations of that Node.

0:HasProperty

Variable

StartTime

0:DateTime

0:PropertyType

O

0:HasComponent

Method

ResetStatistics

 

 

O

 

StartTime provides the information, at what point in time all statistical data, provided by the Object implementing the Interface, have been started to be collected. The StartTime changes when the collection of the statistical data is reset.

Note that the StartTime does not indicate, if the statistical data is aggregated from the start time, or rolled over after some specific condition. This is defined by subtypes of the IStatisticsType. Therefore, it is recommended not to use the IStatisticsType directly, but only subtypes of it.

The InstanceDeclarations of the IStatisticsType have the Attribute values defined in Table 36.

Table 36 – IStatisticsType Attribute values for child Nodes

Source Path

Value

Description

StartTime

-

Indicates the point in time at which the collection of the statistical data has been started.

ResetStatistics

-

Restarts all statistical data, including a reset of the StartTime to the current time.

 

6.2.1.2         ResetStatistics Method

The ResetStatistics Method resets all statistical data provided by the Object implementing the Interface. That includes, that the StartTime is reset to the current time.

The signature of this Method is specified below. The Method does not have Input- or OutputArguments.

Signature

ResetStatistics (

);

 

Method Result Codes (defined in Call Service)

Result Code

Description

Bad_UserAccessDenied

See OPC 10000-4 for a general description.

 

Its formal representation in the AddressSpace is defined in Table 37.

Table 37ResetStatistics Method Definition

Attribute

Value

BrowseName

ResetStatistics

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

 

 

 

 

 

 

 

6.2.2        IAggregateStatisticsType

The IAggregateStatisticsType is a subtype of the IStatisticsType Interface. The statistical data managed by Objects or ObjectTypes implementing this Interface is not rolling over, i.e. all data from the start of tracking the statistical data are considered, until the tracking gets reset. It is formally defined in Table 38.

Table 38IAggregateStatisticsType Definition

Attribute

Value

BrowseName

IAggregateStatisticsType

IsAbstract

True

Description

Base interface for managing statistical data that is not rolled over all data from the start of  tracking the statistical data are considered, until the tracking gets reset.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the IStatisticsType defined in 6.2.1, i.e. inheriting the InstanceDeclarations of that Node.

0:HasProperty

Variable

ResetCondition

0:String

0:PropertyType

O

 

ResetCondition describes the reason and context for the reset of the statistics, which is done without a trigger from an OPC UA Client, like calling the ResetStatistics Method. ResetCondition is a vendor-specific, human readable string. ResetCondition is non-localized and might contain an expression that can be parsed by certain clients. Examples are: “AFTER 4 HOURS”, “AFTER 1000 ITEMS”, “OPERATOR”. “OPERATOR” means, that an operator resets the statistics on a local HMI.

The InstanceDeclarations of the IAggregateStatisticsType have the Attribute values defined in Table 39.

Table 39 – IAggregateStatisticsType Attribute values for child Nodes

Source Path

Value

Description

ResetCondition

-

The reason and context for the reset of the statistics, which is done without a trigger from an OPC UA Client, like calling the ResetStatistics Method. ResetCondition is a vendor-specific, human readable string. ResetCondition is non-localized and might contain an expression that can be parsed by certain clients. Examples are: “AFTER 4 HOURS”, “AFTER 1000 ITEMS”, “OPERATOR”. “OPERATOR” means, that an operator resets the statistics on a local HMI.

 

6.2.3        IRollingStatisticsType

The IRollingStatisticsType is a subtype of the IStatisticsType Interface. The statistical data managed by Objects or ObjectTypes implementing this Interface is rolling over, i.e. only a certain amount of data is considered for statistical data. It is formally defined in Table 40.

Table 40IRollingStatisticsType Definition

Attribute

Value

BrowseName

IRollingStatisticsType

IsAbstract

True

Description

Base interface for managing statistical data that is rolled over, i.e. only a certain amount of data is considered for statistical data.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the IStatisticsType defined in 6.2.1, i.e. inheriting the InstanceDeclarations of that Node.

0:HasProperty

Variable

WindowDuration

0:Duration

0:PropertyType

O

0:HasProperty

Variable

WindowNumberOfValues

0:UInt32

0:PropertyType

O

 

WindowDuration describes the duration after the statistical data are rolled over. Only the data that were gathered during that duration are considered for the statistical data, even if the time intervals between the StartTime and the current time is longer.

WindowNumberOfValues describes the maximum number of values before the data gets rolled over. For the statistical data, only the data fitting into the number of values is considered, even if more data were gathered since StartTime.

An Object or ObjectType implementing IRollingStatisticsType shall never provide WindowDuration and WindowNumberOfValues together It shall provide a maximum of one of those Properties.

The InstanceDeclarations of the IRollingStatisticsType have the Attribute values defined in Table 41.

Table 41 – IRollingStatisticsType Attribute values for child Nodes

Source Path

Value

Description

WindowDuration

-

The duration after the statistical data are rolled over. Only the data that were gathered during that duration are considered for the statistical data, even if the time intervals between the StartTime and the current time is longer.

WindowNumberOfValues

-

The number of values before the data gets rolled over. For the statistical data, only the data fitting into the number of values is considered, even if more data were gathered since StartTime.

 

6.3       OPC UA ReferenceTypes

6.3.1        HasStatisticComponent

The HasStatisticComponent is a concrete ReferenceType and can be used directly. It is a subtype of 0:HasComponent.

The semantic of this ReferenceType is to link Variables to an Object or ObjectType managing statistical data, either directly or indirectly.

The SourceNode of References of this type shall be an Object or ObjectType implementing the IStatisticsType Interface, or one of its subtypes.

The TargetNode of this ReferenceType shall be an Object or DataVariable. If an Object is referenced, the Object shall not implement the IStatisticsType Interface, in order to avoid ambiguity on which implementation of IStatisticsType implementation is applied to the statistical data.

The HasStatisticComponent is formally defined in Table 42.

Table 42 – HasStatisticComponent Definition

Attributes

Value

BrowseName

HasStatisticComponent

InverseName

StatisticComponentOf

Symmetric

False

IsAbstract

False

Description

References of this type link Variables managing statistical data either directly or indirectly to an Object or ObjectType implementing the IStatisticsType interface.

References

NodeClass

BrowseName

Comment

Subtype of 0:HasComponent defined in OPC 10000-5

 

7      Profiles and ConformanceUnits

7.1       Conformance Units

This chapter defines the corresponding Conformance Units for the OPC UA Information Model for Industrial Automation (see Table 43).

Table 43 – Conformance Units for Industrial Automation

Category

Title

Description

Server

IA Stacklight

Supports the base functionality defined in the BasicStacklightType.

Server

IA Statistical Data

Supports the base functionality defined in the IStatisticsType.

 

7.2       Profiles

7.2.1        Profile list

Table 44 lists all Profiles defined in this document and defines their URIs.

Table 44 – Profile URIs for Industrial Automation

Profile

URI

IA Stacklight Server Profile

http://opcfoundation.org/UA-Profile/IA/Server/Stacklight

IA Statistical Data Server Profile

http://opcfoundation.org/UA-Profile/IA/Server/StatisticalData

 

7.2.2        Server Facets

7.2.2.1         Overview

The following sections specify the Facets available for Servers that implement the Industrial Automation companion specification.  Each section defines and describes a Facet or Profile.

7.2.2.2         IA Stacklight Server Profile

Table 45 defines a Profile that describes the capability of a Server to provide stacklight information.

Table 45 – IA Stacklight Server Profile

Group

Conformance Unit / Profile Title

Mandatory / Optional

IA

IA Stacklight

M

 

7.2.2.3         IA Statistical Data Server Profile

Table 46 defines a Profile that describes the capability of a Server to provide statistical data.

Table 46 – IA Statistical Data Server Profile

Group

Conformance Unit / Profile Title

Mandatory / Optional

IA

IA Statistical Data

M

 


 

8      Namespaces

8.1       Namespace Metadata

Table 47 defines the namespace metadata for this document. The Object is used to provide version information for the namespace and an indication about static Nodes. Static Nodes are identical for all Attributes in all Servers, including the Value Attribute. See OPC 10000-5 for more details.

The information is provided as Object of type NamespaceMetadataType. This Object is a component of the Namespaces Object that is part of the Server Object. The NamespaceMetadataType ObjectType and its Properties are defined in OPC 10000-5.

The version information is also provided as part of the ModelTableEntry in the UANodeSet XML file. The UANodeSet XML schema is defined in OPC 10000-6.

Table 47 – NamespaceMetadata Object for this Document

Attribute

Value

BrowseName

http://opcfoundation.org/UA/IA/

References

BrowseName

DataType

Value

HasProperty

NamespaceUri

String

http://opcfoundation.org/UA/IA/

HasProperty

NamespaceVersion

String

1.0.0

HasProperty

NamespacePublicationDate

DateTime

2020-08-31

HasProperty

IsNamespaceSubset

Boolean

Vendor-specific

HasProperty

StaticNodeIdTypes

IdType []

NUMERIC

HasProperty

StaticNumericNodeIdRange

NumericRange []

Null

HasProperty

StaticStringNodeIdPattern

String

Null

 

8.2       Handling of OPC UA Namespaces

Namespaces are used by OPC UA to create unique identifiers across different naming authorities. The Attributes NodeId and BrowseName are identifiers. A Node in the UA AddressSpace is unambiguously identified using a NodeId. Unlike NodeIds, the BrowseName cannot be used to unambiguously identify a Node. Different Nodes may have the same BrowseName. They are used to build a browse path between two Nodes or to define a standard Property.

Servers may often choose to use the same namespace for the NodeId and the BrowseName. However, if they want to provide a standard Property, its BrowseName shall have the namespace of the standards body although the namespace of the NodeId reflects something else, for example the EngineeringUnits Property. All NodeIds of Nodes not defined in this document shall not use the standard namespaces.

Table 48 provides a list of mandatory and optional namespaces used in an Industrial Automation OPC UA Server.

Table 48 – Namespaces used in an Industrial Automation Server

NamespaceURI

Description

Use

http://opcfoundation.org/UA/

Namespace for NodeIds and BrowseNames defined in the OPC UA specification. This namespace shall have namespace index 0.

Mandatory

Local Server URI

Namespace for nodes defined in the local server. This namespace shall have namespace index 1.

Mandatory

http://opcfoundation.org/UA/DI/

Namespace for NodeIds and BrowseNames defined in OPC 10000-100. The namespace index is Server specific.

Mandatory

http://opcfoundation.org/UA/IA/

Namespace for NodeIds and BrowseNames defined in this document. The namespace index is Server specific.

Mandatory

Vendor specific types

A Server may provide vendor-specific types like types derived from ObjectTypes defined in this document in a vendor-specific namespace.

Optional

Vendor specific instances

A Server provides vendor-specific instances of the standard types or vendor-specific instances of vendor-specific types in a vendor-specific namespace.

It is recommended to separate vendor specific types and vendor specific instances into two or more namespaces.

Mandatory

 

Table 49 provides a list of namespaces and their index used for BrowseNames in this document. The default namespace of this document is not listed since all BrowseNames without prefix use this default namespace.

Table 49 – Namespaces used in this document

NamespaceURI

Namespace Index

Example

http://opcfoundation.org/UA/

0

0:EngineeringUnits

http://opcfoundation.org/UA/DI/

2

2:DeviceRevision

 

                                                                            Annex A
(normative)

Industrial Automation Namespace and mappings

A.1       Namespace and identifiers for Industrial Automation Information Model

This appendix defines the numeric identifiers for all of the numeric NodeIds defined in this document. The identifiers are specified in a CSV file with the following syntax:

<SymbolName>, <Identifier>, <NodeClass>

Where the SymbolName is either the BrowseName of a Type Node or the BrowsePath for an Instance Node that appears in the specification and the Identifier is the numeric value for the NodeId.

The BrowsePath for an Instance Node is constructed by appending the BrowseName of the instance Node to the BrowseName for the containing instance or type. An underscore character is used to separate each BrowseName in the path. Let’s take for example, the StackElementType ObjectType Node which has the SignalOn Property. The Name for the SignalOn InstanceDeclaration within the StackElementType declaration is: StackElementType_SignalOn.

The NamespaceUri for all NodeIds defined here is http://opcfoundation.org/UA/IA/

The CSV released with this version of the specification can be found here:

http://www.opcfoundation.org/UA/schemas/IA/1.0/NodeIds.csv

NOTE    The latest CSV that is compatible with this version of the specification can be found here:

http://www.opcfoundation.org/UA/schemas/IA/NodeIds.csv

A computer processible version of the complete Information Model defined in this document is also provided. It follows the XML Information Model schema syntax defined in OPC 10000-6.

The Information Model Schema for this version of the document (including any revisions, amendments or errata) can be found here:

http://www.opcfoundation.org/UA/schemas/IA/1.0/Opc.Ua.IA.NodeSet2.xml

NOTE    The latest Information Model schema that is compatible with this version of the document can be found here:

http://www.opcfoundation.org/UA/schemas/IA/Opc.Ua.IA.NodeSet2.xml

_____________