View Issue Details

IDProjectCategoryView StatusLast Update
0008340CTT UA Scripts1 - Script Issuepublic2024-04-17 12:24
ReporterHock, Christian Assigned ToArchie Miller  
PriorityhighSeveritymajorReproducibilityalways
Status closedResolutionreopened 
Fixed in Version1.04.508 
Summary0008340: Clarification on InputNode requirement in AlarmConditionType
Description

There are existing systems where the alarm manager is decoupled from the OPC UA application.

  • When extending such an existing alarm manager to also send the alarms via OPC UA, the traditional alarm manager may not have the correlation of the alarm to an OPC UA Node.
  • In such cases, it is not possible to provide all mandatory elements of the alarms, as they are assuming the alarm maanger has been developed with the OPC UA requirements in mind.
    • One example is the mandatory InputNode field defined in AlarmConditionType.
    • As such systems cannot get this information at all without rearchitecturing the system, the question is whether this is a hard requirement which prohibits a compliant OPC UA implementation in such products, or whether this is something which only should be there if possible.

As the specification already does prepare A&C clients to handle the case that this field is NULL, we propose to either change the requirement and state that this is not required to provided if the system doesn’t have the information or to create a new profile e.g. called “External Alarm Server Facet” which states “Alarm managers of this profile were existing implementation which have been extended with OPC UA A&C capabilities and therefore may not provide all required fields like e.g. the InputNode”.

For reference the specification currently defines the InputNode as follows, which requries all A&C Clients to be prepared to find this field set to NULL anyhow:

  • The specification currently defines the InputNode with:
    • The InputNode Property provides the NodeId of the Variable the Value of which is used as primary input in the calculation of the Alarm state. If this Variable is not in the AddressSpace, a NULL NodeId shall be provided. In some systems, an Alarm may be calculated based on multiple Variables Values; it is up to the system to determine which Variable’s NodeId is used.
TagsNo tags attached.
Files Affected

/maintree/Alarms and Conditions/A and C Alarm/Test Cases/Test_004.js

Relationships

related to 0008315 closedArchie Miller Compliance Test Tool (CTT) Unified Architecture CTT tool makes a distinction between 'null' and 'empty' OPC UA Variants 

Activities

Paul Hunkar

2022-09-23 04:39

administrator   ~0017820

The alarm system already provides a default value that can be used if the input node is not available, so i see no change needed in that specific use case.

Many alarm systems are generated by underlining system, but to support an OPC UA alarm server, some information has to added to the underlining alarm records and mappings need to be made. OPC Event's have the concept of EventId and ConditionId which have to be mapped into alarm that was generate in the underlining system. The Alarm system defined in OPC UA is the ISA 18.2 / IEC 62682 alarm model and an underlining system couple with the OPC UA A&C server that is collect and sourcing the alarms to OPC UA clients would have to meet the requirements from this standard. This often means adding addition information or functionality to the generated alarm messages.

At this time I see no required changes

Hock, Christian

2022-09-23 06:32

reporter   ~0017821

Last edited: 2022-09-23 12:25

We still don't know how this part of the definition needs to be interpreted: "If this Variable is not in the AddressSpace, a NULL NodeId shall be provided."

In Part 9 - 5.1 General - second Paragraph stands:

  • Instances of Alarm and Condition Types may be optionally exposed in the AddressSpace in order to allow direct access to the state of an Alarm or Condition. Instances not exposed in the AddressSpace still have a ConditionId (NodeId).

Assumption: If Instances of Alarms/Conditions are NOT exposed in the AddressSpace -> the InputNode is not visible in the AddressSpace.

  • Is this the right assumption?

Alexander Allmendinger

2022-09-27 16:25

developer   ~0017856

For reference this has been discussed and decided on a way forward in the UA Working Group today

Paul Hunkar

2022-10-06 02:12

administrator   ~0017955

