docs(#655): history is server-side only; rewrite OPC-009 and stale driver-history references
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
This commit is contained in:
+9
-11
@@ -364,18 +364,16 @@ HistorianGateway using that source. (Alarm-history `ReadEvents` requires the gat
|
||||
`BaseEventType` select clauses — `EventId`, `SourceName`, `Time`, `ReceiveTime`, `Message`,
|
||||
and `Severity`; an unsupported select operand returns a null field (spec-conformant).
|
||||
|
||||
### OpcUaClient driver — upstream passthrough for all four variants
|
||||
### No driver-side history (Gitea #655)
|
||||
|
||||
The OpcUaClient driver's `IHistoryProvider` implementation forwards **all four** history-read
|
||||
variants (Raw, Processed, AtTime, and Events) to its upstream OPC UA server. For the Events
|
||||
variant it sends a fixed canonical `BaseEventType` `EventFilter` selecting the standard six
|
||||
fields (`EventId`, `SourceName`, `Time`, `ReceiveTime`, `Message`, `Severity`) and maps the
|
||||
upstream `HistoryEvent` onto `HistoricalEvent` — the same six-field projection the OtOpcUa
|
||||
node-manager itself projects when serving event history. This is a **driver-level capability**:
|
||||
the OpcUaClient driver acts as a passthrough to whatever historian the upstream server exposes,
|
||||
and is independent of the single server-side `IHistorianDataSource` backend
|
||||
(`GatewayHistorianDataSource` / `NullHistorianDataSource`) that the OtOpcUa node-manager
|
||||
dispatches HistoryRead to for tags on other drivers (Galaxy, Modbus, S7, etc.).
|
||||
History is served **only** by the server-wide `IHistorianDataSource`
|
||||
(`GatewayHistorianDataSource` / `NullHistorianDataSource`). No driver contributes
|
||||
history: the OpcUaClient driver does **not** proxy its upstream server's
|
||||
HistoryRead (the former `IHistoryProvider` passthrough was never dispatched to and
|
||||
was deleted). On an OpcUaClient tag, `isHistorized` means "OtOpcUa records this
|
||||
value into the historian from now on", not "forward history reads upstream". A
|
||||
node without `isHistorized` has no HistoryRead access bit and answers
|
||||
`BadHistoryOperationUnsupported`.
|
||||
|
||||
### Graceful degradation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user