Commit 918658a8 authored by leon.huang's avatar leon.huang

merge origin

parents 4a5bdbd8 fc5bbaa0
This diff is collapsed.
......@@ -32,6 +32,7 @@ namespace ModbusDemo
private int waitTime;
private Thread t_UpgradeConn;
private Thread t_AutoControl;
public delegate void invokeDelegate();
System.Timers.Timer MQTTTimer = new System.Timers.Timer();
BackgroundWorker m_bgw0 = new BackgroundWorker();
......@@ -60,7 +61,9 @@ namespace ModbusDemo
t_UpgradeConn = new Thread(UpgradeProc);
t_UpgradeConn.IsBackground = true;
t_UpgradeConn.Start();
run();
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
System.Environment.Exit(0);
......@@ -76,8 +79,8 @@ namespace ModbusDemo
int mqttPort;
string mqttUsername;
string mqttPwd;
byte[] LevelmodbusID = { 6, 13};
public const string mqttSn = "66666666";
public const string mqttSn = "256333344";
public const string mqttSubscribeControlTopic = "Witium/WTDS78X/" + mqttSn + "/Ctrl";
public const string mqttBackTopic = "Witium/WTDS78X/" + mqttSn + "/Back";
public const string mqttCfgTopic = "Witium/WTDS78X/" + mqttSn + "/Config";
......@@ -160,8 +163,12 @@ namespace ModbusDemo
.WithAtLeastOnceQoS()
.WithRetainFlag(false)
.Build();
<<<<<<< HEAD
mqttClient.PublishAsync(message);
totxt.Log("我在247,执行了Back");
=======
await mqttClient.PublishAsync(message);
>>>>>>> refs/remotes/origin/master
}
private async Task vCfgResponseBack(string data)
......@@ -200,9 +207,6 @@ namespace ModbusDemo
txtReceiveMessage.AppendText($"已订阅[{mqttSubscribeControlTopic}]主题{Environment.NewLine}");
txtReceiveMessage.AppendText($"已订阅[{mqttCfgTopic}]主题{Environment.NewLine}");
//totxt.Log($"已订阅[{mqttSubscribeTopic}]主题{Environment.NewLine}");
//txtReceiveMessage.AppendText($"已订阅[{Data}]主题{Environment.NewLine}");
})));
}
//private async Task ConnectMqttServerAsync()
......@@ -374,6 +378,7 @@ namespace ModbusDemo
#region modbus线程
private static bool bSetDataIsRunning = false;
<<<<<<< HEAD
private Thread ModbusPollThread;
private void T_AutoControl()
......@@ -473,16 +478,27 @@ namespace ModbusDemo
}
}
}
=======
private Thread ModbusPollThread;
>>>>>>> refs/remotes/origin/master
private void vModbusPoll()
{
while (true)
{
Parallel.Invoke(
() =>
{
bSetDataIsRunning = true;
ModualPoll.vAllNodePoll();
mqttData = ModualPoll.stAll_Poll_Package();
ModualPoll.vCheckAlarm_And_Send(mqttClient);
label5.Text = ModbusComm.usCommunFailTimes.ToString();
Thread.Sleep(100);
},
() =>
{
AutoControl.T_AutoControl();
})
;
}
}
private void Sendout()
......@@ -542,8 +558,7 @@ namespace ModbusDemo
}
else
{
//txtbox.Text = message;
//totxt.Log(message);
totxt.Log(message);
}
}
#endregion
......@@ -999,7 +1014,7 @@ namespace ModbusDemo
errCnt++;
Console.WriteLine(DateTime.Now.ToString() + " " + exception.Message);
MessageBox.Show(DateTime.Now.ToString() + " " + exception.Message);
//MessageBox.Show(DateTime.Now.ToString() + " " + exception.Message);
this.UpdateBar.Value = this.UpdateBar.Minimum;
//this.StartTest.Enabled = false;
//this.reset.Enabled = false;
......@@ -1089,13 +1104,18 @@ namespace ModbusDemo
{
}
<<<<<<< HEAD
private async void SubscribeBut_Click(object sender, EventArgs e)
=======
private void SubscribeBut_Click(object sender, EventArgs e)
>>>>>>> refs/remotes/origin/master
{
await Subscribe();
}
[Obsolete]
private void btOpenCOM_Click(object sender, EventArgs e)
private async void btOpenCOM_Click(object sender, EventArgs e)
{
if (LOCALDEBUG == true)
{
......@@ -1143,22 +1163,36 @@ namespace ModbusDemo
SetMqtt();
MQTT_thread = new MethodInvoker(Sendout);
MQTT_thread.BeginInvoke(null, null);
<<<<<<< HEAD
Task.Run(async () => {await ConnectMqttServerAsync(); });
=======
await Task.Run(async () => { await ConnectMqttServerAsync(); });
>>>>>>> refs/remotes/origin/master
ModbusComm.Modbus = ModbusSerialMaster.CreateRtu(comPort);
ModbusComm.Modbus.Transport.Retries = 0;
ModbusComm.Modbus.Transport.ReadTimeout = 1000;
ModbusComm.Modbus.Transport.WriteTimeout = 1000;
ModbusComm.Modbus.Transport.WaitToRetryMilliseconds = 0;
<<<<<<< HEAD
//t_AutoControl = new Thread(T_AutoControl);
//t_AutoControl.IsBackground = true;
//t_AutoControl.Start();
=======
//t_AutoControl = new Thread(T_AutoControl)
//{
// IsBackground = true
//};
//t_AutoControl.Start();
>>>>>>> refs/remotes/origin/master
modbus_Timer.Enabled = true;
btOpenCOM.Enabled = false;
btCloseCOM.Enabled = true;
if (bCretaThead == false)
{
bCretaThead = true;
ModbusPollThread = new Thread (vModbusPoll);
ModbusPollThread = new Thread(vModbusPoll);
ModbusPollThread.Start();
ModbusPollThread.Priority = ThreadPriority.Normal;
......@@ -1178,6 +1212,7 @@ namespace ModbusDemo
ModbusPollThread.Resume();
}
totxt.Log(DateTime.Now.ToString() + " =>Open " + comPort.PortName + " sucessfully!");
await Subscribe();
}
catch (Exception ex)
{
......@@ -1185,7 +1220,60 @@ namespace ModbusDemo
MessageBox.Show("Error: " + ex.Message);
return;
}
}
private async void run()
{
comPort.PortName = "COM1";
comPort.BaudRate = 9600;
comPort.Parity = Parity.None;
comPort.StopBits = StopBits.One;
comPort.DataBits = 8;
try
{
comPort.Open();
isReconnect = true;
SetMqtt();
MQTT_thread = new MethodInvoker(Sendout);
MQTT_thread.BeginInvoke(null, null);
await Task.Run(async () => { await ConnectMqttServerAsync(); });
ModbusComm.Modbus = ModbusSerialMaster.CreateRtu(comPort);
ModbusComm.Modbus.Transport.Retries = 0;
ModbusComm.Modbus.Transport.ReadTimeout = 1000;
ModbusComm.Modbus.Transport.WriteTimeout = 1000;
ModbusComm.Modbus.Transport.WaitToRetryMilliseconds = 0;
//t_AutoControl = new Thread(T_AutoControl)
//{
// IsBackground = true
//};
//t_AutoControl.Start();
modbus_Timer.Enabled = true;
btOpenCOM.Enabled = false;
btCloseCOM.Enabled = true;
if (bCretaThead == false)
{
bCretaThead = true;
ModbusPollThread = new Thread(vModbusPoll);
ModbusPollThread.Start();
ModbusControlThread = new Thread(ModualControl.vControl_Poll);
ModbusControlThread.Start();
}
else
{
ModbusPollThread.Resume();
}
totxt.Log(DateTime.Now.ToString() + " =>Open " + comPort.PortName + " sucessfully!");
await Subscribe();
}
catch (Exception ex)
{
totxt.Log("Error: " + ex.Message);
MessageBox.Show("Error: " + ex.Message);
return;
}
}
[Obsolete]
private void btCloseCOM_Click(object sender, EventArgs e)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment