新增信号交互进程插件
This commit is contained in:
@@ -6,9 +6,18 @@ using StandardScene.Signal.Plc;
|
||||
|
||||
namespace StandardScene.Signal.Logic
|
||||
{
|
||||
/// <summary>对齐反编译 DefaultPlugin.PointControl:牵引棒升/降到位后再放行。</summary>
|
||||
/// <summary>
|
||||
/// 销钉 / 牵引棒升降后再放行。对齐反编译 <c>DefaultPlugin.PointControl</c>。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <c>SignalParams</c>:<c>动作;机构名</c>。
|
||||
/// 动作:<c>UP1</c> 升销钉1,<c>UP2</c> 升销钉1+2,<c>Down1</c> / <c>Down2</c> 对应下降。
|
||||
/// 机构名可选:填了则必须等该机构读字节=允许离开才启动;空则只等销钉动作完成。
|
||||
/// 销钉指令通过 <see cref="SignalCarAdapter.Control"/> 反射调用车体 MethodMember(如 SetPin1Up)。
|
||||
/// </remarks>
|
||||
public static class PointControlHandler
|
||||
{
|
||||
/// <summary>停稳:先判机构是否允许离开,再下发销钉,全部到位后启动。</summary>
|
||||
public static void OnStopped(Car car, SignalStopSpec spec, Func<string, PlcStationRuntime> find)
|
||||
{
|
||||
var action = spec.Part(0).Trim();
|
||||
@@ -48,6 +57,10 @@ namespace StandardScene.Signal.Logic
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 任一销钉未完成则本拍只下发指令、不启动;
|
||||
/// 全部完成且(无需等离开 或 已允许离开)才 Start。
|
||||
/// </summary>
|
||||
private static void PinThenGo(Car car, int pos, bool waitLeave, string jgName, params string[] actions)
|
||||
{
|
||||
var done = true;
|
||||
|
||||
Reference in New Issue
Block a user