新增功能:

1 完成地震通信协议解析代码的编写;
2 编写地震数据更新到前端页面的功能;
This commit is contained in:
春风过客 2024-04-29 18:07:40 +08:00
parent 2238ae31e7
commit 130657757b
8 changed files with 785 additions and 652 deletions

View File

@ -2,21 +2,37 @@
"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\\views\\systemcontrolview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\views\\systemcontrolview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
},
{
"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\\common\\tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\common\\tools.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\\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}"
},
{
"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\\earthquakesensormodel.cs||{8B382828-6202-11D1-8870-0000F87579D2}",
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\models\\earthquakesensormodel.cs||{8B382828-6202-11D1-8870-0000F87579D2}"
},
{
"AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\models\\earthquakeparasetmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\models\\earthquakeparasetmodel.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\\dataaccess\\dbhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\dataaccess\\dbhelper.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\\common\\tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\common\\tools.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\\clientmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@ -26,10 +42,6 @@
"AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
},
{
"AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\views\\systemcontrolview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\views\\systemcontrolview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
},
{
"AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
@ -46,11 +58,11 @@
"DocumentGroups": [
{
"DockedWidth": 196,
"SelectedChildIndex": 2,
"SelectedChildIndex": 4,
"Children": [
{
"$type": "Document",
"DocumentIndex": 5,
"DocumentIndex": 9,
"Title": "App.config",
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\App.config",
"RelativeDocumentMoniker": "JiangsuEarthquake\\App.config",
@ -63,32 +75,84 @@
},
{
"$type": "Document",
"DocumentIndex": 3,
"DocumentIndex": 4,
"Title": "EarthquakeSensorModel.cs",
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\EarthquakeSensorModel.cs",
"RelativeDocumentMoniker": "JiangsuEarthquake\\Models\\EarthquakeSensorModel.cs",
"ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\EarthquakeSensorModel.cs",
"RelativeToolTip": "JiangsuEarthquake\\Models\\EarthquakeSensorModel.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAABoAAAASAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-04-29T06:08:55.808Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "EarthQuakeParaSetModel.cs",
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\EarthQuakeParaSetModel.cs",
"RelativeDocumentMoniker": "JiangsuEarthquake\\Models\\EarthQuakeParaSetModel.cs",
"ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\EarthQuakeParaSetModel.cs",
"RelativeToolTip": "JiangsuEarthquake\\Models\\EarthQuakeParaSetModel.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAIsAAAA9AAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-04-29T06:08:26.656Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "DBHelper.cs",
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\DataAccess\\DBHelper.cs",
"RelativeDocumentMoniker": "JiangsuEarthquake\\DataAccess\\DBHelper.cs",
"ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\DataAccess\\DBHelper.cs",
"RelativeToolTip": "JiangsuEarthquake\\DataAccess\\DBHelper.cs",
"ViewState": "AQIAAPgAAAAAAAAAAAAUwAQBAAALAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-04-29T06:07:00.492Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "SystemControlView.xaml",
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\SystemControlView.xaml",
"RelativeDocumentMoniker": "JiangsuEarthquake\\Views\\SystemControlView.xaml",
"ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\SystemControlView.xaml",
"RelativeToolTip": "JiangsuEarthquake\\Views\\SystemControlView.xaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2024-04-29T05:22:55.064Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"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": "AQIAAC4AAAAAAAAAAAAkwEAAAAAtAAAA",
"ViewState": "AQIAAG4AAAAAAAAAAAAAAEAAAAAtAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-04-25T08:11:58.297Z"
"WhenOpened": "2024-04-25T08:11:58.297Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"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": "AQIAAL8AAAAAAAAAAAAqwNMAAAAAAAAA",
"ViewState": "AQIAAHEAAAAAAAAAAAAkwHMBAAAAAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-04-25T08:11:19.51Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"DocumentIndex": 7,
"Title": "Tools.cs",
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Common\\Tools.cs",
"RelativeDocumentMoniker": "JiangsuEarthquake\\Common\\Tools.cs",
@ -101,7 +165,7 @@
},
{
"$type": "Document",
"DocumentIndex": 4,
"DocumentIndex": 8,
"Title": "ClientModel.cs",
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\ClientModel.cs",
"RelativeDocumentMoniker": "JiangsuEarthquake\\Models\\ClientModel.cs",
@ -113,7 +177,7 @@
},
{
"$type": "Document",
"DocumentIndex": 8,
"DocumentIndex": 11,
"Title": "MainWindow.xaml.cs",
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\MainWindow.xaml.cs",
"RelativeDocumentMoniker": "JiangsuEarthquake\\MainWindow.xaml.cs",
@ -125,30 +189,20 @@
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "SystemControlView.xaml",
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\SystemControlView.xaml",
"RelativeDocumentMoniker": "JiangsuEarthquake\\Views\\SystemControlView.xaml",
"ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\SystemControlView.xaml",
"RelativeToolTip": "JiangsuEarthquake\\Views\\SystemControlView.xaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2024-04-15T03:01:04.303Z"
},
{
"$type": "Document",
"DocumentIndex": 2,
"DocumentIndex": 3,
"Title": "MainViewModel.cs",
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\MainViewModel.cs",
"RelativeDocumentMoniker": "JiangsuEarthquake\\ViewModels\\MainViewModel.cs",
"ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\MainViewModel.cs",
"RelativeToolTip": "JiangsuEarthquake\\ViewModels\\MainViewModel.cs",
"ViewState": "AQIAAEMCAAAAAAAAAAAUwJUEAAAIAAAA",
"ViewState": "AQIAACAAAAAAAAAAAAAUwDcAAABCAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-03-12T06:03:03.53Z"
"WhenOpened": "2024-03-12T06:03:03.53Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"DocumentIndex": 10,
"Title": "MainWindow.xaml",
"DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\MainWindow.xaml",
"RelativeDocumentMoniker": "JiangsuEarthquake\\MainWindow.xaml",

View File

@ -17,7 +17,7 @@ namespace JiangsuEarthquake.Models
public int StationNo
{
get { return sationNo; }
set { sationNo = value; this.DoNotify(); DBHelper.InsertData("earthquakeparaset", StationID, RecordTime, "StationNo", StationNo); }
set { sationNo = value; this.DoNotify(); }
}
@ -29,7 +29,7 @@ namespace JiangsuEarthquake.Models
public string StationName
{
get { return stationName; }
set { stationName = value; this.DoNotify(); DBHelper.InsertData("earthquakeparaset", StationID, RecordTime, "StationName", StationName); }
set { stationName = value; this.DoNotify(); }
}
@ -41,7 +41,7 @@ namespace JiangsuEarthquake.Models
public string StationShortName
{
get { return stationShortName; }
set { stationShortName = value; this.DoNotify(); DBHelper.InsertData("earthquakeparaset", StationID, RecordTime, "StationShortName", StationShortName); }
set { stationShortName = value; this.DoNotify(); }
}
@ -53,7 +53,7 @@ namespace JiangsuEarthquake.Models
public short EarthQuakeCount
{
get { return earthQuakeCount; }
set { earthQuakeCount = value; this.DoNotify(); DBHelper.InsertData("earthquakeparaset", StationID, RecordTime, "EarthQuakeCount", EarthQuakeCount); }
set { earthQuakeCount = value; this.DoNotify(); }
}
@ -65,7 +65,7 @@ namespace JiangsuEarthquake.Models
public short ChannelsNo
{
get { return channelsNo; }
set { channelsNo = value; this.DoNotify(); DBHelper.InsertData("earthquakeparaset", StationID, RecordTime, "ChannelsNo", ChannelsNo); }
set { channelsNo = value; this.DoNotify(); }
}
@ -77,7 +77,7 @@ namespace JiangsuEarthquake.Models
public int WD
{
get { return wd; }
set { wd = value; this.DoNotify(); DBHelper.InsertData("earthquakeparaset", StationID, RecordTime, "WD", WD); }
set { wd = value; this.DoNotify(); }
}
@ -89,7 +89,7 @@ namespace JiangsuEarthquake.Models
public int JD
{
get { return jd; }
set { jd = value; this.DoNotify(); DBHelper.InsertData("earthquakeparaset", StationID, RecordTime, "JD", JD); }
set { jd = value; this.DoNotify(); }
}
@ -101,7 +101,7 @@ namespace JiangsuEarthquake.Models
public int GaoCheng
{
get { return gaoCheng; }
set { gaoCheng = value; this.DoNotify(); DBHelper.InsertData("earthquakeparaset", StationID, RecordTime, "GaoCheng", GaoCheng); }
set { gaoCheng = value; this.DoNotify(); }
}
@ -113,7 +113,7 @@ namespace JiangsuEarthquake.Models
public string StartTime
{
get { return startTime; }
set { startTime = value; this.DoNotify(); DBHelper.InsertData("earthquakeparaset", StationID, RecordTime, "StartTime", StartTime); }
set { startTime = value; this.DoNotify(); }
}
@ -125,7 +125,7 @@ namespace JiangsuEarthquake.Models
public string Station_Id
{
get { return stationid; }
set { stationid = value; this.DoNotify(); DBHelper.InsertData("earthquakeparaset", StationID, RecordTime, "Station_Id", Station_Id); }
set { stationid = value; this.DoNotify(); }
}
@ -137,7 +137,7 @@ namespace JiangsuEarthquake.Models
public string Software_Version
{
get { return software_version; }
set { software_version = value; this.DoNotify(); DBHelper.InsertData("earthquakeparaset", StationID, RecordTime, "Software_Version", Software_Version); }
set { software_version = value; this.DoNotify(); }
}
}
}

View File

@ -9,96 +9,6 @@ namespace JiangsuEarthquake.Models
{
public class EarthquakeSensorModel : ParameterModel
{
public int[] Exi_Index { get; set; } = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 };
public object this[int index]
{
get { return null; }
set
{
float Set_Value = Convert.ToSingle(value);
//if (Set_Value < 0) //如果出现为负数的异常数据 则直接将该数据变为0
// Set_Value = 0;
switch (index)
{
case 1:
this.Out_Vol = Set_Value;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "Out_Vol", Out_Vol);
break;
case 2:
this.Backup_Vol = Set_Value;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "Backup_Vol", Backup_Vol);
break;
case 3:
this.Pre = Set_Value;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "Pre", Pre);
break;
case 4:
this.Tem = Set_Value;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "Tem", Tem);
break;
case 5:
this.Sei_Tilt_Angle = Set_Value;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "Sei_Tilt_Angle", Sei_Tilt_Angle);
break;
case 6:
this.OBS_Tilt_Angle = Set_Value;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "OBS_Tilt_Angle", OBS_Tilt_Angle);
break;
case 7:
this.Species_Dif = Set_Value;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "Species_Dif", Species_Dif);
break;
case 8:
this.Frequency_Dif = Set_Value;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "Frequency_Dif", Frequency_Dif);
break;
case 9:
this.CF_Total_Cap = Set_Value / 1024;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "CF_Total_Cap", CF_Total_Cap);
break;
case 10:
this.CF_Usable_Cap = Set_Value / 1024;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "CF_Usable_Cap", CF_Usable_Cap);
break;
case 11:
this.SD_Total_Cap1 = Set_Value / 1024;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "SD_Total_Cap1", SD_Total_Cap1);
break;
case 12:
this.SD_Usable_Cap1 = Set_Value / 1024;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "SD_Usable_Cap1", SD_Usable_Cap1);
break;
case 13:
this.SD_Total_Cap2 = Set_Value / 1024;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "SD_Total_Cap2", SD_Total_Cap2);
break;
case 14:
this.SD_Usable_Cap2 = Set_Value / 1024;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "SD_Usable_Cap2", SD_Usable_Cap2);
break;
case 15:
this.Sei_U_Point = Set_Value;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "Sei_U_Point", Sei_U_Point);
break;
case 16:
this.Sei_V_Point = Set_Value;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "Sei_V_Point", Sei_V_Point);
break;
case 17:
this.Sei_W_Point = Set_Value;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "Sei_W_Point", Sei_W_Point);
break;
case 18:
this.North_Angle = Set_Value;
DBHelper.InsertData("earthquakestate", StationID, RecordTime, "North_Angle", North_Angle);
break;
default:
break;
}
}
}
private float out_Vol;
/// <summary>

