Sic.Framework-Nanjing-Baishi/MECF.Framework.Common/Aitex/Core/RT/IOCore/Interlock/DataProvider/DoubleDataPollProvider.cs

24 lines
715 B
C#
Raw Normal View History

using System;
using Aitex.Core.RT.DataCenter;
using Aitex.Core.RT.IOCore.Interlock.Base;
namespace Aitex.Core.RT.IOCore.Interlock.DataProvider;
public class DoubleDataPollProvider : DataPollProvider<double>, IInterlockLimitDataProvider
{
public DoubleDataPollProvider(string dataPath) : base(dataPath)
{
}
protected override object HandleGetValue()
{
var value = DATA.Poll(DataPath);
if (value == null)
throw new NullReferenceException("unable to poll data, null is returned.");
if (double.TryParse(value.ToString(), out var dValue))
return dValue;
throw new InvalidCastException($"the return value {value} is not a number.");
}
}