1 地震仪告警记录中故障次数隐藏;电力载波机和光电交换机的供电状态隐藏; 2 除漏水和保护板事件的数据按照浮点数解析,别的按照整数解析; 3 解决TCP Server和Client存在的问题,包括无法监测到客户端连接,无法监测到服务端断开等问题;
4894 lines
249 KiB
C#
4894 lines
249 KiB
C#
using JiangsuEarthquake.Base;
|
||
using JiangsuEarthquake.Common;
|
||
using JiangsuEarthquake.DataAccess;
|
||
using JiangsuEarthquake.Models;
|
||
using LiveCharts.Defaults;
|
||
using LiveCharts.Wpf;
|
||
using LiveCharts;
|
||
using MySql.Data.MySqlClient;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Linq;
|
||
using System.Reflection;
|
||
using System.Runtime.Intrinsics.X86;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using System.Windows;
|
||
using System.Windows.Controls;
|
||
using System.Windows.Media;
|
||
using System.Windows.Threading;
|
||
using System.IO.Ports;
|
||
using JiangsuEarthquake.Views.UserControls;
|
||
using HandyControl.Tools.Extension;
|
||
using K4os.Compression.LZ4.Streams.Frames;
|
||
using Org.BouncyCastle.Crypto.Paddings;
|
||
using System.Data.Common;
|
||
using Brush = System.Windows.Media.Brush;
|
||
using Application = System.Windows.Application;
|
||
using Color = System.Windows.Media.Color;
|
||
using System.Diagnostics.Eventing.Reader;
|
||
using Org.BouncyCastle.Utilities;
|
||
|
||
namespace JiangsuEarthquake.ViewModels
|
||
{
|
||
public class MainViewModel : NotifyBase
|
||
{
|
||
|
||
#region ViewModel Define
|
||
//页面
|
||
public static RealTimeDataViewModel realTimeDataViewModel1 = new RealTimeDataViewModel(1);
|
||
public static RealTimeDataViewModel realTimeDataViewModel2 = new RealTimeDataViewModel(2);
|
||
public static AlarmRecordViewModel alarmRecordViewModel1 = new AlarmRecordViewModel(1);
|
||
public static AlarmRecordViewModel alarmRecordViewModel2 = new AlarmRecordViewModel(2);
|
||
public static BoosterStationStateDataViewModel boosterStationStateDataViewModel1 = new BoosterStationStateDataViewModel(1);
|
||
public static BoosterStationStateDataViewModel boosterStationStateDataViewModel2 = new BoosterStationStateDataViewModel(2);
|
||
public static SeismometerStateDataViewModel seismometerStateDataViewModel1 = new SeismometerStateDataViewModel(1);
|
||
public static SeismometerStateDataViewModel seismometerStateDataViewModel2 = new SeismometerStateDataViewModel(2);
|
||
public static SeismometerParameterViewModel seismometerParameterViewModel1 = new SeismometerParameterViewModel(1);
|
||
public static SeismometerParameterViewModel seismometerParameterViewModel2 = new SeismometerParameterViewModel(2);
|
||
public static LogRecordViewModel logRecordViewModel1 = new LogRecordViewModel(1);
|
||
public static LogRecordViewModel logRecordViewModel2 = new LogRecordViewModel(2);
|
||
//public static SystemControlViewModel systemControlViewModel1 = new SystemControlViewModel();
|
||
//public static SystemControlViewModel systemControlViewModel2 = new SystemControlViewModel();
|
||
public static SystemEnvironDataViewModel systemEnvironDataViewModel1 = new SystemEnvironDataViewModel(1);
|
||
public static SystemEnvironDataViewModel systemEnvironDataViewModel2 = new SystemEnvironDataViewModel(2);
|
||
public static SystemMonitorDataViewModel systemMonitorDataViewModel1 = new SystemMonitorDataViewModel(1);
|
||
public static SystemMonitorDataViewModel systemMonitorDataViewModel2 = new SystemMonitorDataViewModel(2);
|
||
public static BaseStationModelViewModel baseStationModelViewModel1 = new BaseStationModelViewModel();
|
||
public static BaseStationModelViewModel baseStationModelViewModel2 = new BaseStationModelViewModel();
|
||
|
||
//控制
|
||
public static BaseStationStateModel baseStationStateModel1 = new BaseStationStateModel();
|
||
public static BaseStationStateModel baseStationStateModel2 = new BaseStationStateModel();
|
||
|
||
//public static SwitchStateModel switchStateModel1 = new SwitchStateModel();
|
||
//public static SwitchStateModel switchStateModel2 = new SwitchStateModel();
|
||
//public static StateFeedBackModel stateFeedBackModel1 = new StateFeedBackModel();
|
||
//public static StateFeedBackModel stateFeedBackModel2 = new StateFeedBackModel();
|
||
//public static SwitchInfoModel switchInfoModel1 = new SwitchInfoModel();
|
||
//public static SwitchInfoModel switchInfoModel2 = new SwitchInfoModel();
|
||
//public static EarthQuakeParaSetModel seismometerParameterViewModel1.EarthQuakeParaSet = new EarthQuakeParaSetModel();
|
||
//public static EarthQuakeParaSetModel seismometerParameterViewModel2.EarthQuakeParaSet = new EarthQuakeParaSetModel();
|
||
//public static EarthquakeSensorModel earthquakeSensorModel1 = new EarthquakeSensorModel();
|
||
//public static EarthquakeSensorModel earthquakeSensorModel2 = new EarthquakeSensorModel();
|
||
|
||
private BaseStationStateModel bssm;
|
||
|
||
public BaseStationStateModel BSSM
|
||
{
|
||
get { return bssm; }
|
||
set { bssm = value; this.DoNotify(); }
|
||
}
|
||
|
||
//private SwitchStateModel ss;
|
||
|
||
//public SwitchStateModel SS
|
||
//{
|
||
// get { return ss; }
|
||
// set { ss = value; this.DoNotify(); }
|
||
//}
|
||
|
||
//private EarthQuakeParaSetModel eqps;
|
||
|
||
//public EarthQuakeParaSetModel EQPS
|
||
//{
|
||
// get { return eqps; }
|
||
// set { eqps = value; }
|
||
//}
|
||
|
||
//private EarthquakeSensorModel eqsm;
|
||
|
||
//public EarthquakeSensorModel EQSM
|
||
//{
|
||
// get { return eqsm; }
|
||
// set { eqsm = value; }
|
||
//}
|
||
#endregion
|
||
|
||
|
||
#region Something Define
|
||
/// <summary>
|
||
/// 刷新下控制域的DataContext
|
||
/// </summary>
|
||
//public void FlashControlPageDataContext()
|
||
//{
|
||
// if (station_id == 1)
|
||
// {
|
||
// SS = switchStateModel1;
|
||
// //EQPS = seismometerParameterViewModel1.EarthQuakeParaSet;
|
||
// //EQSM = earthquakeSensorModel1;
|
||
// }
|
||
// else if (station_id == 2)
|
||
// {
|
||
// SS = switchStateModel2;
|
||
// //EQPS = seismometerParameterViewModel2.EarthQuakeParaSet;
|
||
// //EQSM = earthquakeSensorModel2;
|
||
// }
|
||
//}
|
||
|
||
private FrameworkElement _pageContent;
|
||
|
||
public FrameworkElement PageContent
|
||
{
|
||
get { return _pageContent; }
|
||
set { _pageContent = value; this.DoNotify(); }
|
||
}
|
||
|
||
public int station_id { get; set; } = 1;
|
||
|
||
int ChartPointNum = 15;
|
||
|
||
|
||
|
||
string Title_Name = ""; //设置当前显示的标题 1 浮标 2 接驳盒 3 系统控制 4 日志记录
|
||
|
||
private string bDCountDown = "";
|
||
|
||
public string BDCountDown
|
||
{
|
||
get { return bDCountDown; }
|
||
set { bDCountDown = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool gridIsEnabled = true;
|
||
|
||
public bool GridIsEnabled
|
||
{
|
||
get { return gridIsEnabled; }
|
||
set { gridIsEnabled = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Visibility vis = Visibility.Hidden;
|
||
/// <summary>
|
||
/// 按钮是否可见
|
||
/// </summary>
|
||
public Visibility DetailButtonVisibility
|
||
{
|
||
get { return vis; }
|
||
set { vis = value; this.DoNotify(); }
|
||
}
|
||
|
||
public static ErrorMessageModel EM { get; set; } = new ErrorMessageModel();
|
||
#endregion
|
||
|
||
|
||
#region CommandBase Define
|
||
public CommandBase NavChangedCommand { get; set; }
|
||
|
||
public CommandBase CommunicationChangedCommand { get; set; }//切换控制器的通信路径
|
||
|
||
public CommandBase Switch { set; get; }
|
||
#endregion
|
||
|
||
|
||
#region Timer Define
|
||
public DispatcherTimer timerOpenSetMsgHidden = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerCloseSetMsgHidden = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerSeisZeroSetStart = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerSeisZeroSetStop = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerSeisLevelSetStart = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerSeisLevelSetStop = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerMainSeis1ConnectMsgHidden = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerBackupSeis1ConnectMsgHidden = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerMainSeis2ConnectMsgHidden = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerBackupSeis2ConnectMsgHidden = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerBaseStationMsgHidden = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerMainSeisMsgHidden = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerBackupSeisMsgHidden = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerElectMsgHidden = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerBaseStationPowerOn = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerBaseStationPowerOff = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerMainSeisPowerOn = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerMainSeisPowerOff = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerBackupSeisPowerOn = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerBackupSeisPowerOff = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerElectPowerOn = new DispatcherTimer();
|
||
|
||
public DispatcherTimer timerElectPowerOff = new DispatcherTimer();
|
||
#endregion
|
||
|
||
|
||
#region Communication
|
||
//下位机
|
||
public CommandBase Socket1DoOpenCommand { get; set; }
|
||
|
||
public CommandBase Socket2DoOpenCommand { get; set; }
|
||
|
||
public ServerModel serverModel1 { get; set; } = new ServerModel();
|
||
|
||
public ServerModel serverModel2 { get; set; } = new ServerModel();
|
||
|
||
public static SocketInfo SocketServerInfo1 { get; set; } = new SocketInfo() //PLC1连接信息
|
||
{
|
||
IP = Tools.GetAppSetting("XWJ_Service_IP1"),
|
||
Port = Convert.ToInt32(Tools.GetAppSetting("XWJ_Service_Port1"))
|
||
};
|
||
|
||
public static SocketInfo SocketServerInfo2 { get; set; } = new SocketInfo() //PLC2连接信息
|
||
{
|
||
IP = Tools.GetAppSetting("XWJ_Service_IP2"),
|
||
Port = Convert.ToInt32(Tools.GetAppSetting("XWJ_Service_Port2"))
|
||
};
|
||
|
||
|
||
//升压站
|
||
public CommandBase Socket1DoConnectCommand { get; set; } //客户端连接/断开操作
|
||
|
||
public CommandBase Socket2DoConnectCommand { get; set; } //客户端连接/断开操作
|
||
|
||
public ClientModel clientModel1 { get; set; } = new ClientModel();
|
||
|
||
public ClientModel clientModel2 { get; set; } = new ClientModel();
|
||
|
||
public static SocketInfo SocketInfo1 { get; set; } = new SocketInfo() //PLC1连接信息
|
||
{
|
||
IP = Tools.GetAppSetting("SYZ_Client_IP1"),
|
||
Port = Convert.ToInt32(Tools.GetAppSetting("SYZ_Client_Port1"))
|
||
};
|
||
|
||
public static SocketInfo SocketInfo2 { get; set; } = new SocketInfo() //PLC2连接信息
|
||
{
|
||
IP = Tools.GetAppSetting("SYZ_Client_IP2"),
|
||
Port = Convert.ToInt32(Tools.GetAppSetting("SYZ_Client_Port2"))
|
||
};
|
||
|
||
|
||
//地震仪
|
||
public CommandBase SocketMainSeis1DoConnectCommand { get; set; } //客户端连接/断开操作
|
||
|
||
public CommandBase SocketMainSeis2DoConnectCommand { get; set; } //客户端连接/断开操作
|
||
|
||
public CommandBase SocketBackupSeis1DoConnectCommand { get; set; } //客户端连接/断开操作
|
||
|
||
public CommandBase SocketBackupSeis2DoConnectCommand { get; set; } //客户端连接/断开操作
|
||
|
||
public ClientModel clientModelMainSeis1 { get; set; } = new ClientModel();
|
||
|
||
public ClientModel clientModelMainSeis2 { get; set; } = new ClientModel();
|
||
|
||
public ClientModel clientModelBackupSeis1 { get; set; } = new ClientModel();
|
||
|
||
public ClientModel clientModelBackupSeis2 { get; set; } = new ClientModel();
|
||
|
||
public static SocketInfo SocketInfoMainSeis1 { get; set; } = new SocketInfo()
|
||
{
|
||
IP = Tools.GetAppSetting("MainSeis_Client_IP1"),
|
||
Port = Convert.ToInt32(Tools.GetAppSetting("MainSeis_Client_Port1"))
|
||
};
|
||
|
||
public static SocketInfo SocketInfoMainSeis2 { get; set; } = new SocketInfo()
|
||
{
|
||
IP = Tools.GetAppSetting("MainSeis_Client_IP2"),
|
||
Port = Convert.ToInt32(Tools.GetAppSetting("MainSeis_Client_Port2"))
|
||
};
|
||
|
||
public static SocketInfo SocketInfoBackupSeis1 { get; set; } = new SocketInfo()
|
||
{
|
||
IP = Tools.GetAppSetting("BackupSeis_Client_IP1"),
|
||
Port = Convert.ToInt32(Tools.GetAppSetting("BackupSeis_Client_Port1"))
|
||
};
|
||
|
||
public static SocketInfo SocketInfoBackupSeis2 { get; set; } = new SocketInfo()
|
||
{
|
||
IP = Tools.GetAppSetting("BackupSeis_Client_IP2"),
|
||
Port = Convert.ToInt32(Tools.GetAppSetting("BackupSeis_Client_Port2"))
|
||
};
|
||
|
||
|
||
#region Useless
|
||
//public CommandBase Com1DoConnectCommand { get; set; } //串口连接/断开操作
|
||
//public CommandBase Com2DoConnectCommand { get; set; } //串口连接/断开操作
|
||
|
||
//public ComModel comModel1 { get; set; } = new ComModel();
|
||
|
||
//public ComModel2 comModel2 { get; set; } = new ComModel2();
|
||
|
||
//public static SerialInfo SerialInfo1 { get; set; } = new SerialInfo() //初始化串口连接信息
|
||
//{
|
||
// PortName = Tools.GetAppSetting("PortName1"),
|
||
// BaudRate = Convert.ToInt32(Tools.GetAppSetting("BaudRate1")),
|
||
// DataBit = 8,
|
||
// Parity = Parity.None,
|
||
// StopBits = StopBits.One
|
||
//};
|
||
|
||
//public static SerialInfo SerialInfo2 { get; set; } = new SerialInfo() //初始化串口连接信息
|
||
//{
|
||
// PortName = Tools.GetAppSetting("PortName2"),
|
||
// BaudRate = Convert.ToInt32(Tools.GetAppSetting("BaudRate2")),
|
||
// DataBit = 8,
|
||
// Parity = Parity.None,
|
||
// StopBits = StopBits.One
|
||
//};
|
||
#endregion
|
||
#endregion
|
||
|
||
|
||
public static DialogViewModel vm;
|
||
|
||
|
||
public MainViewModel()
|
||
{
|
||
vm = new DialogViewModel
|
||
{
|
||
Content = ""
|
||
};
|
||
|
||
|
||
#region Command Define
|
||
this.NavChangedCommand = new CommandBase();
|
||
this.NavChangedCommand.DoExcute = new Action<object>(DoNavChanged);
|
||
this.NavChangedCommand.DoCanExcute = new Func<object, bool>((o) => true);
|
||
|
||
this.Switch = new CommandBase();
|
||
this.Switch.DoExcute = new Action<object>(Btn_Switch);
|
||
this.Switch.DoCanExcute = new Func<object, bool>((o) => true);
|
||
|
||
this.Socket1DoOpenCommand = new CommandBase();
|
||
this.Socket1DoOpenCommand.DoExcute = new Action<object>(Socket1DoOpen);
|
||
this.Socket1DoOpenCommand.DoCanExcute = new Func<object, bool>((o) => true);
|
||
|
||
this.Socket2DoOpenCommand = new CommandBase();
|
||
this.Socket2DoOpenCommand.DoExcute = new Action<object>(Socket2DoOpen);
|
||
this.Socket2DoOpenCommand.DoCanExcute = new Func<object, bool>((o) => true);
|
||
|
||
this.Socket1DoConnectCommand = new CommandBase();
|
||
this.Socket1DoConnectCommand.DoExcute = new Action<object>(DoSocket1Connect);
|
||
this.Socket1DoConnectCommand.DoCanExcute = new Func<object, bool>((o) => true);
|
||
|
||
this.Socket2DoConnectCommand = new CommandBase();
|
||
this.Socket2DoConnectCommand.DoExcute = new Action<object>(DoSocket2Connect);
|
||
this.Socket2DoConnectCommand.DoCanExcute = new Func<object, bool>((o) => true);
|
||
|
||
this.SocketMainSeis1DoConnectCommand = new CommandBase();
|
||
this.SocketMainSeis1DoConnectCommand.DoExcute = new Action<object>(DoSocketMainSeis1Connect);
|
||
this.SocketMainSeis1DoConnectCommand.DoCanExcute = new Func<object, bool>((o) => true);
|
||
|
||
this.SocketMainSeis2DoConnectCommand = new CommandBase();
|
||
this.SocketMainSeis2DoConnectCommand.DoExcute = new Action<object>(DoSocketMainSeis2Connect);
|
||
this.SocketMainSeis2DoConnectCommand.DoCanExcute = new Func<object, bool>((o) => true);
|
||
|
||
this.SocketBackupSeis1DoConnectCommand = new CommandBase();
|
||
this.SocketBackupSeis1DoConnectCommand.DoExcute = new Action<object>(DoSocketBackupSeis1Connect);
|
||
this.SocketBackupSeis1DoConnectCommand.DoCanExcute = new Func<object, bool>((o) => true);
|
||
|
||
this.SocketBackupSeis2DoConnectCommand = new CommandBase();
|
||
this.SocketBackupSeis2DoConnectCommand.DoExcute = new Action<object>(DoSocketBackupSeis2Connect);
|
||
this.SocketBackupSeis2DoConnectCommand.DoCanExcute = new Func<object, bool>((o) => true);
|
||
#endregion
|
||
|
||
|
||
#region Timer Set
|
||
timerOpenSetMsgHidden.Interval = TimeSpan.FromSeconds(2);
|
||
timerOpenSetMsgHidden.Tick += TimerOpenSetMsgHidden_Tick;
|
||
|
||
timerCloseSetMsgHidden.Interval = TimeSpan.FromSeconds(2);
|
||
timerCloseSetMsgHidden.Tick += TimerCloseSetMsgHidden_Tick;
|
||
|
||
timerSeisZeroSetStart.Interval = TimeSpan.FromSeconds(20);
|
||
timerSeisZeroSetStart.Tick += TimerSeisZeroSetStart_Tick;
|
||
|
||
timerSeisZeroSetStop.Interval = TimeSpan.FromSeconds(20);
|
||
timerSeisZeroSetStop.Tick += TimerSeisZeroSetStop_Tick;
|
||
|
||
timerSeisLevelSetStart.Interval = TimeSpan.FromSeconds(20);
|
||
timerSeisLevelSetStart.Tick += TimerSeisLevelSetStart_Tick;
|
||
|
||
timerSeisLevelSetStop.Interval = TimeSpan.FromSeconds(20);
|
||
timerSeisLevelSetStop.Tick += TimerSeisLevelSetStop_Tick;
|
||
|
||
timerMainSeis1ConnectMsgHidden.Interval = TimeSpan.FromSeconds(2);
|
||
timerMainSeis1ConnectMsgHidden.Tick += TimerMainSeis1ConnectMsgHidden_Tick;
|
||
|
||
timerBackupSeis1ConnectMsgHidden.Interval = TimeSpan.FromSeconds(2);
|
||
timerBackupSeis1ConnectMsgHidden.Tick += TimerBackupSeis1ConnectMsgHidden_Tick;
|
||
|
||
timerMainSeis2ConnectMsgHidden.Interval = TimeSpan.FromSeconds(2);
|
||
timerMainSeis2ConnectMsgHidden.Tick += TimerMainSeis2ConnectMsgHidden_Tick;
|
||
|
||
timerBackupSeis2ConnectMsgHidden.Interval = TimeSpan.FromSeconds(2);
|
||
timerBackupSeis2ConnectMsgHidden.Tick += TimerBackupSeis2ConnectMsgHidden_Tick;
|
||
|
||
timerBaseStationMsgHidden.Interval = TimeSpan.FromSeconds(2);
|
||
timerBaseStationMsgHidden.Tick += TimerBaseStationMsgHidden_Tick;
|
||
|
||
timerMainSeisMsgHidden.Interval = TimeSpan.FromSeconds(2);
|
||
timerMainSeisMsgHidden.Tick += TimerMainSeisMsgHidden_Tick;
|
||
|
||
timerBackupSeisMsgHidden.Interval = TimeSpan.FromSeconds(2);
|
||
timerBackupSeisMsgHidden.Tick += TimerBackupSeisMsgHidden_Tick;
|
||
|
||
timerElectMsgHidden.Interval = TimeSpan.FromSeconds(2);
|
||
timerElectMsgHidden.Tick += TimerElectMsgHidden_Tick;
|
||
|
||
timerBaseStationPowerOn.Interval = TimeSpan.FromSeconds(20);
|
||
timerBaseStationPowerOn.Tick += TimerBaseStationPowerOn_Tick;
|
||
|
||
timerBaseStationPowerOff.Interval = TimeSpan.FromSeconds(20);
|
||
timerBaseStationPowerOff.Tick += TimerBaseStationPowerOff_Tick;
|
||
|
||
timerMainSeisPowerOn.Interval = TimeSpan.FromSeconds(20);
|
||
timerMainSeisPowerOn.Tick += TimerMainSeisPowerOn_Tick;
|
||
|
||
timerMainSeisPowerOff.Interval = TimeSpan.FromSeconds(20);
|
||
timerMainSeisPowerOff.Tick += TimerMainSeisPowerOff_Tick;
|
||
|
||
timerBackupSeisPowerOn.Interval = TimeSpan.FromSeconds(20);
|
||
timerBackupSeisPowerOn.Tick += TimerBackupSeisPowerOn_Tick;
|
||
|
||
timerBackupSeisPowerOff.Interval = TimeSpan.FromSeconds(20);
|
||
timerBackupSeisPowerOff.Tick += TimerBackupSeisPowerOff_Tick;
|
||
|
||
timerElectPowerOn.Interval = TimeSpan.FromSeconds(20);
|
||
timerElectPowerOn.Tick += TimerElectPowerOn_Tick;
|
||
|
||
timerElectPowerOff.Interval = TimeSpan.FromSeconds(20);
|
||
timerElectPowerOff.Tick += TimerElectPowerOff_Tick;
|
||
#endregion
|
||
|
||
|
||
#region 日志页面初始化
|
||
string sql = String.Format("select * from log_record where StationID = {0} ORDER by id desc limit 100", 1);
|
||
MySqlDataReader dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
int index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
LogRecordModel logRecord = new LogRecordModel();
|
||
logRecord.Index = index++;
|
||
logRecord.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
logRecord.Device_Name = dataReader["Device_Name"].ToString();
|
||
logRecord.Operation_Type = dataReader["Operation_Type"].ToString();
|
||
logRecord.Record = dataReader["Record"].ToString();
|
||
logRecordViewModel1.TotalLogRecordList.Add(logRecord);
|
||
}
|
||
dataReader.Dispose();
|
||
logRecordViewModel1.RecordCount = index - 1;
|
||
logRecordViewModel1.TotalPage = index <= 10 ? 1 : (int)Math.Ceiling((double)index / 10);
|
||
|
||
for (int i = 0; i < (logRecordViewModel1.RecordCount < 10 ? logRecordViewModel1.RecordCount : 10); i++)
|
||
{
|
||
logRecordViewModel1.LogRecordList.Add(logRecordViewModel1.TotalLogRecordList[i]);
|
||
}
|
||
logRecordViewModel1.LogMsg = string.Format("共计{0}页,当前第{1}页", logRecordViewModel1.TotalPage, 1);
|
||
|
||
sql = String.Format("select * from log_record where StationID = {0} ORDER by id desc limit 100", 2);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
LogRecordModel logRecord = new LogRecordModel();
|
||
logRecord.Index = index++;
|
||
logRecord.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
logRecord.Device_Name = dataReader["Device_Name"].ToString();
|
||
logRecord.Operation_Type = dataReader["Operation_Type"].ToString();
|
||
logRecord.Record = dataReader["Record"].ToString();
|
||
logRecordViewModel2.TotalLogRecordList.Add(logRecord);
|
||
}
|
||
dataReader.Dispose();
|
||
logRecordViewModel2.RecordCount = index - 1;
|
||
logRecordViewModel2.TotalPage = index <= 10 ? 1 : (int)Math.Ceiling((double)index / 10);
|
||
for (int i = 0; i < (logRecordViewModel2.RecordCount < 10 ? logRecordViewModel2.RecordCount : 10); i++)
|
||
{
|
||
logRecordViewModel2.LogRecordList.Add(logRecordViewModel2.TotalLogRecordList[i]);
|
||
}
|
||
logRecordViewModel2.LogMsg = string.Format("共计{0}页,当前第{1}页", logRecordViewModel2.TotalPage, 1);
|
||
#endregion
|
||
|
||
|
||
#region 告警页面初始化
|
||
sql = String.Format("select * from alarm_info where StationID = {0} ORDER by id desc limit 100", 1);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
AlarmRecordModel alarmRecordModel = new AlarmRecordModel();
|
||
alarmRecordModel.Index = index++;
|
||
alarmRecordModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
alarmRecordModel.ParaName = dataReader["ParaName"].ToString();
|
||
alarmRecordModel.ParaNum = Convert.ToInt32(string.IsNullOrEmpty(dataReader["ParaNum"].ToString()) ? 0 : dataReader["ParaNum"]);
|
||
alarmRecordModel.ParaContent = dataReader["ParaContent"].ToString();
|
||
alarmRecordModel.ProcessingMethod = dataReader["ProcessingMethod"].ToString();
|
||
if (dataReader["UrgencyLevel"].ToString() == "1")
|
||
{
|
||
alarmRecordModel.UrgencyLevel = (ImageSource)Application.Current.FindResource("CycleRed");
|
||
}
|
||
else if (dataReader["UrgencyLevel"].ToString() == "2")
|
||
{
|
||
alarmRecordModel.UrgencyLevel = (ImageSource)Application.Current.FindResource("CycleOrange");
|
||
}
|
||
else
|
||
{
|
||
alarmRecordModel.UrgencyLevel = (ImageSource)Application.Current.FindResource("CycleYellow");
|
||
}
|
||
if (dataReader["IsHandled"].ToString() == "0")
|
||
{
|
||
alarmRecordModel.IsHandled = "未处理";
|
||
}
|
||
else if (dataReader["IsHandled"].ToString() == "1")
|
||
{
|
||
alarmRecordModel.IsHandled = "已处理";
|
||
}
|
||
else
|
||
{
|
||
alarmRecordModel.IsHandled = "处理中";
|
||
}
|
||
alarmRecordViewModel1.TotalAlarmRecordList.Add(alarmRecordModel);
|
||
}
|
||
dataReader.Dispose();
|
||
alarmRecordViewModel1.RecordCount = index - 1;
|
||
alarmRecordViewModel1.TotalPage = (index - 1) <= 10 ? 1 : (int)Math.Ceiling((double)(index - 1) / 10);
|
||
for (int i = 0; i < (alarmRecordViewModel1.RecordCount < 10 ? alarmRecordViewModel1.RecordCount : 10); i++)
|
||
{
|
||
alarmRecordViewModel1.AlarmRecordList.Add(alarmRecordViewModel1.TotalAlarmRecordList[i]);
|
||
}
|
||
alarmRecordViewModel1.AlarmMsg = string.Format("共计{0}页,当前第{1}页", alarmRecordViewModel1.TotalPage, 1);
|
||
|
||
sql = String.Format("select * from alarm_info where StationID = {0} ORDER by id desc limit 100", 2);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
AlarmRecordModel alarmRecordModel = new AlarmRecordModel();
|
||
alarmRecordModel.Index = index++;
|
||
alarmRecordModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
alarmRecordModel.ParaName = dataReader["ParaName"].ToString();
|
||
alarmRecordModel.ParaNum = Convert.ToInt32(string.IsNullOrEmpty(dataReader["ParaNum"].ToString()) ? 0 : dataReader["ParaNum"]);
|
||
alarmRecordModel.ParaContent = dataReader["ParaContent"].ToString();
|
||
alarmRecordModel.ProcessingMethod = dataReader["ProcessingMethod"].ToString();
|
||
if (dataReader["UrgencyLevel"].ToString() == "1")
|
||
{
|
||
alarmRecordModel.UrgencyLevel = (ImageSource)Application.Current.FindResource("CycleRed");
|
||
}
|
||
else if (dataReader["UrgencyLevel"].ToString() == "2")
|
||
{
|
||
alarmRecordModel.UrgencyLevel = (ImageSource)Application.Current.FindResource("CycleOrange");
|
||
}
|
||
else
|
||
{
|
||
alarmRecordModel.UrgencyLevel = (ImageSource)Application.Current.FindResource("CycleYellow");
|
||
}
|
||
if (dataReader["IsHandled"].ToString() == "0")
|
||
{
|
||
alarmRecordModel.IsHandled = "未处理";
|
||
}
|
||
else if (dataReader["IsHandled"].ToString() == "1")
|
||
{
|
||
alarmRecordModel.IsHandled = "已处理";
|
||
}
|
||
else
|
||
{
|
||
alarmRecordModel.IsHandled = "处理中";
|
||
}
|
||
alarmRecordViewModel2.TotalAlarmRecordList.Add(alarmRecordModel);
|
||
}
|
||
dataReader.Dispose();
|
||
alarmRecordViewModel2.RecordCount = index - 1;
|
||
alarmRecordViewModel2.TotalPage = (index - 1) <= 10 ? 1 : (int)Math.Ceiling((double)(index - 1) / 10);
|
||
for (int i = 0; i < (alarmRecordViewModel2.RecordCount < 10 ? alarmRecordViewModel2.RecordCount : 10); i++)
|
||
{
|
||
alarmRecordViewModel2.AlarmRecordList.Add(alarmRecordViewModel2.TotalAlarmRecordList[i]);
|
||
}
|
||
alarmRecordViewModel2.AlarmMsg = string.Format("共计{0}页,当前第{1}页", alarmRecordViewModel2.TotalPage, 1);
|
||
#endregion
|
||
|
||
|
||
#region 系统环境数据页面初始化
|
||
sql = String.Format("select * from juncbox_env where StationID = {0} ORDER by id desc limit 100", 1);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
string sqlSub = String.Format("select * from juncbox_cavity_state where StationID = {0} ORDER by id desc limit 100", 1);
|
||
MySqlDataReader dataReaderSub = DBHelper.ExecuteReader(sqlSub, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
BaseStationEnvirModel baseStationEnvirModel = new BaseStationEnvirModel();
|
||
baseStationEnvirModel.Index = index++;
|
||
baseStationEnvirModel.DataTime = Convert.ToDateTime(dataReader["DataTime"]);
|
||
baseStationEnvirModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
baseStationEnvirModel.Temperature = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Temperature"].ToString()) ? "0" : dataReader["Temperature"]);
|
||
baseStationEnvirModel.Humidity = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Humidity"].ToString()) ? "0" : dataReader["Humidity"]);
|
||
baseStationEnvirModel.AttitudeX = Convert.ToSingle(string.IsNullOrEmpty(dataReader["AttitudeX"].ToString()) ? "0" : dataReader["AttitudeX"]);
|
||
baseStationEnvirModel.AttitudeY = Convert.ToSingle(string.IsNullOrEmpty(dataReader["AttitudeY"].ToString()) ? "0" : dataReader["AttitudeY"]);
|
||
baseStationEnvirModel.AttitudeZ = Convert.ToSingle(string.IsNullOrEmpty(dataReader["AttitudeZ"].ToString()) ? "0" : dataReader["AttitudeZ"]);
|
||
|
||
if (dataReaderSub.Read())
|
||
{
|
||
int leakState = Convert.ToInt32(string.IsNullOrEmpty(dataReaderSub["Leakage"].ToString()) ? "2" : dataReaderSub["Leakage"]);
|
||
if (leakState == 1)
|
||
{
|
||
baseStationEnvirModel.Leakage = (ImageSource)Application.Current.FindResource("CycleRed");
|
||
}
|
||
else if (leakState == 0)
|
||
{
|
||
baseStationEnvirModel.Leakage = (ImageSource)Application.Current.FindResource("CycleGreen");
|
||
}
|
||
else
|
||
{
|
||
baseStationEnvirModel.Leakage = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
}
|
||
|
||
//int hatchState = Convert.ToInt32(string.IsNullOrEmpty(dataReaderSub["Hatch_State"].ToString()) ? "2" : dataReaderSub["Hatch_State"]);
|
||
//if (hatchState == 1)
|
||
//{
|
||
// baseStationEnvirModel.Hatch_State = (ImageSource)Application.Current.FindResource("CycleRed");
|
||
//}
|
||
//else if (hatchState == 0)
|
||
//{
|
||
// baseStationEnvirModel.Hatch_State = (ImageSource)Application.Current.FindResource("CycleGreen");
|
||
//}
|
||
//else
|
||
//{
|
||
// baseStationEnvirModel.Hatch_State = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
//}
|
||
}
|
||
else
|
||
{
|
||
baseStationEnvirModel.Leakage = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
//baseStationEnvirModel.Hatch_State = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
}
|
||
|
||
systemEnvironDataViewModel1.TotalSystemStateDataList.Add(baseStationEnvirModel);
|
||
}
|
||
dataReader.Dispose();
|
||
dataReaderSub.Dispose();
|
||
|
||
systemEnvironDataViewModel1.RecordCount = index - 1;
|
||
systemEnvironDataViewModel1.TotalPage = (index - 1) <= 10 ? 1 : (int)Math.Ceiling((double)(index - 1) / 10);
|
||
for (int i = 0; i < (systemEnvironDataViewModel1.RecordCount < 10 ? systemEnvironDataViewModel1.RecordCount : 10); i++)
|
||
{
|
||
systemEnvironDataViewModel1.SystemStateDataList.Add(systemEnvironDataViewModel1.TotalSystemStateDataList[i]);
|
||
}
|
||
systemEnvironDataViewModel1.SystemStateMsg = string.Format("共计{0}页,当前第{1}页", systemEnvironDataViewModel1.TotalPage, 1);
|
||
|
||
sql = String.Format("select * from juncbox_env where StationID = {0} ORDER by id desc limit 100", 2);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
sqlSub = String.Format("select * from juncbox_cavity_state where StationID = {0} ORDER by id desc limit 100", 2);
|
||
dataReaderSub = DBHelper.ExecuteReader(sqlSub, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
BaseStationEnvirModel baseStationEnvirModel = new BaseStationEnvirModel();
|
||
baseStationEnvirModel.Index = index++;
|
||
baseStationEnvirModel.DataTime = Convert.ToDateTime(dataReader["DataTime"]);
|
||
baseStationEnvirModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
baseStationEnvirModel.Temperature = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Temperature"].ToString()) ? "0" : dataReader["Temperature"]);
|
||
baseStationEnvirModel.Humidity = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Humidity"].ToString()) ? "0" : dataReader["Humidity"]);
|
||
baseStationEnvirModel.AttitudeX = Convert.ToSingle(string.IsNullOrEmpty(dataReader["AttitudeX"].ToString()) ? "0" : dataReader["AttitudeX"]);
|
||
baseStationEnvirModel.AttitudeY = Convert.ToSingle(string.IsNullOrEmpty(dataReader["AttitudeY"].ToString()) ? "0" : dataReader["AttitudeY"]);
|
||
baseStationEnvirModel.AttitudeZ = Convert.ToSingle(string.IsNullOrEmpty(dataReader["AttitudeZ"].ToString()) ? "0" : dataReader["AttitudeZ"]);
|
||
|
||
if (dataReaderSub.Read())
|
||
{
|
||
int leakState = Convert.ToInt32(string.IsNullOrEmpty(dataReaderSub["Leakage"].ToString()) ? "2" : dataReaderSub["Leakage"]);
|
||
if (leakState == 1)
|
||
{
|
||
baseStationEnvirModel.Leakage = (ImageSource)Application.Current.FindResource("CycleRed");
|
||
}
|
||
else if (leakState == 0)
|
||
{
|
||
baseStationEnvirModel.Leakage = (ImageSource)Application.Current.FindResource("CycleGreen");
|
||
}
|
||
else
|
||
{
|
||
baseStationEnvirModel.Leakage = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
}
|
||
|
||
//int hatchState = Convert.ToInt32(string.IsNullOrEmpty(dataReaderSub["Hatch_State"].ToString()) ? "2" : dataReaderSub["Hatch_State"]);
|
||
//if (hatchState == 1)
|
||
//{
|
||
// baseStationEnvirModel.Hatch_State = (ImageSource)Application.Current.FindResource("CycleRed");
|
||
//}
|
||
//else if (hatchState == 0)
|
||
//{
|
||
// baseStationEnvirModel.Hatch_State = (ImageSource)Application.Current.FindResource("CycleGreen");
|
||
//}
|
||
//else
|
||
//{
|
||
// baseStationEnvirModel.Hatch_State = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
//}
|
||
}
|
||
else
|
||
{
|
||
baseStationEnvirModel.Leakage = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
//baseStationEnvirModel.Hatch_State = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
}
|
||
|
||
systemEnvironDataViewModel2.TotalSystemStateDataList.Add(baseStationEnvirModel);
|
||
}
|
||
dataReader.Dispose();
|
||
dataReaderSub.Dispose();
|
||
|
||
systemEnvironDataViewModel2.RecordCount = index - 1;
|
||
systemEnvironDataViewModel2.TotalPage = (index - 1) <= 10 ? 1 : (int)Math.Ceiling((double)(index - 1) / 10);
|
||
for (int i = 0; i < (systemEnvironDataViewModel2.RecordCount < 10 ? systemEnvironDataViewModel2.RecordCount : 10); i++)
|
||
{
|
||
systemEnvironDataViewModel2.SystemStateDataList.Add(systemEnvironDataViewModel2.TotalSystemStateDataList[i]);
|
||
}
|
||
systemEnvironDataViewModel2.SystemStateMsg = string.Format("共计{0}页,当前第{1}页", systemEnvironDataViewModel2.TotalPage, 1);
|
||
#endregion
|
||
|
||
|
||
#region 系统状态数据页面初始化
|
||
sql = String.Format("select * from juncbox_monitor where StationID = {0} ORDER by id desc limit 100", 1);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
BaseStationMonitorModel baseStationMonitorModel = new BaseStationMonitorModel();
|
||
baseStationMonitorModel.Index = index++;
|
||
baseStationMonitorModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
baseStationMonitorModel.Seis1_Voltage = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Seis1_Voltage"].ToString()) ? "0" : dataReader["Seis1_Voltage"]);
|
||
baseStationMonitorModel.Seis1_Current = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Seis1_Current"].ToString()) ? "0" : dataReader["Seis1_Current"]);
|
||
baseStationMonitorModel.Seis2_Voltage = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Seis2_Voltage"].ToString()) ? "0" : dataReader["Seis2_Voltage"]);
|
||
baseStationMonitorModel.Seis2_Current = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Seis2_Current"].ToString()) ? "0" : dataReader["Seis2_Current"]);
|
||
baseStationMonitorModel.Elect_Current = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Elect_Current"].ToString()) ? "0" : dataReader["Elect_Current"]);
|
||
baseStationMonitorModel.Out_Voltage12_Reserved1 = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Out_Voltage12_Reserved1"].ToString()) ? "0" : dataReader["Out_Voltage12_Reserved1"]);
|
||
baseStationMonitorModel.Out_Voltage12_Reserved2 = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Out_Voltage12_Reserved2"].ToString()) ? "0" : dataReader["Out_Voltage12_Reserved2"]);
|
||
baseStationMonitorModel.Reserved = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Reserved"].ToString()) ? "0" : dataReader["Reserved"]);
|
||
systemMonitorDataViewModel1.TotalSystemMonitorDataList.Add(baseStationMonitorModel);
|
||
}
|
||
dataReader.Dispose();
|
||
|
||
systemMonitorDataViewModel1.RecordCount = index - 1;
|
||
systemMonitorDataViewModel1.TotalPage = (index - 1) <= 10 ? 1 : (int)Math.Ceiling((double)(index - 1) / 10);
|
||
for (int i = 0; i < (systemMonitorDataViewModel1.RecordCount < 10 ? systemMonitorDataViewModel1.RecordCount : 10); i++)
|
||
{
|
||
systemMonitorDataViewModel1.SystemMonitorDataList.Add(systemMonitorDataViewModel1.TotalSystemMonitorDataList[i]);
|
||
}
|
||
systemMonitorDataViewModel1.SystemMonitorDataMsg = string.Format("共计{0}页,当前第{1}页", systemMonitorDataViewModel1.TotalPage, 1);
|
||
|
||
sql = String.Format("select * from juncbox_monitor where StationID = {0} ORDER by id desc limit 100", 2);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
BaseStationMonitorModel baseStationMonitorModel = new BaseStationMonitorModel();
|
||
baseStationMonitorModel.Index = index++;
|
||
baseStationMonitorModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
baseStationMonitorModel.Seis1_Voltage = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Seis1_Voltage"].ToString()) ? "0" : dataReader["Seis1_Voltage"]);
|
||
baseStationMonitorModel.Seis1_Current = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Seis1_Current"].ToString()) ? "0" : dataReader["Seis1_Current"]);
|
||
baseStationMonitorModel.Seis2_Voltage = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Seis2_Voltage"].ToString()) ? "0" : dataReader["Seis2_Voltage"]);
|
||
baseStationMonitorModel.Seis2_Current = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Seis2_Current"].ToString()) ? "0" : dataReader["Seis2_Current"]);
|
||
baseStationMonitorModel.Elect_Current = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Elect_Current"].ToString()) ? "0" : dataReader["Elect_Current"]);
|
||
baseStationMonitorModel.Out_Voltage12_Reserved1 = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Out_Voltage12_Reserved1"].ToString()) ? "0" : dataReader["Out_Voltage12_Reserved1"]);
|
||
baseStationMonitorModel.Out_Voltage12_Reserved2 = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Out_Voltage12_Reserved2"].ToString()) ? "0" : dataReader["Out_Voltage12_Reserved2"]);
|
||
baseStationMonitorModel.Reserved = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Reserved"].ToString()) ? "0" : dataReader["Reserved"]);
|
||
systemMonitorDataViewModel2.TotalSystemMonitorDataList.Add(baseStationMonitorModel);
|
||
}
|
||
dataReader.Dispose();
|
||
|
||
systemMonitorDataViewModel2.RecordCount = index - 1;
|
||
systemMonitorDataViewModel2.TotalPage = (index - 1) <= 10 ? 1 : (int)Math.Ceiling((double)(index - 1) / 10);
|
||
for (int i = 0; i < (systemMonitorDataViewModel2.RecordCount < 10 ? systemMonitorDataViewModel2.RecordCount : 10); i++)
|
||
{
|
||
systemMonitorDataViewModel2.SystemMonitorDataList.Add(systemMonitorDataViewModel2.TotalSystemMonitorDataList[i]);
|
||
}
|
||
systemMonitorDataViewModel2.SystemMonitorDataMsg = string.Format("共计{0}页,当前第{1}页", systemMonitorDataViewModel2.TotalPage, 1);
|
||
#endregion
|
||
|
||
|
||
#region 升压站状态数据界面初始化
|
||
sql = String.Format("select RecordTime,In_Vol,In_Cur,Power,RelayStatus from boosterstation_state where StationID = {0} ORDER by id desc limit 100", 1);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
BoosterStationStateDataModel boosterStationStateDataModel = new BoosterStationStateDataModel();
|
||
boosterStationStateDataModel.Index = index++;
|
||
boosterStationStateDataModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
boosterStationStateDataModel.In_Vol = Convert.ToSingle(string.IsNullOrEmpty(dataReader["In_Vol"].ToString()) ? "0" : dataReader["In_Vol"]);
|
||
boosterStationStateDataModel.In_Cur = Convert.ToSingle(string.IsNullOrEmpty(dataReader["In_Cur"].ToString()) ? "0" : dataReader["In_Cur"]);
|
||
boosterStationStateDataModel.Power = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Power"].ToString()) ? "0" : dataReader["Power"]);
|
||
if (dataReader["RelayStatus"].ToString() == "1")
|
||
boosterStationStateDataModel.RelayStatus = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
else
|
||
boosterStationStateDataModel.RelayStatus = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
boosterStationStateDataViewModel1.TotalBoosterStationStateDataList.Add(boosterStationStateDataModel);
|
||
}
|
||
dataReader.Dispose();
|
||
boosterStationStateDataViewModel1.RecordCount = index - 1;
|
||
boosterStationStateDataViewModel1.TotalPage = (index - 1) <= 10 ? 1 : (int)Math.Ceiling((double)(index - 1) / 10);
|
||
for (int i = 0; i < (boosterStationStateDataViewModel1.RecordCount < 10 ? boosterStationStateDataViewModel1.RecordCount : 10); i++)
|
||
{
|
||
boosterStationStateDataViewModel1.BoosterStationStateDataList.Add(boosterStationStateDataViewModel1.TotalBoosterStationStateDataList[i]);
|
||
}
|
||
boosterStationStateDataViewModel1.BoosterStationStateMsg = string.Format("共计{0}页,当前第{1}页", boosterStationStateDataViewModel1.TotalPage, 1);
|
||
|
||
sql = String.Format("select RecordTime,In_Vol,In_Cur,Power,RelayStatus from boosterstation_state where StationID = {0} ORDER by id desc limit 100", 2);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
BoosterStationStateDataModel boosterStationStateDataModel = new BoosterStationStateDataModel();
|
||
boosterStationStateDataModel.Index = index++;
|
||
boosterStationStateDataModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
boosterStationStateDataModel.In_Vol = Convert.ToSingle(string.IsNullOrEmpty(dataReader["In_Vol"].ToString()) ? "0" : dataReader["In_Vol"]);
|
||
boosterStationStateDataModel.In_Cur = Convert.ToSingle(string.IsNullOrEmpty(dataReader["In_Cur"].ToString()) ? "0" : dataReader["In_Cur"]);
|
||
boosterStationStateDataModel.Power = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Power"].ToString()) ? "0" : dataReader["Power"]);
|
||
if (dataReader["RelayStatus"].ToString() == "1")
|
||
boosterStationStateDataModel.RelayStatus = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
else
|
||
boosterStationStateDataModel.RelayStatus = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
boosterStationStateDataViewModel2.TotalBoosterStationStateDataList.Add(boosterStationStateDataModel);
|
||
}
|
||
dataReader.Dispose();
|
||
boosterStationStateDataViewModel2.RecordCount = index - 1;
|
||
boosterStationStateDataViewModel2.TotalPage = (index - 1) <= 10 ? 1 : (int)Math.Ceiling((double)(index - 1) / 10);
|
||
for (int i = 0; i < (boosterStationStateDataViewModel2.RecordCount < 10 ? boosterStationStateDataViewModel2.RecordCount : 10); i++)
|
||
{
|
||
boosterStationStateDataViewModel2.BoosterStationStateDataList.Add(boosterStationStateDataViewModel2.TotalBoosterStationStateDataList[i]);
|
||
}
|
||
boosterStationStateDataViewModel2.BoosterStationStateMsg = string.Format("共计{0}页,当前第{1}页", boosterStationStateDataViewModel2.TotalPage, 1);
|
||
#endregion
|
||
|
||
|
||
#region 升压站状态页面折线图初始化
|
||
var chartValuesTeam1 = new ChartValues<DateTimePoint>();
|
||
var chartValuesTeam2 = new ChartValues<DateTimePoint>();
|
||
sql = String.Format("select RecordTime,In_Vol,In_Cur from boosterstation_state where StationID = {0} ORDER by id desc limit {1}", 1, ChartPointNum);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
if (!Convert.IsDBNull(dataReader["In_Vol"]) && !Convert.IsDBNull(dataReader["In_Cur"]))
|
||
{
|
||
chartValuesTeam1.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["In_Vol"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
chartValuesTeam2.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["In_Cur"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
}
|
||
}
|
||
dataReader.Dispose();
|
||
boosterStationStateDataViewModel1.SeriesCollection = new SeriesCollection
|
||
{
|
||
new LineSeries
|
||
{
|
||
Title = "输入电压",
|
||
Values =chartValuesTeam1,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 0,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 43, 237, 241)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
new LineSeries
|
||
{
|
||
Title = "输入电流",
|
||
Values = chartValuesTeam2,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 1,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 255, 165, 0)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
};
|
||
boosterStationStateDataViewModel1.XFormatter = val => new DateTime((long)val).ToString("MM/dd HH:mm");
|
||
boosterStationStateDataViewModel1.YFormatter1 = val => val.ToString("F2") + " V";
|
||
boosterStationStateDataViewModel1.YFormatter2 = val => val.ToString("F2") + " A";
|
||
|
||
var chartValuesTeam3 = new ChartValues<DateTimePoint>();
|
||
var chartValuesTeam4 = new ChartValues<DateTimePoint>();
|
||
sql = String.Format("select RecordTime,In_Vol,In_Cur from boosterstation_state where StationID = {0} ORDER by id desc limit {1}", 2, ChartPointNum);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
if (!Convert.IsDBNull(dataReader["In_Vol"]) && !Convert.IsDBNull(dataReader["In_Cur"]))
|
||
{
|
||
chartValuesTeam3.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["In_Vol"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
chartValuesTeam4.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["In_Cur"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
}
|
||
}
|
||
dataReader.Dispose();
|
||
boosterStationStateDataViewModel2.SeriesCollection = new SeriesCollection
|
||
{
|
||
new LineSeries
|
||
{
|
||
Title = "输入电压",
|
||
Values = chartValuesTeam3,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 0,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 43, 237, 241)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
new LineSeries
|
||
{
|
||
Title = "输入电流",
|
||
Values = chartValuesTeam4,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 1,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 255, 165, 0)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
};
|
||
boosterStationStateDataViewModel2.XFormatter = val => new DateTime((long)val).ToString("MM/dd HH:mm");
|
||
boosterStationStateDataViewModel2.YFormatter1 = val => val.ToString("F2") + " V";
|
||
boosterStationStateDataViewModel2.YFormatter2 = val => val.ToString("F2") + " A";
|
||
#endregion
|
||
|
||
|
||
#region 地震仪状态页面初始化
|
||
sql = String.Format("select * from seismograph_state where StationID = {0} ORDER by id desc limit 90", 1);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
EarthquakeSensorModel earthquakeSensorModel = new EarthquakeSensorModel();
|
||
earthquakeSensorModel.Index = index++;
|
||
earthquakeSensorModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
earthquakeSensorModel.Out_Vol = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Out_Vol"].ToString()) ? "0" : dataReader["Out_Vol"]);
|
||
earthquakeSensorModel.Backup_Vol = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Backup_Vol"].ToString()) ? "0" : dataReader["Backup_Vol"]);
|
||
earthquakeSensorModel.Pre = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Pre"].ToString()) ? "0" : dataReader["Pre"]);
|
||
earthquakeSensorModel.Tem = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Tem"].ToString()) ? "0" : dataReader["Tem"]);
|
||
earthquakeSensorModel.Sei_Tilt_Angle = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Sei_Tilt_Angle"].ToString()) ? "0" : dataReader["Sei_Tilt_Angle"]);
|
||
earthquakeSensorModel.OBS_Tilt_Angle = Convert.ToSingle(string.IsNullOrEmpty(dataReader["OBS_Tilt_Angle"].ToString()) ? "0" : dataReader["OBS_Tilt_Angle"]);
|
||
earthquakeSensorModel.Species_Dif = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Species_Dif"].ToString()) ? "0" : dataReader["Species_Dif"]);
|
||
earthquakeSensorModel.Frequency_Dif = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Frequency_Dif"].ToString()) ? "0" : dataReader["Frequency_Dif"]);
|
||
earthquakeSensorModel.CF_Total_Cap = Convert.ToSingle(string.IsNullOrEmpty(dataReader["CF_Total_Cap"].ToString()) ? "0" : dataReader["CF_Total_Cap"]);
|
||
earthquakeSensorModel.CF_Usable_Cap = Convert.ToSingle(string.IsNullOrEmpty(dataReader["CF_Usable_Cap"].ToString()) ? "0" : dataReader["CF_Usable_Cap"]);
|
||
earthquakeSensorModel.SD_Total_Cap1 = Convert.ToSingle(string.IsNullOrEmpty(dataReader["SD_Total_Cap1"].ToString()) ? "0" : dataReader["SD_Total_Cap1"]);
|
||
earthquakeSensorModel.SD_Usable_Cap1 = Convert.ToSingle(string.IsNullOrEmpty(dataReader["SD_Usable_Cap1"].ToString()) ? "0" : dataReader["SD_Usable_Cap1"]);
|
||
earthquakeSensorModel.SD_Total_Cap2 = Convert.ToSingle(string.IsNullOrEmpty(dataReader["SD_Total_Cap2"].ToString()) ? "0" : dataReader["SD_Total_Cap2"]);
|
||
earthquakeSensorModel.SD_Usable_Cap2 = Convert.ToSingle(string.IsNullOrEmpty(dataReader["SD_Usable_Cap2"].ToString()) ? "0" : dataReader["SD_Usable_Cap2"]);
|
||
earthquakeSensorModel.Sei_U_Point = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Sei_U_Point"].ToString()) ? "0" : dataReader["Sei_U_Point"]);
|
||
earthquakeSensorModel.Sei_V_Point = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Sei_V_Point"].ToString()) ? "0" : dataReader["Sei_V_Point"]);
|
||
earthquakeSensorModel.Sei_W_Point = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Sei_W_Point"].ToString()) ? "0" : dataReader["Sei_W_Point"]);
|
||
earthquakeSensorModel.North_Angle = Convert.ToSingle(string.IsNullOrEmpty(dataReader["North_Angle"].ToString()) ? "0" : dataReader["North_Angle"]);
|
||
seismometerStateDataViewModel1.TotalSeismometerStateDataList.Add(earthquakeSensorModel);
|
||
}
|
||
dataReader.Dispose();
|
||
seismometerStateDataViewModel1.RecordCount = index - 1;
|
||
seismometerStateDataViewModel1.TotalPage = (index - 1) <= 9 ? 1 : (int)Math.Ceiling((double)(index - 1) / 9);
|
||
for (int i = 0; i < (seismometerStateDataViewModel1.RecordCount < 9 ? seismometerStateDataViewModel1.RecordCount : 9); i++)
|
||
{
|
||
seismometerStateDataViewModel1.SeismometerStateDataList.Add(seismometerStateDataViewModel1.TotalSeismometerStateDataList[i]);
|
||
}
|
||
seismometerStateDataViewModel1.SeismometerStateMsg = string.Format("共计{0}页,当前第{1}页", seismometerStateDataViewModel1.TotalPage, 1);
|
||
|
||
sql = String.Format("select * from seismograph_state where StationID = {0} ORDER by id desc limit 90", 2);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
EarthquakeSensorModel earthquakeSensorModel = new EarthquakeSensorModel();
|
||
earthquakeSensorModel.Index = index++;
|
||
earthquakeSensorModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
earthquakeSensorModel.Out_Vol = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Out_Vol"].ToString()) ? "0" : dataReader["Out_Vol"]);
|
||
earthquakeSensorModel.Backup_Vol = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Backup_Vol"].ToString()) ? "0" : dataReader["Backup_Vol"]);
|
||
earthquakeSensorModel.Pre = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Pre"].ToString()) ? "0" : dataReader["Pre"]);
|
||
earthquakeSensorModel.Tem = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Tem"].ToString()) ? "0" : dataReader["Tem"]);
|
||
earthquakeSensorModel.Sei_Tilt_Angle = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Sei_Tilt_Angle"].ToString()) ? "0" : dataReader["Sei_Tilt_Angle"]);
|
||
earthquakeSensorModel.OBS_Tilt_Angle = Convert.ToSingle(string.IsNullOrEmpty(dataReader["OBS_Tilt_Angle"].ToString()) ? "0" : dataReader["OBS_Tilt_Angle"]);
|
||
earthquakeSensorModel.Species_Dif = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Species_Dif"].ToString()) ? "0" : dataReader["Species_Dif"]);
|
||
earthquakeSensorModel.Frequency_Dif = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Frequency_Dif"].ToString()) ? "0" : dataReader["Frequency_Dif"]);
|
||
earthquakeSensorModel.CF_Total_Cap = Convert.ToSingle(string.IsNullOrEmpty(dataReader["CF_Total_Cap"].ToString()) ? "0" : dataReader["CF_Total_Cap"]);
|
||
earthquakeSensorModel.CF_Usable_Cap = Convert.ToSingle(string.IsNullOrEmpty(dataReader["CF_Usable_Cap"].ToString()) ? "0" : dataReader["CF_Usable_Cap"]);
|
||
earthquakeSensorModel.SD_Total_Cap1 = Convert.ToSingle(string.IsNullOrEmpty(dataReader["SD_Total_Cap1"].ToString()) ? "0" : dataReader["SD_Total_Cap1"]);
|
||
earthquakeSensorModel.SD_Usable_Cap1 = Convert.ToSingle(string.IsNullOrEmpty(dataReader["SD_Usable_Cap1"].ToString()) ? "0" : dataReader["SD_Usable_Cap1"]);
|
||
earthquakeSensorModel.SD_Total_Cap2 = Convert.ToSingle(string.IsNullOrEmpty(dataReader["SD_Total_Cap2"].ToString()) ? "0" : dataReader["SD_Total_Cap2"]);
|
||
earthquakeSensorModel.SD_Usable_Cap2 = Convert.ToSingle(string.IsNullOrEmpty(dataReader["SD_Usable_Cap2"].ToString()) ? "0" : dataReader["SD_Usable_Cap2"]);
|
||
earthquakeSensorModel.Sei_U_Point = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Sei_U_Point"].ToString()) ? "0" : dataReader["Sei_U_Point"]);
|
||
earthquakeSensorModel.Sei_V_Point = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Sei_V_Point"].ToString()) ? "0" : dataReader["Sei_V_Point"]);
|
||
earthquakeSensorModel.Sei_W_Point = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Sei_W_Point"].ToString()) ? "0" : dataReader["Sei_W_Point"]);
|
||
earthquakeSensorModel.North_Angle = Convert.ToSingle(string.IsNullOrEmpty(dataReader["North_Angle"].ToString()) ? "0" : dataReader["North_Angle"]);
|
||
seismometerStateDataViewModel2.TotalSeismometerStateDataList.Add(earthquakeSensorModel);
|
||
}
|
||
dataReader.Dispose();
|
||
seismometerStateDataViewModel2.RecordCount = index - 1;
|
||
seismometerStateDataViewModel2.TotalPage = (index - 1) <= 9 ? 1 : (int)Math.Ceiling((double)(index - 1) / 9);
|
||
for (int i = 0; i < (seismometerStateDataViewModel2.RecordCount < 9 ? seismometerStateDataViewModel2.RecordCount : 9); i++)
|
||
{
|
||
seismometerStateDataViewModel2.SeismometerStateDataList.Add(seismometerStateDataViewModel2.TotalSeismometerStateDataList[i]);
|
||
}
|
||
seismometerStateDataViewModel2.SeismometerStateMsg = string.Format("共计{0}页,当前第{1}页", seismometerStateDataViewModel2.TotalPage, 1);
|
||
#endregion
|
||
|
||
|
||
#region 地震仪参数设置页面初始化
|
||
|
||
#region 地震仪参数显示
|
||
sql = String.Format("select * from seismograph_para where StationID = {0} ORDER by id desc limit 70", 1);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
EarthQuakeParaSetModel earthQuakeParaSetModel = new EarthQuakeParaSetModel();
|
||
earthQuakeParaSetModel.Index = index++;
|
||
earthQuakeParaSetModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
earthQuakeParaSetModel.SeisID = Convert.ToInt32(string.IsNullOrEmpty(dataReader["SeisID"].ToString()) ? 0 : dataReader["SeisID"]);
|
||
earthQuakeParaSetModel.StationNo = Convert.ToInt32(string.IsNullOrEmpty(dataReader["StationNo"].ToString()) ? 0 : dataReader["StationNo"]);
|
||
earthQuakeParaSetModel.StationName = dataReader["StationName"].ToString();
|
||
earthQuakeParaSetModel.StationShortName = dataReader["StationShortName"].ToString();
|
||
earthQuakeParaSetModel.EarthQuakeCount = Convert.ToInt32(string.IsNullOrEmpty(dataReader["EarthQuakeCount"].ToString()) ? "0" : dataReader["EarthQuakeCount"]);
|
||
earthQuakeParaSetModel.ChannelsNo = Convert.ToInt32(string.IsNullOrEmpty(dataReader["ChannelsNo"].ToString()) ? "0" : dataReader["ChannelsNo"]);
|
||
earthQuakeParaSetModel.WD = Convert.ToSingle(string.IsNullOrEmpty(dataReader["WD"].ToString()) ? "0" : dataReader["WD"]);
|
||
earthQuakeParaSetModel.JD = Convert.ToSingle(string.IsNullOrEmpty(dataReader["JD"].ToString()) ? "0" : dataReader["JD"]);
|
||
earthQuakeParaSetModel.GaoCheng = Convert.ToInt32(string.IsNullOrEmpty(dataReader["GaoCheng"].ToString()) ? "0" : dataReader["GaoCheng"]);
|
||
earthQuakeParaSetModel.StartTime = dataReader["StartTime"].ToString();
|
||
earthQuakeParaSetModel.Station_Id = dataReader["Station_Id"].ToString();
|
||
earthQuakeParaSetModel.Software_Version = dataReader["Software_Version"].ToString();
|
||
seismometerParameterViewModel1.TotalSeismometerParameterList.Add(earthQuakeParaSetModel);
|
||
}
|
||
dataReader.Dispose();
|
||
|
||
seismometerParameterViewModel1.RecordCount = index - 1;
|
||
seismometerParameterViewModel1.TotalPage = (index - 1) <= 7 ? 1 : (int)Math.Ceiling((double)(index - 1) / 7);
|
||
for (int i = 0; i < (seismometerParameterViewModel1.RecordCount < 7 ? seismometerParameterViewModel1.RecordCount : 7); i++)
|
||
{
|
||
seismometerParameterViewModel1.SeismometerParameterList.Add(seismometerParameterViewModel1.TotalSeismometerParameterList[i]);
|
||
}
|
||
seismometerParameterViewModel1.SeismometerParameterMsg = string.Format("共计{0}页,当前第{1}页", seismometerParameterViewModel1.TotalPage, 1);
|
||
|
||
sql = String.Format("select * from seismograph_para where StationID = {0} ORDER by id desc limit 70", 2);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
EarthQuakeParaSetModel earthQuakeParaSetModel = new EarthQuakeParaSetModel();
|
||
earthQuakeParaSetModel.Index = index++;
|
||
earthQuakeParaSetModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
earthQuakeParaSetModel.SeisID = Convert.ToInt32(string.IsNullOrEmpty(dataReader["SeisID"].ToString()) ? 0 : dataReader["SeisID"]);
|
||
earthQuakeParaSetModel.StationNo = Convert.ToInt32(string.IsNullOrEmpty(dataReader["StationNo"].ToString()) ? 0 : dataReader["StationNo"]);
|
||
earthQuakeParaSetModel.StationName = dataReader["StationName"].ToString();
|
||
earthQuakeParaSetModel.StationShortName = dataReader["StationShortName"].ToString();
|
||
earthQuakeParaSetModel.EarthQuakeCount = Convert.ToInt32(string.IsNullOrEmpty(dataReader["EarthQuakeCount"].ToString()) ? "0" : dataReader["EarthQuakeCount"]);
|
||
earthQuakeParaSetModel.ChannelsNo = Convert.ToInt32(string.IsNullOrEmpty(dataReader["ChannelsNo"].ToString()) ? "0" : dataReader["ChannelsNo"]);
|
||
earthQuakeParaSetModel.WD = Convert.ToSingle(string.IsNullOrEmpty(dataReader["WD"].ToString()) ? "0" : dataReader["WD"]);
|
||
earthQuakeParaSetModel.JD = Convert.ToSingle(string.IsNullOrEmpty(dataReader["JD"].ToString()) ? "0" : dataReader["JD"]);
|
||
earthQuakeParaSetModel.GaoCheng = Convert.ToInt32(string.IsNullOrEmpty(dataReader["GaoCheng"].ToString()) ? "0" : dataReader["GaoCheng"]);
|
||
earthQuakeParaSetModel.StartTime = dataReader["StartTime"].ToString();
|
||
earthQuakeParaSetModel.Station_Id = dataReader["Station_Id"].ToString();
|
||
earthQuakeParaSetModel.Software_Version = dataReader["Software_Version"].ToString();
|
||
seismometerParameterViewModel2.TotalSeismometerParameterList.Add(earthQuakeParaSetModel);
|
||
}
|
||
dataReader.Dispose();
|
||
|
||
seismometerParameterViewModel2.RecordCount = index - 1;
|
||
seismometerParameterViewModel2.TotalPage = (index - 1) <= 7 ? 1 : (int)Math.Ceiling((double)(index - 1) / 7);
|
||
for (int i = 0; i < (seismometerParameterViewModel2.RecordCount < 7 ? seismometerParameterViewModel2.RecordCount : 7); i++)
|
||
{
|
||
seismometerParameterViewModel2.SeismometerParameterList.Add(seismometerParameterViewModel2.TotalSeismometerParameterList[i]);
|
||
}
|
||
seismometerParameterViewModel2.SeismometerParameterMsg = string.Format("共计{0}页,当前第{1}页", seismometerParameterViewModel2.TotalPage, 1);
|
||
#endregion
|
||
|
||
|
||
#region 地震仪参数初始化
|
||
string MainSeisName1 = Tools.GetAppSetting("MainSeisName1");
|
||
string MainSeisName2 = Tools.GetAppSetting("MainSeisName2");
|
||
|
||
sql = String.Format("select * from seismograph_para where StationID = {0} and StationName LIKE '{1}' ORDER by id desc limit 1", 1, "%" + MainSeisName1 + "%");
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
seismometerParameterViewModel1.EarthQuakeParaSet.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
seismometerParameterViewModel1.EarthQuakeParaSet.StationNo = Convert.IsDBNull(dataReader["StationNo"]) ? 0 : Convert.ToInt32(dataReader["StationNo"]);
|
||
seismometerParameterViewModel1.EarthQuakeParaSet.StationName = Convert.IsDBNull(dataReader["StationName"]) ? "" : dataReader["StationName"].ToString();
|
||
seismometerParameterViewModel1.EarthQuakeParaSet.StationShortName = Convert.IsDBNull(dataReader["StationShortName"]) ? "" : dataReader["StationShortName"].ToString();
|
||
seismometerParameterViewModel1.EarthQuakeParaSet.EarthQuakeCount = Convert.IsDBNull(dataReader["EarthQuakeCount"]) ? (short)0 : Convert.ToInt16(dataReader["EarthQuakeCount"]);
|
||
seismometerParameterViewModel1.EarthQuakeParaSet.ChannelsNo = Convert.IsDBNull(dataReader["ChannelsNo"]) ? (short)0 : Convert.ToInt16(dataReader["ChannelsNo"]);
|
||
seismometerParameterViewModel1.EarthQuakeParaSet.WD = Convert.IsDBNull(dataReader["WD"]) ? 0 : Convert.ToInt32(dataReader["WD"]);
|
||
seismometerParameterViewModel1.EarthQuakeParaSet.JD = Convert.IsDBNull(dataReader["JD"]) ? 0 : Convert.ToInt32(dataReader["JD"]);
|
||
seismometerParameterViewModel1.EarthQuakeParaSet.GaoCheng = Convert.IsDBNull(dataReader["GaoCheng"]) ? 0 : Convert.ToInt32(dataReader["GaoCheng"]);
|
||
seismometerParameterViewModel1.EarthQuakeParaSet.StartTime = Convert.IsDBNull(dataReader["StartTime"]) ? "" : dataReader["StartTime"].ToString();
|
||
seismometerParameterViewModel1.EarthQuakeParaSet.Station_Id = Convert.IsDBNull(dataReader["Station_Id"]) ? "" : dataReader["Station_Id"].ToString();
|
||
seismometerParameterViewModel1.EarthQuakeParaSet.Software_Version = Convert.IsDBNull(dataReader["Software_Version"]) ? "" : dataReader["Software_Version"].ToString();
|
||
}
|
||
dataReader.Dispose();
|
||
|
||
sql = String.Format("select * from seismograph_para where StationID = {0} and StationName LIKE '{1}' ORDER by id desc limit 1", 2, "%" + MainSeisName2 + "%");
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
seismometerParameterViewModel2.EarthQuakeParaSet.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
seismometerParameterViewModel2.EarthQuakeParaSet.StationNo = Convert.IsDBNull(dataReader["StationNo"]) ? 0 : Convert.ToInt32(dataReader["StationNo"]);
|
||
seismometerParameterViewModel2.EarthQuakeParaSet.StationName = Convert.IsDBNull(dataReader["StationName"]) ? "" : dataReader["StationName"].ToString();
|
||
seismometerParameterViewModel2.EarthQuakeParaSet.StationShortName = Convert.IsDBNull(dataReader["StationShortName"]) ? "" : dataReader["StationShortName"].ToString();
|
||
seismometerParameterViewModel2.EarthQuakeParaSet.EarthQuakeCount = Convert.IsDBNull(dataReader["EarthQuakeCount"]) ? (short)0 : Convert.ToInt16(dataReader["EarthQuakeCount"]);
|
||
seismometerParameterViewModel2.EarthQuakeParaSet.ChannelsNo = Convert.IsDBNull(dataReader["ChannelsNo"]) ? (short)0 : Convert.ToInt16(dataReader["ChannelsNo"]);
|
||
seismometerParameterViewModel2.EarthQuakeParaSet.WD = Convert.IsDBNull(dataReader["WD"]) ? 0 : Convert.ToInt32(dataReader["WD"]);
|
||
seismometerParameterViewModel2.EarthQuakeParaSet.JD = Convert.IsDBNull(dataReader["JD"]) ? 0 : Convert.ToInt32(dataReader["JD"]);
|
||
seismometerParameterViewModel2.EarthQuakeParaSet.GaoCheng = Convert.IsDBNull(dataReader["GaoCheng"]) ? 0 : Convert.ToInt32(dataReader["GaoCheng"]);
|
||
seismometerParameterViewModel2.EarthQuakeParaSet.StartTime = Convert.IsDBNull(dataReader["StartTime"]) ? "" : dataReader["StartTime"].ToString();
|
||
seismometerParameterViewModel2.EarthQuakeParaSet.Station_Id = Convert.IsDBNull(dataReader["Station_Id"]) ? "" : dataReader["Station_Id"].ToString();
|
||
seismometerParameterViewModel2.EarthQuakeParaSet.Software_Version = Convert.IsDBNull(dataReader["Software_Version"]) ? "" : dataReader["Software_Version"].ToString();
|
||
}
|
||
dataReader.Dispose();
|
||
#endregion
|
||
|
||
#endregion
|
||
|
||
|
||
#region 实时数据显示页面折线图初始化
|
||
var chartValuesConboxTem = new ChartValues<DateTimePoint>();
|
||
var chartValuesConboxHum = new ChartValues<DateTimePoint>();
|
||
sql = String.Format("select * from juncbox_env where StationID = {0} ORDER by id desc limit {1}", 1, ChartPointNum);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
if (!Convert.IsDBNull(dataReader["Temperature"]) && !Convert.IsDBNull(dataReader["Humidity"]))
|
||
{
|
||
chartValuesConboxTem.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["Temperature"]),
|
||
DateTime = Convert.ToDateTime(dataReader["DataTime"]),
|
||
});
|
||
chartValuesConboxHum.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["Humidity"]),
|
||
DateTime = Convert.ToDateTime(dataReader["DataTime"]),
|
||
});
|
||
}
|
||
}
|
||
dataReader.Dispose();
|
||
realTimeDataViewModel1.SeriesCollectionConboxTem = new SeriesCollection
|
||
{
|
||
new LineSeries
|
||
{
|
||
Title = "温度",
|
||
Values = chartValuesConboxTem,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 0,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 43, 237, 241)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
};
|
||
realTimeDataViewModel1.SeriesCollectionConboxHum = new SeriesCollection
|
||
{
|
||
new LineSeries
|
||
{
|
||
Title = "湿度",
|
||
Values = chartValuesConboxHum,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 0,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 43, 237, 241)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
};
|
||
|
||
var chartValuesMainSeisVol = new ChartValues<DateTimePoint>();
|
||
var chartValuesMainSeisCur = new ChartValues<DateTimePoint>();
|
||
sql = String.Format("select RecordTime,Seis1_Voltage,Seis1_Current from juncbox_monitor where StationID = {0} ORDER by id desc limit {1}", 1, ChartPointNum);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
if (!Convert.IsDBNull(dataReader["Seis1_Voltage"]) && !Convert.IsDBNull(dataReader["Seis1_Current"]))
|
||
{
|
||
chartValuesMainSeisVol.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["Seis1_Voltage"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
chartValuesMainSeisCur.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["Seis1_Current"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
}
|
||
}
|
||
dataReader.Dispose();
|
||
realTimeDataViewModel1.SeriesCollectionMainSeis = new SeriesCollection
|
||
{
|
||
new LineSeries
|
||
{
|
||
Title = "电压",
|
||
Values = chartValuesMainSeisVol,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 0,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 43, 237, 241)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
new LineSeries
|
||
{
|
||
Title = "电流",
|
||
Values = chartValuesMainSeisCur,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 1,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 255, 165, 0)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
};
|
||
|
||
var chartValuesBackupSeisVol = new ChartValues<DateTimePoint>();
|
||
var chartValuesBackupSeisCur = new ChartValues<DateTimePoint>();
|
||
sql = String.Format("select RecordTime,Seis2_Voltage,Seis2_Current from juncbox_monitor where StationID = {0} ORDER by id desc limit {1}", 1, ChartPointNum);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
if (!Convert.IsDBNull(dataReader["Seis2_Voltage"]) && !Convert.IsDBNull(dataReader["Seis2_Current"]))
|
||
{
|
||
chartValuesBackupSeisVol.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["Seis2_Voltage"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
chartValuesBackupSeisCur.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["Seis2_Current"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
}
|
||
}
|
||
dataReader.Dispose();
|
||
realTimeDataViewModel1.SeriesCollectionBackupSeis = new SeriesCollection
|
||
{
|
||
new LineSeries
|
||
{
|
||
Title = "电压",
|
||
Values = chartValuesBackupSeisVol,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 0,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 43, 237, 241)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
new LineSeries
|
||
{
|
||
Title = "电流",
|
||
Values = chartValuesBackupSeisCur,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 1,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 255, 165, 0)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
};
|
||
|
||
var chartValuesBoosterStationVol = new ChartValues<DateTimePoint>();
|
||
var chartValuesBoosterStationCur = new ChartValues<DateTimePoint>();
|
||
sql = String.Format("select * from boosterstation_state where StationID = {0} ORDER by id desc limit {1}", 1, ChartPointNum);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
if (!Convert.IsDBNull(dataReader["In_Vol"]) && !Convert.IsDBNull(dataReader["In_Cur"]))
|
||
{
|
||
chartValuesBoosterStationVol.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["In_Vol"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
chartValuesBoosterStationCur.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["In_Cur"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
}
|
||
}
|
||
dataReader.Dispose();
|
||
realTimeDataViewModel1.SeriesCollectionBoosterStationVol = new SeriesCollection
|
||
{
|
||
new LineSeries
|
||
{
|
||
Title = "输入电压",
|
||
Values = chartValuesBoosterStationVol,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 0,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 43, 237, 241)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
};
|
||
realTimeDataViewModel1.SeriesCollectionBoosterStationCur = new SeriesCollection
|
||
{
|
||
new LineSeries
|
||
{
|
||
Title = "输入电流",
|
||
Values = chartValuesBoosterStationCur,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 0,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 43, 237, 241)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
};
|
||
|
||
realTimeDataViewModel1.XFormatter = val => new DateTime((long)val).ToString("MM/dd HH:mm");
|
||
realTimeDataViewModel1.YFormatterVol = val => val.ToString("F2") + " V";
|
||
realTimeDataViewModel1.YFormatterCur = val => val.ToString("F2") + " A";
|
||
realTimeDataViewModel1.YFormatterTem = val => val.ToString("F2") + " ℃";
|
||
realTimeDataViewModel1.YFormatterHum = val => val.ToString("F2") + " %";
|
||
|
||
chartValuesConboxTem = new ChartValues<DateTimePoint>();
|
||
chartValuesConboxHum = new ChartValues<DateTimePoint>();
|
||
sql = String.Format("select * from juncbox_env where StationID = {0} ORDER by id desc limit {1}", 2, ChartPointNum);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
if (!Convert.IsDBNull(dataReader["Temperature"]) && !Convert.IsDBNull(dataReader["Humidity"]))
|
||
{
|
||
chartValuesConboxTem.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["Temperature"]),
|
||
DateTime = Convert.ToDateTime(dataReader["DataTime"]),
|
||
});
|
||
chartValuesConboxHum.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["Humidity"]),
|
||
DateTime = Convert.ToDateTime(dataReader["DataTime"]),
|
||
});
|
||
}
|
||
}
|
||
dataReader.Dispose();
|
||
realTimeDataViewModel2.SeriesCollectionConboxTem = new SeriesCollection
|
||
{
|
||
new LineSeries
|
||
{
|
||
Title = "温度",
|
||
Values = chartValuesConboxTem,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 0,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 43, 237, 241)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
};
|
||
realTimeDataViewModel2.SeriesCollectionConboxHum = new SeriesCollection
|
||
{
|
||
new LineSeries
|
||
{
|
||
Title = "湿度",
|
||
Values = chartValuesConboxHum,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 0,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 43, 237, 241)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
};
|
||
|
||
chartValuesMainSeisVol = new ChartValues<DateTimePoint>();
|
||
chartValuesMainSeisCur = new ChartValues<DateTimePoint>();
|
||
sql = String.Format("select RecordTime,Seis1_Voltage,Seis1_Current from juncbox_monitor where StationID = {0} ORDER by id desc limit {1}", 2, ChartPointNum);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
if (!Convert.IsDBNull(dataReader["Seis1_Voltage"]) && !Convert.IsDBNull(dataReader["Seis1_Current"]))
|
||
{
|
||
chartValuesMainSeisVol.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["Seis1_Voltage"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
chartValuesMainSeisCur.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["Seis1_Current"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
}
|
||
}
|
||
dataReader.Dispose();
|
||
realTimeDataViewModel2.SeriesCollectionMainSeis = new SeriesCollection
|
||
{
|
||
new LineSeries
|
||
{
|
||
Title = "电压",
|
||
Values = chartValuesMainSeisVol,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 0,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 43, 237, 241)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
new LineSeries
|
||
{
|
||
Title = "电流",
|
||
Values = chartValuesMainSeisCur,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 1,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 255, 165, 0)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
};
|
||
|
||
chartValuesBackupSeisVol = new ChartValues<DateTimePoint>();
|
||
chartValuesBackupSeisCur = new ChartValues<DateTimePoint>();
|
||
sql = String.Format("select RecordTime,Seis2_Voltage,Seis2_Current from juncbox_monitor where StationID = {0} ORDER by id desc limit {1}", 2, ChartPointNum);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
if (!Convert.IsDBNull(dataReader["Seis2_Voltage"]) && !Convert.IsDBNull(dataReader["Seis2_Current"]))
|
||
{
|
||
chartValuesBackupSeisVol.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["Seis2_Voltage"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
chartValuesBackupSeisCur.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["Seis2_Current"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
}
|
||
}
|
||
dataReader.Dispose();
|
||
realTimeDataViewModel2.SeriesCollectionBackupSeis = new SeriesCollection
|
||
{
|
||
new LineSeries
|
||
{
|
||
Title = "电压",
|
||
Values = chartValuesBackupSeisVol,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 0,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 43, 237, 241)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
new LineSeries
|
||
{
|
||
Title = "电流",
|
||
Values = chartValuesBackupSeisCur,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 1,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 255, 165, 0)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
};
|
||
|
||
chartValuesBoosterStationVol = new ChartValues<DateTimePoint>();
|
||
chartValuesBoosterStationCur = new ChartValues<DateTimePoint>();
|
||
sql = String.Format("select * from boosterstation_state where StationID = {0} ORDER by id desc limit {1}", 2, ChartPointNum);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
if (!Convert.IsDBNull(dataReader["In_Vol"]) && !Convert.IsDBNull(dataReader["In_Cur"]))
|
||
{
|
||
chartValuesBoosterStationVol.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["In_Vol"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
chartValuesBoosterStationCur.Add(new DateTimePoint
|
||
{
|
||
Value = Convert.ToSingle(dataReader["In_Cur"]),
|
||
DateTime = Convert.ToDateTime(dataReader["RecordTime"]),
|
||
});
|
||
}
|
||
}
|
||
dataReader.Dispose();
|
||
realTimeDataViewModel2.SeriesCollectionBoosterStationVol = new SeriesCollection
|
||
{
|
||
new LineSeries
|
||
{
|
||
Title = "输入电压",
|
||
Values = chartValuesBoosterStationVol,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 0,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 43, 237, 241)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
};
|
||
realTimeDataViewModel2.SeriesCollectionBoosterStationCur = new SeriesCollection
|
||
{
|
||
new LineSeries
|
||
{
|
||
Title = "输入电流",
|
||
Values = chartValuesBoosterStationCur,
|
||
LineSmoothness = 0,
|
||
ScalesYAt = 0,
|
||
Stroke = new SolidColorBrush(Color.FromArgb(255, 43, 237, 241)),
|
||
Fill = new SolidColorBrush(Colors.Transparent)
|
||
},
|
||
};
|
||
|
||
realTimeDataViewModel2.XFormatter = val => new DateTime((long)val).ToString("MM/dd HH:mm");
|
||
realTimeDataViewModel2.YFormatterVol = val => val.ToString("F2") + " V";
|
||
realTimeDataViewModel2.YFormatterCur = val => val.ToString("F2") + " A";
|
||
realTimeDataViewModel2.YFormatterTem = val => val.ToString("F2") + " ℃";
|
||
realTimeDataViewModel2.YFormatterHum = val => val.ToString("F2") + " %";
|
||
#endregion
|
||
|
||
|
||
#region 实时数据显示页面数据初始化
|
||
sql = String.Format("select * from juncbox_env where StationID = {0} ORDER by id desc limit 1", 1);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
sqlSub = String.Format("select * from juncbox_cavity_state where StationID = {0} ORDER by id desc limit 1", 1);
|
||
dataReaderSub = DBHelper.ExecuteReader(sqlSub, 1);
|
||
string sqlMon = String.Format("select * from juncbox_monitor where StationID = {0} ORDER by id desc limit 1", 1);
|
||
MySqlDataReader dataReaderMon = DBHelper.ExecuteReader(sqlMon, 1);
|
||
//while (dataReader.Read())
|
||
//{
|
||
if (dataReaderMon.Read())
|
||
{
|
||
string voltage = string.IsNullOrEmpty(dataReaderMon["Seis1_Voltage"].ToString()) ? "0.00" : dataReaderMon["Seis1_Voltage"].ToString();
|
||
string current = string.IsNullOrEmpty(dataReaderMon["Seis1_Current"].ToString()) ? "0.00" : dataReaderMon["Seis1_Current"].ToString();
|
||
realTimeDataViewModel1.BaseStationStatus[0].Value = voltage + " / " + current;
|
||
|
||
voltage = string.IsNullOrEmpty(dataReaderMon["Seis2_Voltage"].ToString()) ? "0.00" : dataReaderMon["Seis2_Voltage"].ToString();
|
||
current = string.IsNullOrEmpty(dataReaderMon["Seis2_Current"].ToString()) ? "0.00" : dataReaderMon["Seis2_Current"].ToString();
|
||
realTimeDataViewModel1.BaseStationStatus[3].Value = voltage + " / " + current;
|
||
|
||
realTimeDataViewModel1.DataTimeMainSeis = Convert.ToDateTime(dataReaderMon["RecordTime"]);
|
||
realTimeDataViewModel1.DataTimeBackupSeis = Convert.ToDateTime(dataReaderMon["RecordTime"]);
|
||
}
|
||
else
|
||
{
|
||
realTimeDataViewModel1.BaseStationStatus[0].Value = "0.00 / 0.00";
|
||
realTimeDataViewModel1.BaseStationStatus[3].Value = "0.00 / 0.00";
|
||
|
||
realTimeDataViewModel1.DataTimeMainSeis = DateTime.Now;
|
||
realTimeDataViewModel1.DataTimeBackupSeis = DateTime.Now;
|
||
}
|
||
|
||
if (dataReader.Read())
|
||
{
|
||
realTimeDataViewModel1.BaseStationStatus[1].Value = string.IsNullOrEmpty(dataReader["Temperature"].ToString()) ? "0.00" : dataReader["Temperature"].ToString();
|
||
realTimeDataViewModel1.BaseStationStatus[4].Value = string.IsNullOrEmpty(dataReader["Humidity"].ToString()) ? "0.00" : dataReader["Humidity"].ToString();
|
||
//realTimeDataViewModel1.BaseStationStatus[4].Value = string.IsNullOrEmpty(dataReader["JBH_Attitude_x"].ToString()) ? "0.00" : dataReader["JBH_Attitude_x"].ToString();
|
||
//realTimeDataViewModel1.BaseStationStatus[5].Value = string.IsNullOrEmpty(dataReader["JBH_Attitude_y"].ToString()) ? "0.00" : dataReader["JBH_Attitude_y"].ToString();
|
||
//realTimeDataViewModel1.BaseStationStatus[6].Value = string.IsNullOrEmpty(dataReader["JBH_Attitude_z"].ToString()) ? "0.00" : dataReader["JBH_Attitude_z"].ToString();
|
||
|
||
realTimeDataViewModel1.DataTimeConboxTem = Convert.ToDateTime(dataReader["DataTime"]);
|
||
realTimeDataViewModel1.DataTimeConboxHum = Convert.ToDateTime(dataReader["DataTime"]);
|
||
}
|
||
else
|
||
{
|
||
realTimeDataViewModel1.BaseStationStatus[1].Value = "0.00";
|
||
realTimeDataViewModel1.BaseStationStatus[4].Value = "0.00";
|
||
|
||
realTimeDataViewModel1.DataTimeConboxTem = DateTime.Now;
|
||
realTimeDataViewModel1.DataTimeConboxHum = DateTime.Now;
|
||
}
|
||
|
||
if (dataReaderSub.Read())
|
||
{
|
||
int leakState = Convert.ToInt32(string.IsNullOrEmpty(dataReaderSub["Leakage"].ToString()) ? "2" : dataReaderSub["Leakage"]);
|
||
if (leakState == 1)
|
||
{
|
||
realTimeDataViewModel1.LeakageImage = (ImageSource)Application.Current.FindResource("CycleRed");
|
||
}
|
||
else if (leakState == 0)
|
||
{
|
||
realTimeDataViewModel1.LeakageImage = (ImageSource)Application.Current.FindResource("CycleGreen");
|
||
}
|
||
else
|
||
{
|
||
realTimeDataViewModel1.LeakageImage = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
}
|
||
|
||
//int hatchState = Convert.ToInt32(string.IsNullOrEmpty(dataReaderSub["Hatch_State"].ToString()) ? "2" : dataReaderSub["Hatch_State"]);
|
||
//if (hatchState == 1)
|
||
//{
|
||
// realTimeDataViewModel1.HatchStateImage = (ImageSource)Application.Current.FindResource("CycleRed");
|
||
//}
|
||
//else if (hatchState == 0)
|
||
//{
|
||
// realTimeDataViewModel1.HatchStateImage = (ImageSource)Application.Current.FindResource("CycleGreen");
|
||
//}
|
||
//else
|
||
//{
|
||
// realTimeDataViewModel1.HatchStateImage = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
//}
|
||
}
|
||
else
|
||
{
|
||
realTimeDataViewModel1.LeakageImage = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
//realTimeDataViewModel1.HatchStateImage = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
}
|
||
//}
|
||
dataReader.Dispose();
|
||
dataReaderSub.Dispose();
|
||
dataReaderMon.Dispose();
|
||
|
||
sql = String.Format("select * from boosterstation_state where StationID = {0} ORDER by id desc limit 1", 1);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
if (dataReader.Read())
|
||
{
|
||
realTimeDataViewModel1.BaseStationStatus[2].Value = string.IsNullOrEmpty(dataReader["In_Vol"].ToString()) ? "0.00" : dataReader["In_Vol"].ToString();
|
||
realTimeDataViewModel1.BaseStationStatus[5].Value = string.IsNullOrEmpty(dataReader["In_Cur"].ToString()) ? "0.00" : dataReader["In_Cur"].ToString();
|
||
realTimeDataViewModel1.DataTimeBoosterStationVol = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
realTimeDataViewModel1.DataTimeBoosterStationCur = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
}
|
||
dataReader.Dispose();
|
||
|
||
sql = String.Format("select * from juncbox_env where StationID = {0} ORDER by id desc limit 1", 2);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
sqlSub = String.Format("select * from juncbox_cavity_state where StationID = {0} ORDER by id desc limit 1", 2);
|
||
dataReaderSub = DBHelper.ExecuteReader(sqlSub, 1);
|
||
sqlMon = String.Format("select * from juncbox_monitor where StationID = {0} ORDER by id desc limit 1", 2);
|
||
dataReaderMon = DBHelper.ExecuteReader(sqlMon, 1);
|
||
//while (dataReader.Read())
|
||
//{
|
||
if (dataReaderMon.Read())
|
||
{
|
||
string voltage = string.IsNullOrEmpty(dataReaderMon["Seis1_Voltage"].ToString()) ? "0.00" : dataReaderMon["Seis1_Voltage"].ToString();
|
||
string current = string.IsNullOrEmpty(dataReaderMon["Seis1_Current"].ToString()) ? "0.00" : dataReaderMon["Seis1_Current"].ToString();
|
||
realTimeDataViewModel2.BaseStationStatus[0].Value = voltage + " / " + current;
|
||
|
||
voltage = string.IsNullOrEmpty(dataReaderMon["Seis2_Voltage"].ToString()) ? "0.00" : dataReaderMon["Seis2_Voltage"].ToString();
|
||
current = string.IsNullOrEmpty(dataReaderMon["Seis2_Current"].ToString()) ? "0.00" : dataReaderMon["Seis2_Current"].ToString();
|
||
realTimeDataViewModel2.BaseStationStatus[3].Value = voltage + " / " + current;
|
||
|
||
realTimeDataViewModel2.DataTimeMainSeis = Convert.ToDateTime(dataReaderMon["RecordTime"]);
|
||
realTimeDataViewModel2.DataTimeBackupSeis = Convert.ToDateTime(dataReaderMon["RecordTime"]);
|
||
}
|
||
else
|
||
{
|
||
realTimeDataViewModel2.BaseStationStatus[0].Value = "0.00 / 0.00";
|
||
realTimeDataViewModel2.BaseStationStatus[3].Value = "0.00 / 0.00";
|
||
|
||
realTimeDataViewModel2.DataTimeMainSeis = DateTime.Now;
|
||
realTimeDataViewModel2.DataTimeBackupSeis = DateTime.Now;
|
||
}
|
||
|
||
if (dataReader.Read())
|
||
{
|
||
realTimeDataViewModel2.BaseStationStatus[1].Value = string.IsNullOrEmpty(dataReader["Temperature"].ToString()) ? "0.00" : dataReader["Temperature"].ToString();
|
||
realTimeDataViewModel2.BaseStationStatus[4].Value = string.IsNullOrEmpty(dataReader["Humidity"].ToString()) ? "0.00" : dataReader["Humidity"].ToString();
|
||
//realTimeDataViewModel2.BaseStationStatus[4].Value = string.IsNullOrEmpty(dataReader["JBH_Attitude_x"].ToString()) ? "0.00" : dataReader["JBH_Attitude_x"].ToString();
|
||
//realTimeDataViewModel2.BaseStationStatus[5].Value = string.IsNullOrEmpty(dataReader["JBH_Attitude_y"].ToString()) ? "0.00" : dataReader["JBH_Attitude_y"].ToString();
|
||
//realTimeDataViewModel2.BaseStationStatus[6].Value = string.IsNullOrEmpty(dataReader["JBH_Attitude_z"].ToString()) ? "0.00" : dataReader["JBH_Attitude_z"].ToString();
|
||
|
||
realTimeDataViewModel2.DataTimeConboxTem = Convert.ToDateTime(dataReader["DataTime"]);
|
||
realTimeDataViewModel2.DataTimeConboxHum = Convert.ToDateTime(dataReader["DataTime"]);
|
||
}
|
||
else
|
||
{
|
||
realTimeDataViewModel2.BaseStationStatus[1].Value = "0.00";
|
||
realTimeDataViewModel2.BaseStationStatus[4].Value = "0.00";
|
||
|
||
realTimeDataViewModel2.DataTimeConboxTem = DateTime.Now;
|
||
realTimeDataViewModel2.DataTimeConboxHum = DateTime.Now;
|
||
}
|
||
|
||
if (dataReaderSub.Read())
|
||
{
|
||
int leakState = Convert.ToInt32(string.IsNullOrEmpty(dataReaderSub["Leakage"].ToString()) ? "2" : dataReaderSub["Leakage"]);
|
||
if (leakState == 1)
|
||
{
|
||
realTimeDataViewModel2.LeakageImage = (ImageSource)Application.Current.FindResource("CycleRed");
|
||
}
|
||
else if (leakState == 0)
|
||
{
|
||
realTimeDataViewModel2.LeakageImage = (ImageSource)Application.Current.FindResource("CycleGreen");
|
||
}
|
||
else
|
||
{
|
||
realTimeDataViewModel2.LeakageImage = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
}
|
||
|
||
//int hatchState = Convert.ToInt32(string.IsNullOrEmpty(dataReaderSub["Hatch_State"].ToString()) ? "2" : dataReaderSub["Hatch_State"]);
|
||
//if (hatchState == 1)
|
||
//{
|
||
// realTimeDataViewModel2.HatchStateImage = (ImageSource)Application.Current.FindResource("CycleRed");
|
||
//}
|
||
//else if (hatchState == 0)
|
||
//{
|
||
// realTimeDataViewModel2.HatchStateImage = (ImageSource)Application.Current.FindResource("CycleGreen");
|
||
//}
|
||
//else
|
||
//{
|
||
// realTimeDataViewModel2.HatchStateImage = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
//}
|
||
}
|
||
else
|
||
{
|
||
realTimeDataViewModel2.LeakageImage = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
//realTimeDataViewModel2.HatchStateImage = (ImageSource)Application.Current.FindResource("CycleGray");
|
||
}
|
||
//}
|
||
dataReader.Dispose();
|
||
dataReaderSub.Dispose();
|
||
dataReaderMon.Dispose();
|
||
|
||
sql = String.Format("select * from boosterstation_state where StationID = {0} ORDER by id desc limit 1", 2);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
realTimeDataViewModel2.BaseStationStatus[2].Value = string.IsNullOrEmpty(dataReader["In_Vol"].ToString()) ? "0.00" : dataReader["In_Vol"].ToString();
|
||
realTimeDataViewModel2.BaseStationStatus[5].Value = string.IsNullOrEmpty(dataReader["In_Cur"].ToString()) ? "0.00" : dataReader["In_Cur"].ToString();
|
||
realTimeDataViewModel2.DataTimeBoosterStationVol = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
realTimeDataViewModel2.DataTimeBoosterStationCur = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
}
|
||
dataReader.Dispose();
|
||
#endregion
|
||
|
||
|
||
#region 实时数据显示页面告警数据初始化
|
||
sql = String.Format("select * from alarm_info where StationID = {0} ORDER by id desc limit 7", 1);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
AlarmRecordModel alarmRecordModel = new AlarmRecordModel();
|
||
alarmRecordModel.Index = index++;
|
||
alarmRecordModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
alarmRecordModel.ParaName = dataReader["ParaName"].ToString();
|
||
alarmRecordModel.ParaContent = dataReader["ParaContent"].ToString();
|
||
alarmRecordModel.ProcessingMethod = dataReader["ProcessingMethod"].ToString();
|
||
if (dataReader["UrgencyLevel"].ToString() == "1")
|
||
{
|
||
alarmRecordModel.UrgencyLevel = (ImageSource)Application.Current.FindResource("CycleYellow");
|
||
}
|
||
else if (dataReader["UrgencyLevel"].ToString() == "2")
|
||
{
|
||
alarmRecordModel.UrgencyLevel = (ImageSource)Application.Current.FindResource("CycleOrange");
|
||
}
|
||
else
|
||
{
|
||
alarmRecordModel.UrgencyLevel = (ImageSource)Application.Current.FindResource("CycleRed");
|
||
}
|
||
realTimeDataViewModel1.AlarmList.Add(alarmRecordModel);
|
||
}
|
||
dataReader.Dispose();
|
||
|
||
sql = String.Format("select * from alarm_info where StationID = {0} ORDER by id desc limit 7", 2);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
index = 1;
|
||
while (dataReader.Read())
|
||
{
|
||
AlarmRecordModel alarmRecordModel = new AlarmRecordModel();
|
||
alarmRecordModel.Index = index++;
|
||
alarmRecordModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
|
||
alarmRecordModel.ParaName = dataReader["ParaName"].ToString();
|
||
alarmRecordModel.ParaContent = dataReader["ParaContent"].ToString();
|
||
alarmRecordModel.ProcessingMethod = dataReader["ProcessingMethod"].ToString();
|
||
if (dataReader["UrgencyLevel"].ToString() == "1")
|
||
{
|
||
alarmRecordModel.UrgencyLevel = (ImageSource)Application.Current.FindResource("CycleYellow");
|
||
}
|
||
else if (dataReader["UrgencyLevel"].ToString() == "2")
|
||
{
|
||
alarmRecordModel.UrgencyLevel = (ImageSource)Application.Current.FindResource("CycleOrange");
|
||
}
|
||
else
|
||
{
|
||
alarmRecordModel.UrgencyLevel = (ImageSource)Application.Current.FindResource("CycleRed");
|
||
}
|
||
realTimeDataViewModel2.AlarmList.Add(alarmRecordModel);
|
||
}
|
||
dataReader.Dispose();
|
||
#endregion
|
||
|
||
|
||
#region 实时数据显示页面三维模型姿态数据初始化
|
||
sql = String.Format("select * from juncbox_env where StationID = {0} ORDER by id desc limit 1", 1);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
realTimeDataViewModel1.BaseStationGesture.RollAngle = Convert.ToSingle(string.IsNullOrEmpty(dataReader["AttitudeX"].ToString()) ? "0.00" : dataReader["AttitudeX"].ToString());
|
||
realTimeDataViewModel1.BaseStationGesture.PitchAngle = Convert.ToSingle(string.IsNullOrEmpty(dataReader["AttitudeY"].ToString()) ? "0.00" : dataReader["AttitudeY"].ToString());
|
||
realTimeDataViewModel1.BaseStationGesture.HeadingAngle = Convert.ToSingle(string.IsNullOrEmpty(dataReader["AttitudeZ"].ToString()) ? "0.00" : dataReader["AttitudeZ"].ToString());
|
||
}
|
||
dataReader.Dispose();
|
||
|
||
baseStationModelViewModel1.BaseStationGesture.RollAngle = realTimeDataViewModel1.BaseStationGesture.RollAngle;
|
||
baseStationModelViewModel1.BaseStationGesture.PitchAngle = realTimeDataViewModel1.BaseStationGesture.PitchAngle;
|
||
baseStationModelViewModel1.BaseStationGesture.HeadingAngle = realTimeDataViewModel1.BaseStationGesture.HeadingAngle;
|
||
|
||
float CalibrationHG = Convert.ToSingle(Tools.GetAppSetting("CalibrationHG"));
|
||
float CalibrationFY = Convert.ToSingle(Tools.GetAppSetting("CalibrationFY"));
|
||
float CalibrationPH = Convert.ToSingle(Tools.GetAppSetting("CalibrationPH"));
|
||
realTimeDataViewModel1.BaseStationGesture.PY_HG = realTimeDataViewModel1.BaseStationGesture.RollAngle - CalibrationHG;
|
||
realTimeDataViewModel1.BaseStationGesture.PY_FY = realTimeDataViewModel1.BaseStationGesture.PitchAngle - CalibrationFY;
|
||
realTimeDataViewModel1.BaseStationGesture.PY_PH = realTimeDataViewModel1.BaseStationGesture.HeadingAngle - CalibrationPH;
|
||
if (Math.Abs(realTimeDataViewModel1.BaseStationGesture.PY_HG) <= 0.75)
|
||
realTimeDataViewModel1.AngleBackgroundX = new SolidColorBrush(Colors.Green);
|
||
else if (Math.Abs(realTimeDataViewModel1.BaseStationGesture.PY_HG) > 0.75 && Math.Abs(realTimeDataViewModel1.BaseStationGesture.PY_HG) <= 1)
|
||
realTimeDataViewModel1.AngleBackgroundX = new SolidColorBrush(Colors.Yellow);
|
||
else
|
||
realTimeDataViewModel1.AngleBackgroundX = new SolidColorBrush(Colors.Red);
|
||
if (Math.Abs(realTimeDataViewModel1.BaseStationGesture.PY_FY) <= 0.75)
|
||
realTimeDataViewModel1.AngleBackgroundY = new SolidColorBrush(Colors.Green);
|
||
else if (Math.Abs(realTimeDataViewModel1.BaseStationGesture.PY_FY) > 0.75 && Math.Abs(realTimeDataViewModel1.BaseStationGesture.PY_FY) <= 1)
|
||
realTimeDataViewModel1.AngleBackgroundY = new SolidColorBrush(Colors.Yellow);
|
||
else
|
||
realTimeDataViewModel1.AngleBackgroundY = new SolidColorBrush(Colors.Red);
|
||
if (Math.Abs(realTimeDataViewModel1.BaseStationGesture.PY_PH) <= 0.75)
|
||
realTimeDataViewModel1.AngleBackgroundZ = new SolidColorBrush(Colors.Green);
|
||
else if (Math.Abs(realTimeDataViewModel1.BaseStationGesture.PY_PH) > 0.75 && Math.Abs(realTimeDataViewModel1.BaseStationGesture.PY_PH) <= 1)
|
||
realTimeDataViewModel1.AngleBackgroundZ = new SolidColorBrush(Colors.Yellow);
|
||
else
|
||
realTimeDataViewModel1.AngleBackgroundZ = new SolidColorBrush(Colors.Red);
|
||
|
||
|
||
sql = String.Format("select * from juncbox_env where StationID = {0} ORDER by id desc limit 1", 2);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
while (dataReader.Read())
|
||
{
|
||
realTimeDataViewModel2.BaseStationGesture.RollAngle = Convert.ToSingle(string.IsNullOrEmpty(dataReader["AttitudeX"].ToString()) ? "0.00" : dataReader["AttitudeX"].ToString());
|
||
realTimeDataViewModel2.BaseStationGesture.PitchAngle = Convert.ToSingle(string.IsNullOrEmpty(dataReader["AttitudeY"].ToString()) ? "0.00" : dataReader["AttitudeY"].ToString());
|
||
realTimeDataViewModel2.BaseStationGesture.HeadingAngle = Convert.ToSingle(string.IsNullOrEmpty(dataReader["AttitudeZ"].ToString()) ? "0.00" : dataReader["AttitudeZ"].ToString());
|
||
}
|
||
dataReader.Dispose();
|
||
|
||
baseStationModelViewModel2.BaseStationGesture.RollAngle = realTimeDataViewModel2.BaseStationGesture.RollAngle;
|
||
baseStationModelViewModel2.BaseStationGesture.PitchAngle = realTimeDataViewModel2.BaseStationGesture.PitchAngle;
|
||
baseStationModelViewModel2.BaseStationGesture.HeadingAngle = realTimeDataViewModel2.BaseStationGesture.HeadingAngle;
|
||
|
||
realTimeDataViewModel2.BaseStationGesture.PY_HG = realTimeDataViewModel2.BaseStationGesture.RollAngle - CalibrationHG;
|
||
realTimeDataViewModel2.BaseStationGesture.PY_FY = realTimeDataViewModel2.BaseStationGesture.PitchAngle - CalibrationFY;
|
||
realTimeDataViewModel2.BaseStationGesture.PY_PH = realTimeDataViewModel2.BaseStationGesture.HeadingAngle - CalibrationPH;
|
||
if (Math.Abs(realTimeDataViewModel2.BaseStationGesture.PY_HG) <= 0.75)
|
||
realTimeDataViewModel2.AngleBackgroundX = new SolidColorBrush(Colors.Green);
|
||
else if (Math.Abs(realTimeDataViewModel2.BaseStationGesture.PY_HG) > 0.75 && Math.Abs(realTimeDataViewModel2.BaseStationGesture.PY_HG) <= 1)
|
||
realTimeDataViewModel2.AngleBackgroundX = new SolidColorBrush(Colors.Yellow);
|
||
else
|
||
realTimeDataViewModel2.AngleBackgroundX = new SolidColorBrush(Colors.Red);
|
||
if (Math.Abs(realTimeDataViewModel2.BaseStationGesture.PY_FY) <= 0.75)
|
||
realTimeDataViewModel2.AngleBackgroundY = new SolidColorBrush(Colors.Green);
|
||
else if (Math.Abs(realTimeDataViewModel2.BaseStationGesture.PY_FY) > 0.75 && Math.Abs(realTimeDataViewModel2.BaseStationGesture.PY_FY) <= 1)
|
||
realTimeDataViewModel2.AngleBackgroundY = new SolidColorBrush(Colors.Yellow);
|
||
else
|
||
realTimeDataViewModel2.AngleBackgroundY = new SolidColorBrush(Colors.Red);
|
||
if (Math.Abs(realTimeDataViewModel2.BaseStationGesture.PY_PH) <= 0.75)
|
||
realTimeDataViewModel2.AngleBackgroundZ = new SolidColorBrush(Colors.Green);
|
||
else if (Math.Abs(realTimeDataViewModel2.BaseStationGesture.PY_PH) > 0.75 && Math.Abs(realTimeDataViewModel2.BaseStationGesture.PY_PH) <= 1)
|
||
realTimeDataViewModel2.AngleBackgroundZ = new SolidColorBrush(Colors.Yellow);
|
||
else
|
||
realTimeDataViewModel2.AngleBackgroundZ = new SolidColorBrush(Colors.Red);
|
||
#endregion
|
||
|
||
|
||
#region 状态设置页面电源On/Off状态初始化
|
||
if(station_id==1)
|
||
{
|
||
ElectPowerOpenBtnIsEnabled = false;
|
||
ElectPowerCloseBtnIsEnabled = false;
|
||
}
|
||
|
||
sql = String.Format("select RelayStatus from boosterstation_state where StationID = {0} ORDER by id desc limit 1", 1);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
if (dataReader.Read())
|
||
{
|
||
if (dataReader["RelayStatus"].ToString() == "1")
|
||
baseStationStateModel1.JunBox_Power = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
else
|
||
baseStationStateModel1.JunBox_Power = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
}
|
||
dataReader.Dispose();
|
||
|
||
sql = String.Format("select RelayStatus from boosterstation_state where StationID = {0} ORDER by id desc limit 1", 2);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
if (dataReader.Read())
|
||
{
|
||
if (dataReader["RelayStatus"].ToString() == "1")
|
||
baseStationStateModel2.JunBox_Power = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
else
|
||
baseStationStateModel2.JunBox_Power = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
}
|
||
dataReader.Dispose();
|
||
|
||
sql = String.Format("select * from juncbox_state where StationID = {0} ORDER by id desc limit 1", 1);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
if (dataReader.Read())
|
||
{
|
||
if (dataReader["JunBox_Seis1"].ToString() == "1")
|
||
baseStationStateModel1.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
else
|
||
baseStationStateModel1.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
|
||
if (dataReader["JunBox_Seis2"].ToString() == "1")
|
||
baseStationStateModel1.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
else
|
||
baseStationStateModel1.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
|
||
//if (dataReader["JunBox_Elect"].ToString() == "1")
|
||
// baseStationStateModel1.JunBox_Elect = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
//else
|
||
baseStationStateModel1.JunBox_Elect = (ImageSource)Application.Current.FindResource("NoDevice");
|
||
|
||
|
||
//if (dataReader["JunBox_ProBoard_PowCarrier_State"].ToString() == "0")
|
||
// baseStationStateModel1.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Green);
|
||
//else if (dataReader["JunBox_ProBoard_PowCarrier_State"].ToString() == "1")
|
||
// baseStationStateModel1.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Red);
|
||
//else
|
||
// baseStationStateModel1.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Gray);
|
||
|
||
//if (dataReader["JunBox_ProBoard_OptSwitch_State"].ToString() == "0")
|
||
// baseStationStateModel1.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Green);
|
||
//else if (dataReader["JunBox_ProBoard_OptSwitch_State"].ToString() == "1")
|
||
// baseStationStateModel1.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Red);
|
||
//else
|
||
// baseStationStateModel1.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Gray);
|
||
|
||
if (dataReader["JunBox_ProBoard_Seis1_State"].ToString() == "0")
|
||
baseStationStateModel1.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Green);
|
||
else if (dataReader["JunBox_ProBoard_Seis1_State"].ToString() == "1")
|
||
baseStationStateModel1.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Red);
|
||
else
|
||
baseStationStateModel1.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Gray);
|
||
|
||
|
||
if (dataReader["JunBox_ProBoard_Seis2_State"].ToString() == "0")
|
||
baseStationStateModel1.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Green);
|
||
else if (dataReader["JunBox_ProBoard_Seis2_State"].ToString() == "1")
|
||
baseStationStateModel1.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Red);
|
||
else
|
||
baseStationStateModel1.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Gray);
|
||
|
||
if (dataReader["JunBox_ProBoard_Elect_State"].ToString() == "0")
|
||
baseStationStateModel1.JunBox_ProBoard_Elect_State = new SolidColorBrush(Colors.Green);
|
||
else if (dataReader["JunBox_ProBoard_Elect_State"].ToString() == "1")
|
||
baseStationStateModel1.JunBox_ProBoard_Elect_State = new SolidColorBrush(Colors.Red);
|
||
else
|
||
baseStationStateModel1.JunBox_ProBoard_Elect_State = new SolidColorBrush(Colors.Gray);
|
||
|
||
//if (dataReader["Seis_Power_State"].ToString() == "0")
|
||
// baseStationStateModel1.Seis_Power_State = "备";
|
||
//else if (dataReader["Seis_Power_State"].ToString() == "1")
|
||
// baseStationStateModel1.Seis_Power_State = "主";
|
||
//else
|
||
// baseStationStateModel1.Seis_Power_State = "/";
|
||
|
||
|
||
//if (dataReader["Seis_Power_SupplyMethod"].ToString() == "0")
|
||
// baseStationStateModel1.Seis_Power_SupplyMethod = "电池";
|
||
//else if (dataReader["Seis_Power_SupplyMethod"].ToString() == "1")
|
||
// baseStationStateModel1.Seis_Power_SupplyMethod = "外部";
|
||
//else
|
||
// baseStationStateModel1.Seis_Power_SupplyMethod = "/";
|
||
|
||
if (dataReader["JunBox_PowCarrier"].ToString() == "1")
|
||
baseStationStateModel1.JunBox_PowCarrier = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
else
|
||
baseStationStateModel1.JunBox_PowCarrier = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
|
||
if (dataReader["JunBox_OptSwitch"].ToString() == "1")
|
||
baseStationStateModel1.JunBox_OptSwitch = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
else
|
||
baseStationStateModel1.JunBox_OptSwitch = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
}
|
||
dataReader.Dispose();
|
||
|
||
sql = String.Format("select * from juncbox_state where StationID = {0} ORDER by id desc limit 1", 2);
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
if (dataReader.Read())
|
||
{
|
||
if (dataReader["JunBox_Seis1"].ToString() == "1")
|
||
baseStationStateModel2.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
else
|
||
baseStationStateModel2.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
|
||
if (dataReader["JunBox_Seis2"].ToString() == "1")
|
||
baseStationStateModel2.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
else
|
||
baseStationStateModel2.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
|
||
if (dataReader["JunBox_Elect"].ToString() == "1")
|
||
baseStationStateModel2.JunBox_Elect = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
else
|
||
baseStationStateModel2.JunBox_Elect = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
|
||
|
||
//if (dataReader["JunBox_ProBoard_PowCarrier_State"].ToString() == "0")
|
||
// baseStationStateModel2.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Green);
|
||
//else if (dataReader["JunBox_ProBoard_PowCarrier_State"].ToString() == "1")
|
||
// baseStationStateModel2.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Red);
|
||
//else
|
||
// baseStationStateModel2.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Gray);
|
||
|
||
//if (dataReader["JunBox_ProBoard_OptSwitch_State"].ToString() == "0")
|
||
// baseStationStateModel2.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Green);
|
||
//else if (dataReader["JunBox_ProBoard_OptSwitch_State"].ToString() == "1")
|
||
// baseStationStateModel2.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Red);
|
||
//else
|
||
// baseStationStateModel2.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Gray);
|
||
|
||
if (dataReader["JunBox_ProBoard_Seis1_State"].ToString() == "0")
|
||
baseStationStateModel2.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Green);
|
||
else if (dataReader["JunBox_ProBoard_Seis1_State"].ToString() == "1")
|
||
baseStationStateModel2.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Red);
|
||
else
|
||
baseStationStateModel2.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Gray);
|
||
|
||
|
||
if (dataReader["JunBox_ProBoard_Seis2_State"].ToString() == "0")
|
||
baseStationStateModel2.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Green);
|
||
else if (dataReader["JunBox_ProBoard_Seis2_State"].ToString() == "1")
|
||
baseStationStateModel2.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Red);
|
||
else
|
||
baseStationStateModel2.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Gray);
|
||
|
||
if (dataReader["JunBox_ProBoard_Elect_State"].ToString() == "0")
|
||
baseStationStateModel2.JunBox_ProBoard_Elect_State = new SolidColorBrush(Colors.Green);
|
||
else if (dataReader["JunBox_ProBoard_Elect_State"].ToString() == "1")
|
||
baseStationStateModel2.JunBox_ProBoard_Elect_State = new SolidColorBrush(Colors.Red);
|
||
else
|
||
baseStationStateModel2.JunBox_ProBoard_Elect_State = new SolidColorBrush(Colors.Gray);
|
||
|
||
//if (dataReader["Seis_Power_State"].ToString() == "0")
|
||
// baseStationStateModel2.Seis_Power_State = "备";
|
||
//else if (dataReader["Seis_Power_State"].ToString() == "1")
|
||
// baseStationStateModel2.Seis_Power_State = "主";
|
||
//else
|
||
// baseStationStateModel2.Seis_Power_State = "/";
|
||
|
||
|
||
//if (dataReader["Seis_Power_SupplyMethod"].ToString() == "0")
|
||
// baseStationStateModel2.Seis_Power_SupplyMethod = "电池";
|
||
//else if (dataReader["Seis_Power_SupplyMethod"].ToString() == "1")
|
||
// baseStationStateModel2.Seis_Power_SupplyMethod = "外部";
|
||
//else
|
||
// baseStationStateModel2.Seis_Power_SupplyMethod = "/";
|
||
|
||
if (dataReader["JunBox_PowCarrier"].ToString() == "1")
|
||
baseStationStateModel2.JunBox_PowCarrier = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
else
|
||
baseStationStateModel2.JunBox_PowCarrier = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
|
||
if (dataReader["JunBox_OptSwitch"].ToString() == "1")
|
||
baseStationStateModel2.JunBox_OptSwitch = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
else
|
||
baseStationStateModel2.JunBox_OptSwitch = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
}
|
||
dataReader.Dispose();
|
||
#endregion
|
||
|
||
|
||
//默认打开第一个界面
|
||
DoNavChanged("RealTimeDataView");
|
||
}
|
||
|
||
|
||
#region Communication Command
|
||
#region Lower Computer
|
||
/// <summary>
|
||
/// SocketServer1连接
|
||
/// </summary>
|
||
/// <param name="o"></param>
|
||
public void Socket1DoOpen(object o)
|
||
{
|
||
if (serverModel1.IsOpened) //服务器已开启
|
||
{
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(100);
|
||
serverModel1.DoStop();
|
||
serverModel1 = new ServerModel();
|
||
}));
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('1','{DateTime.Now}','海底地震监测基站-接驳盒','通信连接','服务器已关闭');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
else
|
||
{
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(150);
|
||
|
||
if (serverModel1.DoStart(SocketServerInfo1))
|
||
{
|
||
//EM.Socket1ConMessage = string.Format("IP:{0} \r\n端口号:{1}", SocketInfo1.IP, SocketInfo1.Port.ToString());
|
||
//更新下App.config中的配置信息
|
||
Tools.UpdateAppSettings("XWJ_Service_IP1", SocketServerInfo1.IP);
|
||
Tools.UpdateAppSettings("XWJ_Service_Port1", SocketServerInfo1.Port.ToString());
|
||
|
||
string record = "服务器已开启,IP:" + SocketServerInfo1.IP + ",Port:" + SocketServerInfo1.Port;
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('1','{DateTime.Now}','海底地震监测基站-接驳盒','通信连接','{record}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
}));
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// SocketServer2连接
|
||
/// </summary>
|
||
/// <param name="o"></param>
|
||
public void Socket2DoOpen(object o)
|
||
{
|
||
if (serverModel2.IsOpened) //服务器已开启
|
||
{
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(100);
|
||
serverModel2.DoStop();
|
||
serverModel2 = new ServerModel();
|
||
}));
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('2','{DateTime.Now}','海底地震监测基站-接驳盒','通信连接','服务器已关闭');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
else
|
||
{
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(150);
|
||
|
||
if (serverModel2.DoStart(SocketServerInfo2))
|
||
{
|
||
//EM.Socket1ConMessage = string.Format("IP:{0} \r\n端口号:{1}", SocketInfo1.IP, SocketInfo1.Port.ToString());
|
||
//更新下App.config中的配置信息
|
||
Tools.UpdateAppSettings("XWJ_Service_IP2", SocketServerInfo2.IP);
|
||
Tools.UpdateAppSettings("XWJ_Service_Port2", SocketServerInfo2.Port.ToString());
|
||
|
||
string record = "服务器已开启,IP:" + SocketServerInfo2.IP + ",Port:" + SocketServerInfo2.Port;
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('2','{DateTime.Now}','海底地震监测基站-接驳盒','通信连接','{record}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
}));
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region Booster Station
|
||
/// <summary>
|
||
/// SocketClient1连接
|
||
/// </summary>
|
||
/// <param name="o"></param>
|
||
public void DoSocket1Connect(object o)
|
||
{
|
||
if (clientModel1.IsConnected)
|
||
{
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(100);
|
||
clientModel1.DisConnect();
|
||
}));
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('1','{DateTime.Now}','升压站电控通信系统','通信连接','连接已断开');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
else
|
||
{
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(150);
|
||
|
||
if (clientModel1.DoConnect(SocketInfo1))
|
||
{
|
||
//EM.Socket1ConMessage = string.Format("IP:{0} \r\n端口号:{1}", SocketInfo1.IP, SocketInfo1.Port.ToString());
|
||
//更新下App.config中的配置信息
|
||
Tools.UpdateAppSettings("SYZ_Client_IP1", SocketInfo1.IP);
|
||
Tools.UpdateAppSettings("SYZ_Client_Port1", SocketInfo1.Port.ToString());
|
||
|
||
string record = "连接已建立,IP:" + SocketInfo1.IP + ",Port:" + SocketInfo1.Port;
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('1','{DateTime.Now}','升压站电控通信系统','通信连接','{record}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
}));
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// SocketClient2连接
|
||
/// </summary>
|
||
/// <param name="o"></param>
|
||
public void DoSocket2Connect(object o)
|
||
{
|
||
if (clientModel2.IsConnected)
|
||
{
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(100);
|
||
clientModel2.DisConnect();
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('2','{DateTime.Now}','升压站电控通信系统','通信连接','连接已断开');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}));
|
||
}
|
||
else
|
||
{
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(200);
|
||
|
||
if (clientModel2.DoConnect(SocketInfo2))
|
||
{
|
||
// EM.Socket2ConMessage = string.Format("IP:{0} \r\n端口号:{1}", SocketInfo2.IP, SocketInfo2.Port.ToString());
|
||
//更新下App.config中的配置信息
|
||
Tools.UpdateAppSettings("SYZ_Client_IP2", SocketInfo2.IP);
|
||
Tools.UpdateAppSettings("SYZ_Client_Port2", SocketInfo2.Port.ToString());
|
||
|
||
string record = "连接已建立,IP:" + SocketInfo2.IP + ",Port:" + SocketInfo2.Port;
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('2','{DateTime.Now}','升压站电控通信系统','通信连接','{record}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
}));
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region Seismograph
|
||
public byte[] CloseByte()
|
||
{
|
||
List<byte> sendCloseDataSeis = new List<byte>();
|
||
|
||
List<byte> checkCloseByte = new List<byte>();
|
||
|
||
byte[] checkCloseCode = new byte[2];
|
||
|
||
//发送断开连接消息
|
||
sendCloseDataSeis.Clear();
|
||
sendCloseDataSeis.AddRange(new byte[] { 0xBF, 0x13, 0x97, 0x74 }); //SYNC
|
||
sendCloseDataSeis.AddRange(new byte[] { 0xA0, 0x50 }); //CMD
|
||
sendCloseDataSeis.AddRange(new byte[] { 0x00, 0x04 }); //LENGTH
|
||
|
||
//消息字
|
||
byte[] msg = new byte[2];
|
||
msg = BitConverter.GetBytes(500);
|
||
msg = Tools.PadArrayWithZeros(msg, 2);
|
||
|
||
sendCloseDataSeis.AddRange(msg); //DATA
|
||
checkCloseByte.Clear();
|
||
checkCloseByte.AddRange(new byte[] { 0xA0, 0x50 }); //CMD
|
||
checkCloseByte.AddRange(new byte[] { 0x00, 0x04 }); //LENGTH
|
||
checkCloseByte.AddRange(msg); //DATA
|
||
checkCloseCode = Tools.ComputeChecksum(checkCloseByte.ToArray()); //CHK_SUM
|
||
sendCloseDataSeis.AddRange(checkCloseCode);
|
||
|
||
return sendCloseDataSeis.ToArray();
|
||
}
|
||
|
||
|
||
#region MainSeis1ConnectMsg
|
||
private void TimerMainSeis1ConnectMsgHidden_Tick(object sender, EventArgs e)
|
||
{
|
||
MainSeis1ConnectMsgVisibility = Visibility.Hidden;
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private string mainSeis1ConnectMsg;
|
||
|
||
public string MainSeis1ConnectMsg
|
||
{
|
||
get { return mainSeis1ConnectMsg; }
|
||
set { mainSeis1ConnectMsg = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Brush mainSeis1ConnectMsgForeground;
|
||
|
||
public Brush MainSeis1ConnectMsgForeground
|
||
{
|
||
get { return mainSeis1ConnectMsgForeground; }
|
||
set { mainSeis1ConnectMsgForeground = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Visibility mainSeis1ConnectMsgVisibility = Visibility.Visible;
|
||
|
||
public Visibility MainSeis1ConnectMsgVisibility
|
||
{
|
||
get { return mainSeis1ConnectMsgVisibility; }
|
||
set { mainSeis1ConnectMsgVisibility = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool isMainSeis1CertSucs = false;
|
||
|
||
public bool IsMainSeis1CertSucs
|
||
{
|
||
get { return isMainSeis1CertSucs; }
|
||
set { isMainSeis1CertSucs = value; this.DoNotify(); }
|
||
}
|
||
#endregion
|
||
|
||
|
||
/// <summary>
|
||
/// DoSocketMainSeis1Connect连接
|
||
/// </summary>
|
||
/// <param name="o"></param>
|
||
public void DoSocketMainSeis1Connect(object o)
|
||
{
|
||
if (clientModelMainSeis1.IsConnected)
|
||
{
|
||
//发送断开连接消息
|
||
clientModelMainSeis1.SendMessage(CloseByte());
|
||
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(100);
|
||
clientModelMainSeis1.DisConnect();
|
||
IsMainSeis1CertSucs = false;
|
||
|
||
App.Current.Dispatcher.Invoke(() =>
|
||
{
|
||
MainSeis1ConnectMsgVisibility = Visibility.Visible;
|
||
MainSeis1ConnectMsg = "连接断开!";
|
||
MainSeis1ConnectMsgForeground = new SolidColorBrush(Colors.Red);
|
||
});
|
||
}));
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('1','{DateTime.Now}','海底地震监测基站-主地震仪','通信连接','连接已断开');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
else
|
||
{
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(150);
|
||
|
||
if (clientModelMainSeis1.DoConnect(SocketInfoMainSeis1))
|
||
{
|
||
App.Current.Dispatcher.Invoke(() =>
|
||
{
|
||
MainSeis1ConnectMsgVisibility = Visibility.Visible;
|
||
MainSeis1ConnectMsg = "初步连接,等待消息帧!";
|
||
MainSeis1ConnectMsgForeground = new SolidColorBrush(Colors.Green);
|
||
});
|
||
|
||
IsMainSeis1CertSucs = false;
|
||
|
||
//EM.Socket1ConMessage = string.Format("IP:{0} \r\n端口号:{1}", SocketInfo1.IP, SocketInfo1.Port.ToString());
|
||
//更新下App.config中的配置信息
|
||
Tools.UpdateAppSettings("MainSeis_Client_IP1", SocketInfoMainSeis1.IP);
|
||
Tools.UpdateAppSettings("MainSeis_Client_Port1", SocketInfoMainSeis1.Port.ToString());
|
||
|
||
string record = "初步连接,等待消息帧,IP:" + SocketInfoMainSeis1.IP + ",Port:" + SocketInfoMainSeis1.Port;
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('1','{DateTime.Now}','海底地震监测基站-主地震仪','通信连接','{record}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
|
||
//切到主地震仪显示
|
||
}
|
||
}));
|
||
}
|
||
}
|
||
|
||
|
||
#region MainSeis2ConnectMsg
|
||
private void TimerMainSeis2ConnectMsgHidden_Tick(object sender, EventArgs e)
|
||
{
|
||
MainSeis2ConnectMsgVisibility = Visibility.Hidden;
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private string mainSeis2ConnectMsg;
|
||
|
||
public string MainSeis2ConnectMsg
|
||
{
|
||
get { return mainSeis2ConnectMsg; }
|
||
set { mainSeis2ConnectMsg = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Brush mainSeis2ConnectMsgForeground;
|
||
|
||
public Brush MainSeis2ConnectMsgForeground
|
||
{
|
||
get { return mainSeis2ConnectMsgForeground; }
|
||
set { mainSeis2ConnectMsgForeground = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Visibility mainSeis2ConnectMsgVisibility = Visibility.Visible;
|
||
|
||
public Visibility MainSeis2ConnectMsgVisibility
|
||
{
|
||
get { return mainSeis2ConnectMsgVisibility; }
|
||
set { mainSeis2ConnectMsgVisibility = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool isMainSeis2CertSucs = false;
|
||
|
||
public bool IsMainSeis2CertSucs
|
||
{
|
||
get { return isMainSeis2CertSucs; }
|
||
set { isMainSeis2CertSucs = value; this.DoNotify(); }
|
||
}
|
||
#endregion
|
||
|
||
|
||
/// <summary>
|
||
/// DoSocketMainSeis2Connect连接
|
||
/// </summary>
|
||
/// <param name="o"></param>
|
||
public void DoSocketMainSeis2Connect(object o)
|
||
{
|
||
if (clientModelMainSeis2.IsConnected)
|
||
{
|
||
//发送断开连接消息
|
||
clientModelMainSeis2.SendMessage(CloseByte());
|
||
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(100);
|
||
clientModelMainSeis2.DisConnect();
|
||
IsMainSeis2CertSucs = false;
|
||
|
||
App.Current.Dispatcher.Invoke(() =>
|
||
{
|
||
MainSeis2ConnectMsgVisibility = Visibility.Visible;
|
||
MainSeis2ConnectMsg = "连接断开!";
|
||
MainSeis2ConnectMsgForeground = new SolidColorBrush(Colors.Red);
|
||
});
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('2','{DateTime.Now}','海底地震监测基站-主地震仪','通信连接','连接已断开');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}));
|
||
}
|
||
else
|
||
{
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(150);
|
||
|
||
if (clientModelMainSeis2.DoConnect(SocketInfoMainSeis2))
|
||
{
|
||
App.Current.Dispatcher.Invoke(() =>
|
||
{
|
||
MainSeis2ConnectMsgVisibility = Visibility.Visible;
|
||
MainSeis2ConnectMsg = "初步连接,等待消息帧!";
|
||
MainSeis2ConnectMsgForeground = new SolidColorBrush(Colors.Green);
|
||
});
|
||
|
||
IsMainSeis2CertSucs = false;
|
||
|
||
//EM.Socket1ConMessage = string.Format("IP:{0} \r\n端口号:{1}", SocketInfo1.IP, SocketInfo1.Port.ToString());
|
||
//更新下App.config中的配置信息
|
||
Tools.UpdateAppSettings("MainSeis_Client_IP2", SocketInfoMainSeis2.IP);
|
||
Tools.UpdateAppSettings("MainSeis_Client_Port2", SocketInfoMainSeis2.Port.ToString());
|
||
|
||
string record = "初步连接,等待消息帧,IP:" + SocketInfoMainSeis2.IP + ",Port:" + SocketInfoMainSeis2.Port;
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('2','{DateTime.Now}','海底地震监测基站-主地震仪','通信连接','{record}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
}));
|
||
}
|
||
}
|
||
|
||
#region BackupSeis1ConnectMsg
|
||
private void TimerBackupSeis1ConnectMsgHidden_Tick(object sender, EventArgs e)
|
||
{
|
||
BackupSeis1ConnectMsgVisibility = Visibility.Hidden;
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private string backupSeis1ConnectMsg;
|
||
|
||
public string BackupSeis1ConnectMsg
|
||
{
|
||
get { return backupSeis1ConnectMsg; }
|
||
set { backupSeis1ConnectMsg = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Brush backupSeis1ConnectMsgForeground;
|
||
|
||
public Brush BackupSeis1ConnectMsgForeground
|
||
{
|
||
get { return backupSeis1ConnectMsgForeground; }
|
||
set { backupSeis1ConnectMsgForeground = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Visibility backupSeis1ConnectMsgVisibility = Visibility.Visible;
|
||
|
||
public Visibility BackupSeis1ConnectMsgVisibility
|
||
{
|
||
get { return backupSeis1ConnectMsgVisibility; }
|
||
set { backupSeis1ConnectMsgVisibility = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool isBackupSeis1CertSucs = false;
|
||
|
||
public bool IsBackupSeis1CertSucs
|
||
{
|
||
get { return isBackupSeis1CertSucs; }
|
||
set { isBackupSeis1CertSucs = value; this.DoNotify(); }
|
||
}
|
||
#endregion
|
||
|
||
/// <summary>
|
||
/// DoSocketBackupSeis1Connect连接
|
||
/// </summary>
|
||
/// <param name="o"></param>
|
||
public void DoSocketBackupSeis1Connect(object o)
|
||
{
|
||
if (clientModelBackupSeis1.IsConnected)
|
||
{
|
||
//发送断开连接消息
|
||
clientModelBackupSeis1.SendMessage(CloseByte());
|
||
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(100);
|
||
clientModelBackupSeis1.DisConnect();
|
||
IsBackupSeis1CertSucs = false;
|
||
|
||
App.Current.Dispatcher.Invoke(() =>
|
||
{
|
||
BackupSeis1ConnectMsgVisibility = Visibility.Visible;
|
||
BackupSeis1ConnectMsg = "连接断开!";
|
||
BackupSeis1ConnectMsgForeground = new SolidColorBrush(Colors.Red);
|
||
});
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('1','{DateTime.Now}','海底地震监测基站-备地震仪','通信连接','连接已断开');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}));
|
||
}
|
||
else
|
||
{
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(200);
|
||
|
||
if (clientModelBackupSeis1.DoConnect(SocketInfoBackupSeis1))
|
||
{
|
||
App.Current.Dispatcher.Invoke(() =>
|
||
{
|
||
BackupSeis1ConnectMsgVisibility = Visibility.Visible;
|
||
BackupSeis1ConnectMsg = "初步连接,等待消息帧!";
|
||
BackupSeis1ConnectMsgForeground = new SolidColorBrush(Colors.Green);
|
||
});
|
||
|
||
IsBackupSeis1CertSucs = false;
|
||
|
||
// EM.Socket2ConMessage = string.Format("IP:{0} \r\n端口号:{1}", SocketInfo2.IP, SocketInfo2.Port.ToString());
|
||
//更新下App.config中的配置信息
|
||
Tools.UpdateAppSettings("BackupSeis_Client_IP1", SocketInfoBackupSeis1.IP);
|
||
Tools.UpdateAppSettings("BackupSeis_Client_Port1", SocketInfoBackupSeis1.Port.ToString());
|
||
|
||
string record = "初步连接,等待消息帧,IP:" + SocketInfoBackupSeis1.IP + ",Port:" + SocketInfoBackupSeis1.Port;
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('1','{DateTime.Now}','海底地震监测基站-备地震仪','通信连接','{record}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
}));
|
||
}
|
||
}
|
||
|
||
#region BackupSeis2ConnectMsg
|
||
private void TimerBackupSeis2ConnectMsgHidden_Tick(object sender, EventArgs e)
|
||
{
|
||
BackupSeis2ConnectMsgVisibility = Visibility.Hidden;
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private string backupSeis2ConnectMsg;
|
||
|
||
public string BackupSeis2ConnectMsg
|
||
{
|
||
get { return backupSeis2ConnectMsg; }
|
||
set { backupSeis2ConnectMsg = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Brush backupSeis2ConnectMsgForeground;
|
||
|
||
public Brush BackupSeis2ConnectMsgForeground
|
||
{
|
||
get { return backupSeis2ConnectMsgForeground; }
|
||
set { backupSeis2ConnectMsgForeground = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Visibility backupSeis2ConnectMsgVisibility = Visibility.Visible;
|
||
|
||
public Visibility BackupSeis2ConnectMsgVisibility
|
||
{
|
||
get { return backupSeis2ConnectMsgVisibility; }
|
||
set { backupSeis2ConnectMsgVisibility = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool isBackupSeis2CertSucs = false;
|
||
|
||
public bool IsBackupSeis2CertSucs
|
||
{
|
||
get { return isBackupSeis2CertSucs; }
|
||
set { isBackupSeis2CertSucs = value; this.DoNotify(); }
|
||
}
|
||
#endregion
|
||
|
||
/// <summary>
|
||
/// DoSocketBackupSeis2Connect连接
|
||
/// </summary>
|
||
/// <param name="o"></param>
|
||
public void DoSocketBackupSeis2Connect(object o)
|
||
{
|
||
if (clientModelBackupSeis2.IsConnected)
|
||
{
|
||
//发送断开连接消息
|
||
clientModelBackupSeis2.SendMessage(CloseByte());
|
||
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(100);
|
||
clientModelBackupSeis2.DisConnect();
|
||
IsBackupSeis2CertSucs = false;
|
||
|
||
App.Current.Dispatcher.Invoke(() =>
|
||
{
|
||
BackupSeis2ConnectMsgVisibility = Visibility.Visible;
|
||
BackupSeis2ConnectMsg = "连接断开!";
|
||
BackupSeis2ConnectMsgForeground = new SolidColorBrush(Colors.Red);
|
||
});
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('2','{DateTime.Now}','海底地震监测基站-备地震仪','通信连接','连接已断开');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}));
|
||
}
|
||
else
|
||
{
|
||
Task.Run(new Action(async () =>
|
||
{
|
||
await Task.Delay(200);
|
||
|
||
if (clientModelBackupSeis2.DoConnect(SocketInfoBackupSeis2))
|
||
{
|
||
App.Current.Dispatcher.Invoke(() =>
|
||
{
|
||
BackupSeis2ConnectMsgVisibility = Visibility.Visible;
|
||
BackupSeis2ConnectMsg = "初步连接,等待消息帧!";
|
||
BackupSeis2ConnectMsgForeground = new SolidColorBrush(Colors.Green);
|
||
});
|
||
|
||
IsBackupSeis2CertSucs = false;
|
||
|
||
// EM.Socket2ConMessage = string.Format("IP:{0} \r\n端口号:{1}", SocketInfo2.IP, SocketInfo2.Port.ToString());
|
||
//更新下App.config中的配置信息
|
||
Tools.UpdateAppSettings("BackupSeis_Client_IP2", SocketInfoBackupSeis2.IP);
|
||
Tools.UpdateAppSettings("BackupSeis_Client_Port2", SocketInfoBackupSeis2.Port.ToString());
|
||
|
||
string record = "初步连接,等待消息帧,IP:" + SocketInfoBackupSeis2.IP + ",Port:" + SocketInfoBackupSeis2.Port;
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('2','{DateTime.Now}','海底地震监测基站-备地震仪','通信连接','{record}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
}));
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region Useless
|
||
//public void Com1DoConnect(object o)
|
||
//{
|
||
// if (comModel1.IsConnected)
|
||
// {
|
||
// Task.Run(new Action(async () =>
|
||
// {
|
||
// await Task.Delay(100);
|
||
// comModel1.DisConnect();
|
||
// }));
|
||
|
||
// }
|
||
// else
|
||
// {
|
||
// Task.Run(new Action(async () =>
|
||
// {
|
||
// await Task.Delay(100);
|
||
|
||
// if (comModel1.DoConnect(SerialInfo1))
|
||
// {
|
||
// //EM.ComConMessage = string.Format("串口号:{0} \r\n波特率:{1}", SerialInfo.PortName, SerialInfo.BaudRate.ToString());
|
||
// //更新下App.config中的配置信息
|
||
// //Tools.UpdateAppSettings("PortName", SerialInfo1.PortName);
|
||
// //Tools.UpdateAppSettings("BaudRate", SerialInfo1.BaudRate.ToString());
|
||
// }
|
||
// else
|
||
// {
|
||
// App.Current.Dispatcher.Invoke(() =>
|
||
// {
|
||
// // 更新UI的代码
|
||
// HandyControl.Controls.Dialog.Show(new TextDialog("串口连接初始化失败!\n请检查设备连接状态!"));
|
||
// });
|
||
// }
|
||
// }));
|
||
// }
|
||
//}
|
||
|
||
|
||
|
||
//public void Com2DoConnect(object o)
|
||
//{
|
||
// if (comModel2.IsConnected)
|
||
// {
|
||
// Task.Run(new Action(async () =>
|
||
// {
|
||
// await Task.Delay(100);
|
||
// comModel2.DisConnect();
|
||
// }));
|
||
|
||
// }
|
||
// else
|
||
// {
|
||
// Task.Run(new Action(async () =>
|
||
// {
|
||
// await Task.Delay(100);
|
||
|
||
// if (comModel2.DoConnect(SerialInfo2))
|
||
// {
|
||
// //EM.ComConMessage = string.Format("串口号:{0} \r\n波特率:{1}", SerialInfo.PortName, SerialInfo.BaudRate.ToString());
|
||
// //更新下App.config中的配置信息
|
||
// //Tools.UpdateAppSettings("PortName", SerialInfo2.PortName);
|
||
// //Tools.UpdateAppSettings("BaudRate", SerialInfo2.BaudRate.ToString());
|
||
// }
|
||
// else
|
||
// {
|
||
// App.Current.Dispatcher.Invoke(() =>
|
||
// {
|
||
// // 更新UI的代码
|
||
// HandyControl.Controls.Dialog.Show(new TextDialog("串口连接初始化失败!\n请检查设备连接状态!"));
|
||
// });
|
||
// }
|
||
// }));
|
||
// }
|
||
//}
|
||
#endregion
|
||
#endregion
|
||
|
||
|
||
#region Remote Control
|
||
|
||
public byte[] RelayActivationRecv = new byte[8];
|
||
public byte[] RelayShutdownRecv = new byte[8];
|
||
|
||
|
||
#region BaseStation Set
|
||
private void TimerBaseStationPowerOn_Tick(object sender, EventArgs e)
|
||
{
|
||
if (!BaseStationPowerOnIsReceived)
|
||
{
|
||
BaseStationMsgVisibility = Visibility.Visible;
|
||
BaseStationMsg = "开启海底基站电源发送成功,但未接收到数据!";
|
||
timerBaseStationMsgHidden.Start();
|
||
BaseStationMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BaseStationPowerOpenBtnIsEnabled = true;
|
||
BaseStationPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerBaseStationPowerOff_Tick(object sender, EventArgs e)
|
||
{
|
||
if (!BaseStationPowerOffIsReceived)
|
||
{
|
||
BaseStationMsgVisibility = Visibility.Visible;
|
||
BaseStationMsg = "关闭海底基站电源发送成功,但未接收到数据!";
|
||
timerBaseStationMsgHidden.Start();
|
||
BaseStationMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BaseStationPowerOpenBtnIsEnabled = true;
|
||
BaseStationPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerMainSeisPowerOn_Tick(object sender, EventArgs e)
|
||
{
|
||
if (!MainSeisPowerOnIsReceived)
|
||
{
|
||
MainSeisMsgVisibility = Visibility.Visible;
|
||
MainSeisMsg = "开启主地震仪电源发送成功,但未接收到数据!";
|
||
timerMainSeisMsgHidden.Start();
|
||
MainSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
MainSeisPowerOpenBtnIsEnabled = true;
|
||
MainSeisPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerMainSeisPowerOff_Tick(object sender, EventArgs e)
|
||
{
|
||
if (!MainSeisPowerOffIsReceived)
|
||
{
|
||
MainSeisMsgVisibility = Visibility.Visible;
|
||
MainSeisMsg = "关闭主地震仪电源发送成功,但未接收到数据!";
|
||
timerMainSeisMsgHidden.Start();
|
||
MainSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
MainSeisPowerOpenBtnIsEnabled = true;
|
||
MainSeisPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerBackupSeisPowerOn_Tick(object sender, EventArgs e)
|
||
{
|
||
if (!BackupSeisPowerOnIsReceived)
|
||
{
|
||
BackupSeisMsgVisibility = Visibility.Visible;
|
||
BackupSeisMsg = "开启备地震仪电源发送成功,但未接收到数据!";
|
||
timerBackupSeisMsgHidden.Start();
|
||
BackupSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BackupSeisPowerOpenBtnIsEnabled = true;
|
||
BackupSeisPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerBackupSeisPowerOff_Tick(object sender, EventArgs e)
|
||
{
|
||
if (!BackupSeisPowerOffIsReceived)
|
||
{
|
||
BackupSeisMsgVisibility = Visibility.Visible;
|
||
BackupSeisMsg = "关闭备地震仪电源发送成功,但未接收到数据!";
|
||
timerBackupSeisMsgHidden.Start();
|
||
BackupSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BackupSeisPowerOpenBtnIsEnabled = true;
|
||
BackupSeisPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerElectPowerOn_Tick(object sender, EventArgs e)
|
||
{
|
||
if (!ElectPowerOnIsReceived)
|
||
{
|
||
ElectMsgVisibility = Visibility.Visible;
|
||
ElectMsg = "开启电磁电源发送成功,但未接收到数据!";
|
||
timerElectMsgHidden.Start();
|
||
ElectMsgForeground = new SolidColorBrush(Colors.Red);
|
||
ElectPowerOpenBtnIsEnabled = true;
|
||
ElectPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerElectPowerOff_Tick(object sender, EventArgs e)
|
||
{
|
||
if (!ElectPowerOffIsReceived)
|
||
{
|
||
ElectMsgVisibility = Visibility.Visible;
|
||
ElectMsg = "关闭电磁电源发送成功,但未接收到数据!";
|
||
timerElectMsgHidden.Start();
|
||
ElectMsgForeground = new SolidColorBrush(Colors.Red);
|
||
ElectPowerOpenBtnIsEnabled = true;
|
||
ElectPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerBaseStationMsgHidden_Tick(object sender, EventArgs e)
|
||
{
|
||
BaseStationMsgVisibility = Visibility.Hidden;
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerMainSeisMsgHidden_Tick(object sender, EventArgs e)
|
||
{
|
||
MainSeisMsgVisibility = Visibility.Hidden;
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerBackupSeisMsgHidden_Tick(object sender, EventArgs e)
|
||
{
|
||
BackupSeisMsgVisibility = Visibility.Hidden;
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerElectMsgHidden_Tick(object sender, EventArgs e)
|
||
{
|
||
ElectMsgVisibility = Visibility.Hidden;
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
|
||
//private ImageSource imageSourceBaseStation;
|
||
|
||
//public ImageSource ImageSourceBaseStation
|
||
//{
|
||
// get { return imageSourceBaseStation; }
|
||
// set { imageSourceBaseStation = value; this.DoNotify(); }
|
||
//}
|
||
|
||
private string baseStationMsg;
|
||
|
||
public string BaseStationMsg
|
||
{
|
||
get { return baseStationMsg; }
|
||
set { baseStationMsg = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Brush baseStationMsgForeground;
|
||
|
||
public Brush BaseStationMsgForeground
|
||
{
|
||
get { return baseStationMsgForeground; }
|
||
set { baseStationMsgForeground = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Visibility baseStationMsgVisibility = Visibility.Visible;
|
||
|
||
public Visibility BaseStationMsgVisibility
|
||
{
|
||
get { return baseStationMsgVisibility; }
|
||
set { baseStationMsgVisibility = value; this.DoNotify(); }
|
||
}
|
||
|
||
//private ImageSource imageSourceMainSeis;
|
||
|
||
//public ImageSource ImageSourceMainSeis
|
||
//{
|
||
// get { return imageSourceMainSeis; }
|
||
// set { imageSourceMainSeis = value; this.DoNotify(); }
|
||
//}
|
||
|
||
private string mainSeisMsg;
|
||
|
||
public string MainSeisMsg
|
||
{
|
||
get { return mainSeisMsg; }
|
||
set { mainSeisMsg = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Brush mainSeisMsgForeground;
|
||
|
||
public Brush MainSeisMsgForeground
|
||
{
|
||
get { return mainSeisMsgForeground; }
|
||
set { mainSeisMsgForeground = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Visibility mainSeisMsgVisibility = Visibility.Visible;
|
||
|
||
public Visibility MainSeisMsgVisibility
|
||
{
|
||
get { return mainSeisMsgVisibility; }
|
||
set { mainSeisMsgVisibility = value; this.DoNotify(); }
|
||
}
|
||
|
||
//private ImageSource imageSourceBackupSeis;
|
||
|
||
//public ImageSource ImageSourceBackupSeis
|
||
//{
|
||
// get { return imageSourceBackupSeis; }
|
||
// set { imageSourceBackupSeis = value; this.DoNotify(); }
|
||
//}
|
||
|
||
private string backupSeisMsg;
|
||
|
||
public string BackupSeisMsg
|
||
{
|
||
get { return backupSeisMsg; }
|
||
set { backupSeisMsg = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Brush backupSeisMsgForeground;
|
||
|
||
public Brush BackupSeisMsgForeground
|
||
{
|
||
get { return backupSeisMsgForeground; }
|
||
set { backupSeisMsgForeground = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Visibility backupSeisMsgVisibility = Visibility.Visible;
|
||
|
||
public Visibility BackupSeisMsgVisibility
|
||
{
|
||
get { return backupSeisMsgVisibility; }
|
||
set { backupSeisMsgVisibility = value; this.DoNotify(); }
|
||
}
|
||
|
||
private string electMsg;
|
||
|
||
public string ElectMsg
|
||
{
|
||
get { return electMsg; }
|
||
set { electMsg = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Brush electMsgForeground;
|
||
|
||
public Brush ElectMsgForeground
|
||
{
|
||
get { return electMsgForeground; }
|
||
set { electMsgForeground = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Visibility electMsgVisibility = Visibility.Visible;
|
||
|
||
public Visibility ElectMsgVisibility
|
||
{
|
||
get { return electMsgVisibility; }
|
||
set { electMsgVisibility = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool baseStationPowerOnIsReceived = false;
|
||
|
||
public bool BaseStationPowerOnIsReceived
|
||
{
|
||
get { return baseStationPowerOnIsReceived; }
|
||
set { baseStationPowerOnIsReceived = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool baseStationPowerOffIsReceived = false;
|
||
|
||
public bool BaseStationPowerOffIsReceived
|
||
{
|
||
get { return baseStationPowerOffIsReceived; }
|
||
set { baseStationPowerOffIsReceived = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool mainSeisPowerOnIsReceived = false;
|
||
|
||
public bool MainSeisPowerOnIsReceived
|
||
{
|
||
get { return mainSeisPowerOnIsReceived; }
|
||
set { mainSeisPowerOnIsReceived = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool mainSeisPowerOffIsReceived = false;
|
||
|
||
public bool MainSeisPowerOffIsReceived
|
||
{
|
||
get { return mainSeisPowerOffIsReceived; }
|
||
set { mainSeisPowerOffIsReceived = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool backupSeisPowerOnIsReceived = false;
|
||
|
||
public bool BackupSeisPowerOnIsReceived
|
||
{
|
||
get { return backupSeisPowerOnIsReceived; }
|
||
set { backupSeisPowerOnIsReceived = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool backupSeisPowerOffIsReceived = false;
|
||
|
||
public bool BackupSeisPowerOffIsReceived
|
||
{
|
||
get { return backupSeisPowerOffIsReceived; }
|
||
set { backupSeisPowerOffIsReceived = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool electPowerOnIsReceived = false;
|
||
|
||
public bool ElectPowerOnIsReceived
|
||
{
|
||
get { return electPowerOnIsReceived; }
|
||
set { electPowerOnIsReceived = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool electPowerOffIsReceived = false;
|
||
|
||
public bool ElectPowerOffIsReceived
|
||
{
|
||
get { return electPowerOffIsReceived; }
|
||
set { electPowerOffIsReceived = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool baseStationPowerOpenBtnIsEnabled = true;
|
||
|
||
public bool BaseStationPowerOpenBtnIsEnabled
|
||
{
|
||
get { return baseStationPowerOpenBtnIsEnabled; }
|
||
set { baseStationPowerOpenBtnIsEnabled = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool baseStationPowerCloseBtnIsEnabled = true;
|
||
|
||
public bool BaseStationPowerCloseBtnIsEnabled
|
||
{
|
||
get { return baseStationPowerCloseBtnIsEnabled; }
|
||
set { baseStationPowerCloseBtnIsEnabled = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool mainSeisPowerOpenBtnIsEnabled = true;
|
||
|
||
public bool MainSeisPowerOpenBtnIsEnabled
|
||
{
|
||
get { return mainSeisPowerOpenBtnIsEnabled; }
|
||
set { mainSeisPowerOpenBtnIsEnabled = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool mainSeisPowerCloseBtnIsEnabled = true;
|
||
|
||
public bool MainSeisPowerCloseBtnIsEnabled
|
||
{
|
||
get { return mainSeisPowerCloseBtnIsEnabled; }
|
||
set { mainSeisPowerCloseBtnIsEnabled = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool backupSeisPowerOpenBtnIsEnabled = true;
|
||
|
||
public bool BackupSeisPowerOpenBtnIsEnabled
|
||
{
|
||
get { return backupSeisPowerOpenBtnIsEnabled; }
|
||
set { backupSeisPowerOpenBtnIsEnabled = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool backupSeisPowerCloseBtnIsEnabled = true;
|
||
|
||
public bool BackupSeisPowerCloseBtnIsEnabled
|
||
{
|
||
get { return backupSeisPowerCloseBtnIsEnabled; }
|
||
set { backupSeisPowerCloseBtnIsEnabled = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool electPowerOpenBtnIsEnabled = true;
|
||
|
||
public bool ElectPowerOpenBtnIsEnabled
|
||
{
|
||
get { return electPowerOpenBtnIsEnabled; }
|
||
set { electPowerOpenBtnIsEnabled = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool electPowerCloseBtnIsEnabled = true;
|
||
|
||
public bool ElectPowerCloseBtnIsEnabled
|
||
{
|
||
get { return electPowerCloseBtnIsEnabled; }
|
||
set { electPowerCloseBtnIsEnabled = value; this.DoNotify(); }
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region Seis Set
|
||
private void TimerOpenSetMsgHidden_Tick(object sender, EventArgs e)
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Hidden;
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerCloseSetMsgHidden_Tick(object sender, EventArgs e)
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Hidden;
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerSeisZeroSetStart_Tick(object sender, EventArgs e)
|
||
{
|
||
if (!SeisZeroSetStartIsReceived)
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Visible;
|
||
OpenSetMsg = "请求凋零开启发送成功,但未接收到数据!";
|
||
timerOpenSetMsgHidden.Start();
|
||
OpenSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisZeroSetStartButtonIsEnabled = true;
|
||
SeisZeroSetStopButtonIsEnabled = true;
|
||
}
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerSeisZeroSetStop_Tick(object sender, EventArgs e)
|
||
{
|
||
if (!SeisZeroSetStopIsReceived)
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Visible;
|
||
CloseSetMsg = "请求调零停止发送成功,但未接收到数据!";
|
||
timerCloseSetMsgHidden.Start();
|
||
CloseSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisZeroSetStartButtonIsEnabled = true;
|
||
SeisZeroSetStopButtonIsEnabled = true;
|
||
}
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerSeisLevelSetStart_Tick(object sender, EventArgs e)
|
||
{
|
||
if (!SeisLevelSetStartIsReceived)
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Visible;
|
||
OpenSetMsg = "请求调平开启发送成功,但未接收到数据!";
|
||
timerOpenSetMsgHidden.Start();
|
||
OpenSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisLevelSetStopButtonIsEnabled = true;
|
||
SeisLevelSetStartButtonIsEnabled = true;
|
||
}
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private void TimerSeisLevelSetStop_Tick(object sender, EventArgs e)
|
||
{
|
||
if (!SeisLevelSetStopIsReceived)
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Visible;
|
||
CloseSetMsg = "请求调平停止发送成功,但未接收到数据!";
|
||
timerCloseSetMsgHidden.Start();
|
||
CloseSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisLevelSetStopButtonIsEnabled = true;
|
||
SeisLevelSetStartButtonIsEnabled = true;
|
||
}
|
||
|
||
// 停止定时器
|
||
(sender as DispatcherTimer).Stop();
|
||
}
|
||
|
||
private bool mainSeisIsChecked = true;
|
||
|
||
public bool MainSeisIsChecked
|
||
{
|
||
get { return mainSeisIsChecked; }
|
||
set
|
||
{
|
||
mainSeisIsChecked = value;
|
||
this.DoNotify();
|
||
|
||
if (MainSeisIsChecked) //主地震仪
|
||
{
|
||
string sql = String.Format("select SwitchState from switch_info where StationID = 1 and SwitchName = 'MainSeisSetZero'");
|
||
MySqlDataReader dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
if (dataReader.Read())
|
||
{
|
||
if (dataReader[0].ToString() == "Off")
|
||
ImageSourceSetZero = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
else
|
||
ImageSourceSetZero = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
}
|
||
dataReader.Dispose();
|
||
sql = String.Format("select SwitchState from switch_info where StationID = 1 and SwitchName = 'MainSeisSetLevel'");
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
if (dataReader.Read())
|
||
{
|
||
if (dataReader[0].ToString() == "Off")
|
||
ImageSourceSetLevel = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
else
|
||
ImageSourceSetLevel = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
}
|
||
dataReader.Dispose();
|
||
}
|
||
else
|
||
{
|
||
string sql = String.Format("select SwitchState from switch_info where StationID = 1 and SwitchName = 'BackupSeisSetZero'");
|
||
MySqlDataReader dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
if (dataReader.Read())
|
||
{
|
||
if (dataReader[0].ToString() == "Off")
|
||
ImageSourceSetZero = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
else
|
||
ImageSourceSetZero = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
}
|
||
dataReader.Dispose();
|
||
sql = String.Format("select SwitchState from switch_info where StationID = 1 and SwitchName = 'BackupSeisSetLevel'");
|
||
dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
if (dataReader.Read())
|
||
{
|
||
if (dataReader[0].ToString() == "Off")
|
||
ImageSourceSetLevel = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
else
|
||
ImageSourceSetLevel = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
}
|
||
dataReader.Dispose();
|
||
}
|
||
}
|
||
}
|
||
|
||
private string openSetMsg;
|
||
|
||
public string OpenSetMsg
|
||
{
|
||
get { return openSetMsg; }
|
||
set { openSetMsg = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Brush openSetMsgForeground;
|
||
|
||
public Brush OpenSetMsgForeground
|
||
{
|
||
get { return openSetMsgForeground; }
|
||
set { openSetMsgForeground = value; this.DoNotify(); }
|
||
}
|
||
|
||
private ImageSource imageSourceSetZero;
|
||
|
||
public ImageSource ImageSourceSetZero
|
||
{
|
||
get { return imageSourceSetZero; }
|
||
set { imageSourceSetZero = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Visibility openSetMsgVisibility = Visibility.Visible;
|
||
|
||
public Visibility OpenSetMsgVisibility
|
||
{
|
||
get { return openSetMsgVisibility; }
|
||
set { openSetMsgVisibility = value; this.DoNotify(); }
|
||
}
|
||
|
||
private string closeSetMsg;
|
||
|
||
public string CloseSetMsg
|
||
{
|
||
get { return closeSetMsg; }
|
||
set { closeSetMsg = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Brush closeSetMsgForeground;
|
||
|
||
public Brush CloseSetMsgForeground
|
||
{
|
||
get { return closeSetMsgForeground; }
|
||
set { closeSetMsgForeground = value; this.DoNotify(); }
|
||
}
|
||
|
||
private ImageSource imageSourceSetLevel;
|
||
|
||
public ImageSource ImageSourceSetLevel
|
||
{
|
||
get { return imageSourceSetLevel; }
|
||
set { imageSourceSetLevel = value; this.DoNotify(); }
|
||
}
|
||
|
||
private Visibility closeSetMsgVisibility = Visibility.Visible;
|
||
|
||
public Visibility CloseSetMsgVisibility
|
||
{
|
||
get { return closeSetMsgVisibility; }
|
||
set { closeSetMsgVisibility = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool seisZeroSetStartButtonIsEnabled = true;
|
||
|
||
public bool SeisZeroSetStartButtonIsEnabled
|
||
{
|
||
get { return seisZeroSetStartButtonIsEnabled; }
|
||
set { seisZeroSetStartButtonIsEnabled = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool seisZeroSetStopButtonIsEnabled = true;
|
||
|
||
public bool SeisZeroSetStopButtonIsEnabled
|
||
{
|
||
get { return seisZeroSetStopButtonIsEnabled; }
|
||
set { seisZeroSetStopButtonIsEnabled = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool seisLevelSetStartButtonIsEnabled = true;
|
||
|
||
public bool SeisLevelSetStartButtonIsEnabled
|
||
{
|
||
get { return seisLevelSetStartButtonIsEnabled; }
|
||
set { seisLevelSetStartButtonIsEnabled = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool seisLevelSetStopButtonIsEnabled = true;
|
||
|
||
public bool SeisLevelSetStopButtonIsEnabled
|
||
{
|
||
get { return seisLevelSetStopButtonIsEnabled; }
|
||
set { seisLevelSetStopButtonIsEnabled = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool seisZeroSetStartIsReceived = false;
|
||
|
||
public bool SeisZeroSetStartIsReceived
|
||
{
|
||
get { return seisZeroSetStartIsReceived; }
|
||
set { seisZeroSetStartIsReceived = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool seisZeroSetStopIsReceived = false;
|
||
|
||
public bool SeisZeroSetStopIsReceived
|
||
{
|
||
get { return seisZeroSetStopIsReceived; }
|
||
set { seisZeroSetStopIsReceived = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool seisLevelSetStartIsReceived = false;
|
||
|
||
public bool SeisLevelSetStartIsReceived
|
||
{
|
||
get { return seisLevelSetStartIsReceived; }
|
||
set { seisLevelSetStartIsReceived = value; this.DoNotify(); }
|
||
}
|
||
|
||
private bool seisLevelSetStopIsReceived = false;
|
||
|
||
public bool SeisLevelSetStopIsReceived
|
||
{
|
||
get { return seisLevelSetStopIsReceived; }
|
||
set { seisLevelSetStopIsReceived = value; this.DoNotify(); }
|
||
}
|
||
#endregion
|
||
|
||
|
||
private List<byte> RemoteControl(byte SensorKind, byte SensorId, byte ActionKind, byte ActionType)
|
||
{
|
||
List<byte> sendData = new List<byte>();
|
||
|
||
sendData.Clear();
|
||
sendData.AddRange(new byte[] { 0xFE, 0xEF }); // 帧头(H=0xFE 0xEF)
|
||
sendData.AddRange(new byte[] { 0x00, 0x09 }); //长度(L=9)(MSH MSL)
|
||
sendData.Add(0x00); //地址码(ADDR=00)
|
||
sendData.Add(0x03); //功能码(FUNC=03)
|
||
sendData.Add(0x01); //操作功能(OPERATION = 0x01)
|
||
sendData.Add(SensorKind); //传感器数据类型KIND
|
||
sendData.Add(SensorId); //传感器ID
|
||
sendData.Add(ActionKind); //动作类型(ACT,0-关闭;1-开启)
|
||
sendData.Add(ActionType); //动作种类(0x00-电源,0x01-数据回传)
|
||
|
||
byte checkCode = Tools.CheckSum(sendData.ToArray());
|
||
sendData.Add(checkCode); //校验(CS = 帧头 ...+... 批量设置)
|
||
sendData.Add(0x16); //结束符(0x16)
|
||
|
||
return sendData;
|
||
}
|
||
|
||
//各个开关
|
||
public async void Btn_Switch(object o)
|
||
{
|
||
string[] msg = o.ToString().Split(',');
|
||
int switchNum = msg[1].Equals("True") ? 1 : 0;
|
||
switch (msg[0])
|
||
{
|
||
case "BaseStationPowerPicker":
|
||
byte fromDeviceAddress; //从设备地址
|
||
byte functionCode; //功能码
|
||
byte[] startingRegisterAddress; //起始寄存器地址
|
||
byte[] registerNumber; //寄存器个数
|
||
byte[] registerAddress; //寄存器地址
|
||
byte[] checkCodeCRC; //校验码
|
||
List<byte> checkByte = new List<byte>(); //校验码Byte
|
||
byte[] writeData;
|
||
List<byte> sendBytes = new List<byte>(); //发送数据
|
||
|
||
if (msg[1].Equals("True")) //打开
|
||
{
|
||
BaseStationPowerOpenBtnIsEnabled = false;
|
||
BaseStationPowerCloseBtnIsEnabled = false;
|
||
BaseStationPowerOnIsReceived = false;
|
||
|
||
//对从设备单个寄存器置数
|
||
byte deviceAddress;
|
||
if (station_id == 1)
|
||
{
|
||
deviceAddress = Convert.ToByte(Tools.GetAppSetting("DeviceAddress1"));
|
||
fromDeviceAddress = deviceAddress; //从设备地址
|
||
}
|
||
else
|
||
{
|
||
deviceAddress = Convert.ToByte(Tools.GetAppSetting("DeviceAddress2"));
|
||
fromDeviceAddress = deviceAddress; //从设备地址
|
||
}
|
||
|
||
functionCode = 0x06; //功能码
|
||
registerAddress = new byte[] { 0x01, 0x30 };
|
||
//值 0000:继电器继开
|
||
writeData = new byte[] { 0xFF, 0x00 };
|
||
|
||
//校验码计算
|
||
checkByte.Clear();
|
||
checkByte.Add(fromDeviceAddress);
|
||
checkByte.Add(functionCode);
|
||
checkByte.AddRange(registerAddress);
|
||
checkByte.AddRange(writeData);
|
||
checkCodeCRC = Tools.CRCCalcRev(checkByte.ToArray());
|
||
//发送指令
|
||
sendBytes.Clear();
|
||
sendBytes.Add(fromDeviceAddress);
|
||
sendBytes.Add(functionCode);
|
||
sendBytes.AddRange(registerAddress);
|
||
sendBytes.AddRange(writeData);
|
||
sendBytes.AddRange(checkCodeCRC);
|
||
|
||
bool result = false;
|
||
|
||
if (station_id == 1)
|
||
{
|
||
if (clientModel1.IsConnected)
|
||
result = clientModel1.SendMessage(sendBytes.ToArray());
|
||
else
|
||
{
|
||
BaseStationMsgVisibility = Visibility.Visible;
|
||
BaseStationMsg = "通信未连接!";
|
||
timerBaseStationMsgHidden.Start();
|
||
BaseStationMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BaseStationPowerOpenBtnIsEnabled = true;
|
||
BaseStationPowerCloseBtnIsEnabled = true;
|
||
return;
|
||
}
|
||
|
||
RelayActivationRecv = sendBytes.ToArray();
|
||
}
|
||
else if (station_id == 2)
|
||
{
|
||
if (clientModel2.IsConnected)
|
||
result = clientModel2.SendMessage(sendBytes.ToArray());
|
||
else
|
||
{
|
||
BaseStationMsgVisibility = Visibility.Visible;
|
||
BaseStationMsg = "通信未连接!";
|
||
timerBaseStationMsgHidden.Start();
|
||
BaseStationMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BaseStationPowerOpenBtnIsEnabled = true;
|
||
BaseStationPowerCloseBtnIsEnabled = true;
|
||
return;
|
||
}
|
||
|
||
RelayActivationRecv = sendBytes.ToArray();
|
||
}
|
||
|
||
if (result)
|
||
{
|
||
BaseStationMsgVisibility = Visibility.Visible;
|
||
BaseStationMsg = "打开海底基站电源发送成功!";
|
||
timerBaseStationMsgHidden.Start();
|
||
BaseStationMsgForeground = new SolidColorBrush(Colors.Green);
|
||
timerBaseStationPowerOn.Start();
|
||
}
|
||
else
|
||
{
|
||
BaseStationMsgVisibility = Visibility.Visible;
|
||
BaseStationMsg = "打开海底基站电源发送失败!";
|
||
timerBaseStationMsgHidden.Start();
|
||
BaseStationMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BaseStationPowerOpenBtnIsEnabled = true;
|
||
BaseStationPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('{station_id}','{DateTime.Now}','升压站电控通信系统','系统控制','{BaseStationMsg}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
else
|
||
{
|
||
BaseStationPowerOpenBtnIsEnabled = false;
|
||
BaseStationPowerCloseBtnIsEnabled = false;
|
||
BaseStationPowerOffIsReceived = false;
|
||
|
||
//对从设备单个寄存器置数
|
||
byte deviceAddress;
|
||
if (station_id == 1)
|
||
{
|
||
deviceAddress = Convert.ToByte(Tools.GetAppSetting("DeviceAddress1"));
|
||
fromDeviceAddress = deviceAddress; //从设备地址
|
||
}
|
||
else
|
||
{
|
||
deviceAddress = Convert.ToByte(Tools.GetAppSetting("DeviceAddress2"));
|
||
fromDeviceAddress = deviceAddress; //从设备地址
|
||
}
|
||
|
||
functionCode = 0x06; //功能码
|
||
registerAddress = new byte[] { 0x01, 0x30 };
|
||
//值 FF00(16 进制):继电器一直闭合,需手动发命令打开
|
||
writeData = new byte[] { 0x00, 0x00 };
|
||
|
||
//校验码计算
|
||
checkByte.Clear();
|
||
checkByte.Add(fromDeviceAddress);
|
||
checkByte.Add(functionCode);
|
||
checkByte.AddRange(registerAddress);
|
||
checkByte.AddRange(writeData);
|
||
checkCodeCRC = Tools.CRCCalcRev(checkByte.ToArray());
|
||
//发送指令
|
||
sendBytes.Clear();
|
||
sendBytes.Add(fromDeviceAddress);
|
||
sendBytes.Add(functionCode);
|
||
sendBytes.AddRange(registerAddress);
|
||
sendBytes.AddRange(writeData);
|
||
sendBytes.AddRange(checkCodeCRC);
|
||
|
||
bool result = false;
|
||
|
||
if (station_id == 1)
|
||
{
|
||
if (clientModel1.IsConnected)
|
||
result = clientModel1.SendMessage(sendBytes.ToArray());
|
||
else
|
||
{
|
||
BaseStationMsgVisibility = Visibility.Visible;
|
||
BaseStationMsg = "通信未连接!";
|
||
timerBaseStationMsgHidden.Start();
|
||
BaseStationMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BaseStationPowerOpenBtnIsEnabled = true;
|
||
BaseStationPowerCloseBtnIsEnabled = true;
|
||
return;
|
||
}
|
||
|
||
RelayShutdownRecv = sendBytes.ToArray();
|
||
}
|
||
else if (station_id == 2)
|
||
{
|
||
if (clientModel2.IsConnected)
|
||
result = clientModel2.SendMessage(sendBytes.ToArray());
|
||
else
|
||
{
|
||
BaseStationMsgVisibility = Visibility.Visible;
|
||
BaseStationMsg = "通信未连接!";
|
||
timerBaseStationMsgHidden.Start();
|
||
BaseStationMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BaseStationPowerOpenBtnIsEnabled = true;
|
||
BaseStationPowerCloseBtnIsEnabled = true;
|
||
return;
|
||
}
|
||
|
||
RelayShutdownRecv = sendBytes.ToArray();
|
||
}
|
||
|
||
if (result)
|
||
{
|
||
BaseStationMsgVisibility = Visibility.Visible;
|
||
BaseStationMsg = "关闭海底基站电源发送成功!";
|
||
timerBaseStationMsgHidden.Start();
|
||
BaseStationMsgForeground = new SolidColorBrush(Colors.Green);
|
||
timerBaseStationPowerOff.Start();
|
||
}
|
||
else
|
||
{
|
||
BaseStationMsgVisibility = Visibility.Visible;
|
||
BaseStationMsg = "关闭海底基站电源发送失败!";
|
||
timerBaseStationMsgHidden.Start();
|
||
BaseStationMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BaseStationPowerOpenBtnIsEnabled = true;
|
||
BaseStationPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('{station_id}','{DateTime.Now}','升压站电控通信系统','系统控制','{BaseStationMsg}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
break;
|
||
case "MainSeisPowerPicker":
|
||
if (msg[1].Equals("True")) //打开
|
||
{
|
||
MainSeisPowerOpenBtnIsEnabled = false;
|
||
MainSeisPowerCloseBtnIsEnabled = false;
|
||
MainSeisPowerOnIsReceived = false;
|
||
|
||
List<byte> sendDataPower = RemoteControl(0x30, 0x08, 0x01, 0x00);
|
||
|
||
bool result = false;
|
||
if (station_id == 1)
|
||
{
|
||
if (serverModel1.server.IsConnected && serverModel1.IsOpened)
|
||
{
|
||
result = serverModel1.SendMessage(sendDataPower.ToArray());
|
||
}
|
||
else
|
||
{
|
||
MainSeisMsgVisibility = Visibility.Visible;
|
||
MainSeisMsg = "通信未连接!";
|
||
timerMainSeisMsgHidden.Start();
|
||
MainSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
MainSeisPowerOpenBtnIsEnabled = true;
|
||
MainSeisPowerCloseBtnIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (serverModel2.server.IsConnected && serverModel2.IsOpened)
|
||
{
|
||
result = serverModel2.SendMessage(sendDataPower.ToArray());
|
||
}
|
||
else
|
||
{
|
||
MainSeisMsgVisibility = Visibility.Visible;
|
||
MainSeisMsg = "通信未连接!";
|
||
timerMainSeisMsgHidden.Start();
|
||
MainSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
MainSeisPowerOpenBtnIsEnabled = true;
|
||
MainSeisPowerCloseBtnIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
|
||
if (result)
|
||
{
|
||
MainSeisMsgVisibility = Visibility.Visible;
|
||
MainSeisMsg = "打开主地震仪电源发送成功!";
|
||
timerMainSeisMsgHidden.Start();
|
||
MainSeisMsgForeground = new SolidColorBrush(Colors.Green);
|
||
timerMainSeisPowerOn.Start();
|
||
}
|
||
else
|
||
{
|
||
MainSeisMsgVisibility = Visibility.Visible;
|
||
MainSeisMsg = "打开主地震仪电源发送失败!";
|
||
timerMainSeisMsgHidden.Start();
|
||
MainSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
MainSeisPowerOpenBtnIsEnabled = true;
|
||
MainSeisPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('{station_id}','{DateTime.Now}','海底地震监测基站-接驳盒','系统控制','{MainSeisMsg}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
else
|
||
{
|
||
MainSeisPowerOpenBtnIsEnabled = false;
|
||
MainSeisPowerCloseBtnIsEnabled = false;
|
||
MainSeisPowerOffIsReceived = false;
|
||
|
||
List<byte> sendDataPower = RemoteControl(0x30, 0x08, 0x00, 0x00);
|
||
|
||
bool result = false;
|
||
if (station_id == 1)
|
||
{
|
||
if (serverModel1.server.IsConnected && serverModel1.IsOpened)
|
||
{
|
||
result = serverModel1.SendMessage(sendDataPower.ToArray());
|
||
}
|
||
else
|
||
{
|
||
MainSeisMsgVisibility = Visibility.Visible;
|
||
MainSeisMsg = "通信未连接!";
|
||
timerMainSeisMsgHidden.Start();
|
||
MainSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
MainSeisPowerOpenBtnIsEnabled = true;
|
||
MainSeisPowerCloseBtnIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (serverModel2.server.IsConnected && serverModel2.IsOpened)
|
||
{
|
||
result = serverModel2.SendMessage(sendDataPower.ToArray());
|
||
}
|
||
else
|
||
{
|
||
MainSeisMsgVisibility = Visibility.Visible;
|
||
MainSeisMsg = "通信未连接!";
|
||
timerMainSeisMsgHidden.Start();
|
||
MainSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
MainSeisPowerOpenBtnIsEnabled = true;
|
||
MainSeisPowerCloseBtnIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
|
||
if (result)
|
||
{
|
||
MainSeisMsgVisibility = Visibility.Visible;
|
||
MainSeisMsg = "关闭主地震仪电源发送成功!";
|
||
timerMainSeisMsgHidden.Start();
|
||
MainSeisMsgForeground = new SolidColorBrush(Colors.Green);
|
||
timerMainSeisPowerOff.Start();
|
||
}
|
||
else
|
||
{
|
||
MainSeisMsgVisibility = Visibility.Visible;
|
||
MainSeisMsg = "关闭主地震仪电源发送失败!";
|
||
timerMainSeisMsgHidden.Start();
|
||
MainSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
MainSeisPowerOpenBtnIsEnabled = true;
|
||
MainSeisPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('{station_id}','{DateTime.Now}','海底地震监测基站-接驳盒','系统控制','{MainSeisMsg}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
break;
|
||
case "BackupSeisPowerPicker":
|
||
if (msg[1].Equals("True")) //打开
|
||
{
|
||
BackupSeisPowerOpenBtnIsEnabled = false;
|
||
BackupSeisPowerCloseBtnIsEnabled = false;
|
||
BackupSeisPowerOnIsReceived = false;
|
||
|
||
List<byte> sendDataPower = RemoteControl(0x30, 0x09, 0x01, 0x00);
|
||
|
||
bool result = false;
|
||
if (station_id == 1)
|
||
{
|
||
if (serverModel1.server.IsConnected && serverModel1.IsOpened)
|
||
{
|
||
result = serverModel1.SendMessage(sendDataPower.ToArray());
|
||
}
|
||
else
|
||
{
|
||
BackupSeisMsgVisibility = Visibility.Visible;
|
||
BackupSeisMsg = "通信未连接!";
|
||
timerBackupSeisMsgHidden.Start();
|
||
BackupSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BackupSeisPowerOpenBtnIsEnabled = true;
|
||
BackupSeisPowerCloseBtnIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (serverModel2.server.IsConnected && serverModel2.IsOpened)
|
||
{
|
||
result = serverModel2.SendMessage(sendDataPower.ToArray());
|
||
}
|
||
else
|
||
{
|
||
BackupSeisMsgVisibility = Visibility.Visible;
|
||
BackupSeisMsg = "通信未连接!";
|
||
timerBackupSeisMsgHidden.Start();
|
||
BackupSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BackupSeisPowerOpenBtnIsEnabled = true;
|
||
BackupSeisPowerCloseBtnIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
|
||
if (result)
|
||
{
|
||
BackupSeisMsgVisibility = Visibility.Visible;
|
||
BackupSeisMsg = "打开备地震仪电源发送成功!";
|
||
timerBackupSeisMsgHidden.Start();
|
||
BackupSeisMsgForeground = new SolidColorBrush(Colors.Green);
|
||
timerBackupSeisPowerOn.Start();
|
||
}
|
||
else
|
||
{
|
||
BackupSeisMsgVisibility = Visibility.Visible;
|
||
BackupSeisMsg = "打开备地震仪电源发送失败!";
|
||
timerBackupSeisMsgHidden.Start();
|
||
BackupSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BackupSeisPowerOpenBtnIsEnabled = true;
|
||
BackupSeisPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('{station_id}','{DateTime.Now}','海底地震监测基站-接驳盒','系统控制','{BackupSeisMsg}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
else
|
||
{
|
||
BackupSeisPowerOpenBtnIsEnabled = false;
|
||
BackupSeisPowerCloseBtnIsEnabled = false;
|
||
BackupSeisPowerOffIsReceived = false;
|
||
|
||
List<byte> sendDataPower = RemoteControl(0x30, 0x09, 0x00, 0x00);
|
||
|
||
bool result = false;
|
||
if (station_id == 1)
|
||
{
|
||
if (serverModel1.server.IsConnected && serverModel1.IsOpened)
|
||
{
|
||
result = serverModel1.SendMessage(sendDataPower.ToArray());
|
||
}
|
||
else
|
||
{
|
||
BackupSeisMsgVisibility = Visibility.Visible;
|
||
BackupSeisMsg = "通信未连接!";
|
||
timerBackupSeisMsgHidden.Start();
|
||
BackupSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BackupSeisPowerOpenBtnIsEnabled = true;
|
||
BackupSeisPowerCloseBtnIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (serverModel2.server.IsConnected && serverModel2.IsOpened)
|
||
{
|
||
result = serverModel2.SendMessage(sendDataPower.ToArray());
|
||
}
|
||
else
|
||
{
|
||
BackupSeisMsgVisibility = Visibility.Visible;
|
||
BackupSeisMsg = "通信未连接!";
|
||
timerBackupSeisMsgHidden.Start();
|
||
BackupSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BackupSeisPowerOpenBtnIsEnabled = true;
|
||
BackupSeisPowerCloseBtnIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
|
||
if (result)
|
||
{
|
||
BackupSeisMsgVisibility = Visibility.Visible;
|
||
BackupSeisMsg = "关闭备地震仪电源发送成功!";
|
||
timerBackupSeisMsgHidden.Start();
|
||
BackupSeisMsgForeground = new SolidColorBrush(Colors.Green);
|
||
timerBackupSeisPowerOff.Start();
|
||
}
|
||
else
|
||
{
|
||
BackupSeisMsgVisibility = Visibility.Visible;
|
||
BackupSeisMsg = "关闭备地震仪电源发送失败!";
|
||
timerBackupSeisMsgHidden.Start();
|
||
BackupSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
BackupSeisPowerOpenBtnIsEnabled = true;
|
||
BackupSeisPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('{station_id}','{DateTime.Now}','海底地震监测基站-接驳盒','系统控制','{BackupSeisMsg}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
break;
|
||
case "ElectPowerPicker":
|
||
if (msg[1].Equals("True")) //打开
|
||
{
|
||
ElectPowerOpenBtnIsEnabled = false;
|
||
ElectPowerCloseBtnIsEnabled = false;
|
||
ElectPowerOnIsReceived = false;
|
||
|
||
List<byte> sendDataPower = RemoteControl(0x30, 0x0A, 0x01, 0x00);
|
||
|
||
bool result = false;
|
||
//if (station_id == 1)
|
||
//{
|
||
// if (serverModel1 != null && serverModel1.IsOpened)
|
||
// {
|
||
// result = serverModel1.SendMessage(sendDataPower.ToArray());
|
||
// }
|
||
// else
|
||
// {
|
||
// ElectMsgVisibility = Visibility.Visible;
|
||
// ElectMsg = "通信未连接!";
|
||
// timerElectMsgHidden.Start();
|
||
// ElectMsgForeground = new SolidColorBrush(Colors.Red);
|
||
// ElectPowerOpenBtnIsEnabled = false;
|
||
// ElectPowerCloseBtnIsEnabled = false;
|
||
// break;
|
||
// }
|
||
//}
|
||
//else
|
||
//{
|
||
if (serverModel2.server.IsConnected && serverModel2.IsOpened)
|
||
{
|
||
result = serverModel2.SendMessage(sendDataPower.ToArray());
|
||
}
|
||
else
|
||
{
|
||
ElectMsgVisibility = Visibility.Visible;
|
||
ElectMsg = "通信未连接!";
|
||
timerElectMsgHidden.Start();
|
||
ElectMsgForeground = new SolidColorBrush(Colors.Red);
|
||
ElectPowerOpenBtnIsEnabled = true;
|
||
ElectPowerCloseBtnIsEnabled = true;
|
||
break;
|
||
}
|
||
//}
|
||
|
||
if (result)
|
||
{
|
||
ElectMsgVisibility = Visibility.Visible;
|
||
ElectMsg = "打开电磁电源发送成功!";
|
||
timerElectMsgHidden.Start();
|
||
ElectMsgForeground = new SolidColorBrush(Colors.Green);
|
||
timerElectPowerOn.Start();
|
||
}
|
||
else
|
||
{
|
||
ElectMsgVisibility = Visibility.Visible;
|
||
ElectMsg = "打开电磁电源发送失败!";
|
||
timerElectMsgHidden.Start();
|
||
ElectMsgForeground = new SolidColorBrush(Colors.Red);
|
||
ElectPowerOpenBtnIsEnabled = false;
|
||
ElectPowerCloseBtnIsEnabled = false;
|
||
}
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('2','{DateTime.Now}','海底地震监测基站-接驳盒','系统控制','{ElectMsg}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
else
|
||
{
|
||
ElectPowerOpenBtnIsEnabled = false;
|
||
ElectPowerCloseBtnIsEnabled = false;
|
||
ElectPowerOffIsReceived = false;
|
||
|
||
List<byte> sendDataPower = RemoteControl(0x30, 0x0A, 0x00, 0x00);
|
||
|
||
bool result = false;
|
||
//if (station_id == 1)
|
||
//{
|
||
// if (serverModel1 != null && serverModel1.IsOpened)
|
||
// {
|
||
// result = serverModel1.SendMessage(sendDataPower.ToArray());
|
||
// }
|
||
// else
|
||
// {
|
||
// BackupSeisMsgVisibility = Visibility.Visible;
|
||
// BackupSeisMsg = "通信未连接!";
|
||
// timerBackupSeisMsgHidden.Start();
|
||
// BackupSeisMsgForeground = new SolidColorBrush(Colors.Red);
|
||
// BackupSeisPowerOpenBtnIsEnabled = false;
|
||
// BackupSeisPowerCloseBtnIsEnabled = false;
|
||
// break;
|
||
// }
|
||
//}
|
||
//else
|
||
//{
|
||
if (serverModel2 != null && serverModel2.IsOpened)
|
||
{
|
||
result = serverModel2.SendMessage(sendDataPower.ToArray());
|
||
}
|
||
else
|
||
{
|
||
ElectMsgVisibility = Visibility.Visible;
|
||
ElectMsg = "通信未连接!";
|
||
timerElectMsgHidden.Start();
|
||
ElectMsgForeground = new SolidColorBrush(Colors.Red);
|
||
ElectPowerOpenBtnIsEnabled = true;
|
||
ElectPowerCloseBtnIsEnabled = true;
|
||
break;
|
||
}
|
||
//}
|
||
|
||
if (result)
|
||
{
|
||
ElectMsgVisibility = Visibility.Visible;
|
||
ElectMsg = "关闭电磁电源发送成功!";
|
||
timerElectMsgHidden.Start();
|
||
ElectMsgForeground = new SolidColorBrush(Colors.Green);
|
||
timerElectPowerOff.Start();
|
||
}
|
||
else
|
||
{
|
||
ElectMsgVisibility = Visibility.Visible;
|
||
ElectMsg = "关闭电磁电源发送失败!";
|
||
timerElectMsgHidden.Start();
|
||
ElectMsgForeground = new SolidColorBrush(Colors.Red);
|
||
ElectPowerOpenBtnIsEnabled = true;
|
||
ElectPowerCloseBtnIsEnabled = true;
|
||
}
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('2','{DateTime.Now}','海底地震监测基站-接驳盒','系统控制','{ElectMsg}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
break;
|
||
case "SeisZeroSetStart": //凋零
|
||
if (msg[1].Equals("True")) //打开
|
||
{
|
||
SeisZeroSetStartButtonIsEnabled = false;
|
||
SeisZeroSetStopButtonIsEnabled = false;
|
||
SeisZeroSetStartIsReceived = false;
|
||
|
||
List<byte> sendDataSeisZero = new List<byte>();
|
||
byte[] checkCodeSeisZero = new byte[2];
|
||
List<byte> checkByteSeisZero = new List<byte>();
|
||
|
||
sendDataSeisZero.Clear();
|
||
sendDataSeisZero.AddRange(new byte[] { 0xBF, 0x13, 0x97, 0x74 }); //SYNC
|
||
sendDataSeisZero.AddRange(new byte[] { 0xA0, 0x50 }); //CMD
|
||
sendDataSeisZero.AddRange(new byte[] { 0x00, 0x04 }); //LENGTH
|
||
|
||
//地震计号
|
||
byte[] numDZJ = new byte[2];
|
||
if (station_id == 1)
|
||
{
|
||
if (MainSeisIsChecked)
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum1")));
|
||
else
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum1")));
|
||
}
|
||
else
|
||
{
|
||
if (MainSeisIsChecked)
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum2")));
|
||
else
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum2")));
|
||
}
|
||
numDZJ = Tools.PadArrayWithZeros(numDZJ, 2);
|
||
|
||
sendDataSeisZero.AddRange(numDZJ); //DATA
|
||
checkByteSeisZero.Clear();
|
||
checkByteSeisZero.AddRange(new byte[] { 0xA0, 0x50 }); //CMD
|
||
checkByteSeisZero.AddRange(new byte[] { 0x00, 0x04 }); //LENGTH
|
||
checkByteSeisZero.AddRange(numDZJ); //DATA
|
||
checkCodeSeisZero = Tools.ComputeChecksum(checkByteSeisZero.ToArray()); //CHK_SUM
|
||
sendDataSeisZero.AddRange(checkCodeSeisZero);
|
||
|
||
bool result = false;
|
||
if (station_id == 1)
|
||
{
|
||
if (MainSeisIsChecked)
|
||
{
|
||
if (clientModelMainSeis1.IsConnected && IsMainSeis1CertSucs)
|
||
{
|
||
result = clientModelMainSeis1.SendMessage(sendDataSeisZero.ToArray());
|
||
}
|
||
else
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Visible;
|
||
OpenSetMsg = "通信未连接或未认证!";
|
||
timerOpenSetMsgHidden.Start();
|
||
OpenSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisZeroSetStartButtonIsEnabled = true;
|
||
SeisZeroSetStopButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (clientModelBackupSeis1.IsConnected && IsBackupSeis1CertSucs)
|
||
{
|
||
result = clientModelBackupSeis1.SendMessage(sendDataSeisZero.ToArray());
|
||
}
|
||
else
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Visible;
|
||
OpenSetMsg = "通信未连接或未认证!";
|
||
timerOpenSetMsgHidden.Start();
|
||
OpenSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisZeroSetStartButtonIsEnabled = true;
|
||
SeisZeroSetStopButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (MainSeisIsChecked)
|
||
{
|
||
if (clientModelMainSeis2.IsConnected && IsMainSeis2CertSucs)
|
||
{
|
||
result = clientModelMainSeis2.SendMessage(sendDataSeisZero.ToArray());
|
||
}
|
||
else
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Visible;
|
||
OpenSetMsg = "通信未连接或未认证!";
|
||
timerOpenSetMsgHidden.Start();
|
||
OpenSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisZeroSetStartButtonIsEnabled = true;
|
||
SeisZeroSetStopButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (clientModelBackupSeis2.IsConnected && IsBackupSeis2CertSucs)
|
||
{
|
||
result = clientModelBackupSeis2.SendMessage(sendDataSeisZero.ToArray());
|
||
}
|
||
else
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Visible;
|
||
OpenSetMsg = "通信未连接或未认证!";
|
||
timerOpenSetMsgHidden.Start();
|
||
OpenSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisZeroSetStartButtonIsEnabled = true;
|
||
SeisZeroSetStopButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
if (result)
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Visible;
|
||
OpenSetMsg = "请求调零开启发送成功!";
|
||
timerOpenSetMsgHidden.Start();
|
||
OpenSetMsgForeground = new SolidColorBrush(Colors.Green);
|
||
timerSeisZeroSetStart.Start();
|
||
}
|
||
else
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Visible;
|
||
OpenSetMsg = "请求调零开启发送失败!";
|
||
timerOpenSetMsgHidden.Start();
|
||
OpenSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisZeroSetStartButtonIsEnabled = true;
|
||
SeisZeroSetStopButtonIsEnabled = true;
|
||
}
|
||
|
||
string seisDevice = MainSeisIsChecked == true ? "海底地震监测基站-主地震仪" : "海底地震监测基站-备地震仪";
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('{station_id}','{DateTime.Now}','{seisDevice}','系统控制','{OpenSetMsg}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
break;
|
||
case "SeisZeroSetStop": //凋零
|
||
if (!msg[1].Equals("True")) //关闭
|
||
{
|
||
SeisZeroSetStopButtonIsEnabled = false;
|
||
SeisZeroSetStartButtonIsEnabled = false;
|
||
SeisZeroSetStopIsReceived = false;
|
||
|
||
List<byte> sendDataSeisZero = new List<byte>();
|
||
byte[] checkCodeSeisZero = new byte[2];
|
||
List<byte> checkByteSeisZero = new List<byte>();
|
||
|
||
sendDataSeisZero.Clear();
|
||
sendDataSeisZero.AddRange(new byte[] { 0xBF, 0x13, 0x97, 0x74 }); //SYNC
|
||
sendDataSeisZero.AddRange(new byte[] { 0xA0, 0x51 }); //CMD
|
||
sendDataSeisZero.AddRange(new byte[] { 0x00, 0x04 }); //LENGTH
|
||
|
||
//地震计号
|
||
byte[] numDZJ = new byte[2];
|
||
if (station_id == 1)
|
||
{
|
||
if (MainSeisIsChecked)
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum1")));
|
||
else
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum1")));
|
||
}
|
||
else
|
||
{
|
||
if (MainSeisIsChecked)
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum2")));
|
||
else
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum2")));
|
||
}
|
||
numDZJ = Tools.PadArrayWithZeros(numDZJ, 2);
|
||
|
||
sendDataSeisZero.AddRange(numDZJ); //DATA
|
||
checkByteSeisZero.Clear();
|
||
checkByteSeisZero.AddRange(new byte[] { 0xA0, 0x51 }); //CMD
|
||
checkByteSeisZero.AddRange(new byte[] { 0x00, 0x04 }); //LENGTH
|
||
checkByteSeisZero.AddRange(numDZJ); //DATA
|
||
checkCodeSeisZero = Tools.ComputeChecksum(checkByteSeisZero.ToArray()); //CHK_SUM
|
||
sendDataSeisZero.AddRange(checkCodeSeisZero);
|
||
|
||
bool result = false;
|
||
if (station_id == 1)
|
||
{
|
||
if (MainSeisIsChecked)
|
||
{
|
||
if (clientModelMainSeis1.IsConnected && IsMainSeis1CertSucs)
|
||
{
|
||
result = clientModelMainSeis1.SendMessage(sendDataSeisZero.ToArray());
|
||
}
|
||
else
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Visible;
|
||
CloseSetMsg = "通信未连接或未认证!";
|
||
timerCloseSetMsgHidden.Start();
|
||
CloseSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisZeroSetStopButtonIsEnabled = true;
|
||
SeisZeroSetStartButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (clientModelBackupSeis1.IsConnected && IsBackupSeis1CertSucs)
|
||
{
|
||
result = clientModelBackupSeis1.SendMessage(sendDataSeisZero.ToArray());
|
||
}
|
||
else
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Visible;
|
||
CloseSetMsg = "通信未连接或未认证!";
|
||
timerCloseSetMsgHidden.Start();
|
||
CloseSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisZeroSetStopButtonIsEnabled = true;
|
||
SeisZeroSetStartButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (MainSeisIsChecked)
|
||
{
|
||
if (clientModelMainSeis2.IsConnected && IsMainSeis2CertSucs)
|
||
{
|
||
result = clientModelMainSeis2.SendMessage(sendDataSeisZero.ToArray());
|
||
}
|
||
else
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Visible;
|
||
CloseSetMsg = "通信未连接或未认证!";
|
||
timerCloseSetMsgHidden.Start();
|
||
CloseSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisZeroSetStopButtonIsEnabled = true;
|
||
SeisZeroSetStartButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (clientModelBackupSeis2.IsConnected && IsBackupSeis2CertSucs)
|
||
{
|
||
result = clientModelBackupSeis2.SendMessage(sendDataSeisZero.ToArray());
|
||
}
|
||
else
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Visible;
|
||
CloseSetMsg = "通信未连接或未认证!";
|
||
timerCloseSetMsgHidden.Start();
|
||
CloseSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisZeroSetStopButtonIsEnabled = true;
|
||
SeisZeroSetStartButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
if (result)
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Visible;
|
||
CloseSetMsg = "请求调零停止发送成功!";
|
||
timerCloseSetMsgHidden.Start();
|
||
CloseSetMsgForeground = new SolidColorBrush(Colors.Green);
|
||
timerSeisZeroSetStop.Start();
|
||
}
|
||
else
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Visible;
|
||
CloseSetMsg = "请求调零停止发送失败!";
|
||
timerCloseSetMsgHidden.Start();
|
||
CloseSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisZeroSetStopButtonIsEnabled = true;
|
||
SeisZeroSetStartButtonIsEnabled = true;
|
||
}
|
||
|
||
string seisDevice = MainSeisIsChecked == true ? "海底地震监测基站-主地震仪" : "海底地震监测基站-备地震仪";
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('{station_id}','{DateTime.Now}','{seisDevice}','系统控制','{CloseSetMsg}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
break;
|
||
case "SeisLevelSetStart": //调平
|
||
if (msg[1].Equals("True")) //开启
|
||
{
|
||
SeisLevelSetStartButtonIsEnabled = false;
|
||
SeisLevelSetStopButtonIsEnabled = false;
|
||
SeisLevelSetStartIsReceived = false;
|
||
|
||
List<byte> sendDataSeisLevel = new List<byte>();
|
||
byte[] checkCodeSeisLevel = new byte[2];
|
||
List<byte> checkByteSeisLevel = new List<byte>();
|
||
|
||
sendDataSeisLevel.Clear();
|
||
sendDataSeisLevel.AddRange(new byte[] { 0xBF, 0x13, 0x97, 0x74 }); //SYNC
|
||
sendDataSeisLevel.AddRange(new byte[] { 0xA0, 0x90 }); //CMD
|
||
sendDataSeisLevel.AddRange(new byte[] { 0x00, 0x04 }); //LENGTH
|
||
|
||
//地震计号
|
||
byte[] numDZJ = new byte[2];
|
||
if (station_id == 1)
|
||
{
|
||
if (MainSeisIsChecked)
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum1")));
|
||
else
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum1")));
|
||
}
|
||
else
|
||
{
|
||
if (MainSeisIsChecked)
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum2")));
|
||
else
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum2")));
|
||
}
|
||
numDZJ = Tools.PadArrayWithZeros(numDZJ, 2);
|
||
|
||
sendDataSeisLevel.AddRange(numDZJ); //DATA
|
||
checkByteSeisLevel.Clear();
|
||
checkByteSeisLevel.AddRange(new byte[] { 0xA0, 0x90 }); //CMD
|
||
checkByteSeisLevel.AddRange(new byte[] { 0x00, 0x04 }); //LENGTH
|
||
checkByteSeisLevel.AddRange(numDZJ); //DATA
|
||
checkCodeSeisLevel = Tools.ComputeChecksum(checkByteSeisLevel.ToArray()); //CHK_SUM
|
||
sendDataSeisLevel.AddRange(checkCodeSeisLevel);
|
||
|
||
bool result = false;
|
||
if (station_id == 1)
|
||
{
|
||
if (MainSeisIsChecked)
|
||
{
|
||
if (clientModelMainSeis1.IsConnected && IsMainSeis1CertSucs)
|
||
{
|
||
result = clientModelMainSeis1.SendMessage(sendDataSeisLevel.ToArray());
|
||
}
|
||
else
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Visible;
|
||
OpenSetMsg = "通信未连接或未认证!";
|
||
timerOpenSetMsgHidden.Start();
|
||
OpenSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisLevelSetStartButtonIsEnabled = true;
|
||
SeisLevelSetStopButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (clientModelBackupSeis1.IsConnected && IsBackupSeis1CertSucs)
|
||
{
|
||
result = clientModelBackupSeis1.SendMessage(sendDataSeisLevel.ToArray());
|
||
}
|
||
else
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Visible;
|
||
OpenSetMsg = "通信未连接或未认证!";
|
||
timerOpenSetMsgHidden.Start();
|
||
OpenSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisLevelSetStartButtonIsEnabled = true;
|
||
SeisLevelSetStopButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (MainSeisIsChecked)
|
||
{
|
||
if (clientModelMainSeis2.IsConnected && IsMainSeis2CertSucs)
|
||
{
|
||
result = clientModelMainSeis2.SendMessage(sendDataSeisLevel.ToArray());
|
||
}
|
||
else
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Visible;
|
||
OpenSetMsg = "通信未连接或未认证!";
|
||
timerOpenSetMsgHidden.Start();
|
||
OpenSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisLevelSetStartButtonIsEnabled = true;
|
||
SeisLevelSetStopButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (clientModelBackupSeis2.IsConnected && IsBackupSeis2CertSucs)
|
||
{
|
||
result = clientModelBackupSeis2.SendMessage(sendDataSeisLevel.ToArray());
|
||
}
|
||
else
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Visible;
|
||
OpenSetMsg = "通信未连接或未认证!";
|
||
timerOpenSetMsgHidden.Start();
|
||
OpenSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisLevelSetStartButtonIsEnabled = true;
|
||
SeisLevelSetStopButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
if (result)
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Visible;
|
||
OpenSetMsg = "请求调平开启发送成功!";
|
||
timerOpenSetMsgHidden.Start();
|
||
OpenSetMsgForeground = new SolidColorBrush(Colors.Green);
|
||
timerSeisLevelSetStart.Start();
|
||
}
|
||
else
|
||
{
|
||
OpenSetMsgVisibility = Visibility.Visible;
|
||
OpenSetMsg = "请求调平开启发送失败!";
|
||
timerOpenSetMsgHidden.Start();
|
||
OpenSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisLevelSetStartButtonIsEnabled = true;
|
||
SeisLevelSetStopButtonIsEnabled = true;
|
||
}
|
||
|
||
string seisDevice = MainSeisIsChecked == true ? "海底地震监测基站-主地震仪" : "海底地震监测基站-备地震仪";
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('{station_id}','{DateTime.Now}','{seisDevice}','系统控制','{OpenSetMsg}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
break;
|
||
case "SeisLevelSetStop": //调平
|
||
if (!msg[1].Equals("True")) //关闭
|
||
{
|
||
SeisLevelSetStopButtonIsEnabled = false;
|
||
SeisLevelSetStartButtonIsEnabled = false;
|
||
SeisLevelSetStopIsReceived = false;
|
||
|
||
List<byte> sendDataSeisLevel = new List<byte>();
|
||
byte[] checkCodeSeisLevel = new byte[2];
|
||
List<byte> checkByteSeisLevel = new List<byte>();
|
||
|
||
sendDataSeisLevel.Clear();
|
||
sendDataSeisLevel.AddRange(new byte[] { 0xBF, 0x13, 0x97, 0x74 }); //SYNC
|
||
sendDataSeisLevel.AddRange(new byte[] { 0xA0, 0x91 }); //CMD
|
||
sendDataSeisLevel.AddRange(new byte[] { 0x00, 0x04 }); //LENGTH
|
||
|
||
//地震计号
|
||
byte[] numDZJ = new byte[2];
|
||
if (station_id == 1)
|
||
{
|
||
if (MainSeisIsChecked)
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum1")));
|
||
else
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum1")));
|
||
}
|
||
else
|
||
{
|
||
if (MainSeisIsChecked)
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum2")));
|
||
else
|
||
numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum2")));
|
||
}
|
||
numDZJ = Tools.PadArrayWithZeros(numDZJ, 2);
|
||
|
||
sendDataSeisLevel.AddRange(numDZJ); //DATA
|
||
checkByteSeisLevel.Clear();
|
||
checkByteSeisLevel.AddRange(new byte[] { 0xA0, 0x91 }); //CMD
|
||
checkByteSeisLevel.AddRange(new byte[] { 0x00, 0x04 }); //LENGTH
|
||
checkByteSeisLevel.AddRange(numDZJ); //DATA
|
||
checkCodeSeisLevel = Tools.ComputeChecksum(checkByteSeisLevel.ToArray()); //CHK_SUM
|
||
sendDataSeisLevel.AddRange(checkCodeSeisLevel);
|
||
|
||
bool result = false;
|
||
if (station_id == 1)
|
||
{
|
||
if (MainSeisIsChecked)
|
||
{
|
||
if (clientModelMainSeis1.IsConnected && IsMainSeis1CertSucs)
|
||
{
|
||
result = clientModelMainSeis1.SendMessage(sendDataSeisLevel.ToArray());
|
||
}
|
||
else
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Visible;
|
||
CloseSetMsg = "通信未连接或未认证!";
|
||
timerCloseSetMsgHidden.Start();
|
||
CloseSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisLevelSetStopButtonIsEnabled = true;
|
||
SeisLevelSetStartButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (clientModelBackupSeis1.IsConnected && IsBackupSeis1CertSucs)
|
||
{
|
||
result = clientModelBackupSeis1.SendMessage(sendDataSeisLevel.ToArray());
|
||
}
|
||
else
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Visible;
|
||
CloseSetMsg = "通信未连接或未认证!";
|
||
timerCloseSetMsgHidden.Start();
|
||
CloseSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisLevelSetStopButtonIsEnabled = true;
|
||
SeisLevelSetStartButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (MainSeisIsChecked)
|
||
{
|
||
if (clientModelMainSeis2.IsConnected && IsMainSeis2CertSucs)
|
||
{
|
||
result = clientModelMainSeis2.SendMessage(sendDataSeisLevel.ToArray());
|
||
}
|
||
else
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Visible;
|
||
CloseSetMsg = "通信未连接或未认证!";
|
||
timerCloseSetMsgHidden.Start();
|
||
CloseSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisLevelSetStopButtonIsEnabled = true;
|
||
SeisLevelSetStartButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (clientModelBackupSeis2.IsConnected && IsBackupSeis2CertSucs)
|
||
{
|
||
result = clientModelBackupSeis2.SendMessage(sendDataSeisLevel.ToArray());
|
||
}
|
||
else
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Visible;
|
||
CloseSetMsg = "通信未连接或未认证!";
|
||
timerCloseSetMsgHidden.Start();
|
||
CloseSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisLevelSetStopButtonIsEnabled = true;
|
||
SeisLevelSetStartButtonIsEnabled = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
if (result)
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Visible;
|
||
CloseSetMsg = "请求调平停止发送成功!";
|
||
timerCloseSetMsgHidden.Start();
|
||
CloseSetMsgForeground = new SolidColorBrush(Colors.Green);
|
||
timerSeisLevelSetStop.Start();
|
||
}
|
||
else
|
||
{
|
||
CloseSetMsgVisibility = Visibility.Visible;
|
||
CloseSetMsg = "请求调平停止发送失败!";
|
||
timerCloseSetMsgHidden.Start();
|
||
CloseSetMsgForeground = new SolidColorBrush(Colors.Red);
|
||
SeisLevelSetStopButtonIsEnabled = true;
|
||
SeisLevelSetStartButtonIsEnabled = true;
|
||
}
|
||
|
||
string seisDevice = MainSeisIsChecked == true ? "海底地震监测基站-主地震仪" : "海底地震监测基站-备地震仪";
|
||
|
||
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('{station_id}','{DateTime.Now}','{seisDevice}','系统控制','{CloseSetMsg}');";
|
||
DBHelper.ExecuteNonQuery(sql, 1);
|
||
}
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region Page Switching
|
||
public void DoNavChanged(object obj)
|
||
{
|
||
if (obj.ToString() == "1" || obj.ToString() == "2") //说明是站点切换按钮
|
||
{
|
||
if (station_id == Convert.ToInt32(obj)) //如果切换的界面和之前一样 那就不切换
|
||
return;
|
||
station_id = Convert.ToInt32(obj);
|
||
}
|
||
else if (obj.ToString() == "")
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
if (Title_Name == obj.ToString())
|
||
return;
|
||
Title_Name = obj.ToString();
|
||
}
|
||
|
||
//切换页面之前清理一下内存
|
||
Tools.ClearMemory(this);
|
||
|
||
Type type = Type.GetType("JiangsuEarthquake.Views." + Title_Name);
|
||
ConstructorInfo cti = type.GetConstructor(System.Type.EmptyTypes);
|
||
FrameworkElement page = (FrameworkElement)cti.Invoke(null);
|
||
if (station_id == 1)
|
||
{
|
||
switch (Title_Name)
|
||
{
|
||
case "RealTimeDataView":
|
||
page.DataContext = realTimeDataViewModel1;
|
||
break;
|
||
case "SystemEnvironDataView":
|
||
systemEnvironDataViewModel1.RefreshFile(obj);
|
||
page.DataContext = systemEnvironDataViewModel1;
|
||
break;
|
||
case "SystemMonitorDataView":
|
||
page.DataContext = systemMonitorDataViewModel1;
|
||
break;
|
||
case "BoosterStationStateDataView":
|
||
page.DataContext = boosterStationStateDataViewModel1;
|
||
break;
|
||
case "SeismometerStateDataView":
|
||
MainViewModel.seismometerStateDataViewModel1.MainSeisIsChecked = true;
|
||
page.DataContext = seismometerStateDataViewModel1;
|
||
break;
|
||
case "SeismometerParameterView":
|
||
MainViewModel.seismometerParameterViewModel1.BackupSeisIsChecked = false;
|
||
page.DataContext = seismometerParameterViewModel1;
|
||
break;
|
||
case "SystemControlView":
|
||
MainSeisIsChecked = true;
|
||
baseStationStateModel1.JunBox_Elect = (ImageSource)Application.Current.FindResource("NoDevice");
|
||
ElectPowerOpenBtnIsEnabled = false;
|
||
ElectPowerCloseBtnIsEnabled = false;
|
||
|
||
#region 从数据库中读取站点一海底基站、主备地震仪的电源开关和功能启停状态,并显示到页面
|
||
//string sql = String.Format("select SwitchState from switch_info where StationID = 1 and SwitchName = 'BaseStationPower'");
|
||
//MySqlDataReader dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
//if (dataReader.Read())
|
||
//{
|
||
// if (dataReader[0].ToString() == "Off")
|
||
// ImageSourceBaseStation = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
// else
|
||
// ImageSourceBaseStation = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
//}
|
||
//dataReader.Dispose();
|
||
//sql = String.Format("select SwitchState from switch_info where StationID = 1 and SwitchName = 'MainSeisPower'");
|
||
//dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
//if (dataReader.Read())
|
||
//{
|
||
// if (dataReader[0].ToString() == "Off")
|
||
// ImageSourceMainSeis = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
// else
|
||
// ImageSourceMainSeis = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
//}
|
||
//dataReader.Dispose();
|
||
//sql = String.Format("select SwitchState from switch_info where StationID = 1 and SwitchName = 'BackupSeisPower'");
|
||
//dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
//if (dataReader.Read())
|
||
//{
|
||
// if (dataReader[0].ToString() == "Off")
|
||
// ImageSourceBackupSeis = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
// else
|
||
// ImageSourceBackupSeis = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
//}
|
||
//dataReader.Dispose();
|
||
//sql = String.Format("select SwitchState from switch_info where StationID = 1 and SwitchName = 'BackupSeisPower'");
|
||
//dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
//if (dataReader.Read())
|
||
//{
|
||
// if (dataReader[0].ToString() == "Off")
|
||
// ImageSourceBackupSeis = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
// else
|
||
// ImageSourceBackupSeis = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
//}
|
||
//dataReader.Dispose();
|
||
//sql = String.Format("select SwitchState from switch_info where StationID = 1 and SwitchName = 'MainSeisSetZero'");
|
||
//dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
//if (dataReader.Read())
|
||
//{
|
||
// if (dataReader[0].ToString() == "Off")
|
||
// ImageSourceSetZero = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
// else
|
||
// ImageSourceSetZero = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
//}
|
||
//dataReader.Dispose();
|
||
//sql = String.Format("select SwitchState from switch_info where StationID = 1 and SwitchName = 'MainSeisSetLevel'");
|
||
//dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
//if (dataReader.Read())
|
||
//{
|
||
// if (dataReader[0].ToString() == "Off")
|
||
// ImageSourceSetLevel = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
// else
|
||
// ImageSourceSetLevel = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
//}
|
||
//dataReader.Dispose();
|
||
#endregion
|
||
|
||
//SS = switchStateModel1;
|
||
//EQPS = seismometerParameterViewModel1.EarthQuakeParaSet;
|
||
//EQSM = earthquakeSensorModel1;
|
||
BSSM = baseStationStateModel1;
|
||
break;
|
||
case "LogRecordView":
|
||
page.DataContext = logRecordViewModel1;
|
||
break;
|
||
case "AlarmRecordView":
|
||
page.DataContext = alarmRecordViewModel1;
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
}
|
||
else if (station_id == 2)
|
||
{
|
||
switch (Title_Name)
|
||
{
|
||
case "RealTimeDataView":
|
||
page.DataContext = realTimeDataViewModel2;
|
||
break;
|
||
case "SystemEnvironDataView":
|
||
page.DataContext = systemEnvironDataViewModel2;
|
||
break;
|
||
case "SystemMonitorDataView":
|
||
page.DataContext = systemMonitorDataViewModel2;
|
||
break;
|
||
case "BoosterStationStateDataView":
|
||
page.DataContext = boosterStationStateDataViewModel2;
|
||
break;
|
||
case "SeismometerStateDataView":
|
||
MainViewModel.seismometerStateDataViewModel2.MainSeisIsChecked = true;
|
||
page.DataContext = seismometerStateDataViewModel2;
|
||
break;
|
||
case "SeismometerParameterView":
|
||
MainViewModel.seismometerParameterViewModel1.BackupSeisIsChecked = false;
|
||
page.DataContext = seismometerParameterViewModel2;
|
||
break;
|
||
case "SystemControlView":
|
||
MainSeisIsChecked = true;
|
||
ElectPowerOpenBtnIsEnabled = true;
|
||
ElectPowerCloseBtnIsEnabled = true;
|
||
|
||
#region 从数据库中读取站点二海底基站、主备地震仪的电源开关和功能启停状态,并显示到页面
|
||
//string sql = String.Format("select SwitchState from switch_info where StationID = 2 and SwitchName = 'BaseStationPower'");
|
||
//MySqlDataReader dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
//if (dataReader.Read())
|
||
//{
|
||
// if (dataReader[0].ToString() == "Off")
|
||
// ImageSourceBaseStation = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
// else
|
||
// ImageSourceBaseStation = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
//}
|
||
//dataReader.Dispose();
|
||
//sql = String.Format("select SwitchState from switch_info where StationID = 2 and SwitchName = 'MainSeisPower'");
|
||
//dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
//if (dataReader.Read())
|
||
//{
|
||
// if (dataReader[0].ToString() == "Off")
|
||
// ImageSourceMainSeis = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
// else
|
||
// ImageSourceMainSeis = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
//}
|
||
//dataReader.Dispose();
|
||
//sql = String.Format("select SwitchState from switch_info where StationID = 2 and SwitchName = 'BackupSeisPower'");
|
||
//dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
//if (dataReader.Read())
|
||
//{
|
||
// if (dataReader[0].ToString() == "Off")
|
||
// ImageSourceBackupSeis = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
// else
|
||
// ImageSourceBackupSeis = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
//}
|
||
//dataReader.Dispose();
|
||
//sql = String.Format("select SwitchState from switch_info where StationID = 2 and SwitchName = 'BackupSeisPower'");
|
||
//dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
//if (dataReader.Read())
|
||
//{
|
||
// if (dataReader[0].ToString() == "Off")
|
||
// ImageSourceBackupSeis = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
// else
|
||
// ImageSourceBackupSeis = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
//}
|
||
//dataReader.Dispose();
|
||
//sql = String.Format("select SwitchState from switch_info where StationID = 2 and SwitchName = 'MainSeisSetZero'");
|
||
//dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
//if (dataReader.Read())
|
||
//{
|
||
// if (dataReader[0].ToString() == "Off")
|
||
// ImageSourceSetZero = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
// else
|
||
// ImageSourceSetZero = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
//}
|
||
//dataReader.Dispose();
|
||
//sql = String.Format("select SwitchState from switch_info where StationID = 2 and SwitchName = 'MainSeisSetLevel'");
|
||
//dataReader = DBHelper.ExecuteReader(sql, 1);
|
||
//if (dataReader.Read())
|
||
//{
|
||
// if (dataReader[0].ToString() == "Off")
|
||
// ImageSourceSetLevel = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||
// else
|
||
// ImageSourceSetLevel = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||
//}
|
||
//dataReader.Dispose();
|
||
#endregion
|
||
|
||
//SS = switchStateModel2;
|
||
//EQPS = seismometerParameterViewModel2.EarthQuakeParaSet;
|
||
//EQSM = earthquakeSensorModel2;
|
||
BSSM = baseStationStateModel2;
|
||
break;
|
||
case "LogRecordView":
|
||
page.DataContext = logRecordViewModel2;
|
||
break;
|
||
case "AlarmRecordView":
|
||
page.DataContext = alarmRecordViewModel2;
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
}
|
||
this.PageContent = page;
|
||
}
|
||
#endregion
|
||
|
||
}
|
||
}
|