Sic08/FrameworkLocal/MECF.Framework.Common/MECF/Framework/Common/Device/Bases/PressureGaugeBase.cs

61 lines
1.4 KiB
C#

using System.Xml;
using Aitex.Core.Common.DeviceData;
using Aitex.Core.RT.DataCenter;
using Aitex.Core.RT.Device;
namespace MECF.Framework.Common.Device.Bases
{
public abstract class PressureGaugeBase : BaseDevice, IDevice
{
public string Unit { get; set; }
public virtual float SetPoint { get; set; }
public virtual float FeedBack { get; set; }
public virtual string FormatString { get; set; }
public virtual AITPressureMeterData DeviceData => new AITPressureMeterData
{
Module = base.Module,
DeviceName = base.Name,
DeviceSchematicId = base.DeviceID,
DisplayName = base.Display,
FeedBack = FeedBack,
FormatString = FormatString
};
public PressureGaugeBase()
{
}
public PressureGaugeBase(string module, XmlElement node, string ioModule = "")
{
Unit = node.GetAttribute("unit");
base.Module = (string.IsNullOrEmpty(node.GetAttribute("module")) ? module : node.GetAttribute("module"));
base.Name = node.GetAttribute("id");
base.Display = node.GetAttribute("display");
base.DeviceID = node.GetAttribute("schematicId");
}
public virtual bool Initialize()
{
DATA.Subscribe(base.Module + "." + base.Name + ".DeviceData", () => DeviceData);
DATA.Subscribe(base.Module + "." + base.Name + ".FeedBack", () => FeedBack);
return true;
}
public virtual void Monitor()
{
}
public virtual void Reset()
{
}
public virtual void Terminate()
{
}
}
}