Components of CODESYS SoftMotion
CODESYS SoftMotion is a software package that is used as a development and runtime environment for motion control. It is outlined as follows:
Drive configuration: Provides an editor for you to set the structure and configuration of the drive hardware by means of the CODESYS user interface. At this time, an instance of an IEC function block is created to represent the drive. This function block communicates automatically with the drives without additional effort from the IEC programmer. It is responsible for transmitting updated data.
To control the drives, the IEC program can address a drive by means of the function blocks of the SoftMotion libraries. As an alternative, you can also develop your own function blocks for this purpose. The set values (for position, velocity, acceleration, etc.) are written cyclically by these function blocks.
Note: The product "SoftMotion Light" is part of the standard installation of CODESYS. It provides the capability of commanding axes. Then CODESYS defines the target position only and waits for the response from the axis controller. The axis controller is responsible for the motion planning. However, a coordinated movement of multiple axes is not possible with CODESYS.
Cam editor: In the editor, you can describe a cam graphically or by means of tables. CODESYS generates from this a global instance of a data structure that describes the cam. This is passed to the application where the applicable POUs can access it.
CNC editor: You generate multidimensional movements in this editor. You create the CNC path with a text editor (according to DIN 66025) or a graphical editor. As an alternative to the text editor, you can work in a simplified tabular view.
Axis group configuration: An axis group defines the relationships between several mechanically dependent axes that collectively position and orient a tool or tool plate in the space. With the configurator, you select and configure the kinematics to be used. In addition, the SoftMotion axes can be assigned.
The SM3_Basic library is a basic library for all SoftMotion applications. Specifically, it contains the following:
PLCopen function blocks according to the PLCopen standard. With these function blocks, you can control single-axis movements or master/slave movements of two axes (electric cam, electric drives).
Additional function blocks are not supported by PLCopen functionalities.
Help functions: For example for handling files or for error messages.
The SM3_CNC library is based on the SM3_Basic library. In addition to the function blocks for kinematic transformations, it provides all POUs that are required for generating, executing, and visualizing CNC motion. It also provides function blocks for path preprocessing and path reconstruction.
Library SM3_Robotics: Contains function blocks according to PLCopen Part 4 for robotics and additional function blocks. The included SM3_Transformations library contains the supported kinematic transformations.
The Drive interface is part of the SM3_Basic library and is responsible for communication between the IEC program and the drives. For the supported drives, CODESYS SoftMotion provides libraries that implement these drive interfaces.
Note
Please note the description of the SoftMotion sample programs.