新增信号交互进程插件
This commit is contained in:
@@ -6,9 +6,18 @@ using StandardScene.Signal.Plc;
|
||||
|
||||
namespace StandardScene.Signal.Logic
|
||||
{
|
||||
/// <summary>对齐反编译 DefaultPlugin.TimedCharging:时长 / 上限电量 / 下限电量。</summary>
|
||||
/// <summary>
|
||||
/// 站点定时充电。对齐反编译 <c>DefaultPlugin.TimedCharging</c>。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <c>SignalParams</c>:<c>最长秒数;上限电量;下限电量</c>,某段填 0 表示该条件不启用。
|
||||
/// 正在充电:电量 ≥ 上限则停充;时长到且电量已过下限则停充;时长到但电量仍 ≤ 下限则继续充。
|
||||
/// 已停充且车仍停着:视为充电流程结束,启动放行。
|
||||
/// 充电秒数优先反射 <c>GetChargeTime</c>,没有则用 <paramref name="chargeStarted"/> 字典估算。
|
||||
/// </remarks>
|
||||
public static class TimedChargeHandler
|
||||
{
|
||||
/// <summary>停稳且本站是 TimedCharging 时由扫车线程调用。</summary>
|
||||
public static void OnStopped(Car car, SignalStopSpec spec, IDictionary<int, DateTime> chargeStarted)
|
||||
{
|
||||
int.TryParse(spec.Part(0), out var maxSeconds);
|
||||
|
||||
Reference in New Issue
Block a user