MOTORCORTEX-Core is a Linux C++ library that is the foundation of a MOTORCORTEX Control System. MOTORCORTEX-Core is based on Linux and can run on x86 or ARM based hardware. It is designed to be hard-realtime capable on certified hardware, such as the Vectioneer MXC-A4 controller, but also the Beckhoff CX series of embedded controllers are fully supported. Motorcortex-Core has built-in support for any type of EtherCAT hardware, such as Servodrives or digital and analog I/O. Servodrives from Synapticon, Elmo, Bosch-Rexroth, Schneider-Electric, Beckhoff have already be integrated into MOTORCORTEX applications.
MOTORCORTEX-Core provides thread-safe communication between realtime and non-realtime processes and provides an open (and free) interface to external programs, with bindings to most modern programming languages (e.g. Python 2.7/3.x, JavaScript, C++). Moreover MOTORCORTEX can communicate to a webbrowser directly at blazing speeds, without the need for browser plugins.
Developing your advanced control systems with MOTORCORTEX-Core is extremely easy and flexible, since the MOTORCORTEX development kit is built around C-Make and standard Linux compilers that are freely available, and easy to install. For more convenience, Vectioneer provides a C-LION plugin and project templates that get you started quickly. With C-LION it is possible to cross-compile your application and deploy it to your controller with the click of a button.
MOTORCORTEX-Core provides the following functionality:
- Hard-Realtime capable
- Multiprocessing
- Memory management
- High-performance Communication with Request/Reply and Publish/Subscribe Messaging Patterns
- Advanced Event-Based State Machine
- Error Handler, with support for errors on multiple different subsystems
- Watchdog module
- Open and free communication API for Python 2.7, Python 3.x, Javascript and C++
- MOTORCORTEX runs on any hardware platform that supports Linux (e.g. Intel, ARM), even in the cloud (non-hard-realtime)