View File

@ -1,6 +1,7 @@
using HandyControl.Controls;
using JiangsuEarthquake.Common;
using JiangsuEarthquake.DataAccess;
using JiangsuEarthquake.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
@ -77,7 +78,7 @@ namespace JiangsuEarthquake.Models
string User = "Admin";
byte[] userByte = System.Text.Encoding.ASCII.GetBytes(User);
byte[] userByteArray = new byte[16];
if(userByte.Length != 16)
if (userByte.Length != 16)
{
for (int i = 0; i < 16; i++)
{
@ -120,7 +121,7 @@ namespace JiangsuEarthquake.Models
checkCode = Tools.CRCCalc(checkByte.ToArray());
dataSend.AddRange(checkCode);
if(id == 1)
if (id == 1)
{
MainWindow.mainViewModel.clientModelDZY1.SendMessage(dataSend.ToArray());
}
@ -171,10 +172,10 @@ namespace JiangsuEarthquake.Models
string stationNameAbb = Encoding.UTF8.GetString(stationNameAbbData.ToArray());
//地震计总数
int seisNum = BitConverter.ToInt16(new byte[] { dataRecv[45], dataRecv[44] }, 0);
short seisNum = BitConverter.ToInt16(new byte[] { dataRecv[45], dataRecv[44] }, 0);
//总通道数
int passNum = BitConverter.ToInt16(new byte[] { dataRecv[47], dataRecv[46] }, 0);
short passNum = BitConverter.ToInt16(new byte[] { dataRecv[47], dataRecv[46] }, 0);
//纬度
int latitude = BitConverter.ToInt16(new byte[] { dataRecv[51], dataRecv[50], dataRecv[49], dataRecv[48] }, 0);
@ -182,7 +183,7 @@ namespace JiangsuEarthquake.Models
//经度
int longitude = BitConverter.ToInt16(new byte[] { dataRecv[55], dataRecv[54], dataRecv[53], dataRecv[52] }, 0);
//经度
//高程
int elevation = BitConverter.ToInt16(new byte[] { dataRecv[59], dataRecv[58], dataRecv[57], dataRecv[56] }, 0);
//起用日期
@ -199,6 +200,42 @@ namespace JiangsuEarthquake.Models
for (int i = 96; i < 128; i++)
softVersionList.Add(dataRecv[i]);
string softVersion = Encoding.UTF8.GetString(softVersionList.ToArray());
//数据存储
sql = $"insert into earthquakeoriginaldata(StationID,RecordTime,StationNo,StationName," +
$"StationShortName,EarthQuakeCount,ChannelsNo,WD,JD,GaoCheng,StartTime,Station_Id," +
$"Software_Version) values('{id}','{DateTime.Now}','{stationNum}','{stationName}','{stationNameAbb}','{seisNum}','{passNum}','{latitude}','{longitude}','{elevation}','{enablingDate}','{tetworkLogo}','{softVersion}');";
DBHelper.ExecuteNonQuery(sql, 1);
//通知到前端
if (id == 1)
{
MainViewModel.earthQuakeParaSetModel1.StationID = stationNum;
MainViewModel.earthQuakeParaSetModel1.StationName = stationName;
MainViewModel.earthQuakeParaSetModel1.StationShortName = stationNameAbb;
MainViewModel.earthQuakeParaSetModel1.EarthQuakeCount = seisNum;
MainViewModel.earthQuakeParaSetModel1.ChannelsNo = passNum;
MainViewModel.earthQuakeParaSetModel1.WD = latitude;
MainViewModel.earthQuakeParaSetModel1.JD = longitude;
MainViewModel.earthQuakeParaSetModel1.GaoCheng = elevation;
MainViewModel.earthQuakeParaSetModel1.StartTime = enablingDate;
MainViewModel.earthQuakeParaSetModel1.Station_Id = tetworkLogo;
MainViewModel.earthQuakeParaSetModel1.Software_Version = softVersion;
}
else
{
MainViewModel.earthQuakeParaSetModel2.StationID = stationNum;
MainViewModel.earthQuakeParaSetModel2.StationName = stationName;
MainViewModel.earthQuakeParaSetModel2.StationShortName = stationNameAbb;
MainViewModel.earthQuakeParaSetModel2.EarthQuakeCount = seisNum;
MainViewModel.earthQuakeParaSetModel2.ChannelsNo = passNum;
MainViewModel.earthQuakeParaSetModel2.WD = latitude;
MainViewModel.earthQuakeParaSetModel2.JD = longitude;
MainViewModel.earthQuakeParaSetModel2.GaoCheng = elevation;
MainViewModel.earthQuakeParaSetModel2.StartTime = enablingDate;
MainViewModel.earthQuakeParaSetModel2.Station_Id = tetworkLogo;
MainViewModel.earthQuakeParaSetModel2.Software_Version = softVersion;
}
}
else if (Tools.CompareByte(cmdRecv, new byte[] { 0xC0, 0x50 })) //启动地震计调零
{
@ -209,25 +246,141 @@ namespace JiangsuEarthquake.Models
}
else if (Tools.CompareByte(cmdRecv, new byte[] { 0xC0, 0x51 })) //停止地震计调零
{
if (dataRecv.Count != 2)
return;
int seisNum = BitConverter.ToInt16(new byte[] { dataRecv[1], dataRecv[0] }, 0);
}
else if (Tools.CompareByte(cmdRecv, new byte[] { 0xC0, 0x66 })) //运行状态信息
{
if (dataRecv.Count != 56)
return;
//外部供电电压
int supplyVoltage = BitConverter.ToInt16(new byte[] { dataRecv[1], dataRecv[0] }, 0);
//后备电池电压
int batteryVoltage = BitConverter.ToInt16(new byte[] { dataRecv[3], dataRecv[2] }, 0);
//压力
int pressure = BitConverter.ToInt16(new byte[] { dataRecv[5], dataRecv[4] }, 0);
//温度
int temperature = BitConverter.ToInt16(new byte[] { dataRecv[7], dataRecv[6] }, 0);
//地震计倾斜角度
int tiltAngleSeis = BitConverter.ToInt16(new byte[] { dataRecv[9], dataRecv[8] }, 0);
//OBS 倾斜角度
int tiltAngleOBS = BitConverter.ToInt16(new byte[] { dataRecv[11], dataRecv[10] }, 0);
//钟差
int clockDeviation = BitConverter.ToInt16(new byte[] { dataRecv[13], dataRecv[12] }, 0);
//频差
int freDifference = BitConverter.ToInt16(new byte[] { dataRecv[15], dataRecv[14] }, 0);
//CF 卡总空间
int totalSpaceCF = BitConverter.ToInt16(new byte[] { dataRecv[19], dataRecv[18], dataRecv[17], dataRecv[16] }, 0);
//CF 卡可用空间
int canUseSpaceCF = BitConverter.ToInt16(new byte[] { dataRecv[23], dataRecv[22], dataRecv[21], dataRecv[20] }, 0);
//SD1 卡总空间
int totalSpaceSD1 = BitConverter.ToInt16(new byte[] { dataRecv[27], dataRecv[26], dataRecv[25], dataRecv[24] }, 0);
//SD1 卡可用空间
int canUseSpaceSD1 = BitConverter.ToInt16(new byte[] { dataRecv[31], dataRecv[30], dataRecv[29], dataRecv[28] }, 0);
//SD2 卡总空间
int totalSpaceSD2 = BitConverter.ToInt16(new byte[] { dataRecv[35], dataRecv[34], dataRecv[33], dataRecv[32] }, 0);
//SD2 卡可用空间
int canUseSpaceSD2 = BitConverter.ToInt16(new byte[] { dataRecv[39], dataRecv[38], dataRecv[37], dataRecv[36] }, 0);
//地震计 U 零点
int zeroPointU = BitConverter.ToInt16(new byte[] { dataRecv[43], dataRecv[42], dataRecv[41], dataRecv[40] }, 0);
//地震计 V 零点
int zeroPointV = BitConverter.ToInt16(new byte[] { dataRecv[47], dataRecv[46], dataRecv[45], dataRecv[44] }, 0);
//地震计 W 零点
int zeroPointW = BitConverter.ToInt16(new byte[] { dataRecv[51], dataRecv[50], dataRecv[49], dataRecv[48] }, 0);
//寻北角度
int northSeekingAngle = BitConverter.ToInt16(new byte[] { dataRecv[55], dataRecv[54], dataRecv[53], dataRecv[52] }, 0);
//数据存储
sql = $"insert into earthquakestate(StationID,RecordTime,Out_Vol,Backup_Vol,Pre,Tem," +
$"Sei_Tilt_Angle,OBS_Tilt_Angle,Species_Dif,Frequency_Dif,CF_Total_Cap," +
$"CF_Usable_Cap,SD_Total_Cap1,SD_Usable_Cap1,SD_Total_Cap2,SD_Usable_Cap2," +
$"Sei_U_Point,Sei_V_Point,Sei_W_Point,North_Angle) values('{id}','{DateTime.Now}','{supplyVoltage}','{batteryVoltage}','{pressure}'," +
$"'{temperature}','{tiltAngleSeis}','{tiltAngleOBS}','{clockDeviation}'," +
$"'{freDifference}','{totalSpaceCF}','{canUseSpaceCF}','{totalSpaceSD1}'," +
$"'{canUseSpaceSD1}','{totalSpaceSD2}','{canUseSpaceSD2}','{zeroPointU}'," +
$"'{zeroPointV}','{zeroPointW}','{northSeekingAngle}');";
DBHelper.ExecuteNonQuery(sql, 1);
//通知到前端
if (id == 1)
{
MainViewModel.earthquakeSensorModel1.Out_Vol = supplyVoltage;
MainViewModel.earthquakeSensorModel1.Backup_Vol = batteryVoltage;
MainViewModel.earthquakeSensorModel1.Pre = pressure;
MainViewModel.earthquakeSensorModel1.Tem = temperature;
MainViewModel.earthquakeSensorModel1.Sei_Tilt_Angle = tiltAngleSeis;
MainViewModel.earthquakeSensorModel1.OBS_Tilt_Angle = tiltAngleOBS;
MainViewModel.earthquakeSensorModel1.Species_Dif = clockDeviation;
MainViewModel.earthquakeSensorModel1.Frequency_Dif = freDifference;
MainViewModel.earthquakeSensorModel1.CF_Total_Cap = totalSpaceCF;
MainViewModel.earthquakeSensorModel1.CF_Usable_Cap = canUseSpaceCF;
MainViewModel.earthquakeSensorModel1.SD_Total_Cap1 = totalSpaceSD1;
MainViewModel.earthquakeSensorModel1.SD_Usable_Cap1 = canUseSpaceSD1;
MainViewModel.earthquakeSensorModel1.SD_Total_Cap2 = totalSpaceSD2;
MainViewModel.earthquakeSensorModel1.SD_Usable_Cap2 = canUseSpaceSD2;
MainViewModel.earthquakeSensorModel1.Sei_U_Point = zeroPointU;
MainViewModel.earthquakeSensorModel1.Sei_V_Point = zeroPointV;
MainViewModel.earthquakeSensorModel1.Sei_W_Point = zeroPointW;
MainViewModel.earthquakeSensorModel1.North_Angle = northSeekingAngle;
}
else
{
MainViewModel.earthquakeSensorModel2.Out_Vol = supplyVoltage;
MainViewModel.earthquakeSensorModel2.Backup_Vol = batteryVoltage;
MainViewModel.earthquakeSensorModel2.Pre = pressure;
MainViewModel.earthquakeSensorModel2.Tem = temperature;
MainViewModel.earthquakeSensorModel2.Sei_Tilt_Angle = tiltAngleSeis;
MainViewModel.earthquakeSensorModel2.OBS_Tilt_Angle = tiltAngleOBS;
MainViewModel.earthquakeSensorModel2.Species_Dif = clockDeviation;
MainViewModel.earthquakeSensorModel2.Frequency_Dif = freDifference;
MainViewModel.earthquakeSensorModel2.CF_Total_Cap = totalSpaceCF;
MainViewModel.earthquakeSensorModel2.CF_Usable_Cap = canUseSpaceCF;
MainViewModel.earthquakeSensorModel2.SD_Total_Cap1 = totalSpaceSD1;
MainViewModel.earthquakeSensorModel2.SD_Usable_Cap1 = canUseSpaceSD1;
MainViewModel.earthquakeSensorModel2.SD_Total_Cap2 = totalSpaceSD2;
MainViewModel.earthquakeSensorModel2.SD_Usable_Cap2 = canUseSpaceSD2;
MainViewModel.earthquakeSensorModel2.Sei_U_Point = zeroPointU;
MainViewModel.earthquakeSensorModel2.Sei_V_Point = zeroPointV;
MainViewModel.earthquakeSensorModel2.Sei_W_Point = zeroPointW;
MainViewModel.earthquakeSensorModel2.North_Angle = northSeekingAngle;
}
}
else if (Tools.CompareByte(cmdRecv, new byte[] { 0xC0, 0x90 })) //启动地震计调平
{
if (dataRecv.Count != 2)
return;
int seisNum = BitConverter.ToInt16(new byte[] { dataRecv[1], dataRecv[0] }, 0);
}
else if (Tools.CompareByte(cmdRecv, new byte[] { 0xC0, 0x91 })) //停止地震计调平
{
if (dataRecv.Count != 2)
return;
int seisNum = BitConverter.ToInt16(new byte[] { dataRecv[1], dataRecv[0] }, 0);
}
}
}
}
}

