csharp-modbus-automation/px-tcp1/ProtosXExercise/WriteMachineStateDigitalIO.cs
mharb 80d6e912ab Check-in Source
Signed-off-by: mharb <mharb@noreply.localhost>
2025-08-02 19:40:09 -04:00

26 lines
848 B
C#

using System;
using static System.Console;
using Modbus.Device; // Hard dependency on Nmodbus4
using System.Net.Sockets;
namespace ProtosXdigitalDemo
{
internal class WriteMachineDigitalStateToIO
{
public static byte WriteMachineStateToIO(ModbusIpMaster master, ushort coilOutputStartAddress)
{
try
{
master.WriteMultipleCoils(coilOutputStartAddress, Data.MachineState.digitalOutputChannels);
}
catch (Exception ex)
{
WriteLine($"Error writing discrete outputs: {ex.Message}");
_ = ReadKey(true);
return Data.MachineState.failureCode[1];
}
return Data.MachineState.failureCode[0];
}
}
}