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 { /// /// 报警服务 /// 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() { 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 _ListAlarmRunCell; /// /// 报警实时数据集合 /// public ObservableCollection ListAlarmRunCell { get { return _ListAlarmRunCell; } set { _ListAlarmRunCell = value; RaisePropertyChanged(); } } } }