@@ -67,7 +67,15 @@ public static class S7DriverFactoryExtensions
|
||||
Enabled = dto.Probe?.Enabled ?? true,
|
||||
Interval = TimeSpan.FromMilliseconds(dto.Probe?.IntervalMs ?? 5_000),
|
||||
Timeout = TimeSpan.FromMilliseconds(dto.Probe?.TimeoutMs ?? 2_000),
|
||||
ProbeAddress = dto.Probe?.ProbeAddress ?? "MW0",
|
||||
// PR-S7-C5 — explicit empty-string in JSON skips the probe entirely
|
||||
// (sites without a fingerprint address); a missing field falls back to
|
||||
// the MW0 convention so existing configs keep working unchanged.
|
||||
ProbeAddress = dto.Probe is null
|
||||
? "MW0"
|
||||
: (dto.Probe.ProbeAddress is null
|
||||
? "MW0"
|
||||
: (string.IsNullOrWhiteSpace(dto.Probe.ProbeAddress) ? null : dto.Probe.ProbeAddress)),
|
||||
SkipPreflight = dto.Probe?.SkipPreflight ?? false,
|
||||
},
|
||||
TsapMode = ParseEnum<TsapMode>(dto.TsapMode, driverInstanceId, "TsapMode",
|
||||
fallback: TsapMode.Auto),
|
||||
@@ -193,6 +201,22 @@ public static class S7DriverFactoryExtensions
|
||||
public bool? Enabled { get; init; }
|
||||
public int? IntervalMs { get; init; }
|
||||
public int? TimeoutMs { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Address probed by the background liveness loop and (PR-S7-C5) by the
|
||||
/// post-<c>OpenAsync</c> pre-flight check. Default <c>MW0</c> when the
|
||||
/// <c>Probe</c> object is omitted entirely; explicit <c>null</c> /
|
||||
/// whitespace skips both the background probe and the pre-flight read.
|
||||
/// </summary>
|
||||
public string? ProbeAddress { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// PR-S7-C5 — opt out of the pre-flight PUT/GET enablement read at
|
||||
/// <see cref="S7Driver.InitializeAsync"/> time. Default <c>false</c> =
|
||||
/// pre-flight runs and a hardened CPU with PUT/GET disabled fails Init
|
||||
/// with <see cref="S7PutGetDisabledException"/>. See
|
||||
/// <c>docs/v2/s7.md</c> "Pre-flight PUT/GET enablement" section.
|
||||
/// </summary>
|
||||
public bool? SkipPreflight { get; init; }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user