node-opcua-address-space 2.62.1 → 2.62.2
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/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +0 -1
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +23 -5
- package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
- package/package.json +2 -2
- package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +29 -9
|
@@ -50,7 +50,6 @@ export declare class UALimitAlarmImpl extends UAAlarmConditionImpl implements UA
|
|
|
50
50
|
* @return {UALimitAlarm}
|
|
51
51
|
*/
|
|
52
52
|
static instantiate(namespace: NamespacePrivate, limitAlarmTypeId: UAEventType | NodeId | string, options: any, data: any): UALimitAlarmImpl;
|
|
53
|
-
_dataType: any;
|
|
54
53
|
/**
|
|
55
54
|
* @method getHighHighLimit
|
|
56
55
|
* @return {Number}
|
|
@@ -4,9 +4,21 @@ exports.UALimitAlarmImpl = void 0;
|
|
|
4
4
|
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
5
5
|
const node_opcua_data_model_1 = require("node-opcua-data-model");
|
|
6
6
|
const node_opcua_data_value_1 = require("node-opcua-data-value");
|
|
7
|
+
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
7
8
|
const node_opcua_status_code_1 = require("node-opcua-status-code");
|
|
8
9
|
const node_opcua_variant_1 = require("node-opcua-variant");
|
|
9
10
|
const ua_alarm_condition_impl_1 = require("./ua_alarm_condition_impl");
|
|
11
|
+
const warningLog = (0, node_opcua_debug_1.make_warningLog)("AlarmsAndConditions");
|
|
12
|
+
const uaLimitAlarmInputSupportedDataType = [
|
|
13
|
+
node_opcua_variant_1.DataType.Double,
|
|
14
|
+
node_opcua_variant_1.DataType.Float,
|
|
15
|
+
node_opcua_variant_1.DataType.Byte,
|
|
16
|
+
node_opcua_variant_1.DataType.SByte,
|
|
17
|
+
node_opcua_variant_1.DataType.Int16,
|
|
18
|
+
node_opcua_variant_1.DataType.Int32,
|
|
19
|
+
node_opcua_variant_1.DataType.UInt16,
|
|
20
|
+
node_opcua_variant_1.DataType.UInt32
|
|
21
|
+
];
|
|
10
22
|
class UALimitAlarmImpl extends ua_alarm_condition_impl_1.UAAlarmConditionImpl {
|
|
11
23
|
/**
|
|
12
24
|
* @method (static)UALimitAlarm.instantiate
|
|
@@ -72,7 +84,13 @@ class UALimitAlarmImpl extends ua_alarm_condition_impl_1.UAAlarmConditionImpl {
|
|
|
72
84
|
throw new Error("at least one limit is required");
|
|
73
85
|
}
|
|
74
86
|
const dataType = addressSpace.findCorrespondingBasicDataType(options.inputNode.dataType);
|
|
75
|
-
|
|
87
|
+
if (-1 === uaLimitAlarmInputSupportedDataType.indexOf(dataType)) {
|
|
88
|
+
const message = (`UALimitAlarm.instantiate: inputNode must be of type ${uaLimitAlarmInputSupportedDataType
|
|
89
|
+
.map((a) => node_opcua_variant_1.DataType[a])
|
|
90
|
+
.join("|")}, got ${node_opcua_variant_1.DataType[dataType]}`);
|
|
91
|
+
warningLog(message);
|
|
92
|
+
throw (new Error(message));
|
|
93
|
+
}
|
|
76
94
|
if (Object.prototype.hasOwnProperty.call(options, "highHighLimit")) {
|
|
77
95
|
alarmNode.setHighHighLimit(options.highHighLimit);
|
|
78
96
|
}
|
|
@@ -146,7 +164,7 @@ class UALimitAlarmImpl extends ua_alarm_condition_impl_1.UAAlarmConditionImpl {
|
|
|
146
164
|
if (!this.highHighLimit) {
|
|
147
165
|
throw new Error("LimitAlarm instance must expose the optional HighHighLimit property");
|
|
148
166
|
}
|
|
149
|
-
this.highHighLimit.setValueFromSource({ dataType:
|
|
167
|
+
this.highHighLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
|
|
150
168
|
}
|
|
151
169
|
/**
|
|
152
170
|
* @method setHighLimit
|
|
@@ -156,7 +174,7 @@ class UALimitAlarmImpl extends ua_alarm_condition_impl_1.UAAlarmConditionImpl {
|
|
|
156
174
|
if (!this.highLimit) {
|
|
157
175
|
throw new Error("LimitAlarm instance must expose the optional HighLimit property");
|
|
158
176
|
}
|
|
159
|
-
this.highLimit.setValueFromSource({ dataType:
|
|
177
|
+
this.highLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
|
|
160
178
|
}
|
|
161
179
|
/**
|
|
162
180
|
* @method setLowLimit
|
|
@@ -166,7 +184,7 @@ class UALimitAlarmImpl extends ua_alarm_condition_impl_1.UAAlarmConditionImpl {
|
|
|
166
184
|
if (!this.lowLimit) {
|
|
167
185
|
throw new Error("LimitAlarm instance must expose the optional LowLimit property");
|
|
168
186
|
}
|
|
169
|
-
this.lowLimit.setValueFromSource({ dataType:
|
|
187
|
+
this.lowLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
|
|
170
188
|
}
|
|
171
189
|
/**
|
|
172
190
|
* @method setLowLowLimit
|
|
@@ -176,7 +194,7 @@ class UALimitAlarmImpl extends ua_alarm_condition_impl_1.UAAlarmConditionImpl {
|
|
|
176
194
|
if (!this.lowLowLimit) {
|
|
177
195
|
throw new Error("LimitAlarm instance must expose the optional LowLowLimit property");
|
|
178
196
|
}
|
|
179
|
-
this.lowLowLimit.setValueFromSource({ dataType:
|
|
197
|
+
this.lowLowLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
|
|
180
198
|
}
|
|
181
199
|
_onInputDataValueChange(dataValue) {
|
|
182
200
|
(0, node_opcua_assert_1.assert)(dataValue instanceof node_opcua_data_value_1.DataValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ua_limit_alarm_impl.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/ua_limit_alarm_impl.ts"],"names":[],"mappings":";;;AAKA,yDAA2C;AAC3C,iEAAkD;AAClD,iEAAkD;
|
|
1
|
+
{"version":3,"file":"ua_limit_alarm_impl.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/ua_limit_alarm_impl.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-address-space",
|
|
3
|
-
"version": "2.62.
|
|
3
|
+
"version": "2.62.2",
|
|
4
4
|
"description": "pure nodejs OPCUA SDK - module -address-space",
|
|
5
5
|
"main": "./dist/src/index_current.js",
|
|
6
6
|
"types": "./dist/source/index.d.ts",
|
|
@@ -82,5 +82,5 @@
|
|
|
82
82
|
"internet of things"
|
|
83
83
|
],
|
|
84
84
|
"homepage": "http://node-opcua.github.io/",
|
|
85
|
-
"gitHead": "
|
|
85
|
+
"gitHead": "e67402c989760ce85da8782f147c3f6fb1757813"
|
|
86
86
|
}
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @module node-opcua-address-space.AlarmsAndConditions
|
|
4
4
|
*/
|
|
5
|
-
import { UAEventType } from "node-opcua-address-space-base";
|
|
5
|
+
import { UAEventType, UAVariable } from "node-opcua-address-space-base";
|
|
6
6
|
import { assert } from "node-opcua-assert";
|
|
7
7
|
import { NodeClass } from "node-opcua-data-model";
|
|
8
8
|
import { DataValue } from "node-opcua-data-value";
|
|
9
|
+
import { make_warningLog } from "node-opcua-debug";
|
|
9
10
|
import { NodeId } from "node-opcua-nodeid";
|
|
10
11
|
import { UALimitAlarm_Base, UALimitAlarm } from "node-opcua-nodeset-ua";
|
|
11
12
|
import { StatusCodes } from "node-opcua-status-code";
|
|
@@ -16,6 +17,7 @@ import { NamespacePrivate } from "../namespace_private";
|
|
|
16
17
|
import { UAShelvedStateMachineEx } from "../state_machine/ua_shelving_state_machine_ex";
|
|
17
18
|
import { UAAlarmConditionEx, UAAlarmConditionHelper, UAAlarmConditionImpl } from "./ua_alarm_condition_impl";
|
|
18
19
|
|
|
20
|
+
const warningLog = make_warningLog("AlarmsAndConditions");
|
|
19
21
|
export interface UALimitAlarmHelper extends UAAlarmConditionHelper {
|
|
20
22
|
setLowLowLimit(value: number): void;
|
|
21
23
|
setLowLimit(value: number): void;
|
|
@@ -43,6 +45,18 @@ export interface UALimitAlarmEx extends UALimitAlarm_Base, UAAlarmConditionEx, U
|
|
|
43
45
|
export declare interface UALimitAlarmImpl extends UALimitAlarmEx, UAAlarmConditionImpl {
|
|
44
46
|
on(eventName: string, eventHandler: any): this;
|
|
45
47
|
}
|
|
48
|
+
|
|
49
|
+
const uaLimitAlarmInputSupportedDataType: DataType[] = [
|
|
50
|
+
DataType.Double,
|
|
51
|
+
DataType.Float,
|
|
52
|
+
DataType.Byte,
|
|
53
|
+
DataType.SByte,
|
|
54
|
+
DataType.Int16,
|
|
55
|
+
DataType.Int32,
|
|
56
|
+
DataType.UInt16,
|
|
57
|
+
DataType.UInt32
|
|
58
|
+
];
|
|
59
|
+
|
|
46
60
|
export class UALimitAlarmImpl extends UAAlarmConditionImpl implements UALimitAlarmEx {
|
|
47
61
|
/**
|
|
48
62
|
* @method (static)UALimitAlarm.instantiate
|
|
@@ -102,7 +116,7 @@ export class UALimitAlarmImpl extends UAAlarmConditionImpl implements UALimitAla
|
|
|
102
116
|
|
|
103
117
|
assert(alarmNode.conditionOfNode() !== null);
|
|
104
118
|
|
|
105
|
-
const inputNode = addressSpace._coerceNode(options.inputNode);
|
|
119
|
+
const inputNode = addressSpace._coerceNode(options.inputNode) as UAVariable;
|
|
106
120
|
if (!inputNode) {
|
|
107
121
|
throw new Error("Expecting a valid input node");
|
|
108
122
|
}
|
|
@@ -124,7 +138,15 @@ export class UALimitAlarmImpl extends UAAlarmConditionImpl implements UALimitAla
|
|
|
124
138
|
|
|
125
139
|
const dataType = addressSpace.findCorrespondingBasicDataType(options.inputNode.dataType);
|
|
126
140
|
|
|
127
|
-
|
|
141
|
+
if (-1 === uaLimitAlarmInputSupportedDataType.indexOf(dataType)) {
|
|
142
|
+
const message =(
|
|
143
|
+
`UALimitAlarm.instantiate: inputNode must be of type ${uaLimitAlarmInputSupportedDataType
|
|
144
|
+
.map((a) => DataType[a])
|
|
145
|
+
.join("|")}, got ${DataType[dataType]}`
|
|
146
|
+
);
|
|
147
|
+
warningLog(message);
|
|
148
|
+
throw(new Error(message));
|
|
149
|
+
}
|
|
128
150
|
|
|
129
151
|
if (Object.prototype.hasOwnProperty.call(options, "highHighLimit")) {
|
|
130
152
|
alarmNode.setHighHighLimit(options.highHighLimit);
|
|
@@ -155,8 +177,6 @@ export class UALimitAlarmImpl extends UAAlarmConditionImpl implements UALimitAla
|
|
|
155
177
|
return alarmNode;
|
|
156
178
|
}
|
|
157
179
|
|
|
158
|
-
public _dataType: any;
|
|
159
|
-
|
|
160
180
|
/**
|
|
161
181
|
* @method getHighHighLimit
|
|
162
182
|
* @return {Number}
|
|
@@ -209,7 +229,7 @@ export class UALimitAlarmImpl extends UAAlarmConditionImpl implements UALimitAla
|
|
|
209
229
|
if (!this.highHighLimit) {
|
|
210
230
|
throw new Error("LimitAlarm instance must expose the optional HighHighLimit property");
|
|
211
231
|
}
|
|
212
|
-
this.highHighLimit.setValueFromSource({ dataType:
|
|
232
|
+
this.highHighLimit.setValueFromSource({ dataType: DataType.Double, value });
|
|
213
233
|
}
|
|
214
234
|
|
|
215
235
|
/**
|
|
@@ -220,7 +240,7 @@ export class UALimitAlarmImpl extends UAAlarmConditionImpl implements UALimitAla
|
|
|
220
240
|
if (!this.highLimit) {
|
|
221
241
|
throw new Error("LimitAlarm instance must expose the optional HighLimit property");
|
|
222
242
|
}
|
|
223
|
-
this.highLimit.setValueFromSource({ dataType:
|
|
243
|
+
this.highLimit.setValueFromSource({ dataType: DataType.Double, value });
|
|
224
244
|
}
|
|
225
245
|
|
|
226
246
|
/**
|
|
@@ -231,7 +251,7 @@ export class UALimitAlarmImpl extends UAAlarmConditionImpl implements UALimitAla
|
|
|
231
251
|
if (!this.lowLimit) {
|
|
232
252
|
throw new Error("LimitAlarm instance must expose the optional LowLimit property");
|
|
233
253
|
}
|
|
234
|
-
this.lowLimit.setValueFromSource({ dataType:
|
|
254
|
+
this.lowLimit.setValueFromSource({ dataType: DataType.Double, value });
|
|
235
255
|
}
|
|
236
256
|
|
|
237
257
|
/**
|
|
@@ -242,7 +262,7 @@ export class UALimitAlarmImpl extends UAAlarmConditionImpl implements UALimitAla
|
|
|
242
262
|
if (!this.lowLowLimit) {
|
|
243
263
|
throw new Error("LimitAlarm instance must expose the optional LowLowLimit property");
|
|
244
264
|
}
|
|
245
|
-
this.lowLowLimit.setValueFromSource({ dataType:
|
|
265
|
+
this.lowLowLimit.setValueFromSource({ dataType: DataType.Double, value });
|
|
246
266
|
}
|
|
247
267
|
|
|
248
268
|
public _onInputDataValueChange(dataValue: DataValue): void {
|