Download MotionLab Software Suite

Document related concepts

Buck converter wikipedia , lookup

Brushless DC electric motor wikipedia , lookup

Electric motor wikipedia , lookup

Control system wikipedia , lookup

Rotary encoder wikipedia , lookup

Induction motor wikipedia , lookup

Pulse-width modulation wikipedia , lookup

Dynamometer wikipedia , lookup

Rectiverter wikipedia , lookup

Metadyne wikipedia , lookup

Brushed DC electric motor wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Opto-isolator wikipedia , lookup

Variable-frequency drive wikipedia , lookup

Stepper motor wikipedia , lookup

Transcript
MotionLab Software Suite
User Manual
Version:
13
Date:
09-Feb-2017 12:57
Table of Contents
1
Manual revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2
2.1
About MotionLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Minimum requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2
Communication Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1
Installing MotionLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Before you begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2
Hardware Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3
3.3
Software Installation and Drive Communication Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1
General Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2
Main Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2.1
Function Launcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2.2
Drive Configuration Pagetree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2.3
Detail View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2.4
Notifications and Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2.5
Control Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2.6
Status Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4
5
5.1
Connecting the Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Drive Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.1.1
Configuration Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.2
Communication Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.3
Additional Drive Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.2
Drive Sheet Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.3
Drive Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.1
Configuring your Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Drive Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.2
Actuator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.2.1
Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.2.2
Brake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.2.3
Digital Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.2.4
SinCos Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.2.5
Digital Halls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.2.6
Analog Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2.7
Analog Halls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2.8
Tachometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.2.9
SSI absolute encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.3
Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.3.1
Command Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.3.2
Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.3.3
Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.3.4
Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.3.5
Torque control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3.6
Velocity control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.3.7
Position control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.4
Homing setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6
6.5
Enable-Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.6
Inputs Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.6.1
Analog Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.6.2
Digital Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.6.3
Analog Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.7
Protections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.7.1
Current Protections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.7.2
Voltage Protections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.7.3
Temperature Protections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.8
PDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.8.1
Steps to configure a PDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.9
Program Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7
Configuration Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
8
8.1
Move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Homing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.2
Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.2.1
Enabling operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.2.2
Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.2.3
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.2.4
Charting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.3
Velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.3.1
Enabling operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.3.2
Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.3.3
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.3.4
Charting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.4
Torque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.4.1
Enabling operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.4.2
Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.4.3
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.4.4
Charting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.5
Multi-Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.6
Oscillation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
8.7
Open Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9.1
Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Polling Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
9.2
Monitoring Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9
10
10.1
Tune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Fine Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
11
11.1
Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Instructions Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
11.1.1
Program Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
11.1.2
Motion Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
11.1.3
Registers and I/O handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
11.2
System Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
11.3
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
11.3.1
Automatically resetting under-voltage fault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
11.3.2
Error visualization through 4 GPOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
11.3.3
Start/ Stop motion using 2 GPIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
12
Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
13
Updating your drive Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
MotionLab Software Suite | User Manual
1 Manual revision history
Revision Release Date
Changes
PDF
v3
July 2016
v2
May 2014
Updated to match MotionLab version v2.10
-
v1
February 2014
Initial Version
-
INGENIA | ingeniamc.com/support | 13-Jul-2016
5
MotionLab Software Suite | User Manual
2 About MotionLab
Welcome to MotionLab, the tool for configuring and programming Ingenia Servo Drives. MotionLab is a graphical
user interface for Window Operating Systems (OS) that allows for:
Detection of Ingenia drives connected to your PC.
Connection to one or multiple drives for configuration and tuning.
Testing the motion of your application (position, velocity, torque, oscillation, multi-point, etc...).
Program stand-alone applications running inside the Servo Drives.
Monitor information with a digital scope.
2.1 Minimum requirements
Minimum computer requirements to run MotionLab software are:
Microsoft Windows OS version Vista or above.
At least 100MB of free disk space.
USB or Serial COM port for controller serial connection.
CAN port for CAN connection (optional).
.NET framework 4.0
After installing the MotionLab software on your computer, you can run the application from your Start > Programs
menu > Ingenia.
In order to install MotionLab software you must have Administrator privileges.
In order to provide the best user experience we recommend you to download the latest version of
MotionLab
2.2 Communication Interfaces
MotionLab supports 3 physical communication interfaces:
USB (most commonly used)
RS232 serial interface
CAN (compatible with Kvaser, Peak-System, IXXAT, Vector and Lawicel devices)
In the About section of MotionLab, the version of the communication libraries are displayed. If the
version displayed is non-available (N/A), the communication interface will not work properly. Possible
causes of this care:
The library was not installed correctly, please try reinstalling MotionLab.
The DLL library is being used by another program, please close the related software programs
and reopen MotionLab.
The drivers are not installed in the PC, please download and install the drivers from the vendor
website and then reboot the PC.
6
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
3 Installing MotionLab
3.1 Before you begin
In order to ensure successful drive setup, you should verify that the following conditions are met:
Read the servo drive installation manual and the datasheet for the motor.
Wire properly the servo drive to the motor.
Provide electrical power to the servo drive and connect the communication cable (RS232, USB).
3.2 Hardware Installation
Follow the instructions on the Product Manual to connect all needed devices to your Ingenia product.
1.
2.
3.
4.
5.
6.
7.
Install the drive in your desired location and connect Protective Earth ground.
Connect the logic power.
Connect the motor power.
Connect the feedback.
Connect the inputs and outputs.
Connect the power supply.
Connect the drive to your computer.
3.3 Software Installation and Drive Communication Setup
1. Download the latest version of MotionLab
2. Install MotionLab.
3. Make sure the drive is being powered, via USB or by an external Power Supply.
Once the power supply is on, the POWER LED will switch on. If the POWER LED is not on,
please check the wiring.
After a few seconds the CAN LED will start blinking.
4. Connect the USB cable to your PC and wait for Windows to recognize the Ingenia USB driver.
INGENIA | ingeniamc.com/support | 13-Jul-2016
7
MotionLab Software Suite | User Manual
5. Open MotionLab from the Programs menu.
Once MotionLab has loaded it will automatically detect the connected drives. If no drives are visible
click on Scan Again or check you drive wiring.
8
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
4 General Overview
You configure and test your drive using various elements, such as panels, bars, and windows that conform the
MotionLab interface. This interface is described in the following chapter.
4.1 Loading
While loading MotionLab will detect any drives connected to your computer through a compatible interface.
Useful tips are shown at the bottom of the window.
4.2 Main Window
MotionLab main interface is divided into six different areas.
INGENIA | ingeniamc.com/support | 13-Jul-2016
9
MotionLab Software Suite | User Manual
4.2.1 Function Launcher
The top menu launches the main functions of MotionLab.
Motion
Scope
Composer
Options
About
Load
Save
Read
Write
Store
Parameters
This functions are explained in depth at their respective sections of the manual.
4.2.2 Drive Configuration Pagetree
Situated at the left of the window this section shows a pagetree of all the configuration windows for your drive. To
access any of the configuration windows click on the respective label at the pagetree.
10
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Disconnected Status
Connected Status
If you are connected to more than one drive you can swap between by clicking on the drive name.
To connect to a new drive or disconnect from your current drive click at the top of the Pagetree to go back to the
Detected Drives window.
4.2.3 Detail View
The detail view is the main interface for configuring your drive. By clicking on the Drive Configuration Pagetree
the Detail View will show different options.
The detail view section has two main states.
INGENIA | ingeniamc.com/support | 13-Jul-2016
11
MotionLab Software Suite | User Manual
Detect Drives
This window will show up on start up and whenever you click on Drives at the left panel.
Other
Selecting any of the options on the Left panel will open it's respective window on the Detail View.
4.2.4 Notifications and Registers
This section shows the current Drive Alerts and Faults and opens the Register Watcher.
4.2.5 Control Interface
This section gives the user a quick access to stop or enable the motor.
Make sure there are no hazards before enabling your motor.
12
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
4.2.6 Status Information
The status bar shows general real time information of your drive.
INGENIA | ingeniamc.com/support | 13-Jul-2016
13
MotionLab Software Suite | User Manual
5 Connecting the Drive
Main screen on MotionLab will show you a list of the available drives on your network.
To connect to a drive move the mouse over it and click on the highlighted area.
Click on the Scan Again button placed at the top left area, to rescan the Network looking for available
drives at any time.
If the drive is still not visible after scanning the network check your drive is powered up and the wiring.
Depending on the Drive and MotionLab version you are using, different communication interfaces will
be available.
5.1 Drive Overview
Once your drive is connected, the Drive Overview shows a summary of the drive that you are using.
14
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
5.1.1 Configuration Overview
In this secion you will see the general configuration of your drive.
Configure button will take you directly to the section corresponding to this setting.
5.1.2 Communication Parameters
You can view or edit some of the information displayed:
Field
Description
Actions allowed
Drive Name
Name of the drive
Edit
Node ID
CAN Node ID used for the drive
Change
CANopen baud rate
Baud rate used in CANopen communications
Change
Binary communication
Binary communications allows for faster data transfer speeds
Enable/Disable
5.1.3 Additional Drive Information
The additional drive information button will give you access to a window with more details about your drive.
INGENIA | ingeniamc.com/support | 13-Jul-2016
15
MotionLab Software Suite | User Manual
5.2 Drive Sheet Template
Ingenia's servo drives are defined according to CiA311 DSP V1.0.0: CANopen XML-based Device Description
(XDD) files. This file contains a list of Drive's Parameters (registers), as well as its names, data type, description,
and default value. Each firmware version has always associated an XDD file.
If you need to update your firmware version, assure that you also have the corresponding XDD file, in
order to avoid possible incompatibility issues.
When connect to an Ingenia Drive in MotionLab, it automatically displays current Firmware version installed in
the Drive and loads the corresponding XDD from MotionLab's installation folder.
If XDD of corresponding version is not found, MotionLab opens a window showing currently installed XDD files,
from which the user can select which is the most appropriate. Note that MotionLab must be running under
administrator permission to do this action.
By default MotionLab searches XDD files into %InstallationFolder%\XDD
5.3 Drive Status
Drive Status is displayed at any time in the status bar placed at the bottom of the application.
The system has a state machine implemented where every state determines which command are accepted or
processed. For example, it is only possible to start a movement when the drive is in operation enabled state.
Additional information on the state machine operation and status can be found in the Command
Reference Manual.
16
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
6 Configuring your Drive
The MotionLab allows to configure all the settings of your drive in a sequential logical way. That is:
Actuator
Motion
Homing setting
Enable-Disable
Inputs Outputs
Protections
PDO
Program Memory
6.1 Drive Operations
After connecting to your servo drive, the below operations and options will be displayed in a toolbar at the top of
the application:
O Description
p
e
r
at
io
n
L Load a configuration file into the drive.
o
a
d
S
a
v
e
Save current drive configuration to a file.
Users can save configurations at any time. This is very useful when a system has been completely set up and you want to s
download them into other identical systems. To save a configuration, click the Save button. The output format for configurati
Configuration (XDC) file according to CiA311 standard.
R Read all drive parameters
e
a
d
INGENIA | ingeniamc.com/support | 13-Jul-2016
17
MotionLab Software Suite | User Manual
O Description
p
e
r
at
io
n
W Write current configuration to the drive (all parameters)
ri
te
Individual parameters can be downloaded to the drive through the PageTree control
S Save actual drive configuration to the non-volatile memory
to
re
P
a
r
a
m
et
e
rs
Open parameters window.
Parameters Window displays a list of all the parameters that the drive supports.
A search box allows to search them by different criteria: name, index, sub-index, etc. Some of the parameters can be modified from
type = ReadWrite or WriteOnly). The following options are available at the top menu:
Read All parameters from drive: Update the parameter table with current drive configuration. Non-saved changes will be overwrit
Write All parameters to drive: Download all the application parameters to the drive, overwriting the existing ones.
Write Modified parameters to drive: Only download the application values modified by the user.
Restore Defaults: Restore factory default parameters to drive.
6.2 Actuator
This view allows you to select the components conforming your Actuator. This a necessary step previous to the
configuration of the individual components.
Depending on the component selected a link to its configuration setting will be displayed next to the selection.
18
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Para Description
met
er
Mot Ingenia Servo Drives can control a wide range of different motor types. Select the one included in your
actuator. A link to the Motor configuration window will be displayed next to your selection. If the selected
or
type motor is brushless type an additional link to the Commutation configuration will be shown.
Brak Select whether your system is connected to a brake or not. If a brake is available a link to the Brake
configuration window will be displayed.
e
avail
able
Posi Select the sensor installed in your actuator for position control. A link to its configuration window will be
tion displayed next to your selection.
sens
or
Velo Select the velocity sensor installed in your actuator for velocity control. A link to its configuration window
city will be displayed next to your selection.
sens
or
6.2.1 Motor
The Motor view is used to configure the parameters of the motor conforming the actuator.
Depending on the Motor Type, the information available for editing will change in the Motor Parameters area.
Check the motor datasheet to determine the appropriate values.
Parameter
Motor
types
Phase2Phas Rotary,
e inductance Linear
Description
Motor phase to phase inductance in mH
Phase2Phas
e resistance
Rotary,
Linear
Motor phase to phase winding resistance in mOhm
Phase
inductance
Stepper
Motor phase inductance in mH
Phase
resistance
Stepper
Motor phase winding resistance in mOhm
Stroke
Linear
Motor stroke in mm
Rated
torque
Rotary
Motor rated torque in mNm
Holding
torque
Stepper
Holding torque when the motor is at standstill.
Continuous
force
Linear
Motor continuos force in mN
Torque
constant
Rotary
Motor torque contant
Linear
Force sensitivity of the motor
INGENIA | ingeniamc.com/support | 13-Jul-2016
19
MotionLab Software Suite | User Manual
Parameter
Motor
types
Description
Rotary,
Linear
Motor continuous current rating in mA rms
Force
sensitivity
Continuous
current
Peak current Rotary,
Stepper
Motor peak current rating in mA rms
Current@For Linear
ce peak
Motor current in mA rms at force peak
Peak time
Rotary,
Linear
Peak time duration in ms
Max
permissible
speed
Rotary,
Linear
Motor maximum permissible rated speed
Motor pair
poles
Rotary
Number of motor pole pairs per revolution (for rotary brushless motors)
Brushles
s
Pole pitch
Linear
Pole pitch of the linear brushless motor in mm (this equals 2x pole pitch).
Brushles
s
Full step
/revolution
Stepper
Number of full steps per mechanical revolution. For example a 1.8º resolution stepper
motor will have 200 steps per revolution (360º/1.8º).
Step mode
Stepper
Select the excitation mode for the step motor among Full Step, Half Step or
Microstepping (1/4, 1/8, 1/16, 1/32).
In full step operation, the motor will move through its basic step angle, i.e., a 1.8° step
motor takes 200 steps per motor revolution.
In half-step, the motor will move though half the basic step angle.
Microstepping is a technique that increases motor resolution by controlling
both the direction and amplitude of current flow in each winding.
Current is proportioned in the windings according to sine and cosine
functions.
20
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Parameter
Motor
types
Description
Microstepping can divide a motor’s basic step up to 32 times. Microstepping improves
low speed smoothness and minimizes low speed resonance effects.
Run current
Stepper
Current applied to the phases of the motor when it is moving in mA
Standby
current
Stepper
Current applied to the phases of the motor in standby situation in mA
Related parameters will appear with a link diagram next to their values. They can be entered manually
or calculated automatically through the formula relating them.
Linked parameters
Linked parameters
Unlinked parameters
Unlinked parameters
Some motor parameters are used for auto-calculators of other settings so it is important to set them
accurately.
Foldback
The foldback feature protects both the motor and the drive from overheating. Two current foldback algorithms run
in parallel in the drive: the drive foldback algorithm and the motor foldback algorithm. Each algorithm uses
different sets of parameters and uses its own foldback current limit. The overall foldback current limit is the
minimum of the two at any given moment.
Foldback is not the same as current limits. Instantaneous current limits for the drive are set by the
Max system current in the system Limits view in MotionLab. The foldback algorithms may reduce the
current output to the motor in spite of the current limit settings.
Drive Foldback
The drive foldback algorithm monitors current feedback; since this is a monitoring function, the drive foldback
parameters are not user configurable.
Setting up motor foldback
INGENIA | ingeniamc.com/support | 13-Jul-2016
21
MotionLab Software Suite | User Manual
The parameter entries required for the drive to apply motor foldback protection properly are Cycle Time, Peak
current of the motor, and continuous current of the motor. These values are used to setup the algorithm for motor
foldback.
Commutation
This view allows configuration of basic commutation settings. Commutation is the process of switching current in
the phases in order to generate motion. The available settings will depend on the type of motor and feedback in
use.
Commutation sensor
The Commutation sensor allows for selecting which sensor is used to measure the electrical angle of the rotor.
Next to the sensor a link to its configuration view will be displayed. If the selected sensor is an incremental
sensor or it is not aligned with the rotor it will not be able to give the correct value without an initial rotor angle
determination method.
Initial angle determination method
The initial angle determination method determines which method to use in order to localize the position of the
rotor. Several methods are available.
Forced alignment method
This method forces the rotor to align in the direction of two different phases and check if the angular increment
measured using commutation sensor match the expected one. If this condition is not satisfied the process is
repeated changing the used phases until it completes all possibilities.
This method is useful when using incremental sensors for commutation (ex: q uadrature digital
encoder, SinCos encoder, Analog input or PWM input)
When the force alignment method is selected the following parameters needs to be provided:
Paramet Description
er
Process
time
This parameter determines the duration in milliseconds of the whole process (alignment between
two phases). If the process is repeated it will use this time for each repetition.
Process
current
This parameter determines the current used by the process in mA.
22
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Paramet Description
er
Process This parameter determines the maximum tolerated error in process around the expected
tolerance displacement. The value is expressed as a percentage of the expected displacement.
Initial rotor position known
This method is used when the initial rotor position is known each time the system is powered up or reconfigured.
When selected, the user needs to provide the initial rotor angle. The actual system angle parameter could be
used to determine that value.
Non incremental sensor used
This method directly use the information coming from the sensor specified in the Reference sensor parameter.
The reference sensor might require an initial calibration to align with the actuator phases the first time is
configured.
6.2.2 Brake
This view allows for configuring an external mechanical brake. If a brake is present and connected to the drive, it
can automatically be controlled and activated/deactivated by the system. The configurable parameters are:
Parameter Description
Brake
mode
The brake mode allows to select if the voltage applied when the brake is active is constant or
variable.
Delay
before
release
brake
Delay between release the brake and activation of the power stage (in ms). This delay is designed
to prevent loads from falling or coasting when the effects of gravity or other external forces are
seen in the system.
Delay
after
enable
brake
Delay between deactivation of the power stage and activation of the brake (in ms). This delay is
designed to prevent loads from falling or coasting when the effects of gravity or other external
forces are seen in the system.
Time at
full
voltage
If the Brake mode is set to voltage variable, this parameter specifies the time (in ms) for full release
brake (100% duty cycle).
Voltage %
rest of the
time
If the Brake mode is set to voltage variable, this parameter specifies the % of duty cycle applied to
the brake after full voltage time.
Brake operation is as follows:
INGENIA | ingeniamc.com/support | 13-Jul-2016
23
MotionLab Software Suite | User Manual
Brake must be configured to the correct GPO, otherwise it would be like if there were no brake.
6.2.3 Digital Encoder
This view allows for configuring the digital encoder parameters listed below
Para Description
mete
r
Enc Define whether to use a 2 or 3 channels encoder (with or without index), differential or single ended
oder encoder.
type
Pola This parameter defines the positive sense of movement based on encoder. Use the Auto identify wizard
rity to detect it. The main steps of the wizard are:
1.
2.
3.
4.
Set the current used for the test. Ranges is from 0 (min) to motor rated current (max).
Set maximum test duration.
Start the test to identify the encoder polarity.
A message is displayed showing the result of the test. If the test ends successful, the suggested
values are displayed in a grid. If the test fails, a message is displayed giving information about the
failure and how to fix it by modifying the parameters in Step 1.
Sen For rotary motors this parameter is expressed in channel counts / revolution.
sor For linear motors it is expressed in nm. It is possible to enter decimal numbers in this field.
reso
lutio
n
Total This parameter is automatically calculated based on the sensor resolution, and the magnetic pole pitch
reso (in case of linear motor) or stroke (in case of voice coils).
lutio It expresses the total resolution of the system.
n
24
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Para Description
mete
r
Ingenia Servo Drives use x4 decoding with incremental encoders. So each transition in any of
the two main encoder signals (A, B) will be considered to be an increment. As an example, if
a 500CPR (cycles per revolution) encoder is used, the encoder resolution will be 2000
increments per mechanical revolution.
Quick Test
The quick test monitors in real time the encoder position read, according to actual encoder
configuration and user units selected.
6.2.4 SinCos Encoder
SinCos encoders are angular encoders that modulate the shaft motion in the absence/presence and the
frequency of two analog sine signals in quadrature (hence a sine and a cosine). In spite of the nuisance that
supposes not working on digital signals directly for the controlling element, the fact that the signals have a
continous range of values allows the controller to obtain an arbitrary level of resolution on the measurement,
hence compensating the additional computational costs with improved resolution.
This view allows to configure the 1 Vp-p Sin/Cos parameters (also known as Analog Encoder).
P Description
a
r
a
m
et
e
r
S For rotary motors it is expressed in cycles / revolution, for linear motors it is expressed in nm. It is possible to enter decimal n
e
n
s
or
re
s
ol
ut
io
n
M Defines the interpolation factor applied to sensor. When the multiplied factor is available, the position resolution is increased
ul
ti
pl
ie
r
fa
ct
or
INGENIA | ingeniamc.com/support | 13-Jul-2016
25
MotionLab Software Suite | User Manual
P Description
a
r
a
m
et
e
r
The minimum interpolation factor value is 2 and the maximum 10.
T It is automatically calculated from the parameters above. For rotary motors it is expressed in "counts / revolution", for linear brushles
ot magnetic pole pitch" and for the rest of linear motors it is expressed in "counts / stroke"; therefore it is very important to have the Ma
al configured.
re
s
ol
ut
io
n
P This parameter defines the positive sense of movement based on encoder. Use the Auto identify wizard to detect it. The main steps
ol 1. Set the current used for the test. Ranges is from 0 (min) to motor rated current (max).
ar
2. Set maximum test duration.
it
y 3. Start the test to identify the encoder polarity.
4. A message is displayed showing the result of the test. If the test ends successful, the suggested values are displayed in a grid. If
displayed giving information about the failure and how to fix it by modifying the parameters in Step 1.
Advanced Settings
Sometimes the SinCos encoders produce minor signal anomalies or inaccuracies, due to manufacturing
deviations and other causes. The advanced settings of SinCos view all allows to compensate that effect by
adjusting the gain and offset of the two channels.
There is an auto-calibration wizard that automatically adjust these values. The main steps of the wizard are:
1. Set a rated voltage percentage to be applied to the motor to move it and collect SinCos encoder data.
2. Start the calibration test. This will move the motor to collect data, apply and algorithm to calculate the new
gains and offsets values and finally move the motor again to verify the calculated values.
3.
26
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
3. A message is displayed showing the result of the test. If the test ends successful, the suggested values
are displayed in a grid. If the test fails, a message is displayed giving information about the failure and
how to fix it by modifying the parameters in Step 1.
Quick Test
The quick test monitors in real time the encoder position read, according to actual SinCos encoder
configuration and user units selected.
6.2.5 Digital Halls
Digital halls are transducers that provide an electrical signal at its output proportional to the relative position of
the shaft of a rotor to a predetermined reference. They are based on the Hall effect, and the output signal that
they provide is discretized: in fact, very often they only provide a bit indicating presence or absence of magnetic
field, being then also known as switches.
Digital halls able to measure position based on the transitions of the halls value.
The number of counts per mechanical revolution are:
The digital halls parameters to configure are:
Para Description
mete
r
Polar Define whether halls are active at high or low logical level. Use the Auto identify wizard to detect it. The
main steps of the wizard are:
ity
1. Set the current used for the test. Ranges is from 0 (min) to motor rated current (max).
2. Set maximum test duration.
3. Start the test to identify the halls polarity.
INGENIA | ingeniamc.com/support | 13-Jul-2016
27
MotionLab Software Suite | User Manual
Para Description
mete
r
4. A message is displayed showing the result of the test. If the test ends successful, the suggested
values are displayed in a grid. If the test fails, a message is displayed giving information about the
failure and how to fix it by modifying the parameters in Step 1.
Hall Define the angular displacement (expressed in multiples of 60º) between the sequence of values
step generated by the Hall sensors and its corresponding excitation. This offset only applies when the system
offse is using BLDC motors.
t
Quick Test
When configured for digital hall feedback, the drive will define 1 count to be equal to 1 hall state
change (that is, a 4-pole motor has 12 counts per revolution).
The quick test monitors in real time the halls combination read by the drive and the equivalent actual
position .
User can check proper halls wiring and operation by manually moving the motor and verifying halls
sequence in the table.
6.2.6 Analog Signal
An analog signal connected to one of the available analog inputs can be used as a feedback. User must specify
the Analog Input used.
Depending on the ADC bits of the selected analog input, the resolution available will change. For instance if
using a 12 bits analog input, the resolution for the feedback will be:
Check your Servo Installation Manual to verify the available Analog Inputs and their number of ADC
bits.
Quick Test
The quick test monitors in real time the encoder position read, according to actual encoder
configuration and user units selected.
6.2.7 Analog Halls
Analog halls (also known as linear halls) are transducers that provide an electrical signal at its output proportional
to the relative position of the shaft of a rotor to a predetermined reference. They are based on the Hall effect, and
the output signal that they provide is continuous.
This view allows configuration of Analog Halls parameters.
Param Description
eter
Offset Defines the offset of each analog hall component. The value ranges from 1 (min) to 65535 (max). A
value of 32767 (default) represents no offset.
28
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Gain
Defines a gain to each analog hall component. The value ranges from 1 (min) to 65535 (max). A value
of 65535 represents a gain of 1.
6.2.8 Tachometer
This view allows for configuring an external DC tachometer. DC-Tachometers generate a voltage proportional to
the speed of the motor. The DC-Tachometer could be connected to any of the analog inputs of the system.
Configurable parameters are:
Parameter
Description
Voltage per 1000 rpm
Define the relationship between voltage and speed
Analog input used
Assigns which of the analog inputs of the system is used by DC-Tachometer
Analog input offset
Assigns the offset of the analog input
Quick Test
The quick test monitors in real time the tachometer velocity read, according to actual tachometer
configuration and user units selected.
6.2.9 SSI absolute encoder
Synchronous Serial Interface (SSI) is a widely used serial interface standard for industrial applications between a
controller and a sensor. SSI is based on RS-422 standards and has a high protocol efficiency in addition to its
implementation over various hardware platforms, making it very popular among sensor manufacturers
Ingenia drivers supports a wide range of protocols over the SSI interface to communicate with absolute position
encoders.
Parameter
Description
Frame type
Indicates the frame type to be processed. Options are:
Generic
3 status bits at the end of the frame
1 error bit at the end of the frame
Frame size
Indicates the total frame size, including position bits and special bits (like error flags).
Codification
Indicates the codification of the position value bits. Options are:
Gray
Binary
Max clock rate
Indicates the maximum clock rate of the SSI encoder.
Single-turn bits
Indicates the number of bits used to represent the single-turn value.
Single-turn start bit
Indicates the position in the SSI frame of the first single-turn bit.
Multi-turn bits
Indicates the number of bits used to represent the multi-turn value.
Multi.turn start-bit
Indicates the position in the SSI frame of the first multi-turn bit.
INGENIA | ingeniamc.com/support | 13-Jul-2016
29
MotionLab Software Suite | User Manual
Parameter
Description
Endianness
Indicates the order of the read bits. Options are:
MSB
LSB
Quick Test
The quick test monitors in real time the SSI position read, according to actual configuration and user
units selected.
Example
The next SSI frame is generated by a encoder in binary codification:
The configuration needed to decode the total position value is:
Frame size. 27
Codification. 0 (binary)
Single-turn bits. 14
Single-turn start bit. 3
Multi-turn bits. 9
Multi-turn start bit . 18
6.3 Motion
Motion view defines the motion behavior of the system.
A schema showing the blocks in charge of it and the relation between them is displayed. Depending on the
operating mode selected, the schema will be updated accordingly. Each block of the schema can be configured
individually by clicking on it.
Para Description
mete
r
Oper Defines the mode of operation for the system. There are up to nine operation modes available in Ingenia
ation Servo Drives (position, velocity, homing, etc.). For more information on each of them, refer to the Comma
mod nd Reference Manual.
e
Syst Indicates the direction for positive movements and for negative movements. The system polarity is used
em
in all motion modes. As the direction of torque, velocity and position could be changed it allows reversing
polar the direction of a system without modifying any cabling.
ity
30
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
6.3.1 Command Source
Command Source view allows to select the source of motion commands. After selecting it, the available settings
for the chosen option will appear in the same window.
Network
Select this option when the servo drive is being controlled from a PC or a remote host.
Ingenia servo drives can utilize register commands from a network communication as a form of input command
(typically Serial, CANopen and EtherCAT protocols are supported).
Refer to Command Reference Manual for further information on network communication.
Analog Input
Select this option to use one of the hardware available analog inputs as a form of input command. For this signal
to be useful to the control system, it is discretized, and linearly modified if required (scaling and offset), and the
result of this operations is delivered to the control system. The control system ensures that system limits are not
exceeded. In addition to those features, and only for velocity modes, a deadband is provided to prevent
overcontrol near to the target velocity due to an excess of sensitivity.
Param Description
eter
Analog Allows to specify the hardware analog input used.
input
used
Curren This is a read-only parameter that indicates the currently selected operation mode.
t
motion
mode
Motion This parameter defines the motion range that will correspond to the analog input range. It is also
range possible to reverse the movement in order to make the motion values evolve towards negative values.
Motion This parameter allows to move the Motion range up and down depending on its value. A positive offset
offset value will move the range up, and a negative offset value will move the range down.
Velocit This parameter defines a dead band of values when a velocity mode is used as Operation Mode. This
y
characteristic allows reducing sensitivity at low speeds. It is expressed directly in velocity units,
dead
allowing to specify a fixed value independently of the rest of the settings.
band
Based on the parameters configuration the chart on the right will be updated to reflect the final motion range &
behavior.
Quick Test
The quick test allows users to simulate the motion range in their application. For example, suppose
that the Analog Input range is 0 – 10 V, but the signal that will be supplied has a range of 0 – 5V.
Then, the range of the slider can be modified to match the real signal range and the most common
values for this range will be displayed.
INGENIA | ingeniamc.com/support | 13-Jul-2016
31
MotionLab Software Suite | User Manual
PWM
Select this option to use a PWM input as a form of input command. For this signal to be useful to the control
system, the magnitude value is decoded from the PWM signal. Thereafter, some linear transformations (scaling
and offset) may be applied if desired, and afterwards system limits are applied.
Param Description
eter
PWM
mode
There are two main modes of working with PWM command source:
Single Input (PWM) : It uses one input to control the duty.
Dual Input (PWM & Direction): It uses two inputs; one to assign the direction of the movement and
another to assign the duty. Applying a 0 V to Direction pin will make the system to go in negative
directions.
Curren This is a read-only parameter that indicates the currently selected operation mode.
t
motion
mode
Motion This parameter defines the motion range that will correspond to the analog input range. It is also
range possible to reverse the movement in order to make the motion values evolve towards negative values.
Motion This parameter allows to move the Motion range up and down depending on its value. A positive offset
offset value will move the range up, and a negative offset value will move the range down.
Velocit This parameter defines a dead band of values when a velocity mode is used as Operation Mode. This
y
characteristic allows reducing sensitivity at low speeds. It is expressed directly in velocity units,
dead
allowing to specify a fixed value independently of the rest of the settings.
band
Based on the parameters configuration the chart on the right will be updated to reflect the final motion range &
behavior.
Quick Test
The quick test allows users to simulate the motion range in their application. For example, suppose
that the PWM duty used goes from 30% to 70%. Then, the range of the slider can be modified to
match this range and the most common motion values will be displayed.
Step & Direction
Choose this mode if you would like to position the motor with step (pulse) & direction signals.
Step & direction command source, or simply stepper emulation, is a method in which the position of the motor is
controlled through two digital inputs: the STEP and the DIRECTION. The DIRECTION input indicates direction of
movement, and each falling edge on the STEP input increases (or decreases, depending on the DIRECTION
value) the position of the rotor by the number of counts stipulated in the Step value parameter. As a
consequence of this design, to achieve larger movements in small time periods it is necessary to either deliver a
train of pulses through the STEP input at a high frequency rate (increasing encoder cost and EMIs due to
switching) or to increase the value on the Step value parameter (losing resolution), hence not being suitable for
high accuracy and responsivity applications. Nevertheless, its simplicity makes it acceptable for less demanding
applications.
Parameter Description
Step value
32
Value to increment/decrement at each step
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Refer to the corresponding HW manual to get more information about the Step and Direction signals
(where to connect each signal, ...).
This command source is only valid for profiled position mode.
The maximum step rate is 100 kHz (or steps/sec) with 5 s minimum low and high level time.
The direction setup requires a minimum of 1 ms (20 s minimum hold time after step edge).
Electronic Gearing
Electronic gearing is used when the command source comes directly from the digital incremental encoder of
another motor, thus feeding the motion controller directly with another actuator feedback. This feature is
fundamentally used to achieve movement synchronization between two or more actuators with minimum latency
in command propagation due to the direct sensor interconnection. Input/output ratios are available to allow not
only direct synchronization but also proportional synchronization. This may be of use when the set of actuators
do not include identical transmission systems, and therefore the final mechanical energy applied to the load
would not have the same characteristics.
Paramet Description
er
Input
gear
The input and output gear parameters allow applying a gear ratio between the movement of the
master motor and the slave.
Output
gear
The input and output gear parameters allow applying a gear ratio between the movement of the
master motor and the slave.
This command source is only valid for profiled position mode.
Internal Signal Generator
The internal signal generator is used to perform repetitive movements without the need of an external master. It
can generate only sinusouidal signals at the moment, and it can be used exclusively in cyclic modes.
Param Description
eter
Functi
on
type
Select the function type desired
Amplit Amplitude of the generated signal.
ude
Frequ
ency
Frequency, expressed in Hz, of the generated signal.
INGENIA | ingeniamc.com/support | 13-Jul-2016
33
MotionLab Software Suite | User Manual
Param Description
eter
Signali In addition to the signal configuration, user can generate a signaling using general purpose digital
ng
outputs according to generated signal. Digital output will be active half of the period.
6.3.2 Limits
The limits screen covers most of the basic system limits, including current, velocity, and position. The parameters
are grouped by meaning and can be edited by two methods: manually through the edit boxes or graphically
through the sliders at their right.
Position Limits
Parameter
Description
Minimum
position limit
Absolute minimum limit for the target and current position. Every new target position will be
checked and adjusted to the position limits.
Maximum
position limit
Absolute maximum limit for the target and current position. Every new target position will be
checked and adjusted to the position limits.
Profiler Limits
Parameter
Description
Maximum
profile
velocity
Define the maximal allowed velocity in each direction during a profiled motion. The profiler will
use as maximum velocity the most restrictive velocity between maximum profile velocity and maxi
mum motor speed.
Maximum
motor
speed
Define the maximal motor speed. The profiler will use as maximum velocity the most restrictive
velocity between maximum profile velocity and maximum motor speed.
Maximum
Defines the maximum allowed acceleration. It is used to limit the acceleration to an acceptable
profiler
value in order to prevent the motor and the moved mechanics from being destroyed.
acceleration
Maximum
Defines the maximum allowed deceleration. It is used to limit the deceleration to an acceptable
profiler
value in order to prevent the motor and the moved mechanics from being destroyed.
deceleration
Torque Limits
Parameter
Description
Minimum torque
limit
Indicates the configured minimum torque provided in the motor. This allows user to
configure the system with an asymmetrical torque limit window.
Maximum torque
limit
Indicates the configured maximum torque provided in the motor. This allows user to
configure the system with an asymmetrical torque limit window.
Maximum torque
@ const speed
Indicates the configured maximum permissible torque in the motor at constant speed (not
during acceleration/deceleration paths)
Indicates the configured maximum permissible torque in the motor.
34
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Parameter
Description
Maximum motor
torque
Please, note that Maximum torque, Positive torque limit value and Negative torque limit value objects
should not limit the peak current.
6.3.3 Thresholds
This view allows for configuring the thresholds for the position, velocity and torque control functions which work in
conjunction with position, velocity and torque loops.
Position thresholds
Paramet Description
er
Position
window
Indicates the configured symmetrical range of accepted position relative to the target position. If the
actual position is within the position window for a position window time, the target position is set as
reached.
Position
window
time
Indicates the configured time (in ms), during which the actual position within the position window is
measured. If the actual position is within the position window for a position window time, the target
position is set as reached.
Followin
g error
window
Indicates the configured range of tolerated position values symmetrically to the position demand
value. If the actual position is out of the following error window for a following error timeout time, a
following error will occur.
Followin
g error
timeout
Indicates the configured time (in ms) for a following error condition. If the actual position is out of the
following error window for a following error timeout time, a following error will occur.
Velocity thresholds
Paramet Description
er
Velocity
window
Indicates the configured symmetrical range of accepted velocity relative to the target velocity. If the
actual velocity is within the velocity window for a velocity window time, the target velocity is set as
reached.
Velocity
window
time
Indicates the configured time (in ms), during which the actual velocity within the velocity window is
measured. If the actual velocity is within the velocity window for a velocity window time, the target
position is set as reached.
Velocity Indicates the configured zero velocity threshold. If the actual velocity is above the velocity threshold
threshold longer than velocity threshold time, the motor is considered to be moving.
Velocity Indicates the configured zero velocity threshold time. If the actual velocity is above the velocity
threshold threshold longer than velocity threshold time, the motor is considered to be moving.
time
INGENIA | ingeniamc.com/support | 13-Jul-2016
35
MotionLab Software Suite | User Manual
Torque thresholds
Parame Description
ter
Torque Indicates the configured symmetrical range of accepted torque/force relative to the target torque/force.
window If the actual value of the torque/force is within the target window for a target window time, the target
torque is set as reached.
Torque Indicates the configured time (in ms), during which the actual torque within the torque window is
window measured. If the actual torque is within the torque window for a torque window time, the target torque
time
is set as reached.
6.3.4 Profiler
The profiler is in charge of continuously generating the position, velocity or torque references to reach the final
target values according to the user specified limits.
The available parameters for configuration are:
Paramete Description
r
Profile
velocity
Indicates the configured velocity normally attained at the end of the acceleration ramp during a
profiled motion. It is valid for both directions of motion.
Profile
Indicates the configured acceleration used by the profiler. If this acceleration is higher than
accelerati Maximum acceleration defined in the limits view it will be restricted by the profiler.
on
Profile
Indicates the configured deceleration. If this deceleration is higher than Max deceleration it will be
decelerati restricted by the profiler.
on
Torque
slope
Indicates the configured rate of change of torque.
Ther are four operating modes that use the profiler: Profile torque, profile velocity , profile position and
interpolated position.
Profiler in profile torque
The profile torque profiler is implemented according to the following structure:
Torque Profile Structure
Actual torque and current are compared against their maximum values, usually related to the actuator datasheet.
Afterwards, the internal target torque is limited by the system limits, if applicable. Finally, the torque demand
value is calculated with this internal target torque and the defined torque slope, to avoid applying excessive
rotational acceleration that could damage the mechanical system.
36
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Profiler in velocity mode
The profile velocity profiler is implemented according to the following structure:
Velocity Profiler Structure
Actual velocity and motor speed are compared against its mechanical limits, to avoid damaging the mechanical
parts for driving the actuator out of the allowed mechanical range. Target velocity, taking into account polarity, is
limited by the system limits, and the internal target velocity is obtained. On the other hand, profile parameters
such as acceleration/deceleration, both normal and quick-stop,are compared against their limits. At last, the
actual velocity demand is calculated through the previous magnitudes.
Profiler in position mode
The profile position profiler is implemented according to the following structure:
Profiler in interpolated position mode
The profiler used in interpolated position mode is a simplification of the profiler used in profile position mode, with
the exception that the interpolated position mode does not take into account the maximum acceleration and
velocities of the system. The structure is presented below.
6.3.5 Torque control
This view shows the related torque control blocks and allows to manually configure the values of the torque
control schema.
INGENIA | ingeniamc.com/support | 13-Jul-2016
37
MotionLab Software Suite | User Manual
Some of the parameters are defined in the limits and thresholds sections and are only shown in this view
informatively.
The following parameters can be configured in this view:
Par Description
am
eter
Tor Indicates the offset for the torque value used in all modes (Profiled velocity, profiled position, etc.). The
que torque offset could be useful to compensate systems with constant loads like vertical mounted systems or
offs springs.
et
Lo
w
pas
s
filte
r
The filter is a first order low pass filter in which the cutoff frequency (the frequency where the output is
attenuated 3 dB) is configurable. It is situated before the torque loop. This filter is useful in applications
with high noise in the current readings or for low inductance motors. Click on the switch to enable or
disable the filter.
The implement filter for the torque control loop is a parallel PI.
Torque Control Loop
Parameters of the control loop are as follow:
Parameter
Description
Proportional gain
Proportional constant
Integral gain
Integral constant
Constant scaling
Internal scaling for the proportional and integral gains
Cutoff frequency
Indicates the desired cutoff frequency for the low pass filter.
Click on the Tune button to open the tuning tool recommend to set those values.
6.3.6 Velocity control
This view shows the velocity control blocks and allows to manually configure the values of the velocity control
schema.
The filter implemented in the velocity control loop is a parallel PID with acceleration feedforward and also with
antiwindup control.
38
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Parameters of the control loop are as follow:
P Description
a
r
a
m
et
e
r
P Proportional constant
r
o
p
o
rt
io
n
al
g
ai
n
In Integral constant
te
g
r
al
g
ai
n
D Derivative constant
e
ri
v
at
iv
e
g
ai
n
Integral antiwindup constant
INGENIA | ingeniamc.com/support | 13-Jul-2016
39
MotionLab Software Suite | User Manual
P Description
a
r
a
m
et
e
r
In
te
g
r
al
A
W
g
ai
n
A Acceleration feedforward constant
c
c
el
e
r
at
io
n
F
F
g
ai
n
In
te
g
r
al
li
m
it
The output contribution of the integral term could be controlled by using the Integral Limit factor and the
Antiwindup contant. This mechanism is useful to reduce the overshoot or response time of the system. In
situations where the position demanded is not physically reachable or the torque is saturated, the
contribution of the integral term will increase continuously as the position error will never be zero. When the
error direction is reversed, due to a position demand change or after an overshoot correction, the control
loop will require some time to react as the accumulated integral term will be high. Integral Limit helps to
reduce the contribution of the accumulated integral error and antiwindup constant could control the behavior
of the integral part once saturation is reached.
Setting an Antiwindup constant equal to Integral constant will stop the integral contribution once the integral
limit is reached.
Click on the Tune button to open the tuning tool recommend to set those values.
If your system is using a position sensor as a feedback (ex: encoder) it is highly recommended to use
position loop for velocity modes.
If your system is going to work at low speeds in velocity modes, it is recommended to use position
loop to increase accuracy.
40
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
6.3.7 Position control
This view shows the position control blocks and allows to manually configure the values of the position control
schema.
The filter implemented in the position control loop is a parallel PID with acceleration and velocity feed-forward.
Position Control Loop
Parameters of the control loop are as follow:
P Description
a
r
a
m
et
e
r
P Proportional constant
r
o
p
o
rt
io
n
al
g
ai
n
In Integral constant
te
g
r
al
g
ai
n
Derivative constant
INGENIA | ingeniamc.com/support | 13-Jul-2016
41
MotionLab Software Suite | User Manual
P Description
a
r
a
m
et
e
r
D
e
ri
v
at
iv
e
g
ai
n
In Integral antiwindup constant
te
g
r
al
A
W
g
ai
n
V Velocity feedforward constant
el
o
ci
ty
F
F
g
ai
n
A Acceleration feedforward constant
c
c
el
e
r
at
io
n
F
F
g
ai
n
In The output contribution of the integral term could be controlled by using the Integral Limit factor and the
te Antiwindup contant. This mechanism is useful to reduce the overshoot or response time of the system. In
g situations where the position demanded is not physically reachable or the torque is saturated, the
42
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
P Description
a
r
a
m
et
e
r
r
al
li
m
it
contribution of the integral term will increase continuously as the position error will never be zero. When the
error direction is reversed, due to a position demand change or after an overshoot correction, the control
loop will require some time to react as the accumulated integral term will be high. Integral Limit helps to
reduce the contribution of the accumulated integral error and antiwindup constant could control the behavior
of the integral part once saturation is reached.
Setting an Antiwindup constant equal to Integral constant will stop the integral contribution once the integral
limit is reached.
Click on the Tune button to open the tuning tool recommend to set those values.
6.4 Homing setting
Homing is used to mechanically move a motor (connected to a mechanism) to a specific location on the machine,
referred to as “home”. Motion tasks then use this home as a reference point for movements that must base a
known position on this reference point. Motor movement is usually controlled by a variety of limit switches (end of
travel) and a home reference switch. Using these reference points with the logic of the drive allows the machine
to find and set the home reference point.
Ingenia Drives includes a variety of homing methods to accommodate your machine needs. They are structured
according to the following diagram:
Homing Mode Diagram
The parameters configurable by the user are described below.
Parameter
Description
Homing
method
Indicates the selected homing method
Homing
accelearatio
n
Defines the acceleration used for all accelerations and decelerations in homing methods.
INGENIA | ingeniamc.com/support | 13-Jul-2016
43
MotionLab Software Suite | User Manual
Parameter
Description
Homing
offset
Indicates the configured difference between the zero position for the application and the
machine home position, as found during the homing process.
Homing
timeout
Indicates the maximum time to complete the whole homing process. If the homing is not
completed within this time, the homing process will be aborted, and en error will be trigered.
Speed
searching
for limit
Defines the speed to use when searching a switch or mechanical limit (can be considerable
faster than Speed searching for zero).
Speed
searching
for zero
Defines the speed to use when searching the actual homing point (should be considerable
slowly than Speed searching for limit)
Torque
threshold
For homing methods -1, -2, -3 and -4, this parameter indicates the threshold of torque to
consider that a physical limit has been reached.
An animated illustration representing the homing method selected can be seen by clicking on the
PLAY button at the right panel.
6.5 Enable-Disable
The Ingenia Drives offer several options for hardware and software enables, as well as safe torque off (STO) to
cover a variety of conditions. This view allows for configure them.
Mark the checkbox if the the motor should be automatically powered on after power-up without the needed of
user intervention.
In the diagram, select whether to use, or not, a Motor Enable Input Signal. If this signal is available it will control
when the power stage could be activated or deactivated. After the enable signal, the drive will react to motion
commands.
6.6 Inputs Outputs
The Ingenia Servo Drives have programmable digital/analog inputs and outputs that you can use to initiate
motion, control auxiliary devices, or trigger other actions. The inputs and outputs should be wired according to
the instructions in the drive Installation Manual.
Inputs & Outputs view enables you to display the current value of I/O and modify the output signals.
Available inputs and outputs
The specific drive model purchased determines the available physical I/O and the options displayed in
MotionLab.
6.6.1 Analog Inputs
All the analogue input values are shown graphically and numerically (in ADC counts and mV).
44
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Limits
In the semicircle graphs, it may be observed the voltage working range.
6.6.2 Digital Inputs
All digital inputs are shown here. Their states are shown graphically with a switch animation, with the text "On" or
"Off".
Parame Description
ter
Polarity Indicates which signal level turns the state to "On".
"Active High": High value turns the state to "On".
"Active Low": Low value turns the state to "On".
Mode
Relates the digital input to a parameter that may be used to control the motion:
"Positive Switch": When activated, Positive Switch signal is detected.
"Negative Switch": When activated, Negative Switch signal is detected.
"Home Switch": When activated, Home Switch signal is detected.
"Motor Enable": When activated, permits the motor to start moving. It has to be previously
configured in Settings --> Power.
"Fault Reset": When activated, the board is unblocked after an error occurs.
6.6.3 Analog Outputs
If there is any, analogue outputs are shown graphically and numerically in this panel.
INGENIA | ingeniamc.com/support | 13-Jul-2016
45
MotionLab Software Suite | User Manual
There are two working methods, automatic or manual, that can be configured using the checkbox "Enable
automatic Analog Output":
If it is automatic, the signal value can be taken from an analogue register of the drive board. In this case,
the output will vary according to the register it is related to.
If it is manual, the signal value can be set previously with MotionLab. The value in "DAC counts"
determines the output voltage.
Digital Outputs
All digital outputs appear here. As in digital inputs, their states are shown graphically with a switch animation,
with the text "On" or "Off". Moreover, "auto-update" checkbox permits the state to change in real time, useful
when monitoring.
Param
eter
Description
Polarity Indicates which signal level comes from the state "On".
"Active High": "On" state creates a high level signal.
"Active Low": "On" state creates a low level signal.
Mode
Relates the digital output to a digital parameter from the drive board:
"Break": It shows when the break function is activated.
"Health": It notifies if the drive is in Fault state or not.
"Internal Generator": If "Settings" --> "Command source" is set to "Internal Signal Generator", a
pulse will be done in each cycle.
"Internal Limit": It is activated when an internal limit, as a switch, is reached.
"Target Reached": In motion control, this signal notifies that target value has been reached.
46
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
6.7 Protections
In order to protect the driver from undesired environmental conditions, Ingenia Drivers can monitorize and
manage the embedded sensors and protections, keeping the system in the safest operation mode whenever an
environmental abnormality is detected. In addition to the embedded protections, an external shunt can be
deployed to aid the driver to dissipate the excess of energy received during application processing.
6.7.1 Current Protections
Displays the protections of the system related to the current management.
Parameter
Description
Maximum system current
Indicates the maximum permissible current creating torque in the motor
Motor peak current and motor continuous current are displayed here for user reference. Click on the
configure link to access their configuration window
6.7.2 Voltage Protections
Shows the protections of the system related to the voltage management.
Parameter
Description
Under voltage warning level
Indicates the minimum voltage accepted by the system
Over voltage warning level
Indicates the maximum voltage accepted by the system
Depending on the availability of an external shunt the reaction of an out of range situation will be different.
If a shunt is not available in your system, once the system is out of the accepted range for the voltage, an
Emergency message will be sent and a Fault reaction procedure executed.
If shunt is available, and the voltage is higher than maximum, the shunt will be activated. Emergency
message will be sent and a Fault reaction procedure executed if the volatge is below the minimum.
The ABSOLUTE bus voltage limits are factory prefixed according to the hardware specifications and
cannot be modified. When the actual bus voltage is out of the absolute range an Emergency message
is sent and the system executes a Fault reaction.
Setting maximum user bus voltage below the actual power supply voltage may lead to serious
damage of the device. Some drivers include internal shunt resistors that would be activated for a long
time and cause serious overheat.
Shunt
While decelerating a mechanical load (abrupt motion brakes or reversals), the mechanical energy is
converted into electrical energy by the motor. This energy is injected into the power supply and could
lead to an increase of the supply voltage (depending on the power supply characteristics, especially
its output capacitance) and then damage both the controller and the power supply.
INGENIA | ingeniamc.com/support | 13-Jul-2016
47
MotionLab Software Suite | User Manual
A shunt circuit prevents the bus voltage from rising too high and therefore protects the Drive and the
power supply. It is based on a resistor (sometimes referred as braking resistor) that is connected
between the DC bus and GND through a power transistor. This shunt transistor is automatically
activated when the DC bus voltage exceeds the max user bus voltage defined by the user. Its PWM
duty cycle can also be configured by the user.
In general, a battery powered system is capable of absorbing regenerative energy and therefore no
shunt resistor would be needed. However only use this option if the battery is designed to accept
negative current peaks and does not provide a reverse current protection. This information must be
provided by the battery manufacturer. Reverse currents might cause catastrophic battery failure.
Some Ingenia Servo Drives include an internal shunt resistor for light brakes and reversals or low
energy mechanical systems. These internal resistors are thermally protected and will be automatically
disconnected whether overloaded.
If available, user can select whether to use or not an external shunt resistor. The voltage applied to
the shunt is modulated with a frequency of 20 kHz approximately and the duty cycle is user
configurable.
The external shunt will be activated when the actual bus voltage is higher than Max user voltage plus
hysteresis and will be deactivated when the actual bus voltage is lower than Max user voltage minus
hysteresis.
Contact Ingenia for further details on how to configure your shunt resistor.
6.7.3 Temperature Protections
Shows the protections of the system related to the temperature management.
Parameter
Description
Under temperature
fault
Indicates the minimum temperature accepted by the system before launching a Fault
reaction mechanism
Over temperature
fault
Indicates the maximum temperature accepted by the system before launching a Fault
reaction mechanism
The ABSOLUTE temperature limits are factory prefixed according to the hardware specifications and
cannot be modified. When the actual temperature is out of the absolute range an Emergency
message is sent and the system executes a Fault reaction.
6.8 PDO
This view is used to configure the Process Data Objects (PDO).
PDOs are messages send without confirmation used for real time information transfer. PDOs are mapped to a
single CAN frame and can contain multiple object dictionary entries with a maximum of 8 bytes of data. Each
PDO has an identifier and is transmitted by only one node in the network, however it could be received by more
than one node. PDOs must be configured previous to using them.
There are two types of PDO messages: Transmit PDO (TPDO) and Receive PDO (RPDO). It is possible to
configure up to 4 TPDO and 4 RPDO.
For further information refer to Command Reference Manual.
6.8.1 Steps to configure a PDO
1-Select the desired PDO from the drop down list at the top of the window.
48
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
2-From the left table of mappable objects, drag and drop the ones desired to the right table.
3-A colored bar helps the user to see the mapping capacity of the current PDO. The size is measured in bytes.
4-Define PDO parameters:
P Description
a
r
a
m
et
e
r
C In CANopen messages the identifier part of the arbitration field is known as Communication Object Identifier (COB-ID). It is
O divided into a 4-bit part function code and a 7-bit node-ID as depicted:
B
I
D
COB-ID description
T Type of transmission for the PDO. Options are:
ra
Event driven: Message transmission is triggered when the value mapped into the PDO has changed (Event mode=value
n
changed) or when the specified time (event mode =Timer) has elapsed. PDO transmission is controlled by producer.
s
RTR (Remotely request): Message transmission is initiated on receipt of a RTR message. PDO transmission is driven by
m
the PDO consumer.
is
Synchronously cyclic: Message transmission is triggered by the reception of a certain number of SYNC objects. The PDO
si
transmission is controlled by the SYNC producer.
o
Synchronous acyclic: Message content is applied upon receipt of the RPDO. The PDO reception is controlled by the PDO
n
producer.
ty
p
e
E Trigger for the transmission: Value changed, timer or both
v
e
nt
m
o
d
e
M Minimum refresh rate in case of Event driven transmission type with event mode equal to value changed. If no changes
in occurs after the Min refresh rate time, the PDO will be sent.
re
fr
e
s
h
ra
te
(
m
s)
INGENIA | ingeniamc.com/support | 13-Jul-2016
49
MotionLab Software Suite | User Manual
P Description
a
r
a
m
et
e
r
Ti Timer duration for the Event mode = timer
m
er
d
ur
at
io
n
(
m
s)
Refer to CANopen protocol documentation for further information on PDO
6.9 Program Memory
This view provides information about the memory of the controller available for programming user sequences
(also referred as MACROs).
Clicking on individual MACRO boxes (from 0 to 63) once can see the avialble memory for each of them.
MACROs marked with red contains code. MACROs marked in green are completly empty. Yellow ones are
reserved for internal usage.
Start up macro
Macro #0 is always executed on power-up. Other macros need to be called explicitly or by means of
an interrupt source. The user can create up to 60 different macros with up to 128 instructions.
50
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
7 Configuration Wizard
Configuration wizard is a tool that helps users to configure the actuator parameters. It follows a linear logical path
to configure all the setting described in the Actuator tree branch.
The Wizard includes 3 initial steps oriented to collect some data from the system: Actuator, Motor and Feedback
steps.
Based on that, the tool auto-configures the drive (Auto Configure), performs an initial tuning and provides a final
diagnostic.
Once finished, user can start playing with the system on perform a fine tuning.
INGENIA | ingeniamc.com/support | 13-Jul-2016
51
MotionLab Software Suite | User Manual
8 Move
MotionLab includes a simple yet powerful Motion Tool to test different motion modes or perform a homing to
verify that the system has been configured properly.
Available modes are:
Homing
Position
Velocity
Torque
Multi-Point
Oscillation
Open Loop
8.1 Homing
In positioning systems, it is usually necessary to know the absolute position of the mechanics to assure correct
movements. For cost reasons, most of systems do not usually use absolute encoders which provide an absolute
reference, and therefore a homing process or search for an absolute reference method is mandatory.
Parameters for homing configuration are:
Param Description
eter
Homin It indicates the used homing method. An animated illustration is displayed at the right panel showing
the homing sequence to be performed.
g
metho
d
Homin It establishes the acceleration used for all accelerations and decelerations in standard homing
methods.
g
accele
ration
Homin It indicates the speeds used to locate the switch or mechanical limit and the encoder index pulse.
g
speed
s
Home
offset
It indicates the configured difference between the zero position for the application and the machine
home position.
It indicates the maximum time allowed to complete the whole homing process. If the homing is not
Total
homin completed within this time, the homing process will be aborted, the statusword error bit will be raised,
an emergency message will be sent and the system will execute a fault reaction.
g
timeou
t
Once homing motion has been configured, user can execute it by clicking on the ENABLE MOTOR button.
Some homing parameters could only be available for specific homing methods.
It is necessary for a good motion performance to tune the servo loops before executing any homing
method.
52
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
8.2 Position
In profile position mode, the target position is processed immediately on reception and is delivered to the profiler
afterwards. According to the predetermined parameters, the profiler generates and provides the control unit with
the instantaneous target torque to be achieved. Upon reaching the target position, the drive status is updated.
Notice that, even though the system closes a position loop, the actuator is controlled through torque demand.
This is due to the update rate of the torque measurements supported being one order of magnitude higher than
the update rate of the position and velocity measurements, therefore being able to perform a finer grain control of
the motion. In addition, this allows the system to take into account the maximum motor current and torque into
the control loop.
The window for this modes of operation contains 4 main areas: Enabling, Indicators, Configuration and Charting.
8.2.1 Enabling operation
This area of the window contains the controls to enable/disable the motor.
To enable the motor click on the ENABLE button.
To disable the motor click on the disable button or use the F12 shortcut at any time
INGENIA | ingeniamc.com/support | 13-Jul-2016
53
MotionLab Software Suite | User Manual
8.2.2 Indicators
A display with several information as follows:
8.2.3 Configuration
The motion parameters are organized by tabs. The target tab allows for setting up the target position and can be
specified by three different means.
Direct target position: Specify through the slider or the editable box a target position.
Incremental positions: Using the buttons - or + and defining a step size.
Turns (only for rotary systems): Using the - turn or the + turn and the # of turns per click.
The home button will perform a homing when clicked.
Profiler, Limits,Thresholds and Control Loop tabs allow for configuring several motion parameters related to the
motion of the system. Their meaning and accepted values can be found in the Motion subchapters .
8.2.4 Charting
There are 2 possible charts. Live view and Precision view.
Live view polls data from at specified rate.
Precision view, allows precise time-based monitoring. In this mode, the drive captures data at the
specified rate, store it into an internal buffer and send it to the software.
8.3 Velocity
In profile velocity mode, the target velocity is processed immediately on reception and is delivered to the profiler
afterwards. According to the predetermined parameters, the profiler generates and provides the control unit with
the instantaneous target torque to be achieved. Upon reaching the target velocity, the drive status is updated.
Notice that, even though the system closes a velocity loop, the actuator is controlled through torque demand.
This is due to the update rate of the torque measurements supported being one order of magnitude higher than
the update rate of the position and velocity measurements, therefore being able to perform a finer grain control of
the motion. In addition, this allows the system to take into account the maximum motor current and torque into
the control loop.
The window for this modes of operation contains 4 main areas: Enabling, Indicators, Configuration and Charting.
54
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
8.3.1 Enabling operation
This area of the window contains the controls to enable/disable the motor.
To enable the motor click on the ENABLE button.
To disable the motor click on the disable button or use the F12 shortcut at any time
8.3.2 Indicators
A display with several information as follows:
INGENIA | ingeniamc.com/support | 13-Jul-2016
55
MotionLab Software Suite | User Manual
8.3.3 Configuration
The motion parameters are organized by tabs. The target tab allows for setting up the target velocity and can be
specified by three different means.
Direct target velocity: Specify through the slider or the editable box a target position.
Incremental velocity: Using the buttons - or + and defining a step size.
Profiler, Limits,Thresholds and Control Loop tabs allow for configuring several motion parameters related to the
motion of the system. Their meaning and accepted values can be found in the Motion subchapters .
8.3.4 Charting
There are 2 possible charts. Live view and Precision view.
Live view polls data from at specified rate.
Precision view, allows precise time-based monitoring. In this mode, the drive captures data at the
specified rate, store it into an internal buffer and send it to the software.
8.4 Torque
In profile torque mode, the target torque is processed immediately on reception and is delivered to the profiler
afterwards. According to the predetermined parameters, the profiler generates and provides the control unit with
the instantaneous target torque to be achieved. Upon reaching the target velocity, the drive status is updated.
The window for this modes of operation contains 4 main areas: Enabling, Indicators, Configuration and Charting.
56
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
8.4.1 Enabling operation
This area of the window contains the controls to enable/disable the motor.
To enable the motor click on the ENABLE button.
To disable the motor click on the disable button or use the F12 shortcut at any time
8.4.2 Indicators
A display with several information as follows:
INGENIA | ingeniamc.com/support | 13-Jul-2016
57
MotionLab Software Suite | User Manual
8.4.3 Configuration
The motion parameters are organized by tabs. The target tab allows for setting up the target velocity and can be
specified by three different means.
Direct target torque: Specify through the slider or the editable box a target position.
Incremental torque: Using the buttons - or + and defining a step size.
Profiler, Limits,Thresholds and Control Loop tabs allow for configuring several motion parameters related to the
motion of the system. Their meaning and accepted values can be found in the Motion subchapters .
8.4.4 Charting
There are 2 possible charts. Live view and Precision view.
Live view polls data from at specified rate.
Precision view, allows precise time-based monitoring. In this mode, the drive captures data at the
specified rate, store it into an internal buffer and send it to the software.
8.5 Multi-Point
The multi-point motion mode, allows for entering a set of positions (either manually or through the Capture
functionality) and execute them.
User can select to repeat the sequence at each cycle completion. A pause time between repetitions can be
specified.
Profiler, Limits,Thresholds and Control Loop tabs allow for configuring several motion parameters related to the
motion of the system. Their meaning and accepted values can be found in the Motion subchapters.
8.6 Oscillation
Use the Oscillation mode to generate an oscillation motion displacement.
Configurable parameters are:
Parameter
Description
Initial position
Defines the initial point for the oscillation. Two options are possible:
Actual position
Specific position
Mode
Select the wave type for the oscillation
Amplitude
Specify the amplitude of the oscillation
Frequency
Specify the frequency of the oscillation
Interpolation period
Specify the interpolation period
58
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
A plot at the right panel will be displayed with the theoretical oscillation to be performed
8.7 Open Loop
When using open loop, the motor is excited through direct voltage application, without taking into account sensor
feedback.
When using brushless motors, this mode uses commutation sensors to determine the position of the rotor,
therefore achieving maximum electric-energy-to-torque ratio. Nevertheless, notice that this does not mean that
any control loop is closed: the commutation sensors are used exclusively to switch between the phases being
injected current and the phases that drag the return current.
INGENIA | ingeniamc.com/support | 13-Jul-2016
59
MotionLab Software Suite | User Manual
9 Scope
The Digital Scope allows the user to optimize system performance using data collection. It works in two different
modes: collecting data continuously from the servo drive (Polling) or monitoring and gathering a fixed amount of
points (Monitoring). Depending on system performance, one or the other will be more appropriate and accurate
to collect data.
The two modes allow to select multiple signals and assign different colors or primary/ secondary Y axis for better
values visibility. Also In both modes the collected plots can be exported to a CSV file through the EXPORT
button.
Notice that in polling mode only the enabled signal is exported while in monitoring mode all the signals are
exported regardless of the number that are enabled:
When adding a channel, together with the Name, Units, Color and Chart, you will find the internal
register associated with it (Index and SubIndex). These registers follow the CANopen protocol
structure since Ingenia Servo Drives are compliant with CANopen standard (CiA-301, CiA-303, CiA305, CiA-306 and CiA-402).
Functionalities of the scope include:
Display up to 4 simultaneous charts
Collect and plot various signals (channels) including position, velocity and position error on multiple axes
Graphically examine collected data using cursor and zooming tools
Auto-scale
Export results to CSV files
9.1 Polling Mode
In this mode, the scope collects continuous data from a set of signals previously selected; sample rate can be set
up to 50 ms.
To configure the polling mode click on the gear icon in the Polling selection.
60
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Parameter
Description
Display cursor dot point
Plot a dot for each value
Sample rate
Rate in ms at which each data is requested
Time scale
Scale used for plotting
9.2 Monitoring Mode
This mode allows a more accurate data collection and analysis. After setting the recording time in ms, it will
gather data using as trigger any motion start (future triggers will be available). It collects up to 2500 points and by
default plots all the relevant motion signals (demanded and current values) which afterwards can be disabled for
individual channel analysis.
To configure the monitoring mode click on the gear icon in the Monitoring selection
Parameter
Description
Display cursor dot
point
Plot a dot for each value
Trigger mode
Specify the trigger to start collecting data
Maximum sample
rate
Read only parameter specifying the maximum sampling rate.
Based on the time specified, the # of samples/second will be automatically
updated
Trigger delay
Delay added after trigger
Auto-rearm trigger
Enable/Disable auto-rearm trigger. If enabled a pause time (in ms) can be specified.
INGENIA | ingeniamc.com/support | 13-Jul-2016
61
MotionLab Software Suite | User Manual
10 Tune
The Tune Window is a tool dedicated to tune and analyze the dynamic behavior of the system.
At the top of the window, user can select the motion mode to use: Torque, Velocity or Position.
10.1 Fine Tuning
Use this window to fine tune the control loop of the selected motion mode.
With the BASIC option, only the basic PID parameters will be shown. That is Kp, Ki and Kd.
With the PRO option, additional PID paramters can be confiugred, as well as the Profiler and Singal Generation.
The Enable and Stop button can be used at any time to start/stop the system.
The cart will be updated in real-time based on the control parameters.
62
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
11 Program
The Composer tool is an integrated development environment for developing and debugging programs for
Ingenia Servo Drive Controllers.
Programs, also called "macros", are created by one or more instructions that can combine moves, gain
adjustments, timed delays, etc. Program instructions can also apply conditional logic and jumps, control the
Servo Drive's digital outputs, and monitor the digital inputs. Several general purpose registers can also be used
for user convenience.
The Program window includes a top level toolbar with the following options:
Feature
Description
Write reserved memory
Download BIOS into the system
Load
Load a program from a file
Save All
Save program to file
Write All
Write all programs to drive
Set Interruptions
Write interruptions table into the drive
Macro Access
Select the macro to execute when RUN button is clicked
Run
Executes the Macro Access selected
Stop
Stop current macro execution
Program Status
Indicates if a program is running or not
Below the toolbar, user can find information on the macro structure as follows:
Composer panel and edition space
To start programming a MACRO, click on the desired macro box. A tabbed view with en embedded toolbar will
be displayed.
Adding instructions is as simple as selecting from a list box the desired command, click on Add button and filling
its properties at the right panel.
Once the program is completed, click on the Write button to send it to the driver.
INGENIA | ingeniamc.com/support | 13-Jul-2016
63
MotionLab Software Suite | User Manual
Start up macro
Macro #0 is always executed on power-up. Other macros need to be called explicitly or by means of
an interrupt source. The user can create up to 60 different macros with up to 128 instructions.
11.1 Instructions Set
Programs are created by one or more instructions that can combine moves, gain adjustments, timed delays, etc.
Program instructions can also apply conditional logic and jumps, control the Servo Drive's digital outputs, and
monitor the digital inputs. Several general purpose registers can also be used for user convenience.
Type
Function
Program flow
Macro
If
Stop
Wait
Motion
Position
Velocity
Force
Homing
Motor
Oscillate
Register, variables and I/O handling
Get Variable
Set Variable
Set Output
64
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Program Flow
Motion Instructions
Registers and I/O handling
11.1.1 Program Flow
Macro Function
Functi Proper Values
on
ties
Comments
MACR Actions Call
O
Call another macro. The called macro must end with a “Macro return” function,
otherwise it could misbehave
Return
Return to the caller of this macro
Jump
Jump to a macro
Repeat
Repeats the current macro from the start the number of times given. 0 means
repeat forever (endless loop)
End
program
Example: Jump from macro #4 to macro #2 without return
If Function
Funct Propertie Values
ion
s
IF
If
Comments
Target reached
Set-point
acknowledge
Actual position
Use the IF command to execute a block of commands based on a
condition that is provided.
Different 'is' properties are available based on the different 'if'
conditions to evaluate.
Actual velocity
Actual force
Digital input
Analog input
Register value
Is
Higher
Logical comparison between values
Lower
Equal
Unequal
On/ Off
Than
Then
Constant / variable It can use any readable variable in the controller or an integer value
Macro call
Type of macro action. See Macro function above.
INGENIA | ingeniamc.com/support | 13-Jul-2016
65
MotionLab Software Suite | User Manual
Funct Propertie Values
ion
s
Comments
Macro jump
Macro return
Macro continue
Macro
number
Else
Integer between 0
and 63
Macro call
Type of macro action. See Macro function above.
Macro jump
Macro return
Macro continue
Macro
number
Integer between 0
and 63
Example:
This program shows how to set a digital output depending on an analog input signal value.
Check Analog input #1 value: If greater than 100 ADC counts jump to macro #2 and set digital output #1 to ON,
otherwise jumps to macro #2 and set digital output #1 to OFF.
Wait Function
Func Properties
tion
Values
Comments
Wait Timer
Time in ms
The macro execution waits for a given time before processing the next
function.
Time in ms
Time (ms ) can be defined as constant value or read from an internal
register.
Register
Value Timer
This option uses the internal value of 'wait register' as variable.
Conditional
Target
reached
The macro execution waits for an event, motion value or input signal
status before processing the next function.
Set point
acknowledge
Index Pulse
66
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Func Properties
tion
Values
Comments
Actual
position
Actual Force
Register
Value
Analog Input
Digital Input
Example:
Program waits for digital input = ON before executing the next macro instruction.
Stop Function
Function Properties Values
Stop
Mode
Comments
Quick Stop
Halt
Slow Stop
11.1.2 Motion Instructions
Motor Function
Functio Propertie Values
n
s
Comments
MOTOR Motor
Use the MOTOR function to enable the servo drive and perform a specified
motion.
On /
Off
Example :
Enable motor and servo drive:
INGENIA | ingeniamc.com/support | 13-Jul-2016
67
MotionLab Software Suite | User Manual
Position Command
Fun Properti Values
ctio es
n
Comments
POS Mode
ITIO
N
Target
position
Absolute /
Relative
Absolute displacements are executed related to zero position defined by
Homing. Relative displacements use as reference the current position.
Constant /
variable
It can use any readable variable in the controller.
Target
value
Position
value in
counts
Check encoder counts to get the right conversion.
Profile
velocity
Velocity in
counts /s
Check motor rated speed and encoder counts to get the right conversion.
Profile
Acceleration
Accelera in counts /s2
tion
Profile
Deceleration
decelera in counts /s2
tion
Setpoint Immediate /
mode
Queue
Wait
mode
Target
reached /
none
The setting of the WAIT MODE determines if the program will wait for the move
to be finished, or if the program will continue executing the next instruction.
Example:
Move 45,000 counts from current position and wait for the move to be finished. In this example a rotary motor
has attached an incremental encoder with 4,000 CPR (45,000 counts / 4,000 CPR * 360º = 4,050 º).
Velocity Command
Fun
ctio
n
Propertie Values
s
VEL Target
OCI Velocity
TY
Constant /
variable
Comments
It can use any readable variable in the servo drive.
Check encoder counts or calculator to get the right conversion.
68
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Fun
ctio
n
Propertie Values
s
Target
Velocity
value
Comments
Velocity
value in
counts/ s
Profile
Acceleration Check motor rated speed and encoder counts to get the right conversion.
Accelerati in counts /s2
on
Profile
Deceleration
decelerati in counts /s2
on
Wait
mode
Target
reached /
none
The setting of the WAIT MODE determines if the program will wait for the move
to be finished, or if the program will continue executing the next instruction.
Example:
Set velocity at 1,200 RPM and wait for the speed to be reached. In this example the rotary motor has attached an
incremental encoder with 4,000 CPR.
(80,000 counts / 4,000 CPR * 60 s = 1,200 RPM)
Torque/Force Command
Fu Propertie Values
nct s
ion
Comments
FO Target
RC Force /
Torque
E
Constant / variable
It can use any readable variable in the servo drive.
Force/ Torque
value in 0/00 of
Check motor or actuator rated torque or force. The target value is
expressed in 0/00.
Target
value
Rated value
Profile
slope
Force increase in 0/ Defines force slope to reach the target
00/s
Wait
mode
Target reached /
none
The setting of the WAIT MODE determines if the program will wait for the
move to be finished, or if the program will continue executing the next
instruction.
Example:
Set output force of axis at 50% or rated value.
INGENIA | ingeniamc.com/support | 13-Jul-2016
69
MotionLab Software Suite | User Manual
Homing Command
Fu Properti Values
nc es
tio
n
H Method
O
MI
N
G
Comments
EndSt Use the Homing function to take the axis to its reference position(home).
op
Up to eight different parameters are responsible for determining how the home cycle is
EndSt performed, depending on the method selected.
op & By choosing a homing method, the following behavior is determined: The homing
Index signal (positive limit switch, negative limit switch, home switch), the direction of
Pulse actuation and where appropriate, the position of the index pulse.
Index
Pulse
Curre
nt
positi
on
Switc
h
Wait
mode
Target
The setting of the WAIT MODE determines if the program will wait for the move to be
reached finished, or if the program will continue executing the next instruction.
/ none
Direction Positive Displacement direction.
/
Negativ
e
Accelera In
This parameter establishes the acceleration used for all accelerations and
tion
counts / decelerations in homing methods.
s2
70
Velocity
for End
Stop
In
Two search speeds are used during the typical homing process, a fast one to locate
counts / the switch position or mechanical limit and a very slow one to find the encoder index
s
pulse.
Velocity
for
Index
Search
In
counts /
s
Force
for End
Stop
0/
00
of
Max force to apply during homing sequence.
rated
force
Timeout In ms
Timeout to occur in case the servo drive does not complete the homing.
Home
Offset
This value indicates the configured difference between the zero position for the
application and the machine home position (found during homing).
In
counts
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Example:
Homing center of travel: using a linear actuator, this macro searches negative mechanical limit then moves 2,000
counts and sets this point as new home (full stroke is 4,000 counts).
Motor ON enables the axis
Homing EndStop moves the axis until reaching the negative mechanical limit and sets this position as
Home.
Move Absolute displaces the axis 2,000 counts
Homing current position
Motor Off disables the axis
Oscillate Command
Function
Properties Values Comments
OSCILLATE
Amplitude
counts
Peak amplitude
Frequency
Hz
Check motor / actuator mechanical limits
Example:
This macro triggers a 10 Hz oscillation during 10 s and 1,500 counts amplitude.
Motor ON enables the axis
Set command source to internal signal generator ( register 0x02430 = 6).
Oscillate 10 Hz, 1,500 counts amplitude
Wait for 10 s
Set command source to network ( register 0x02430 = 0).
Oscillate
Oscillate instruction requires to first change command source to internal signal generator. The
oscillation starts from the current position, therefore is necessary to check first that there is enough
stroke / length in both sides to perform the displacement.
INGENIA | ingeniamc.com/support | 13-Jul-2016
71
MotionLab Software Suite | User Manual
11.1.3 Registers and I/O handling
Get variable
Functio
n
Propertie
s
Value
s
Comments
GET
Index
HEX
Check EMCL manual to see the different registers available and their meaning.
Subindex
SET VARIABLE
The registers freely available to write data to are called 'General Purpose Registers'. Please check the EMCL
documentation for more information on which registers are available (see below).
Funct Proper Values
ion
ties
SET
Index
HEX
Comments
Check EMCL manual to see the different registers available and their meaning.
Subind
ex
Operati
on
Constan A variable can be set using a constant value or by operating using different
t
functions with another variable.
Variable The different operations will enable additional properties to be set.
Add
Subtract
Divide
Multiply
Absolut
e
Comple
ment
AND
OR
XOR
Shift
Left
Shift
Right
Example:
This macro reads the current mode of operation (Get) and 'Set' it to profile torque.
72
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
EMCL registers
For more information about the internal registers and their functionality, check the online document
EMCL Registers
Set Output
Function
Properties
Values
SET OUTPUT Output
Digital / Analog
value
Comments
Digital
Select output type
Analog
Number of available I/Os depends on servo drive model
On
Analog value is a constant number
Off
Analog
value
11.2 System Interrupts
System Interrupt provides additional versatility to macros programming. It allows program flow control and event
handling based on hardware digital inputs, internal timers or over-current status.
For more detail information, check the Embedded Motion Control Libray.
Setting interrupts
1. From Composer panel, click to activate an Interrupt and from the selection list choose a macro number.
2. Click the 'Set interruptions' button on the top menu.
The 'Set / Enable' interrupt must be done again inside the macro called. To do so, it is necessary to use the 'Set
variable ' command and set to 1 the Interrupt vector (Register 0x2C08), with sub-index equal to the interrupt
being used.
You can assign any digital input to execute an internal program. When the signal is activated, current macro is
stopped and program jumps to the assigned macro. After execution, it will return to the previous program.
INGENIA | ingeniamc.com/support | 13-Jul-2016
73
MotionLab Software Suite | User Manual
11.3 Examples
Following is a list of available examples:
Automatically resetting under-voltage fault
Error visualization through 4 GPOs
Start/ Stop motion using 2 GPIs
11.3.1 Automatically resetting under-voltage fault
Description
When the supply voltage of the drive drops lower than a user specified voltage (for example 12V), an internal
fault is generated by the firmware. When the fault has been detected, the drive is being disabled automatically. In
order to enable the motor again, the board has to be reset or a manual fault reset from motion lab is needed. In
some cases however, this rebooting of the board or an intervention needed by Motionlab can be undesired. This
example describes a macro which automatically enables the motor if the supply voltage is high enough again
after a user-undervoltage fault occurred.
File
Macro Description
ResettingFaultV1.ximf
1
Implementation 1: manually enabling the motor
ResettingFaultV2.ximf
1
Implementation 2: Enabling using motor on/off
ResettingFaultMacro0.ximf
0
Macro 0, setting status to 0 and calling the macro
Note 1: You should either load macro V1 or V2 into Macro 1. They both have the same functionality, but are
different implementations.
Note 2: Macro 0 should be loaded. In case multiple macros are running, this macro should be edited.
Note 3: If another Macro is already loaded into macro 1, one could use the move button to move the newly
loaded macro to another macro.
Instructions used
The notes use the following instructions
Instruct Instru Description
ion
ction
type
Motor
control
Comments
Motor Enables the servo
drive
ON
Program Macro Jumps to a specific
flow
jump macro number
'Go To 'equivalent
Program If
flow
It allows execution of a group of program lines if the specified
expression is true
Conditional jump
Set
Regist Executes an
Variable ers
incremental or
absolute move
Sets the value of a register or performs mathematically expressions
such as 'ADD' and logical expressions such as 'AND'.
Materials used
Any board. Tested on a Neptune running Firmware release 2.3.1.
74
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Program Example
This description only handles the macro itself. The macro should be called in macro 0 (or another macro) as well.
Please note that the status variable (0x2c00 0x03) should be set to 10 when the macro starts. The macro is
automatically calling itself again, so it keeps on repeating.
General description and macro-flow
In order to be able to guarantee the correct flow and reduce the amount of computations every cycle, the macro
has been written in a state machine using 2 states. Register 0x2c00 subindex 0x03 is the state variable, with the
following possible states:
10. No error detected. Checking for new errors.
20. Error detected. Checking if voltage is raised again. If so, restart motor.
In pseudo-code, the macro is doing the following:
Pseudo-code
if (state == 10)
ErrorCheck = (DriveState) && 8 //Error if 4th bit is high,
so 1xxx && 1000
if (ErrorCheck == 8)
//Error detected. Check if the error is under-voltage
(means that error code is 0x3221)
if (ErrorCode) == 0x3221
// User under-voltage detected. Move towards next
state
state = 20;
end
end
end
//User under-voltage detected. Check if the voltage already
raised. If so, restart motor
if (state == 20)
Threshold = UserUnderVoltage + 2.5;
if (DriveVoltage >= Threshold)
EnableMotor();
state = 10;
end
end
Used Registers
Used registers from the Firmware.
Regis Sub
ter
Index
Description
Comment
0x603 0x00
F
ErrorCode
The drive error code. User under-voltage = value 0x3221 (hex)
0x00
If an error occured, 4th bit is a 1 (1xxx).
INGENIA | ingeniamc.com/support | 13-Jul-2016
75
MotionLab Software Suite | User Manual
Regis Sub
ter
Index
Description
Comment
0x604
1
Status of the
drive
0x604 0x00
0
Drive Status
0x210 0x01
1
Drive Voltage The actual voltage of the drive
0x210 0x03
1
User under
voltage
Sequence 128, 6, 7, 8 can be used for resetting, disabling, power on and
enabling motor, respectively.
The setting for the user under-voltage. Is set in protection within Motionlab
Used general purpose registers.
Register Sub Index
Description
Comment
0x2C00
0x03
State of the macro.
10 = No error, 20 = Under-voltage detected
0x2c00
0x04
ErrorCheck
Is b1000 (=8) if an error has been detected
0x2c00
0x05
Threshold
The user under-voltage value + a 2.5V threshold voltage.
State 10: Detecting error
In this part of the macro we are checking if the drive is in error state and if so, if the error is indeed user undervoltage. If the error is not user-undervoltage, the status remains 10, so during the next run the macro will again
check if the drive is still in error.
Instruction 0:
This instruction is simply checking if the State variable is equal to 10. If so, it continues, if not, it jumps towards
the label 'EndIf10'
Instruction 1:
The statusword (register 0x6041 - Statusword) is giving the status of the drive. As can been seen in the table
below, the drive is only in fault mode, if the 4th bit is 1 (1xxx). So to check if the drive is in error, we should
perform a logical AND operation, to verify whether this bit is high or not. So we want to do: Regiser 0x6041 &&
0000 0000 0000 1000. However, it is not possible within the composer to write binary values, only hex or
decimal. So instead of 0000 0000 0000 1000 we have to write simply 8. See the screenshot below.
Value (binary)
Status
xxxx xxxx x0xx 0000
Not ready to switch on
xxxx xxxx x1xx 0000
Switch on disabled
xxxx xxxx x01x 0001
Ready to switch on
xxxx xxxx x01x 0011
Switched on
xxxx xxxx x01x 0111
Operation enabled
xxxx xxxx x00x 0111
Quick stop active
xxxx xxxx x0xx 1111
Fault reaction active
xxxx xxxx x0xx 1000
Fault
76
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Instruction 2:
Checks if the previous AND operation is equal to b1000 (=8 decimal). Since the if-statement is only able to work
with dec or hex, we have to an 8 here at the constant value. If the drive is in error, the macro continues. If not in
error, it jumps to the end.
Instruction 3 and 4:
This instruction is only run if the drive is in fault modes. The instruction is checking if the error in register 0x603F
0x00 is equal to the user under-voltage error code (= 0x3221). If this is the case, the status variable is changed
from 10 to 20 by instruction 4. If the error code is different, instruction 3 jumps towards the end.
Note the difference in the Constant Value field between instruction 2 and 3. In instruction 2 it is a decimal value,
in instruction 3 a hex value (starting with 0x).
State 20: Enabling motor if voltage increases
In this second part of the macro, it has been verified that the drive is in the fault 'user under-voltage detected'.
Now the macro is going to check if the voltage has been raised above to the minimum value + a threshold, if so,
the motor will be enabled again.
Two different implementations are possible. The first one is manually changing the register value regarding the
drive fault (0x6040 0x00). Changing this value into 4 different values 128, 6, 7 and then 8 sequentially, will reset,
disable, power on and enable the motor, respectively.
The second implementation uses the motor off/on block in the composer. To use this, first the fault has to be
reset (previous as in the first method, by changing 0x6040 0x00 towards 128 and then to 6). After this reset,
motor off and motor on has to be used to be able to enable the motor. Once this has been done, the macro goes
back to state 10.
Full macro using the first implementation (manually changing the status of the motor):
INGENIA | ingeniamc.com/support | 13-Jul-2016
77
MotionLab Software Suite | User Manual
Full macro using the second implementation (using the motor on/off instructions):
Instruction 5,6 and 7
Instruction 5 is checking if the macro is in state 20, so if an user under-voltage fault has been detected. If so, it
continues, if not, the macro jumps towards the 'End' label.
Instruction 6 (see plot 'First implementation') is adding a threshold of 2.5V towards the user under-voltage
parameter set in motion lab (written into 0x2101 0x03) and writes the result towards general purpose register
0x05.
Instruction 7 (see the plot 'second implementation') is checking if the real voltage of the drive (stored into register
0x2101 0x01) is higher than the value stored in 0x05. If so, the motor will be enabled, if not, the macro goes to
the 'End' label.
Instruction 7-11 or 12
The next instructions are enabling the motor, using one of the two methods as described above.
After the motor is being enabled, the status variable (general purpose register 0x03) is being changed towards 10
again.
Looping the macro
The last instruction is a jump instruction, back towards instruction 0. So the macro keeps on running all the time.
Right now, no wait instruction is implemented. But one could consider adding a wait instruction of for example
1000 ms. Keep in mind that the wait instruction should be added just before the jump instruction, and the 'End'
label should be moved towards this wait instruction.
Notes
Before the macro is run, the register 0x2c00 0x03 (status) should be made 10.
If multiple macro's are running, it might be needed to change the general purpose registers used by this
macro.
78
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
If the user under-voltage is being reset outside this macro, the macro will try to enable the motor as well (it
is still in state 20).
A wait instruction could be added to reduce the computations.
This macro should be working with any of the boards. It has been verified and tested with a Neptune,
running FW 2.3.1
11.3.2 Error visualization through 4 GPOs
Description
This macro task is reading an internal value, corresponding with an error code internally generated (not by the
macros). The value of the error code will be displayed by enabling the digital outputs 1 up to 4, which in their turn
can be connected to LEDs to display the error value. By using the 4 digital outputs, up to 16 different error codes
can be displayed.
To reduce the length of the composer code, some binary mathematics are used.
The code is written and tested with a Neptune, which has only 2 GPOs. Therefore just 2 error codes are being
displayed. The code is easily extensible though.
File
Macro Description
ShowingBitsFull.ximf
0,1,2,3 The full program for tuning on/off the GPOs
ShowingBits.ximf
1
Macro to check error code and decide which GPOs should be changed
MacroEnableGPO.ximf
2
Macro which enables the GPO as written in GPR 0x10
MacroDisableGPO.ximf
3
Macro which disables the GPO as written in GPR 0x10
Notes
This example is written for the composer in Motion Lab V2.10.2.
The instruction ' Set Output' is not working correctly in this Motion lab version, therefore macro 2 and 3 are used
to manually change the outputs.
Program Example
This program contains 4 different macros, see the table underneath for a description of what each macro is
doing. In this example the focus will be on macro 1.
Macro Number
Description
0
Calling macro 1 (on startup of the drive)
1
Main loop. Checking the error code (in register 0x2C00 0x03)
2
Macro to enable GPO
3
Macro to disable GPO
General description
The macro is checking an error (written in 0x2C00 0x3). The GPOs are set high according to the (binary) error,
as displayed in this table:
Error (BIN)
Error (DEC)
Bit 1
Bit 2
00
0
False False
INGENIA | ingeniamc.com/support | 13-Jul-2016
79
MotionLab Software Suite | User Manual
Error (BIN)
Error (DEC)
Bit 1
Bit 2
01
1
True
False
10
2
False True
11
3
True
True
For ease of understanding, the behavior of the macro is here explained in pseudo-code. Basically just for every
bit separately is checked if the corresponding GPO should be changed.
Pseudo-code
If Error && 0x1 == 0x1
GPO = 1;
EnableGPO( GPO );
else
GPO = 1;
DisableGPO( GPO );
end
If Error && 0x2 == 0x2
GPO = 2;
EnableGPO( GPO );
else
GPO = 2;
DisableGPO( GPO );
end
Used registers
Register Sub Index
Description
Comment
0x2C00
0x03
Error Code
This is the error code that will be visualized by the macro
0x2C00
0x04
Temp output
Temporary output of logical AND, used for the if-statements
0x2C00
0x10
Macro Explanation
The whole code used to make 1 bit high is shown in the following picture. Instruction 7 is the first line of the 3nd
bit to check. This code can be repeated for all the following bits in the error code. So if you want to check an error
code of length 3 (001 for example), you need to copy this code 3 times.
Instruction 0
80
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
In the figure above, the function properties of instruction 1 are shown. The instruction performs a logical AND
with the error code (in GPR 0x03) and writes it into GPR 0x04. Since we are only able to give constant values as
HEX or DEC, programming BIN checks is somewhat complicated. The constant value depends on which location
of the error code you want to check. In the next table, the 'x' indicates the bit you want to check.
Error bit
Constant value
000x
1
00x0
2
0x00
4
x000
8
The result of the logical end will be 1,2,4 or 8 respectively, if the bit is 1, and 0 if the bit is 0.
Instruction 1
The if-statement is checking if the result of Instruction 1 (written in GPR 0x04) is equal to 1,2,4 or 8, depending
on which bit. In the screenshot we are checking 000x, so the value is 1.
If the result is 1, the macro continues to set the GPO high. If not, the macro jumps to the part where we set the
GPO to false (label 'Out1Low').
Instruction 2,3 and 4
Those 3 instructions are responsible for making the GPO true. Instruction 2 sets which GPO should be made
true, and instruction 3 calls the macro (2) which changes the status of the GPO. Once macro 2 is executed,
instruction 4 makes sure we are skipping the part of the macro that is making the GPO false by jumping towards
the label 'EndBit1'. The constant value written by instruction 2 should be:
GPO Value
Meaning
1
65536
216
2
131072 217
3
262144 218
4
524288 219
Instruction 2 writes one of these values into GPR 0x10, which is used by macro 2.
Instruction 5 and 6
Those 2 instructions are making sure the GPO is set to False, if needed. Instruction 5 is similar as instruction 2, it
is setting which GPO should be made False into GPR 0x10. Instruction 6 is calling the Macro which disables the
GPO (macro 3).
Last instruction
The last instruction, is OR going to check the next bit, OR if all the bits of the error code are check, should jump
back to the first instruction so that the macro keeps on running. Jumping to the beginning can be done by adding
a 'jump' instruction towards label 'Begin'.
Alternatively a jump towards instruction '0' can be added. However, in general it is recommended to jump
towards labels, since the numbering automatically changing when instructions are added/deleted.
INGENIA | ingeniamc.com/support | 13-Jul-2016
81
MotionLab Software Suite | User Manual
11.3.3 Start/ Stop motion using 2 GPIs
Description
A basic task needed in some applications is to execute a motion with an imposed speed or distance, from the
moment when a digital input changes its status.
The following note describes how use MotionLab macros programming language for using I/O conditional event
(If command) to start a position motion profile moving the actuator in both directions.
This example enables the servo motor and waits for digital input GPI1 to move the a voice coil 5.000 counts; if
GPI2 is pressed, the motor moves in the opposite direction.
Application note objective:
Use different macros to structure the programming
Learn how to use program flow commands
Learn how to use conditional jumps based on input status
Learn how to perform a move
Instructions used
The notes use the following instructions
Instructi
on type
Instructi Description
on
Comments
Motor
control
Motor
ON
Enables the servo drive
Used in start-up macro 0.
Program
flow
Macro
jump
Jumps to a specific
macro number
'Go To 'equivalent
Program
flow
If
Conditional jump
It allows execution of a group of program lines if the specified
expression is true
Motion
Position Executes an incremental
or absolute move
Program
flow
Macro
Call
Call a specific macro
Jumps to a macro, execute code and returns
Program
flow
Macro
Return
Returns to macro call
Returns to macro Call and executes following instructions
Use the Position command to generate a move relative or
absolute to a specific number of counts
Materials used
The following materials have been used for this example:
Products
Version / Model
BEI KIMCO Smart Voice coil
LAS13-18-000A
Pluto Documentation Home
STD
Pluto IO extension board
1.0
MotionLab Configuration and programming tool
2.7.6
82
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
Reference documentation
BEI KIMCO LAS13-18-000A datasheet
Pluto Servo Drive Installation Manual
Program example
At system power up, macro 0 is executed. Servo drive is Enabled and program jumps to macro #1.
If GPI1 is pressed, program calls Macro #3
If GPI2 is pressed, program calls Macro #2
If no input is pressed, program continues execution in macro #1
Macro #0
This macro is always executed at power-up. After the servo drive is enabled, it jumps to macro #1. This macro
should contain all the initialization process.
Macro #1
This macro checks whether GPI1 or GPI2 are pressed.
If GPI1 is ON it calls macro 3 otherwise remains in Macro1
If GPI2 is ON it calls macro 2 otherwise remains in Macro1
Macro #2 and #3
These macros execute a move function of 5.000 counts, negative or positive. Once target is reached macros
return to macro call.
INGENIA | ingeniamc.com/support | 13-Jul-2016
83
MotionLab Software Suite | User Manual
12 Units
Units window allows the user to set the general units that will be used in MotionLab.
The drive uses four primary measures of motion: position, velocity, acceleration/deceleration, force and torque.
You must first choose units of measurement for each of these. The settings for units are automatically applied to
MotionLab.
Units window includes a simple calculator to help you convert the correct values for parameters that are affected
by other system settings.
84
INGENIA | ingeniamc.com/support | 13-Jul-2016
MotionLab Software Suite | User Manual
13 Updating your drive Firmware
Following is described the procedure to update the firmware of your Ingenia Servo Drive.
1. Download the latest Firmware and XDD for your drive
Make sure to download the Firmware version that matches to your drive specifications
(CANopen, Serial, EtherCAT). Loading a different version will damage your drive.
2. Connect the servo drive to your computer
Make sure your drive is powered up.
Once the power supply is on, the POWER LED will switch on. If the POWER LED is not on,
please check the wiring.
After a few seconds the CAN LED will start blinking.
3. Open MotionLab from the Programs menu
If your drive is not being detected on start up click on Scan Again or check the selected
Baudrate and wiring.
4. Once MotionLab detects your drive click on Update FW
5. Browse and select the Firmware and click on Update Firmware
6. Click OK to proceed.
When updating the firmware all configurations will be lost. If you have already configured your
drive make sure to save the configuration before updating the drive.
7. If this method fails please contact Ingenia Support.
INGENIA | ingeniamc.com/support | 13-Jul-2016
85