node-opcua-server 2.93.0 → 2.95.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/dist/monitored_item.js +23 -18
- package/dist/monitored_item.js.map +1 -1
- package/package.json +31 -31
- package/source/monitored_item.ts +46 -37
package/dist/monitored_item.js
CHANGED
|
@@ -40,6 +40,7 @@ const defaultItemToMonitor = new node_opcua_service_read_1.ReadValueId({
|
|
|
40
40
|
});
|
|
41
41
|
const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
|
|
42
42
|
const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
|
|
43
|
+
const doDebug2 = doDebug && false;
|
|
43
44
|
const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
|
|
44
45
|
function _adjust_sampling_interval(samplingInterval, node_minimumSamplingInterval) {
|
|
45
46
|
(0, node_opcua_assert_1.assert)(typeof node_minimumSamplingInterval === "number", "expecting a number");
|
|
@@ -192,13 +193,15 @@ function apply_dataChange_filter(newDataValue, oldDataValue) {
|
|
|
192
193
|
}
|
|
193
194
|
}
|
|
194
195
|
}
|
|
196
|
+
const s = (a) => JSON.stringify(a, null, " ");
|
|
195
197
|
function safeGuardRegiter(monitoredItem) {
|
|
196
|
-
|
|
198
|
+
var _a, _b;
|
|
199
|
+
monitoredItem.oldDataValue._$monitoredItem = (_b = (_a = monitoredItem.node) === null || _a === void 0 ? void 0 : _a.nodeId) === null || _b === void 0 ? void 0 : _b.toString();
|
|
200
|
+
monitoredItem._$safeGuard = s(monitoredItem.oldDataValue);
|
|
197
201
|
}
|
|
198
202
|
function safeGuardVerify(monitoredItem) {
|
|
199
|
-
var _a;
|
|
200
203
|
if (monitoredItem._$safeGuard) {
|
|
201
|
-
const verif = (
|
|
204
|
+
const verif = s(monitoredItem.oldDataValue || "");
|
|
202
205
|
if (verif !== monitoredItem._$safeGuard) {
|
|
203
206
|
console.log(verif, monitoredItem._$safeGuard);
|
|
204
207
|
throw new Error("Internal error: DataValue has been altereed !!!");
|
|
@@ -209,7 +212,7 @@ function apply_filter(newDataValue) {
|
|
|
209
212
|
if (!this.oldDataValue) {
|
|
210
213
|
return true; // keep
|
|
211
214
|
}
|
|
212
|
-
// istanbul ignore next
|
|
215
|
+
// istanbul ignore next
|
|
213
216
|
doDebug && safeGuardVerify(this);
|
|
214
217
|
if (this.filter instanceof node_opcua_service_subscription_2.DataChangeFilter) {
|
|
215
218
|
return apply_dataChange_filter.call(this, newDataValue, this.oldDataValue);
|
|
@@ -398,7 +401,7 @@ class MonitoredItem extends events_1.EventEmitter {
|
|
|
398
401
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
399
402
|
if (!this.itemToMonitor) {
|
|
400
403
|
// we must have a valid itemToMonitor(have this monitoredItem been disposed already ?)
|
|
401
|
-
// istanbul ignore next
|
|
404
|
+
// istanbul ignore next
|
|
402
405
|
doDebug && debugLog("recordValue => Rejected", (_a = this.node) === null || _a === void 0 ? void 0 : _a.browseName.toString(), " because no itemToMonitor");
|
|
403
406
|
return false;
|
|
404
407
|
}
|
|
@@ -415,7 +418,7 @@ class MonitoredItem extends events_1.EventEmitter {
|
|
|
415
418
|
// we just ignore changes that do not fall within our range
|
|
416
419
|
// ( unless semantic bit has changed )
|
|
417
420
|
if (!node_opcua_numeric_range_1.NumericRange.overlap(indexRange, this.itemToMonitor.indexRange)) {
|
|
418
|
-
// istanbul ignore next
|
|
421
|
+
// istanbul ignore next
|
|
419
422
|
doDebug && debugLog("recordValue => Rejected", (_b = this.node) === null || _b === void 0 ? void 0 : _b.browseName.toString(), " because no range not overlap");
|
|
420
423
|
return false; // no overlap !
|
|
421
424
|
}
|
|
@@ -423,7 +426,7 @@ class MonitoredItem extends events_1.EventEmitter {
|
|
|
423
426
|
// extract the range that we are interested with
|
|
424
427
|
dataValue = (0, node_opcua_data_value_1.extractRange)(dataValue, this.itemToMonitor.indexRange);
|
|
425
428
|
// istanbul ignore next
|
|
426
|
-
if (
|
|
429
|
+
if (doDebug2) {
|
|
427
430
|
debugLog("MonitoredItem#recordValue", this.node.nodeId.toString(), this.node.browseName.toString(), " has Changed = ", !(0, node_opcua_data_value_1.sameDataValue)(dataValue, this.oldDataValue), "skipChangeTest = ", skipChangeTest, "hasSemanticChanged = ", hasSemanticChanged);
|
|
428
431
|
}
|
|
429
432
|
// if semantic has changed, value need to be enqueued regardless of other assumptions
|
|
@@ -432,7 +435,7 @@ class MonitoredItem extends events_1.EventEmitter {
|
|
|
432
435
|
setSemanticChangeBit(dataValue);
|
|
433
436
|
this._semantic_version = this.node.semantic_version;
|
|
434
437
|
this._enqueue_value(dataValue);
|
|
435
|
-
// istanbul ignore next
|
|
438
|
+
// istanbul ignore next
|
|
436
439
|
doDebug && debugLog("recordValue => OK ", (_c = this.node) === null || _c === void 0 ? void 0 : _c.browseName.toString(), " because hasSemanticChanged");
|
|
437
440
|
return true;
|
|
438
441
|
}
|
|
@@ -440,13 +443,14 @@ class MonitoredItem extends events_1.EventEmitter {
|
|
|
440
443
|
if (!skipChangeTest) {
|
|
441
444
|
const hasChanged = !(0, node_opcua_data_value_1.sameDataValue)(dataValue, this.oldDataValue);
|
|
442
445
|
if (!hasChanged) {
|
|
443
|
-
// istanbul ignore next
|
|
444
|
-
|
|
446
|
+
// istanbul ignore next
|
|
447
|
+
doDebug2 &&
|
|
448
|
+
debugLog("recordValue => Rejected ", (_d = this.node) === null || _d === void 0 ? void 0 : _d.browseName.toString(), " because !skipChangeTest && sameDataValue");
|
|
445
449
|
return false;
|
|
446
450
|
}
|
|
447
451
|
}
|
|
448
452
|
if (!apply_filter.call(this, dataValue)) {
|
|
449
|
-
// istanbul ignore next
|
|
453
|
+
// istanbul ignore next
|
|
450
454
|
if (doDebug) {
|
|
451
455
|
debugLog("recordValue => Rejected ", (_e = this.node) === null || _e === void 0 ? void 0 : _e.browseName.toString(), " because apply_filter");
|
|
452
456
|
debugLog("current Value =>", (_f = this.oldDataValue) === null || _f === void 0 ? void 0 : _f.toString());
|
|
@@ -465,8 +469,9 @@ class MonitoredItem extends events_1.EventEmitter {
|
|
|
465
469
|
debugLog("indexRange=", indexRange);
|
|
466
470
|
}
|
|
467
471
|
if ((0, node_opcua_variant_1.sameVariant)(dataValue.value, this.oldDataValue.value)) {
|
|
468
|
-
// istanbul ignore next
|
|
469
|
-
doDebug &&
|
|
472
|
+
// istanbul ignore next
|
|
473
|
+
doDebug &&
|
|
474
|
+
debugLog("recordValue => Rejected ", (_h = this.node) === null || _h === void 0 ? void 0 : _h.browseName.toString(), " because useIndexRange && sameVariant");
|
|
470
475
|
return false;
|
|
471
476
|
}
|
|
472
477
|
}
|
|
@@ -474,7 +479,7 @@ class MonitoredItem extends events_1.EventEmitter {
|
|
|
474
479
|
this.triggerLinkedItems();
|
|
475
480
|
// store last value
|
|
476
481
|
this._enqueue_value(dataValue);
|
|
477
|
-
// istanbul ignore next
|
|
482
|
+
// istanbul ignore next
|
|
478
483
|
doDebug && debugLog("recordValue => OK ", (_j = this.node) === null || _j === void 0 ? void 0 : _j.browseName.toString());
|
|
479
484
|
return true;
|
|
480
485
|
}
|
|
@@ -629,7 +634,7 @@ class MonitoredItem extends events_1.EventEmitter {
|
|
|
629
634
|
return;
|
|
630
635
|
}
|
|
631
636
|
// istanbul ignore next
|
|
632
|
-
if (
|
|
637
|
+
if (doDebug2) {
|
|
633
638
|
debugLog("MonitoredItem#_on_sampling_timer", this.node ? this.node.nodeId.toString() : "null", " isSampling?=", this._is_sampling);
|
|
634
639
|
}
|
|
635
640
|
if (this._samplingId) {
|
|
@@ -768,7 +773,7 @@ class MonitoredItem extends events_1.EventEmitter {
|
|
|
768
773
|
}
|
|
769
774
|
__acquireInitialValue(sessionContext, callback) {
|
|
770
775
|
var _a;
|
|
771
|
-
// aquire initial value from the variable/object not itself or from the last known value if we have
|
|
776
|
+
// aquire initial value from the variable/object not itself or from the last known value if we have
|
|
772
777
|
// one already
|
|
773
778
|
(0, node_opcua_assert_1.assert)(this.itemToMonitor.attributeId === node_opcua_data_model_2.AttributeIds.Value);
|
|
774
779
|
(0, node_opcua_assert_1.assert)(this.node);
|
|
@@ -1001,12 +1006,12 @@ class MonitoredItem extends events_1.EventEmitter {
|
|
|
1001
1006
|
debugLog("MonitoredItem#_enqueue_value", this.node.nodeId.toString());
|
|
1002
1007
|
safeGuardVerify(this);
|
|
1003
1008
|
}
|
|
1004
|
-
this.oldDataValue = dataValue;
|
|
1009
|
+
this.oldDataValue = dataValue.clone();
|
|
1005
1010
|
// istanbul ignore next
|
|
1006
1011
|
if (doDebug) {
|
|
1007
1012
|
safeGuardRegiter(this);
|
|
1008
1013
|
}
|
|
1009
|
-
const notification = this._makeDataChangeNotification(
|
|
1014
|
+
const notification = this._makeDataChangeNotification(this.oldDataValue);
|
|
1010
1015
|
this._enqueue_notification(notification);
|
|
1011
1016
|
}
|
|
1012
1017
|
_makeEventFieldList(eventFields) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitored_item.js","sourceRoot":"","sources":["../source/monitored_item.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"monitored_item.js","sourceRoot":"","sources":["../source/monitored_item.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-server",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.95.0",
|
|
4
4
|
"description": "pure nodejs OPCUA SDK - module -server",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsc -b",
|
|
@@ -17,52 +17,52 @@
|
|
|
17
17
|
"chalk": "4.1.2",
|
|
18
18
|
"dequeue": "^1.0.5",
|
|
19
19
|
"lodash": "4.17.21",
|
|
20
|
-
"node-opcua-address-space": "2.
|
|
21
|
-
"node-opcua-address-space-base": "2.
|
|
20
|
+
"node-opcua-address-space": "2.95.0",
|
|
21
|
+
"node-opcua-address-space-base": "2.95.0",
|
|
22
22
|
"node-opcua-assert": "2.88.0",
|
|
23
23
|
"node-opcua-basic-types": "2.92.0",
|
|
24
24
|
"node-opcua-binary-stream": "2.90.1",
|
|
25
25
|
"node-opcua-certificate-manager": "2.92.0",
|
|
26
|
-
"node-opcua-client": "2.
|
|
27
|
-
"node-opcua-client-dynamic-extension-object": "2.
|
|
28
|
-
"node-opcua-common": "2.
|
|
26
|
+
"node-opcua-client": "2.95.0",
|
|
27
|
+
"node-opcua-client-dynamic-extension-object": "2.95.0",
|
|
28
|
+
"node-opcua-common": "2.95.0",
|
|
29
29
|
"node-opcua-constants": "2.88.0",
|
|
30
30
|
"node-opcua-crypto": "^2.1.2",
|
|
31
|
-
"node-opcua-data-model": "2.
|
|
32
|
-
"node-opcua-data-value": "2.
|
|
31
|
+
"node-opcua-data-model": "2.95.0",
|
|
32
|
+
"node-opcua-data-value": "2.95.0",
|
|
33
33
|
"node-opcua-date-time": "2.90.1",
|
|
34
34
|
"node-opcua-debug": "2.90.1",
|
|
35
|
-
"node-opcua-extension-object": "2.
|
|
36
|
-
"node-opcua-factory": "2.
|
|
35
|
+
"node-opcua-extension-object": "2.95.0",
|
|
36
|
+
"node-opcua-factory": "2.95.0",
|
|
37
37
|
"node-opcua-hostname": "2.88.0",
|
|
38
38
|
"node-opcua-nodeid": "2.90.1",
|
|
39
39
|
"node-opcua-nodesets": "2.88.0",
|
|
40
|
-
"node-opcua-numeric-range": "2.
|
|
40
|
+
"node-opcua-numeric-range": "2.95.0",
|
|
41
41
|
"node-opcua-object-registry": "2.90.1",
|
|
42
|
-
"node-opcua-secure-channel": "2.
|
|
43
|
-
"node-opcua-service-browse": "2.
|
|
44
|
-
"node-opcua-service-call": "2.
|
|
45
|
-
"node-opcua-service-discovery": "2.
|
|
46
|
-
"node-opcua-service-endpoints": "2.
|
|
47
|
-
"node-opcua-service-filter": "2.
|
|
48
|
-
"node-opcua-service-history": "2.
|
|
49
|
-
"node-opcua-service-node-management": "2.
|
|
50
|
-
"node-opcua-service-query": "2.
|
|
51
|
-
"node-opcua-service-read": "2.
|
|
52
|
-
"node-opcua-service-register-node": "2.
|
|
53
|
-
"node-opcua-service-secure-channel": "2.
|
|
54
|
-
"node-opcua-service-session": "2.
|
|
55
|
-
"node-opcua-service-subscription": "2.
|
|
56
|
-
"node-opcua-service-translate-browse-path": "2.
|
|
57
|
-
"node-opcua-service-write": "2.
|
|
42
|
+
"node-opcua-secure-channel": "2.95.0",
|
|
43
|
+
"node-opcua-service-browse": "2.95.0",
|
|
44
|
+
"node-opcua-service-call": "2.95.0",
|
|
45
|
+
"node-opcua-service-discovery": "2.95.0",
|
|
46
|
+
"node-opcua-service-endpoints": "2.95.0",
|
|
47
|
+
"node-opcua-service-filter": "2.95.0",
|
|
48
|
+
"node-opcua-service-history": "2.95.0",
|
|
49
|
+
"node-opcua-service-node-management": "2.95.0",
|
|
50
|
+
"node-opcua-service-query": "2.95.0",
|
|
51
|
+
"node-opcua-service-read": "2.95.0",
|
|
52
|
+
"node-opcua-service-register-node": "2.95.0",
|
|
53
|
+
"node-opcua-service-secure-channel": "2.95.0",
|
|
54
|
+
"node-opcua-service-session": "2.95.0",
|
|
55
|
+
"node-opcua-service-subscription": "2.95.0",
|
|
56
|
+
"node-opcua-service-translate-browse-path": "2.95.0",
|
|
57
|
+
"node-opcua-service-write": "2.95.0",
|
|
58
58
|
"node-opcua-status-code": "2.90.1",
|
|
59
|
-
"node-opcua-types": "2.
|
|
59
|
+
"node-opcua-types": "2.95.0",
|
|
60
60
|
"node-opcua-utils": "2.90.1",
|
|
61
|
-
"node-opcua-variant": "2.
|
|
61
|
+
"node-opcua-variant": "2.95.0",
|
|
62
62
|
"thenify": "^3.3.1"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"node-opcua-data-access": "2.
|
|
65
|
+
"node-opcua-data-access": "2.95.0",
|
|
66
66
|
"node-opcua-leak-detector": "2.90.1",
|
|
67
67
|
"node-opcua-pki": "^3.0.2",
|
|
68
68
|
"node-opcua-test-helpers": "2.88.0",
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
"internet of things"
|
|
86
86
|
],
|
|
87
87
|
"homepage": "http://node-opcua.github.io/",
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "ad7086f9c4cd2ab52922e26cb6782ec6b86f9d20"
|
|
89
89
|
}
|
package/source/monitored_item.ts
CHANGED
|
@@ -66,6 +66,7 @@ const defaultItemToMonitor: ReadValueIdOptions = new ReadValueId({
|
|
|
66
66
|
|
|
67
67
|
const debugLog = make_debugLog(__filename);
|
|
68
68
|
const doDebug = checkDebugFlag(__filename);
|
|
69
|
+
const doDebug2 = doDebug && false;
|
|
69
70
|
const warningLog = make_warningLog(__filename);
|
|
70
71
|
|
|
71
72
|
function _adjust_sampling_interval(samplingInterval: number, node_minimumSamplingInterval: number): number {
|
|
@@ -250,12 +251,16 @@ function apply_dataChange_filter(this: MonitoredItem, newDataValue: DataValue, o
|
|
|
250
251
|
}
|
|
251
252
|
}
|
|
252
253
|
|
|
253
|
-
|
|
254
|
-
|
|
254
|
+
const s = (a: any) => JSON.stringify(a, null, " ");
|
|
255
|
+
|
|
256
|
+
function safeGuardRegiter(monitoredItem: MonitoredItem) {
|
|
257
|
+
|
|
258
|
+
(monitoredItem.oldDataValue as any)._$monitoredItem = monitoredItem.node?.nodeId?.toString();
|
|
259
|
+
(monitoredItem as any)._$safeGuard = s((monitoredItem as any).oldDataValue);
|
|
255
260
|
}
|
|
256
261
|
function safeGuardVerify(monitoredItem: MonitoredItem) {
|
|
257
262
|
if ((monitoredItem as any)._$safeGuard) {
|
|
258
|
-
const verif = monitoredItem.oldDataValue
|
|
263
|
+
const verif = s(monitoredItem.oldDataValue|| "");
|
|
259
264
|
if (verif !== (monitoredItem as any)._$safeGuard) {
|
|
260
265
|
console.log(verif, (monitoredItem as any)._$safeGuard);
|
|
261
266
|
throw new Error("Internal error: DataValue has been altereed !!!");
|
|
@@ -266,8 +271,8 @@ function apply_filter(this: MonitoredItem, newDataValue: DataValue) {
|
|
|
266
271
|
if (!this.oldDataValue) {
|
|
267
272
|
return true; // keep
|
|
268
273
|
}
|
|
269
|
-
|
|
270
|
-
// istanbul ignore next
|
|
274
|
+
|
|
275
|
+
// istanbul ignore next
|
|
271
276
|
doDebug && safeGuardVerify(this);
|
|
272
277
|
|
|
273
278
|
if (this.filter instanceof DataChangeFilter) {
|
|
@@ -564,18 +569,17 @@ export class MonitoredItem extends EventEmitter {
|
|
|
564
569
|
* of the contain at the time recordValue was called.
|
|
565
570
|
*
|
|
566
571
|
* return true if the value has been recorded, false if not.
|
|
567
|
-
*
|
|
568
|
-
* Value will not be recorded :
|
|
572
|
+
*
|
|
573
|
+
* Value will not be recorded :
|
|
569
574
|
* * if the range do not overlap
|
|
570
575
|
* * is !skipChangeTest and value is equal to previous value
|
|
571
|
-
*
|
|
576
|
+
*
|
|
572
577
|
*/
|
|
573
578
|
// eslint-disable-next-line complexity, max-statements
|
|
574
579
|
public recordValue(dataValue: DataValue, skipChangeTest: boolean, indexRange?: NumericRange): boolean {
|
|
575
|
-
|
|
576
580
|
if (!this.itemToMonitor) {
|
|
577
581
|
// we must have a valid itemToMonitor(have this monitoredItem been disposed already ?)
|
|
578
|
-
// istanbul ignore next
|
|
582
|
+
// istanbul ignore next
|
|
579
583
|
doDebug && debugLog("recordValue => Rejected", this.node?.browseName.toString(), " because no itemToMonitor");
|
|
580
584
|
return false;
|
|
581
585
|
}
|
|
@@ -601,7 +605,7 @@ export class MonitoredItem extends EventEmitter {
|
|
|
601
605
|
// we just ignore changes that do not fall within our range
|
|
602
606
|
// ( unless semantic bit has changed )
|
|
603
607
|
if (!NumericRange.overlap(indexRange as NumericalRange0, this.itemToMonitor.indexRange)) {
|
|
604
|
-
// istanbul ignore next
|
|
608
|
+
// istanbul ignore next
|
|
605
609
|
doDebug && debugLog("recordValue => Rejected", this.node?.browseName.toString(), " because no range not overlap");
|
|
606
610
|
return false; // no overlap !
|
|
607
611
|
}
|
|
@@ -611,7 +615,7 @@ export class MonitoredItem extends EventEmitter {
|
|
|
611
615
|
dataValue = extractRange(dataValue, this.itemToMonitor.indexRange);
|
|
612
616
|
|
|
613
617
|
// istanbul ignore next
|
|
614
|
-
if (
|
|
618
|
+
if (doDebug2) {
|
|
615
619
|
debugLog(
|
|
616
620
|
"MonitoredItem#recordValue",
|
|
617
621
|
this.node!.nodeId.toString(),
|
|
@@ -631,7 +635,7 @@ export class MonitoredItem extends EventEmitter {
|
|
|
631
635
|
setSemanticChangeBit(dataValue);
|
|
632
636
|
this._semantic_version = (this.node as UAVariable).semantic_version;
|
|
633
637
|
this._enqueue_value(dataValue);
|
|
634
|
-
// istanbul ignore next
|
|
638
|
+
// istanbul ignore next
|
|
635
639
|
doDebug && debugLog("recordValue => OK ", this.node?.browseName.toString(), " because hasSemanticChanged");
|
|
636
640
|
return true;
|
|
637
641
|
}
|
|
@@ -641,14 +645,19 @@ export class MonitoredItem extends EventEmitter {
|
|
|
641
645
|
if (!skipChangeTest) {
|
|
642
646
|
const hasChanged = !sameDataValue(dataValue, this.oldDataValue!);
|
|
643
647
|
if (!hasChanged) {
|
|
644
|
-
// istanbul ignore next
|
|
645
|
-
|
|
648
|
+
// istanbul ignore next
|
|
649
|
+
doDebug2 &&
|
|
650
|
+
debugLog(
|
|
651
|
+
"recordValue => Rejected ",
|
|
652
|
+
this.node?.browseName.toString(),
|
|
653
|
+
" because !skipChangeTest && sameDataValue"
|
|
654
|
+
);
|
|
646
655
|
return false;
|
|
647
656
|
}
|
|
648
657
|
}
|
|
649
658
|
|
|
650
659
|
if (!apply_filter.call(this, dataValue)) {
|
|
651
|
-
// istanbul ignore next
|
|
660
|
+
// istanbul ignore next
|
|
652
661
|
if (doDebug) {
|
|
653
662
|
debugLog("recordValue => Rejected ", this.node?.browseName.toString(), " because apply_filter");
|
|
654
663
|
debugLog("current Value =>", this.oldDataValue?.toString());
|
|
@@ -670,8 +679,9 @@ export class MonitoredItem extends EventEmitter {
|
|
|
670
679
|
}
|
|
671
680
|
|
|
672
681
|
if (sameVariant(dataValue.value, this.oldDataValue!.value)) {
|
|
673
|
-
// istanbul ignore next
|
|
674
|
-
doDebug &&
|
|
682
|
+
// istanbul ignore next
|
|
683
|
+
doDebug &&
|
|
684
|
+
debugLog("recordValue => Rejected ", this.node?.browseName.toString(), " because useIndexRange && sameVariant");
|
|
675
685
|
return false;
|
|
676
686
|
}
|
|
677
687
|
}
|
|
@@ -681,7 +691,7 @@ export class MonitoredItem extends EventEmitter {
|
|
|
681
691
|
|
|
682
692
|
// store last value
|
|
683
693
|
this._enqueue_value(dataValue);
|
|
684
|
-
// istanbul ignore next
|
|
694
|
+
// istanbul ignore next
|
|
685
695
|
doDebug && debugLog("recordValue => OK ", this.node?.browseName.toString());
|
|
686
696
|
return true;
|
|
687
697
|
}
|
|
@@ -844,7 +854,6 @@ export class MonitoredItem extends EventEmitter {
|
|
|
844
854
|
* @private
|
|
845
855
|
*/
|
|
846
856
|
private _on_sampling_timer() {
|
|
847
|
-
|
|
848
857
|
if (this.monitoringMode === MonitoringMode.Disabled) {
|
|
849
858
|
return;
|
|
850
859
|
}
|
|
@@ -854,7 +863,7 @@ export class MonitoredItem extends EventEmitter {
|
|
|
854
863
|
return;
|
|
855
864
|
}
|
|
856
865
|
// istanbul ignore next
|
|
857
|
-
if (
|
|
866
|
+
if (doDebug2) {
|
|
858
867
|
debugLog(
|
|
859
868
|
"MonitoredItem#_on_sampling_timer",
|
|
860
869
|
this.node ? this.node.nodeId.toString() : "null",
|
|
@@ -1021,14 +1030,14 @@ export class MonitoredItem extends EventEmitter {
|
|
|
1021
1030
|
}
|
|
1022
1031
|
|
|
1023
1032
|
private __acquireInitialValue(sessionContext: ISessionContext, callback: CallbackT<DataValue>): void {
|
|
1024
|
-
// aquire initial value from the variable/object not itself or from the last known value if we have
|
|
1033
|
+
// aquire initial value from the variable/object not itself or from the last known value if we have
|
|
1025
1034
|
// one already
|
|
1026
1035
|
assert(this.itemToMonitor.attributeId === AttributeIds.Value);
|
|
1027
1036
|
assert(this.node);
|
|
1028
1037
|
if (this.node?.nodeClass !== NodeClass.Variable) {
|
|
1029
1038
|
return callback(new Error("Invalid "));
|
|
1030
1039
|
}
|
|
1031
|
-
const variable =
|
|
1040
|
+
const variable = this.node as UAVariable;
|
|
1032
1041
|
if (!this.oldDataValue || this.oldDataValue.statusCode.value == StatusCodes.BadDataUnavailable.value) {
|
|
1033
1042
|
variable.readValueAsync(sessionContext, (err: Error | null, dataValue?: DataValue) => {
|
|
1034
1043
|
callback(err, dataValue);
|
|
@@ -1037,10 +1046,11 @@ export class MonitoredItem extends EventEmitter {
|
|
|
1037
1046
|
const o = this.oldDataValue;
|
|
1038
1047
|
this.oldDataValue = new DataValue({ statusCode: StatusCodes.BadDataUnavailable });
|
|
1039
1048
|
// istanbul ignore next
|
|
1040
|
-
if (doDebug) {
|
|
1049
|
+
if (doDebug) {
|
|
1050
|
+
safeGuardRegiter(this);
|
|
1051
|
+
}
|
|
1041
1052
|
callback(null, o);
|
|
1042
1053
|
}
|
|
1043
|
-
|
|
1044
1054
|
}
|
|
1045
1055
|
private __start_sampling(recordInitialValue?: boolean): void {
|
|
1046
1056
|
// istanbul ignore next
|
|
@@ -1138,7 +1148,7 @@ export class MonitoredItem extends EventEmitter {
|
|
|
1138
1148
|
// that the data item is exception-based rather than being sampled at some period. An exception-based
|
|
1139
1149
|
// model means that the underlying system does not require sampling and reports data changes.
|
|
1140
1150
|
if (this.node && this.node.nodeClass === NodeClass.Variable) {
|
|
1141
|
-
const variable =
|
|
1151
|
+
const variable = this.node as UAVariable;
|
|
1142
1152
|
this.samplingInterval = _adjust_sampling_interval(
|
|
1143
1153
|
monitoredParameters.samplingInterval,
|
|
1144
1154
|
variable.minimumSamplingInterval || 0
|
|
@@ -1271,11 +1281,11 @@ export class MonitoredItem extends EventEmitter {
|
|
|
1271
1281
|
) {
|
|
1272
1282
|
throw new Error(
|
|
1273
1283
|
"dataValue.value.value cannot be the same object twice! " +
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1284
|
+
this.node!.browseName.toString() +
|
|
1285
|
+
" " +
|
|
1286
|
+
dataValue.toString() +
|
|
1287
|
+
" " +
|
|
1288
|
+
chalk.cyan(this.oldDataValue.toString())
|
|
1279
1289
|
);
|
|
1280
1290
|
}
|
|
1281
1291
|
|
|
@@ -1284,14 +1294,14 @@ export class MonitoredItem extends EventEmitter {
|
|
|
1284
1294
|
debugLog("MonitoredItem#_enqueue_value", this.node!.nodeId.toString());
|
|
1285
1295
|
safeGuardVerify(this);
|
|
1286
1296
|
}
|
|
1287
|
-
this.oldDataValue = dataValue;
|
|
1288
|
-
|
|
1297
|
+
this.oldDataValue = dataValue.clone();
|
|
1289
1298
|
// istanbul ignore next
|
|
1290
|
-
if (doDebug) {
|
|
1299
|
+
if (doDebug) {
|
|
1300
|
+
safeGuardRegiter(this);
|
|
1301
|
+
}
|
|
1291
1302
|
|
|
1292
|
-
const notification = this._makeDataChangeNotification(
|
|
1303
|
+
const notification = this._makeDataChangeNotification(this.oldDataValue);
|
|
1293
1304
|
this._enqueue_notification(notification);
|
|
1294
|
-
|
|
1295
1305
|
}
|
|
1296
1306
|
|
|
1297
1307
|
private _makeEventFieldList(eventFields: any[]): EventFieldList {
|
|
@@ -1328,7 +1338,6 @@ export class MonitoredItem extends EventEmitter {
|
|
|
1328
1338
|
}
|
|
1329
1339
|
|
|
1330
1340
|
private _set_timer() {
|
|
1331
|
-
|
|
1332
1341
|
if (!this.itemToMonitor) {
|
|
1333
1342
|
// item has already been deleted
|
|
1334
1343
|
// so do not create the timer !
|