Console.WriteLine("📜 IO: Network PDOs and SDOs");
int exitCode = 0;
try
{
Helpers.VerifyHardwareUsage(controller);
Helpers.VerifyAxisCount(controller);
int inputCount = controller.NetworkInputCountGet();
Console.WriteLine($"Network Input Count: {inputCount}");
for (int i = 0; i < inputCount; i++)
{
int size = controller.NetworkInputBitSizeGet(i);
int offset = controller.NetworkInputBitOffsetGet(i);
string name = controller.NetworkInputNameGet(i);
UInt64 value = controller.NetworkInputValueGet(i);
Console.WriteLine($"Input {i}: {name}, Size: {size}, Offset: {offset}, Value: {value}");
}
int outputCount = controller.NetworkOutputCountGet();
Console.WriteLine($"Network Output Count: {outputCount}");
for (int i = 0; i < outputCount; i++)
{
int size = controller.NetworkOutputBitSizeGet(i);
int offset = controller.NetworkOutputBitOffsetGet(i);
string name = controller.NetworkOutputNameGet(i);
UInt64 value = controller.NetworkOutputSentValueGet(i);
Console.WriteLine($"Output {i}: {name}, Size: {size}, Offset: {offset}, Value: {value}");
controller.NetworkOutputOverrideValueSet(i, value);
}
}
catch (Exception e)
{
Console.WriteLine($"❌ Error: {e.Message}");
}
finally
{
controller.Delete();
}
return exitCode;
Constants used in the C# sample apps.
const int EXIT_FAILURE
Exit code for failed execution.
const int EXIT_SUCCESS
Exit code for successful execution.
static MotionController * Get()
Get an already running RMP EtherCAT controller.
Represents the RMP soft motion controller. This class provides an interface to general controller con...
Helpers namespace provides utility functions for common tasks in RMP applications.