1 编写Socket通信部分代码;

2 研究上下位机通信协议,开始编写协议解析代码;
This commit is contained in:
XuMin 2024-08-28 18:25:35 +08:00
parent b0907252a9
commit 90a2b5bf84
49 changed files with 988 additions and 375 deletions

View File

@ -0,0 +1,218 @@
{
"Version": 1,
"WorkspaceRootPath": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\models\\lowercomputermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\models\\lowercomputermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\viewmodels\\mainviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\viewmodels\\mainviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\models\\junctionboxstatusmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\models\\junctionboxstatusmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\viewmodels\\junctionboxstatusdataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\viewmodels\\junctionboxstatusdataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\models\\servermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\models\\servermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\models\\shorebasestationmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\models\\shorebasestationmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\models\\clientmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\models\\clientmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\common\\sockethelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\common\\sockethelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\common\\csvdownload.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\common\\csvdownload.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\views\\junctionboxstatusdataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\views\\junctionboxstatusdataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 163,
"SelectedChildIndex": 2,
"Children": [
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "App.config",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\App.config",
"RelativeDocumentMoniker": "FujianEarthquake\\App.config",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\App.config",
"RelativeToolTip": "FujianEarthquake\\App.config",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAzAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|",
"WhenOpened": "2024-07-30T08:37:35.106Z",
"IsPinned": true,
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "JunctionBoxStatusModel.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\JunctionBoxStatusModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Models\\JunctionBoxStatusModel.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\JunctionBoxStatusModel.cs",
"RelativeToolTip": "FujianEarthquake\\Models\\JunctionBoxStatusModel.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAnAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-28T08:52:04.391Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "LowerComputerModel.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\LowerComputerModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Models\\LowerComputerModel.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\LowerComputerModel.cs",
"RelativeToolTip": "FujianEarthquake\\Models\\LowerComputerModel.cs",
"ViewState": "AgIAAMcCAAAAAAAAAAAswMoCAAAlAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-28T01:02:35.79Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "ServerModel.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ServerModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Models\\ServerModel.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ServerModel.cs",
"RelativeToolTip": "FujianEarthquake\\Models\\ServerModel.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAAFAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-28T00:56:08.768Z"
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "ShoreBaseStationModel.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ShoreBaseStationModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Models\\ShoreBaseStationModel.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ShoreBaseStationModel.cs",
"RelativeToolTip": "FujianEarthquake\\Models\\ShoreBaseStationModel.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAAASAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-28T01:02:03.876Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "SocketHelper.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Common\\SocketHelper.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Common\\SocketHelper.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Common\\SocketHelper.cs",
"RelativeToolTip": "FujianEarthquake\\Common\\SocketHelper.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAaAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-28T00:35:34.181Z"
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "JunctionBoxStatusDataViewModel.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\ViewModels\\JunctionBoxStatusDataViewModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\ViewModels\\JunctionBoxStatusDataViewModel.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\ViewModels\\JunctionBoxStatusDataViewModel.cs",
"RelativeToolTip": "FujianEarthquake\\ViewModels\\JunctionBoxStatusDataViewModel.cs",
"ViewState": "AgIAAMAAAAAAAAAAAAAAAOIAAAAIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-27T09:16:50.251Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "MainViewModel.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\ViewModels\\MainViewModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\ViewModels\\MainViewModel.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\ViewModels\\MainViewModel.cs",
"RelativeToolTip": "FujianEarthquake\\ViewModels\\MainViewModel.cs",
"ViewState": "AgIAAA0AAAAAAAAAAAAAACYAAABDAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-07-29T02:48:21.6Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "ClientModel.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ClientModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Models\\ClientModel.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ClientModel.cs",
"RelativeToolTip": "FujianEarthquake\\Models\\ClientModel.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAA8AAAAlAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-28T00:55:33.645Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "JunctionBoxStatusDataView.xaml",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Views\\JunctionBoxStatusDataView.xaml",
"RelativeDocumentMoniker": "FujianEarthquake\\Views\\JunctionBoxStatusDataView.xaml",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Views\\JunctionBoxStatusDataView.xaml",
"RelativeToolTip": "FujianEarthquake\\Views\\JunctionBoxStatusDataView.xaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2024-08-27T09:09:37.344Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "CSVDownload.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Common\\CSVDownload.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Common\\CSVDownload.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Common\\CSVDownload.cs",
"RelativeToolTip": "FujianEarthquake\\Common\\CSVDownload.cs",
"ViewState": "AQIAAC0AAAAAAAAAAAAswDMBAAAIAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-22T02:52:28.362Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "MainWindow.xaml",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\MainWindow.xaml",
"RelativeDocumentMoniker": "FujianEarthquake\\MainWindow.xaml",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\MainWindow.xaml",
"RelativeToolTip": "FujianEarthquake\\MainWindow.xaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2024-08-22T00:51:43.018Z",
"EditorCaption": ""
}
]
}
]
}
]
}

View File

