node-opcua-address-space 2.181.0 → 2.182.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/helpers/ensure_secure_access.ts +53 -2
- package/api/index.ts +30 -1
- package/api/loader/generateAddressSpaceRaw.ts +44 -139
- package/api/loader/load_nodeset2.ts +5 -0
- package/api/loader/narrow_instance_datatypes.ts +264 -0
- package/api/loader/nodeset_builtin_formats.ts +143 -0
- package/api/loader/nodeset_format.ts +153 -0
- package/api/loader/nodeset_image.ts +37 -4
- package/api/loader/nodeset_image_codec.ts +153 -34
- package/api/loader/nodeset_record.ts +26 -2
- package/api/loader/nodeset_record_applier.ts +54 -3
- package/api/loader/nodeset_records_to_xml.ts +620 -0
- package/api/loader/nodeset_source.ts +185 -26
- package/api/loader/nodeset_to_image.ts +16 -5
- package/api/loader/nodeset_xml_header.ts +119 -0
- package/api/loader/nodeset_xml_primitives.ts +209 -0
- package/api/loader/nodeset_xml_producer.ts +61 -2
- package/api/loader/parsers/variant_parser.ts +9 -0
- package/bin/nodeset_equivalence.js +750 -0
- package/bin/nodeset_tool_common.js +72 -0
- package/bin/opcua-nodeset-image.js +93 -103
- package/bin/opcua-nodeset-live.js +139 -0
- package/dist/api/helpers/ensure_secure_access.d.ts +20 -0
- package/dist/api/helpers/ensure_secure_access.js +39 -0
- package/dist/api/helpers/ensure_secure_access.js.map +1 -1
- package/dist/api/index.d.ts +7 -2
- package/dist/api/index.js +21 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/loader/generateAddressSpaceRaw.d.ts +1 -7
- package/dist/api/loader/generateAddressSpaceRaw.js +32 -125
- package/dist/api/loader/generateAddressSpaceRaw.js.map +1 -1
- package/dist/api/loader/load_nodeset2.js +4 -0
- package/dist/api/loader/load_nodeset2.js.map +1 -1
- package/dist/api/loader/narrow_instance_datatypes.d.ts +30 -0
- package/dist/api/loader/narrow_instance_datatypes.js +217 -0
- package/dist/api/loader/narrow_instance_datatypes.js.map +1 -0
- package/dist/api/loader/nodeset_builtin_formats.d.ts +27 -0
- package/dist/api/loader/nodeset_builtin_formats.js +133 -0
- package/dist/api/loader/nodeset_builtin_formats.js.map +1 -0
- package/dist/api/loader/nodeset_format.d.ts +123 -0
- package/dist/api/loader/nodeset_format.js +63 -0
- package/dist/api/loader/nodeset_format.js.map +1 -0
- package/dist/api/loader/nodeset_image.d.ts +17 -1
- package/dist/api/loader/nodeset_image.js +32 -4
- package/dist/api/loader/nodeset_image.js.map +1 -1
- package/dist/api/loader/nodeset_image_codec.d.ts +4 -0
- package/dist/api/loader/nodeset_image_codec.js +142 -53
- package/dist/api/loader/nodeset_image_codec.js.map +1 -1
- package/dist/api/loader/nodeset_record.d.ts +26 -2
- package/dist/api/loader/nodeset_record.js +11 -2
- package/dist/api/loader/nodeset_record.js.map +1 -1
- package/dist/api/loader/nodeset_record_applier.js +52 -3
- package/dist/api/loader/nodeset_record_applier.js.map +1 -1
- package/dist/api/loader/nodeset_records_to_xml.d.ts +16 -0
- package/dist/api/loader/nodeset_records_to_xml.js +536 -0
- package/dist/api/loader/nodeset_records_to_xml.js.map +1 -0
- package/dist/api/loader/nodeset_source.d.ts +68 -7
- package/dist/api/loader/nodeset_source.js +157 -20
- package/dist/api/loader/nodeset_source.js.map +1 -1
- package/dist/api/loader/nodeset_to_image.d.ts +4 -4
- package/dist/api/loader/nodeset_to_image.js +14 -4
- package/dist/api/loader/nodeset_to_image.js.map +1 -1
- package/dist/api/loader/nodeset_xml_header.d.ts +22 -0
- package/dist/api/loader/nodeset_xml_header.js +113 -0
- package/dist/api/loader/nodeset_xml_header.js.map +1 -0
- package/dist/api/loader/nodeset_xml_primitives.d.ts +37 -0
- package/dist/api/loader/nodeset_xml_primitives.js +196 -0
- package/dist/api/loader/nodeset_xml_primitives.js.map +1 -0
- package/dist/api/loader/nodeset_xml_producer.js +56 -1
- package/dist/api/loader/nodeset_xml_producer.js.map +1 -1
- package/dist/api/loader/parsers/variant_parser.js +7 -0
- package/dist/api/loader/parsers/variant_parser.js.map +1 -1
- package/dist/impl/_instantiate_helpers.js +1 -0
- package/dist/impl/_instantiate_helpers.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.js +4 -0
- package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
- package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +14 -0
- package/dist/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
- package/dist/impl/base_node_impl.d.ts +9 -0
- package/dist/impl/base_node_impl.js +11 -0
- package/dist/impl/base_node_impl.js.map +1 -1
- package/dist/impl/base_node_private.js +67 -97
- package/dist/impl/base_node_private.js.map +1 -1
- package/dist/impl/nodeset_tools/construct_namespace_dependency.js +5 -1
- package/dist/impl/nodeset_tools/construct_namespace_dependency.js.map +1 -1
- package/dist/impl/nodeset_tools/nodeset_to_records.js +61 -15
- package/dist/impl/nodeset_tools/nodeset_to_records.js.map +1 -1
- package/dist/impl/nodeset_tools/nodeset_to_xml.d.ts +1 -8
- package/dist/impl/nodeset_tools/nodeset_to_xml.js +174 -190
- package/dist/impl/nodeset_tools/nodeset_to_xml.js.map +1 -1
- package/dist/impl/ua_data_type_impl.d.ts +21 -0
- package/dist/impl/ua_data_type_impl.js +27 -2
- package/dist/impl/ua_data_type_impl.js.map +1 -1
- package/dist/impl/ua_object_type_impl.d.ts +9 -0
- package/dist/impl/ua_object_type_impl.js +12 -1
- package/dist/impl/ua_object_type_impl.js.map +1 -1
- package/dist/impl/ua_variable_impl.js +27 -10
- package/dist/impl/ua_variable_impl.js.map +1 -1
- package/dist/impl/ua_variable_impl_ext_obj.js +19 -2
- package/dist/impl/ua_variable_impl_ext_obj.js.map +1 -1
- package/dist/impl/ua_variable_type_impl.d.ts +8 -1
- package/dist/impl/ua_variable_type_impl.js +39 -2
- package/dist/impl/ua_variable_type_impl.js.map +1 -1
- package/dist/tsconfig_base.tsbuildinfo +1 -1
- package/distNodeJS/generate_address_space.js +4 -0
- package/distNodeJS/generate_address_space.js.map +1 -1
- package/impl/_instantiate_helpers.ts +3 -0
- package/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +4 -4
- package/impl/alarms_and_conditions/ua_alarm_condition_impl.ts +19 -9
- package/impl/alarms_and_conditions/ua_base_event_impl.ts +9 -9
- package/impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +17 -0
- package/impl/alarms_and_conditions/ua_condition_impl.ts +18 -18
- package/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +2 -2
- package/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +1 -1
- package/impl/alarms_and_conditions/ua_limit_alarm_impl.ts +16 -16
- package/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +2 -2
- package/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +4 -4
- package/impl/alarms_and_conditions/ua_off_normal_alarm_impl.ts +1 -1
- package/impl/base_node_impl.ts +15 -0
- package/impl/base_node_private.ts +97 -146
- package/impl/data_access/ua_multistate_discrete_impl.ts +1 -1
- package/impl/data_access/ua_multistate_value_discrete_impl.ts +2 -2
- package/impl/data_access/ua_two_state_discrete_impl.ts +2 -2
- package/impl/nodeset_tools/construct_namespace_dependency.ts +5 -1
- package/impl/nodeset_tools/nodeset_to_records.ts +66 -16
- package/impl/nodeset_tools/nodeset_to_xml.ts +127 -160
- package/impl/state_machine/finite_state_machine.ts +3 -3
- package/impl/state_machine/ua_shelving_state_machine_ex.ts +20 -20
- package/impl/ua_data_type_impl.ts +42 -4
- package/impl/ua_method_impl.ts +1 -1
- package/impl/ua_object_type_impl.ts +16 -3
- package/impl/ua_variable_impl.ts +27 -10
- package/impl/ua_variable_impl_ext_obj.ts +20 -2
- package/impl/ua_variable_type_impl.ts +49 -3
- package/package.json +29 -27
- package/source_nodejs/generate_address_space.ts +7 -1
|
@@ -55,6 +55,10 @@ const nodeset_image_file_store_js_1 = require("./nodeset_image_file_store.js");
|
|
|
55
55
|
// a 200 KB image, and in the thread pool, so that the XML hash runs alongside
|
|
56
56
|
const gunzipAsync = (0, node_util_1.promisify)(node_zlib_1.gunzip);
|
|
57
57
|
(0, index_js_1.setImageInflater)(async (image) => (await gunzipAsync(image)).toString("utf8"));
|
|
58
|
+
// and out through zlib at level 9: CompressionStream has no level to ask for, and an image is
|
|
59
|
+
// written once and read many times, so the extra work at build time is free at load time
|
|
60
|
+
const gzipAsync = (0, node_util_1.promisify)(node_zlib_1.gzip);
|
|
61
|
+
(0, index_js_1.setImageDeflater)(async (text) => new Uint8Array(await gzipAsync(Buffer.from(text, "utf8"), { level: 9 })));
|
|
58
62
|
const _doDebug = (0, node_opcua_debug_1.checkDebugFlag)("generate_address_space");
|
|
59
63
|
const debugLog = (0, node_opcua_debug_1.make_debugLog)("generate_address_space");
|
|
60
64
|
const errorLog = (0, node_opcua_debug_1.make_errorLog)("generate_address_space");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate_address_space.js","sourceRoot":"","sources":["../source_nodejs/generate_address_space.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"generate_address_space.js","sourceRoot":"","sources":["../source_nodejs/generate_address_space.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
CloneHelper,
|
|
7
7
|
reconstructFunctionalGroupType,
|
|
8
8
|
reconstructNonHierarchicalReferences,
|
|
9
|
+
reconstructSharedHierarchicalReferences,
|
|
9
10
|
type UAMethod,
|
|
10
11
|
type UAObject,
|
|
11
12
|
type UAObjectType,
|
|
@@ -153,6 +154,8 @@ export function initialize_properties_and_components<
|
|
|
153
154
|
reconstructFunctionalGroupType(extraInfo);
|
|
154
155
|
|
|
155
156
|
reconstructNonHierarchicalReferences(extraInfo);
|
|
157
|
+
|
|
158
|
+
reconstructSharedHierarchicalReferences(extraInfo);
|
|
156
159
|
}
|
|
157
160
|
|
|
158
161
|
function instantiate_interface_children<B extends UAObject | UAVariable | UAMethod>(
|
|
@@ -46,10 +46,10 @@ export class UAAcknowledgeableConditionImplBase<
|
|
|
46
46
|
* Installed as child nodes by the address space, not assigned here - hence `declare`.
|
|
47
47
|
* The event and condition properties come from the base classes.
|
|
48
48
|
*/
|
|
49
|
-
public
|
|
50
|
-
public
|
|
51
|
-
public
|
|
52
|
-
public
|
|
49
|
+
declare public readonly ackedState: UATwoStateVariableEx;
|
|
50
|
+
declare public readonly confirmedState?: UATwoStateVariableEx;
|
|
51
|
+
declare public readonly acknowledge: UAMethod;
|
|
52
|
+
declare public readonly confirm?: UAMethod;
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
55
|
*/
|
|
@@ -41,15 +41,15 @@ export class UAAlarmConditionImplBase extends UAAcknowledgeableConditionImplBase
|
|
|
41
41
|
* Installed as child nodes by the address space, not assigned here - hence `declare`.
|
|
42
42
|
* enabledState, ackedState and confirmedState come from the base classes.
|
|
43
43
|
*/
|
|
44
|
-
public
|
|
45
|
-
public
|
|
46
|
-
public
|
|
47
|
-
public
|
|
48
|
-
public
|
|
49
|
-
public
|
|
50
|
-
public
|
|
51
|
-
public
|
|
52
|
-
public
|
|
44
|
+
declare public readonly activeState: UATwoStateVariableEx;
|
|
45
|
+
declare public readonly inputNode: UAProperty<NodeId, DataType.NodeId>;
|
|
46
|
+
declare public readonly suppressedOrShelved: UAProperty<boolean, DataType.Boolean>;
|
|
47
|
+
declare public readonly suppressedState?: UATwoStateVariableEx;
|
|
48
|
+
declare public readonly outOfServiceState?: UATwoStateVariableEx;
|
|
49
|
+
declare public readonly shelvingState?: UAShelvedStateMachineEx;
|
|
50
|
+
declare public readonly silenceState?: UATwoStateVariableEx;
|
|
51
|
+
declare public readonly latchedState?: UATwoStateVariableEx;
|
|
52
|
+
declare public readonly maxTimeShelved?: UAProperty<number, DataType.Double>;
|
|
53
53
|
|
|
54
54
|
public static MaxDuration = 2 ** 31;
|
|
55
55
|
|
|
@@ -76,6 +76,16 @@ export class UAAlarmConditionImplBase extends UAAcknowledgeableConditionImplBase
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
options.optionals = options.optionals || [];
|
|
79
|
+
// ActiveState is a TwoStateVariable whose texts and transition times an alarm client
|
|
80
|
+
// expects, as UAConditionImpl requests them for EnabledState. A subtype that re-declares
|
|
81
|
+
// ActiveState with only Id (ExclusiveLimitAlarmType does) would otherwise get only Id.
|
|
82
|
+
options.optionals.push(
|
|
83
|
+
"ActiveState.TrueState",
|
|
84
|
+
"ActiveState.FalseState",
|
|
85
|
+
"ActiveState.TransitionTime",
|
|
86
|
+
"ActiveState.EffectiveTransitionTime",
|
|
87
|
+
"ActiveState.EffectiveDisplayName"
|
|
88
|
+
);
|
|
79
89
|
if (Object.hasOwn(options, "maxTimeShelved")) {
|
|
80
90
|
options.optionals.push("MaxTimeShelved");
|
|
81
91
|
assert(Number.isFinite(options.maxTimeShelved));
|
|
@@ -24,15 +24,15 @@ export class UABaseEventImplBase<T extends UABaseEventEvents & ListenerSignature
|
|
|
24
24
|
* assigned by this constructor - hence `declare`, which emits nothing. Subclasses inherit
|
|
25
25
|
* these, so the condition and alarm implementations get them too.
|
|
26
26
|
*/
|
|
27
|
-
public
|
|
28
|
-
public
|
|
29
|
-
public
|
|
30
|
-
public
|
|
31
|
-
public
|
|
32
|
-
public
|
|
33
|
-
public
|
|
34
|
-
public
|
|
35
|
-
public
|
|
27
|
+
declare public readonly eventId: UAProperty<Buffer, DataType.ByteString>;
|
|
28
|
+
declare public readonly eventType: UAProperty<NodeId, DataType.NodeId>;
|
|
29
|
+
declare public readonly sourceNode: UAProperty<NodeId, DataType.NodeId>;
|
|
30
|
+
declare public readonly sourceName: UAProperty<UAString, DataType.String>;
|
|
31
|
+
declare public readonly time: UAProperty<Date, DataType.DateTime>;
|
|
32
|
+
declare public readonly receiveTime: UAProperty<Date, DataType.DateTime>;
|
|
33
|
+
declare public readonly localTime?: UAProperty<DTTimeZone, DataType.ExtensionObject>;
|
|
34
|
+
declare public readonly message: UAProperty<LocalizedText, DataType.LocalizedText>;
|
|
35
|
+
declare public readonly severity: UAProperty<UInt16, DataType.UInt16>;
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
38
|
*/
|
|
@@ -72,6 +72,23 @@ class UACertificateExpirationAlarmImplBase extends UASystemOffNormalAlarmImpl im
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
public updateAlarmState2(isActive: boolean, severity: number, message: string) {
|
|
75
|
+
// A Condition reports its state *changes* (Part 9 5.5.2). This alarm is re-evaluated on
|
|
76
|
+
// timers - its own every half hour, push certificate management every minute - and a
|
|
77
|
+
// re-evaluation that finds the same verdict must stay silent: it used to raise a new
|
|
78
|
+
// "certificate ... is OK!" event on the Server object at every check, an unsolicited
|
|
79
|
+
// event every minute on any server with push certificate management installed (FEAT-24:
|
|
80
|
+
// CTT Subscription Minimum 02 020 subscribes to the Server events and expects none while
|
|
81
|
+
// it only writes to plain variables).
|
|
82
|
+
const branch = this.currentBranch();
|
|
83
|
+
if (
|
|
84
|
+
branch &&
|
|
85
|
+
branch.getActiveState() === isActive &&
|
|
86
|
+
branch.getSeverity() === severity &&
|
|
87
|
+
(branch.getMessage()?.text || "") === message
|
|
88
|
+
) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
|
|
75
92
|
isActive ? this.activateAlarm() : this.deactivateAlarm();
|
|
76
93
|
|
|
77
94
|
this.raiseNewCondition({
|
|
@@ -85,24 +85,24 @@ export class UAConditionImplBase<T extends UAConditionEvents & ListenerSignature
|
|
|
85
85
|
* The condition's own child nodes, on top of the ones UABaseEventImplBase declares.
|
|
86
86
|
* Installed by the address space, not by this constructor - hence `declare`.
|
|
87
87
|
*/
|
|
88
|
-
public
|
|
89
|
-
public
|
|
90
|
-
public
|
|
91
|
-
public
|
|
92
|
-
public
|
|
93
|
-
public
|
|
94
|
-
public
|
|
95
|
-
public
|
|
96
|
-
public
|
|
97
|
-
public
|
|
98
|
-
public
|
|
99
|
-
public
|
|
100
|
-
public
|
|
101
|
-
public
|
|
102
|
-
public
|
|
103
|
-
public
|
|
104
|
-
public
|
|
105
|
-
public
|
|
88
|
+
declare public readonly conditionClassId: UAProperty<NodeId, DataType.NodeId>;
|
|
89
|
+
declare public readonly conditionClassName: UAProperty<LocalizedText, DataType.LocalizedText>;
|
|
90
|
+
declare public readonly conditionSubClassId?: UAProperty<NodeId[], DataType.NodeId>;
|
|
91
|
+
declare public readonly conditionSubClassName?: UAProperty<LocalizedText[], DataType.LocalizedText>;
|
|
92
|
+
declare public readonly conditionName: UAProperty<UAString, DataType.String>;
|
|
93
|
+
declare public readonly branchId: UAProperty<NodeId, DataType.NodeId>;
|
|
94
|
+
declare public readonly retain: UAProperty<boolean, DataType.Boolean>;
|
|
95
|
+
declare public readonly supportsFilteredRetain: UAProperty<boolean, DataType.Boolean>;
|
|
96
|
+
declare public readonly enabledState: UATwoStateVariableEx;
|
|
97
|
+
declare public readonly quality: UAConditionVariable<StatusCode, DataType.StatusCode>;
|
|
98
|
+
declare public readonly lastSeverity: UAConditionVariable<UInt16, DataType.UInt16>;
|
|
99
|
+
declare public readonly comment: UAConditionVariable<LocalizedText, DataType.LocalizedText>;
|
|
100
|
+
declare public readonly clientUserId: UAProperty<UAString, DataType.String>;
|
|
101
|
+
declare public readonly disable: UAMethod;
|
|
102
|
+
declare public readonly enable: UAMethod;
|
|
103
|
+
declare public readonly addComment: UAMethod;
|
|
104
|
+
declare public readonly conditionRefresh: UAMethod;
|
|
105
|
+
declare public readonly conditionRefresh2: UAMethod;
|
|
106
106
|
|
|
107
107
|
public static defaultSeverity = 250;
|
|
108
108
|
public static typeDefinition = resolveNodeId("ConditionType");
|
|
@@ -28,8 +28,8 @@ import { UALimitAlarmImpl } from "./ua_limit_alarm_impl.js";
|
|
|
28
28
|
/** @internal */
|
|
29
29
|
export class UAExclusiveDeviationAlarmImplBase extends UAExclusiveLimitAlarmImplBase implements UAExclusiveDeviationAlarmEx {
|
|
30
30
|
/** installed as child nodes by the address space, not assigned here - hence `declare` */
|
|
31
|
-
public
|
|
32
|
-
public
|
|
31
|
+
declare public readonly setpointNode: UAVariableT<NodeId, DataType.NodeId>;
|
|
32
|
+
declare public readonly setpointNodeNode?: UAVariableT<number, DataType.Double> | UAVariableT<number, DataType.Float>;
|
|
33
33
|
|
|
34
34
|
public static instantiate(
|
|
35
35
|
namespace: NamespacePrivate,
|
|
@@ -14,7 +14,7 @@ const validState = ["HighHigh", "High", "Low", "LowLow", null];
|
|
|
14
14
|
/** @internal */
|
|
15
15
|
export class UAExclusiveLimitAlarmImplBase extends UALimitAlarmImpl implements UAExclusiveLimitAlarmEx {
|
|
16
16
|
/** installed as a child node by the address space, not assigned here - hence `declare` */
|
|
17
|
-
public
|
|
17
|
+
declare public readonly limitState: UAExclusiveLimitStateMachineEx;
|
|
18
18
|
|
|
19
19
|
/***
|
|
20
20
|
*
|
|
@@ -31,22 +31,22 @@ export class UALimitAlarmImplBase extends UAAlarmConditionImplBase implements UA
|
|
|
31
31
|
* The limits, all optional: which ones exist depends on the alarm type instantiated.
|
|
32
32
|
* Installed as child nodes by the address space, not assigned here - hence `declare`.
|
|
33
33
|
*/
|
|
34
|
-
public
|
|
35
|
-
public
|
|
36
|
-
public
|
|
37
|
-
public
|
|
38
|
-
public
|
|
39
|
-
public
|
|
40
|
-
public
|
|
41
|
-
public
|
|
42
|
-
public
|
|
43
|
-
public
|
|
44
|
-
public
|
|
45
|
-
public
|
|
46
|
-
public
|
|
47
|
-
public
|
|
48
|
-
public
|
|
49
|
-
public
|
|
34
|
+
declare public readonly highHighLimit?: UAProperty<number, DataType.Double>;
|
|
35
|
+
declare public readonly highLimit?: UAProperty<number, DataType.Double>;
|
|
36
|
+
declare public readonly lowLimit?: UAProperty<number, DataType.Double>;
|
|
37
|
+
declare public readonly lowLowLimit?: UAProperty<number, DataType.Double>;
|
|
38
|
+
declare public readonly baseHighHighLimit?: UAProperty<number, DataType.Double>;
|
|
39
|
+
declare public readonly baseHighLimit?: UAProperty<number, DataType.Double>;
|
|
40
|
+
declare public readonly baseLowLimit?: UAProperty<number, DataType.Double>;
|
|
41
|
+
declare public readonly baseLowLowLimit?: UAProperty<number, DataType.Double>;
|
|
42
|
+
declare public readonly severityHighHigh?: UAProperty<UInt16, DataType.UInt16>;
|
|
43
|
+
declare public readonly severityHigh?: UAProperty<UInt16, DataType.UInt16>;
|
|
44
|
+
declare public readonly severityLow?: UAProperty<UInt16, DataType.UInt16>;
|
|
45
|
+
declare public readonly severityLowLow?: UAProperty<UInt16, DataType.UInt16>;
|
|
46
|
+
declare public readonly highHighDeadband?: UAProperty<number, DataType.Double>;
|
|
47
|
+
declare public readonly highDeadband?: UAProperty<number, DataType.Double>;
|
|
48
|
+
declare public readonly lowDeadband?: UAProperty<number, DataType.Double>;
|
|
49
|
+
declare public readonly lowLowDeadband?: UAProperty<number, DataType.Double>;
|
|
50
50
|
|
|
51
51
|
public static instantiate(
|
|
52
52
|
namespace: NamespacePrivate,
|
|
@@ -26,9 +26,9 @@ export class UANonExclusiveDeviationAlarmImplBase
|
|
|
26
26
|
implements UANonExclusiveDeviationAlarmEx
|
|
27
27
|
{
|
|
28
28
|
/** installed as child nodes by the address space, not assigned here - hence `declare` */
|
|
29
|
-
public
|
|
29
|
+
declare public readonly setpointNode: UAVariableT<NodeId, DataType.NodeId>;
|
|
30
30
|
// required here, though SetPointSupport declares it optional
|
|
31
|
-
public
|
|
31
|
+
declare public readonly setpointNodeNode: UAVariableT<number, DataType.Double> | UAVariableT<number, DataType.Float>;
|
|
32
32
|
|
|
33
33
|
public static instantiate(
|
|
34
34
|
namespace: NamespacePrivate,
|
|
@@ -30,10 +30,10 @@ export class UANonExclusiveLimitAlarmImplBase extends UALimitAlarmImpl implement
|
|
|
30
30
|
* The four limit states, all optional: which ones exist depends on the limits configured.
|
|
31
31
|
* Installed as child nodes by the address space, not assigned here - hence `declare`.
|
|
32
32
|
*/
|
|
33
|
-
public
|
|
34
|
-
public
|
|
35
|
-
public
|
|
36
|
-
public
|
|
33
|
+
declare public readonly highHighState?: UATwoStateVariableEx;
|
|
34
|
+
declare public readonly highState?: UATwoStateVariableEx;
|
|
35
|
+
declare public readonly lowState?: UATwoStateVariableEx;
|
|
36
|
+
declare public readonly lowLowState?: UATwoStateVariableEx;
|
|
37
37
|
|
|
38
38
|
public static instantiate(
|
|
39
39
|
namespace: NamespacePrivate,
|
|
@@ -47,7 +47,7 @@ export declare interface UAOffNormalAlarmEx
|
|
|
47
47
|
*/
|
|
48
48
|
export class UAOffNormalAlarmImplBase extends UADiscreteAlarmImplBase implements UAOffNormalAlarmEx {
|
|
49
49
|
/** installed as a child node by the address space, not assigned here - hence `declare` */
|
|
50
|
-
public
|
|
50
|
+
declare public readonly normalState: UAProperty<NodeId, DataType.NodeId>;
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
53
|
* When the value of inputNode doesn't match the normalState node value, then the alarm is raised.
|
package/impl/base_node_impl.ts
CHANGED
|
@@ -176,6 +176,10 @@ export interface InternalBaseNodeOptions {
|
|
|
176
176
|
*/
|
|
177
177
|
accessRestrictions?: AccessRestrictionsFlag;
|
|
178
178
|
rolePermissions?: RolePermissionTypeOptions[];
|
|
179
|
+
/** "Draft" or "Deprecated" as the nodeset declared it; see BaseNode.releaseStatus */
|
|
180
|
+
releaseStatus?: "Draft" | "Deprecated";
|
|
181
|
+
/** the AccessRestrictions as declared, whatever this loader applies; see BaseNode */
|
|
182
|
+
declaredAccessRestrictions?: string;
|
|
179
183
|
}
|
|
180
184
|
|
|
181
185
|
function _is_valid_BrowseDirection(browseDirection: BrowseDirection) {
|
|
@@ -216,6 +220,11 @@ export abstract class BaseNodeImpl<T extends BaseNodeEvents & ListenerSignature<
|
|
|
216
220
|
return makeAttributeEventName(attributeId);
|
|
217
221
|
}
|
|
218
222
|
|
|
223
|
+
/** see BaseNode.releaseStatus; only set when the nodeset declared one, so that it costs
|
|
224
|
+
* nothing on the overwhelming majority of nodes, which are Released */
|
|
225
|
+
public releaseStatus?: "Draft" | "Deprecated";
|
|
226
|
+
/** see BaseNode.declaredAccessRestrictions */
|
|
227
|
+
public declaredAccessRestrictions?: string;
|
|
219
228
|
private _accessRestrictions?: AccessRestrictionsFlag;
|
|
220
229
|
private _rolePermissions?: RolePermissionType[];
|
|
221
230
|
|
|
@@ -431,6 +440,12 @@ export abstract class BaseNodeImpl<T extends BaseNodeEvents & ListenerSignature<
|
|
|
431
440
|
|
|
432
441
|
this._accessRestrictions = options.accessRestrictions;
|
|
433
442
|
this._rolePermissions = coerceRolePermissions(options.rolePermissions);
|
|
443
|
+
if (options.releaseStatus) {
|
|
444
|
+
this.releaseStatus = options.releaseStatus;
|
|
445
|
+
}
|
|
446
|
+
if (options.declaredAccessRestrictions !== undefined) {
|
|
447
|
+
this.declaredAccessRestrictions = options.declaredAccessRestrictions;
|
|
448
|
+
}
|
|
434
449
|
|
|
435
450
|
// make `parent.<thisName>` resolve to this node: through a getter shared by every node when
|
|
436
451
|
// a nodeset is loading (defined in one batch by the loader, see flushSharedChildAccessors),
|