View File

@ -863,10 +863,11 @@
<Grid.RowDefinitions>
<RowDefinition Height="0.2*"/>
<RowDefinition/>
<RowDefinition Height="0.5*"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Row="1">
<Grid Grid.Row="1" VerticalAlignment="Bottom" Margin="0,0,0,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="5*"/>
<!--<ColumnDefinition Width="1*"/>-->
@ -879,8 +880,8 @@
<!--<Border Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"
Width="20" Height="20" CornerRadius="10"
Background="{Binding}"/>-->
<Button Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"
Width="90" Height="32" Click="SeisZeroSetStartButton_Click" Background="Transparent"
<Button Grid.Column="1" Name="SeisZeroSetStartButton" HorizontalAlignment="Center" VerticalAlignment="Center"
Width="90" Height="32" Background="Transparent"
BorderThickness="1" BorderBrush="White" Style="{StaticResource ButtonStyle}"
Command="">
<Button.Resources>
@ -933,7 +934,15 @@
</Button>
</Grid>
<Grid Grid.Row="2">
<TextBlock Grid.Row="2" Name="OpenSetMsg" Text="{Binding OpenSetMsg}" FontSize="14"
Foreground="{Binding OpenSetMsgForeground}"
VerticalAlignment="Center" Margin="280,0,0,0"/>
<TextBlock Grid.Row="2" Name="CloseSetMsg" Text="{Binding CloseSetMsg}" FontSize="14"
Foreground="{Binding CloseSetMsgForeground}"
VerticalAlignment="Center" Margin="410,0,0,0"/>
<Grid Grid.Row="3" VerticalAlignment="Top" Margin="0,10,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="5*"/>
<!--<ColumnDefinition Width="1*"/>-->