using System.ComponentModel;
namespace StandardScene.Signal.Model
{
///
/// 单个机构运行态快照,供 MissionStatus / 监视面板展示。
/// 由 拷贝,UI 不要直接绑 Runtime。
///
public class PlcStationSnapshot
{
/// 机构逻辑名。
[DisplayName("机构")] public string JgName { get; set; } = "";
/// 最近一拍 PLC 读写是否成功。
[DisplayName("连接")] public bool IsConnected { get; set; }
/// PLC→调度读字节的枚举名(允许进入 / 允许离开 / 无状态)。
[DisplayName("读信号")] public string ReadSignal { get; set; } = "";
/// 调度目标写字节的枚举名。
[DisplayName("写信号")] public string WriteSignal { get; set; } = "";
/// 从写地址回读到的枚举名,用于确认 PLC 是否已吃进目标值。
[DisplayName("回读写值")] public string ReadWriteSignal { get; set; } = "";
/// 已报到在机构内的 AGV 号,0 表示没有。
[DisplayName("机构内车")] public int InAgvNo { get; set; }
/// 已获准进入、正在往机构开的 AGV 号,0 表示没有。
[DisplayName("请求进入车")] public int RequestInAgvNo { get; set; }
/// 目标写字节是否已与回读一致。
[DisplayName("写入成功")] public bool WriteSuccess { get; set; }
/// Worker 内存心跳翻转,表示线程在跑。
[DisplayName("心跳")] public bool Heart { get; set; }
/// 最近一次断线或周期异常原因。
[DisplayName("最近错误")] public string LastError { get; set; } = "";
}
}