The specification state when InputNode can be null - it was discussed in the working group and no additional text is needed. If the Alarm Engine is a separate UA server that does not have any knowledge of a DA server (or other non-OPC server) that is the source of the value for the Alarm , then this statement would apply "If this Variable is not in the AddressSpace, a NULL NodeId shall be provided"
The value of the InputNode is not related whether an Alarm instance is exposed in the address space, i.e. just because the Alarm instance is not expose, it does not mean that an InputNode which is exposed can be null.
Objects (or Variables) can have a reference to an HasCondition reference to a type, in this case the Object (or Variable) can generate the given AlarmType, but the instance may not be in the AddressSpace. The InputNode would be filled in since the node is in the AddressSpace (and easily identified).

Jim Luth

2022-10-11 15:32

administrator   ~0017985

Agreed to no change required to Part 9. Compliance test needs to be changed. Moving to CTT.

Paul Hunkar

2022-11-03 15:14

administrator   ~0018092

If the InputNode is null, then a warning should be generate instead of an error. This also results in many tests becoming skips, since the check that an alarm is generate at the correct value can not be automated (many tests will become manual tests)

Archie Miller

2023-11-22 18:26

administrator   ~0020396

Verified that all references to InputNode can be null.

Most of the changes were implemented in handling Mantis 8315.

Paul Hunkar

2024-04-17 12:24

administrator   ~0021129

Reviewed change off-line - agreed to changes by all reviewers - closed issue

Issue History

Date Modified Username Field Change
2022-09-21 12:32 Hock, Christian New Issue
2022-09-23 04:39 Paul Hunkar Assigned To => Paul Hunkar
2022-09-23 04:39 Paul Hunkar Status new => feedback
2022-09-23 04:39 Paul Hunkar Note Added: 0017820
2022-09-23 06:32 Hock, Christian Note Added: 0017821
2022-09-23 06:32 Hock, Christian Status feedback => assigned
2022-09-23 12:25 Hock, Christian Note Edited: 0017821
2022-09-27 16:25 Alexander Allmendinger Note Added: 0017856
2022-10-06 02:12 Paul Hunkar Status assigned => resolved
2022-10-06 02:12 Paul Hunkar Resolution open => no change required
2022-10-06 02:12 Paul Hunkar Note Added: 0017955
2022-10-11 15:32 Jim Luth Note Added: 0017985
2022-10-11 15:32 Jim Luth Assigned To Paul Hunkar =>
2022-10-11 15:32 Jim Luth Assigned To => Jim Luth
2022-10-11 15:32 Jim Luth Status resolved => new
2022-10-11 15:32 Jim Luth Resolution no change required => reopened
2022-10-11 15:33 Jim Luth Project 10000-009: Alarms and Conditions => Compliance Test Tool (CTT) Unified Architecture
2022-10-11 15:33 Jim Luth Category Spec => Api Change
2022-11-03 15:14 Paul Hunkar Note Added: 0018092
2022-11-03 15:14 Paul Hunkar Assigned To Jim Luth => Archie Miller
2022-11-03 15:15 Paul Hunkar Status new => assigned
2023-11-22 18:25 Archie Miller Relationship added related to 0008315
2023-11-22 18:26 Archie Miller Status assigned => resolved
2023-11-22 18:26 Archie Miller Note Added: 0020396
2023-11-22 18:27 Archie Miller Category Api Change => 1 - Script Issue
2023-11-22 18:27 Archie Miller Product Version 1.05 =>
2023-11-22 18:27 Archie Miller Target Version 1.05 =>
2023-11-22 18:27 Archie Miller Files Affected => /maintree/Alarms and Conditions/A and C Alarm/Test Cases/Test_004.js
2024-04-17 12:24 Paul Hunkar Project Compliance Test Tool (CTT) Unified Architecture => CTT UA Scripts
2024-04-17 12:24 Paul Hunkar Status resolved => closed
2024-04-17 12:24 Paul Hunkar Fixed in Version => 1.04.508
2024-04-17 12:24 Paul Hunkar Note Added: 0021129