namespace Mbproxy.Options; public sealed class PlcOptions { public string Name { get; init; } = ""; public int ListenPort { get; init; } public string Host { get; init; } = ""; /// /// Backend Modbus TCP port on the PLC. Defaults to 502 (standard Modbus TCP port). /// public int Port { get; init; } = 502; public PlcBcdOverrides? BcdTags { get; init; } /// /// Phase 11 — per-PLC default cache TTL applied to any tag whose explicit /// is unset (null). 0 (the default) means /// "no caching by default at this PLC". Per-tag values always win over the per-PLC /// default when set; an explicit zero on a tag still disables caching for that tag. /// public int DefaultCacheTtlMs { get; init; } = 0; }