using Aitex.Core.RT.DataCenter; using Aitex.Core.RT.Device; using Aitex.Core.RT.Log; using System; using Venus_RT.Devices.IODevices; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Aitex.Core.RT.Tolerance; using Aitex.Core.Util; using Aitex.Core.RT.IOCore; using System.Xml; namespace Venus_RT.Devices { class IoTMSEPressureCtl:BaseDevice,IDevice { public readonly IoPressureMeter TMVacuumGauge; public readonly IoPressureMeter TMPipelineGauge; public readonly IoPressureMeter VCEVacuumGauge; public readonly IoPressureMeter VCEPipelineVacuumGauge; private readonly ToleranceChecker _tolerance = new ToleranceChecker(); private readonly R_TRIG _trigTMVacuumGauge = new R_TRIG(); private readonly R_TRIG _trigTMPipelineGauge = new R_TRIG(); private readonly R_TRIG _trigVCEVacuumGauge = new R_TRIG(); private readonly R_TRIG _trigVCEPipelineVacuumGauge = new R_TRIG(); public double TargetPressure { get; set; } public IoTMSEPressureCtl(string module, XmlElement node, string ioModule = "") { base.Module = module; base.Name = node.GetAttribute("id"); base.Display = node.GetAttribute("display"); base.DeviceID = node.GetAttribute("schematicId"); TMVacuumGauge = ParseDeviceNode(Module, "MFPressureMeter", node); TMPipelineGauge = ParseDeviceNode(Module, "MFForelineMeter", node); VCEVacuumGauge = ParseDeviceNode(Module, "VCEPressureMeter", node); VCEPipelineVacuumGauge = ParseDeviceNode(Module, "VCEPipelineMeter", node); } public bool Initialize() { return true; } public void SetTMPressure(float pressure) { } public void Terminate() { } public void Monitor() { _trigTMVacuumGauge.CLK = TMVacuumGauge.GaugeAlarm; if (_trigTMVacuumGauge.Q) LOG.Write(eEvent.ERR_DEVICE_INFO, Module, "MF pressure gauge Alarm"); _trigTMPipelineGauge.CLK = TMPipelineGauge.GaugeAlarm; if (_trigTMPipelineGauge.Q) LOG.Write(eEvent.ERR_DEVICE_INFO, Module, "MF Pipeline pressure gauge Alarm"); _trigVCEVacuumGauge.CLK = VCEVacuumGauge.GaugeAlarm; if (_trigVCEVacuumGauge.Q) LOG.Write(eEvent.ERR_DEVICE_INFO, Module, "VCE pressure gauge Alarm"); _trigVCEPipelineVacuumGauge.CLK = VCEPipelineVacuumGauge.GaugeAlarm; if (_trigVCEPipelineVacuumGauge.Q) LOG.Write(eEvent.ERR_DEVICE_INFO, Module, "VCE Pipeline pressure Gauge Alarm"); } public void Reset() { _trigTMVacuumGauge.RST = true; _trigTMPipelineGauge.RST = true; _trigVCEVacuumGauge.RST = true; _trigVCEPipelineVacuumGauge.RST = true; } } }