Extract historian into a runtime-loaded plugin so hosts without the Wonderware SDK can run with Historian.Enabled=false
The aahClientManaged SDK is now isolated in ZB.MOM.WW.LmxOpcUa.Historian.Aveva and loaded via HistorianPluginLoader from a Historian/ subfolder only when enabled, removing the SDK from Host's compile-time and deploy-time surface. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -33,7 +33,7 @@ namespace ZB.MOM.WW.LmxOpcUa.Host.OpcUa
|
||||
private readonly AutoResetEvent _dataChangeSignal = new(false);
|
||||
private readonly Dictionary<int, List<string>> _gobjectToTagRefs = new();
|
||||
private readonly HistoryContinuationPointManager _historyContinuations = new();
|
||||
private readonly HistorianDataSource? _historianDataSource;
|
||||
private readonly IHistorianDataSource? _historianDataSource;
|
||||
private readonly PerformanceMetrics _metrics;
|
||||
|
||||
private readonly IMxAccessClient _mxAccessClient;
|
||||
@@ -89,7 +89,7 @@ namespace ZB.MOM.WW.LmxOpcUa.Host.OpcUa
|
||||
string namespaceUri,
|
||||
IMxAccessClient mxAccessClient,
|
||||
PerformanceMetrics metrics,
|
||||
HistorianDataSource? historianDataSource = null,
|
||||
IHistorianDataSource? historianDataSource = null,
|
||||
bool alarmTrackingEnabled = false,
|
||||
bool anonymousCanWrite = true,
|
||||
NodeId? writeOperateRoleId = null,
|
||||
@@ -1591,7 +1591,7 @@ namespace ZB.MOM.WW.LmxOpcUa.Host.OpcUa
|
||||
}
|
||||
|
||||
var aggregateId = details.AggregateType[idx < details.AggregateType.Count ? idx : 0];
|
||||
var column = HistorianDataSource.MapAggregateToColumn(aggregateId);
|
||||
var column = HistorianAggregateMap.MapAggregateToColumn(aggregateId);
|
||||
if (column == null)
|
||||
{
|
||||
errors[idx] = new ServiceResult(StatusCodes.BadAggregateNotSupported);
|
||||
|
||||
Reference in New Issue
Block a user