添加扫描重连功能周期1分钟
This commit is contained in:
commit
549700ee2d
2 files changed
+62
-58
No files matched your search
+20
-28
@@ -97,9 +97,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
dat_821.Add("INSTRUCTION", "CONTINUE");
|
||||
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
||||
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, 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() });
|
||||
}
|
||||
|
||||
Insert.IsEnabled = false;
|
||||
@@ -116,9 +115,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
dat_821.Add("INSTRUCTION", "PAUSE");
|
||||
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
||||
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, 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() });
|
||||
}
|
||||
Insert.IsEnabled = true;
|
||||
edit.IsEnabled = true;
|
||||
@@ -135,9 +133,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
dat_821.Add("INSTRUCTION", "STOP");
|
||||
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
||||
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.MachiensTcpClient[index].SendAsync("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() });
|
||||
}
|
||||
}//停止
|
||||
private void ListViewItem_edit(object sender, MouseButtonEventArgs e)
|
||||
@@ -168,9 +165,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
|
||||
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
||||
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.MachiensTcpClient[index].SendAsync("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() });
|
||||
}
|
||||
|
||||
private void ListViewItem_Jump(object sender, MouseButtonEventArgs e)
|
||||
@@ -201,9 +197,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
|
||||
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
||||
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.MachiensTcpClient[index].SendAsync("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() });
|
||||
}
|
||||
private void ListViewItem_Delete(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
@@ -215,8 +210,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
dat_821.Add("ID", ID);
|
||||
DataRow drEmployee = MainWindowViewModel.Machines.Select("NAME='" + machine + "'").First();
|
||||
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, 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() });
|
||||
|
||||
}
|
||||
}//删除
|
||||
@@ -244,9 +239,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
{
|
||||
if (machines_info == 0)
|
||||
{
|
||||
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));
|
||||
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID=index,
|
||||
DAT= "SC832" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) });
|
||||
}//信息
|
||||
else if (machines_info == 1)
|
||||
{
|
||||
@@ -254,9 +248,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
}//输送状态
|
||||
else if (machines_info == 2)
|
||||
{
|
||||
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));
|
||||
MainWindowViewModel.stringQueue.Enqueue(new MainWindowViewModel.QueueString { ID = index,
|
||||
DAT = "SC833" + MainWindowViewModel.Selet_Machines(MainWindowViewModel.Machines, "SYSKEY", index) });
|
||||
}//单据
|
||||
}
|
||||
else
|
||||
@@ -266,9 +259,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
|
||||
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.MachiensTcpClient[index].SendAsync("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) });
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -277,8 +269,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
||||
}
|
||||
catch (Exception )
|
||||
{
|
||||
// MainWindowViewModel.MachineLOG = null;
|
||||
// MainWindowViewModel.dt_TP.Clear();
|
||||
MainWindowViewModel.MachineLOG = null;
|
||||
MainWindowViewModel.dt_TP.Clear();
|
||||
}//返回错误为空
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,13 +87,6 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
timer1s.Tick += Tick_Event_1S;
|
||||
timer1s.Start();
|
||||
|
||||
DispatcherTimer timer5s = new DispatcherTimer//初始化循环,每1秒调用一次Tick
|
||||
{
|
||||
Interval = TimeSpan.FromSeconds(5)//秒
|
||||
};
|
||||
timer5s.Tick += Tick_Event_5S;
|
||||
timer5s.Start();
|
||||
|
||||
//设置定时器
|
||||
DispatcherTimer disTimer = new DispatcherTimer
|
||||
{
|
||||
@@ -109,6 +102,18 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
dis50ms.Tick += new EventHandler(DisTimer_50MS);//每一秒执行的方法
|
||||
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
|
||||
{
|
||||
Sys_Time = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
||||
@@ -119,46 +124,53 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
{
|
||||
MachiensTcpClient[i].SendAsync("SC830"+ Selet_Machines(Machines, "SYSKEY", i).ToString());
|
||||
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++)
|
||||
{
|
||||
string mac_s = Selet_Machines(Machines, "State", i).ToString();
|
||||
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() });//信息插入队列
|
||||
|
||||
// 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++)
|
||||
{
|
||||
if (Selet_Machines(Machines, "State", i).ToString() == "801")
|
||||
{
|
||||
MachiensTcpClient[i].SendAsync("SC800:SCCM[" + MachiensTcpClient[i].IP + ";" + MachiensTcpClient[i].Port + "]");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
void DisTimer_500MS(object sender, EventArgs e)//Tick_Event周期执行事件500MS
|
||||
void Tick_Event_60S()
|
||||
{
|
||||
DATA_view();
|
||||
|
||||
|
||||
}
|
||||
void DisTimer_50MS(object sender, EventArgs e)//Tick_Event周期执行事件50MS
|
||||
{
|
||||
if (stringQueue.Count > 0) //信息发送队列
|
||||
for (int i = 0; i < Machinesdata_Count; i++)
|
||||
{
|
||||
QueueString t= stringQueue.Dequeue();
|
||||
MachiensTcpClient[t.ID].SendAsync(t.DAT);
|
||||
MachiensTcpClient[i] = new TcpClient();
|
||||
DataRow dt = machinesdata[i];
|
||||
Updata_Machines(Machines, "State", Convert.ToInt16(dt["ID"]), "800");
|
||||
_ = AsyncTcpClient.TcpClient(MachiensTcpClient[i] //建立tcp连接
|
||||
, Selet_Machines(Machines, "IP", Convert.ToInt16(dt["ID"])).ToString()
|
||||
, Selet_Machines(Machines, "PORT", Convert.ToInt16(dt["ID"])).ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||
@@ -173,16 +185,16 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
|
||||
CountDown();
|
||||
TcpClientNEW();
|
||||
SQL_LINK();
|
||||
|
||||
SQL_LINK();
|
||||
}
|
||||
|
||||
public static TcpClient[] MachiensTcpClient = new TcpClient[999];
|
||||
public DataRow[] machinesdata = new DataRow[999];
|
||||
public int Machinesdata_Count;
|
||||
public void TcpClientNEW()
|
||||
{
|
||||
// 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();
|
||||
|
||||
for (int i = 0; i < Machinesdata_Count; i++)
|
||||
|
||||
Reference in new issue
Block a user