新增功能:
1 解决按钮提示错位的问题; 2 完善与地震仪通信之间的日志记录和告警记录; 3 对可能引起代码崩溃的部分使用try catch捕捉可能的异常;
This commit is contained in:
parent
86dca1b0ec
commit
84e4f33fb9
Binary file not shown.
@ -2,14 +2,14 @@
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\models\\volcurcollectormodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\models\\volcurcollectormodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\models\\lowercomputermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\models\\lowercomputermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\models\\seismographmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\models\\seismographmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\viewmodels\\mainviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\viewmodels\\mainviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
@ -18,6 +18,10 @@
|
||||
"AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\viewmodels\\boosterstationstatedataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\viewmodels\\boosterstationstatedataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\models\\volcurcollectormodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\models\\volcurcollectormodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\views\\realtimedataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
|
||||
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\views\\realtimedataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
|
||||
@ -38,7 +42,7 @@
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 5,
|
||||
"DocumentIndex": 6,
|
||||
"Title": "App.config",
|
||||
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\App.config",
|
||||
"RelativeDocumentMoniker": "JiangsuEarthquake\\App.config",
|
||||
@ -53,6 +57,19 @@
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"Title": "VolCurCollectorModel.cs",
|
||||
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\VolCurCollectorModel.cs",
|
||||
"RelativeDocumentMoniker": "JiangsuEarthquake\\Models\\VolCurCollectorModel.cs",
|
||||
"ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\VolCurCollectorModel.cs",
|
||||
"RelativeToolTip": "JiangsuEarthquake\\Models\\VolCurCollectorModel.cs",
|
||||
"ViewState": "AQIAAKwBAAAAAAAAAAAkwMIBAAA1AAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-06-28T01:42:56.109Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 5,
|
||||
"Title": "RealTimeDataView.xaml",
|
||||
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\RealTimeDataView.xaml",
|
||||
"RelativeDocumentMoniker": "JiangsuEarthquake\\Views\\RealTimeDataView.xaml",
|
||||
@ -70,35 +87,35 @@
|
||||
"RelativeDocumentMoniker": "JiangsuEarthquake\\ViewModels\\BoosterStationStateDataViewModel.cs",
|
||||
"ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\BoosterStationStateDataViewModel.cs",
|
||||
"RelativeToolTip": "JiangsuEarthquake\\ViewModels\\BoosterStationStateDataViewModel.cs",
|
||||
"ViewState": "AQIAACcGAAAAAAAAAAAAAD0GAAAtAAAA",
|
||||
"ViewState": "AQIAAFwBAAAAAAAAAAAuwNkFAAAIAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-06-27T06:25:37.202Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"DocumentIndex": 0,
|
||||
"Title": "LowerComputerModel.cs",
|
||||
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\LowerComputerModel.cs",
|
||||
"RelativeDocumentMoniker": "JiangsuEarthquake\\Models\\LowerComputerModel.cs",
|
||||
"ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\LowerComputerModel.cs",
|
||||
"RelativeToolTip": "JiangsuEarthquake\\Models\\LowerComputerModel.cs",
|
||||
"ViewState": "AQIAANwAAAAAAAAAAAAAAO8AAACWAAAA",
|
||||
"ViewState": "AQIAAFoAAAAAAAAAAAAuwIQAAAAvAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-06-27T05:54:59.023Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "VolCurCollectorModel.cs",
|
||||
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\VolCurCollectorModel.cs",
|
||||
"RelativeDocumentMoniker": "JiangsuEarthquake\\Models\\VolCurCollectorModel.cs",
|
||||
"ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\VolCurCollectorModel.cs",
|
||||
"RelativeToolTip": "JiangsuEarthquake\\Models\\VolCurCollectorModel.cs",
|
||||
"ViewState": "AQIAAGoAAAAAAAAAAAAmwH8AAAAzAAAA",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "SeismographModel.cs",
|
||||
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\SeismographModel.cs",
|
||||
"RelativeDocumentMoniker": "JiangsuEarthquake\\Models\\SeismographModel.cs",
|
||||
"ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\SeismographModel.cs",
|
||||
"RelativeToolTip": "JiangsuEarthquake\\Models\\SeismographModel.cs",
|
||||
"ViewState": "AQIAADUAAAAAAAAAAAAUwEoAAAAAAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-06-27T05:54:57.251Z",
|
||||
"WhenOpened": "2024-06-28T01:41:37.637Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
@ -109,7 +126,7 @@
|
||||
"RelativeDocumentMoniker": "JiangsuEarthquake\\ViewModels\\MainViewModel.cs",
|
||||
"ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\MainViewModel.cs",
|
||||
"RelativeToolTip": "JiangsuEarthquake\\ViewModels\\MainViewModel.cs",
|
||||
"ViewState": "AQIAALgNAAAAAAAAAADgv9INAAA5AAAA",
|
||||
"ViewState": "AQIAAKUPAAAAAAAAAAAAAAsIAAAIAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2024-06-26T09:47:38.344Z",
|
||||
"EditorCaption": ""
|
||||
|
||||
@ -55,6 +55,10 @@ namespace JiangsuEarthquake.Models
|
||||
//CRC校验失败
|
||||
if (checkCodeCRC != byteList[^1])
|
||||
{
|
||||
string content = "接驳盒数据CRC校验失败" ;
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
try
|
||||
{
|
||||
//发送失败信息
|
||||
@ -69,9 +73,11 @@ namespace JiangsuEarthquake.Models
|
||||
MainWindow.mainViewModel.serverModel2.SendMessage(ServerReplyData(byteList[5], byteList[6], 0x00).ToArray());
|
||||
}
|
||||
}
|
||||
catch
|
||||
catch(Exception ex)
|
||||
{
|
||||
|
||||
content = "接驳盒数据CRC校验失败信息发送失败," + ex.Message;
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
}
|
||||
|
||||
return;
|
||||
@ -91,6 +97,10 @@ namespace JiangsuEarthquake.Models
|
||||
byteLength = BitConverter.ToInt16(new byte[] { byteList[3], byteList[2] }, 0);
|
||||
if (byteLength != 106) //长度校验失败
|
||||
{
|
||||
string content = "接驳盒其他传感器集合数据长度校验失败";
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
try
|
||||
{
|
||||
//发送失败信息
|
||||
@ -107,8 +117,7 @@ namespace JiangsuEarthquake.Models
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string content = "接驳盒其他传感器集合数据长度校验失败信息发送失败," + ex.Message;
|
||||
|
||||
content = "接驳盒其他传感器集合数据长度校验失败信息发送失败," + ex.Message;
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
}
|
||||
@ -154,14 +163,16 @@ namespace JiangsuEarthquake.Models
|
||||
catch (Exception ex)
|
||||
{
|
||||
string content = "接驳盒其他传感器集合数据解析成功信息发送失败," + ex.Message;
|
||||
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string content = "接驳盒其他传感器集合数据解析失败," + ex.Message;
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据解析','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
//try
|
||||
//{
|
||||
// //发送失败信息
|
||||
@ -181,11 +192,6 @@ namespace JiangsuEarthquake.Models
|
||||
|
||||
//}
|
||||
|
||||
string content = "接驳盒其他传感器集合数据解析失败," + ex.Message;
|
||||
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据解析','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@ -193,6 +199,8 @@ namespace JiangsuEarthquake.Models
|
||||
sql = $"insert into juncbox_env(StationID,RecordTime,DataTime,Temperature,Humidity,AttitudeX,AttitudeY,AttitudeZ) values('{id}','{DateTime.Now}','{DataTime}','{temperature}','{humidity}','{gestureX}','{gestureY}','{gestureZ}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
|
||||
#region 更新到实时数据显示页面
|
||||
//更新到实时数据显示页面
|
||||
App.Current.Dispatcher.Invoke(() =>
|
||||
{
|
||||
@ -364,6 +372,8 @@ namespace JiangsuEarthquake.Models
|
||||
};
|
||||
}
|
||||
});
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -388,6 +398,10 @@ namespace JiangsuEarthquake.Models
|
||||
byteLength = BitConverter.ToInt16(new byte[] { byteList[3], byteList[2] }, 0);
|
||||
if (byteLength != 13) //长度校验失败
|
||||
{
|
||||
string content = "接驳盒远程控制回复长度校验失败" ;
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
//try
|
||||
//{
|
||||
// //发送失败信息
|
||||
@ -487,7 +501,6 @@ namespace JiangsuEarthquake.Models
|
||||
//存储历史设置
|
||||
sql = $"insert into switch_info_his(StationID,RecordTime,SwitchName,SwitchState) values('{id}','{DateTime.Now}','BackupSeisPower','{state}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
@ -526,7 +539,6 @@ namespace JiangsuEarthquake.Models
|
||||
//存储历史设置
|
||||
sql = $"insert into switch_info_his(StationID,RecordTime,SwitchName,SwitchState) values('{id}','{DateTime.Now}','BackupSeisPower','{state}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
@ -540,6 +552,10 @@ namespace JiangsuEarthquake.Models
|
||||
byteLength = BitConverter.ToInt16(new byte[] { byteList[3], byteList[2] }, 0);
|
||||
if (byteLength != 45) //长度校验失败
|
||||
{
|
||||
string content = "接驳盒读取状态回复长度校验失败";
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
try
|
||||
{
|
||||
//发送失败信息
|
||||
@ -556,8 +572,7 @@ namespace JiangsuEarthquake.Models
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string content = "接驳盒状态数据长度校验失败信息发送失败," + ex.Message;
|
||||
|
||||
content = "接驳盒状态数据长度校验失败信息发送失败," + ex.Message;
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
}
|
||||
@ -650,7 +665,6 @@ namespace JiangsuEarthquake.Models
|
||||
catch (Exception ex)
|
||||
{
|
||||
string content = "接驳盒状态数据解析成功信息发送失败," + ex.Message;
|
||||
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
}
|
||||
@ -658,7 +672,6 @@ namespace JiangsuEarthquake.Models
|
||||
catch (Exception ex)
|
||||
{
|
||||
string content = "接驳盒状态数据解析失败," + ex.Message;
|
||||
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据解析','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
@ -699,6 +712,8 @@ namespace JiangsuEarthquake.Models
|
||||
sql = $"insert into juncbox_monitor(StationID,RecordTime,Seis2_Voltage,Seis1_Current,Seis2_Current,Elect_Current,Seis1_Voltage,Out_Voltage12_Reserved1,Out_Voltage12_Reserved2,Reserved) values('{id}','{recordTime}','{Seis2_Voltage}','{Seis1_Current}','{Seis2_Current}','{Elect_Current}','{Seis1_Voltage}','{Out_Voltage12_Reserved1}','{Out_Voltage12_Reserved2}','{Reserved}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
|
||||
#region 更新到实时数据显示页面
|
||||
//更新到页面
|
||||
if (id == 1)
|
||||
{
|
||||
@ -902,6 +917,8 @@ namespace JiangsuEarthquake.Models
|
||||
MainViewModel.realTimeDataViewModel2.HatchStateImage = (ImageSource)Application.Current.FindResource("CycleGray");
|
||||
});
|
||||
}
|
||||
#endregion
|
||||
|
||||
break;
|
||||
|
||||
case 0x07:
|
||||
@ -910,6 +927,11 @@ namespace JiangsuEarthquake.Models
|
||||
byteLength = BitConverter.ToInt16(new byte[] { byteList[3], byteList[2] }, 0);
|
||||
if (byteLength != 8) //长度校验失败
|
||||
{
|
||||
string content = "接驳盒请求读取上位机现在时间数据长度校验失败";
|
||||
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
try
|
||||
{
|
||||
//发送失败信息
|
||||
@ -926,7 +948,7 @@ namespace JiangsuEarthquake.Models
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string content = "接驳盒读取上位机现在时间长度校验失败信息发送失败," + ex.Message;
|
||||
content = "接驳盒读取上位机现在时间长度校验失败信息发送失败," + ex.Message;
|
||||
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
@ -980,6 +1002,11 @@ namespace JiangsuEarthquake.Models
|
||||
byteLength = BitConverter.ToInt16(new byte[] { byteList[3], byteList[2] }, 0);
|
||||
if (byteLength != 18) //长度校验失败
|
||||
{
|
||||
string content = "接驳盒告警数据长度校验失败";
|
||||
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
try
|
||||
{
|
||||
//发送失败信息
|
||||
@ -996,7 +1023,7 @@ namespace JiangsuEarthquake.Models
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string content = "接驳盒告警数据长度校验失败信息发送失败," + ex.Message;
|
||||
content = "接驳盒告警数据长度校验失败信息发送失败," + ex.Message;
|
||||
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
@ -1045,6 +1072,8 @@ namespace JiangsuEarthquake.Models
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
}
|
||||
|
||||
|
||||
#region 更新到实时数据显示页面
|
||||
//更新到前端
|
||||
App.Current.Dispatcher.Invoke(() =>
|
||||
{
|
||||
@ -1082,6 +1111,8 @@ namespace JiangsuEarthquake.Models
|
||||
}
|
||||
dataReader.Dispose();
|
||||
});
|
||||
#endregion
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -16,6 +16,7 @@ using System.Windows.Media;
|
||||
using Application = System.Windows.Application;
|
||||
using MySql.Data.MySqlClient;
|
||||
using Color = System.Windows.Media.Color;
|
||||
using System.Reflection.Metadata;
|
||||
|
||||
namespace JiangsuEarthquake.Models
|
||||
{
|
||||
@ -72,7 +73,6 @@ namespace JiangsuEarthquake.Models
|
||||
string sql = $"insert into boosterstationoriginaldata(StationID,RecordTime,OriginalData) values('{id}','{DateTime.Now}','{BitConverter.ToString(byteList.ToArray())}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
|
||||
checkByte.Clear();
|
||||
//CRC校验
|
||||
for (int i = 0; i < byteList.Count - 2; i++)
|
||||
@ -80,7 +80,15 @@ namespace JiangsuEarthquake.Models
|
||||
checkCodeCRC = Tools.CRCCalc(checkByte.ToArray());
|
||||
//CRC校验失败
|
||||
if (!Tools.CompareByte(checkCodeCRC, new byte[2] { byteList[byteList.Count - 2], byteList[byteList.Count - 1] }))
|
||||
{
|
||||
string content = "升压站电控通信系统数据CRC校验失败";
|
||||
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','升压站电控通信系统数据校验','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (byteList[1] == 0x03) //查询从设备寄存器内容
|
||||
{
|
||||
@ -91,39 +99,51 @@ namespace JiangsuEarthquake.Models
|
||||
{
|
||||
string content = "升压站电控通信系统状态数据长度校验失败";
|
||||
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','升压站电控通信系统数据接收','{content}');";
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','升压站电控通信系统数据校验','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//获取电压电流的量程;
|
||||
int VoltageRange = int.Parse(Tools.GetAppSetting("SYZVoltageRange"));
|
||||
int CurrentRange = int.Parse(Tools.GetAppSetting("SYZCurrentRange"));
|
||||
|
||||
voltage = BitConverter.ToInt16(new byte[2] { byteList[4], byteList[3] }) / 10000f * VoltageRange;
|
||||
current = BitConverter.ToInt16(new byte[2] { byteList[6], byteList[5] }) / 10000f * CurrentRange;
|
||||
power = BitConverter.ToInt16(new byte[2] { byteList[7], byteList[8] }) / 10000f * VoltageRange * CurrentRange;
|
||||
posEleDegree = BitConverter.ToUInt32(new byte[4] { byteList[9], byteList[10], byteList[11], byteList[12] }) * VoltageRange * CurrentRange / (1000 * 3600);
|
||||
revEleDegree = BitConverter.ToUInt32(new byte[4] { byteList[13], byteList[14], byteList[15], byteList[16] }) * VoltageRange * CurrentRange / (1000 * 3600);
|
||||
uVoltage = BitConverter.ToUInt16(new byte[2] { byteList[17], byteList[18] }) / 10000f * VoltageRange;
|
||||
uCurrent = BitConverter.ToUInt16(new byte[2] { byteList[19], byteList[20] }) / 10000f * VoltageRange;
|
||||
relayStatus = BitConverter.ToUInt16(new byte[2] { byteList[21], byteList[22] });
|
||||
highResVoltage = BitConverter.ToInt16(new byte[2] { byteList[23], byteList[24] }) / 50000f * VoltageRange;
|
||||
highResCurrent = BitConverter.ToInt16(new byte[2] { byteList[25], byteList[26] }) / 50000f * CurrentRange;
|
||||
forAmpereHour = BitConverter.ToUInt32(new byte[4] { byteList[27], byteList[28], byteList[29], byteList[30] }) * CurrentRange / 3600;
|
||||
revAmpereHour = BitConverter.ToUInt32(new byte[4] { byteList[31], byteList[32], byteList[33], byteList[34] }) * CurrentRange / 3600;
|
||||
DateTime recordTime = DateTime.Now;
|
||||
|
||||
sql = $"insert into boosterstation_state(StationID,RecordTime,In_Vol,In_Cur,Power,PosEleDegree," +
|
||||
$"RevEleDegree,uVoltage,uCurrent,RelayStatus,HighResVoltage,HighResCurrent,ForAmpereHour," +
|
||||
$"RevAmpereHour) values('{id}','{recordTime}','{voltage}','{current}','{power}','{posEleDegree}'," +
|
||||
$"'{revEleDegree}','{uVoltage}','{uCurrent}','{relayStatus}','{highResVoltage}'," +
|
||||
$"'{highResCurrent}','{forAmpereHour}','{revAmpereHour}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
try
|
||||
{
|
||||
//获取电压电流的量程;
|
||||
int VoltageRange = int.Parse(Tools.GetAppSetting("SYZVoltageRange"));
|
||||
int CurrentRange = int.Parse(Tools.GetAppSetting("SYZCurrentRange"));
|
||||
|
||||
sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('{id}','{DateTime.Now}','升压站电控通信系统','系统控制','请求升压站状态数据成功');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
voltage = BitConverter.ToInt16(new byte[2] { byteList[4], byteList[3] }) / 10000f * VoltageRange;
|
||||
current = BitConverter.ToInt16(new byte[2] { byteList[6], byteList[5] }) / 10000f * CurrentRange;
|
||||
power = BitConverter.ToInt16(new byte[2] { byteList[7], byteList[8] }) / 10000f * VoltageRange * CurrentRange;
|
||||
posEleDegree = BitConverter.ToUInt32(new byte[4] { byteList[9], byteList[10], byteList[11], byteList[12] }) * VoltageRange * CurrentRange / (1000 * 3600);
|
||||
revEleDegree = BitConverter.ToUInt32(new byte[4] { byteList[13], byteList[14], byteList[15], byteList[16] }) * VoltageRange * CurrentRange / (1000 * 3600);
|
||||
uVoltage = BitConverter.ToUInt16(new byte[2] { byteList[17], byteList[18] }) / 10000f * VoltageRange;
|
||||
uCurrent = BitConverter.ToUInt16(new byte[2] { byteList[19], byteList[20] }) / 10000f * VoltageRange;
|
||||
relayStatus = BitConverter.ToUInt16(new byte[2] { byteList[21], byteList[22] });
|
||||
highResVoltage = BitConverter.ToInt16(new byte[2] { byteList[23], byteList[24] }) / 50000f * VoltageRange;
|
||||
highResCurrent = BitConverter.ToInt16(new byte[2] { byteList[25], byteList[26] }) / 50000f * CurrentRange;
|
||||
forAmpereHour = BitConverter.ToUInt32(new byte[4] { byteList[27], byteList[28], byteList[29], byteList[30] }) * CurrentRange / 3600;
|
||||
revAmpereHour = BitConverter.ToUInt32(new byte[4] { byteList[31], byteList[32], byteList[33], byteList[34] }) * CurrentRange / 3600;
|
||||
recordTime = DateTime.Now;
|
||||
|
||||
sql = $"insert into boosterstation_state(StationID,RecordTime,In_Vol,In_Cur,Power,PosEleDegree," +
|
||||
$"RevEleDegree,uVoltage,uCurrent,RelayStatus,HighResVoltage,HighResCurrent,ForAmpereHour," +
|
||||
$"RevAmpereHour) values('{id}','{recordTime}','{voltage}','{current}','{power}','{posEleDegree}'," +
|
||||
$"'{revEleDegree}','{uVoltage}','{uCurrent}','{relayStatus}','{highResVoltage}'," +
|
||||
$"'{highResCurrent}','{forAmpereHour}','{revAmpereHour}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('{id}','{DateTime.Now}','升压站电控通信系统','数据请求','请求升压站状态数据成功');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
string content = "升压站电控通信系统状态数据解析失败," + ex.Message;
|
||||
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','升压站电控通信系统数据解析','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
}
|
||||
|
||||
App.Current.Dispatcher.Invoke(() =>
|
||||
{
|
||||
@ -268,7 +288,7 @@ namespace JiangsuEarthquake.Models
|
||||
{
|
||||
string content = "升压站电控通信系统对从设备单个寄存器置数回复长度校验失败";
|
||||
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','升压站电控通信系统数据接收','{content}');";
|
||||
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','升压站电控通信系统数据校验','{content}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
return;
|
||||
@ -361,6 +381,8 @@ namespace JiangsuEarthquake.Models
|
||||
}
|
||||
else if (byteList[2] == 0x01 && byteList[3] == 0x30) //继电器输出
|
||||
{
|
||||
string record = "";
|
||||
|
||||
//if (id == 1)
|
||||
//{
|
||||
if (Tools.CompareByte(byteList.ToArray(), MainWindow.mainViewModel.RelayActivationRecv))
|
||||
@ -381,6 +403,8 @@ namespace JiangsuEarthquake.Models
|
||||
MainViewModel.baseStationStateModel1.JunBox_Power = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||||
else
|
||||
MainViewModel.baseStationStateModel2.JunBox_Power = (ImageSource)Application.Current.FindResource("DeviceOn");
|
||||
|
||||
record = "打开海底基站电源成功";
|
||||
});
|
||||
}
|
||||
else if (Tools.CompareByte(byteList.ToArray(), MainWindow.mainViewModel.RelayShutdownRecv))
|
||||
@ -401,6 +425,8 @@ namespace JiangsuEarthquake.Models
|
||||
MainViewModel.baseStationStateModel1.JunBox_Power = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||||
else
|
||||
MainViewModel.baseStationStateModel2.JunBox_Power = (ImageSource)Application.Current.FindResource("DeviceOff");
|
||||
|
||||
record = "关闭海底基站电源成功";
|
||||
});
|
||||
}
|
||||
else
|
||||
@ -416,8 +442,14 @@ namespace JiangsuEarthquake.Models
|
||||
MainWindow.mainViewModel.BaseStationMsg = "继电开启/关闭失败!";
|
||||
MainWindow.mainViewModel.timerBaseStationMsgHidden.Start();
|
||||
MainWindow.mainViewModel.BaseStationMsgForeground = new SolidColorBrush(Colors.Red);
|
||||
|
||||
record = "打开/关闭海底基站电源成功";
|
||||
});
|
||||
}
|
||||
|
||||
sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('{id}','{DateTime.Now}','升压站电控通信系统','系统控制','{record}');";
|
||||
DBHelper.ExecuteNonQuery(sql, 1);
|
||||
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user