Files
CapMachine/CapMachine.Wpf/Services/AlarmService.cs

260 lines
9.7 KiB
C#

using CapMachine.Model.Alarm;
using CapMachine.Wpf.Alarm;
using CapMachine.Wpf.Dtos;
using Prism.Events;
using Prism.Mvvm;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CapMachine.Wpf.Services
{
/// <summary>
/// 报警服务
/// </summary>
public class AlarmService : BindableBase
{
public AlarmService(ConfigService configService, IEventAggregator eventAggregator,IFreeSql freeSql
)
{
ConfigService = configService;
//事件服务
_EventAggregator = eventAggregator;
FreeSql = freeSql;
//DataRecordService = dataRecordService;
//SysRunServer = sysRunService;
ListAlarmRunCell = new ObservableCollection<AlarmRunCell>()
{
new AlarmRunCell(FreeSql){Index=0,CurAlarmConfig=new AlarmConfig()
{
Name="高压报警",
ActiveType=ActiveType.Bool,
Address="V0.1",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="高压报警",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=1,CurAlarmConfig=new AlarmConfig()
{
Name="低压报警",
ActiveType=ActiveType.Bool,
Address="V0.2",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="低压报警",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=2,CurAlarmConfig=new AlarmConfig()
{
Name="排气压力",
ActiveType=ActiveType.Bool,
Address="V0.3",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="排气压力",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=3,CurAlarmConfig=new AlarmConfig()
{
Name="吸气压力",
ActiveType=ActiveType.Bool,
Address="V0.4",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="吸气压力",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=4,CurAlarmConfig=new AlarmConfig()
{
Name="吸气温度",
ActiveType=ActiveType.Bool,
Address="V0.5",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="吸气温度",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=5,CurAlarmConfig=new AlarmConfig()
{
Name="排气温度",
ActiveType=ActiveType.Bool,
Address="V0.6",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="排气温度",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=6,CurAlarmConfig=new AlarmConfig()
{
Name="OS1",
ActiveType=ActiveType.Bool,
Address="V0.7",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="OS1",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=7,CurAlarmConfig=new AlarmConfig()
{
Name="OS2",
ActiveType=ActiveType.Bool,
Address="V1.0",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="OS2",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=8,CurAlarmConfig=new AlarmConfig()
{
Name="COND2",
ActiveType=ActiveType.Bool,
Address="V1.1",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="COND2",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=9,CurAlarmConfig=new AlarmConfig()
{
Name="COND1",
ActiveType=ActiveType.Bool,
Address="V1.2",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="COND1",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=10,CurAlarmConfig=new AlarmConfig()
{
Name="EVAP",
ActiveType=ActiveType.Bool,
Address="V1.3",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="EVAP",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=11,CurAlarmConfig=new AlarmConfig()
{
Name="GAS1",
ActiveType=ActiveType.Bool,
Address="V1.4",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="GAS1",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=12,CurAlarmConfig=new AlarmConfig()
{
Name="温湿度箱",
ActiveType=ActiveType.Bool,
Address="V1.5",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="温湿度箱",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=13,CurAlarmConfig=new AlarmConfig()
{
Name="急停",
ActiveType=ActiveType.Bool,
Address="V1.6",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="急停",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=14,CurAlarmConfig=new AlarmConfig()
{
Name="润滑油",
ActiveType=ActiveType.Bool,
Address="V1.7",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="润滑油",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=15,CurAlarmConfig=new AlarmConfig()
{
Name="R1234F",
ActiveType=ActiveType.Bool,
Address="V2.0",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="R1234F",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
new AlarmRunCell(FreeSql){Index=16,CurAlarmConfig=new AlarmConfig()
{
Name="冷却水",
ActiveType=ActiveType.Bool,
Address="V2.1",
AlarmLevel=AlarmLevel.Level1,
Category="一般报警",
Message="冷却水",
ThresholdDown=1,
ThresholdUp=1,
BoolActiveValue=true
}},
};
}
public ConfigService ConfigService { get; }
private IEventAggregator _EventAggregator { get; set; }
public IFreeSql FreeSql { get; }
public DataRecordService DataRecordService { get; }
public SysRunService SysRunServer { get; }
public MachineRtDataService MachineRtDataService { get; }
private ObservableCollection<AlarmRunCell> _ListAlarmRunCell;
/// <summary>
/// 报警实时数据集合
/// </summary>
public ObservableCollection<AlarmRunCell> ListAlarmRunCell
{
get { return _ListAlarmRunCell; }
set { _ListAlarmRunCell = value; RaisePropertyChanged(); }
}
}
}