Console.WriteLine("📜 IO: General Purpose");
int exitCode = 0;
try
{
Helpers.VerifyHardwareUsage(controller);
Helpers.VerifyAxisCount(controller);
var node = controller.NetworkNodeGet(nodeNumber: 0);
bool dIn = node.DigitalInGet(digitalInNumber: 0);
bool dOut = node.DigitalOutGet(digitalOutNumber: 0);
node.DigitalOutSet(digitalOutNumber: 0, state: dOut);
int aIn = node.AnalogInGet(analogChannel: 0);
int aOut = node.AnalogOutGet(analogChannel: 0);
node.AnalogOutSet(analogChannel: 0, analogValue: aOut);
Console.WriteLine($"Digital Input 0: {dIn}");
Console.WriteLine($"Digital Output 0: {dOut}");
Console.WriteLine($"Analog Input 0: {aIn}");
Console.WriteLine($"Analog Output 0: {aOut}");
}
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.