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