Files
StandardSence/StandardScene.Signal/Model/HandshakePointModel.cs
T

48 lines
1.9 KiB
C#
Raw Normal View History

using System.ComponentModel;
2026-08-24 14:55:35 +08:00
using Newtonsoft.Json;
namespace StandardScene.Signal.Model
{
/// <summary>
2026-08-24 14:55:35 +08:00
/// 握手点。JGControl / PointControl 填机构、工位、动作;定时充电 / 限流走附加参数。
/// 旧 JSON 仅有 SignalParams 时仍可解析。
/// </summary>
2026-08-24 14:55:35 +08:00
[SignalTable("handshake", "handshake-points.json", "握手点", Order = 3)]
2026-08-17 15:20:27 +08:00
[Category("握手点数据管理")]
[DisplayName("握手点配置列表")]
public class HandshakePointModel
{
[DisplayName("站点")]
public int Sit { get; set; }
2026-08-24 14:55:35 +08:00
/// <summary>JGControl / PointControl / TimedCharging / RateFlowControl。</summary>
[DisplayName("信号类型")]
2026-08-24 14:55:35 +08:00
[SignalSelect("JGControl", "PointControl", "TimedCharging", "RateFlowControl")]
public string SignalType { get; set; } = "JGControl";
2026-08-24 14:55:35 +08:00
[DisplayName("机构名称")]
public string JgName { get; set; } = "";
[DisplayName("工位编号")]
public string DockId { get; set; } = "";
/// <summary>JGControlRequestIn / ArrivedPointControlUP1 / UP2 / Down1 / Down2。</summary>
[DisplayName("动作")]
[SignalSelect("RequestIn", "Arrived", "UP1", "UP2", "Down1", "Down2")]
public string Action { get; set; } = "";
2026-08-17 15:20:27 +08:00
/// <summary>
2026-08-24 14:55:35 +08:00
/// TimedCharging:最长秒;上限电量;下限电量。
/// RateFlowControl:区域;车组;限额;点列表。
/// JGControl 可选限流:区域-车组-限额-点列表。
2026-08-17 15:20:27 +08:00
/// </summary>
2026-08-24 14:55:35 +08:00
[DisplayName("附加参数")]
public string ExtraParams { get; set; } = "";
/// <summary>旧字段。新配置可空,加载时由上面几列拼回。</summary>
[Browsable(false)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)]
public string SignalParams { get; set; }
}
}