添加扫描重连功能周期1分钟
This commit is contained in:
commit
549700ee2d
2 files changed
+56
-52
No files matched your search
+20
-28
@@ -97,9 +97,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
dat_821.Add("INSTRUCTION", "CONTINUE");
|
dat_821.Add("INSTRUCTION", "CONTINUE");
|
||||||
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
||||||
int index = Convert.ToInt16(drEmployee.Field<object>("ID"));
|
int index = Convert.ToInt16(drEmployee.Field<object>("ID"));
|
||||||
// MainWindowViewModel.MachiensTcpClient[index].SendAsync("SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString());
|
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index,
|
||||||
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index, DAT = "SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString() });
|
DAT = "SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString() });
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Insert.IsEnabled = false;
|
Insert.IsEnabled = false;
|
||||||
@@ -116,9 +115,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
dat_821.Add("INSTRUCTION", "PAUSE");
|
dat_821.Add("INSTRUCTION", "PAUSE");
|
||||||
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
||||||
int index = Convert.ToInt16(drEmployee.Field<object>("ID"));
|
int index = Convert.ToInt16(drEmployee.Field<object>("ID"));
|
||||||
// MainWindowViewModel.MachiensTcpClient[index].SendAsync("SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString());
|
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index,
|
||||||
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index, DAT = "SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString() });
|
DAT = "SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString() });
|
||||||
|
|
||||||
}
|
}
|
||||||
Insert.IsEnabled = true;
|
Insert.IsEnabled = true;
|
||||||
edit.IsEnabled = true;
|
edit.IsEnabled = true;
|
||||||
@@ -135,9 +133,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
dat_821.Add("INSTRUCTION", "STOP");
|
dat_821.Add("INSTRUCTION", "STOP");
|
||||||
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
||||||
int index = Convert.ToInt16(drEmployee.Field<object>("ID"));
|
int index = Convert.ToInt16(drEmployee.Field<object>("ID"));
|
||||||
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index, DAT = "SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString() });
|
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index,
|
||||||
|
DAT = "SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString() });
|
||||||
// MainWindowViewModel.MachiensTcpClient[index].SendAsync("SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index)+dat_821.ToJsonString());
|
|
||||||
}
|
}
|
||||||
}//停止
|
}//停止
|
||||||
private void ListViewItem_edit(object sender, MouseButtonEventArgs e)
|
private void ListViewItem_edit(object sender, MouseButtonEventArgs e)
|
||||||
@@ -168,9 +165,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
|
|
||||||
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
||||||
int index = Convert.ToInt16(drEmployee.Field<object>("ID"));
|
int index = Convert.ToInt16(drEmployee.Field<object>("ID"));
|
||||||
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index, DAT = "SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString() });
|
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index,
|
||||||
|
DAT = "SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString() });
|
||||||
// MainWindowViewModel.MachiensTcpClient[index].SendAsync("SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ListViewItem_Jump(object sender, MouseButtonEventArgs e)
|
private void ListViewItem_Jump(object sender, MouseButtonEventArgs e)
|
||||||
@@ -201,9 +197,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
|
|
||||||
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
||||||
int index = Convert.ToInt16(drEmployee.Field<object>("ID"));
|
int index = Convert.ToInt16(drEmployee.Field<object>("ID"));
|
||||||
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index, DAT = "SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString() });
|
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index,
|
||||||
|
DAT = "SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString() });
|
||||||
// MainWindowViewModel.MachiensTcpClient[index].SendAsync("SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString());
|
|
||||||
}
|
}
|
||||||
private void ListViewItem_Delete(object sender, MouseButtonEventArgs e)
|
private void ListViewItem_Delete(object sender, MouseButtonEventArgs e)
|
||||||
{
|
{
|
||||||
@@ -215,8 +210,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
dat_821.Add("ID", ID);
|
dat_821.Add("ID", ID);
|
||||||
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
||||||
int index = Convert.ToInt16(drEmployee.Field<object>("ID"));
|
int index = Convert.ToInt16(drEmployee.Field<object>("ID"));
|
||||||
// MainWindowViewModel.MachiensTcpClient[index].SendAsync("SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString());
|
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index,
|
||||||
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index, DAT = "SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString() });
|
DAT = "SC821" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) + dat_821.ToJsonString() });
|
||||||
|
|
||||||
}
|
}
|
||||||
}//删除
|
}//删除
|
||||||
@@ -244,9 +239,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
{
|
{
|
||||||
if (machines_info == 0)
|
if (machines_info == 0)
|
||||||
{
|
{
|
||||||
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID=index,DAT= "SC832" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) });
|
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID=index,
|
||||||
|
DAT= "SC832" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) });
|
||||||
// MainWindowViewModel.MachiensTcpClient[index].SendAsync("SC832" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index));
|
|
||||||
}//信息
|
}//信息
|
||||||
else if (machines_info == 1)
|
else if (machines_info == 1)
|
||||||
{
|
{
|
||||||
@@ -254,9 +248,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
}//输送状态
|
}//输送状态
|
||||||
else if (machines_info == 2)
|
else if (machines_info == 2)
|
||||||
{
|
{
|
||||||
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index, DAT = "SC833" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) });
|
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index,
|
||||||
|
DAT = "SC833" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) });
|
||||||
// MainWindowViewModel.MachiensTcpClient[index].SendAsync("SC833" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index));
|
|
||||||
}//单据
|
}//单据
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -266,9 +259,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
|
|
||||||
if ((State_ == 101) || (State_ == 201) || (State_ == 202) || (State_ == 309))//获得细节信息
|
if ((State_ == 101) || (State_ == 201) || (State_ == 202) || (State_ == 309))//获得细节信息
|
||||||
{
|
{
|
||||||
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index, DAT = "SC831" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) });
|
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index,
|
||||||
|
DAT = "SC831" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) });
|
||||||
// MainWindowViewModel.MachiensTcpClient[index].SendAsync("SC831" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -277,8 +269,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
}
|
}
|
||||||
catch (Exception )
|
catch (Exception )
|
||||||
{
|
{
|
||||||
// MainWindowViewModel.MachineLOG = null;
|
MainWindowViewModel.MachineLOG = null;
|
||||||
// MainWindowViewModel.dt_TP.Clear();
|
MainWindowViewModel.dt_TP.Clear();
|
||||||
}//返回错误为空
|
}//返回错误为空
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,13 +87,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
|||||||
timer1s.Tick += Tick_Event_1S;
|
timer1s.Tick += Tick_Event_1S;
|
||||||
timer1s.Start();
|
timer1s.Start();
|
||||||
|
|
||||||
DispatcherTimer timer5s = new DispatcherTimer//初始化循环,每1秒调用一次Tick
|
|
||||||
{
|
|
||||||
Interval = TimeSpan.FromSeconds(5)//秒
|
|
||||||
};
|
|
||||||
timer5s.Tick += Tick_Event_5S;
|
|
||||||
timer5s.Start();
|
|
||||||
|
|
||||||
//设置定时器
|
//设置定时器
|
||||||
DispatcherTimer disTimer = new DispatcherTimer
|
DispatcherTimer disTimer = new DispatcherTimer
|
||||||
{
|
{
|
||||||
@@ -109,6 +102,18 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
|||||||
dis50ms.Tick += new EventHandler(DisTimer_50MS);//每一秒执行的方法
|
dis50ms.Tick += new EventHandler(DisTimer_50MS);//每一秒执行的方法
|
||||||
dis50ms.Start();//计时开始
|
dis50ms.Start();//计时开始
|
||||||
}//时间周期初始化
|
}//时间周期初始化
|
||||||
|
void DisTimer_500MS(object sender, EventArgs e)//Tick_Event周期执行事件500MS
|
||||||
|
{
|
||||||
|
DATA_view();
|
||||||
|
}
|
||||||
|
void DisTimer_50MS(object sender, EventArgs e)//Tick_Event周期执行事件50MS
|
||||||
|
{
|
||||||
|
if (stringQueue.Count > 0) //信息发送队列
|
||||||
|
{
|
||||||
|
QueueString t = stringQueue.Dequeue();
|
||||||
|
MachiensTcpClient[t.ID].SendAsync(t.DAT);
|
||||||
|
}
|
||||||
|
}
|
||||||
void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
|
void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
|
||||||
{
|
{
|
||||||
Sys_Time = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
Sys_Time = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
||||||
@@ -119,8 +124,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
|||||||
{
|
{
|
||||||
MachiensTcpClient[i].SendAsync("SC830"+ Selet_Machines(Machines, "SYSKEY", i).ToString());
|
MachiensTcpClient[i].SendAsync("SC830"+ Selet_Machines(Machines, "SYSKEY", i).ToString());
|
||||||
Updata_Machines(Machines, "State", i, "101");
|
Updata_Machines(Machines, "State", i, "101");
|
||||||
// DataRow dt = machinesdata[i];
|
|
||||||
//Updata_Machines(Machines, Convert.ToInt16(dt["ID"]), "State", "800");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int i = 0; i < Machinesdata_Count; i++)
|
for (int i = 0; i < Machinesdata_Count; i++)
|
||||||
@@ -129,14 +132,25 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
|||||||
if ((mac_s == "101") || (mac_s == "201") || (mac_s == "202") || (mac_s == "309"))//获取信息
|
if ((mac_s == "101") || (mac_s == "201") || (mac_s == "202") || (mac_s == "309"))//获取信息
|
||||||
{
|
{
|
||||||
stringQueue.Enqueue(new QueueString { ID = i, DAT = "SC830" + Selet_Machines(Machines, "SYSKEY", i).ToString() });//信息插入队列
|
stringQueue.Enqueue(new QueueString { ID = i, DAT = "SC830" + Selet_Machines(Machines, "SYSKEY", i).ToString() });//信息插入队列
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// MachiensTcpClient[i].SendAsync("SC830" + Selet_Machines(Machines, "SYSKEY", i).ToString());
|
if (Time5 > 5)
|
||||||
|
{
|
||||||
|
Tick_Event_5S();
|
||||||
|
Time5 = 0;
|
||||||
}
|
}
|
||||||
|
else { Time5++; }
|
||||||
|
if (Time60 > 60)
|
||||||
|
{
|
||||||
|
Tick_Event_60S();
|
||||||
|
Time60= 0;
|
||||||
}
|
}
|
||||||
|
else { Time60++; }
|
||||||
}
|
}
|
||||||
void Tick_Event_5S(object sender, EventArgs e)//Tick_Event周期执行事件5S
|
int Time5=0,Time60;
|
||||||
|
void Tick_Event_5S()//Tick_Event周期执行事件5S
|
||||||
{
|
{
|
||||||
|
|
||||||
for (int i = 0; i < Machinesdata_Count; i++)
|
for (int i = 0; i < Machinesdata_Count; i++)
|
||||||
{
|
{
|
||||||
if (Selet_Machines(Machines, "State", i).ToString() == "801")
|
if (Selet_Machines(Machines, "State", i).ToString() == "801")
|
||||||
@@ -145,18 +159,16 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void DisTimer_500MS(object sender, EventArgs e)//Tick_Event周期执行事件500MS
|
void Tick_Event_60S()
|
||||||
{
|
{
|
||||||
DATA_view();
|
for (int i = 0; i < Machinesdata_Count; i++)
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
void DisTimer_50MS(object sender, EventArgs e)//Tick_Event周期执行事件50MS
|
|
||||||
{
|
{
|
||||||
if (stringQueue.Count > 0) //信息发送队列
|
MachiensTcpClient[i] = new TcpClient();
|
||||||
{
|
DataRow dt = machinesdata[i];
|
||||||
QueueString t= stringQueue.Dequeue();
|
Updata_Machines(Machines, "State", Convert.ToInt16(dt["ID"]), "800");
|
||||||
MachiensTcpClient[t.ID].SendAsync(t.DAT);
|
_ = AsyncTcpClient.TcpClient(MachiensTcpClient[i] //建立tcp连接
|
||||||
|
, Selet_Machines(Machines, "IP", Convert.ToInt16(dt["ID"])).ToString()
|
||||||
|
, Selet_Machines(Machines, "PORT", Convert.ToInt16(dt["ID"])).ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -174,15 +186,15 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
|||||||
CountDown();
|
CountDown();
|
||||||
TcpClientNEW();
|
TcpClientNEW();
|
||||||
SQL_LINK();
|
SQL_LINK();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static TcpClient[] MachiensTcpClient = new TcpClient[999];
|
public static TcpClient[] MachiensTcpClient = new TcpClient[999];
|
||||||
|
public DataRow[] machinesdata = new DataRow[999];
|
||||||
public int Machinesdata_Count;
|
public int Machinesdata_Count;
|
||||||
public void TcpClientNEW()
|
public void TcpClientNEW()
|
||||||
{
|
{
|
||||||
// bool Machine_ ;
|
// bool Machine_ ;
|
||||||
DataRow[] machinesdata = Machines.Select("PORT>0 AND IP<>''", "id asc");//获取连接有效的组
|
machinesdata = Machines.Select("PORT>0 AND IP<>''", "id asc");//获取连接有效的组
|
||||||
Machinesdata_Count = machinesdata.Count();
|
Machinesdata_Count = machinesdata.Count();
|
||||||
|
|
||||||
for (int i = 0; i < Machinesdata_Count; i++)
|
for (int i = 0; i < Machinesdata_Count; i++)
|
||||||
|
|||||||
Reference in new issue
Block a user