新增信号交互进程插件

This commit is contained in:
ykkokluo
2026-08-17 15:20:27 +08:00
parent 12c7c1d518
commit cacc5fea5c
25 changed files with 937 additions and 369 deletions
@@ -2,18 +2,40 @@ using System.ComponentModel;
namespace StandardScene.Signal.Model
{
/// <summary>单个机构运行态快照,供 MissionStatus / 监视面板展示。</summary>
/// <summary>
/// 单个机构运行态快照,供 MissionStatus / 监视面板展示。
/// 由 <see cref="StandardScene.Signal.Plc.PlcStationRuntime.ToSnapshot"/> 拷贝,UI 不要直接绑 Runtime。
/// </summary>
public class PlcStationSnapshot
{
/// <summary>机构逻辑名。</summary>
[DisplayName("机构")] public string JgName { get; set; } = "";
/// <summary>最近一拍 PLC 读写是否成功。</summary>
[DisplayName("连接")] public bool IsConnected { get; set; }
/// <summary>PLC→调度读字节的枚举名(允许进入 / 允许离开 / 无状态)。</summary>
[DisplayName("读信号")] public string ReadSignal { get; set; } = "";
/// <summary>调度目标写字节的枚举名。</summary>
[DisplayName("写信号")] public string WriteSignal { get; set; } = "";
/// <summary>从写地址回读到的枚举名,用于确认 PLC 是否已吃进目标值。</summary>
[DisplayName("回读写值")] public string ReadWriteSignal { get; set; } = "";
/// <summary>已报到在机构内的 AGV 号,0 表示没有。</summary>
[DisplayName("机构内车")] public int InAgvNo { get; set; }
/// <summary>已获准进入、正在往机构开的 AGV 号,0 表示没有。</summary>
[DisplayName("请求进入车")] public int RequestInAgvNo { get; set; }
/// <summary>目标写字节是否已与回读一致。</summary>
[DisplayName("写入成功")] public bool WriteSuccess { get; set; }
/// <summary>Worker 内存心跳翻转,表示线程在跑。</summary>
[DisplayName("心跳")] public bool Heart { get; set; }
/// <summary>最近一次断线或周期异常原因。</summary>
[DisplayName("最近错误")] public string LastError { get; set; } = "";
}
}