25
px-tcp1/ProtosXExercise/WriteMachineStateDigitalIO.cs
Normal file
25
px-tcp1/ProtosXExercise/WriteMachineStateDigitalIO.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
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];
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user