diff --git a/JiangsuEarthquake/.vs/JiangsuEarthquake/DesignTimeBuild/.dtbcache.v2 b/JiangsuEarthquake/.vs/JiangsuEarthquake/DesignTimeBuild/.dtbcache.v2 index d64b93e..2957562 100644 Binary files a/JiangsuEarthquake/.vs/JiangsuEarthquake/DesignTimeBuild/.dtbcache.v2 and b/JiangsuEarthquake/.vs/JiangsuEarthquake/DesignTimeBuild/.dtbcache.v2 differ diff --git a/JiangsuEarthquake/.vs/JiangsuEarthquake/v17/.futdcache.v2 b/JiangsuEarthquake/.vs/JiangsuEarthquake/v17/.futdcache.v2 index 4b25319..0471332 100644 Binary files a/JiangsuEarthquake/.vs/JiangsuEarthquake/v17/.futdcache.v2 and b/JiangsuEarthquake/.vs/JiangsuEarthquake/v17/.futdcache.v2 differ diff --git a/JiangsuEarthquake/.vs/JiangsuEarthquake/v17/.suo b/JiangsuEarthquake/.vs/JiangsuEarthquake/v17/.suo index 76f6b59..04de526 100644 Binary files a/JiangsuEarthquake/.vs/JiangsuEarthquake/v17/.suo and b/JiangsuEarthquake/.vs/JiangsuEarthquake/v17/.suo differ diff --git a/JiangsuEarthquake/.vs/JiangsuEarthquake/v17/DocumentLayout.json b/JiangsuEarthquake/.vs/JiangsuEarthquake/v17/DocumentLayout.json index 7df012a..96bcc3d 100644 --- a/JiangsuEarthquake/.vs/JiangsuEarthquake/v17/DocumentLayout.json +++ b/JiangsuEarthquake/.vs/JiangsuEarthquake/v17/DocumentLayout.json @@ -2,56 +2,64 @@ "Version": 1, "WorkspaceRootPath": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\", "Documents": [ - { - "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\viewmodels\\seismometerstatedataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\viewmodels\\seismometerstatedataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\viewmodels\\mainviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\viewmodels\\mainviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\models\\seismographmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\models\\seismographmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\views\\boosterstationstatedataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\views\\boosterstationstatedataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" }, { - "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\models\\earthquakesensormodel.cs||{8B382828-6202-11D1-8870-0000F87579D2}", - "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\models\\earthquakesensormodel.cs||{8B382828-6202-11D1-8870-0000F87579D2}" + "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\viewmodels\\boosterstationstatedataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\viewmodels\\boosterstationstatedataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\views\\seismometerstatedataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", - "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\views\\seismometerstatedataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" - }, - { - "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\viewmodels\\systemstatedataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\viewmodels\\systemstatedataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", - "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" - }, - { - "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\common\\csvdownload.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\common\\csvdownload.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\common\\csvdownload.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\views\\systemstatedataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\views\\systemstatedataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\views\\systemstatedataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" }, { "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\views\\systemcontrolview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\views\\systemcontrolview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" }, + { + "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\viewmodels\\systemstatedataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\viewmodels\\systemstatedataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\views\\seismometerstatedataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\views\\seismometerstatedataview.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" + }, + { + "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\models\\seismographmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\models\\seismographmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\viewmodels\\seismometerstatedataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\viewmodels\\seismometerstatedataviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, { "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\models\\clientmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\models\\clientmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, + { + "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", + "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" + }, + { + "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\views\\systemcontrolview.xaml.cs||{8B382828-6202-11D1-8870-0000F87579D2}|", + "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\views\\systemcontrolview.xaml.cs||{8B382828-6202-11D1-8870-0000F87579D2}|" + }, { "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\models\\volcurcollectormodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\models\\volcurcollectormodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|f:\\code\\jseq\\20240301_jseq_upperpc\\jiangsuearthquake\\jiangsuearthquake\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", + "AbsoluteMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\jiangsuearthquake\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}", "RelativeMoniker": "D:0:0:{51CD2C1B-B7CD-4AC0-8087-846E14D316AD}|JiangsuEarthquake\\JiangsuEarthquake.csproj|solutionrelative:jiangsuearthquake\\mainwindow.xaml||{F11ACC28-31D1-4C80-A34B-F4E09D3D753C}" }, { @@ -77,51 +85,122 @@ "VerticalTabListWidth": 256, "DocumentGroups": [ { - "DockedWidth": 197, - "SelectedChildIndex": 10, + "DockedWidth": 138, + "SelectedChildIndex": 17, "Children": [ { "$type": "Document", - "DocumentIndex": 6, + "DocumentIndex": 11, "Title": "App.config", "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\App.config", "RelativeDocumentMoniker": "JiangsuEarthquake\\App.config", "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\App.config", "RelativeToolTip": "JiangsuEarthquake\\App.config", - "ViewState": "AQIAAD8AAAAAAAAAAAAAAGEAAAAQAAAA", + "ViewState": "AQIAABUAAAAAAAAAAAAAADEAAAAjAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|", "WhenOpened": "2024-04-24T08:54:53.626Z", - "IsPinned": true, - "EditorCaption": "" + "IsPinned": true }, { "$type": "Document", "DocumentIndex": 7, + "Title": "SeismometerStateDataView.xaml", + "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\SeismometerStateDataView.xaml", + "RelativeDocumentMoniker": "JiangsuEarthquake\\Views\\SeismometerStateDataView.xaml", + "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\SeismometerStateDataView.xaml", + "RelativeToolTip": "JiangsuEarthquake\\Views\\SeismometerStateDataView.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2024-05-14T08:02:27.552Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 8, + "Title": "SeismographModel.cs", + "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\SeismographModel.cs", + "RelativeDocumentMoniker": "JiangsuEarthquake\\Models\\SeismographModel.cs", + "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\SeismographModel.cs", + "RelativeToolTip": "JiangsuEarthquake\\Models\\SeismographModel.cs", + "ViewState": "AQIAAHIAAAAAAAAAAAAswIwAAAApAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-05-14T07:44:15.338Z" + }, + { + "$type": "Document", + "DocumentIndex": 9, + "Title": "SeismometerStateDataViewModel.cs", + "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\SeismometerStateDataViewModel.cs", + "RelativeDocumentMoniker": "JiangsuEarthquake\\ViewModels\\SeismometerStateDataViewModel.cs", + "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\SeismometerStateDataViewModel.cs", + "RelativeToolTip": "JiangsuEarthquake\\ViewModels\\SeismometerStateDataViewModel.cs", + "ViewState": "AQIAAJwBAAAAAAAAAAAkwP8AAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-05-14T07:31:53.747Z" + }, + { + "$type": "Document", + "DocumentIndex": 12, + "Title": "SystemControlView.xaml.cs", + "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\SystemControlView.xaml.cs", + "RelativeDocumentMoniker": "JiangsuEarthquake\\Views\\SystemControlView.xaml.cs", + "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\SystemControlView.xaml.cs", + "RelativeToolTip": "JiangsuEarthquake\\Views\\SystemControlView.xaml.cs", + "ViewState": "AQIAAAMAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-05-14T01:31:43.485Z" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "BoosterStationStateDataViewModel.cs", + "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\BoosterStationStateDataViewModel.cs", + "RelativeDocumentMoniker": "JiangsuEarthquake\\ViewModels\\BoosterStationStateDataViewModel.cs", + "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\BoosterStationStateDataViewModel.cs", + "RelativeToolTip": "JiangsuEarthquake\\ViewModels\\BoosterStationStateDataViewModel.cs", + "ViewState": "AQIAANkBAAAAAAAAAAAgwAYCAAAsAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-05-14T00:25:10.523Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "BoosterStationStateDataView.xaml", + "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\BoosterStationStateDataView.xaml", + "RelativeDocumentMoniker": "JiangsuEarthquake\\Views\\BoosterStationStateDataView.xaml", + "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\BoosterStationStateDataView.xaml", + "RelativeToolTip": "JiangsuEarthquake\\Views\\BoosterStationStateDataView.xaml", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", + "WhenOpened": "2024-05-13T07:36:41.444Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, "Title": "CSVDownload.cs", "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Common\\CSVDownload.cs", "RelativeDocumentMoniker": "JiangsuEarthquake\\Common\\CSVDownload.cs", "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Common\\CSVDownload.cs", "RelativeToolTip": "JiangsuEarthquake\\Common\\CSVDownload.cs", - "ViewState": "AQIAAOAAAAAAAAAAAAAywPoAAAA8AAAA", + "ViewState": "AQIAACoAAAAAAAAAAAAgwPoAAAA8AAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-05-13T06:22:56.037Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 12, + "DocumentIndex": 14, "Title": "MainWindow.xaml", "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\MainWindow.xaml", "RelativeDocumentMoniker": "JiangsuEarthquake\\MainWindow.xaml", "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\MainWindow.xaml", "RelativeToolTip": "JiangsuEarthquake\\MainWindow.xaml", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", - "WhenOpened": "2024-05-11T08:13:03.306Z", - "EditorCaption": "" + "WhenOpened": "2024-05-11T08:13:03.306Z" }, { "$type": "Document", - "DocumentIndex": 13, + "DocumentIndex": 15, "Title": "AlarmRecordViewModel.cs", "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\AlarmRecordViewModel.cs", "RelativeDocumentMoniker": "JiangsuEarthquake\\ViewModels\\AlarmRecordViewModel.cs", @@ -129,12 +208,11 @@ "RelativeToolTip": "JiangsuEarthquake\\ViewModels\\AlarmRecordViewModel.cs", "ViewState": "AQIAAF8AAAAAAAAAAAAUwMIAAAArAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-05-09T08:08:20.353Z", - "EditorCaption": "" + "WhenOpened": "2024-05-09T08:08:20.353Z" }, { "$type": "Document", - "DocumentIndex": 14, + "DocumentIndex": 16, "Title": "EarthQuakeParaSetModel.cs", "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\EarthQuakeParaSetModel.cs", "RelativeDocumentMoniker": "JiangsuEarthquake\\Models\\EarthQuakeParaSetModel.cs", @@ -146,7 +224,7 @@ }, { "$type": "Document", - "DocumentIndex": 16, + "DocumentIndex": 18, "Title": "DBHelper.cs", "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\DataAccess\\DBHelper.cs", "RelativeDocumentMoniker": "JiangsuEarthquake\\DataAccess\\DBHelper.cs", @@ -158,7 +236,7 @@ }, { "$type": "Document", - "DocumentIndex": 11, + "DocumentIndex": 13, "Title": "VolCurCollectorModel.cs", "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\VolCurCollectorModel.cs", "RelativeDocumentMoniker": "JiangsuEarthquake\\Models\\VolCurCollectorModel.cs", @@ -166,25 +244,24 @@ "RelativeToolTip": "JiangsuEarthquake\\Models\\VolCurCollectorModel.cs", "ViewState": "AQIAAG8AAAAAAAAAAAAAAIUAAAAVAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-25T08:11:58.297Z", - "EditorCaption": "" + "WhenOpened": "2024-04-25T08:11:58.297Z" }, { "$type": "Document", - "DocumentIndex": 5, + "DocumentIndex": 6, "Title": "SystemStateDataViewModel.cs", "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\SystemStateDataViewModel.cs", "RelativeDocumentMoniker": "JiangsuEarthquake\\ViewModels\\SystemStateDataViewModel.cs", "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\SystemStateDataViewModel.cs", "RelativeToolTip": "JiangsuEarthquake\\ViewModels\\SystemStateDataViewModel.cs", - "ViewState": "AQIAANUAAAAAAAAAAAAkwP8AAAAAAAAA", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAGIAAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-05-13T00:26:48.284Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 15, + "DocumentIndex": 17, "Title": "Tools.cs", "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Common\\Tools.cs", "RelativeDocumentMoniker": "JiangsuEarthquake\\Common\\Tools.cs", @@ -196,33 +273,7 @@ }, { "$type": "Document", - "DocumentIndex": 10, - "Title": "ClientModel.cs", - "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\ClientModel.cs", - "RelativeDocumentMoniker": "JiangsuEarthquake\\Models\\ClientModel.cs", - "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\ClientModel.cs", - "RelativeToolTip": "JiangsuEarthquake\\Models\\ClientModel.cs", - "ViewState": "AQIAAFcAAAAAAAAAAAAAAGYAAACDAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-22T06:58:22.442Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 1, - "Title": "MainViewModel.cs", - "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\MainViewModel.cs", - "RelativeDocumentMoniker": "JiangsuEarthquake\\ViewModels\\MainViewModel.cs", - "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\MainViewModel.cs*", - "RelativeToolTip": "JiangsuEarthquake\\ViewModels\\MainViewModel.cs*", - "ViewState": "AQIAAOsCAAAAAAAAAAAQwPcCAACIAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-03-12T06:03:03.53Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 9, + "DocumentIndex": 5, "Title": "SystemControlView.xaml", "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\SystemControlView.xaml", "RelativeDocumentMoniker": "JiangsuEarthquake\\Views\\SystemControlView.xaml", @@ -234,7 +285,7 @@ }, { "$type": "Document", - "DocumentIndex": 8, + "DocumentIndex": 4, "Title": "SystemStateDataView.xaml", "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\SystemStateDataView.xaml", "RelativeDocumentMoniker": "JiangsuEarthquake\\Views\\SystemStateDataView.xaml", @@ -243,63 +294,31 @@ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", "WhenOpened": "2024-05-13T00:26:53.606Z", "EditorCaption": "" - } - ] - }, - { - "DockedWidth": 199, - "SelectedChildIndex": 3, - "Children": [ - { - "$type": "Document", - "DocumentIndex": 2, - "Title": "SeismographModel.cs", - "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\SeismographModel.cs", - "RelativeDocumentMoniker": "JiangsuEarthquake\\Models\\SeismographModel.cs", - "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\SeismographModel.cs", - "RelativeToolTip": "JiangsuEarthquake\\Models\\SeismographModel.cs", - "ViewState": "AQIAAOUAAAAAAAAAAAAUwCUBAAAtAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-05-13T06:46:46.354Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 4, - "Title": "SeismometerStateDataView.xaml", - "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\SeismometerStateDataView.xaml", - "RelativeDocumentMoniker": "JiangsuEarthquake\\Views\\SeismometerStateDataView.xaml", - "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Views\\SeismometerStateDataView.xaml", - "RelativeToolTip": "JiangsuEarthquake\\Views\\SeismometerStateDataView.xaml", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|", - "WhenOpened": "2024-05-11T08:14:50.75Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 3, - "Title": "EarthquakeSensorModel.cs", - "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\EarthquakeSensorModel.cs", - "RelativeDocumentMoniker": "JiangsuEarthquake\\Models\\EarthquakeSensorModel.cs", - "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\EarthquakeSensorModel.cs", - "RelativeToolTip": "JiangsuEarthquake\\Models\\EarthquakeSensorModel.cs", - "ViewState": "AQIAALQAAAAAAAAAAAAuwOMAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-29T06:08:55.808Z", - "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 0, - "Title": "SeismometerStateDataViewModel.cs", - "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\SeismometerStateDataViewModel.cs", - "RelativeDocumentMoniker": "JiangsuEarthquake\\ViewModels\\SeismometerStateDataViewModel.cs", - "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\SeismometerStateDataViewModel.cs", - "RelativeToolTip": "JiangsuEarthquake\\ViewModels\\SeismometerStateDataViewModel.cs", - "ViewState": "AQIAAK0AAAAAAAAAAAAUwIkAAAA1AAAA", + "Title": "MainViewModel.cs", + "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\MainViewModel.cs", + "RelativeDocumentMoniker": "JiangsuEarthquake\\ViewModels\\MainViewModel.cs", + "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\ViewModels\\MainViewModel.cs", + "RelativeToolTip": "JiangsuEarthquake\\ViewModels\\MainViewModel.cs", + "ViewState": "AQIAAOsHAAAAAAAAAAAUwAgIAAAdAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-05-11T08:16:12.449Z", + "WhenOpened": "2024-03-12T06:03:03.53Z", "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 10, + "Title": "ClientModel.cs", + "DocumentMoniker": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\ClientModel.cs", + "RelativeDocumentMoniker": "JiangsuEarthquake\\Models\\ClientModel.cs", + "ToolTip": "F:\\Code\\JSEQ\\20240301_JSEQ_upperpc\\JiangsuEarthquake\\JiangsuEarthquake\\Models\\ClientModel.cs", + "RelativeToolTip": "JiangsuEarthquake\\Models\\ClientModel.cs", + "ViewState": "AQIAAKgAAAAAAAAAAAAuwNQAAAAZAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-04-22T06:58:22.442Z" } ] } diff --git a/JiangsuEarthquake/.vs/ProjectEvaluation/jiangsuearthquake.metadata.v7.bin b/JiangsuEarthquake/.vs/ProjectEvaluation/jiangsuearthquake.metadata.v7.bin index f2c64d0..861a7df 100644 Binary files a/JiangsuEarthquake/.vs/ProjectEvaluation/jiangsuearthquake.metadata.v7.bin and b/JiangsuEarthquake/.vs/ProjectEvaluation/jiangsuearthquake.metadata.v7.bin differ diff --git a/JiangsuEarthquake/.vs/ProjectEvaluation/jiangsuearthquake.projects.v7.bin b/JiangsuEarthquake/.vs/ProjectEvaluation/jiangsuearthquake.projects.v7.bin index 7fcc423..37ea4de 100644 Binary files a/JiangsuEarthquake/.vs/ProjectEvaluation/jiangsuearthquake.projects.v7.bin and b/JiangsuEarthquake/.vs/ProjectEvaluation/jiangsuearthquake.projects.v7.bin differ diff --git a/JiangsuEarthquake/JiangsuEarthquake/App.config b/JiangsuEarthquake/JiangsuEarthquake/App.config index f00e970..2ca86d5 100644 --- a/JiangsuEarthquake/JiangsuEarthquake/App.config +++ b/JiangsuEarthquake/JiangsuEarthquake/App.config @@ -37,19 +37,25 @@ - - - + + + + + - - - + + + + + - - + + + - - + + + diff --git a/JiangsuEarthquake/JiangsuEarthquake/Models/ClientModel.cs b/JiangsuEarthquake/JiangsuEarthquake/Models/ClientModel.cs index 0eb1b9e..938093c 100644 --- a/JiangsuEarthquake/JiangsuEarthquake/Models/ClientModel.cs +++ b/JiangsuEarthquake/JiangsuEarthquake/Models/ClientModel.cs @@ -110,15 +110,25 @@ namespace JiangsuEarthquake.Models stationName = 2; volCurCollectorModel.ParsingData(new List(buffer), stationName); } - else if (SI.IP == Tools.GetAppSetting("DZY_Client_IP1") && SI.Port == int.Parse(Tools.GetAppSetting("DZY_Client_Port1"))) + else if (SI.IP == Tools.GetAppSetting("MainSeis_Client_IP1") && SI.Port == int.Parse(Tools.GetAppSetting("MainSeis_Client_Port1"))) { stationName = 1; - seismographModel.ParsingData(new List(buffer), stationName); + seismographModel.ParsingData(new List(buffer), stationName, true); } - else if (SI.IP == Tools.GetAppSetting("DZY_Client_IP2") && SI.Port == int.Parse(Tools.GetAppSetting("DZY_Client_Port2"))) + else if (SI.IP == Tools.GetAppSetting("MainSeis_Client_IP2") && SI.Port == int.Parse(Tools.GetAppSetting("MainSeis_Client_Port2"))) { stationName = 2; - seismographModel.ParsingData(new List(buffer), stationName); + seismographModel.ParsingData(new List(buffer), stationName, true); + } + else if (SI.IP == Tools.GetAppSetting("BackupSeis_Client_IP1") && SI.Port == int.Parse(Tools.GetAppSetting("BackupSeis_Client_Port1"))) + { + stationName = 1; + seismographModel.ParsingData(new List(buffer), stationName, false); + } + else if (SI.IP == Tools.GetAppSetting("BackupSeis_Client_IP2") && SI.Port == int.Parse(Tools.GetAppSetting("BackupSeis_Client_Port2"))) + { + stationName = 2; + seismographModel.ParsingData(new List(buffer), stationName, false); } } catch (Exception ex) diff --git a/JiangsuEarthquake/JiangsuEarthquake/Models/SeismographModel.cs b/JiangsuEarthquake/JiangsuEarthquake/Models/SeismographModel.cs index e185e62..c1cdd82 100644 --- a/JiangsuEarthquake/JiangsuEarthquake/Models/SeismographModel.cs +++ b/JiangsuEarthquake/JiangsuEarthquake/Models/SeismographModel.cs @@ -32,7 +32,7 @@ namespace JiangsuEarthquake.Models private List checkByte { get; set; } = new List(); //校验码Byte - public void ParsingData(List byteList, int id) + public void ParsingData(List byteList, int id,bool isMain) { if (byteList.Count == 0) return; @@ -125,11 +125,17 @@ namespace JiangsuEarthquake.Models dataSend.AddRange(checkCode); if (id == 1) { - MainWindow.mainViewModel.clientModelDZY1.SendMessage(dataSend.ToArray()); + if(isMain) + MainWindow.mainViewModel.clientModelMainSeis1.SendMessage(dataSend.ToArray()); + else + MainWindow.mainViewModel.clientModelBackupSeis1.SendMessage(dataSend.ToArray()); } else { - MainWindow.mainViewModel.clientModelDZY2.SendMessage(dataSend.ToArray()); + if (isMain) + MainWindow.mainViewModel.clientModelMainSeis2.SendMessage(dataSend.ToArray()); + else + MainWindow.mainViewModel.clientModelBackupSeis2.SendMessage(dataSend.ToArray()); } } else if (response == 405) @@ -363,49 +369,49 @@ namespace JiangsuEarthquake.Models $"'{zeroPointV}','{zeroPointW}','{northSeekingAngle}');"; DBHelper.ExecuteNonQuery(sql, 1); - //通知到前端 - if (id == 1) - { - MainViewModel.earthquakeSensorModel1.Out_Vol = supplyVoltage; - MainViewModel.earthquakeSensorModel1.Backup_Vol = batteryVoltage; - MainViewModel.earthquakeSensorModel1.Pre = pressure; - MainViewModel.earthquakeSensorModel1.Tem = temperature; - MainViewModel.earthquakeSensorModel1.Sei_Tilt_Angle = tiltAngleSeis; - MainViewModel.earthquakeSensorModel1.OBS_Tilt_Angle = tiltAngleOBS; - MainViewModel.earthquakeSensorModel1.Species_Dif = clockDeviation; - MainViewModel.earthquakeSensorModel1.Frequency_Dif = freDifference; - MainViewModel.earthquakeSensorModel1.CF_Total_Cap = totalSpaceCF; - MainViewModel.earthquakeSensorModel1.CF_Usable_Cap = canUseSpaceCF; - MainViewModel.earthquakeSensorModel1.SD_Total_Cap1 = totalSpaceSD1; - MainViewModel.earthquakeSensorModel1.SD_Usable_Cap1 = canUseSpaceSD1; - MainViewModel.earthquakeSensorModel1.SD_Total_Cap2 = totalSpaceSD2; - MainViewModel.earthquakeSensorModel1.SD_Usable_Cap2 = canUseSpaceSD2; - MainViewModel.earthquakeSensorModel1.Sei_U_Point = zeroPointU; - MainViewModel.earthquakeSensorModel1.Sei_V_Point = zeroPointV; - MainViewModel.earthquakeSensorModel1.Sei_W_Point = zeroPointW; - MainViewModel.earthquakeSensorModel1.North_Angle = northSeekingAngle; - } - else - { - MainViewModel.earthquakeSensorModel2.Out_Vol = supplyVoltage; - MainViewModel.earthquakeSensorModel2.Backup_Vol = batteryVoltage; - MainViewModel.earthquakeSensorModel2.Pre = pressure; - MainViewModel.earthquakeSensorModel2.Tem = temperature; - MainViewModel.earthquakeSensorModel2.Sei_Tilt_Angle = tiltAngleSeis; - MainViewModel.earthquakeSensorModel2.OBS_Tilt_Angle = tiltAngleOBS; - MainViewModel.earthquakeSensorModel2.Species_Dif = clockDeviation; - MainViewModel.earthquakeSensorModel2.Frequency_Dif = freDifference; - MainViewModel.earthquakeSensorModel2.CF_Total_Cap = totalSpaceCF; - MainViewModel.earthquakeSensorModel2.CF_Usable_Cap = canUseSpaceCF; - MainViewModel.earthquakeSensorModel2.SD_Total_Cap1 = totalSpaceSD1; - MainViewModel.earthquakeSensorModel2.SD_Usable_Cap1 = canUseSpaceSD1; - MainViewModel.earthquakeSensorModel2.SD_Total_Cap2 = totalSpaceSD2; - MainViewModel.earthquakeSensorModel2.SD_Usable_Cap2 = canUseSpaceSD2; - MainViewModel.earthquakeSensorModel2.Sei_U_Point = zeroPointU; - MainViewModel.earthquakeSensorModel2.Sei_V_Point = zeroPointV; - MainViewModel.earthquakeSensorModel2.Sei_W_Point = zeroPointW; - MainViewModel.earthquakeSensorModel2.North_Angle = northSeekingAngle; - } + ////通知到前端 + //if (id == 1) + //{ + // MainViewModel.earthquakeSensorModel1.Out_Vol = supplyVoltage; + // MainViewModel.earthquakeSensorModel1.Backup_Vol = batteryVoltage; + // MainViewModel.earthquakeSensorModel1.Pre = pressure; + // MainViewModel.earthquakeSensorModel1.Tem = temperature; + // MainViewModel.earthquakeSensorModel1.Sei_Tilt_Angle = tiltAngleSeis; + // MainViewModel.earthquakeSensorModel1.OBS_Tilt_Angle = tiltAngleOBS; + // MainViewModel.earthquakeSensorModel1.Species_Dif = clockDeviation; + // MainViewModel.earthquakeSensorModel1.Frequency_Dif = freDifference; + // MainViewModel.earthquakeSensorModel1.CF_Total_Cap = totalSpaceCF; + // MainViewModel.earthquakeSensorModel1.CF_Usable_Cap = canUseSpaceCF; + // MainViewModel.earthquakeSensorModel1.SD_Total_Cap1 = totalSpaceSD1; + // MainViewModel.earthquakeSensorModel1.SD_Usable_Cap1 = canUseSpaceSD1; + // MainViewModel.earthquakeSensorModel1.SD_Total_Cap2 = totalSpaceSD2; + // MainViewModel.earthquakeSensorModel1.SD_Usable_Cap2 = canUseSpaceSD2; + // MainViewModel.earthquakeSensorModel1.Sei_U_Point = zeroPointU; + // MainViewModel.earthquakeSensorModel1.Sei_V_Point = zeroPointV; + // MainViewModel.earthquakeSensorModel1.Sei_W_Point = zeroPointW; + // MainViewModel.earthquakeSensorModel1.North_Angle = northSeekingAngle; + //} + //else + //{ + // MainViewModel.earthquakeSensorModel2.Out_Vol = supplyVoltage; + // MainViewModel.earthquakeSensorModel2.Backup_Vol = batteryVoltage; + // MainViewModel.earthquakeSensorModel2.Pre = pressure; + // MainViewModel.earthquakeSensorModel2.Tem = temperature; + // MainViewModel.earthquakeSensorModel2.Sei_Tilt_Angle = tiltAngleSeis; + // MainViewModel.earthquakeSensorModel2.OBS_Tilt_Angle = tiltAngleOBS; + // MainViewModel.earthquakeSensorModel2.Species_Dif = clockDeviation; + // MainViewModel.earthquakeSensorModel2.Frequency_Dif = freDifference; + // MainViewModel.earthquakeSensorModel2.CF_Total_Cap = totalSpaceCF; + // MainViewModel.earthquakeSensorModel2.CF_Usable_Cap = canUseSpaceCF; + // MainViewModel.earthquakeSensorModel2.SD_Total_Cap1 = totalSpaceSD1; + // MainViewModel.earthquakeSensorModel2.SD_Usable_Cap1 = canUseSpaceSD1; + // MainViewModel.earthquakeSensorModel2.SD_Total_Cap2 = totalSpaceSD2; + // MainViewModel.earthquakeSensorModel2.SD_Usable_Cap2 = canUseSpaceSD2; + // MainViewModel.earthquakeSensorModel2.Sei_U_Point = zeroPointU; + // MainViewModel.earthquakeSensorModel2.Sei_V_Point = zeroPointV; + // MainViewModel.earthquakeSensorModel2.Sei_W_Point = zeroPointW; + // MainViewModel.earthquakeSensorModel2.North_Angle = northSeekingAngle; + //} } else if (Tools.CompareByte(cmdRecv, new byte[] { 0xC0, 0x90 })) //启动地震计调平 { diff --git a/JiangsuEarthquake/JiangsuEarthquake/ViewModels/MainViewModel.cs b/JiangsuEarthquake/JiangsuEarthquake/ViewModels/MainViewModel.cs index 96e1534..d83eab6 100644 --- a/JiangsuEarthquake/JiangsuEarthquake/ViewModels/MainViewModel.cs +++ b/JiangsuEarthquake/JiangsuEarthquake/ViewModels/MainViewModel.cs @@ -56,8 +56,8 @@ namespace JiangsuEarthquake.ViewModels public static SwitchInfoModel switchInfoModel2 = new SwitchInfoModel(); public static EarthQuakeParaSetModel earthQuakeParaSetModel1 = new EarthQuakeParaSetModel(); public static EarthQuakeParaSetModel earthQuakeParaSetModel2 = new EarthQuakeParaSetModel(); - public static EarthquakeSensorModel earthquakeSensorModel1 = new EarthquakeSensorModel(); - public static EarthquakeSensorModel earthquakeSensorModel2 = new EarthquakeSensorModel(); + //public static EarthquakeSensorModel earthquakeSensorModel1 = new EarthquakeSensorModel(); + //public static EarthquakeSensorModel earthquakeSensorModel2 = new EarthquakeSensorModel(); private SwitchStateModel ss; @@ -75,13 +75,13 @@ namespace JiangsuEarthquake.ViewModels set { eqps = value; } } - private EarthquakeSensorModel eqsm; + //private EarthquakeSensorModel eqsm; - public EarthquakeSensorModel EQSM - { - get { return eqsm; } - set { eqsm = value; } - } + //public EarthquakeSensorModel EQSM + //{ + // get { return eqsm; } + // set { eqsm = value; } + //} #endregion @@ -95,13 +95,13 @@ namespace JiangsuEarthquake.ViewModels { SS = switchStateModel1; EQPS = earthQuakeParaSetModel1; - EQSM = earthquakeSensorModel1; + //EQSM = earthquakeSensorModel1; } else if (station_id == 2) { SS = switchStateModel2; EQPS = earthQuakeParaSetModel2; - EQSM = earthquakeSensorModel2; + //EQSM = earthquakeSensorModel2; } } @@ -228,24 +228,44 @@ namespace JiangsuEarthquake.ViewModels //地震仪 - public CommandBase SocketDZY1DoConnectCommand { get; set; } //客户端连接/断开操作 + public CommandBase SocketMainSeis1DoConnectCommand { get; set; } //客户端连接/断开操作 - public CommandBase SocketDZY2DoConnectCommand { get; set; } //客户端连接/断开操作 + public CommandBase SocketMainSeis2DoConnectCommand { get; set; } //客户端连接/断开操作 - public ClientModel clientModelDZY1 { get; set; } = new ClientModel(); + public CommandBase SocketBackupSeis1DoConnectCommand { get; set; } //客户端连接/断开操作 - public ClientModel clientModelDZY2 { get; set; } = new ClientModel(); + public CommandBase SocketBackupSeis2DoConnectCommand { get; set; } //客户端连接/断开操作 - public static SocketInfo SocketInfoDZY1 { get; set; } = new SocketInfo() //PLC1连接信息 + public ClientModel clientModelMainSeis1 { get; set; } = new ClientModel(); + + public ClientModel clientModelMainSeis2 { get; set; } = new ClientModel(); + + public ClientModel clientModelBackupSeis1 { get; set; } = new ClientModel(); + + public ClientModel clientModelBackupSeis2 { get; set; } = new ClientModel(); + + public static SocketInfo SocketInfoMainSeis1 { get; set; } = new SocketInfo() { - IP = Tools.GetAppSetting("DZY_Client_IP1"), - Port = Convert.ToInt32(Tools.GetAppSetting("DZY_Client_Port1")) + IP = Tools.GetAppSetting("MainSeis_Client_IP1"), + Port = Convert.ToInt32(Tools.GetAppSetting("MainSeis_Client_Port1")) }; - public static SocketInfo SocketInfoDZY2 { get; set; } = new SocketInfo() //PLC2连接信息 + public static SocketInfo SocketInfoMainSeis2 { get; set; } = new SocketInfo() { - IP = Tools.GetAppSetting("DZY_Client_IP2"), - Port = Convert.ToInt32(Tools.GetAppSetting("DZY_Client_Port2")) + IP = Tools.GetAppSetting("MainSeis_Client_IP2"), + Port = Convert.ToInt32(Tools.GetAppSetting("MainSeis_Client_Port2")) + }; + + public static SocketInfo SocketInfoBackupSeis1 { get; set; } = new SocketInfo() + { + IP = Tools.GetAppSetting("BackupSeis_Client_IP1"), + Port = Convert.ToInt32(Tools.GetAppSetting("BackupSeis_Client_Port1")) + }; + + public static SocketInfo SocketInfoBackupSeis2 { get; set; } = new SocketInfo() + { + IP = Tools.GetAppSetting("BackupSeis_Client_IP2"), + Port = Convert.ToInt32(Tools.GetAppSetting("BackupSeis_Client_Port2")) }; @@ -318,13 +338,21 @@ namespace JiangsuEarthquake.ViewModels this.Socket2DoConnectCommand.DoExcute = new Action(DoSocket2Connect); this.Socket2DoConnectCommand.DoCanExcute = new Func((o) => true); - this.SocketDZY1DoConnectCommand = new CommandBase(); - this.SocketDZY1DoConnectCommand.DoExcute = new Action(DoSocketDZY1Connect); - this.SocketDZY1DoConnectCommand.DoCanExcute = new Func((o) => true); + this.SocketMainSeis1DoConnectCommand = new CommandBase(); + this.SocketMainSeis1DoConnectCommand.DoExcute = new Action(DoSocketMainSeis1Connect); + this.SocketMainSeis1DoConnectCommand.DoCanExcute = new Func((o) => true); - this.SocketDZY2DoConnectCommand = new CommandBase(); - this.SocketDZY2DoConnectCommand.DoExcute = new Action(DoSocketDZY2Connect); - this.SocketDZY2DoConnectCommand.DoCanExcute = new Func((o) => true); + this.SocketMainSeis2DoConnectCommand = new CommandBase(); + this.SocketMainSeis2DoConnectCommand.DoExcute = new Action(DoSocketMainSeis2Connect); + this.SocketMainSeis2DoConnectCommand.DoCanExcute = new Func((o) => true); + + this.SocketBackupSeis1DoConnectCommand = new CommandBase(); + this.SocketBackupSeis1DoConnectCommand.DoExcute = new Action(DoSocketBackupSeis1Connect); + this.SocketBackupSeis1DoConnectCommand.DoCanExcute = new Func((o) => true); + + this.SocketBackupSeis2DoConnectCommand = new CommandBase(); + this.SocketBackupSeis2DoConnectCommand.DoExcute = new Action(DoSocketBackupSeis2Connect); + this.SocketBackupSeis2DoConnectCommand.DoCanExcute = new Func((o) => true); #endregion @@ -687,7 +715,7 @@ namespace JiangsuEarthquake.ViewModels #region 地震仪状态页面初始化 - sql = String.Format("select * from earthquakestate where StationID = {0} ORDER by id desc limit 100", 1); + sql = String.Format("select * from earthquakestate where StationID = {0} ORDER by id desc limit 90", 1); dataReader = DBHelper.ExecuteReader(sql, 1); index = 1; while (dataReader.Read()) @@ -717,14 +745,14 @@ namespace JiangsuEarthquake.ViewModels } dataReader.Dispose(); seismometerStateDataViewModel1.RecordCount = index - 1; - seismometerStateDataViewModel1.TotalPage = (index - 1) <= 10 ? 1 : (int)Math.Ceiling((double)(index - 1) / 10); - for (int i = 0; i < (seismometerStateDataViewModel1.RecordCount < 10 ? seismometerStateDataViewModel1.RecordCount : 10); i++) + seismometerStateDataViewModel1.TotalPage = (index - 1) <= 9 ? 1 : (int)Math.Ceiling((double)(index - 1) / 9); + for (int i = 0; i < (seismometerStateDataViewModel1.RecordCount < 9 ? seismometerStateDataViewModel1.RecordCount : 9); i++) { seismometerStateDataViewModel1.SeismometerStateDataList.Add(seismometerStateDataViewModel1.TotalSeismometerStateDataList[i]); } seismometerStateDataViewModel1.SeismometerStateMsg = string.Format("共计{0}页,当前第{1}页", seismometerStateDataViewModel1.TotalPage, 1); - sql = String.Format("select * from earthquakestate where StationID = {0} ORDER by id desc limit 100", 2); + sql = String.Format("select * from earthquakestate where StationID = {0} ORDER by id desc limit 90", 2); dataReader = DBHelper.ExecuteReader(sql, 1); index = 1; while (dataReader.Read()) @@ -754,8 +782,8 @@ namespace JiangsuEarthquake.ViewModels } dataReader.Dispose(); seismometerStateDataViewModel2.RecordCount = index - 1; - seismometerStateDataViewModel2.TotalPage = (index - 1) <= 10 ? 1 : (int)Math.Ceiling((double)(index - 1) / 10); - for (int i = 0; i < (seismometerStateDataViewModel2.RecordCount < 10 ? seismometerStateDataViewModel2.RecordCount : 10); i++) + seismometerStateDataViewModel2.TotalPage = (index - 1) <= 9 ? 1 : (int)Math.Ceiling((double)(index - 1) / 9); + for (int i = 0; i < (seismometerStateDataViewModel2.RecordCount < 9 ? seismometerStateDataViewModel2.RecordCount : 9); i++) { seismometerStateDataViewModel2.SeismometerStateDataList.Add(seismometerStateDataViewModel2.TotalSeismometerStateDataList[i]); } @@ -1262,6 +1290,7 @@ namespace JiangsuEarthquake.ViewModels #region Communication Command + #region Lower Computer /// /// SocketServer1连接 /// @@ -1323,7 +1352,10 @@ namespace JiangsuEarthquake.ViewModels })); } } + #endregion + + #region Booster Station /// /// SocketClient1连接 /// @@ -1385,19 +1417,22 @@ namespace JiangsuEarthquake.ViewModels })); } } + #endregion + + #region Seismograph /// - /// DoSocketDZY1Connect连接 + /// DoSocketMainSeis1Connect连接 /// /// - public void DoSocketDZY1Connect(object o) + public void DoSocketMainSeis1Connect(object o) { - if (clientModelDZY1.IsConnected) + if (clientModelMainSeis1.IsConnected) { Task.Run(new Action(async () => { await Task.Delay(100); - clientModelDZY1.DisConnect(); + clientModelMainSeis1.DisConnect(); })); } else @@ -1406,29 +1441,62 @@ namespace JiangsuEarthquake.ViewModels { await Task.Delay(150); - if (clientModelDZY1.DoConnect(SocketInfoDZY1)) + if (clientModelMainSeis1.DoConnect(SocketInfoMainSeis1)) { //EM.Socket1ConMessage = string.Format("IP:{0} \r\n端口号:{1}", SocketInfo1.IP, SocketInfo1.Port.ToString()); //更新下App.config中的配置信息 - Tools.UpdateAppSettings("DZY_Client_IP1", SocketInfoDZY1.IP); - Tools.UpdateAppSettings("DZY_Client_Port1", SocketInfoDZY1.Port.ToString()); + Tools.UpdateAppSettings("MainSeis_Client_IP1", SocketInfoMainSeis1.IP); + Tools.UpdateAppSettings("MainSeis_Client_Port1", SocketInfoMainSeis1.Port.ToString()); } })); } } + /// - /// DoSocketDZY2Connect连接 + /// DoSocketMainSeis2Connect连接 /// /// - public void DoSocketDZY2Connect(object o) + public void DoSocketMainSeis2Connect(object o) { - if (clientModelDZY2.IsConnected) + if (clientModelMainSeis2.IsConnected) { Task.Run(new Action(async () => { await Task.Delay(100); - clientModelDZY2.DisConnect(); + clientModelMainSeis2.DisConnect(); + })); + } + else + { + Task.Run(new Action(async () => + { + await Task.Delay(150); + + if (clientModelMainSeis2.DoConnect(SocketInfoMainSeis2)) + { + //EM.Socket1ConMessage = string.Format("IP:{0} \r\n端口号:{1}", SocketInfo1.IP, SocketInfo1.Port.ToString()); + //更新下App.config中的配置信息 + Tools.UpdateAppSettings("MainSeis_Client_IP2", SocketInfoMainSeis2.IP); + Tools.UpdateAppSettings("MainSeis_Client_Port2", SocketInfoMainSeis2.Port.ToString()); + } + })); + } + } + + + /// + /// DoSocketBackupSeis1Connect连接 + /// + /// + public void DoSocketBackupSeis1Connect(object o) + { + if (clientModelBackupSeis1.IsConnected) + { + Task.Run(new Action(async () => + { + await Task.Delay(100); + clientModelBackupSeis1.DisConnect(); })); } else @@ -1437,18 +1505,51 @@ namespace JiangsuEarthquake.ViewModels { await Task.Delay(200); - if (clientModelDZY2.DoConnect(SocketInfoDZY1)) + if (clientModelBackupSeis1.DoConnect(SocketInfoBackupSeis1)) { // EM.Socket2ConMessage = string.Format("IP:{0} \r\n端口号:{1}", SocketInfo2.IP, SocketInfo2.Port.ToString()); //更新下App.config中的配置信息 - Tools.UpdateAppSettings("DZY_Client_IP2", SocketInfoDZY1.IP); - Tools.UpdateAppSettings("DZY_Client_Port2", SocketInfoDZY1.Port.ToString()); + Tools.UpdateAppSettings("BackupSeis_Client_IP1", SocketInfoBackupSeis1.IP); + Tools.UpdateAppSettings("BackupSeis_Client_Port1", SocketInfoBackupSeis1.Port.ToString()); } })); } } + /// + /// DoSocketBackupSeis2Connect连接 + /// + /// + public void DoSocketBackupSeis2Connect(object o) + { + if (clientModelBackupSeis2.IsConnected) + { + Task.Run(new Action(async () => + { + await Task.Delay(100); + clientModelBackupSeis2.DisConnect(); + })); + } + else + { + Task.Run(new Action(async () => + { + await Task.Delay(200); + + if (clientModelBackupSeis2.DoConnect(SocketInfoBackupSeis2)) + { + // EM.Socket2ConMessage = string.Format("IP:{0} \r\n端口号:{1}", SocketInfo2.IP, SocketInfo2.Port.ToString()); + //更新下App.config中的配置信息 + Tools.UpdateAppSettings("BackupSeis_Client_IP2", SocketInfoBackupSeis2.IP); + Tools.UpdateAppSettings("BackupSeis_Client_Port2", SocketInfoBackupSeis2.Port.ToString()); + } + })); + } + } + #endregion + + #region Useless //public void Com1DoConnect(object o) //{ @@ -1741,6 +1842,14 @@ namespace JiangsuEarthquake.ViewModels (sender as DispatcherTimer).Stop(); } + private bool mainSeisIsChecked = true; + + public bool MainSeisIsChecked + { + get { return mainSeisIsChecked; } + set { mainSeisIsChecked = value; this.DoNotify(); } + } + private string openSetMsg; public string OpenSetMsg @@ -1862,13 +1971,13 @@ namespace JiangsuEarthquake.ViewModels string MessageContent = ""; switch (msg[0]) { - case "JBHPowerPicker": + case "BaseStationPowerPicker": MessageContent = "接驳盒电源" + (msg[1].Equals("True") ? "打开" : "关闭"); break; - case "MainSeismograph": + case "MainSeisPowerPicker": MessageContent = "主地震仪电源" + (msg[1].Equals("True") ? "打开" : "关闭"); break; - case "StandbySeismograph": + case "BackupSeisPowerPicker": MessageContent = "备用地震仪电源" + (msg[1].Equals("True") ? "打开" : "关闭"); break; case "SeisZeroSetStart": //凋零 @@ -1887,11 +1996,17 @@ namespace JiangsuEarthquake.ViewModels byte[] numDZJ = new byte[2]; if(station_id==1) { - numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("DZYNum1"))); + if(MainSeisIsChecked) + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum1"))); + else + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum1"))); } else { - numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("DZYNum2"))); + if (MainSeisIsChecked) + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum2"))); + else + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum2"))); } numDZJ = Tools.PadArrayWithZeros(numDZJ, 2); @@ -1906,36 +2021,76 @@ namespace JiangsuEarthquake.ViewModels bool result = false; if (station_id == 1) { - if(clientModelDZY1.IsConnected) + if(MainSeisIsChecked) { - result = clientModelDZY1.SendMessage(sendDataSeis.ToArray()); + if (clientModelMainSeis1.IsConnected) + { + result = clientModelMainSeis1.SendMessage(sendDataSeis.ToArray()); + } + else + { + OpenSetMsgVisibility = Visibility.Visible; + OpenSetMsg = "通信未连接!"; + timerOpenSetMsgHidden.Start(); + OpenSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisZeroSetStartButtonIsEnabled = true; + SeisZeroSetStopButtonIsEnabled = true; + break; + } } else { - OpenSetMsgVisibility = Visibility.Visible; - OpenSetMsg = "通信未连接!"; - timerOpenSetMsgHidden.Start(); - OpenSetMsgForeground = new SolidColorBrush(Colors.Red); - SeisZeroSetStartButtonIsEnabled = true; - SeisZeroSetStopButtonIsEnabled = true; - break; + if (clientModelBackupSeis1.IsConnected) + { + result = clientModelBackupSeis1.SendMessage(sendDataSeis.ToArray()); + } + else + { + OpenSetMsgVisibility = Visibility.Visible; + OpenSetMsg = "通信未连接!"; + timerOpenSetMsgHidden.Start(); + OpenSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisZeroSetStartButtonIsEnabled = true; + SeisZeroSetStopButtonIsEnabled = true; + break; + } } } else { - if (clientModelDZY2.IsConnected) + if (MainSeisIsChecked) { - result = clientModelDZY2.SendMessage(sendDataSeis.ToArray()); + if (clientModelMainSeis2.IsConnected) + { + result = clientModelMainSeis2.SendMessage(sendDataSeis.ToArray()); + } + else + { + OpenSetMsgVisibility = Visibility.Visible; + OpenSetMsg = "通信未连接!"; + timerOpenSetMsgHidden.Start(); + OpenSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisZeroSetStartButtonIsEnabled = true; + SeisZeroSetStopButtonIsEnabled = true; + break; + } } else { - OpenSetMsgVisibility = Visibility.Visible; - OpenSetMsg = "通信未连接!"; - timerOpenSetMsgHidden.Start(); - OpenSetMsgForeground = new SolidColorBrush(Colors.Red); - SeisZeroSetStartButtonIsEnabled = true; - SeisZeroSetStopButtonIsEnabled = true; - break; + if (clientModelBackupSeis2.IsConnected) + { + result = clientModelBackupSeis2.SendMessage(sendDataSeis.ToArray()); + } + else + { + OpenSetMsgVisibility = Visibility.Visible; + OpenSetMsg = "通信未连接!"; + timerOpenSetMsgHidden.Start(); + OpenSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisZeroSetStartButtonIsEnabled = true; + SeisZeroSetStopButtonIsEnabled = true; + break; + } } } @@ -1974,11 +2129,17 @@ namespace JiangsuEarthquake.ViewModels byte[] numDZJ = new byte[2]; if (station_id == 1) { - numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("DZYNum1"))); + if (MainSeisIsChecked) + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum1"))); + else + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum1"))); } else { - numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("DZYNum2"))); + if (MainSeisIsChecked) + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum2"))); + else + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum2"))); } numDZJ = Tools.PadArrayWithZeros(numDZJ, 2); @@ -1993,36 +2154,76 @@ namespace JiangsuEarthquake.ViewModels bool result = false; if (station_id == 1) { - if (clientModelDZY1.IsConnected) + if (MainSeisIsChecked) { - result = clientModelDZY1.SendMessage(sendDataSeis.ToArray()); + if (clientModelMainSeis1.IsConnected) + { + result = clientModelMainSeis1.SendMessage(sendDataSeis.ToArray()); + } + else + { + CloseSetMsgVisibility = Visibility.Visible; + CloseSetMsg = "通信未连接!"; + timerCloseSetMsgHidden.Start(); + CloseSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisZeroSetStopButtonIsEnabled = true; + SeisZeroSetStartButtonIsEnabled = true; + break; + } } else { - CloseSetMsgVisibility = Visibility.Visible; - CloseSetMsg = "通信未连接!"; - timerCloseSetMsgHidden.Start(); - CloseSetMsgForeground = new SolidColorBrush(Colors.Red); - SeisZeroSetStopButtonIsEnabled = true; - SeisZeroSetStartButtonIsEnabled = true; - break; + if (clientModelBackupSeis1.IsConnected) + { + result = clientModelBackupSeis1.SendMessage(sendDataSeis.ToArray()); + } + else + { + CloseSetMsgVisibility = Visibility.Visible; + CloseSetMsg = "通信未连接!"; + timerCloseSetMsgHidden.Start(); + CloseSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisZeroSetStopButtonIsEnabled = true; + SeisZeroSetStartButtonIsEnabled = true; + break; + } } } else { - if (clientModelDZY2.IsConnected) + if (MainSeisIsChecked) { - result = clientModelDZY2.SendMessage(sendDataSeis.ToArray()); + if (clientModelMainSeis2.IsConnected) + { + result = clientModelMainSeis2.SendMessage(sendDataSeis.ToArray()); + } + else + { + CloseSetMsgVisibility = Visibility.Visible; + CloseSetMsg = "通信未连接!"; + timerCloseSetMsgHidden.Start(); + CloseSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisZeroSetStopButtonIsEnabled = true; + SeisZeroSetStartButtonIsEnabled = true; + break; + } } else { - CloseSetMsgVisibility = Visibility.Visible; - CloseSetMsg = "通信未连接!"; - timerCloseSetMsgHidden.Start(); - CloseSetMsgForeground = new SolidColorBrush(Colors.Red); - SeisZeroSetStopButtonIsEnabled = true; - SeisZeroSetStartButtonIsEnabled = true; - break; + if (clientModelBackupSeis2.IsConnected) + { + result = clientModelBackupSeis2.SendMessage(sendDataSeis.ToArray()); + } + else + { + CloseSetMsgVisibility = Visibility.Visible; + CloseSetMsg = "通信未连接!"; + timerCloseSetMsgHidden.Start(); + CloseSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisZeroSetStopButtonIsEnabled = true; + SeisZeroSetStartButtonIsEnabled = true; + break; + } } } @@ -2061,11 +2262,17 @@ namespace JiangsuEarthquake.ViewModels byte[] numDZJ = new byte[2]; if (station_id == 1) { - numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("DZYNum1"))); + if (MainSeisIsChecked) + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum1"))); + else + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum1"))); } else { - numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("DZYNum2"))); + if (MainSeisIsChecked) + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum2"))); + else + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum2"))); } numDZJ = Tools.PadArrayWithZeros(numDZJ, 2); @@ -2080,36 +2287,76 @@ namespace JiangsuEarthquake.ViewModels bool result = false; if (station_id == 1) { - if (clientModelDZY1.IsConnected) + if (MainSeisIsChecked) { - result = clientModelDZY1.SendMessage(sendDataSeis.ToArray()); + if (clientModelMainSeis1.IsConnected) + { + result = clientModelMainSeis1.SendMessage(sendDataSeis.ToArray()); + } + else + { + OpenSetMsgVisibility = Visibility.Visible; + OpenSetMsg = "通信未连接!"; + timerOpenSetMsgHidden.Start(); + OpenSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisLevelSetStartButtonIsEnabled = true; + SeisLevelSetStopButtonIsEnabled = true; + break; + } } else { - OpenSetMsgVisibility = Visibility.Visible; - OpenSetMsg = "通信未连接!"; - timerOpenSetMsgHidden.Start(); - OpenSetMsgForeground = new SolidColorBrush(Colors.Red); - SeisLevelSetStartButtonIsEnabled = true; - SeisLevelSetStopButtonIsEnabled = true; - break; + if (clientModelBackupSeis1.IsConnected) + { + result = clientModelBackupSeis1.SendMessage(sendDataSeis.ToArray()); + } + else + { + OpenSetMsgVisibility = Visibility.Visible; + OpenSetMsg = "通信未连接!"; + timerOpenSetMsgHidden.Start(); + OpenSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisLevelSetStartButtonIsEnabled = true; + SeisLevelSetStopButtonIsEnabled = true; + break; + } } } else { - if (clientModelDZY2.IsConnected) + if (MainSeisIsChecked) { - result = clientModelDZY2.SendMessage(sendDataSeis.ToArray()); + if (clientModelMainSeis2.IsConnected) + { + result = clientModelMainSeis2.SendMessage(sendDataSeis.ToArray()); + } + else + { + OpenSetMsgVisibility = Visibility.Visible; + OpenSetMsg = "通信未连接!"; + timerOpenSetMsgHidden.Start(); + OpenSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisLevelSetStartButtonIsEnabled = true; + SeisLevelSetStopButtonIsEnabled = true; + break; + } } else { - OpenSetMsgVisibility = Visibility.Visible; - OpenSetMsg = "通信未连接!"; - timerOpenSetMsgHidden.Start(); - OpenSetMsgForeground = new SolidColorBrush(Colors.Red); - SeisLevelSetStartButtonIsEnabled = true; - SeisLevelSetStopButtonIsEnabled = true; - break; + if (clientModelBackupSeis2.IsConnected) + { + result = clientModelBackupSeis2.SendMessage(sendDataSeis.ToArray()); + } + else + { + OpenSetMsgVisibility = Visibility.Visible; + OpenSetMsg = "通信未连接!"; + timerOpenSetMsgHidden.Start(); + OpenSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisLevelSetStartButtonIsEnabled = true; + SeisLevelSetStopButtonIsEnabled = true; + break; + } } } @@ -2148,11 +2395,17 @@ namespace JiangsuEarthquake.ViewModels byte[] numDZJ = new byte[2]; if (station_id == 1) { - numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("DZYNum1"))); + if (MainSeisIsChecked) + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum1"))); + else + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum1"))); } else { - numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("DZYNum2"))); + if (MainSeisIsChecked) + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum2"))); + else + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum2"))); } numDZJ = Tools.PadArrayWithZeros(numDZJ, 2); @@ -2167,36 +2420,76 @@ namespace JiangsuEarthquake.ViewModels bool result = false; if (station_id == 1) { - if (clientModelDZY1.IsConnected) + if (MainSeisIsChecked) { - result = clientModelDZY1.SendMessage(sendDataSeis.ToArray()); + if (clientModelMainSeis1.IsConnected) + { + result = clientModelMainSeis1.SendMessage(sendDataSeis.ToArray()); + } + else + { + CloseSetMsgVisibility = Visibility.Visible; + CloseSetMsg = "通信未连接!"; + timerCloseSetMsgHidden.Start(); + CloseSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisLevelSetStopButtonIsEnabled = true; + SeisLevelSetStartButtonIsEnabled = true; + break; + } } else { - CloseSetMsgVisibility = Visibility.Visible; - CloseSetMsg = "通信未连接!"; - timerCloseSetMsgHidden.Start(); - CloseSetMsgForeground = new SolidColorBrush(Colors.Red); - SeisLevelSetStopButtonIsEnabled = true; - SeisLevelSetStartButtonIsEnabled = true; - break; + if (clientModelBackupSeis1.IsConnected) + { + result = clientModelBackupSeis1.SendMessage(sendDataSeis.ToArray()); + } + else + { + CloseSetMsgVisibility = Visibility.Visible; + CloseSetMsg = "通信未连接!"; + timerCloseSetMsgHidden.Start(); + CloseSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisLevelSetStopButtonIsEnabled = true; + SeisLevelSetStartButtonIsEnabled = true; + break; + } } } else { - if (clientModelDZY2.IsConnected) + if (MainSeisIsChecked) { - result = clientModelDZY2.SendMessage(sendDataSeis.ToArray()); + if (clientModelMainSeis2.IsConnected) + { + result = clientModelMainSeis2.SendMessage(sendDataSeis.ToArray()); + } + else + { + CloseSetMsgVisibility = Visibility.Visible; + CloseSetMsg = "通信未连接!"; + timerCloseSetMsgHidden.Start(); + CloseSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisLevelSetStopButtonIsEnabled = true; + SeisLevelSetStartButtonIsEnabled = true; + break; + } } else { - CloseSetMsgVisibility = Visibility.Visible; - CloseSetMsg = "通信未连接!"; - timerCloseSetMsgHidden.Start(); - CloseSetMsgForeground = new SolidColorBrush(Colors.Red); - SeisLevelSetStopButtonIsEnabled = true; - SeisLevelSetStartButtonIsEnabled = true; - break; + if (clientModelBackupSeis2.IsConnected) + { + result = clientModelBackupSeis2.SendMessage(sendDataSeis.ToArray()); + } + else + { + CloseSetMsgVisibility = Visibility.Visible; + CloseSetMsg = "通信未连接!"; + timerCloseSetMsgHidden.Start(); + CloseSetMsgForeground = new SolidColorBrush(Colors.Red); + SeisLevelSetStopButtonIsEnabled = true; + SeisLevelSetStartButtonIsEnabled = true; + break; + } } } @@ -2267,6 +2560,14 @@ namespace JiangsuEarthquake.ViewModels (sender as DispatcherTimer).Stop(); } + private bool backupSeisIsChecked = false; + + public bool BackupSeisIsChecked + { + get { return backupSeisIsChecked; } + set { backupSeisIsChecked = value; this.DoNotify(); } + } + private string seisParaMsg; public string SeisParaMsg @@ -2352,10 +2653,6 @@ namespace JiangsuEarthquake.ViewModels } switch (msg[0]) { - //case "ParaSet": - // break; - //case "ReadParaSet": - // break; case "EarthQuakeParaSetBtn": EarthQuakeParaSetBtnIsEnabled = false; EarthQuakeParaReadBtnIsEnabled = false; @@ -2418,36 +2715,76 @@ namespace JiangsuEarthquake.ViewModels bool result = false; if (station_id == 1) { - if (clientModelDZY1.IsConnected) + if(!BackupSeisIsChecked) { - result = clientModelDZY1.SendMessage(sendDataSeis.ToArray()); + if (clientModelMainSeis1.IsConnected) + { + result = clientModelMainSeis1.SendMessage(sendDataSeis.ToArray()); + } + else + { + SeisParaMsgVisibility = Visibility.Visible; + SeisParaMsg = "通信未连接!"; + timerSeisParaMsgHidden.Start(); + SeisParaMsgForeground = new SolidColorBrush(Colors.Red); + EarthQuakeParaSetBtnIsEnabled = true; + EarthQuakeParaReadBtnIsEnabled = true; + break; + } } else { - SeisParaMsgVisibility = Visibility.Visible; - SeisParaMsg = "通信未连接!"; - timerSeisParaMsgHidden.Start(); - SeisParaMsgForeground = new SolidColorBrush(Colors.Red); - EarthQuakeParaSetBtnIsEnabled = true; - EarthQuakeParaReadBtnIsEnabled = true; - break; + if (clientModelBackupSeis1.IsConnected) + { + result = clientModelBackupSeis1.SendMessage(sendDataSeis.ToArray()); + } + else + { + SeisParaMsgVisibility = Visibility.Visible; + SeisParaMsg = "通信未连接!"; + timerSeisParaMsgHidden.Start(); + SeisParaMsgForeground = new SolidColorBrush(Colors.Red); + EarthQuakeParaSetBtnIsEnabled = true; + EarthQuakeParaReadBtnIsEnabled = true; + break; + } } } else { - if (clientModelDZY2.IsConnected) + if (!BackupSeisIsChecked) { - result = clientModelDZY2.SendMessage(sendDataSeis.ToArray()); + if (clientModelMainSeis2.IsConnected) + { + result = clientModelMainSeis2.SendMessage(sendDataSeis.ToArray()); + } + else + { + SeisParaMsgVisibility = Visibility.Visible; + SeisParaMsg = "通信未连接!"; + timerSeisParaMsgHidden.Start(); + SeisParaMsgForeground = new SolidColorBrush(Colors.Red); + EarthQuakeParaSetBtnIsEnabled = true; + EarthQuakeParaReadBtnIsEnabled = true; + break; + } } else { - SeisParaMsgVisibility = Visibility.Visible; - SeisParaMsg = "通信未连接!"; - timerSeisParaMsgHidden.Start(); - SeisParaMsgForeground = new SolidColorBrush(Colors.Red); - EarthQuakeParaSetBtnIsEnabled = true; - EarthQuakeParaReadBtnIsEnabled = true; - break; + if (clientModelBackupSeis2.IsConnected) + { + result = clientModelBackupSeis2.SendMessage(sendDataSeis.ToArray()); + } + else + { + SeisParaMsgVisibility = Visibility.Visible; + SeisParaMsg = "通信未连接!"; + timerSeisParaMsgHidden.Start(); + SeisParaMsgForeground = new SolidColorBrush(Colors.Red); + EarthQuakeParaSetBtnIsEnabled = true; + EarthQuakeParaReadBtnIsEnabled = true; + break; + } } } @@ -2487,11 +2824,17 @@ namespace JiangsuEarthquake.ViewModels byte[] numDZJ = new byte[2]; if (station_id == 1) { - numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("DZYNum1"))); + if (!BackupSeisIsChecked) + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum1"))); + else + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum1"))); } else { - numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("DZYNum2"))); + if (!BackupSeisIsChecked) + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum2"))); + else + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum2"))); } numDZJ = Tools.PadArrayWithZeros(numDZJ, 2); @@ -2507,36 +2850,76 @@ namespace JiangsuEarthquake.ViewModels result = false; if (station_id == 1) { - if (clientModelDZY1.IsConnected) + if (!BackupSeisIsChecked) { - result = clientModelDZY1.SendMessage(sendDataSeis.ToArray()); + if (clientModelMainSeis1.IsConnected) + { + result = clientModelMainSeis1.SendMessage(sendDataSeis.ToArray()); + } + else + { + SeisParaMsgVisibility = Visibility.Visible; + SeisParaMsg = "通信未连接!"; + timerSeisParaMsgHidden.Start(); + SeisParaMsgForeground = new SolidColorBrush(Colors.Red); + EarthQuakeParaSetBtnIsEnabled = true; + EarthQuakeParaReadBtnIsEnabled = true; + break; + } } else { - SeisParaMsgVisibility = Visibility.Visible; - SeisParaMsg = "通信未连接!"; - timerSeisParaMsgHidden.Start(); - SeisParaMsgForeground = new SolidColorBrush(Colors.Red); - EarthQuakeParaSetBtnIsEnabled = true; - EarthQuakeParaReadBtnIsEnabled = true; - break; + if (clientModelBackupSeis1.IsConnected) + { + result = clientModelBackupSeis1.SendMessage(sendDataSeis.ToArray()); + } + else + { + SeisParaMsgVisibility = Visibility.Visible; + SeisParaMsg = "通信未连接!"; + timerSeisParaMsgHidden.Start(); + SeisParaMsgForeground = new SolidColorBrush(Colors.Red); + EarthQuakeParaSetBtnIsEnabled = true; + EarthQuakeParaReadBtnIsEnabled = true; + break; + } } } else { - if (clientModelDZY2.IsConnected) + if (!BackupSeisIsChecked) { - result = clientModelDZY2.SendMessage(sendDataSeis.ToArray()); + if (clientModelMainSeis2.IsConnected) + { + result = clientModelMainSeis2.SendMessage(sendDataSeis.ToArray()); + } + else + { + SeisParaMsgVisibility = Visibility.Visible; + SeisParaMsg = "通信未连接!"; + timerSeisParaMsgHidden.Start(); + SeisParaMsgForeground = new SolidColorBrush(Colors.Red); + EarthQuakeParaSetBtnIsEnabled = true; + EarthQuakeParaReadBtnIsEnabled = true; + break; + } } else { - SeisParaMsgVisibility = Visibility.Visible; - SeisParaMsg = "通信未连接!"; - timerSeisParaMsgHidden.Start(); - SeisParaMsgForeground = new SolidColorBrush(Colors.Red); - EarthQuakeParaSetBtnIsEnabled = true; - EarthQuakeParaReadBtnIsEnabled = true; - break; + if (clientModelBackupSeis2.IsConnected) + { + result = clientModelBackupSeis2.SendMessage(sendDataSeis.ToArray()); + } + else + { + SeisParaMsgVisibility = Visibility.Visible; + SeisParaMsg = "通信未连接!"; + timerSeisParaMsgHidden.Start(); + SeisParaMsgForeground = new SolidColorBrush(Colors.Red); + EarthQuakeParaSetBtnIsEnabled = true; + EarthQuakeParaReadBtnIsEnabled = true; + break; + } } } @@ -2612,7 +2995,7 @@ namespace JiangsuEarthquake.ViewModels case "SystemControlView": SS = switchStateModel1; EQPS = earthQuakeParaSetModel1; - EQSM = earthquakeSensorModel1; + //EQSM = earthquakeSensorModel1; break; case "LogRecordView": page.DataContext = logRecordViewModel1; @@ -2643,7 +3026,7 @@ namespace JiangsuEarthquake.ViewModels case "SystemControlView": SS = switchStateModel2; EQPS = earthQuakeParaSetModel2; - EQSM = earthquakeSensorModel2; + //EQSM = earthquakeSensorModel2; break; case "LogRecordView": page.DataContext = logRecordViewModel2; diff --git a/JiangsuEarthquake/JiangsuEarthquake/ViewModels/SeismometerStateDataViewModel.cs b/JiangsuEarthquake/JiangsuEarthquake/ViewModels/SeismometerStateDataViewModel.cs index 99afd91..658e4b6 100644 --- a/JiangsuEarthquake/JiangsuEarthquake/ViewModels/SeismometerStateDataViewModel.cs +++ b/JiangsuEarthquake/JiangsuEarthquake/ViewModels/SeismometerStateDataViewModel.cs @@ -96,6 +96,8 @@ namespace JiangsuEarthquake.ViewModels #region Timer Define public DispatcherTimer timerDownloadDataMsgHidden = new DispatcherTimer(); + public DispatcherTimer timerAskData = new DispatcherTimer(); + public DispatcherTimer timerAskDataMsgHidden = new DispatcherTimer(); #endregion @@ -242,6 +244,9 @@ namespace JiangsuEarthquake.ViewModels timerDownloadDataMsgHidden.Interval = TimeSpan.FromSeconds(2); timerDownloadDataMsgHidden.Tick += TimerDownloadDataMsgHidden_Tick; + timerAskData.Interval = TimeSpan.FromSeconds(20); + timerAskData.Tick += TimerAskData_Tick; + timerAskDataMsgHidden.Interval = TimeSpan.FromSeconds(2); timerAskDataMsgHidden.Tick += TimerAskDataMsgHidden_Tick; #endregion @@ -250,6 +255,21 @@ namespace JiangsuEarthquake.ViewModels #region Ask Data + private void TimerAskData_Tick(object sender, EventArgs e) + { + if (!AskDataBtnIsReceived) + { + AskDataMsgVisibility = Visibility.Visible; + AskDataMsg = "请求数据发送成功,但未接收到数据!"; + timerAskDataMsgHidden.Start(); + AskDataMsgForeground = new SolidColorBrush(Colors.Red); + AskDataBtnIsEnabled = true; + } + + // 停止定时器 + (sender as DispatcherTimer).Stop(); + } + private void TimerAskDataMsgHidden_Tick(object sender, EventArgs e) { //DownloadDataMsgVisibility = Visibility.Hidden; @@ -258,15 +278,191 @@ namespace JiangsuEarthquake.ViewModels (sender as DispatcherTimer).Stop(); } + private string askDataMsg; + + public string AskDataMsg + { + get { return askDataMsg; } + set { askDataMsg = value; this.DoNotify(); } + } + + private Brush askDataMsgForeground; + + public Brush AskDataMsgForeground + { + get { return askDataMsgForeground; } + set { askDataMsgForeground = value; this.DoNotify(); } + } + + private bool askDataBtnIsEnabled = true; + + public bool AskDataBtnIsEnabled + { + get { return askDataBtnIsEnabled; } + set { askDataBtnIsEnabled = value; this.DoNotify(); } + } + + private bool askDataBtnIsReceived = false; + + public bool AskDataBtnIsReceived + { + get { return askDataBtnIsReceived; } + set { askDataBtnIsReceived = value; this.DoNotify(); } + } + + private Visibility askDataMsgVisibility = Visibility.Visible; + + public Visibility AskDataMsgVisibility + { + get { return askDataMsgVisibility; } + set { askDataMsgVisibility = value; this.DoNotify(); } + } + + private bool mainSeisIsChecked = true; + + public bool MainSeisIsChecked + { + get { return mainSeisIsChecked; } + set { mainSeisIsChecked = value; this.DoNotify(); } + } + + private bool backupSeisIsChecked = false; + + public bool BackupSeisIsChecked + { + get { return backupSeisIsChecked; } + set { backupSeisIsChecked = value; this.DoNotify(); } + } + + List sendDataSeis = new List(); + + private byte[] checkCode { get; set; } = new byte[2]; //从CMD到DATA结束的CRC16校验和 + + private List checkByte { get; set; } = new List(); //校验码Byte + public void AskData(object o) { + AskDataBtnIsEnabled = false; + AskDataBtnIsReceived = false; + + sendDataSeis.Clear(); + sendDataSeis.AddRange(new byte[] { 0xBF, 0x13, 0x97, 0x74 }); //SYNC + sendDataSeis.AddRange(new byte[] { 0xA0, 0x50 }); //CMD + sendDataSeis.AddRange(new byte[] { 0x00, 0x04 }); //LENGTH + + //地震计号 + byte[] numDZJ = new byte[2]; if (station_id == 1) { - + if(MainSeisIsChecked) + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum1"))); + else + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum1"))); } else { - + if (MainSeisIsChecked) + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("MainSeisNum2"))); + else + numDZJ = BitConverter.GetBytes(short.Parse(Tools.GetAppSetting("BackupSeisNum2"))); + } + numDZJ = Tools.PadArrayWithZeros(numDZJ, 2); + + sendDataSeis.AddRange(numDZJ); //DATA + checkByte.Clear(); + checkByte.AddRange(new byte[] { 0xA0, 0x50 }); //CMD + checkByte.AddRange(new byte[] { 0x00, 0x04 }); //LENGTH + checkByte.AddRange(numDZJ); //DATA + checkCode = Tools.CRCCalc(checkByte.ToArray()); //CHK_SUM + sendDataSeis.AddRange(checkCode); + + bool result = false; + if (station_id == 1) + { + if (MainSeisIsChecked) //主地震仪 + { + if (MainWindow.mainViewModel.clientModelMainSeis1.IsConnected) + { + result = MainWindow.mainViewModel.clientModelMainSeis1.SendMessage(sendDataSeis.ToArray()); + } + else + { + AskDataMsgVisibility = Visibility.Visible; + AskDataMsg = "通信未连接!"; + timerAskDataMsgHidden.Start(); + AskDataMsgForeground = new SolidColorBrush(Colors.Red); + AskDataBtnIsEnabled = true; + return; + } + } + else + { + if (MainWindow.mainViewModel.clientModelBackupSeis1.IsConnected) + { + result = MainWindow.mainViewModel.clientModelBackupSeis1.SendMessage(sendDataSeis.ToArray()); + } + else + { + AskDataMsgVisibility = Visibility.Visible; + AskDataMsg = "通信未连接!"; + timerAskDataMsgHidden.Start(); + AskDataMsgForeground = new SolidColorBrush(Colors.Red); + AskDataBtnIsEnabled = true; + return; + } + } + } + else + { + if (MainSeisIsChecked) //主地震仪 + { + if (MainWindow.mainViewModel.clientModelMainSeis2.IsConnected) + { + result = MainWindow.mainViewModel.clientModelMainSeis2.SendMessage(sendDataSeis.ToArray()); + } + else + { + AskDataMsgVisibility = Visibility.Visible; + AskDataMsg = "通信未连接!"; + timerAskDataMsgHidden.Start(); + AskDataMsgForeground = new SolidColorBrush(Colors.Red); + AskDataBtnIsEnabled = true; + return; + } + } + else + { + if (MainWindow.mainViewModel.clientModelBackupSeis2.IsConnected) + { + result = MainWindow.mainViewModel.clientModelBackupSeis2.SendMessage(sendDataSeis.ToArray()); + } + else + { + AskDataMsgVisibility = Visibility.Visible; + AskDataMsg = "通信未连接!"; + timerAskDataMsgHidden.Start(); + AskDataMsgForeground = new SolidColorBrush(Colors.Red); + AskDataBtnIsEnabled = true; + return; + } + } + } + + if (result) + { + AskDataMsgVisibility = Visibility.Visible; + AskDataMsg = "请求调零开启发送成功!"; + timerAskDataMsgHidden.Start(); + AskDataMsgForeground = new SolidColorBrush(Colors.Green); + timerAskData.Start(); + } + else + { + AskDataMsgVisibility = Visibility.Visible; + AskDataMsg = "请求调零开启发送失败!"; + timerAskDataMsgHidden.Start(); + AskDataMsgForeground = new SolidColorBrush(Colors.Red); + AskDataBtnIsEnabled = true; } } #endregion diff --git a/JiangsuEarthquake/JiangsuEarthquake/Views/SeismometerStateDataView.xaml b/JiangsuEarthquake/JiangsuEarthquake/Views/SeismometerStateDataView.xaml index c336db1..a4036de 100644 --- a/JiangsuEarthquake/JiangsuEarthquake/Views/SeismometerStateDataView.xaml +++ b/JiangsuEarthquake/JiangsuEarthquake/Views/SeismometerStateDataView.xaml @@ -177,15 +177,15 @@ - + - + - + @@ -296,17 +296,23 @@ + + + + + - - - + + diff --git a/JiangsuEarthquake/JiangsuEarthquake/Views/SystemControlView.xaml b/JiangsuEarthquake/JiangsuEarthquake/Views/SystemControlView.xaml index 8cd76e5..a2b4277 100644 --- a/JiangsuEarthquake/JiangsuEarthquake/Views/SystemControlView.xaml +++ b/JiangsuEarthquake/JiangsuEarthquake/Views/SystemControlView.xaml @@ -147,9 +147,6 @@ - - - @@ -301,158 +298,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -545,7 +392,7 @@ - + @@ -639,8 +486,323 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -670,7 +832,7 @@ - - -