Files
2025-06-03 17:27:51 +08:00

90 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DynStatDisk.App.Com
{
public class StateModel
{
public delegate void StateSglDelegate(bool UpdateValue, string Name, string Category);
public event StateSglDelegate StateSglSglEvent;
public StateModel(string name, string category, List<BitStateSgl> listBitStateSgl)
{
Name = name;
Category = category;
ListBitStateSgl = listBitStateSgl;
}
public StateModel(string name, string category, List<IntStateSgl> listIntStateSgl)
{
Name = name;
Category = category;
ListIntStateSgl = listIntStateSgl;
}
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 类型
/// </summary>
public string Category { get; set; }
/// <summary>
/// 复位状态
/// </summary>
public void ResetResult()
{
_Result = false;
}
private bool _Result;
/// <summary>
/// 结果判断
/// </summary>
public bool Result
{
get
{
return _Result;
}
set
{
if (value != _Result && value == true)
{
_Result = value;
StateSglSglEvent(true, Name, Category);//开始动作
}
else if (value != _Result && value == false)
{
_Result = false;
//StateSglSglEvent(false, Name, Category);//开始动作
}
}
}
/// <summary>
/// 临时暂存的结果
/// </summary>
public bool TempBitValue { get; set; }
/// <summary>
/// 信号状态集合 Bool
/// </summary>
public List<BitStateSgl> ListBitStateSgl { get; set; }
/// <summary>
/// 信号状态集合 Int
/// </summary>
public List<IntStateSgl> ListIntStateSgl { get; set; }
}
}