diff --git a/InSituLaboratory/ViewModels/Pages/RelayViewModel.cs b/InSituLaboratory/ViewModels/Pages/RelayViewModel.cs
index a0a4bfc..76c97c4 100644
--- a/InSituLaboratory/ViewModels/Pages/RelayViewModel.cs
+++ b/InSituLaboratory/ViewModels/Pages/RelayViewModel.cs
@@ -33,7 +33,7 @@ namespace InSituLaboratory.ViewModels.Pages
public class RelayViewModel : ViewModelBase
{
#region Entity
- public ClientModel clientModel { get; set; } = new ClientModel();//Socket 通信类
+ public static ClientModel clientModel { get; set; } = new ClientModel();//Socket 通信类
public SysSensorModel sysSensorModel { get; set; } = new SysSensorModel(); // 传感器表
public SysSensorModels sysSensorModels { get; set; } = new SysSensorModels(); //传感器表
public LogModel logModel { get; set; } //日志记录表
diff --git a/InSituLaboratory/ViewModels/Pages/SequentialDistributionViewModel.cs b/InSituLaboratory/ViewModels/Pages/SequentialDistributionViewModel.cs
index dd28b9a..4710bf8 100644
--- a/InSituLaboratory/ViewModels/Pages/SequentialDistributionViewModel.cs
+++ b/InSituLaboratory/ViewModels/Pages/SequentialDistributionViewModel.cs
@@ -1,4 +1,5 @@
-using InSituLaboratory.Entities;
+using InSituLaboratory.Common;
+using InSituLaboratory.Entities;
using InSituLaboratory.Entities.SqlSugar;
using InSituLaboratory.IService;
using InSituLaboratory.IService.Sensor;
@@ -288,6 +289,10 @@ namespace InSituLaboratory.ViewModels.Pages
int num = 0;
for (int i = 0; i < datalist.Length; i++)
{
+ if (datalist[1].SequenceGroup == datalist[i + 1].SequenceGroup)
+ {
+
+ }
@@ -307,6 +312,73 @@ namespace InSituLaboratory.ViewModels.Pages
}
+
+ ///
+ /// 时序清空
+ ///
+ public override void ClearS1()
+ {
+ if (sequentStatusModel.SequentialStartTime1 == null || sequentStatusModel.SequentialEndTime1 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序1: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x01, 0x02);
+ System.Windows.Forms.MessageBox.Show("命令已下发!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
+
+ ///
+ /// 时序启动
+ ///
+ public override void BeginS1()
+ {
+ if (sequentStatusModel.SequentialStartTime1 == null || sequentStatusModel.SequentialEndTime1 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序1: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x01, 0x03);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
+
+ ///
+ /// 时序暂停
+ ///
+ public override void SuspendS1()
+ {
+ if (sequentStatusModel.SequentialStartTime1 == null || sequentStatusModel.SequentialEndTime1 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序1: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x01, 0x04);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
#endregion
#region 时序 2
@@ -427,6 +499,72 @@ namespace InSituLaboratory.ViewModels.Pages
}
}
+
+ ///
+ /// 时序清空
+ ///
+ public override void ClearS2()
+ {
+ if (sequentStatusModel.SequentialStartTime2 == null || sequentStatusModel.SequentialEndTime2 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序2: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x02, 0x02);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
+
+ ///
+ /// 时序启动
+ ///
+ public override void BeginS2()
+ {
+ if (sequentStatusModel.SequentialStartTime2 == null || sequentStatusModel.SequentialEndTime2 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序2: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x02, 0x03);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
+
+ ///
+ /// 时序暂停
+ ///
+ public override void SuspendS2()
+ {
+ if (sequentStatusModel.SequentialStartTime2 == null || sequentStatusModel.SequentialEndTime2 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序2: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x02, 0x04);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
#endregion
#region 时序 3
@@ -547,6 +685,72 @@ namespace InSituLaboratory.ViewModels.Pages
}
}
+
+ ///
+ /// 时序清空
+ ///
+ public override void ClearS3()
+ {
+ if (sequentStatusModel.SequentialStartTime3 == null || sequentStatusModel.SequentialEndTime3 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序3: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x03, 0x02);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
+
+ ///
+ /// 时序启动
+ ///
+ public override void BeginS3()
+ {
+ if (sequentStatusModel.SequentialStartTime3 == null || sequentStatusModel.SequentialEndTime3 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序3: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x03, 0x03);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
+
+ ///
+ /// 时序暂停
+ ///
+ public override void SuspendS3()
+ {
+ if (sequentStatusModel.SequentialStartTime3 == null || sequentStatusModel.SequentialEndTime3 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序3: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x03, 0x04);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
#endregion
#region 时序 4
@@ -667,6 +871,72 @@ namespace InSituLaboratory.ViewModels.Pages
}
}
+
+ ///
+ /// 时序清空
+ ///
+ public override void ClearS4()
+ {
+ if (sequentStatusModel.SequentialStartTime4 == null || sequentStatusModel.SequentialEndTime4 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序4: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x04, 0x02);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
+
+ ///
+ /// 时序启动
+ ///
+ public override void BeginS4()
+ {
+ if (sequentStatusModel.SequentialStartTime4 == null || sequentStatusModel.SequentialEndTime4 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序4: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x04, 0x03);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
+
+ ///
+ /// 时序暂停
+ ///
+ public override void SuspendS4()
+ {
+ if (sequentStatusModel.SequentialStartTime4 == null || sequentStatusModel.SequentialEndTime4 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序4: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x04, 0x04);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
#endregion
#region 时序 5
@@ -787,6 +1057,72 @@ namespace InSituLaboratory.ViewModels.Pages
}
}
+
+ ///
+ /// 时序清空
+ ///
+ public override void ClearS5()
+ {
+ if (sequentStatusModel.SequentialStartTime5 == null || sequentStatusModel.SequentialEndTime5 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序5: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x05, 0x02);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
+
+ ///
+ /// 时序启动
+ ///
+ public override void BeginS5()
+ {
+ if (sequentStatusModel.SequentialStartTime5 == null || sequentStatusModel.SequentialEndTime5 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序5: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x05, 0x03);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
+
+ ///
+ /// 时序暂停
+ ///
+ public override void SuspendS5()
+ {
+ if (sequentStatusModel.SequentialStartTime5 == null || sequentStatusModel.SequentialEndTime5 == null)
+ {
+ System.Windows.Forms.MessageBox.Show("时序5: 开始时间和结束时间不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ else
+ {
+ if (RelayViewModel.SocketInfo.ConnectionMessage == "断开")
+ {
+ dosend(0x05, 0x04);
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("请先连接服务端!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
#endregion
@@ -852,5 +1188,22 @@ namespace InSituLaboratory.ViewModels.Pages
return buffer;
}
+
+
+ ///
+ /// 命令发送
+ ///
+ /// 时序号
+ /// 操作类型
+ public void dosend(byte x1,byte x2)
+ {
+ //消息体
+ byte[] byteaq = new byte[] { 0x91, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, x1, x2 };
+
+ List buffer = Escape(byteaq);
+ string list = tools.byteToHexStr(buffer.ToArray());
+ byte[] bytea = tools.ConvertHexStringToBytes(list);
+ RelayViewModel.clientModel.SendData(bytea);
+ }
}
}
diff --git a/InSituLaboratory/ViewModels/Pages/ViewModelBase.cs b/InSituLaboratory/ViewModels/Pages/ViewModelBase.cs
index fd0f39c..d79074b 100644
--- a/InSituLaboratory/ViewModels/Pages/ViewModelBase.cs
+++ b/InSituLaboratory/ViewModels/Pages/ViewModelBase.cs
@@ -64,8 +64,8 @@ namespace InSituLaboratory.ViewModels.Pages
public DelegateCommand StartCommand { get; set; }//一键启动
public DelegateCommand SynchronizationCommand { get; set; }//时间同步
-
- #region 时序1-5 刷新 新增/编辑 删除 下发 启动 暂停
+
+ #region 时序1-5 刷新 新增/编辑 删除 下发 启动 暂停 清空
public DelegateCommand RefreshS1Command { get; set; }
public DelegateCommand SendS1Command { get; set; }
@@ -73,6 +73,7 @@ namespace InSituLaboratory.ViewModels.Pages
public DelegateCommand