Commit 6d9c15c0 authored by leon.huang's avatar leon.huang

add Send down control and relate alarm

parent ae9d62a8
......@@ -12,17 +12,19 @@ namespace ModbusDemo.Common
public static class ModualAlarm
{
public const ushort usChannelNumber = 8;
private const string sAlarmTopic = "Witium/WTDS78X/66666666/Alarm";
public static string sAlarmJson;
public static string sAlarmJsonPackage;
//private IMqttClient mqttClient = null;
public enum eAlarmCode : ushort
{
ChannelNoError = 0,
ChannelCommunError = 1,
ChannelCollectDataError = 2,
ChannelDataRespError = 4,
ChannelDataChangeError = 8
ChannelNoError = 0,
ChannelCommunError = 1,
ChannelCollectDataError = 2,
ChannelDataRespError = 4,
ChannelDataChangeError = 8,
ChannelLevelError = 16,
ChannelControlError = 32,
}
public static void vSetAlarmList(ushort usAddress, ushort[] usChannel, ushort[] usChannelAlarmcode)
{
......@@ -46,7 +48,7 @@ namespace ModbusDemo.Common
public static async Task vPublishAlarmPackageJson(IMqttClient mqttClient)
{
var message = new MqttApplicationMessageBuilder()
.WithTopic(sAlarmTopic)
.WithTopic(Form1.sAlarmTopic)
.WithPayload(sAlarmJson)
.WithAtMostOnceQoS()
.WithRetainFlag(false)
......
......@@ -200,7 +200,7 @@ namespace ModbusDemo.MessageFormat
return ModbusErrorCode;
}
}
public static eModbusErrorCode Modbus_WriteSingleCoil(byte slaveAddress, ushort startAddress, bool[] value)
public static eModbusErrorCode Modbus_WriteSingleCoil(byte slaveAddress, ushort startAddress, bool value)
{
object oLock = new object();
lock (oLock)
......@@ -208,7 +208,7 @@ namespace ModbusDemo.MessageFormat
eModbusErrorCode ModbusErrorCode;
try
{
Modbus.WriteMultipleCoils(slaveAddress, startAddress, value);
Modbus.WriteSingleCoil(slaveAddress, startAddress, value);
ModbusErrorCode = eModbusErrorCode.MB_ENOERR;
}
catch (Exception exception)
......
This diff is collapsed.
......@@ -10,6 +10,7 @@ using MQTTnet;
using MQTTnet.Client;
using Newtonsoft.Json;
using ModbusDemo;
namespace ModbusDemo.Modular
{
class ModualPoll
......@@ -70,8 +71,8 @@ namespace ModbusDemo.Modular
public static modual.pcx78C cx78c = new modual.pcx78C(byX78cIdlist);
#if DEBUG_TEST
public const byte byX66cNumber = 2;
public static byte[] byX66cIdlist = {16,31};
public const byte byX66cNumber = 3;
public static byte[] byX66cIdlist = {16,31,35};
#else
public const byte byX66cNumber = 32;
public static byte[] byX66cIdlist = {4,5,7,8,9,10,14,15,19,22,23,24,26,30,32,36,37,38,40,41,42,43,44,46,47,48,49,50,51,52,54,57};
......
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