Commit 09f7e49d authored by leon.huang's avatar leon.huang

Modify feedback detection and all pool mappings

parent b925a8ff
...@@ -66,19 +66,19 @@ namespace ModbusDemo.Common ...@@ -66,19 +66,19 @@ namespace ModbusDemo.Common
} }
sAgainAlarmJson += JsonConvert.SerializeObject(hMqtttAlarmMap); sAgainAlarmJson += JsonConvert.SerializeObject(hMqtttAlarmMap);
} }
public static async Task vPublishAlarmPackageJson(IMqttClient mqttClient) //public static async Task vPublishAlarmPackageJson(IMqttClient mqttClient)
{ //{
if (mqttClient.IsConnected == true) // if (mqttClient.IsConnected == true)
{ // {
var message = new MqttApplicationMessageBuilder() // var message = new MqttApplicationMessageBuilder()
.WithTopic(Form1.sAlarmTopic) // .WithTopic(Form1.sAlarmTopic)
.WithPayload(sAlarmJson) // .WithPayload(sAlarmJson)
.WithAtMostOnceQoS() // .WithAtMostOnceQoS()
.WithRetainFlag(false) // .WithRetainFlag(false)
.Build(); // .Build();
await mqttClient.PublishAsync(message); // 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)
{ {
for (int i = 0; i < ModualPoll.byX14pNumber;i++) for (int i = 0; i < ModualPoll.byX14pNumber;i++)
......
...@@ -50,7 +50,7 @@ namespace ModbusDemo.MessageFormat ...@@ -50,7 +50,7 @@ namespace ModbusDemo.MessageFormat
if (exception.Source.Equals("System")) if (exception.Source.Equals("System"))
{ {
Console.WriteLine(DateTime.Now.ToString() + " " + exception.Message); Console.WriteLine(DateTime.Now.ToString() + " " + exception.Message);
Form1.totxt.Log(DateTime.Now.ToString() + " " + exception.Message + "Modbus_ReadHoldingRegistersTask"); Form1.totxt.Log(DateTime.Now.ToString() + " " + exception.Message + " "+slaveAddress.ToString()+ " "+startAddress.ToString() + " "+ numberOfPoints.ToString() +" "+"Modbus_ReadHoldingRegistersTask");
OutputValue = new ushort[numberOfPoints]; OutputValue = new ushort[numberOfPoints];
ModbusErrorCode = eModbusErrorCode.MB_ETIMEDOUT; ModbusErrorCode = eModbusErrorCode.MB_ETIMEDOUT;
usCommunFailTimes++; usCommunFailTimes++;
...@@ -135,7 +135,7 @@ namespace ModbusDemo.MessageFormat ...@@ -135,7 +135,7 @@ namespace ModbusDemo.MessageFormat
if (exception.Source.Equals("System")) if (exception.Source.Equals("System"))
{ {
Console.WriteLine(DateTime.Now.ToString() + " " + exception.Message); Console.WriteLine(DateTime.Now.ToString() + " " + exception.Message);
Form1.totxt.Log(DateTime.Now.ToString() + " " + exception.Message + "Modbus_ReadCoilsTask"); Form1.totxt.Log(DateTime.Now.ToString() + " " + exception.Message + " "+slaveAddress.ToString()+ " "+startAddress.ToString() + " "+ numberOfPoints.ToString() +" "+"Modbus_ReadCoilsTask");
OutputValue = new bool[numberOfPoints]; OutputValue = new bool[numberOfPoints];
ModbusErrorCode = eModbusErrorCode.MB_ETIMEDOUT; ModbusErrorCode = eModbusErrorCode.MB_ETIMEDOUT;
usCommunFailTimes++; usCommunFailTimes++;
...@@ -220,7 +220,7 @@ namespace ModbusDemo.MessageFormat ...@@ -220,7 +220,7 @@ namespace ModbusDemo.MessageFormat
if (exception.Source.Equals("System")) if (exception.Source.Equals("System"))
{ {
Console.WriteLine(DateTime.Now.ToString() + " " + exception.Message); Console.WriteLine(DateTime.Now.ToString() + " " + exception.Message);
Form1.totxt.Log(DateTime.Now.ToString() + " " + exception.Message + "Modbus_WriteSingleCoil"); Form1.totxt.Log(DateTime.Now.ToString() + " " + exception.Message + " "+slaveAddress.ToString()+ " "+startAddress.ToString() + " "+" "+"Modbus_WriteSingleCoil");
ModbusErrorCode = eModbusErrorCode.MB_ETIMEDOUT; ModbusErrorCode = eModbusErrorCode.MB_ETIMEDOUT;
usCommunFailTimes++; usCommunFailTimes++;
Console.WriteLine(slaveAddress.ToString()); Console.WriteLine(slaveAddress.ToString());
...@@ -303,7 +303,7 @@ namespace ModbusDemo.MessageFormat ...@@ -303,7 +303,7 @@ namespace ModbusDemo.MessageFormat
if (exception.Source.Equals("System")) if (exception.Source.Equals("System"))
{ {
Console.WriteLine(DateTime.Now.ToString() + " " + exception.Message); Console.WriteLine(DateTime.Now.ToString() + " " + exception.Message);
Form1.totxt.Log(DateTime.Now.ToString() + " " + exception.Message + "Modbus_WriteMultipleCoils"); Form1.totxt.Log(DateTime.Now.ToString() + " " + exception.Message + " "+slaveAddress.ToString()+ " "+startAddress.ToString() + " "+ "Modbus_WriteMultipleCoils");
ModbusErrorCode = eModbusErrorCode.MB_ETIMEDOUT; ModbusErrorCode = eModbusErrorCode.MB_ETIMEDOUT;
usCommunFailTimes++; usCommunFailTimes++;
Console.WriteLine(slaveAddress.ToString()); Console.WriteLine(slaveAddress.ToString());
......
This diff is collapsed.
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath> <OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;DEBUG_TEST</DefineConstants> <DefineConstants>TRACE;DEBUG;DEBUG_TEST1</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit> <Prefer32Bit>false</Prefer32Bit>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -92,6 +92,8 @@ namespace ModbusDemo.application ...@@ -92,6 +92,8 @@ namespace ModbusDemo.application
public bool bHadRefControl; public bool bHadRefControl;
public byte byResModbusID; public byte byResModbusID;
public string strResChannelNumber; public string strResChannelNumber;
public int iRefAlarmCnt = 0;
public int MaxAlarmfeedback = 2;
} }
public class pcMachine : pcOperation public class pcMachine : pcOperation
{ {
...@@ -115,6 +117,10 @@ namespace ModbusDemo.application ...@@ -115,6 +117,10 @@ namespace ModbusDemo.application
{ {
bool[] bControlBit = new bool[bControldata.Count()]; bool[] bControlBit = new bool[bControldata.Count()];
bool bStatus; bool bStatus;
for (int i = 0; i < bControldata.Count();i++)
{
bControlBit[i] = false;
}
for (int i = 0; i < bControldata.Count(); i++) for (int i = 0; i < bControldata.Count(); i++)
{ {
string str= "d"+i.ToString(); string str= "d"+i.ToString();
...@@ -137,6 +143,10 @@ namespace ModbusDemo.application ...@@ -137,6 +143,10 @@ namespace ModbusDemo.application
{ {
bool[] bControlBit = new bool[bControldata.Count()]; bool[] bControlBit = new bool[bControldata.Count()];
bool bStatus; bool bStatus;
for (int i = 0; i < bControldata.Count();i++)
{
bControlBit[i] = false;
}
for (int i = 0; i < bControldata.Count(); i++) for (int i = 0; i < bControldata.Count(); i++)
{ {
string str = "d" + i.ToString(); string str = "d" + i.ToString();
...@@ -203,6 +213,10 @@ namespace ModbusDemo.application ...@@ -203,6 +213,10 @@ namespace ModbusDemo.application
bool bStatus; bool bStatus;
bool bHadOpenButton; bool bHadOpenButton;
bool[] bControlBit = new bool[bControldata.Count()]; bool[] bControlBit = new bool[bControldata.Count()];
for (int i = 0; i < bControldata.Count();i++)
{
bControlBit[i] = false;
}
for (int i = 0; i < bControldata.Count(); i++) for (int i = 0; i < bControldata.Count(); i++)
{ {
string str = "d" + i.ToString(); string str = "d" + i.ToString();
......
...@@ -26,7 +26,7 @@ namespace ModbusDemo ...@@ -26,7 +26,7 @@ namespace ModbusDemo
{ {
public partial class Form1 : Form public partial class Form1 : Form
{ {
const bool LOCALDEBUG = true; const bool LOCALDEBUG = false;
private bool bStart = false; private bool bStart = false;
AutoResetEvent exitEvent; AutoResetEvent exitEvent;
private int waitTime; private int waitTime;
...@@ -80,8 +80,7 @@ namespace ModbusDemo ...@@ -80,8 +80,7 @@ namespace ModbusDemo
int mqttPort; int mqttPort;
string mqttUsername; string mqttUsername;
string mqttPwd; string mqttPwd;
public const string mqttSn = "20193261";
public const string mqttSn = "66666666";
public const string mqttSubscribeControlTopic = "Witium/WTDS78X/" + mqttSn + "/Ctrl"; public const string mqttSubscribeControlTopic = "Witium/WTDS78X/" + mqttSn + "/Ctrl";
public const string mqttBackTopic = "Witium/WTDS78X/" + mqttSn + "/Back"; public const string mqttBackTopic = "Witium/WTDS78X/" + mqttSn + "/Back";
public const string mqttCfgTopic = "Witium/WTDS78X/" + mqttSn + "/Config"; public const string mqttCfgTopic = "Witium/WTDS78X/" + mqttSn + "/Config";
...@@ -96,15 +95,15 @@ namespace ModbusDemo ...@@ -96,15 +95,15 @@ namespace ModbusDemo
{ {
if (LOCALDEBUG == false) if (LOCALDEBUG == false)
{ {
mqttIp = "47.101.50.24"; mqttIp = "120.27.235.39";
mqttClientId = GetTimeStamp() + "sxz"; mqttClientId = GetTimeStamp() + "sxz";
mqttPort = 1883; mqttPort = 1883;
mqttUsername = "root"; mqttUsername = "pasture";
mqttPwd = "public"; mqttPwd = "Pasture37774020";
} }
else else
{ {
mqttIp = "172.16.1.24";//"120.27.235.39" mqttIp = "172.16.1.24";//""
mqttClientId = GetTimeStamp() + "sxz"; mqttClientId = GetTimeStamp() + "sxz";
mqttPort = 1883; mqttPort = 1883;
mqttUsername = "pasture"; mqttUsername = "pasture";
...@@ -156,6 +155,7 @@ namespace ModbusDemo ...@@ -156,6 +155,7 @@ namespace ModbusDemo
if (strJsonPackage != null) if (strJsonPackage != null)
{ {
await mqttClient.PublishAsync(message); await mqttClient.PublishAsync(message);
totxt.Log(strJsonPackage);
} }
} }
} }
...@@ -169,7 +169,12 @@ namespace ModbusDemo ...@@ -169,7 +169,12 @@ namespace ModbusDemo
.WithAtLeastOnceQoS() .WithAtLeastOnceQoS()
.WithRetainFlag(false) .WithRetainFlag(false)
.Build(); .Build();
if (strJsonPackage != null)
{
mqttClient.PublishAsync(message); mqttClient.PublishAsync(message);
totxt.Log(strJsonPackage);
}
} }
} }
...@@ -425,11 +430,9 @@ namespace ModbusDemo ...@@ -425,11 +430,9 @@ namespace ModbusDemo
bSetDataIsRunning = true; bSetDataIsRunning = true;
await Task.Run(() => await Task.Run(() =>
{ {
totxt.Log("开始执行");
ModualPoll.vAllNodePoll(); ModualPoll.vAllNodePoll();
mqttData = ModualPoll.vRemove_Nodes_Data_String(ModualPoll.stAll_Poll_Package()); mqttData = ModualPoll.vRemove_Nodes_Data_String(ModualPoll.stAll_Poll_Package());
ModualPoll.vCheckAlarm_And_Send(mqttClient); ModualPoll.vCheckAlarm_And_Send(mqttClient);
totxt.Log("执行结束");
}); });
bSetDataIsRunning = false; bSetDataIsRunning = false;
} }
...@@ -1146,7 +1149,7 @@ namespace ModbusDemo ...@@ -1146,7 +1149,7 @@ namespace ModbusDemo
MqttReceiveThread.Start(); MqttReceiveThread.Start();
MqttReceiveThread.Priority = ThreadPriority.AboveNormal; MqttReceiveThread.Priority = ThreadPriority.AboveNormal;
Task task1 = Task.Factory.StartNew(async() => {await ModualControl.vControl_Res_Poll();}); Task task1 = Task.Factory.StartNew(async () => { await ModualControl.vControl_Res_Poll(); });
t_AutoControl = new Thread(AtuoControl_run) t_AutoControl = new Thread(AtuoControl_run)
{ {
IsBackground = true IsBackground = true
......
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