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

Fix alarm BUG

parent 7891ea44
This diff is collapsed.
......@@ -857,7 +857,6 @@ namespace ModbusDemo.Modular
await Form1.Publish(Form1.sAlarmTopic,ModualAlarm.sAgainAlarmJson);
}
}
public static string vRemove_Nodes_Data_String(string strSendAllDataJson)
{
if (listDeleteNodesID.Count() != 0)
......
This diff is collapsed.
......@@ -33,18 +33,19 @@ namespace ModbusDemo.application
public int modularx;
public byte modbusID;
}
public static byte[] EmodbusId = { 90, 39 }; //39 CH0/1 CH2/3 //90 CH0/1 CH2/3
public static byte[] WmodbusId = {31}; //31 CH2/3 CH4/5
public static byte[] WmodbusId = { 31 }; //31 CH2/3 CH4/5
public static byte[] LevelmodbusID = { 13, 13 }; // CH0 CH3
public static bool[] state_ON = { true, true, true, true};
public static bool[] state_OFF = { false, false, false,false};
public static bool[] state_ON = { true, true, true, true };
public static bool[] state_OFF = { false, false, false, false };
public static bool[] Read_state;
public static bool Etimerun = false;
public static bool Wtimerun = false;
......@@ -184,7 +185,7 @@ namespace ModbusDemo.application
(ushort)ModualAlarm.eAlarmCode.ChannelCommunError, true, 1,
"d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7");
}
if (ModbusComm.Modbus_WriteMultipleCoils(EmodbusId[i+1], 16, state_OFF)
if (ModbusComm.Modbus_WriteMultipleCoils(EmodbusId[i + 1], 16, state_OFF)
==
ModbusComm.eModbusErrorCode.MB_EMASTERNOERR
)
......@@ -292,7 +293,7 @@ namespace ModbusDemo.application
//Console.WriteLine(timespan);
}
}
//static bool Run_flag_bit = false;
public static void T_AutoControl()
{
Control usEcontrol = new Control();
......@@ -300,6 +301,7 @@ namespace ModbusDemo.application
Control usWcontrol = new Control();
Control usWcontrolB = new Control();
FileInfo file = new FileInfo(InIHelper.FileName);
//Run_flag_bit = true;
while (true)
{
if (ModualControl.cPoolLevelConfig.Count != 0)
......@@ -325,7 +327,8 @@ namespace ModbusDemo.application
}
if (ModualControl.cPoolLevelConfig[i].byModbusID == LevelmodbusID[0])
if (ModualControl.cPoolLevelConfig[i].byModbusID == LevelmodbusID[0]
&& ModualControl.cPoolLevelConfig[i].stChannelNumber == "d0")
{
usWcontrol.maxLevel = ModualControl.cPoolLevelConfig[i].dUpLevel;
usWcontrol.minLevel = ModualControl.cPoolLevelConfig[i].dDownLevel;
......@@ -338,7 +341,8 @@ namespace ModbusDemo.application
out usWcontrolB
);
}
if (ModualControl.cPoolLevelConfig[i].byModbusID == LevelmodbusID[1])
if (ModualControl.cPoolLevelConfig[i].byModbusID == LevelmodbusID[1]
&& ModualControl.cPoolLevelConfig[i].stChannelNumber == "d3")
{
usEcontrol.maxLevel = ModualControl.cPoolLevelConfig[i].dUpLevel;
usEcontrol.minLevel = ModualControl.cPoolLevelConfig[i].dDownLevel;
......@@ -369,8 +373,8 @@ namespace ModbusDemo.application
ModualPoll.cx18x.sX18xDataStruct[usEcontrol.modularx].dNowConvertData[0];
usWcontrol.realTimeLevel =
ModualPoll.cx18x.sX18xDataStruct[usWcontrol.modularx].dNowConvertData[3];
usEcontrol.Enablation=true;
usWcontrol.Enablation=true;
usEcontrol.Enablation = true;
usWcontrol.Enablation = true;
CriticalValueMonitoring(
ref usEcontrol,
true,
......@@ -385,16 +389,78 @@ namespace ModbusDemo.application
);
Automatic_control(usEcontrolB.status, usWcontrolB.status);
}
//else if (Run_flag_bit == true)
//{
// if (usEcontrolB.status == true)
// {
// }
// if (usWcontrolB.status == true)
// {
// }
//}
else
{
usWcontrol.status = false;
usEcontrol.status = false;
Automatic_control(usEcontrol.status, usWcontrol.status);
}
//Run_flag_bit = false;
}
}
}
/*
* else
{
if (ModbusComm.Modbus_ReadCoilsTask(out Read_state, EmodbusId[i],16,4)
==
ModbusComm.eModbusErrorCode.MB_EMASTERNOERR)
{
ModualAlarm.vSet_Modual_Alarm(EmodbusId[i],
(ushort)ModualAlarm.eAlarmCode.ChannelCommunError, false, 1,
"d0", "d1", "d2", "d3", "d4", "d5");
ModbusComm.Modbus_WriteMultipleCoils(EmodbusId[i], 16, state_OFF);
}
else
{
ModualAlarm.vSet_Modual_Alarm(EmodbusId[i],
(ushort)ModualAlarm.eAlarmCode.ChannelCommunError, true, 1,
"d0", "d1", "d2", "d3", "d4", "d5");
}
if (ModbusComm.Modbus_ReadCoilsTask(out Read_state, EmodbusId[i+1], 16, 4)
==
ModbusComm.eModbusErrorCode.MB_EMASTERNOERR)
{
ModualAlarm.vSet_Modual_Alarm(EmodbusId[i],
(ushort)ModualAlarm.eAlarmCode.ChannelCommunError, false, 1,
"d0", "d1", "d2", "d3", "d4", "d5");
ModbusComm.Modbus_WriteMultipleCoils(EmodbusId[i+1], 16, state_OFF);
}
else
{
ModualAlarm.vSet_Modual_Alarm(EmodbusId[i+1],
(ushort)ModualAlarm.eAlarmCode.ChannelCommunError, false, 1,
"d0", "d1", "d2", "d3", "d4", "d5");
}
}
if (ModbusComm.Modbus_ReadCoilsTask(out Read_state, WmodbusId[i], 18, 4)
==
ModbusComm.eModbusErrorCode.MB_EMASTERNOERR)
{
ModualAlarm.vSet_Modual_Alarm(EmodbusId[i],
(ushort)ModualAlarm.eAlarmCode.ChannelCommunError, false, 1,
"d0", "d1", "d2", "d3", "d4", "d5");
ModbusComm.Modbus_WriteMultipleCoils(WmodbusId[i], 18, state_OFF);
}
else
{
ModualAlarm.vSet_Modual_Alarm(WmodbusId[i],
(ushort)ModualAlarm.eAlarmCode.ChannelCommunError, true, 1,
"d0", "d1", "d2", "d3", "d4", "d5");
}
*/
#else
public class AutoControl
{
......
......@@ -113,14 +113,22 @@ namespace ModbusDemo.application
}
#endregion
#region 沉砂池开映射
else if (byControlID == 39 && strOperationChannelName[0] == "d4")
else if (byControlID == 90 && strOperationChannelName[0] == "d4")
{
bDelege_Operation = AllPond.cDesiltingPool.cStirrer1.bOpen_Machine;
}
else if (byControlID == 39 && strOperationChannelName[0] == "d5")
else if (byControlID == 90 && strOperationChannelName[0] == "d5")
{
bDelege_Operation = AllPond.cDesiltingPool.cStirrer2.bOpen_Machine;
}
else if (byControlID == 39 && strOperationChannelName[0] == "d4")
{
bDelege_Operation = AllPond.cDesiltingPool.cPumb1.bOpen_Machine;
}
else if (byControlID == 39 && strOperationChannelName[0] == "d5")
{
bDelege_Operation = AllPond.cDesiltingPool.cPumb2.bOpen_Machine;
}
#endregion
#region 出料池开映射
#endregion
......@@ -201,14 +209,22 @@ namespace ModbusDemo.application
}
#endregion
#region 沉砂池关映射
else if (byControlID == 39 && strOperationChannelName[0] == "d4")
else if (byControlID == 90 && strOperationChannelName[0] == "d4")
{
bDelege_Operation = AllPond.cDesiltingPool.cStirrer1.bClose_Machine;
}
else if (byControlID == 39 && strOperationChannelName[0] == "d5")
else if (byControlID == 90 && strOperationChannelName[0] == "d5")
{
bDelege_Operation = AllPond.cDesiltingPool.cStirrer2.bClose_Machine;
}
else if (byControlID == 39 && strOperationChannelName[0] == "d4")
{
bDelege_Operation = AllPond.cDesiltingPool.cPumb1.bClose_Machine;
}
else if (byControlID == 39 && strOperationChannelName[0] == "d5")
{
bDelege_Operation = AllPond.cDesiltingPool.cPumb2.bClose_Machine;
}
#endregion
#region 出料池关映射
#endregion
......
......@@ -26,7 +26,7 @@ namespace ModbusDemo
{
public partial class Form1 : Form
{
const bool LOCALDEBUG = false;
const bool LOCALDEBUG = true;
private bool bStart = false;
AutoResetEvent exitEvent;
private int waitTime;
......
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