Commit a510cf6a authored by leon.huang's avatar leon.huang

add nothing

parent 918658a8
...@@ -49,13 +49,16 @@ namespace ModbusDemo.Common ...@@ -49,13 +49,16 @@ namespace ModbusDemo.Common
} }
public static async Task vPublishAlarmPackageJson(IMqttClient mqttClient) public static async Task vPublishAlarmPackageJson(IMqttClient mqttClient)
{ {
var message = new MqttApplicationMessageBuilder() if (mqttClient.IsConnected == true)
.WithTopic(Form1.sAlarmTopic) {
.WithPayload(sAlarmJson) var message = new MqttApplicationMessageBuilder()
.WithAtMostOnceQoS() .WithTopic(Form1.sAlarmTopic)
.WithRetainFlag(false) .WithPayload(sAlarmJson)
.Build(); .WithAtMostOnceQoS()
await mqttClient.PublishAsync(message); .WithRetainFlag(false)
.Build();
await mqttClient.PublishAsync(message);
}
} }
public static void vSet_Modual_Alarm(byte byModbusID,ushort usAlarmCodde,bool bSetAlarm,byte byCommFailTimes,params string[] strChannalList) public static void vSet_Modual_Alarm(byte byModbusID,ushort usAlarmCodde,bool bSetAlarm,byte byCommFailTimes,params string[] strChannalList)
{ {
......
...@@ -114,7 +114,6 @@ namespace ModbusDemo ...@@ -114,7 +114,6 @@ namespace ModbusDemo
{ {
while (m_Isbgw0_CanContinueRun) while (m_Isbgw0_CanContinueRun)
{ {
int _n = 2;
this.Invoke(new Action(() => this.Invoke(new Action(() =>
{ {
})); }));
...@@ -144,42 +143,46 @@ namespace ModbusDemo ...@@ -144,42 +143,46 @@ namespace ModbusDemo
public List<string> ListHandle = new List<string>(); public List<string> ListHandle = new List<string>();
private async Task Publish() private async Task Publish()
{ {
var message = new MqttApplicationMessageBuilder() if (mqttClient.IsConnected == true)
.WithTopic(mqttTopic)
.WithPayload(mqttData)
.WithAtMostOnceQoS()
.WithRetainFlag(false)
.Build();
if (mqttData != null)
{ {
await mqttClient.PublishAsync(message); var message = new MqttApplicationMessageBuilder()
.WithTopic(mqttTopic)
.WithPayload(mqttData)
.WithAtMostOnceQoS()
.WithRetainFlag(false)
.Build();
if (mqttData != null)
{
await mqttClient.PublishAsync(message);
}
} }
} }
private void vControlResponseBack() private void vControlResponseBack()
{ {
var message = new MqttApplicationMessageBuilder() if (mqttClient.IsConnected == true)
.WithTopic(mqttBackTopic) {
.WithPayload(mqttData_Back) var message = new MqttApplicationMessageBuilder()
.WithAtLeastOnceQoS() .WithTopic(mqttBackTopic)
.WithRetainFlag(false) .WithPayload(mqttData_Back)
.Build(); .WithAtLeastOnceQoS()
<<<<<<< HEAD .WithRetainFlag(false)
mqttClient.PublishAsync(message); .Build();
totxt.Log("我在247,执行了Back"); mqttClient.PublishAsync(message);
======= }
await mqttClient.PublishAsync(message);
>>>>>>> refs/remotes/origin/master
} }
private async Task vCfgResponseBack(string data) private async Task vCfgResponseBack(string data)
{ {
var message = new MqttApplicationMessageBuilder() if (mqttClient.IsConnected == true)
.WithTopic(mqttCfgResTopic) {
.WithPayload(data) var message = new MqttApplicationMessageBuilder()
.WithAtMostOnceQoS() .WithTopic(mqttCfgResTopic)
.WithRetainFlag(false) .WithPayload(data)
.Build(); .WithAtMostOnceQoS()
await mqttClient.PublishAsync(message); .WithRetainFlag(false)
.Build();
await mqttClient.PublishAsync(message);
}
} }
private async Task Subscribe() private async Task Subscribe()
{ {
...@@ -359,7 +362,6 @@ namespace ModbusDemo ...@@ -359,7 +362,6 @@ namespace ModbusDemo
} }
}))); })));
} }
private void vMqtt_Receive_Handle() private void vMqtt_Receive_Handle()
{ {
while (true) while (true)
...@@ -378,127 +380,17 @@ namespace ModbusDemo ...@@ -378,127 +380,17 @@ namespace ModbusDemo
#region modbus线程 #region modbus线程
private static bool bSetDataIsRunning = false; private static bool bSetDataIsRunning = false;
<<<<<<< HEAD
private Thread ModbusPollThread;
private void T_AutoControl()
{
AutoControl.Control usEcontrol = new AutoControl.Control();
AutoControl.Control usEcontrolB = new AutoControl.Control();
AutoControl.Control usWcontrol = new AutoControl.Control();
AutoControl.Control usWcontrolB = new AutoControl.Control();
while (true)
{
FileInfo file = new FileInfo(InIHelper.FileName);
if (ModualControl.cPoolLevelConfig.Count != 0)
{
for (int i = 0; i < ModualControl.cPoolLevelConfig.Count; i++)
{
for (int j = 0; j < ModualPoll.byX18xNumber; j++)
{
if (ModualPoll.cx18x.byModbusID[j] == LevelmodbusID[0])
{
usWcontrol.realTimeLevel =
ModualPoll.cx18x.sX18xDataStruct[j].dNowConvertData[0];
usWcontrol.modularx = j;
usWcontrol.modbusID = LevelmodbusID[0];
}
if (ModualPoll.cx18x.byModbusID[j] == LevelmodbusID[1])
{
usEcontrol.realTimeLevel =
ModualPoll.cx18x.sX18xDataStruct[j].dNowConvertData[0];
usEcontrol.modularx = j;
usEcontrol.modbusID = LevelmodbusID[1];
}
}
if (ModualControl.cPoolLevelConfig[i].byModbusID == LevelmodbusID[0])
{
usWcontrol.maxLevel = ModualControl.cPoolLevelConfig[i].dUpLevel;
usWcontrol.minLevel = ModualControl.cPoolLevelConfig[i].dDownLevel;
usWcontrol.Name = "西·中转池";
usWcontrol.Enablation = true;
InIHelper.WriteConfig("Channel number", "西液位通道", usWcontrol.modularx.ToString());
AutoControl.CriticalValueMonitoring(ref usWcontrol,
true,
"西·中转池",
out usWcontrolB
);
ModualControl.cPoolLevelConfig.Remove(ModualControl.cPoolLevelConfig[i]);
}
if (ModualControl.cPoolLevelConfig[i].byModbusID == LevelmodbusID[1])
{
usEcontrol.maxLevel = ModualControl.cPoolLevelConfig[i].dUpLevel;
usEcontrol.minLevel = ModualControl.cPoolLevelConfig[i].dDownLevel;
usEcontrol.Name = "东·中转池";
usEcontrol.Enablation = true;
InIHelper.WriteConfig("Channel number", "东液位通道", usEcontrol.modularx.ToString());
AutoControl.CriticalValueMonitoring(
ref usEcontrol,
true,
"东·中转池",
out usEcontrolB
);
ModualControl.cPoolLevelConfig.Remove(ModualControl.cPoolLevelConfig[i]);
}
}
AutoControl.Automatic_control(usWcontrolB.status, usEcontrolB.status);
}
else if (file.Length != 0)
{
usEcontrol.modularx = InIHelper.ReadConfig<int>("Channel number", "东液位通道");
usWcontrol.modularx = InIHelper.ReadConfig<int>("Channel number", "西液位通道");
usWcontrol.maxLevel = InIHelper.ReadConfig<float>("MaxLevel", "西·中转池");
usWcontrol.minLevel = InIHelper.ReadConfig<float>("MinLevel", "西·中转池");
usEcontrol.maxLevel = InIHelper.ReadConfig<float>("MaxLevel", "东·中转池");
usEcontrol.minLevel = InIHelper.ReadConfig<float>("MinLevel", "东·中转池");
usEcontrol.realTimeLevel =
ModualPoll.cx18x.sX18xDataStruct[usEcontrol.modularx].dNowConvertData[0];
usWcontrol.realTimeLevel =
ModualPoll.cx18x.sX18xDataStruct[usWcontrol.modularx].dNowConvertData[0];
AutoControl.CriticalValueMonitoring(
ref usEcontrol,
true,
"东·中转池",
out usEcontrolB
);
AutoControl.CriticalValueMonitoring(
ref usWcontrol,
true,
"西·中转池",
out usWcontrolB
);
AutoControl.Automatic_control(usWcontrolB.status, usEcontrolB.status);
}
else
{
usWcontrol.status = false;
usEcontrol.status = false;
AutoControl.Automatic_control(usWcontrol.status, usEcontrol.status);
totxt.Log("Self - control has not started");
}
}
}
=======
private Thread ModbusPollThread; private Thread ModbusPollThread;
>>>>>>> refs/remotes/origin/master
private void vModbusPoll() private void vModbusPoll()
{ {
while (true) while (true)
{ {
Parallel.Invoke( bSetDataIsRunning = true;
() => ModualPoll.vAllNodePoll();
{ mqttData = ModualPoll.stAll_Poll_Package();
bSetDataIsRunning = true; ModualPoll.vCheckAlarm_And_Send(mqttClient);
ModualPoll.vAllNodePoll(); label5.Text = ModbusComm.usCommunFailTimes.ToString();
mqttData = ModualPoll.stAll_Poll_Package();
ModualPoll.vCheckAlarm_And_Send(mqttClient);
label5.Text = ModbusComm.usCommunFailTimes.ToString();
},
() =>
{
AutoControl.T_AutoControl();
})
;
} }
} }
private void Sendout() private void Sendout()
...@@ -1104,12 +996,10 @@ namespace ModbusDemo ...@@ -1104,12 +996,10 @@ namespace ModbusDemo
{ {
} }
<<<<<<< HEAD
private async void SubscribeBut_Click(object sender, EventArgs e)
=======
private void SubscribeBut_Click(object sender, EventArgs e) private void SubscribeBut_Click(object sender, EventArgs e)
>>>>>>> refs/remotes/origin/master
{ {
} }
...@@ -1163,29 +1053,15 @@ namespace ModbusDemo ...@@ -1163,29 +1053,15 @@ namespace ModbusDemo
SetMqtt(); SetMqtt();
MQTT_thread = new MethodInvoker(Sendout); MQTT_thread = new MethodInvoker(Sendout);
MQTT_thread.BeginInvoke(null, null); MQTT_thread.BeginInvoke(null, null);
<<<<<<< HEAD
Task.Run(async () => {await ConnectMqttServerAsync(); });
=======
await Task.Run(async () => { await ConnectMqttServerAsync(); }); await Task.Run(async () => { await ConnectMqttServerAsync(); });
>>>>>>> refs/remotes/origin/master
ModbusComm.Modbus = ModbusSerialMaster.CreateRtu(comPort); ModbusComm.Modbus = ModbusSerialMaster.CreateRtu(comPort);
ModbusComm.Modbus.Transport.Retries = 0; ModbusComm.Modbus.Transport.Retries = 0;
ModbusComm.Modbus.Transport.ReadTimeout = 1000; ModbusComm.Modbus.Transport.ReadTimeout = 1000;
ModbusComm.Modbus.Transport.WriteTimeout = 1000; ModbusComm.Modbus.Transport.WriteTimeout = 1000;
ModbusComm.Modbus.Transport.WaitToRetryMilliseconds = 0; 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; modbus_Timer.Enabled = true;
btOpenCOM.Enabled = false; btOpenCOM.Enabled = false;
btCloseCOM.Enabled = true; btCloseCOM.Enabled = true;
...@@ -1223,7 +1099,7 @@ namespace ModbusDemo ...@@ -1223,7 +1099,7 @@ namespace ModbusDemo
} }
private async void run() private async void run()
{ {
comPort.PortName = "COM1"; comPort.PortName = "COM6";
comPort.BaudRate = 9600; comPort.BaudRate = 9600;
comPort.Parity = Parity.None; comPort.Parity = Parity.None;
comPort.StopBits = StopBits.One; comPort.StopBits = StopBits.One;
...@@ -1243,27 +1119,29 @@ namespace ModbusDemo ...@@ -1243,27 +1119,29 @@ namespace ModbusDemo
ModbusComm.Modbus.Transport.WriteTimeout = 1000; ModbusComm.Modbus.Transport.WriteTimeout = 1000;
ModbusComm.Modbus.Transport.WaitToRetryMilliseconds = 0; ModbusComm.Modbus.Transport.WaitToRetryMilliseconds = 0;
//t_AutoControl = new Thread(T_AutoControl)
//{
// IsBackground = true
//};
//t_AutoControl.Start();
modbus_Timer.Enabled = true; modbus_Timer.Enabled = true;
btOpenCOM.Enabled = false; btOpenCOM.Enabled = false;
btCloseCOM.Enabled = true; btCloseCOM.Enabled = true;
if (bCretaThead == false) if (bCretaThead == false)
{ {
bCretaThead = true; if (bCretaThead == false)
ModbusPollThread = new Thread(vModbusPoll); {
ModbusPollThread.Start(); bCretaThead = true;
ModbusPollThread = new Thread(vModbusPoll);
ModbusPollThread.Start();
ModbusPollThread.Priority = ThreadPriority.Normal;
ModbusControlThread = new Thread(ModualControl.vControl_Poll);
ModbusControlThread.Start(); ModbusControlThread = new Thread(ModualControl.vControl_Poll);
} ModbusControlThread.Start();
else ModbusControlThread.Priority = ThreadPriority.BelowNormal;
{
ModbusPollThread.Resume(); MqttReceiveThread = new Thread(vMqtt_Receive_Handle);
MqttReceiveThread.Start();
MqttReceiveThread.Priority = ThreadPriority.AboveNormal;
Task task1 = Task.Factory.StartNew(async() => {await ModualControl.vControl_Res_Poll();});
}
} }
totxt.Log(DateTime.Now.ToString() + " =>Open " + comPort.PortName + " sucessfully!"); totxt.Log(DateTime.Now.ToString() + " =>Open " + comPort.PortName + " sucessfully!");
await Subscribe(); await Subscribe();
......
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