mharb 4c83529292 Check-in Source P.2
Signed-off-by: mharb <mharb@noreply.localhost>
2025-08-02 19:40:47 -04:00

47 lines
1.2 KiB
C#

using System;
using Modbus.Device;
using static System.Console;
namespace ProtosXdigitalDemo
{
internal class InputReader
{
private readonly ModbusIpMaster _master;
public InputReader(ModbusIpMaster master)
{
_master = master;
}
public void ReadAll()
{
WriteLine("Reading all discrete inputs…");
try
{
bool[] inputs = _master.ReadInputs(0, ChannelCache.DigitalInputCount);
Display(inputs);
}
catch (Exception ex)
{
WriteLine($"[Error] Reading inputs failed → {ex.Message}");
PromptKey("Press any key to continue…");
}
}
private void Display(bool[] inputs)
{
WriteLine("Discrete Inputs:");
for (int i = 0; i < inputs.Length; i++)
{
string state = inputs[i] ? "On" : "Off";
WriteLine($" Input #{i + 1}: {state}");
}
}
private void PromptKey(string prompt)
{
WriteLine(prompt);
ReadKey(intercept: true);
}
}
}