1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- 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();
- private readonly AOAccessor _aoMFPressureSP;
- 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<IoPressureMeter>(Module, "MFPressureMeter", node);
- TMPipelineGauge = ParseDeviceNode<IoPressureMeter>(Module, "MFForelineMeter", node);
- VCEVacuumGauge = ParseDeviceNode<IoPressureMeter>(Module, "VCEPressureMeter", node);
- VCEPipelineVacuumGauge = ParseDeviceNode<IoPressureMeter>(Module, "VCEPipelineMeter", node);
- _aoMFPressureSP = ParseAoNode("aoMFPressure", node, ioModule);
- }
- public bool Initialize()
- {
- //DATA.Subscribe($"{Module}.{Name}.TMChamberSetPoint", () => _GetRealFloat(_aoMFPressureSP));
- return true;
- }
- public void SetTMPressure(float pressure)
- {
- _SetRealFloat(_aoMFPressureSP, 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;
- }
- }
- }
|