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.
@@ -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
- alarmNode._dataType = dataType;
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: this._dataType, value });
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: this._dataType, value });
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: this._dataType, value });
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: this._dataType, value });
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":"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"}
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.1",
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": "2c2e9bd471f14c303fc617415f39a8b7c82ad55a"
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
- alarmNode._dataType = dataType;
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: this._dataType, value });
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: this._dataType, value });
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: this._dataType, value });
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: this._dataType, value });
265
+ this.lowLowLimit.setValueFromSource({ dataType: DataType.Double, value });
246
266
  }
247
267
 
248
268
  public _onInputDataValueChange(dataValue: DataValue): void {