@ -1,50 +1,54 @@
{
"Version": 1,
"WorkspaceRootPath": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\",
"WorkspaceRootPath": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|f:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\models\\lowercomputermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\models\\lowercomputermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\models\\lowercomputermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|f:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\models\\servermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\models\\servermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\viewmodels\\mainviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\viewmodels\\mainviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|f:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\models\\shorebasestationmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\models\\shorebasestationmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\models\\junctionboxstatusmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\models\\junctionboxstatusmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|f:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\models\\clientmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\models\\clientmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|f:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\common\\sockethelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\common\\sockethelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|f:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\viewmodels\\junctionboxstatusdataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\viewmodels\\junctionboxstatusdataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\viewmodels\\junctionboxstatusdataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\fujianearthquake\\common\\csvdownload.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\common\\csvdownload.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\fujianearthquake\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\fujianearthquake\\views\\junctionboxstatusdataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\views\\junctionboxstatusdataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\fujianearthquake\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\fujianearthquake\\viewmodels\\mainviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\viewmodels\\mainviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\models\\servermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\models\\servermodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\models\\shorebasestationmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\models\\shorebasestationmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\models\\clientmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\models\\clientmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\common\\sockethelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\common\\sockethelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\common\\csvdownload.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\common\\csvdownload.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|e:\\code\\fjeq\\20240801_fjeq_upperpc\\fujianearthquake_seabed\\fujianearthquake\\views\\junctionboxstatusdataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}",
"RelativeMoniker": "D:0:0:{BC950963-02DC-4704-A532-8D46CE8933E5}|FujianEarthquake\\FujianEarthquake.csproj|solutionrelative:fujianearthquake\\views\\junctionboxstatusdataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}"
}
],
"DocumentGroupContainers": [
@ -54,67 +58,67 @@
"DocumentGroups": [
{
"DockedWidth": 163,
"SelectedChildIndex": 1,
"SelectedChildIndex": 2,
"Children": [
{
"$type": "Document",
"DocumentIndex": 9,
"DocumentIndex": 5,
"Title": "App.config",
"DocumentMoniker": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\App.config",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\App.config",
"RelativeDocumentMoniker": "FujianEarthquake\\App.config",
"ToolTip": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\App.config",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\App.config",
"RelativeToolTip": "FujianEarthquake\\App.config",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAA4AAAAQAAAA",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAzAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|",
"WhenOpened": "2024-07-30T08:37:35.106Z",
"IsPinned": true
"IsPinned": true,
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "JunctionBoxStatusModel.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\JunctionBoxStatusModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Models\\JunctionBoxStatusModel.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\JunctionBoxStatusModel.cs",
"RelativeToolTip": "FujianEarthquake\\Models\\JunctionBoxStatusModel.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAnAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-28T08:52:04.391Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "LowerComputerModel.cs",
"DocumentMoniker": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\LowerComputerModel.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\LowerComputerModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Models\\LowerComputerModel.cs",
"ToolTip": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\LowerComputerModel.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\LowerComputerModel.cs",
"RelativeToolTip": "FujianEarthquake\\Models\\LowerComputerModel.cs",
"ViewState": "AQIAABwAAAAAAAAAAAAkwDQAAAA4AAAA",
"ViewState": "AgIAAMcCAAAAAAAAAAAswMoCAAAlAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-28T01:02:35.79Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "ClientModel.cs",
"DocumentMoniker": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ClientModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Models\\ClientModel.cs",
"ToolTip": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ClientModel.cs",
"RelativeToolTip": "FujianEarthquake\\Models\\ClientModel.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAA8AAAAlAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-28T00:55:33.645Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"DocumentIndex": 6,
"Title": "ServerModel.cs",
"DocumentMoniker": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ServerModel.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ServerModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Models\\ServerModel.cs",
"ToolTip": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ServerModel.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ServerModel.cs",
"RelativeToolTip": "FujianEarthquake\\Models\\ServerModel.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAAFAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-28T00:56:08.768Z",
"EditorCaption": ""
"WhenOpened": "2024-08-28T00:56:08.768Z"
},
{
"$type": "Document",
"DocumentIndex": 2,
"DocumentIndex": 7,
"Title": "ShoreBaseStationModel.cs",
"DocumentMoniker": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ShoreBaseStationModel.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ShoreBaseStationModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Models\\ShoreBaseStationModel.cs",
"ToolTip": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ShoreBaseStationModel.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ShoreBaseStationModel.cs",
"RelativeToolTip": "FujianEarthquake\\Models\\ShoreBaseStationModel.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAAASAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
@ -123,48 +127,72 @@
},
{
"$type": "Document",
"DocumentIndex": 4,
"DocumentIndex": 9,
"Title": "SocketHelper.cs",
"DocumentMoniker": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Common\\SocketHelper.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Common\\SocketHelper.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Common\\SocketHelper.cs",
"ToolTip": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Common\\SocketHelper.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Common\\SocketHelper.cs",
"RelativeToolTip": "FujianEarthquake\\Common\\SocketHelper.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAaAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-28T00:35:34.181Z",
"EditorCaption": ""
"WhenOpened": "2024-08-28T00:35:34.181Z"
},
{
"$type": "Document",
"DocumentIndex": 5,
"DocumentIndex": 3,
"Title": "JunctionBoxStatusDataViewModel.cs",
"DocumentMoniker": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\ViewModels\\JunctionBoxStatusDataViewModel.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\ViewModels\\JunctionBoxStatusDataViewModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\ViewModels\\JunctionBoxStatusDataViewModel.cs",
"ToolTip": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\ViewModels\\JunctionBoxStatusDataViewModel.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\ViewModels\\JunctionBoxStatusDataViewModel.cs",
"RelativeToolTip": "FujianEarthquake\\ViewModels\\JunctionBoxStatusDataViewModel.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAA8AAAAaAAAA",
"ViewState": "AgIAAMAAAAAAAAAAAAAAAOIAAAAIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-27T09:16:50.251Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "MainViewModel.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\ViewModels\\MainViewModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\ViewModels\\MainViewModel.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\ViewModels\\MainViewModel.cs",
"RelativeToolTip": "FujianEarthquake\\ViewModels\\MainViewModel.cs",
"ViewState": "AgIAAA0AAAAAAAAAAAAAACYAAABDAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-07-29T02:48:21.6Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "ClientModel.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ClientModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Models\\ClientModel.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Models\\ClientModel.cs",
"RelativeToolTip": "FujianEarthquake\\Models\\ClientModel.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAA8AAAAlAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-08-28T00:55:33.645Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "JunctionBoxStatusDataView.xaml",
"DocumentMoniker": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Views\\JunctionBoxStatusDataView.xaml",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Views\\JunctionBoxStatusDataView.xaml",
"RelativeDocumentMoniker": "FujianEarthquake\\Views\\JunctionBoxStatusDataView.xaml",
"ToolTip": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Views\\JunctionBoxStatusDataView.xaml",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Views\\JunctionBoxStatusDataView.xaml",
"RelativeToolTip": "FujianEarthquake\\Views\\JunctionBoxStatusDataView.xaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2024-08-27T09:09:37.344Z"
},
{
"$type": "Document",
"DocumentIndex": 6,
"DocumentIndex": 10,
"Title": "CSVDownload.cs",
"DocumentMoniker": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Common\\CSVDownload.cs",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Common\\CSVDownload.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\Common\\CSVDownload.cs",
"ToolTip": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Common\\CSVDownload.cs",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\Common\\CSVDownload.cs",
"RelativeToolTip": "FujianEarthquake\\Common\\CSVDownload.cs",
"ViewState": "AQIAAC0AAAAAAAAAAAAswDMBAAAIAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
@ -172,26 +200,15 @@
},
{
"$type": "Document",
"DocumentIndex": 7,
"DocumentIndex": 4,
"Title": "MainWindow.xaml",
"DocumentMoniker": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\MainWindow.xaml",
"DocumentMoniker": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\MainWindow.xaml",
"RelativeDocumentMoniker": "FujianEarthquake\\MainWindow.xaml",
"ToolTip": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\MainWindow.xaml",
"ToolTip": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\MainWindow.xaml",
"RelativeToolTip": "FujianEarthquake\\MainWindow.xaml",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
"WhenOpened": "2024-08-22T00:51:43.018Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "MainViewModel.cs",
"DocumentMoniker": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\ViewModels\\MainViewModel.cs",
"RelativeDocumentMoniker": "FujianEarthquake\\ViewModels\\MainViewModel.cs",
"ToolTip": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\ViewModels\\MainViewModel.cs",
"RelativeToolTip": "FujianEarthquake\\ViewModels\\MainViewModel.cs",
"ViewState": "AQIAABMAAAAAAAAAAAAqwJcEAAAAAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-07-29T02:48:21.6Z"
"WhenOpened": "2024-08-22T00:51:43.018Z",
"EditorCaption": ""
}
]
}

View File

@ -6,7 +6,33 @@
</connectionStrings>
<appSettings>
<!--下位机服务器连接信息1-->
<!--下位机IP1-->
<add key="XWJ_Service_IP1" value="192.168.1.12"/>
<!--下位机作为服务器的端口号1-->
<add key="XWJ_Service_Port1" value="9527"/>
<add key="XWJ_Service_IPEndPoint1" value="192.168.1.12:0"/>
<!--下位机服务器连接信息2-->
<!--下位机IP2-->
<add key="XWJ_Service_IP2" value="192.168.1.12"/>
<!--下位机作为服务器的端口号2-->
<add key="XWJ_Service_Port2" value="9528"/>
<add key="XWJ_Service_IPEndPoint2" value="192.168.1.12:0"/>
<!--下位机服务器连接信息3-->
<!--下位机IP3-->
<add key="XWJ_Service_IP3" value="192.168.1.12"/>
<!--下位机作为服务器的端口号3-->
<add key="XWJ_Service_Port3" value="9528"/>
<add key="XWJ_Service_IPEndPoint3" value="192.168.1.12:0"/>
<!--岸基站连接信息1-->
<add key="PortName1" value="COM11"/>
<add key="BaudRate1" value="9600"/>
<add key="DeviceAddress1" value="01"/>
<add key="SYZ_Client_IP1" value="10.20.102.229"/>
<add key="SYZ_Client_Port1" value="55000"/>
<!--文件下载-->
<add key="LogRecordFolder" value="F:\\Code\\FJEQ\\Test\\"/>

View File

@ -0,0 +1,142 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FujianEarthquake.Common
{
public class DataLimited
{
/// <summary>
/// 岸基站电压下限
/// </summary>
public static int VolCurCollectorVoltageMin = 200;
/// <summary>
/// 岸基站电压上限
/// </summary>
public static int VolCurCollectorVoltageMax = 240;
/// <summary>
/// 岸基站电流下限
/// </summary>
public static int VolCurCollectorCurrentMin = 0;
/// <summary>
/// 岸基站电流上限
/// </summary>
public static int VolCurCollectorCurrentMax = 5;
/// <summary>
/// 下位机温度下限
/// </summary>
public static int LowerComputerTemperatureMin = 0;
/// <summary>
/// 下位机温度上限
/// </summary>
public static int LowerComputerTemperatureMax = 50;
/// <summary>
/// 下位机湿度下限
/// </summary>
public static int LowerComputerHumidityMin = 0;
/// <summary>
/// 下位机湿度上限
/// </summary>
public static int LowerComputerHumidityMax = 60;
/// <summary>
/// 下位机角度X下限
/// </summary>
public static int LowerComputerGestureXMin = -20;
/// <summary>
/// 下位机角度X上限
/// </summary>
public static int LowerComputerGestureXMax = 20;
/// <summary>
/// 下位机角度Y下限
/// </summary>
public static int LowerComputerGestureYMin = -20;
/// <summary>
/// 下位机角度Y上限
/// </summary>
public static int LowerComputerGestureYMax = 20;
/// <summary>
/// 下位机角度Z下限
/// </summary>
public static int LowerComputerGestureZMin = -20;
/// <summary>
/// 下位机角度Z上限
/// </summary>
public static int LowerComputerGestureZMax = 20;
/// <summary>
/// 地震仪电压下限
/// </summary>
public static int SeismographVoltageMin = 10;
/// <summary>
/// 地震仪电压上限
/// </summary>
public static int SeismographVoltageMax = 14;
/// <summary>
/// 地震仪电流下限
/// </summary>
public static int SeismographCurrentMin = 0;
/// <summary>
/// 地震仪电流上限
/// </summary>
public static int SeismographCurrentMax = 5;
/// <summary>
/// 摄像电压下限
/// </summary>
public static int ElectromagnetismVoltageMin = 10;
/// <summary>
/// 摄像电压上限
/// </summary>
public static int ElectromagnetismVoltageMax = 12;
/// <summary>
/// 摄像电流下限
/// </summary>
public static int ElectromagnetismCurrentMin = 0;
/// <summary>
/// 摄像电流上限
/// </summary>
public static int ElectromagnetismCurrentMax = 5;
}
}

View File

@ -0,0 +1,83 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
namespace FujianEarthquake.Models
{
public class JunctionBoxStatusModel : ParameterModel
{
private Brush JunBox_ProBoard_Seis1_state;
/// <summary>
/// 接驳盒保护板地震仪1状态反馈
/// </summary>
public Brush JunBox_ProBoard_Seis1_State
{
get { return JunBox_ProBoard_Seis1_state; }
set { JunBox_ProBoard_Seis1_state = value; this.DoNotify(); }
}
private Brush JunBox_ProBoard_Seis2_state;
/// <summary>
/// 接驳盒保护板地震仪2状态反馈
/// </summary>
public Brush JunBox_ProBoard_Seis2_State
{
get { return JunBox_ProBoard_Seis2_state; }
set { JunBox_ProBoard_Seis2_state = value; this.DoNotify(); }
}
private Brush JunBox_ProBoard_Video_state;
/// <summary>
/// 接驳盒保护板摄像状态反馈
/// </summary>
public Brush JunBox_ProBoard_Video_State
{
get { return JunBox_ProBoard_Video_state; }
set { JunBox_ProBoard_Video_state = value; this.DoNotify(); }
}
private ImageSource JunBox_seis1;
/// <summary>
/// 地震仪1供电
/// </summary>
public ImageSource JunBox_Seis1
{
get { return JunBox_seis1; }
set { JunBox_seis1 = value; this.DoNotify(); }
}
private ImageSource JunBox_seis2;
/// <summary>
/// 地震仪2供电
/// </summary>
public ImageSource JunBox_Seis2
{
get { return JunBox_seis2; }
set { JunBox_seis2 = value; this.DoNotify(); }
}
private ImageSource JunBox_video;
/// <summary>
/// 摄像供电
/// </summary>
public ImageSource JunBox_Video
{
get { return JunBox_video; }
set { JunBox_video = value; this.DoNotify(); }
}
}
}

View File

@ -44,7 +44,7 @@ namespace FujianEarthquake.Models
return;
//原始数据存储
string sql = $"insert into juncbox_originaldata(StationID,RecordTime,OriginalData) values('{id}','{DateTime.Now}','{BitConverter.ToString(byteList.ToArray())}');";
string sql = $"insert into underjuncbox_originaldata(StationID,RecordTime,OriginalData) values('{id}','{DateTime.Now}','{BitConverter.ToString(byteList.ToArray())}');";
DBHelper.ExecuteNonQuery(sql, 1);
//校验和校验
@ -57,7 +57,7 @@ namespace FujianEarthquake.Models
if (checkCodeCRC != byteList[byteList.Count - 2])
{
string content = "接驳盒数据CRC校验失败";
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
try
@ -73,11 +73,17 @@ namespace FujianEarthquake.Models
if (MainWindow.mainViewModel.serverModel2 != null && MainWindow.mainViewModel.serverModel2.IsOpened)
MainWindow.mainViewModel.serverModel2.SendMessage(ServerReplyData(byteList[5], byteList[6], 0x00).ToArray());
}
else if(id==3)
{
if (MainWindow.mainViewModel.serverModel3 != null && MainWindow.mainViewModel.serverModel3.IsOpened)
MainWindow.mainViewModel.serverModel3.SendMessage(ServerReplyData(byteList[5], byteList[6], 0x00).ToArray());
}
}
catch (Exception ex)
{
content = "接驳盒数据CRC校验失败信息发送失败" + ex.Message;
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
}
@ -99,7 +105,7 @@ namespace FujianEarthquake.Models
if (byteLength != 106) //长度校验失败
{
string content = "接驳盒其他传感器集合数据长度校验失败";
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
try
@ -115,11 +121,16 @@ namespace FujianEarthquake.Models
if (MainWindow.mainViewModel.serverModel2 != null && MainWindow.mainViewModel.serverModel2.IsOpened)
MainWindow.mainViewModel.serverModel2.SendMessage(ServerReplyData(byteList[5], byteList[6], 0x00).ToArray());
}
else if (id == 3)
{
if (MainWindow.mainViewModel.serverModel3 != null && MainWindow.mainViewModel.serverModel3.IsOpened)
MainWindow.mainViewModel.serverModel3.SendMessage(ServerReplyData(byteList[5], byteList[6], 0x00).ToArray());
}
}
catch (Exception ex)
{
content = "接驳盒其他传感器集合数据长度校验失败信息发送失败," + ex.Message;
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
}
}
@ -160,50 +171,37 @@ namespace FujianEarthquake.Models
if (MainWindow.mainViewModel.serverModel2 != null && MainWindow.mainViewModel.serverModel2.IsOpened)
MainWindow.mainViewModel.serverModel2.SendMessage(ServerReplyData(byteList[5], byteList[6], 0x01).ToArray());
}
else if (id == 3)
{
if (MainWindow.mainViewModel.serverModel3 != null && MainWindow.mainViewModel.serverModel3.IsOpened)
MainWindow.mainViewModel.serverModel3.SendMessage(ServerReplyData(byteList[5], byteList[6], 0x01).ToArray());
}
}
catch (Exception ex)
{
string content = "接驳盒其他传感器集合数据解析成功信息发送失败," + ex.Message;
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
sql = $"insert into underjuncbox_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}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据解析','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
//try
//{
// //发送失败信息
// if (id == 1)
// {
// if (MainWindow.mainViewModel.serverModel1 != null && MainWindow.mainViewModel.serverModel1.IsOpened)
// MainWindow.mainViewModel.serverModel1.SendMessage(ServerReplyData(byteList[5], byteList[6], 0x00).ToArray());
// }
// else if (id == 2)
// {
// if (MainWindow.mainViewModel.serverModel2 != null && MainWindow.mainViewModel.serverModel2.IsOpened)
// MainWindow.mainViewModel.serverModel2.SendMessage(ServerReplyData(byteList[5], byteList[6], 0x00).ToArray());
// }
//}
//catch
//{
//}
break;
}
//数据存储
sql = $"insert into juncbox_env(StationID,RecordTime,DataTime,Temperature,Humidity,AttitudeX,AttitudeY,AttitudeZ) values('{id}','{DateTime.Now}','{DataTime}','{temperature}','{humidity}','{gestureX}','{gestureY}','{gestureZ}');";
sql = $"insert into underjuncbox_env(StationID,RecordTime,DataTime,Temperature,Humidity,AttitudeX,AttitudeY,AttitudeZ) values('{id}','{DateTime.Now}','{DataTime}','{temperature}','{humidity}','{gestureX}','{gestureY}','{gestureZ}');";
DBHelper.ExecuteNonQuery(sql, 1);
//异常数据存储
if (temperature < TotalMessage.LowerComputerTemperatureMin || temperature > TotalMessage.LowerComputerTemperatureMax || humidity < TotalMessage.LowerComputerHumidityMin || humidity > TotalMessage.LowerComputerHumidityMax || gestureX < TotalMessage.LowerComputerGestureXMin || gestureX > TotalMessage.LowerComputerGestureXMax || gestureY < TotalMessage.LowerComputerGestureYMin || gestureY > TotalMessage.LowerComputerGestureYMax ||
gestureZ < TotalMessage.LowerComputerGestureZMin || gestureZ > TotalMessage.LowerComputerGestureZMax)
if (temperature < DataLimited.LowerComputerTemperatureMin || temperature > DataLimited.LowerComputerTemperatureMax || humidity < DataLimited.LowerComputerHumidityMin || humidity > DataLimited.LowerComputerHumidityMax || gestureX < DataLimited.LowerComputerGestureXMin || gestureX > DataLimited.LowerComputerGestureXMax || gestureY < DataLimited.LowerComputerGestureYMin || gestureY > DataLimited.LowerComputerGestureYMax ||
gestureZ < DataLimited.LowerComputerGestureZMin || gestureZ > DataLimited.LowerComputerGestureZMax)
{
sql = $"insert into juncbox_env_abnormaldata(StationID,RecordTime,DataTime,Temperature,Humidity,AttitudeX,AttitudeY,AttitudeZ) values('{id}','{DateTime.Now}','{DataTime}','{temperature}','{humidity}','{gestureX}','{gestureY}','{gestureZ}');";
sql = $"insert into underjuncbox_env_abnormaldata(StationID,RecordTime,DataTime,Temperature,Humidity,AttitudeX,AttitudeY,AttitudeZ) values('{id}','{DateTime.Now}','{DataTime}','{temperature}','{humidity}','{gestureX}','{gestureY}','{gestureZ}');";
DBHelper.ExecuteNonQuery(sql, 1);
}
@ -225,9 +223,9 @@ namespace FujianEarthquake.Models
MainViewModel.realTimeDataViewModel1.BaseStationGesture.RollAngle = gestureX;
MainViewModel.realTimeDataViewModel1.BaseStationGesture.PitchAngle = gestureY;
MainViewModel.realTimeDataViewModel1.BaseStationGesture.HeadingAngle = gestureZ;
MainViewModel.baseStationModelViewModel1.BaseStationGesture.RollAngle = MainViewModel.realTimeDataViewModel1.BaseStationGesture.RollAngle;
MainViewModel.baseStationModelViewModel1.BaseStationGesture.PitchAngle = MainViewModel.realTimeDataViewModel1.BaseStationGesture.PitchAngle;
MainViewModel.baseStationModelViewModel1.BaseStationGesture.HeadingAngle = MainViewModel.realTimeDataViewModel1.BaseStationGesture.HeadingAngle;
//MainViewModel.baseStationModelViewModel1.BaseStationGesture.RollAngle = MainViewModel.realTimeDataViewModel1.BaseStationGesture.RollAngle;
//MainViewModel.baseStationModelViewModel1.BaseStationGesture.PitchAngle = MainViewModel.realTimeDataViewModel1.BaseStationGesture.PitchAngle;
//MainViewModel.baseStationModelViewModel1.BaseStationGesture.HeadingAngle = MainViewModel.realTimeDataViewModel1.BaseStationGesture.HeadingAngle;
float CalibrationHG = Convert.ToSingle(Tools.GetAppSetting("CalibrationHG"));
float CalibrationFY = Convert.ToSingle(Tools.GetAppSetting("CalibrationFY"));
float CalibrationPH = Convert.ToSingle(Tools.GetAppSetting("CalibrationPH"));
@ -253,7 +251,7 @@ namespace FujianEarthquake.Models
else
MainViewModel.realTimeDataViewModel1.AngleBackgroundZ = new SolidColorBrush(Colors.Red);
sql = String.Format("select * from juncbox_env where StationID = {0} ORDER by id desc limit {1}", 1, ChartPointNum);
sql = String.Format("select * from underjuncbox_env where StationID = {0} ORDER by id desc limit {1}", 1, ChartPointNum);
MySqlDataReader dataReader = DBHelper.ExecuteReader(sql, 1);
while (dataReader.Read())
{
@ -297,7 +295,7 @@ namespace FujianEarthquake.Models
},
};
}
else
else if(id == 2)
{
MainViewModel.realTimeDataViewModel2.BaseStationStatus[1].Value = temperature.ToString();
MainViewModel.realTimeDataViewModel2.BaseStationStatus[4].Value = humidity.ToString();
@ -307,9 +305,9 @@ namespace FujianEarthquake.Models
MainViewModel.realTimeDataViewModel2.BaseStationGesture.RollAngle = gestureX;
MainViewModel.realTimeDataViewModel2.BaseStationGesture.PitchAngle = gestureY;
MainViewModel.realTimeDataViewModel2.BaseStationGesture.HeadingAngle = gestureZ;
MainViewModel.baseStationModelViewModel2.BaseStationGesture.RollAngle = MainViewModel.realTimeDataViewModel2.BaseStationGesture.RollAngle;
MainViewModel.baseStationModelViewModel2.BaseStationGesture.PitchAngle = MainViewModel.realTimeDataViewModel2.BaseStationGesture.PitchAngle;
MainViewModel.baseStationModelViewModel2.BaseStationGesture.HeadingAngle = MainViewModel.realTimeDataViewModel2.BaseStationGesture.HeadingAngle;
//MainViewModel.baseStationModelViewModel2.BaseStationGesture.RollAngle = MainViewModel.realTimeDataViewModel2.BaseStationGesture.RollAngle;
//MainViewModel.baseStationModelViewModel2.BaseStationGesture.PitchAngle = MainViewModel.realTimeDataViewModel2.BaseStationGesture.PitchAngle;
//MainViewModel.baseStationModelViewModel2.BaseStationGesture.HeadingAngle = MainViewModel.realTimeDataViewModel2.BaseStationGesture.HeadingAngle;
float CalibrationHG = Convert.ToSingle(Tools.GetAppSetting("CalibrationHG"));
float CalibrationFY = Convert.ToSingle(Tools.GetAppSetting("CalibrationFY"));
float CalibrationPH = Convert.ToSingle(Tools.GetAppSetting("CalibrationPH"));
@ -335,7 +333,7 @@ namespace FujianEarthquake.Models
else
MainViewModel.realTimeDataViewModel2.AngleBackgroundZ = new SolidColorBrush(Colors.Red);
sql = String.Format("select * from juncbox_env where StationID = {0} ORDER by id desc limit {1}", 2, ChartPointNum);
sql = String.Format("select * from underjuncbox_env where StationID = {0} ORDER by id desc limit {1}", 2, ChartPointNum);
MySqlDataReader dataReader = DBHelper.ExecuteReader(sql, 1);
while (dataReader.Read())
{
@ -379,6 +377,88 @@ namespace FujianEarthquake.Models
},
};
}
else
{
MainViewModel.realTimeDataViewModel3.BaseStationStatus[1].Value = temperature.ToString();
MainViewModel.realTimeDataViewModel3.BaseStationStatus[4].Value = humidity.ToString();
MainViewModel.realTimeDataViewModel3.DataTimeConboxTem = DataTime;
MainViewModel.realTimeDataViewModel3.DataTimeConboxHum = DataTime;
MainViewModel.realTimeDataViewModel3.BaseStationGesture.RollAngle = gestureX;
MainViewModel.realTimeDataViewModel3.BaseStationGesture.PitchAngle = gestureY;
MainViewModel.realTimeDataViewModel3.BaseStationGesture.HeadingAngle = gestureZ;
//MainViewModel.baseStationModelViewModel3.BaseStationGesture.RollAngle = MainViewModel.realTimeDataViewModel3.BaseStationGesture.RollAngle;
//MainViewModel.baseStationModelViewModel3.BaseStationGesture.PitchAngle = MainViewModel.realTimeDataViewModel3.BaseStationGesture.PitchAngle;
//MainViewModel.baseStationModelViewModel3.BaseStationGesture.HeadingAngle = MainViewModel.realTimeDataViewModel3.BaseStationGesture.HeadingAngle;
float CalibrationHG = Convert.ToSingle(Tools.GetAppSetting("CalibrationHG"));
float CalibrationFY = Convert.ToSingle(Tools.GetAppSetting("CalibrationFY"));
float CalibrationPH = Convert.ToSingle(Tools.GetAppSetting("CalibrationPH"));
MainViewModel.realTimeDataViewModel3.BaseStationGesture.PY_HG = MainViewModel.realTimeDataViewModel3.BaseStationGesture.RollAngle - CalibrationHG;
MainViewModel.realTimeDataViewModel3.BaseStationGesture.PY_FY = MainViewModel.realTimeDataViewModel3.BaseStationGesture.PitchAngle - CalibrationFY;
MainViewModel.realTimeDataViewModel3.BaseStationGesture.PY_PH = MainViewModel.realTimeDataViewModel3.BaseStationGesture.HeadingAngle - CalibrationPH;
if (Math.Abs(MainViewModel.realTimeDataViewModel3.BaseStationGesture.PY_HG) <= 0.75)
MainViewModel.realTimeDataViewModel3.AngleBackgroundX = new SolidColorBrush(Colors.Green);
else if (Math.Abs(MainViewModel.realTimeDataViewModel3.BaseStationGesture.PY_HG) > 0.75 && Math.Abs(MainViewModel.realTimeDataViewModel3.BaseStationGesture.PY_HG) <= 1)
MainViewModel.realTimeDataViewModel3.AngleBackgroundX = new SolidColorBrush(Colors.Yellow);
else
MainViewModel.realTimeDataViewModel3.AngleBackgroundX = new SolidColorBrush(Colors.Red);
if (Math.Abs(MainViewModel.realTimeDataViewModel3.BaseStationGesture.PY_FY) <= 0.75)
MainViewModel.realTimeDataViewModel3.AngleBackgroundY = new SolidColorBrush(Colors.Green);
else if (Math.Abs(MainViewModel.realTimeDataViewModel3.BaseStationGesture.PY_FY) > 0.75 && Math.Abs(MainViewModel.realTimeDataViewModel3.BaseStationGesture.PY_FY) <= 1)
MainViewModel.realTimeDataViewModel3.AngleBackgroundY = new SolidColorBrush(Colors.Yellow);
else
MainViewModel.realTimeDataViewModel3.AngleBackgroundY = new SolidColorBrush(Colors.Red);
if (Math.Abs(MainViewModel.realTimeDataViewModel3.BaseStationGesture.PY_PH) <= 0.75)
MainViewModel.realTimeDataViewModel3.AngleBackgroundZ = new SolidColorBrush(Colors.Green);
else if (Math.Abs(MainViewModel.realTimeDataViewModel3.BaseStationGesture.PY_PH) > 0.75 && Math.Abs(MainViewModel.realTimeDataViewModel3.BaseStationGesture.PY_PH) <= 1)
MainViewModel.realTimeDataViewModel3.AngleBackgroundZ = new SolidColorBrush(Colors.Yellow);
else
MainViewModel.realTimeDataViewModel3.AngleBackgroundZ = new SolidColorBrush(Colors.Red);
sql = String.Format("select * from underjuncbox_env where StationID = {0} ORDER by id desc limit {1}", 3, ChartPointNum);
MySqlDataReader 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();
MainViewModel.realTimeDataViewModel3.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)
},
};
MainViewModel.realTimeDataViewModel3.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)
},
};
}
});
#endregion
@ -407,28 +487,9 @@ namespace FujianEarthquake.Models
if (byteLength != 9) //长度校验失败
{
string content = "接驳盒远程控制回复长度校验失败";
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
//try
//{
// //发送失败信息
// if (id == 1)
// {
// if (MainWindow.mainViewModel.serverModel1 != null && MainWindow.mainViewModel.serverModel1.IsOpened)
// MainWindow.mainViewModel.serverModel1.SendMessage(ServerReplyData(byteList[5], byteList[6], 0x00).ToArray());
// }
// else if (id == 2)
// {
// if (MainWindow.mainViewModel.serverModel2 != null && MainWindow.mainViewModel.serverModel2.IsOpened)
// MainWindow.mainViewModel.serverModel2.SendMessage(ServerReplyData(byteList[5], byteList[6], 0x00).ToArray());
// }
//}
//catch
//{
//}
break;
}
@ -446,18 +507,20 @@ namespace FujianEarthquake.Models
App.Current.Dispatcher.Invoke(() =>
{
if (id == 1)
MainViewModel.baseStationStateModel1.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.junctionBoxStatusModel1.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOff");
else if (id == 2)
MainViewModel.junctionBoxStatusModel2.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOff");
else
MainViewModel.baseStationStateModel2.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.junctionBoxStatusModel3.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOff");
MainWindow.mainViewModel.MainSeisPowerOffIsReceived = true;
MainWindow.mainViewModel.MainSeisPowerOpenBtnIsEnabled = true;
MainWindow.mainViewModel.MainSeisPowerCloseBtnIsEnabled = true;
MainWindow.mainViewModel.timerMainSeisPowerOff.Stop();
MainWindow.mainViewModel.MainSeisMsgVisibility = Visibility.Visible;
MainWindow.mainViewModel.MainSeisMsg = "主地震仪电源关闭成功!";
MainWindow.mainViewModel.timerMainSeisMsgHidden.Start();
MainWindow.mainViewModel.MainSeisMsgForeground = new SolidColorBrush(Colors.Green);
//MainWindow.mainViewModel.MainSeisPowerOffIsReceived = true;
//MainWindow.mainViewModel.MainSeisPowerOpenBtnIsEnabled = true;
//MainWindow.mainViewModel.MainSeisPowerCloseBtnIsEnabled = true;
//MainWindow.mainViewModel.timerMainSeisPowerOff.Stop();
//MainWindow.mainViewModel.MainSeisMsgVisibility = Visibility.Visible;
//MainWindow.mainViewModel.MainSeisMsg = "主地震仪电源关闭成功!";
//MainWindow.mainViewModel.timerMainSeisMsgHidden.Start();
//MainWindow.mainViewModel.MainSeisMsgForeground = new SolidColorBrush(Colors.Green);
});
state = "Off";
@ -467,18 +530,20 @@ namespace FujianEarthquake.Models
App.Current.Dispatcher.Invoke(() =>
{
if (id == 1)
MainViewModel.baseStationStateModel1.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOn");
MainViewModel.junctionBoxStatusModel1.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOn");
else if (id == 2)
MainViewModel.junctionBoxStatusModel2.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOn");
else
MainViewModel.baseStationStateModel2.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOn");
MainViewModel.junctionBoxStatusModel3.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOn");
MainWindow.mainViewModel.MainSeisPowerOnIsReceived = true;
MainWindow.mainViewModel.MainSeisPowerOpenBtnIsEnabled = true;
MainWindow.mainViewModel.MainSeisPowerCloseBtnIsEnabled = true;
MainWindow.mainViewModel.timerMainSeisPowerOff.Stop();
MainWindow.mainViewModel.MainSeisMsgVisibility = Visibility.Visible;
MainWindow.mainViewModel.MainSeisMsg = "主地震仪电源开启成功!";
MainWindow.mainViewModel.timerMainSeisMsgHidden.Start();
MainWindow.mainViewModel.MainSeisMsgForeground = new SolidColorBrush(Colors.Green);
//MainWindow.mainViewModel.MainSeisPowerOnIsReceived = true;
//MainWindow.mainViewModel.MainSeisPowerOpenBtnIsEnabled = true;
//MainWindow.mainViewModel.MainSeisPowerCloseBtnIsEnabled = true;
//MainWindow.mainViewModel.timerMainSeisPowerOff.Stop();
//MainWindow.mainViewModel.MainSeisMsgVisibility = Visibility.Visible;
//MainWindow.mainViewModel.MainSeisMsg = "主地震仪电源开启成功!";
//MainWindow.mainViewModel.timerMainSeisMsgHidden.Start();
//MainWindow.mainViewModel.MainSeisMsgForeground = new SolidColorBrush(Colors.Green);
});
state = "On";
@ -487,11 +552,11 @@ namespace FujianEarthquake.Models
break;
//存储历史设置
sql = $"insert into switch_info_his(StationID,RecordTime,SwitchName,SwitchState) values('{id}','{DateTime.Now}','MainSeisPower','{state}');";
sql = $"insert into underjuncbox_underjuncbox_switch_info_his(StationID,RecordTime,SwitchName,SwitchState) values('{id}','{DateTime.Now}','MainSeisPower','{state}');";
DBHelper.ExecuteNonQuery(sql, 1);
//存储最新设置
sql = $"update switch_info set SwitchState='{state}',RecordTime='{DateTime.Now}' where SwitchName='MainSeisPower' and StationID={id};";
sql = $"update underjuncbox_switch_info set SwitchState='{state}',RecordTime='{DateTime.Now}' where SwitchName='MainSeisPower' and StationID={id};";
DBHelper.ExecuteNonQuery(sql, 1);
}
@ -506,18 +571,20 @@ namespace FujianEarthquake.Models
App.Current.Dispatcher.Invoke(() =>
{
if (id == 1)
MainViewModel.baseStationStateModel1.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOff");
else
MainViewModel.baseStationStateModel2.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.junctionBoxStatusModel1.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOff");
else if (id == 2)
MainViewModel.junctionBoxStatusModel2.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOff");
else if (id == 3)
MainViewModel.junctionBoxStatusModel3.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOff");
MainWindow.mainViewModel.BackupSeisPowerOffIsReceived = true;
MainWindow.mainViewModel.BackupSeisPowerOpenBtnIsEnabled = true;
MainWindow.mainViewModel.BackupSeisPowerCloseBtnIsEnabled = true;
MainWindow.mainViewModel.timerBackupSeisPowerOff.Stop();
MainWindow.mainViewModel.BackupSeisMsgVisibility = Visibility.Visible;
MainWindow.mainViewModel.BackupSeisMsg = "备地震仪电源关闭成功!";
MainWindow.mainViewModel.timerBackupSeisMsgHidden.Start();
MainWindow.mainViewModel.BackupSeisMsgForeground = new SolidColorBrush(Colors.Green);
//MainWindow.mainViewModel.BackupSeisPowerOffIsReceived = true;
//MainWindow.mainViewModel.BackupSeisPowerOpenBtnIsEnabled = true;
//MainWindow.mainViewModel.BackupSeisPowerCloseBtnIsEnabled = true;
//MainWindow.mainViewModel.timerBackupSeisPowerOff.Stop();
//MainWindow.mainViewModel.BackupSeisMsgVisibility = Visibility.Visible;
//MainWindow.mainViewModel.BackupSeisMsg = "备地震仪电源关闭成功!";
//MainWindow.mainViewModel.timerBackupSeisMsgHidden.Start();
//MainWindow.mainViewModel.BackupSeisMsgForeground = new SolidColorBrush(Colors.Green);
});
state = "Off";
@ -527,18 +594,20 @@ namespace FujianEarthquake.Models
App.Current.Dispatcher.Invoke(() =>
{
if (id == 1)
MainViewModel.baseStationStateModel1.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOn");
else
MainViewModel.baseStationStateModel2.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOn");
MainViewModel.junctionBoxStatusModel1.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOn");
else if (id == 2)
MainViewModel.junctionBoxStatusModel2.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOn");
else if (id == 3)
MainViewModel.junctionBoxStatusModel3.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOn");
MainWindow.mainViewModel.BackupSeisPowerOnIsReceived = true;
MainWindow.mainViewModel.BackupSeisPowerOpenBtnIsEnabled = true;
MainWindow.mainViewModel.BackupSeisPowerCloseBtnIsEnabled = true;
MainWindow.mainViewModel.timerBackupSeisPowerOn.Stop();
MainWindow.mainViewModel.BackupSeisMsgVisibility = Visibility.Visible;
MainWindow.mainViewModel.BackupSeisMsg = "备地震仪电源开启成功!";
MainWindow.mainViewModel.timerBackupSeisMsgHidden.Start();
MainWindow.mainViewModel.BackupSeisMsgForeground = new SolidColorBrush(Colors.Green);
//MainWindow.mainViewModel.BackupSeisPowerOnIsReceived = true;
//MainWindow.mainViewModel.BackupSeisPowerOpenBtnIsEnabled = true;
//MainWindow.mainViewModel.BackupSeisPowerCloseBtnIsEnabled = true;
//MainWindow.mainViewModel.timerBackupSeisPowerOn.Stop();
//MainWindow.mainViewModel.BackupSeisMsgVisibility = Visibility.Visible;
//MainWindow.mainViewModel.BackupSeisMsg = "备地震仪电源开启成功!";
//MainWindow.mainViewModel.timerBackupSeisMsgHidden.Start();
//MainWindow.mainViewModel.BackupSeisMsgForeground = new SolidColorBrush(Colors.Green);
});
state = "On";
@ -547,17 +616,17 @@ namespace FujianEarthquake.Models
break;
//存储历史设置
sql = $"insert into switch_info_his(StationID,RecordTime,SwitchName,SwitchState) values('{id}','{DateTime.Now}','BackupSeisPower','{state}');";
sql = $"insert into underjuncbox_underjuncbox_switch_info_his(StationID,RecordTime,SwitchName,SwitchState) values('{id}','{DateTime.Now}','BackupSeisPower','{state}');";
DBHelper.ExecuteNonQuery(sql, 1);
//存储最新设置
sql = $"update switch_info set SwitchState='{state}',RecordTime='{DateTime.Now}' where SwitchName='BackupSeisPower' and StationID={id};";
sql = $"update underjuncbox_switch_info set SwitchState='{state}',RecordTime='{DateTime.Now}' where SwitchName='BackupSeisPower' and StationID={id};";
DBHelper.ExecuteNonQuery(sql, 1);
}
break;
case 0x0A: //10-接驳盒-电磁(原来是海流计)
case 0x0A: //10-接驳盒-电磁、海流计、摄像
if (ActionType == 0x00)
{
string state;
@ -566,18 +635,20 @@ namespace FujianEarthquake.Models
App.Current.Dispatcher.Invoke(() =>
{
if (id == 1)
return;
else
MainViewModel.baseStationStateModel2.JunBox_Elect = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.junctionBoxStatusModel1.JunBox_Video = (ImageSource)Application.Current.FindResource("DeviceOff");
else if (id == 2)
MainViewModel.junctionBoxStatusModel2.JunBox_Video = (ImageSource)Application.Current.FindResource("DeviceOff");
else if (id == 3)
MainViewModel.junctionBoxStatusModel3.JunBox_Video = (ImageSource)Application.Current.FindResource("DeviceOff");
MainWindow.mainViewModel.ElectPowerOffIsReceived = true;
MainWindow.mainViewModel.ElectPowerOpenBtnIsEnabled = true;
MainWindow.mainViewModel.ElectPowerCloseBtnIsEnabled = true;
MainWindow.mainViewModel.timerElectPowerOff.Stop();
MainWindow.mainViewModel.ElectMsgVisibility = Visibility.Visible;
MainWindow.mainViewModel.ElectMsg = "电磁电源关闭成功!";
MainWindow.mainViewModel.timerElectMsgHidden.Start();
MainWindow.mainViewModel.ElectMsgForeground = new SolidColorBrush(Colors.Green);
//MainWindow.mainViewModel.VideoPowerOffIsReceived = true;
//MainWindow.mainViewModel.VideoPowerOpenBtnIsEnabled = true;
//MainWindow.mainViewModel.VideoPowerCloseBtnIsEnabled = true;
//MainWindow.mainViewModel.timerVideoPowerOff.Stop();
//MainWindow.mainViewModel.VideoMsgVisibility = Visibility.Visible;
//MainWindow.mainViewModel.VideoMsg = "摄像电源关闭成功!";
//MainWindow.mainViewModel.timerVideoMsgHidden.Start();
//MainWindow.mainViewModel.VideoMsgForeground = new SolidColorBrush(Colors.Green);
});
state = "Off";
@ -587,18 +658,20 @@ namespace FujianEarthquake.Models
App.Current.Dispatcher.Invoke(() =>
{
if (id == 1)
return;
else
MainViewModel.baseStationStateModel2.JunBox_Elect = (ImageSource)Application.Current.FindResource("DeviceOn");
MainViewModel.junctionBoxStatusModel1.JunBox_Video = (ImageSource)Application.Current.FindResource("DeviceOn");
else if (id == 2)
MainViewModel.junctionBoxStatusModel2.JunBox_Video = (ImageSource)Application.Current.FindResource("DeviceOn");
else if (id == 3)
MainViewModel.junctionBoxStatusModel3.JunBox_Video = (ImageSource)Application.Current.FindResource("DeviceOn");
MainWindow.mainViewModel.ElectPowerOnIsReceived = true;
MainWindow.mainViewModel.ElectPowerOpenBtnIsEnabled = true;
MainWindow.mainViewModel.ElectPowerCloseBtnIsEnabled = true;
MainWindow.mainViewModel.timerElectPowerOn.Stop();
MainWindow.mainViewModel.ElectMsgVisibility = Visibility.Visible;
MainWindow.mainViewModel.ElectMsg = "电磁电源开启成功!";
MainWindow.mainViewModel.timerElectMsgHidden.Start();
MainWindow.mainViewModel.ElectMsgForeground = new SolidColorBrush(Colors.Green);
//MainWindow.mainViewModel.VideoPowerOnIsReceived = true;
//MainWindow.mainViewModel.VideoPowerOpenBtnIsEnabled = true;
//MainWindow.mainViewModel.VideoPowerCloseBtnIsEnabled = true;
//MainWindow.mainViewModel.timerVideoPowerOn.Stop();
//MainWindow.mainViewModel.VideoMsgVisibility = Visibility.Visible;
//MainWindow.mainViewModel.VideoMsg = "摄像电源开启成功!";
//MainWindow.mainViewModel.timerVideoMsgHidden.Start();
//MainWindow.mainViewModel.VideoMsgForeground = new SolidColorBrush(Colors.Green);
});
state = "On";
@ -607,11 +680,11 @@ namespace FujianEarthquake.Models
break;
//存储历史设置
sql = $"insert into switch_info_his(StationID,RecordTime,SwitchName,SwitchState) values('{id}','{DateTime.Now}','ElectPower','{state}');";
sql = $"insert into underjuncbox_underjuncbox_switch_info_his(StationID,RecordTime,SwitchName,SwitchState) values('{id}','{DateTime.Now}','VideoPower','{state}');";
DBHelper.ExecuteNonQuery(sql, 1);
//存储最新设置
sql = $"update switch_info set SwitchState='{state}',RecordTime='{DateTime.Now}' where SwitchName='ElectPower' and StationID={id};";
sql = $"update underjuncbox_switch_info set SwitchState='{state}',RecordTime='{DateTime.Now}' where SwitchName='VideoPower' and StationID={id};";
DBHelper.ExecuteNonQuery(sql, 1);
}
@ -627,7 +700,7 @@ namespace FujianEarthquake.Models
if (byteLength != 45) //长度校验失败
{
string content = "接驳盒读取状态回复长度校验失败";
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
try
@ -643,11 +716,16 @@ namespace FujianEarthquake.Models
if (MainWindow.mainViewModel.serverModel2 != null && MainWindow.mainViewModel.serverModel2.IsOpened)
MainWindow.mainViewModel.serverModel2.SendMessage(ServerReplyData(byteList[5], byteList[6], 0x00).ToArray());
}
else if (id == 3)
{
if (MainWindow.mainViewModel.serverModel3 != null && MainWindow.mainViewModel.serverModel3.IsOpened)
MainWindow.mainViewModel.serverModel3.SendMessage(ServerReplyData(byteList[5], byteList[6], 0x00).ToArray());
}
}
catch (Exception ex)
{
content = "接驳盒状态数据长度校验失败信息发送失败," + ex.Message;
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
}
@ -658,14 +736,14 @@ namespace FujianEarthquake.Models
//byte JunBox_ProBoard_OptSwitch_State = 0; //接驳盒-保护板-光电交换机-状态反馈
byte JunBox_ProBoard_Seis1_State = 0; //接驳盒-保护板-地震仪1-状态反馈
byte JunBox_ProBoard_Seis2_State = 0; //接驳盒-保护板-地震仪2-状态反馈
byte JunBox_ProBoard_Elect_State = 0; //接驳盒-保护板-电磁-状态反馈
byte JunBox_ProBoard_Video_State = 0; //接驳盒-保护板-摄像-状态反馈
//byte Seis_Power_State = 0; //地震仪-反馈电源状态
//byte Seis_Power_SupplyMethod = 0; //地震仪-反馈供电方式
byte JunBox_PowCarrier = 0; //接驳盒-电力载波
byte JunBox_OptSwitch = 0; //接驳盒-光电交换机
byte JunBox_Seis1 = 0; //接驳盒-地震仪1
byte JunBox_Seis2 = 0; //接驳盒-地震仪2
byte JunBox_Elect = 0; //接驳盒-电磁
byte JunBox_Video = 0; //接驳盒-摄像
//byte Hatch_State = 0;
byte Leakage = 0;
@ -673,7 +751,7 @@ namespace FujianEarthquake.Models
float Seis2_Voltage; //24V输出电压4-蓄电池电压->地震仪2电压
float Seis1_Current; //地震仪1电流
float Seis2_Current; //地震仪2电流
float Elect_Current; //海流计-电流
float Video_Current; //海流计-电流
float Seis1_Voltage; //电力载波-电流->地震仪1电压
float Out_Voltage12_Reserved1; //12V输出电压1-预留
float Out_Voltage12_Reserved2; //12V输出电压2-预留
@ -692,7 +770,7 @@ namespace FujianEarthquake.Models
if (state1[28] == 0x01)
JunBox_ProBoard_Seis2_State = 1;
if (state1[27] == 0x01)
JunBox_ProBoard_Elect_State = 1;
JunBox_ProBoard_Video_State = 1;
//if (Tools.IsBitSet(state1, 27))
// Seis_Power_State = 1;
//if (Tools.IsBitSet(state1, 26))
@ -706,7 +784,7 @@ namespace FujianEarthquake.Models
if (state1[21] == 0x01)
JunBox_Seis2 = 1;
if (state1[20] == 0x01)
JunBox_Elect = 1;
JunBox_Video = 1;
byte[] state2 = new byte[] { byteList[11], byteList[12], byteList[13], byteList[14] };
state2 = Tools.ConvertHexToBinary(state2);
@ -721,8 +799,8 @@ namespace FujianEarthquake.Models
Seis1_Current = (5 * (2.5f - Seis1_Current)) < 0 ? 0 : (5 * (2.5f - Seis1_Current));
Seis2_Current = BitConverter.ToSingle(new byte[] { byteList[26], byteList[25], byteList[24], byteList[23] }, 0);
Seis2_Current = (5 * (2.5f - Seis2_Current)) < 0 ? 0 : (5 * (2.5f - Seis2_Current));
Elect_Current = BitConverter.ToSingle(new byte[] { byteList[30], byteList[29], byteList[28], byteList[27] }, 0);
Elect_Current = (5 * (2.5f - Elect_Current)) < 0 ? 0 : (5 * (2.5f - Elect_Current));
Video_Current = BitConverter.ToSingle(new byte[] { byteList[30], byteList[29], byteList[28], byteList[27] }, 0);
Video_Current = (5 * (2.5f - Video_Current)) < 0 ? 0 : (5 * (2.5f - Video_Current));
Seis1_Voltage = BitConverter.ToSingle(new byte[] { byteList[34], byteList[33], byteList[32], byteList[31] }, 0);
Seis1_Voltage = (38.4f * (Seis1_Voltage - 2.5f)) < 0 ? 0 : (38.4f * (Seis1_Voltage - 2.5f));
Out_Voltage12_Reserved1 = BitConverter.ToSingle(new byte[] { byteList[38], byteList[37], byteList[36], byteList[35] }, 0);
@ -748,14 +826,14 @@ namespace FujianEarthquake.Models
catch (Exception ex)
{
string content = "接驳盒状态数据解析成功信息发送失败," + ex.Message;
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
sql = $"insert into underjuncbox_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}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据解析','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
//try
@ -776,7 +854,7 @@ namespace FujianEarthquake.Models
//{
// content = "接驳盒状态数据解析失败信息发送失败," + ex.Message;
// sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
// sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
// DBHelper.ExecuteNonQuery(sql, 1);
//}
@ -786,24 +864,24 @@ namespace FujianEarthquake.Models
DateTime recordTime = DateTime.Now;
//数据存储
sql = $"insert into juncbox_state(StationID,RecordTime,JunBox_ProBoard_PowCarrier_State," +
sql = $"insert into underjuncbox_state(StationID,RecordTime,JunBox_ProBoard_PowCarrier_State," +
$"JunBox_ProBoard_OptSwitch_State,JunBox_ProBoard_Seis1_State,JunBox_ProBoard_Seis2_State," +
$"JunBox_ProBoard_Elect_State,Seis_Power_State,Seis_Power_SupplyMethod,JunBox_PowCarrier," +
$"JunBox_OptSwitch,JunBox_Seis1,JunBox_Seis2,JunBox_Elect) values('{id}','{recordTime}','0','0'," +
$"'{JunBox_ProBoard_Seis1_State}','{JunBox_ProBoard_Seis2_State}','{JunBox_ProBoard_Elect_State}'," +
$"'0','0','{JunBox_PowCarrier}','{JunBox_OptSwitch}','{JunBox_Seis1}','{JunBox_Seis2}','{JunBox_Elect}');";
$"JunBox_ProBoard_Video_State,Seis_Power_State,Seis_Power_SupplyMethod,JunBox_PowCarrier," +
$"JunBox_OptSwitch,JunBox_Seis1,JunBox_Seis2,JunBox_Video) values('{id}','{recordTime}','0','0'," +
$"'{JunBox_ProBoard_Seis1_State}','{JunBox_ProBoard_Seis2_State}','{JunBox_ProBoard_Video_State}'," +
$"'0','0','{JunBox_PowCarrier}','{JunBox_OptSwitch}','{JunBox_Seis1}','{JunBox_Seis2}','{JunBox_Video}');";
DBHelper.ExecuteNonQuery(sql, 1);
sql = $"insert into juncbox_cavity_state(StationID,RecordTime,Hatch_State,Leakage) values('{id}','{recordTime}','0','{Leakage}');";
sql = $"insert into underjuncbox_cavity_state(StationID,RecordTime,Hatch_State,Leakage) values('{id}','{recordTime}','0','{Leakage}');";
DBHelper.ExecuteNonQuery(sql, 1);
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}');";
sql = $"insert into underjuncbox_monitor(StationID,RecordTime,Seis2_Voltage,Seis1_Current,Seis2_Current,Video_Current,Seis1_Voltage,Out_Voltage12_Reserved1,Out_Voltage12_Reserved2,Reserved) values('{id}','{recordTime}','{Seis2_Voltage}','{Seis1_Current}','{Seis2_Current}','{Video_Current}','{Seis1_Voltage}','{Out_Voltage12_Reserved1}','{Out_Voltage12_Reserved2}','{Reserved}');";
DBHelper.ExecuteNonQuery(sql, 1);
//异常数据存储
if (Seis1_Voltage < TotalMessage.SeismographVoltageMin || Seis1_Voltage > TotalMessage.SeismographVoltageMax || Seis2_Voltage < TotalMessage.SeismographVoltageMin || Seis2_Voltage > TotalMessage.SeismographVoltageMax || Seis1_Current > TotalMessage.SeismographCurrentMin || Seis1_Current > TotalMessage.SeismographCurrentMax || Seis2_Current > TotalMessage.SeismographCurrentMin || Seis2_Current > TotalMessage.SeismographCurrentMax || Elect_Current < TotalMessage.ElectromagnetismCurrentMin || Elect_Current > TotalMessage.ElectromagnetismCurrentMax)
if (Seis1_Voltage < DataLimited.SeismographVoltageMin || Seis1_Voltage > DataLimited.SeismographVoltageMax || Seis2_Voltage < DataLimited.SeismographVoltageMin || Seis2_Voltage > DataLimited.SeismographVoltageMax || Seis1_Current > DataLimited.SeismographCurrentMin || Seis1_Current > DataLimited.SeismographCurrentMax || Seis2_Current > DataLimited.SeismographCurrentMin || Seis2_Current > DataLimited.SeismographCurrentMax || Video_Current < DataLimited.VideoromagnetismCurrentMin || Video_Current > DataLimited.VideoromagnetismCurrentMax)
{
sql = $"insert into juncbox_monitor_abnormaldata(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}');";
sql = $"insert into underjuncbox_monitor_abnormaldata(StationID,RecordTime,Seis2_Voltage,Seis1_Current,Seis2_Current,Video_Current,Seis1_Voltage,Out_Voltage12_Reserved1,Out_Voltage12_Reserved2,Reserved) values('{id}','{recordTime}','{Seis2_Voltage}','{Seis1_Current}','{Seis2_Current}','{Video_Current}','{Seis1_Voltage}','{Out_Voltage12_Reserved1}','{Out_Voltage12_Reserved2}','{Reserved}');";
DBHelper.ExecuteNonQuery(sql, 1);
}
@ -815,81 +893,81 @@ namespace FujianEarthquake.Models
App.Current.Dispatcher.Invoke(() =>
{
if (JunBox_Seis1 == 1)
MainViewModel.baseStationStateModel1.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOn");
MainViewModel.junctionBoxStatusModel1.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOn");
else
MainViewModel.baseStationStateModel1.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.junctionBoxStatusModel1.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOff");
if (JunBox_Seis2 == 1)
MainViewModel.baseStationStateModel1.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOn");
MainViewModel.junctionBoxStatusModel1.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOn");
else
MainViewModel.baseStationStateModel1.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.junctionBoxStatusModel1.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOff");
if (JunBox_Elect == 1)
MainViewModel.baseStationStateModel1.JunBox_Elect = (ImageSource)Application.Current.FindResource("DeviceOn");
if (JunBox_Video == 1)
MainViewModel.junctionBoxStatusModel1.JunBox_Video = (ImageSource)Application.Current.FindResource("DeviceOn");
else
MainViewModel.baseStationStateModel1.JunBox_Elect = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.junctionBoxStatusModel1.JunBox_Video = (ImageSource)Application.Current.FindResource("DeviceOff");
//if (JunBox_ProBoard_PowCarrier_State == 0)
// MainViewModel.baseStationStateModel1.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Green);
// MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Green);
//else if (JunBox_ProBoard_PowCarrier_State == 1)
// MainViewModel.baseStationStateModel1.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Red);
// MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Red);
//else
// MainViewModel.baseStationStateModel1.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Gray);
// MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Gray);
//if (JunBox_ProBoard_OptSwitch_State == 0)
// MainViewModel.baseStationStateModel1.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Green);
// MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Green);
//else if (JunBox_ProBoard_OptSwitch_State == 1)
// MainViewModel.baseStationStateModel1.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Red);
// MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Red);
//else
// MainViewModel.baseStationStateModel1.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Gray);
// MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Gray);
if (JunBox_ProBoard_Seis1_State == 0)
MainViewModel.baseStationStateModel1.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Green);
MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Green);
else if (JunBox_ProBoard_Seis1_State == 1)
MainViewModel.baseStationStateModel1.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Red);
MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Red);
else
MainViewModel.baseStationStateModel1.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Gray);
MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Gray);
if (JunBox_ProBoard_Seis2_State == 0)
MainViewModel.baseStationStateModel1.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Green);
MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Green);
else if (JunBox_ProBoard_Seis2_State == 1)
MainViewModel.baseStationStateModel1.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Red);
MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Red);
else
MainViewModel.baseStationStateModel1.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Gray);
MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Gray);
if (JunBox_ProBoard_Elect_State == 0)
MainViewModel.baseStationStateModel1.JunBox_ProBoard_Elect_State = new SolidColorBrush(Colors.Green);
else if (JunBox_ProBoard_Elect_State == 1)
MainViewModel.baseStationStateModel1.JunBox_ProBoard_Elect_State = new SolidColorBrush(Colors.Red);
if (JunBox_ProBoard_Video_State == 0)
MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_Video_State = new SolidColorBrush(Colors.Green);
else if (JunBox_ProBoard_Video_State == 1)
MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_Video_State = new SolidColorBrush(Colors.Red);
else
MainViewModel.baseStationStateModel1.JunBox_ProBoard_Elect_State = new SolidColorBrush(Colors.Gray);
MainViewModel.junctionBoxStatusModel1.JunBox_ProBoard_Video_State = new SolidColorBrush(Colors.Gray);
//if (Seis_Power_State == 0)
// MainViewModel.baseStationStateModel1.Seis_Power_State = "备";
// MainViewModel.junctionBoxStatusModel1.Seis_Power_State = "备";
//else if (Seis_Power_State == 1)
// MainViewModel.baseStationStateModel1.Seis_Power_State = "主";
// MainViewModel.junctionBoxStatusModel1.Seis_Power_State = "主";
//else
// MainViewModel.baseStationStateModel1.Seis_Power_State = "/";
// MainViewModel.junctionBoxStatusModel1.Seis_Power_State = "/";
//if (Seis_Power_SupplyMethod == 0)
// MainViewModel.baseStationStateModel1.Seis_Power_SupplyMethod = "电池";
// MainViewModel.junctionBoxStatusModel1.Seis_Power_SupplyMethod = "电池";
//else if (Seis_Power_SupplyMethod == 1)
// MainViewModel.baseStationStateModel1.Seis_Power_SupplyMethod = "外部";
// MainViewModel.junctionBoxStatusModel1.Seis_Power_SupplyMethod = "外部";
//else
// MainViewModel.baseStationStateModel1.Seis_Power_SupplyMethod = "/";
// MainViewModel.junctionBoxStatusModel1.Seis_Power_SupplyMethod = "/";
if (JunBox_PowCarrier == 1)
MainViewModel.baseStationStateModel1.JunBox_PowCarrier = (ImageSource)Application.Current.FindResource("DeviceOn");
MainViewModel.junctionBoxStatusModel1.JunBox_PowCarrier = (ImageSource)Application.Current.FindResource("DeviceOn");
else
MainViewModel.baseStationStateModel1.JunBox_PowCarrier = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.junctionBoxStatusModel1.JunBox_PowCarrier = (ImageSource)Application.Current.FindResource("DeviceOff");
if (JunBox_OptSwitch == 1)
MainViewModel.baseStationStateModel1.JunBox_OptSwitch = (ImageSource)Application.Current.FindResource("DeviceOn");
MainViewModel.junctionBoxStatusModel1.JunBox_OptSwitch = (ImageSource)Application.Current.FindResource("DeviceOn");
else
MainViewModel.baseStationStateModel1.JunBox_OptSwitch = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.junctionBoxStatusModel1.JunBox_OptSwitch = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.realTimeDataViewModel1.BaseStationStatus[0].Value = Seis1_Voltage + " / " + Seis1_Current;
MainViewModel.realTimeDataViewModel1.BaseStationStatus[3].Value = Seis2_Voltage + " / " + Seis2_Current;
@ -916,81 +994,81 @@ namespace FujianEarthquake.Models
App.Current.Dispatcher.Invoke(() =>
{
if (JunBox_Seis1 == 1)
MainViewModel.baseStationStateModel2.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOn");
MainViewModel.junctionBoxStatusModel2.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOn");
else
MainViewModel.baseStationStateModel2.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.junctionBoxStatusModel2.JunBox_Seis1 = (ImageSource)Application.Current.FindResource("DeviceOff");
if (JunBox_Seis2 == 1)
MainViewModel.baseStationStateModel2.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOn");
MainViewModel.junctionBoxStatusModel2.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOn");
else
MainViewModel.baseStationStateModel2.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.junctionBoxStatusModel2.JunBox_Seis2 = (ImageSource)Application.Current.FindResource("DeviceOff");
if (JunBox_Elect == 1)
MainViewModel.baseStationStateModel2.JunBox_Elect = (ImageSource)Application.Current.FindResource("DeviceOn");
if (JunBox_Video == 1)
MainViewModel.junctionBoxStatusModel2.JunBox_Video = (ImageSource)Application.Current.FindResource("DeviceOn");
else
MainViewModel.baseStationStateModel2.JunBox_Elect = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.junctionBoxStatusModel2.JunBox_Video = (ImageSource)Application.Current.FindResource("DeviceOff");
//if (JunBox_ProBoard_PowCarrier_State == 0)
// MainViewModel.baseStationStateModel2.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Green);
// MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Green);
//else if (JunBox_ProBoard_PowCarrier_State == 1)
// MainViewModel.baseStationStateModel2.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Red);
// MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Red);
//else
// MainViewModel.baseStationStateModel2.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Gray);
// MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_PowCarrier_State = new SolidColorBrush(Colors.Gray);
//if (JunBox_ProBoard_OptSwitch_State == 0)
// MainViewModel.baseStationStateModel2.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Green);
// MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Green);
//else if (JunBox_ProBoard_OptSwitch_State == 1)
// MainViewModel.baseStationStateModel2.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Red);
// MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Red);
//else
// MainViewModel.baseStationStateModel2.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Gray);
// MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_OptSwitch_State = new SolidColorBrush(Colors.Gray);
if (JunBox_ProBoard_Seis1_State == 0)
MainViewModel.baseStationStateModel2.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Green);
MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Green);
else if (JunBox_ProBoard_Seis1_State == 1)
MainViewModel.baseStationStateModel2.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Red);
MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Red);
else
MainViewModel.baseStationStateModel2.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Gray);
MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_Seis1_State = new SolidColorBrush(Colors.Gray);
if (JunBox_ProBoard_Seis2_State == 0)
MainViewModel.baseStationStateModel2.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Green);
MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Green);
else if (JunBox_ProBoard_Seis2_State == 1)
MainViewModel.baseStationStateModel2.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Red);
MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Red);
else
MainViewModel.baseStationStateModel2.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Gray);
MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_Seis2_State = new SolidColorBrush(Colors.Gray);
if (JunBox_ProBoard_Elect_State == 0)
MainViewModel.baseStationStateModel2.JunBox_ProBoard_Elect_State = new SolidColorBrush(Colors.Green);
else if (JunBox_ProBoard_Elect_State == 1)
MainViewModel.baseStationStateModel2.JunBox_ProBoard_Elect_State = new SolidColorBrush(Colors.Red);
if (JunBox_ProBoard_Video_State == 0)
MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_Video_State = new SolidColorBrush(Colors.Green);
else if (JunBox_ProBoard_Video_State == 1)
MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_Video_State = new SolidColorBrush(Colors.Red);
else
MainViewModel.baseStationStateModel2.JunBox_ProBoard_Elect_State = new SolidColorBrush(Colors.Gray);
MainViewModel.junctionBoxStatusModel2.JunBox_ProBoard_Video_State = new SolidColorBrush(Colors.Gray);
//if (Seis_Power_State == 0)
// MainViewModel.baseStationStateModel2.Seis_Power_State = "备";
// MainViewModel.junctionBoxStatusModel2.Seis_Power_State = "备";
//else if (Seis_Power_State == 1)
// MainViewModel.baseStationStateModel2.Seis_Power_State = "主";
// MainViewModel.junctionBoxStatusModel2.Seis_Power_State = "主";
//else
// MainViewModel.baseStationStateModel2.Seis_Power_State = "/";
// MainViewModel.junctionBoxStatusModel2.Seis_Power_State = "/";
//if (Seis_Power_SupplyMethod == 0)
// MainViewModel.baseStationStateModel2.Seis_Power_SupplyMethod = "电池";
// MainViewModel.junctionBoxStatusModel2.Seis_Power_SupplyMethod = "电池";
//else if (Seis_Power_SupplyMethod == 1)
// MainViewModel.baseStationStateModel2.Seis_Power_SupplyMethod = "外部";
// MainViewModel.junctionBoxStatusModel2.Seis_Power_SupplyMethod = "外部";
//else
// MainViewModel.baseStationStateModel2.Seis_Power_SupplyMethod = "/";
// MainViewModel.junctionBoxStatusModel2.Seis_Power_SupplyMethod = "/";
if (JunBox_PowCarrier == 1)
MainViewModel.baseStationStateModel2.JunBox_PowCarrier = (ImageSource)Application.Current.FindResource("DeviceOn");
MainViewModel.junctionBoxStatusModel2.JunBox_PowCarrier = (ImageSource)Application.Current.FindResource("DeviceOn");
else
MainViewModel.baseStationStateModel2.JunBox_PowCarrier = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.junctionBoxStatusModel2.JunBox_PowCarrier = (ImageSource)Application.Current.FindResource("DeviceOff");
if (JunBox_OptSwitch == 1)
MainViewModel.baseStationStateModel2.JunBox_OptSwitch = (ImageSource)Application.Current.FindResource("DeviceOn");
MainViewModel.junctionBoxStatusModel2.JunBox_OptSwitch = (ImageSource)Application.Current.FindResource("DeviceOn");
else
MainViewModel.baseStationStateModel2.JunBox_OptSwitch = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.junctionBoxStatusModel2.JunBox_OptSwitch = (ImageSource)Application.Current.FindResource("DeviceOff");
MainViewModel.realTimeDataViewModel2.BaseStationStatus[0].Value = Seis1_Voltage + " / " + Seis1_Current;
MainViewModel.realTimeDataViewModel2.BaseStationStatus[3].Value = Seis2_Voltage + " / " + Seis2_Current;
@ -1026,7 +1104,7 @@ namespace FujianEarthquake.Models
if (byteLength != 8) //长度校验失败
{
string content = "接驳盒回复上位机主动下发的校时信息长度校验失败";
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
try
@ -1046,7 +1124,7 @@ namespace FujianEarthquake.Models
catch (Exception ex)
{
content = "接驳盒回复上位机主动下发的校时信息长度校验失败信息发送失败," + ex.Message;
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
}
}
@ -1070,7 +1148,7 @@ namespace FujianEarthquake.Models
if (byteLength != 8) //长度校验失败
{
string content = "接驳盒请求读取上位机现在时间数据长度校验失败";
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
try
@ -1090,7 +1168,7 @@ namespace FujianEarthquake.Models
catch (Exception ex)
{
content = "接驳盒读取上位机现在时间长度校验失败信息发送失败," + ex.Message;
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
}
}
@ -1129,7 +1207,7 @@ namespace FujianEarthquake.Models
catch (Exception ex)
{
string content = "接驳盒读取上位机现在时间解析成功信息发送失败," + ex.Message;
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
}
}
@ -1142,7 +1220,7 @@ namespace FujianEarthquake.Models
if (byteLength != 18) //长度校验失败
{
string content = "接驳盒告警数据长度校验失败";
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据校验','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
try
@ -1162,7 +1240,7 @@ namespace FujianEarthquake.Models
catch (Exception ex)
{
content = "接驳盒告警数据长度校验失败信息发送失败," + ex.Message;
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
}
}
@ -1224,7 +1302,7 @@ namespace FujianEarthquake.Models
catch (Exception ex)
{
string content = "接驳盒告警数据解析成功信息发送失败," + ex.Message;
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据发送','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
}
@ -1273,7 +1351,7 @@ namespace FujianEarthquake.Models
catch (Exception ex)
{
string content = "接驳盒告警信息解析失败," + ex.Message;
sql = $"insert into alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据解析','{content}');";
sql = $"insert into underjuncbox_alarm_run_info(StationID,RecordTime,ParaName,ParaContent) values('{id}','{DateTime.Now}','接驳盒数据解析','{content}');";
DBHelper.ExecuteNonQuery(sql, 1);
//try
@ -1344,7 +1422,7 @@ namespace FujianEarthquake.Models
else if (byte2 == 0x09)
events = "接驳盒备地震仪电源状态";
else if (byte2 == 0x0A)
events = "接驳盒电磁电源状态";
events = "接驳盒摄像电源状态";
else if (byte2 == 0x0B)
events = "接驳盒光电交换机电源状态";
else if (byte2 == 0x01)
@ -1367,7 +1445,7 @@ namespace FujianEarthquake.Models
else if (byte2 == 0x17)
events = "保护板-备地震仪状态";
else if (byte2 == 0x18)
events = "保护板-电磁状态";
events = "保护板-摄像状态";
}
return events;

