Files
YuPu-OrpaonEMS/OrpaonEMS.App/Services/BmsIO.cs
2025-02-28 22:23:13 +08:00

262 lines
6.0 KiB
C#

using OrpaonEMS.Core;
using Prism.Mvvm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OrpaonEMS.App.Services
{
/// <summary>
/// BMS IO状态
/// </summary>
public class BmsIO : BindableBase
{
public BmsIO()
{
}
private ushort _DOValue = 1;
/// <summary>
/// DO的值
/// </summary>
public ushort DOValue
{
get { return _DOValue; }
set
{
if (_DOValue != value)
{
DO1 = ComHelper.GetBitValue(value, 0);
DO2 = ComHelper.GetBitValue(value, 1);
DO3 = ComHelper.GetBitValue(value, 2);
DO4 = ComHelper.GetBitValue(value, 3);
DO5 = ComHelper.GetBitValue(value, 4);
DO6 = ComHelper.GetBitValue(value, 5);
DO7 = ComHelper.GetBitValue(value, 6);
DO8 = ComHelper.GetBitValue(value, 7);
_DOValue = value;
}
}
}
private ushort _DIValue=1;
/// <summary>
/// DI的值
/// </summary>
public ushort DIValue
{
get { return _DIValue; }
set
{
if (_DIValue != value)
{
DI1 = ComHelper.GetBitValue(value, 0);
DI2 = ComHelper.GetBitValue(value, 1);
DI3 = ComHelper.GetBitValue(value, 2);
DI4 = ComHelper.GetBitValue(value, 3);
DI5 = ComHelper.GetBitValue(value, 4);
DI6 = ComHelper.GetBitValue(value, 5);
DI7 = ComHelper.GetBitValue(value, 6);
DI8 = ComHelper.GetBitValue(value, 7);
_DIValue = value;
}
}
}
private bool _DO1;
/// <summary>
/// 直流主正继电器
/// </summary>
public bool DO1
{
get { return _DO1; }
set { _DO1 = value; RaisePropertyChanged(); }
}
private bool _DO2;
/// <summary>
/// 直流预充继电器
/// </summary>
public bool DO2
{
get { return _DO2; }
set { _DO2 = value; RaisePropertyChanged(); }
}
private bool _DO3;
/// <summary>
/// 直流主负继电器
/// </summary>
public bool DO3
{
get { return _DO3; }
set { _DO3 = value; RaisePropertyChanged(); }
}
private bool _DO4;
/// <summary>
/// 直流主断分励线圈
/// </summary>
public bool DO4
{
get { return _DO4; }
set { _DO4 = value; RaisePropertyChanged(); }
}
private bool _DO5;
/// <summary>
/// 蜂鸣器
/// </summary>
public bool DO5
{
get { return _DO5; }
set { _DO5 = value; RaisePropertyChanged(); }
}
private bool _DO6;
/// <summary>
/// 报警指示灯
/// </summary>
public bool DO6
{
get { return _DO6; }
set { _DO6 = value; RaisePropertyChanged(); }
}
private bool _DO7;
/// <summary>
/// 直流主断闭合线圈
/// </summary>
public bool DO7
{
get { return _DO7; }
set { _DO7 = value; RaisePropertyChanged(); }
}
private bool _DO8;
/// <summary>
/// 直流开关复位
/// </summary>
public bool DO8
{
get { return _DO8; }
set { _DO8 = value; RaisePropertyChanged(); }
}
private bool _DI1;
/// <summary>
/// 直流主正继电器反馈
/// </summary>
public bool DI1
{
get { return _DI1; }
set { _DI1 = value; RaisePropertyChanged(); }
}
private bool _DI2;
/// <summary>
/// XXXX
/// </summary>
public bool DI2
{
get { return _DI2; }
set { _DI2 = value; RaisePropertyChanged(); }
}
private bool _DI3;
/// <summary>
/// 直流主负继电器反馈
/// </summary>
public bool DI3
{
get { return _DI3; }
set { _DI3 = value; RaisePropertyChanged(); }
}
private bool _DI4;
/// <summary>
/// 急停
/// </summary>
public bool DI4
{
get { return _DI4; }
set { _DI4 = value; RaisePropertyChanged(); }
}
private bool _DI5;
/// <summary>
/// XXXX
/// </summary>
public bool DI5
{
get { return _DI5; }
set { _DI5 = value; RaisePropertyChanged(); }
}
private bool _DI6;
/// <summary>
/// 直流主断闭合反馈
/// </summary>
public bool DI6
{
get { return _DI6; }
set { _DI6 = value; RaisePropertyChanged(); }
}
private bool _DI7;
/// <summary>
/// 水浸
/// </summary>
public bool DI7
{
get { return _DI7; }
set { _DI7 = value; RaisePropertyChanged(); }
}
private bool _DI8;
/// <summary>
/// PCS输出
/// </summary>
public bool DI8
{
get { return _DI8; }
set { _DI8 = value; RaisePropertyChanged(); }
}
private bool _PcsAcCircuitBreaker;
/// <summary>
/// PCS 交流主断
/// 通过PCS交流侧的电压判断交流主断是否闭合
/// </summary>
public bool PcsAcCircuitBreaker
{
get { return _PcsAcCircuitBreaker; }
set { _PcsAcCircuitBreaker = value; RaisePropertyChanged(); }
}
}
}