node-opcua-address-space 2.186.9 → 2.186.10

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.
@@ -2,7 +2,7 @@
2
2
  * @module node-opcua-address-space
3
3
  */
4
4
  import type { IAddressSpace, IVariableHistorian, IVariableHistorianOptions, UAVariable } from "node-opcua-address-space-base";
5
- import type { DataValue } from "node-opcua-data-value";
5
+ import { DataValue } from "node-opcua-data-value";
6
6
  import { ReadRawModifiedDetails } from "node-opcua-service-history";
7
7
  import { type CallbackT } from "node-opcua-status-code";
8
8
  import { UAVariableImpl } from "../ua_variable_impl.js";
@@ -15,6 +15,8 @@ export declare class VariableHistorian implements IVariableHistorian {
15
15
  constructor(node: UAVariable, options: IVariableHistorianOptions);
16
16
  push(newDataValue: DataValue): Promise<void>;
17
17
  extractDataValues(historyReadRawModifiedDetails: ReadRawModifiedDetails, maxNumberToExtract: number, isReversed: boolean, reverseDataValue: boolean, callback: CallbackT<DataValue[]>): void;
18
+ findBoundBefore(date: Date): DataValue | null;
19
+ findBoundAfter(date: Date): DataValue | null;
18
20
  }
19
21
  /**
20
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"address_space_historical_data_node.d.ts","sourceRoot":"","sources":["../../../impl/historical_access/address_space_historical_data_node.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAER,aAAa,EAEb,kBAAkB,EAClB,yBAAyB,EACzB,UAAU,EACb,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKvD,OAAO,EAMH,sBAAsB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,SAAS,EAAe,MAAM,wBAAwB,CAAC;AAIrE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA8FxD,qBAAa,iBAAkB,YAAW,kBAAkB;IACxD,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,mBAAmB,CAAS;IAEpC,YAAY,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB,EAM/D;IAGY,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CxD;IAEM,iBAAiB,CACpB,6BAA6B,EAAE,sBAAsB,EACrD,kBAAkB,EAAE,MAAM,EAC1B,UAAU,EAAE,OAAO,EACnB,gBAAgB,EAAE,OAAO,EACzB,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,GACjC,IAAI,CASN;CACJ;AAsfD;GACG;AACH,wBAAgB,sCAAsC,CAClD,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,yBAAyB,GACpC,IAAI,CAyIN"}
1
+ {"version":3,"file":"address_space_historical_data_node.d.ts","sourceRoot":"","sources":["../../../impl/historical_access/address_space_historical_data_node.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAER,aAAa,EAEb,kBAAkB,EAClB,yBAAyB,EACzB,UAAU,EACb,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKlD,OAAO,EAMH,sBAAsB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,wBAAwB,CAAC;AAIjF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAwHxD,qBAAa,iBAAkB,YAAW,kBAAkB;IACxD,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,mBAAmB,CAAS;IAEpC,YAAY,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB,EAM/D;IAGY,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CxD;IAEM,iBAAiB,CACpB,6BAA6B,EAAE,sBAAsB,EACrD,kBAAkB,EAAE,MAAM,EAC1B,UAAU,EAAE,OAAO,EACnB,gBAAgB,EAAE,OAAO,EACzB,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,GACjC,IAAI,CASN;IAEM,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAEnD;IAEM,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAElD;CACJ;AA4oBD;GACG;AACH,wBAAgB,sCAAsC,CAClD,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,yBAAyB,GACpC,IAAI,CA2IN"}
@@ -5,10 +5,11 @@ import chalk from "chalk";
5
5
  import DequeueCtor from "dequeue";
6
6
  import { assert } from "node-opcua-assert";
7
7
  import { AccessLevelFlag, NodeClass } from "node-opcua-data-model";
8
+ import { DataValue } from "node-opcua-data-value";
8
9
  import { isMinDate, minDate } from "node-opcua-date-time";
9
10
  import { make_warningLog } from "node-opcua-debug";
10
11
  import { HistoryData, HistoryReadResult, ReadAtTimeDetails, ReadEventDetails, ReadProcessedDetails, ReadRawModifiedDetails } from "node-opcua-service-history";
11
- import { StatusCodes } from "node-opcua-status-code";
12
+ import { StatusCode, StatusCodes } from "node-opcua-status-code";
12
13
  import { DataType } from "node-opcua-variant";
13
14
  import { historizerFactoryHolder } from "../historizer_factory.js";
14
15
  import { UAVariableImpl } from "../ua_variable_impl.js";
@@ -40,6 +41,30 @@ function inInTimeRange2(historyReadDetails, dataValue) {
40
41
  !isMinDate(historyReadDetails.startTime) &&
41
42
  (dataValue.sourceTimestamp || 0) < historyReadDetails.startTime);
42
43
  }
44
+ function _findNearestBefore(q, timeMs) {
45
+ let result = null;
46
+ let c = q.head.next;
47
+ while (c.data) {
48
+ const ts = (c.data.sourceTimestamp || minDate).getTime();
49
+ if (ts >= timeMs) {
50
+ break;
51
+ }
52
+ result = c.data;
53
+ c = c.next;
54
+ }
55
+ return result;
56
+ }
57
+ function _findNearestAfter(q, timeMs) {
58
+ let c = q.head.next;
59
+ while (c.data) {
60
+ const ts = (c.data.sourceTimestamp || minDate).getTime();
61
+ if (ts > timeMs) {
62
+ return c.data;
63
+ }
64
+ c = c.next;
65
+ }
66
+ return null;
67
+ }
43
68
  function filter_dequeue(q, historyReadRawModifiedDetails, onlyThisNumber, isReversed) {
44
69
  const r = [];
45
70
  const predicate = isReversed
@@ -122,6 +147,12 @@ export class VariableHistorian {
122
147
  }
123
148
  callback(null, dataValues);
124
149
  }
150
+ findBoundBefore(date) {
151
+ return _findNearestBefore(this._timeline, date.getTime());
152
+ }
153
+ findBoundAfter(date) {
154
+ return _findNearestAfter(this._timeline, date.getTime());
155
+ }
125
156
  }
126
157
  function _get_startOfOfflineArchive(node) {
127
158
  if (!node.$historicalDataConfiguration) {
@@ -246,6 +277,106 @@ function _historyReadRawAsync(historyReadRawModifiedDetails, maxNumberToExtract,
246
277
  }
247
278
  this.varHistorian.extractDataValues(historyReadRawModifiedDetails, maxNumberToExtract, isReversed, reverseDataValue, callback);
248
279
  }
280
+ /**
281
+ * Compute a single Bounding Value for the raw-read time domain (OPC 10000-11 6.5.3.2).
282
+ *
283
+ * `before` and `after` are the nearest raw values immediately before and after
284
+ * `boundaryTime` (either may come from outside the requested [startTime, endTime] window).
285
+ * Per 3.1.2 BoundingValues, when neither is missing the Server "determines" a value
286
+ * associated with the boundary time itself, built from that neighbouring data; this
287
+ * function follows the same rule the HistoricalDataConfiguration already uses for the
288
+ * Interpolative Aggregate (Part 13): a sloped linear interpolation, or a held value when
289
+ * the node is configured as Stepped or the value is not numeric.
290
+ *
291
+ * When one side is missing there is nothing to determine the value from, so the result
292
+ * is Bad_BoundNotFound with a null value at the boundary time, as required by 6.5.3.2.
293
+ */
294
+ function _computeBoundingValue(node, before, after, boundaryTime) {
295
+ if (!before || !after || !before.sourceTimestamp || !after.sourceTimestamp) {
296
+ return new DataValue({
297
+ sourceTimestamp: boundaryTime,
298
+ statusCode: StatusCodes.BadBoundNotFound,
299
+ value: { dataType: DataType.Null }
300
+ });
301
+ }
302
+ const stepped = node.$historicalDataConfiguration?.stepped?.readValue()?.value?.value === true;
303
+ const beforeValue = before.value?.value;
304
+ const afterValue = after.value?.value;
305
+ if (stepped || typeof beforeValue !== "number" || typeof afterValue !== "number") {
306
+ // stepped display, or a value that cannot be placed on a slope: hold the value that
307
+ // was in effect at the boundary time (the sample immediately preceding it).
308
+ return new DataValue({
309
+ sourceTimestamp: boundaryTime,
310
+ statusCode: StatusCode.makeStatusCode(before.statusCode, "HistorianInterpolated"),
311
+ value: before.value
312
+ });
313
+ }
314
+ const t0 = before.sourceTimestamp.getTime();
315
+ const t1 = after.sourceTimestamp.getTime();
316
+ const t = boundaryTime.getTime();
317
+ const coef1 = (t - t0) / (t1 - t0);
318
+ const coef2 = (t1 - t) / (t1 - t0);
319
+ const value = before.value.clone();
320
+ value.value = coef2 * beforeValue + coef1 * afterValue;
321
+ return new DataValue({
322
+ sourceTimestamp: boundaryTime,
323
+ statusCode: StatusCode.makeStatusCode(before.statusCode, "HistorianInterpolated"),
324
+ value
325
+ });
326
+ }
327
+ /**
328
+ * Add the start and end Bounding Values to a raw-read result when returnBounds is set
329
+ * (OPC 10000-11 6.5.3.2 and 4.6). Only called when both startTime and endTime were
330
+ * specified: the single-sided requests (only startTime, or only endTime) are read to the
331
+ * edge of the online archive rather than a bounded window, so there is no second boundary
332
+ * to compute a bound against, and are left unbounded here.
333
+ *
334
+ * `dataValues` is in the order the client will receive it (already reversed when
335
+ * `reverseDataValue` is set); this function restores chronological order to reason about
336
+ * "first" and "last", then re-applies the same order on the way out.
337
+ */
338
+ function _addBoundingValues(node, details, dataValues, reverseDataValue) {
339
+ const historian = node.varHistorian;
340
+ const startTime = details.startTime;
341
+ const endTime = details.endTime;
342
+ const findBefore = (date) => (historian?.findBoundBefore ? historian.findBoundBefore(date) : null);
343
+ const findAfter = (date) => (historian?.findBoundAfter ? historian.findBoundAfter(date) : null);
344
+ const boundNotSupported = (boundaryTime) => new DataValue({
345
+ sourceTimestamp: boundaryTime,
346
+ statusCode: StatusCodes.BadBoundNotSupported,
347
+ value: { dataType: DataType.Null }
348
+ });
349
+ const supportsBounds = !!(historian?.findBoundBefore && historian.findBoundAfter);
350
+ const ascending = reverseDataValue ? dataValues.slice().reverse() : dataValues.slice();
351
+ if (startTime.getTime() === endTime.getTime()) {
352
+ // a request for a single instant: the value at that instant, if any, is already
353
+ // part of dataValues, so there is at most one bound to add.
354
+ if (ascending.length === 0) {
355
+ const bound = supportsBounds
356
+ ? _computeBoundingValue(node, findBefore(startTime), findAfter(startTime), startTime)
357
+ : boundNotSupported(startTime);
358
+ ascending.push(bound);
359
+ }
360
+ return reverseDataValue ? ascending.reverse() : ascending;
361
+ }
362
+ const result = [];
363
+ const hasExactStart = ascending.length > 0 && ascending[0].sourceTimestamp?.getTime() === startTime.getTime();
364
+ if (!hasExactStart) {
365
+ const bound = supportsBounds
366
+ ? _computeBoundingValue(node, findBefore(startTime), ascending.length > 0 ? ascending[0] : findAfter(startTime), startTime)
367
+ : boundNotSupported(startTime);
368
+ result.push(bound);
369
+ }
370
+ result.push(...ascending);
371
+ const hasExactEnd = ascending.length > 0 && ascending[ascending.length - 1].sourceTimestamp?.getTime() === endTime.getTime();
372
+ if (!hasExactEnd) {
373
+ const bound = supportsBounds
374
+ ? _computeBoundingValue(node, ascending.length > 0 ? ascending[ascending.length - 1] : findBefore(endTime), findAfter(endTime), endTime)
375
+ : boundNotSupported(endTime);
376
+ result.push(bound);
377
+ }
378
+ return reverseDataValue ? result.reverse() : result;
379
+ }
249
380
  function _historyReadRaw(context, historyReadRawModifiedDetails, _indexRange, _dataEncoding, continuationData, callback) {
250
381
  assert(historyReadRawModifiedDetails instanceof ReadRawModifiedDetails);
251
382
  // 6.4.3.2 Read raw functionality
@@ -401,6 +532,14 @@ function _historyReadRaw(context, historyReadRawModifiedDetails, _indexRange, _d
401
532
  if (err || !dataValues) {
402
533
  return callback(err);
403
534
  }
535
+ // Bounding Values (6.4.3.2 / 6.5.3.2): only meaningful when the request has both
536
+ // ends of a time domain to bound. See _addBoundingValues for why the single-sided
537
+ // requests (only startTime, or only endTime) are left unbounded.
538
+ if (historyReadRawModifiedDetails.returnBounds &&
539
+ !isMinDate(historyReadRawModifiedDetails.startTime) &&
540
+ !isMinDate(historyReadRawModifiedDetails.endTime)) {
541
+ dataValues = _addBoundingValues(this, historyReadRawModifiedDetails, dataValues, reverseDataValue);
542
+ }
404
543
  const cnt = session.continuationPointManager.registerHistoryReadRaw(historyReadRawModifiedDetails.numValuesPerNode, dataValues, continuationData);
405
544
  const result = new HistoryReadResult({
406
545
  continuationPoint: cnt.continuationPoint,
@@ -426,6 +565,7 @@ function _historyRead(context, historyReadDetails, indexRange, dataEncoding, con
426
565
  statusCode: StatusCodes.BadUserAccessDenied
427
566
  });
428
567
  callback(null, result);
568
+ return;
429
569
  }
430
570
  assert(typeof callback === "function");
431
571
  if (historyReadDetails instanceof ReadRawModifiedDetails) {
@@ -646,5 +786,6 @@ export function AddressSpace_installHistoricalDataNode(node, options) {
646
786
  // update the index of historizing nodes in the addressSpace
647
787
  node.addressSpace.historizingNodes = node.addressSpace.historizingNodes || new Set();
648
788
  node.addressSpace.historizingNodes.add(node);
789
+ node.addressSpace.onHistorizingNodeAdded?.(node);
649
790
  }
650
791
  //# sourceMappingURL=address_space_historical_data_node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"address_space_historical_data_node.js","sourceRoot":"","sources":["../../../impl/historical_access/address_space_historical_data_node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"address_space_historical_data_node.js","sourceRoot":"","sources":["../../../impl/historical_access/address_space_historical_data_node.ts"],"names":[],"mappings":"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"}