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

temperte mergr

parent c089422c
...@@ -9,14 +9,12 @@ using MQTTnet.Client; ...@@ -9,14 +9,12 @@ using MQTTnet.Client;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace ModbusDemo.Common namespace ModbusDemo.Common
{ {
public class ModualAlarm public static class ModualAlarm
{ {
public const ushort usChannelNumber = 8; public const ushort usChannelNumber = 8;
private const string sAlarmTopic = "Witium/WTDS78X/20193261/Alarm"; private const string sAlarmTopic = "Witium/WTDS78X/20193261/Alarm";
public Hashtable hMqtttAlarmMap = new Hashtable(); public static string sAlarmJson;
public bool bErrorHasSend = false; public static string sAlarmJsonPackage;
private string sAlarmJson;
private string sAlarmJsonPackage;
//private IMqttClient mqttClient = null; //private IMqttClient mqttClient = null;
public enum eAlarmCode : ushort public enum eAlarmCode : ushort
{ {
...@@ -26,9 +24,10 @@ namespace ModbusDemo.Common ...@@ -26,9 +24,10 @@ namespace ModbusDemo.Common
ChannelDataRespError = 4, ChannelDataRespError = 4,
ChannelDataChangeError = 8 ChannelDataChangeError = 8
} }
public void vSetAlarmList(ushort usAddress, ushort[] usChannel, ushort[] usChannelAlarmcode,bool bStringIncrease) public static void vSetAlarmList(ushort usAddress, ushort[] usChannel, ushort[] usChannelAlarmcode,bool bStringIncrease)
{ {
ushort i = 0; ushort i = 0;
Hashtable hMqtttAlarmMap = new Hashtable();
hMqtttAlarmMap.Add("addr", usAddress.ToString()); hMqtttAlarmMap.Add("addr", usAddress.ToString());
string sAlarm = "alm"; string sAlarm = "alm";
foreach (ushort usdata in usChannelAlarmcode) foreach (ushort usdata in usChannelAlarmcode)
...@@ -43,9 +42,8 @@ namespace ModbusDemo.Common ...@@ -43,9 +42,8 @@ namespace ModbusDemo.Common
sAlarmJson += ","; sAlarmJson += ",";
} }
} }
public async Task vPublishAlarmPackageJson(IMqttClient mqttClient) public static async Task vPublishAlarmPackageJson(IMqttClient mqttClient)
{ {
sAlarmJson = "[" + sAlarmJson + "]";
var message = new MqttApplicationMessageBuilder() var message = new MqttApplicationMessageBuilder()
.WithTopic(sAlarmTopic) .WithTopic(sAlarmTopic)
.WithPayload(sAlarmJson) .WithPayload(sAlarmJson)
......
This diff is collapsed.
...@@ -16,21 +16,27 @@ namespace ModbusDemo.Modular ...@@ -16,21 +16,27 @@ namespace ModbusDemo.Modular
public double[] dNowConvertData; public double[] dNowConvertData;
public double[] dBeforeConvertData; public double[] dBeforeConvertData;
} }
public enum eX14pSensorChannelType : byte
{
Normal = 0,
Null,
}
public struct psxModualAlarm public struct psxModualAlarm
{ {
public bool bDataNotFirstIncreaseOrDecrease; public bool bDataNotFirstIncreaseOrDecrease;
public ushort[] usNowAlarmCode; public ushort[] usNowAlarmCode;
public ushort[] usBeforeAlarmCode; public ushort[] usBeforeAlarmCode;
} }
public class pcx14P public class pcx14P
{ {
public byte[] byModbusID; public byte[] byModbusID;
public psx14pData[] sX14pDataStruct = new psx14pData[ModualPoll.byX14pNumber]; public psx14pData[] sX14pDataStruct = new psx14pData[ModualPoll.byX14pNumber];
public psxModualAlarm[] sX14PAlarmStruct = new psxModualAlarm[ModualPoll.byX14pNumber]; public psxModualAlarm[] sX14PAlarmStruct = new psxModualAlarm[ModualPoll.byX14pNumber];
public pcx14P(byte[] InitIDlist) public eX14pSensorChannelType[,] eChannelType;
public pcx14P(byte[] InitIDlist, eX14pSensorChannelType[,] ChannelType)
{ {
this.byModbusID = InitIDlist; this.byModbusID = InitIDlist;
this.eChannelType = ChannelType;
for (byte i = 0; i < ModualPoll.byX14pNumber; i++) for (byte i = 0; i < ModualPoll.byX14pNumber; i++)
{ {
this.sX14pDataStruct[i].dBeforeConvertData = new double[ModualPoll.byX14pReadDataNumber]; this.sX14pDataStruct[i].dBeforeConvertData = new double[ModualPoll.byX14pReadDataNumber];
...@@ -49,7 +55,7 @@ namespace ModbusDemo.Modular ...@@ -49,7 +55,7 @@ namespace ModbusDemo.Modular
Mike_5, Mike_5,
Mike_6, Mike_6,
Mike_7, Mike_7,
Level, NormalCurrent,
} }
public struct psX18xData public struct psX18xData
......
This diff is collapsed.
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