磁导航1.0内部交管和信号交互
This commit is contained in:
@@ -224,6 +224,13 @@ namespace StandardScene.Signal.Plc
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// <summary>类型名恰好为 MagCar(不含 Mag2Car)。磁条交管只放行这种车。</summary>
|
||||
public static bool IsMagCar(Car car)
|
||||
{
|
||||
if (car == null) return false;
|
||||
return string.Equals(car.GetType().Name, "MagCar", StringComparison.Ordinal);
|
||||
}
|
||||
|
||||
/// <summary>放行:Mag2 → Mag → SendStart(0)。</summary>
|
||||
public static void Start(Car car)
|
||||
{
|
||||
@@ -233,6 +240,15 @@ namespace StandardScene.Signal.Plc
|
||||
TryInvoke(car, "SendStart", new object[] { (ushort)0 });
|
||||
}
|
||||
|
||||
/// <summary>仅 MagCar 发 FASS 1.0 启动(0x01)。不调 StartMag2Car。</summary>
|
||||
public static void StartMagCar(Car car)
|
||||
{
|
||||
if (!IsMagCar(car)) return;
|
||||
if (TryInvoke(car, "StartMagCar"))
|
||||
return;
|
||||
TryInvoke(car, "SendStart", new object[] { (ushort)0 });
|
||||
}
|
||||
|
||||
/// <summary>急停:Mag2 → Mag → SendStop(0)。机构未允许进入时调用。</summary>
|
||||
public static void Stop(Car car)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user