APIs, concepts, guides, and more

◆ CreateFromSoftware() [1/3]

static MotionController * CreateFromSoftware ( )
static
Description:
CreateFromSoftware returns a pointer to the MotionController object it represents, and starts RMP.rta if it is not already running
Returns
(MotionController*) A static pointer to the controller specified.
Sample Code:
Initialize the RMP EtherCAT motion controller.
// -- C++ -- //
static MotionController * CreateFromSoftware()
Initialize and start the RMP EtherCAT controller.
Represents the RMP soft motion controller. This class provides an interface to general controller con...
Definition rsi.h:800
// -- C# -- //
Note
The controller is initialized when this function is called. During the initialization process, if RMP.rta is not running, it will be started. The EtherCAT network is NOT started.

Creation Methods Info
Part of the Create and Initialize RapidCode Objects method group.

🔔 Important Usage Instructions
All creation methods, such as Create(), AxisGet(), NetworkNodeGet(), etc. Each return valid pointers to RapidCode objects. These pointers are never null, even when there is an error during object creation.
🔔 API Differences (C# vs. C++)
In the C# API, the pointers are replaced by references due to differences between C++ and C#. The creation methods return a reference to the object instead of a pointer. However, the method calls and error handling procedures remain the same. Null references are not returned by the creation methods in C#. Always check for errors after object creation, as described above.
⚙️ Error Checking After Creation
Immediately after the creation of a RapidCode object, you need to check if there were any errors during its creation. You do this by calling the ErrorLogCountGet() method on the created object. If ErrorLogCountGet() returns a value greater than zero, it means there were errors during the object creation.
⚙️ Handling Errors
To handle the errors, you call the ErrorLogGet() method once for each error on the created object to retrieve an RsiError object. You can then inspect the RsiError object to understand more about the error.
⚙️ Helper Functions
RapidCode also provides helper functions in both C++ and C#, like HelperFunctions::CheckErrors(), that work with all RapidCode objects. These helper functions operate on RapidCodeObject, hence they are compatible with all RapidCode objects. For example:
⚙️ Object Cleanup
Any and all objects created by RapidCode creation methods will be cleaned up by calling MotionController::Delete(). This should be done when your application is finished using RapidCode objects.
See also
ErrorLogCountGet, ErrorLogGet, Delete, HelperFunctions.CheckErrors
NetworkStart, NetworkStateGet, Delete
Examples
HelperFunctions.cs, Template.cs, TouchProbe.cs, and VelocitySetByAnalogInputValue.cs.