using Aitex.Core.RT.DataCenter; using Aitex.Core.RT.Device; using Aitex.Core.Util; using MECF.Framework.Common.IOCore; using MECF.Framework.Common.TwinCat; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace CyberX8_RT.Devices.SRD { public class TotalSRDDevice : BaseDevice, IDevice { #region 常量 private const string FLUID_CONTAINMENT = "FluidContainment"; private const string WATER_PRESSURE = "WaterPressure"; #endregion #region 属性 public bool FluidContainment { get; private set; } public double WaterPressure { get; private set; } #endregion /// /// 构造函数 /// /// /// public TotalSRDDevice() : base("SRD", "SRD", "SRD", "SRD") { } /// /// 初始化 /// /// public bool Initialize() { SubscribeValueAction(); return true; } /// /// 订阅变量数值发生变化 /// private void SubscribeValueAction() { IOModuleManager.Instance.SubscribeModuleVariable(Module, WATER_PRESSURE, UpdateVariableValue); IOModuleManager.Instance.SubscribeModuleVariable(Module, FLUID_CONTAINMENT, UpdateVariableValue); } /// 更新变量数值 /// /// /// private void UpdateVariableValue(string variable, object value) { if (variable == FLUID_CONTAINMENT) { FluidContainment = (bool)value; } else if (variable == WATER_PRESSURE) { WaterPressure = (double)value; } } public void Monitor() { } public void Reset() { } public void Terminate() { } } }