View File

@ -136,7 +136,7 @@ namespace FujianEarthquake.Models
DBHelper.ExecuteNonQuery(sql, 1);
//异常数据存储
if (voltage < TotalMessage.VolCurCollectorVoltageMin || voltage > TotalMessage.VolCurCollectorVoltageMax || current < TotalMessage.VolCurCollectorCurrentMin || current > TotalMessage.VolCurCollectorCurrentMax)
if (voltage < DataLimited.VolCurCollectorVoltageMin || voltage > DataLimited.VolCurCollectorVoltageMax || current < DataLimited.VolCurCollectorCurrentMin || current > DataLimited.VolCurCollectorCurrentMax)
{
sql = $"insert into boosterstation_state_abnormaldata(StationID,RecordTime,In_Vol,In_Cur,Power,PosEleDegree," +
$"RevEleDegree,uVoltage,uCurrent,RelayStatus,HighResVoltage,HighResCurrent,ForAmpereHour," +

View File

@ -29,6 +29,16 @@ namespace FujianEarthquake.ViewModels
public static LogRecordViewModel logRecordViewModel1 = new LogRecordViewModel(1);
public static LogRecordViewModel logRecordViewModel2 = new LogRecordViewModel(2);
public static LogRecordViewModel logRecordViewModel3 = new LogRecordViewModel(3);
public static JunctionBoxEnvironDataViewModel junctionBoxEnvironDataViewModel1 = new JunctionBoxEnvironDataViewModel(1);
public static JunctionBoxEnvironDataViewModel junctionBoxEnvironDataViewModel2 = new JunctionBoxEnvironDataViewModel(2);
public static JunctionBoxEnvironDataViewModel junctionBoxEnvironDataViewModel3 = new JunctionBoxEnvironDataViewModel(3);
public static JunctionBoxStatusDataViewModel junctionBoxStatusDataViewModel1 = new JunctionBoxStatusDataViewModel(1);
public static JunctionBoxStatusDataViewModel junctionBoxStatusDataViewModel2 = new JunctionBoxStatusDataViewModel(2);
public static JunctionBoxStatusDataViewModel junctionBoxStatusDataViewModel3 = new JunctionBoxStatusDataViewModel(3);
public static JunctionBoxStatusModel junctionBoxStatusModel1 = new JunctionBoxStatusModel();
public static JunctionBoxStatusModel junctionBoxStatusModel2 = new JunctionBoxStatusModel();
public static JunctionBoxStatusModel junctionBoxStatusModel3 = new JunctionBoxStatusModel();
#endregion
@ -57,6 +67,52 @@ namespace FujianEarthquake.ViewModels
#endregion
#region Communication
//下位机
public CommandBase Socket1DoOpenCommand { get; set; }
public CommandBase Socket2DoOpenCommand { get; set; }
public CommandBase Socket3DoOpenCommand { get; set; }
public ServerModel serverModel1 { get; set; } = new ServerModel();
public ServerModel serverModel2 { get; set; } = new ServerModel();
public ServerModel serverModel3 { 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 static SocketInfo SocketServerInfo3 { get; set; } = new SocketInfo() //PLC3连接信息
{
IP = Tools.GetAppSetting("XWJ_Service_IP3"),
Port = Convert.ToInt32(Tools.GetAppSetting("XWJ_Service_Port3"))
};
//岸基站
public CommandBase Socket1DoConnectCommand { get; set; } //客户端连接/断开操作
public ClientModel clientModel1 { 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"))
};
#endregion
public static DialogViewModel vm;
public MainViewModel()

View File

@ -47,7 +47,7 @@ namespace FujianEarthquake {
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
@ -73,7 +73,7 @@ namespace FujianEarthquake {
/// </summary>
[System.STAThreadAttribute()]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
public static void Main() {
FujianEarthquake.App app = new FujianEarthquake.App();
app.InitializeComponent();

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("FujianEarthquake")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2f88b96460d3005fe08505373d401761261c72e0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b0907252a9f58e4287142a48c088f7876b4abba8")]
[assembly: System.Reflection.AssemblyProductAttribute("FujianEarthquake")]
[assembly: System.Reflection.AssemblyTitleAttribute("FujianEarthquake")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
c2c6f2c2bf1d1fb25965598d12ed57db958be65f6dbd067b22fcaf9f33c08389
0711342a4b36f63c54992b3af3697befe47f9929d9e1b59b08992aa16ca47314

View File

@ -8,6 +8,6 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = FujianEarthquake
build_property.ProjectDir = F:\Code\FJEQ\20240801_FJEQ_upperpc\FujianEarthquake_seabed\FujianEarthquake\
build_property.ProjectDir = E:\Code\FJEQ\20240801_FJEQ_upperpc\FujianEarthquake_seabed\FujianEarthquake\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

View File

@ -14,8 +14,7 @@
"additionalProbingPaths": [
"C:\\Users\\adm\\.dotnet\\store\\|arch|\\|tfm|",
"C:\\Users\\adm\\.nuget\\packages",
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet"
"D:\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configProperties": {
"Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true

View File

@ -4,16 +4,16 @@
winexe
C#
.cs
F:\Code\FJEQ\20240801_FJEQ_upperpc\FujianEarthquake_seabed\FujianEarthquake\obj\Debug\net6.0-windows\
E:\Code\FJEQ\20240801_FJEQ_upperpc\FujianEarthquake_seabed\FujianEarthquake\obj\Debug\net6.0-windows\
FujianEarthquake
none
false
TRACE;DEBUG;NET;NET6_0;NETCOREAPP
F:\Code\FJEQ\20240801_FJEQ_upperpc\FujianEarthquake_seabed\FujianEarthquake\App.xaml
E:\Code\FJEQ\20240801_FJEQ_upperpc\FujianEarthquake_seabed\FujianEarthquake\App.xaml
11-242522424
46-524128657
2171452164236
481926369582
217-260617065
Assets\Styles\DefaultStyle.xaml;MainWindow.xaml;Views\AlarmRecordView.xaml;Views\BaseStationModelView.xaml;Views\JunctionBoxEnvironDataView.xaml;Views\JunctionBoxStatusDataView.xaml;Views\LogRecordView.xaml;Views\RealTimeDataView.xaml;Views\ShoreBaseStationStatusDataView.xaml;Views\SystemControlView.xaml;Views\UserControls\TextDialog.xaml;
False

View File

@ -15,7 +15,7 @@ namespace XamlGeneratedNamespace {
/// GeneratedInternalTypeHelper
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper {

View File

@ -71,7 +71,7 @@ namespace FujianEarthquake {
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
@ -87,7 +87,7 @@ namespace FujianEarthquake {
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]

View File

@ -110,7 +110,7 @@ namespace FujianEarthquake.Views {
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
@ -126,7 +126,7 @@ namespace FujianEarthquake.Views {
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]

View File

@ -47,7 +47,7 @@ namespace FujianEarthquake.Views {
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
@ -63,7 +63,7 @@ namespace FujianEarthquake.Views {
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]

View File

@ -127,7 +127,7 @@ namespace FujianEarthquake.Views {
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
@ -143,7 +143,7 @@ namespace FujianEarthquake.Views {
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]

View File

@ -116,7 +116,7 @@ namespace FujianEarthquake.Views {
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
@ -132,7 +132,7 @@ namespace FujianEarthquake.Views {
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]

View File

@ -118,7 +118,7 @@ namespace FujianEarthquake.Views {
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
@ -134,7 +134,7 @@ namespace FujianEarthquake.Views {
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]

View File

@ -58,7 +58,7 @@ namespace FujianEarthquake.Views {
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
@ -74,7 +74,7 @@ namespace FujianEarthquake.Views {
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]

View File

@ -47,7 +47,7 @@ namespace FujianEarthquake.Views {
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
@ -63,7 +63,7 @@ namespace FujianEarthquake.Views {
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]

View File

@ -47,7 +47,7 @@ namespace FujianEarthquake.Views {
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
@ -63,7 +63,7 @@ namespace FujianEarthquake.Views {
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]

View File

@ -67,7 +67,7 @@ namespace FujianEarthquake.Views.UserControls {
/// InitializeComponent
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
public void InitializeComponent() {
if (_contentLoaded) {
return;
@ -83,7 +83,7 @@ namespace FujianEarthquake.Views.UserControls {
}
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.2.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "8.0.8.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]

View File

@ -1,27 +1,25 @@
{
"format": 1,
"restore": {
"F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\FujianEarthquake.csproj": {}
"E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\FujianEarthquake.csproj": {}
},
"projects": {
"F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\FujianEarthquake.csproj": {
"E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\FujianEarthquake.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\FujianEarthquake.csproj",
"projectUniqueName": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\FujianEarthquake.csproj",
"projectName": "FujianEarthquake",
"projectPath": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\FujianEarthquake.csproj",
"projectPath": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\FujianEarthquake.csproj",
"packagesPath": "C:\\Users\\adm\\.nuget\\packages\\",
"outputPath": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\obj\\",
"outputPath": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
"D:\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\adm\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net6.0-windows"
@ -120,7 +118,7 @@
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.200\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400\\RuntimeIdentifierGraph.json"
}
}
}

View File

@ -5,14 +5,13 @@
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\adm\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages;C:\Program Files (x86)\Microsoft\Xamarin\NuGet\</NuGetPackageFolders>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\adm\.nuget\packages\;D:\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.1</NuGetToolVersion>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\adm\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft\Xamarin\NuGet\" />
<SourceRoot Include="D:\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\adm\.nuget\packages\microsoft.codeanalysis.analyzers\1.1.0</PkgMicrosoft_CodeAnalysis_Analyzers>

View File

@ -9055,27 +9055,24 @@
},
"packageFolders": {
"C:\\Users\\adm\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {},
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\": {}
"D:\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\FujianEarthquake.csproj",
"projectUniqueName": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\FujianEarthquake.csproj",
"projectName": "FujianEarthquake",
"projectPath": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\FujianEarthquake.csproj",
"projectPath": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\FujianEarthquake.csproj",
"packagesPath": "C:\\Users\\adm\\.nuget\\packages\\",
"outputPath": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\obj\\",
"outputPath": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
"D:\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\adm\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net6.0-windows"
@ -9174,7 +9171,7 @@
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.200\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400\\RuntimeIdentifierGraph.json"
}
}
},

View File

@ -1,8 +1,8 @@
{
"version": 2,
"dgSpecHash": "trcRQ/inX+mqC2gAMyC1Qab653ZpuKgDUSg+pQmQq0DqpB8aFqS1nUrbfT8pnnS7IU/e7dwjIiaCidnjYV9zlw==",
"dgSpecHash": "1OM0XNayimc=",
"success": true,
"projectFilePath": "F:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\FujianEarthquake.csproj",
"projectFilePath": "E:\\Code\\FJEQ\\20240801_FJEQ_upperpc\\FujianEarthquake_seabed\\FujianEarthquake\\FujianEarthquake.csproj",
"expectedPackageFiles": [
"C:\\Users\\adm\\.nuget\\packages\\3dtools\\1.0.0\\3dtools.1.0.0.nupkg.sha512",
"C:\\Users\\adm\\.nuget\\packages\\bouncycastle.cryptography\\2.3.1\\bouncycastle.cryptography.2.3.1.nupkg.sha512",