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

merge origin

parents 6e241f93 e3cca5ae
This diff is collapsed.
......@@ -76,12 +76,12 @@ namespace ModbusDemo
int mqttPort;
string mqttUsername;
string mqttPwd;
byte[] LevelmodbusID = { 6, 3};
byte[] LevelmodbusID = { 6, 13};
public const string mqttSn = "66666666";
public const string mqttSubscribeControlTopic = "Witium/WTDS78X/" + mqttSn + "/Ctrl";
public const string mqttBackTopic = "Witium/WTDS78X/" + mqttSn + "/Back";
public const string mqttCfgTopic = "Witium/WTDS78X/" + mqttSn + "/Config";
public const string mqttCfgResTopic = "Witium/WTDS78X/" + mqttSn + "/Back";
public const string mqttCfgResTopic = "Witium/WTDS78X/" + mqttSn + "/CfgRes";
public const string mqttTopic = "Witium/WTDS78X/" + mqttSn + "/Data";
public const string sAlarmTopic = "Witium/WTDS78X/" + mqttSn + "/Alarm";
string mqttData;//数据
......@@ -373,10 +373,13 @@ namespace ModbusDemo
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)
{
AutoControl.Control usEcontrol = new AutoControl.Control();
AutoControl.Control usWcontrol = new AutoControl.Control();
FileInfo file = new FileInfo(InIHelper.FileName);
if (ModualControl.cPoolLevelConfig.Count != 0)
{
for (int i = 0; i < ModualControl.cPoolLevelConfig.Count; i++)
......@@ -385,15 +388,15 @@ namespace ModbusDemo
{
if (ModualPoll.cx18x.byModbusID[j] == LevelmodbusID[0])
{
usEcontrol.realTimeLevel =
usWcontrol.realTimeLevel =
ModualPoll.cx18x.sX18xDataStruct[j].dNowConvertData[0];
usEcontrol.modularx = j;
usWcontrol.modularx = j;
}
if (ModualPoll.cx18x.byModbusID[j] == LevelmodbusID[1])
{
usWcontrol.realTimeLevel =
usEcontrol.realTimeLevel =
ModualPoll.cx18x.sX18xDataStruct[j].dNowConvertData[0];
usWcontrol.modularx = j;
usEcontrol.modularx = j;
}
}
if (ModualControl.cPoolLevelConfig[i].byModbusID == LevelmodbusID[0])
......@@ -402,11 +405,13 @@ namespace ModbusDemo
usWcontrol.minLevel = ModualControl.cPoolLevelConfig[i].dDownLevel;
usWcontrol.Name = "西·中转池";
usWcontrol.Enablation = true;
AutoControl.CriticalValueMonitoring(true,
InIHelper.WriteConfig("Channel number", "西液位通道", usWcontrol.modularx.ToString());
AutoControl.CriticalValueMonitoring(ref usWcontrol,
true,
"西·中转池",
out usWcontrol
out usWcontrolB
);
InIHelper.WriteConfig("Channel number", "西液位通道", usWcontrol.modularx.ToString());
ModualControl.cPoolLevelConfig.Remove(ModualControl.cPoolLevelConfig[i]);
}
if (ModualControl.cPoolLevelConfig[i].byModbusID == LevelmodbusID[1])
{
......@@ -414,37 +419,44 @@ namespace ModbusDemo
usEcontrol.minLevel = ModualControl.cPoolLevelConfig[i].dDownLevel;
usEcontrol.Name = "东·中转池";
usEcontrol.Enablation = true;
AutoControl.CriticalValueMonitoring(true,
InIHelper.WriteConfig("Channel number", "东液位通道", usEcontrol.modularx.ToString());
AutoControl.CriticalValueMonitoring(
ref usEcontrol,
true,
"东·中转池",
out usEcontrol
out usEcontrolB
);
InIHelper.WriteConfig("Channel number", "东液位通道", usEcontrol.modularx.ToString());
ModualControl.cPoolLevelConfig.Remove(ModualControl.cPoolLevelConfig[i]);
}
}
AutoControl.Automatic_control(usWcontrol.status, usEcontrol.status);
AutoControl.Automatic_control(usWcontrolB.status, usEcontrolB.status);
}
else if (InIHelper.FileName.Length!= 0)
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>("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(true,
AutoControl.CriticalValueMonitoring(
ref usEcontrol,
true,
"东·中转池",
out usEcontrol
out usEcontrolB
);
AutoControl.CriticalValueMonitoring(true,
AutoControl.CriticalValueMonitoring(
ref usWcontrol,
true,
"西·中转池",
out usWcontrol
out usWcontrolB
);
AutoControl.Automatic_control(usWcontrol.status, usEcontrol.status);
AutoControl.Automatic_control(usWcontrolB.status, usEcontrolB.status);
}
else
{
......
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