Overview
Contents
Introduction
The softMC is a multi-axis motion controller. It provides the features and performance required of today’s multi-axis controllers, and is designed for easy integration into motion control systems as well as simplicity of use.
The softMC provides extensive programming capabilities for a variety of automation and robotic applications. softMC has motion and robotics functionalities for both standard robot types such as Delta, PUMA and SCARA, and non-standard robotic kinematics, such as traverse and scissors. Customized software solutions can also be designed for customer‘s hardware.
softMC features Servotronix advanced control algorithms embedded in a qualified off-the-shelf industrial PC, for an open and modular machine control environment. Its powerful and realtime Linux-based programming language enables preemptive multitasking at user program level.
softMC is integrated with Servotronix drive-motor systems.
Key features:
- Open, modular, and modern machine control environment
- Ethernet machine interface
- Support for EtherCAT and CANopen motion buses (Sercos III upon request)
- Controls up to 128 interpolated axes
- Extensive capabilities for both standard and non-standard robotic kinematics
softMC Firmware
This wiki contains the documentation for the softMC controller and softMC firmware Version 5.0.0.
Firmware Version 5.0.0 contains many new commands, functions, and properties. In some instances, the behavior of functions, commands, and properties found in previous versions of the firmware have changed. This documentation is not necessarily backward compatible with previous versions of the firmware. If you are using a previous version of the product, it is recommended that you also refer to the documentation that was supplied at the time your received your product.
To execute the examples described in this documentation, ControlStudio must be installed on your host computer.
System Hardware
Hardware:
- Off-the-shelf industrial PC (based on specific product availability)
- Other platforms can be evaluated upon special request
General hardware requirements:
- x86 Intel CPU
- RAM: minimum 256 MB
- Storage: Compact Flash, minimum 512 MB
- 2 x LAN 100 MB / 1 GB , Realtek / Intel
- At least 1 UART (RS232, RS422, RS485)
- On-board or add-on card for CANopen
MC-Basic Language Compiler
The softMC uses MC-Basic, a language interpreter that semi-compiles commands so they typically execute in less than microsecond. MC-Basic has familiar commands such as FOR…NEXT, IF…THEN, PRINTUSING, PEEK and POKE, as well as common string functions such as CHR$, INSTR, MID$, and STRING$. It allows arrays of up to 10 dimensions, with full support for double precision floating-point math.
MC-Basic is extended to provide support for functions required for motion systems control, such as point to point moves, circular and linear interpolation, camming, and gearing. In addition, it supports multitasking and event-driven programs.
API
The API software package allows you to communicate with the softMC from popular programming languages, such as Visual Basic. The API provides complete access to all the elements of your system across dual-port RAM.
Multitasking
The softMC is a fully multitasking system in which you can create multiple tasks and multiple elements (e.g., axes) that operate independently of one another. The API supports multiple applications communicating concurrently, thus allowing you to write one or more applications that have access to all of the tasks and elements.
The softMC supports multitasking of up to 256 tasks, running at up to 16 different priority levels. Each task can generate OnEvent(s), for code to be executed upon occurrence of events, such as switch tripping, a motor crossing a position, or just about any combination of factors.
User Communication
The Ethernet and serial ports of the softMC are used for ASCII data transfer. Non-printable characters are sent using CHR$. Data access is stream-oriented. There is no data framing. softMC Basic applications gain access to either a raw serial port or a TCP socket. The TCP socket guaranties error free data transfer, while the serial port does not offer error recovery. The transmitted data does not have any meaning in terms of directly controlling the softMC.
User communication provides the basic features of serial and TCP/IP data communication, which is not limited to a specific communication protocol, enabling the use of any protocol over serial or TCP/IP through an softMC application.
Refer to: Communication