using System; using System.Threading; using SHJX.Service.Model.Control; using SHJX.Service.Control.Modules; using SHJX.Service.Control.Interface; using SHJX.Service.Common.ReadXML; namespace SHJX.Service.Control.Route.RouteController { /// /// 冷凝管 /// public class CageOperate : FlowControlOperateImp { private const string OpName = "Cage"; public virtual bool Operate(ReadConfigUtil config, DataEventArgs data) { var cage = OpName.GetEquipmentState(); var res = false; switch (data.Task.RouteStep) { case "CA_Down": if (cage.EquipmentState.Equals(EquipmentEnum.Normotopia)) { var way = WriteWay.Antiposition; cage.EquipmentState = EquipmentEnum.Antiposition; var arg = CageWriteOperate(way); res = data.Client.Factory(OpName).Write(arg); } break; case "CA_Rise": if (cage.EquipmentState.Equals(EquipmentEnum.Antiposition)) { var way = WriteWay.Normotopia; cage.EquipmentState = EquipmentEnum.Normotopia; var arg = CageWriteOperate(way); res = data.Client.Factory(OpName).Write(arg); Thread.Sleep(Convert.ToInt32(DataCentre.GetConfig.CoolingPipeWatingTime * 1000)); //提升起来后需要等待时间 } break; } data.DataManager.Update(cage); return res; } private PortArgs CageWriteOperate(WriteWay way) { PortArgs portArgs = new() { TypeName = OpName, WriteWay = way }; return portArgs; } } }