SPiiPlus Setup Guide
SPiiPlus Setup Guide
Setup Guide
September 2020
Document Revision: 3.02
SPiiPlus Setup Guide
SPiiPlus
COPYRIGHT
Changes are periodically made to the information in this document. Changes are published as release notes and later
incorporated into revisions of this document.
No part of this document may be reproduced in any form without prior written permission from ACS Motion Control.
TRADEMARKS
ACS Motion Control, SPiiPlus, PEG, MARK, ServoBoost, NetworkBoost and NanoPWN are trademarks of ACS Motion Control Ltd.
EtherCAT is registered trademark and patented technology, licensed by Beckhoff Automation GmbH, Germany.
Any other companies and product names mentioned herein may be the trademarks of their respective owners.
www.acsmotioncontrol.com
NOTICE
The information in this document is deemed to be correct at the time of publishing. ACS Motion Control reserves the right to
change specifications without notice. ACS Motion Control is not responsible for incidental, consequential, or special damages of
any kind in connection with using this document.
Version 3.02 2
SPiiPlus Setup Guide
Revision History
Date Revision Description
September
3.02 New Release
2020
December
2.50 Replaced EtherCAT Configurator with System Setup
2017
June 2017 2.40 Reformatted with new template for SPiiPlus ADK Suite v2.40
December
2.20 Update for 2.20
2012
November
2.10 First release
2011
Version 3.02 3
SPiiPlus Setup Guide
Format Description
Monospace + grey
Code example
background
Blue Hyperlink
Flagged Text
Warning - describes a condition that may result in serious bodily injury or death.
Version 3.02 4
SPiiPlus Setup Guide
Related Documents
Documents listed in the following table provide additional information related to this document.
The most updated version of the documents can be downloaded by authorized users from
www.acsmotioncontrol.com/downloads.
Document Description
SPiiPlus Command & Variable Describes all of the variables and commands available in the
Reference Guide ACSPL+ programming language.
SPiiPlus MMI Application Explains how to use the SPiiPlus MMI Application Studio and
Studio User Guide associated monitoring tools.
SPiiPlus COM Library COM Methods, Properties, and Events for Communication
Reference with the Controller.
SPiiPlus .NET Library .NET Methods, Properties, and Events for Communication
Reference with the Controller.
Version 3.02 5
SPiiPlus Setup Guide
Table of Contents
1. Introduction 14
1.1 Scope of document 14
2. Getting Started 15
2.1 SPiiPlus Hardware Connection 15
2.2 SPiiPlus Software Installation 15
2.2.1 SPiiPlus Installation Disk 16
2.2.2 Software Installation 16
2.3 Safety Instructions 17
2.4 Product Licenses 17
2.4.1 About Licenses 17
2.4.2 License-Based Features Ordered with ACS EtherCAT Master 18
2.4.3 License-Based Features for ACS EtherCAT Slaves 19
2.4.4 Purchasing an ACS License 19
2.4.5 Entering New License String into the Controller 21
2.5 SPiiPlus Resources 21
2.5.1 Accessing SPiiPlus Programming Resources 21
2.5.2 Available SPiiPlus Resources 22
2.6 Activating SPiiPlus MMI Application Studio 22
2.7 Set Up New System 24
3. Establishing Communication with SPiiPlus MMI Application Studio 26
3.1 Setting Controller Properties 26
3.2 Connecting to the Controller 28
3.2.1 Serial Communication 28
3.2.1.1 Connecting via Serial Communication 28
3.2.1.2 Troubleshooting a Serial Connection 29
3.2.2 Ethernet Communication 29
3.2.2.1 Connecting via an Ethernet Network 30
3.2.2.2 Connecting via Ethernet Point-to-Point Communication 31
3.2.2.3 Troubleshooting Ethernet Network Connections 33
3.2.2.4 Troubleshooting Ethernet Point-to-Point Connection 34
3.3 Connecting via a Remote Host 34
3.4 Setting SPiiPlus Communication Parameters 35
Version 3.02 6
SPiiPlus Setup Guide
Version 3.02 7
SPiiPlus Setup Guide
Version 3.02 8
SPiiPlus Setup Guide
Version 3.02 9
SPiiPlus Setup Guide
Version 3.02 10
SPiiPlus Setup Guide
Version 3.02 11
SPiiPlus Setup Guide
List Of Figures
Figure 2-1. SPiiPlusMMI Application Studio Startup Window 23
Figure 3-1. SPiiPlus Controller Properties Window 27
Figure 3-2. RS-232 Serial Connection 28
Figure 3-3. Types of Ethernet Connection 30
Figure 5-1. Motion Control System Schematic 49
Figure 5-2. Control Loops 50
Figure 5-3. PI Filter Schematic 51
Figure 5-4. PI Filter Frequency Response 51
Figure 5-5. Bi-Quad Configured as a Notch Filter 53
Figure 5-6. Bi-Quad Configured as a 2nd Order Lead FIlter 54
Figure 5-7. Bi-Quad Configured as a 2nd Order Lag FIlter 55
Figure 5-8. Bi-Quad Configured as a 2nd Order Low Pass FIlter 56
Figure 7-1. Commutation Options 101
Figure 9-1. Velocity and Position Loop Adjustment - General Layout 110
Figure 9-2. Velocity Loop Motion Manager Panel 111
Figure 9-3. Example Scope Display of Well Adjusted Velocity Loop 113
Figure 9-4. Position Loop Manager Panel 114
Figure 9-5. Example Scope Display of Well Adjusted Position Loop 116
Figure 12-1. Homing 128
Figure 14-1. Typical Gantry 147
Figure 14-2. Gantry Axis Profile Generation 148
Figure 15-1. Dual Loop System 153
Figure 15-2. Controller in Dual Loop Block Diagram 154
Figure 17-1. Dynamic Brake Implementation by the Digital Drive 164
Figure 18-1. Measuring Settling Time (Piezoceramic Motor Example) 172
Version 3.02 12
SPiiPlus Setup Guide
List of Tables
Table 2-1. Tool Use Requirement 18
Table 2-2. ACS EtherCAT Master License-Based Features 18
Table 5-1. Digital Outputs for Brake Control in SPiiPlus 77
Table 5-2. Digital Outputs for Brake Control in MC4U 78
Table 16-1. SLPROUT Values 156
Table 16-2. SLVROUT Values 157
Table 16-3. SLCROUT Values 158
Table 17-1. Three-Phase Motor Specifications - Linear Motor 167
Table 17-2. Three-Phase Motor Specifications - Rotary Motor 168
Version 3.02 13
SPiiPlus Setup Guide
1. Introduction
1. Introduction
1.1 Scope of document
This guide provides guidance in how to configure and adjust SPiiPlus systems to work with
supported types of motors and feedback devices. The guide applies to SPiiPlus stand-alone motion
controllers and modules as well as MC4U Control Modules with NT motion controllers and modules
installed.
The principle application employed for setting up SPiiPlus systems is the SPiiPlus MMI Application
Studio which is supplied with the CD package accompanying all SPiiPlus products.
Setting up the SPiiPlus system basically involves:
> Establishing communication between the SPiiPlus MMI Application Studio and the
controller.
> Where an EtherCAT network is involved, the SPiiPlus MMI Application Studio System Setup
is employed to configure the network.
> If an MC4U Control Module is employed, the SPiiPlus MMI Application Studio System
Configuration Wizard is used for establishing its configuration.
> After the above have been accomplished, the SPiiPlus MMI Application Studio Adjuster
Wizard tool is employed to establish the nature of the control loops. Various types of
control loops and how they are set up are given.
Version 3.02 14
SPiiPlus Setup Guide
2. Getting Started
2. Getting Started
This chapter provides the basics for setting up a SPiiPlus system.
When an MC4U unit is not supplied bus voltage, a component failure fault will be
reported. The fault is system wide and will prevent all axes from operating unless the
fault is masked or bus voltage is supplied to the power supply. When a component
failure is reported, the affected power supply is identified by its I2C address, access the
System Information Viewer (see SPiiPlus MMI Application Studio User Guide) to
determine the faulty unit.
Version 3.02 15
SPiiPlus Setup Guide
2. Getting Started
Windows® XP SP2 (64-bit) and Windows® XP SP3 (32-bit) are no longer supported.
Each new version of SPiiPlus software is installed in a new folder (with the new version name)
under C:\Program Files\ACS Motion Control\SPiiPlus ADK Suite vx.xx
For SPiiPlus system software previous to v2.30, the file directory is under C:\Program
Files\ACS Motion Control\SPiiPlusNT Suite x.xx.
ACS Motion Control recommends using the most updated SPiiPlus tools and
documentation.
Version 3.02 16
SPiiPlus Setup Guide
2. Getting Started
The safety procedures outlined in this section, along with safety instruction detailed in
the documentation of each network element, must be carefully observed in order to
achieve safe and optimal operation of ACS networking provisions.
Make sure that the following guidelines are addressed and observed prior to powering or handling
any of the network elements:
> Installation and maintenance must be performed by qualified personnel only. Such a
person must be trained and certified to install and maintain high power electrical
equipment, servo systems, power conversion equipment and distributed networks.
> Prior to powering up the system, ensure that all network components are connected to
earth grounding.
> Keep all equipment covers close and secured during all time.
> Maintenance should be performed only after the relevant network element has been
powered down, and all associated and surrounding moving parts have settled in their safe
mode of operation. Certain drives require longer times in order to fully discharge. Follow
the hardware guide of each element and observe the residual discharge time specified.
> Avoid contact with electrostatic-sensitive components and take the required precautions.
The license string allows controller options only for the specific controller and cannot
be used for another controller.
The network units are initially ordered and delivered with a pre-defined configuration and feature
set. This set consists of product-specific features, such as, number of axes, number of Sin-Cos
encoders, hardware configuration parameters. These features are stored in the products
themselves. Other network parameters, such as special servo features and number of total axes,
and number of non-ACS IO devices, are stored in the master controller. For example, a UDMnt-2 can
be ordered with none, with 1 or 2 Sin-Cos multiplies, in one or two axes configuration. On the
network level, the master controller can be ordered with or without ServoBoost™ as a special
servo feature.
The ordered master controller is factory pre-programmed to the maximum number of axes,
number of non-ACS servo axes, non-ACS stepper axes and non-ACS IO nodes. ServoBoost™ and
other customized servo algorithms are ordered at the Master/Network level as well.
Version 3.02 17
SPiiPlus Setup Guide
2. Getting Started
The number of network elements (units and EtherCAT nodes) is limited up to the maximal number
listed defined in Table 2-2. The limitation may result from the specific master chosen, by the
resulting number of supported nodes, and the required axes.
In order to change a network’s configuration, that relates to network-level features, after the initial
order, the user may have to obtain a specific software license. Changing network configuration
(addition or subtraction of units, adding, removing or replacing modules within the MC4U, or adding
programmable features) may require modification of the network configuration in addition to the
above described software license., as outlined in Table 2-1.
Table 2-1. Tool Use Requirement
System
Action Obtain License
Setup
Factory
Requirement Description
Setting
Total All servo axes in the network (4, 8, 16, 32, or 64). Two
As
number of performance levels of MPUs within NTM controllers are
ordered
axes supported, as function of needed axes and CTIME.
Input As
Optional algorithm.
Shaping ordered
Version 3.02 18
SPiiPlus Setup Guide
2. Getting Started
Factory
Requirement Description
Setting
Customized
As
servo Support of customized servo features, such as ServoBoost™.
ordered
algorithms
Number of
Axes provided by (certified) non-ACS EtherCAT drives. Refer to As
non-ACS
ACS price list for detailed upgrade information ordered
stepper axes
Number of
IOs provided by (certified) non-ACS EtherCAT devices. Refer to As
non-ACS I/O
ACS price list for detailed upgrade information ordered
nodes
In order to change any of these parameters after the network has been delivered, the user has to
obtain a new license from ACS.
Once delivered, however, no changes to the ordered configuration can be made in the
field. If changes are required, the product has to be returned to ACS to effect the
change.
Version 3.02 19
SPiiPlus Setup Guide
2. Getting Started
Version 3.02 20
SPiiPlus Setup Guide
2. Getting Started
3. Browse to the location where you want to save the information and click Save.
The data is saved in a file with an .ini extension. It is this file that you send to ACS Motion Control
when purchasing a new license.
Version 3.02 21
SPiiPlus Setup Guide
2. Getting Started
Version 3.02 22
SPiiPlus Setup Guide
2. Getting Started
Version 3.02 23
SPiiPlus Setup Guide
2. Getting Started
For a complete description of the elements making up the SPiiPlus MMI Application Studio Startup
window, see SPiiPlus MMI Application Studio User Guide.
3. System Setup
SPiiPlus technology enables you to link several devices (ACS Motion Control devices as well as
certain approved non-ACS devices) together in a master/slave configuration. Once all the devices
have been physically connected, you have to perform this step to establish the parameters of the
network.
4. System Hardware Configuration
In this step you use the System Setup Component to scan your system in order to define the
physical parameters of each device. This step involves: defining the configuration in the database,
verifying that the configuration is correct, and then loading the configuration data into the master
controller. Once this step is complete, the master controller knows what type of devices are in the
system and what they are controlling.
The physical parameters include:
> Whether the device is a motion controller or I/O device
> Whether the controller is a master or slave
> The motherboard being used (for MC4U units)
> Power supply that is installed (for MC4U units)
> Drivers that are installed (for MC4U units)
> Axes to which the devices are connected
> I/O connections
5.
In this step you begin by defining the motion parameters for each axis through the Adjuster
Wizard. Then you proceed to adjust the motion parameters based on the nature of the axis
parameters as well as the motors that are being driven. The adjustment of the specific types of
motion parameters is covered in Current Loop and Current Phase Offset Setup, Commutation, Open
Loop and Position Verification, Position and Velocity Loops, and Save to Flash.
6. Protecting Application
At this point, the controller has been in the configuration mode, meaning that it can be written to.
Changing the controller mode to Protected limits changes that can be made to controller variables
and program buffers. The Protected mode can be useful once you have completed configuration
Version 3.02 24
SPiiPlus Setup Guide
2. Getting Started
and adjustment and want to protect the controller from changes that could be caused
unintentionally.
Further specialized motion application considerations are covered in the appendices.
Version 3.02 25
SPiiPlus Setup Guide
3. Establishing Communication with SPiiPlus MMI Application Studio
If you have more than one SPiiPlus Motion Controller in your system, use the SPiiPlus
MMI Application Studio Add Controller function and repeat the communication setup
for each motion controller. See SPiiPlus MMI Application Studio User Guide for details
on this function.
Communication setup for each type of channel is described here using the SPiiPlus MMI Application
Studio SPiiPlus Controller Properties dialog window through which you configure the controller’s
communication settings.
Certain parameters, such as logging and remote connections, can also be set using
SPiiPlus User Mode Driver - see SPiiPlus Utilities User Guide.
Version 3.02 26
SPiiPlus Setup Guide
3. Establishing Communication with SPiiPlus MMI Application Studio
1. In the General tab enter an identifying name in the Controller Name field.
2. Enter the connection timeout value, in milliseconds, in the Connection Timeout field.
Version 3.02 27
SPiiPlus Setup Guide
3. Establishing Communication with SPiiPlus MMI Application Studio
The SPiiPlus MMI Application Studio serial communication is not intended to be used for
safety purposes.
All SPiiPlus motion control products include two RS-232 serial communication channels (COM1 and
COM2). The default settings of RS-232 are: 8 data bits, no parity and a regular stop bit.
Version 3.02 28
SPiiPlus Setup Guide
3. Establishing Communication with SPiiPlus MMI Application Studio
4. Click Connect ( ).
Version 3.02 29
SPiiPlus Setup Guide
3. Establishing Communication with SPiiPlus MMI Application Studio
Version 3.02 30
SPiiPlus Setup Guide
3. Establishing Communication with SPiiPlus MMI Application Studio
4. Click Connect ( ).
To connect the host computer to the motion controller via point-to-point Ethernet:
1. In the General tab select Ethernet.
Version 3.02 31
SPiiPlus Setup Guide
3. Establishing Communication with SPiiPlus MMI Application Studio
Version 3.02 32
SPiiPlus Setup Guide
3. Establishing Communication with SPiiPlus MMI Application Studio
4. Click Connect ( ).
Version 3.02 33
SPiiPlus Setup Guide
3. Establishing Communication with SPiiPlus MMI Application Studio
If two controllers have the same IP, an error message (code 165) appears. Later, to
connect via Ethernet network to the controller with a unique IP, you should reboot the
controller by right- clicking the controller in the Workspace Tree and selecting
Controller Reboot:
Version 3.02 34
SPiiPlus Setup Guide
3. Establishing Communication with SPiiPlus MMI Application Studio
Version 3.02 35
SPiiPlus Setup Guide
3. Establishing Communication with SPiiPlus MMI Application Studio
2. Once you have set the parameters, click Save to Flash ( ). The Save to Flash
window is displayed:
Version 3.02 36
SPiiPlus Setup Guide
3. Establishing Communication with SPiiPlus MMI Application Studio
By default all data is selected. You have the option of selecting the data you want to
load into the controller by clicking (thereby deselecting) the checkbox of the data you
do not want to be saved.
5. Click Save.
Version 3.02 37
SPiiPlus Setup Guide
3. Establishing Communication with SPiiPlus MMI Application Studio
the feedback position and reference position are equal (or, in terms of the associated
ACSPL+ variables: FPOS=RPOS).
> Real time operation: The simulator emulates the controller time and supplies the TIME
variable, however TIME=1 is not equal to 1 millisecond as when working with a real SPiiPlus.
> Some hardware-based programming features, including: Index, MARK, PEG, and analog I/O
(AIN and AOUT).
> Some SPiiPlus MMI Application Studio Communication Terminal commands: #HWRES,
#RESET, #U, #IR, #SI, #SIR .
> The write/read commands.
> The SPiiPlus MMI Application Studio Application Saver and Application Loader.
The Simulator does, however, provide limited support for SPiiPlus MMI Application
Studio Adjuster Wizard.
Version 3.02 38
SPiiPlus Setup Guide
3. Establishing Communication with SPiiPlus MMI Application Studio
Version 3.02 39
SPiiPlus Setup Guide
4. System Setup
4. System Setup
4.1 System Setup
The system setup process includes setting up the EtherCAT network and configuring the units
connected to the network.
ACS network solutions are based on a master device and multiple network elements, connected
over an EtherCAT cable. The combination of EtherCAT technology and ACS network capabilities
ensure that the master and all network elements are tightly time-synchronized.
An ACS EtherCAT network consists of a master (see Supported Network Masters ) that is always
positioned as the first network element. The subsequent elements can be any combination of ACS
and non-ACS EtherCAT network elements (see Supported Network Slaves ). A daisy chain cabling is
used to connect the master to the network elements: The master is connected by a single
EtherCAT cable to the first “slave”, which connects to the second “slave”, which in turn connects to
the third one. This process is repeated until the last “slave” element is reached. The EtherCAT cables
support bi-directional, full duplex communication.
The number of supported elements is determined by the type of master used, and the software
version installed. The axes and IO numbering is determined through the System Setup Wizard, a
component of the SPiiPlus MMI Application Studio, as detailed in the following sections and by
setting the front panel DIP switches on ACS network elements that contain them.
Version 3.02 40
SPiiPlus Setup Guide
4. System Setup
The controller consists of three interconnected boards: a base driver board, an MPU,
and an Ethernet board. SPiiPlusNT- HP supports up to 64 axes and 64 nodes.
> SpiiPlusNT-NP Motion Controller
The SPiiPlusNT-NP motion controller is a NanoPWM dual axis 2 or 4 (local) network
master. The controller can be housed in an MC4U or installed as a stand-alone.
The controller consists of three interconnected boards: a base driver board, an MPU,
and an Ethernet board. SPiiPlusNT- NP supports up to 64 axes and 64 nodes.
> SPiiPlusNT-LD Motion Controller
SPiiPlusNT-LD is the same as SPiiPlusNT-HP but includes an additional module for linear
drivers.
> SPiiPlusSC motion controller
SPiiPlusSC is a technology that leverages modern PC power and open architecture for
high-performance motion control. ACS and non-ACS party servo drives and I/O devices
are connected to the PC by means of real-time network EtherCAT. The SPiiPlusSC
implements both multi-axes motion control and EtherCAT Master.
Version 3.02 41
SPiiPlus Setup Guide
4. System Setup
The PDMnt is a network module designed for controlling external drives and I/Os. There
are three PDMnt versions:
> PDMnt-4 - A 4-axes Pulse/Dir interface for step and servo motors.
> PDMnt-8/8-D - An 8 x digital output and 8 x digital input that can operate off 5Vdc or
24Vdc and can be configured either as a sink or source.
> PDMnt-4-8/8-D - Combines the PDMnt-4 and PDMnt-8/8-D for providing a 4 x
Pulse/Dir interface, 8 x digital inputs and 8 x outputs
> SPiiPlus IOMnt EtherCAT Module
The SPiiPlus IOMnt EtherCAT Module is a 32 input and 32 output ACS EtherCAT network
element. The product is configured, controlled and monitored by an ACS master and
matching software tools.
> SPiiPlus SDMnt Control Module
The SPiiPlus SDMnt Multi-Axis Step Motor EtherCAT Control Module is a panel mounted,
four or eight axis EtherCAT slave module designed for running step motors. It can run
seven two-phase unipolar step motors and one two-phase bipolar motor.
> SPiiPlus UDMnt
The SPiiPlus UDMnt (Universal Drive Module) is a dual-axis card designed for incorporation
in the MC4U Control Module to enable control peripherals over the Ethernet.
Details of the above units can be found in their respective Hardware Guide.
Version 3.02 42
SPiiPlus Setup Guide
4. System Setup
The IDs are assigned a number starting from 0. In some of ACS products, a physical switch exists on
the product's panel: the DIP switch, which can be set by the user according to the following:
> When set to 00 (binary) – this is a don’t care setting.
> When set to a non-zero value – it is checked by the system to detect changes of same-
type units. This feature is used to distinguish between any identical and adjacently position
units. In the System Setup MMI component the DIP is represented as DIP: 0 or other value.
The network assigns ID numbers to units sequentially (starting from 0) as a function of number of
nodes.
8-15 0, 1 19-22
When changing the order of units in the network, the axes’ numbering (logical names that have
been assigned) can be maintained. This is done by the System Setup MMI component, which checks
the new assignments validity and warns of conflicts.
Version 3.02 43
SPiiPlus Setup Guide
4. System Setup
As an example, a 32 bit vector assigned to a unit (32 in and out, maximum, in IOMnt, and as
function of suppported I/Os in other units), and addressed by bit: IN(3).5 where 3, the
index, is set in the System Setup MMI component, and 5 is the bit number to which the
default is assigned by the tool and can be changed by user. The variable IN(3).xx is
assigned to a certain unit and cannot be split – no two units can have the same IN(X)
assigned to them.
> Analog In and Out
Analog I/O variables AIN(n) and AOUT(n), n=0 to 999, are assigned sequentially by the
System Setup component as function of the detected hardware's number of AIN and
AOUT ports.
4.2.4 Logical and Physical Assignment of Network Units, Axes and IO Variables
Variables’ names have to change when network units change locations. Since the units’ position
has changed, their IDs change, and, as a result, the axes assignment changes. In order to maintain
the logical names of the axes and I/Os and thus leave the application unchanged, the System Setup
MMI component data has to be updated.
As an example, the following ‘before’ and ‘after’ (UDMnt-1 has been removed from the network)
configurations demonstrate the automatic axis assignment which results following the units’ order
change, and the assignment after user’s intervention. An NTM master (not shown) is assumed:
Before:
ID 0 1 2
Axes 0, 1 2 3, 4, 5, 6
After:
UDMnt-
MC4U Remarks
2
ID 0 1
2, 3, 4,
Axes 0, 1 Default assignment
5
Version 3.02 44
SPiiPlus Setup Guide
4. System Setup
Until version 2.60, controlling IOMNT units required using ECIN and ECOUT. ACSPL+ IN and OUT
variables were not allocated to IOMNT. Version 2.60 supports auto-mapping of IOMnt to ACSPL+ IN
and OUT variables.
For backwards compatibility, a new bit #IOMNTMAP in S_SETUP variable should be set to 1.
Refer to the SPiiPlus Command & Variable Reference Guide.
It is the responsibility of the operator to ensure that the required precautions are
taken prior to reconnecting the cables so that no personnel are endangered.
Command Meaning
Read EtherCAT State - a variable whose bits represent the various stages of
?ECST
the network
Version 3.02 45
SPiiPlus Setup Guide
4. System Setup
You should run the automatic system setup on initialization and whenever the system
is changed.
Version 3.02 46
SPiiPlus Setup Guide
4. System Setup
Version 3.02 47
SPiiPlus Setup Guide
5. System Hardware Configuration
Version 3.02 48
SPiiPlus Setup Guide
6. Axis Setup and Tuning
Your goal in using the Adjuster Wizard is to make the plant follow the command “as good as
possible” despite the presence of disturbances while ensuring that the system is stable. Through
the Adjuster Wizard you adjust the parameters of the control laws in order to attain a quick, stable
command response.
Control laws must be set with enough margins to accommodate reasonable changes in the system,
and from system to another, such as a change in motor constant, driver gain, etc.
Version 3.02 49
SPiiPlus Setup Guide
6. Axis Setup and Tuning
The position loop generates a command to the velocity loop, and the velocity loop generates a
command to the current loop.
In general, an inner loop should be faster than an outer loop, specifically:
> Current response should be faster than velocity response
> Velocity response should be faster than position response
By faster we mean with higher bandwidths, at a higher frequency zone. Typical bandwidth values
are:
> Current loop – 0.5 kHz- 1 kHz
> Velocity loop – 50 Hz – 200 Hz
> Position loop – 10 Hz – 50 Hz
6.1.2.1 PI Filter
The proportional-integral (PI) filter is a basic control element. It is included in the current loop and
velocity loop. In certain cases also in the position loop.
The PI is the sum of two signals:
> The proportional term (SLxKP) provides responsiveness, and affects the bandwidth (how
fast the response is)
> The integral term (SLxKI) ensures that the average error is driven to zero.
Version 3.02 50
SPiiPlus Setup Guide
6. Axis Setup and Tuning
Version 3.02 51
SPiiPlus Setup Guide
6. Axis Setup and Tuning
Usually, SLVSOF has to be 10-20 times above the velocity loop bandwidth. As a rule of thumb: set
SLVSOF=SLVKI.
A Bi-Quad filter is added to the velocity loop control in addition to the existing 2nd order Low-pass
and Notch filters.
The Bi-Quad filter is the most general 2nd order filter. It has two poles and two zeros. It can be
thought of as a high-pass filter in series with a low-pass filter. The transfer function of the Bi-Quad
filter is as follows:
Where:
> ωN and ωD are the numerator (high-pass filter zero) and denominator (low-pass filter pole)
frequencies, respectively.
> ζ N and ζ D are the numerator and denominator damping ratios, respectively.
Version 3.02 52
SPiiPlus Setup Guide
6. Axis Setup and Tuning
The Bi-Quad filter can be used to compensate mechanical resonances, improve stability margins
and system bandwidth.
The Bi-Quad filter can be configured as an additional Notch using the following formulas:
1. Set the numerator and denominator frequencies equal to the Notch frequency in[Hz]:
2. Set the numerator damping ratio equal to half the ratio between the Notch width and
Notch frequency:
Below there are several examples that demonstrate the generality of the Bi-Quad filter.
SLVB0NF = SLVB0DF
SLVB0ND<SLVB0DD
Version 3.02 53
SPiiPlus Setup Guide
6. Axis Setup and Tuning
Version 3.02 54
SPiiPlus Setup Guide
6. Axis Setup and Tuning
Version 3.02 55
SPiiPlus Setup Guide
6. Axis Setup and Tuning
Version 3.02 56
SPiiPlus Setup Guide
6. Axis Setup and Tuning
Some operations during the adjustment process may cause the motor to begin moving
unexpectedly. Some of the limits and safety features may be temporarily disabled. To
avoid personal injury or damage to the equipment, check the following before starting
the adjustment process:
> Verify that NOTHING (people, electrical cables, or other obstacles) is in the path
of the motor or objects connected to the motor.
> Verify that the motor is securely anchored and that proper safety barriers,
stops, and/or limits are installed.
You must run the Adjuster Wizard for each new SPiiPlus Motion Controller in the
system.
The adjustment procedure affects both the volatile and non-volatile memory of the controller. The
Adjuster Wizard keeps the controller memory in-sync with the application database.
The Adjuster Wizard maintains the high-level adjusted values for each component separately on
your computer. Only after you have selected Save to Flash, does the Adjuster Wizard save the
values into low-level parameters in the controller.
If the controller is shut off during an adjustment session and the data has not been
saved to the controller’s flash memory, the synchronization will be lost and the
adjustment session must be repeated.
Version 3.02 57
SPiiPlus Setup Guide
6. Axis Setup and Tuning
Drill down to the subdirectory containing database files and select the file, all
Adjuster database files have an awd file extension. Then click Open.
The Incompatibility Symbol indicates that the value in the component field is incompatible with
what you have defined in previous windows.
You should return to a previous window and change the value with which it is in conflict, or, if
possible, change the value in the field in the current window. In any case you should resolve all
conflicts before continuing.
Version 3.02 58
SPiiPlus Setup Guide
6. Axis Setup and Tuning
This symbol can be ignored when an element is not yet defined. For example, a Drive
has been defined but not the Motor.
You can also activate the Adjuster Wizard using the right-click Add Component option
of the Workspace Tree.
3. Select the axis by clicking the Axis Selector field and then select the axis from the
dropdown list:
Version 3.02 59
SPiiPlus Setup Guide
6. Axis Setup and Tuning
The Adjuster Wizard must be run for each axis in the system.
If you have already run the Adjuster for another axis, you have the option of copying
values from this axis into the current axis by selecting Copy Values From Axis. When
you select this option, you choose the axis whose values are to be used from the
Select Axis To Copy From (which becomes active when you select this option)
dropdown list:
Version 3.02 60
SPiiPlus Setup Guide
6. Axis Setup and Tuning
In this step you define the electro-mechanical structure of the controller’s working application as
well as the units for measuring feedback.
Components
In this step you define the parameters governing the:
> Drive
> Motor
> Feedback
Once you have defined these, you trigger the Adjuster to calculate the optimal values for the high-
level parameters and you load them into the system.
Safety and Protection
In this step you define the parameters for:
> Motion limits
> Current limits
> Postion errors
> Position limits
Miscellaneous Definitions
In this step you define the parameters for such things as:
> Motion completion
> Enable/Disable/Brake
> Dynamic brake
> Home switch
Verification
In this step the Adjuster Wizard runs various verification tests for such things as:
> Feedback
> Motor
> Switches
> Stop. Alarm, and Brake
This enables you to see where you need to adjust the values of the parameters.
Axis Setup and Tuning
In this step you are given the opportunity to refine your values and fine tune your system.
Save to Flash
Once your high-level values are correct for your system, in this step you save the low-level values
to the controller flash.
Final Page
This step is your exit point from the Adjuster Wizard.
Version 3.02 61
SPiiPlus Setup Guide
6. Axis Setup and Tuning
6.5 Initialization
Initialization serves only for tracking purposes.
1. Enter your name in the User Name field (optional - this field may be skipped).
2. Enter the name of your application or the ID of the machine for which the controller is
being employed in the Application/Machine field (optional - this field may be skipped).
You will note that Adjuster has extracted the controller’s firmware version, S/N and
P/N from the controller and filled in these fields.
3. Enter the date in the Date field - its format is: mm/dd/yyyy.
4. Enter any remarks you want in the Remarks field (optional - this field may be skipped).
5. Click Next.
Version 3.02 62
SPiiPlus Setup Guide
6. Axis Setup and Tuning
Once you have entered all the required data for this step, click Next to advance to the next task.
Version 3.02 63
SPiiPlus Setup Guide
6. Axis Setup and Tuning
The Advanced Parameters option should be used with caution. Badly defined units
may cause serious problems with measuring the actual feedback.
Version 3.02 64
SPiiPlus Setup Guide
6. Axis Setup and Tuning
The EFAC variable relates to many other configuration variables. While changing the
EFAC variable via the Adjuster, all relevant configuration variables are automatically
updated. Therefore, we recommend changing the EFAC variable only via the Adjuster
and not from other places, such as SPiiPlus MMI Application Studio Communication
Terminal or any application program
6.7 Components
The Components step consists of defining the values for:
> Motor
> Drive
> Feedback
At the end of the step the Adjuster Wizard calculates the parameters that are to be used and
inserts them into the appropriate program variables.
The screen shots presented in this step are for example only. The actual fields that
appear depend on the values set in the Axis Architecture step. See SPiiPlus MMI
Application Studio User Guide for details of working with these windows.
6.7.1 Motor
The first component for which you need to enter values is the Motor.
Data must be entered in all the fields. The data is entered by selecting the appropriate value from
the dropdown list of each field or entering the values taken from the motor’s technical data sheet.
Version 3.02 65
SPiiPlus Setup Guide
6. Axis Setup and Tuning
In entering the values the incompatibility icon ( ) may appear. Check the tool-tip. If it
states that there is incompatibility between components that have not been set yet,
ignore it. Continue to set component values.
However, do not forget to go back after all the components have been set up and
ensure that it no longer appears. If it still appears, then resolve it by changing the
component's values or changing the Axis Setup values.
Once you have entered all the values, click Next to define the Drive component.
6.7.2 Drive
The second component for which you need to enter values is the Drive.
Data must be entered in all the fields. The data is entered by selecting the appropriate value from
the dropdown list of each field or entering the values taken from the drive’s technical data sheet.
In entering the values the incompatibility icon ( ) may appear. Check the tool-tip. If it
states that there is incompatibility between components that have not been set yet,
ignore it. Continue to set component values.
However, do not forget to go back after all the components have been set up and
ensure that it no longer appears. If it still appears, then resolve it by changing the
component's values or changing the Axis Setup values.
Once you have entered all the values, click Next to define the Feedback component.
6.7.3 Feedback
The third component for which you need to enter values is the feedback.
Version 3.02 66
SPiiPlus Setup Guide
6. Axis Setup and Tuning
The Feedback component can be either the Motor, the Load, or both depending on
what you defined in Feedback Topology in the Axis Architecture step.
Data must be entered in all the fields that are active (many, you will note, have already been
selected by Adjuster from data that you have previously entered for the Drive and Motor
components). The data is entered by selecting the appropriate value from the dropdown list of
each field or entering the values directly in the fields.
For absolute encoders, see Absolute Encoder Setup Procedure.
In entering the values the incompatibility icon ( ) may appear. Check the tool-tip to
see what is causing the incompatibility. If it is a value of a previously set up component,
then return to the component and either change the component’s value, or make
changes in the Axis Setup.
Make sure that all component incompatibilities are resolved before continuing.
Version 3.02 67
SPiiPlus Setup Guide
6. Axis Setup and Tuning
1. Prior to the setup, verify that the controller has a license for the specific encoder type, as
well as hardware support. This can be verified by using the SPiiPlus MMI Application Studio
System Information Viewer or the #SI command.
2. Use the SPiiPlus MMI Application Studio Adjuster Wizard to do the following:
> Up to the Components:Feedback step, setup the axis normally.
> In the Components:Feedback step, type the encoder parameters.
> Set the encoder parameters as follows:
For details of the variables and their permissible values, see the SPiiPlus ACSPL+
Command & Variable Reference Guide.
> Type Absolute Encoder BiSS-C: in the Communication Terminal, set the absolute
encoder BiSS-specific parameters E_PAR_A and E_PAR_B according to technical
documentation for the encoder.
> For Type Absolute Encoder HIPERFACE: in the Communication Terminal, set the
absolute encoder HIPERFACE-specific parameter E_SCMUL according to technical
documentation for the encoder.
> Return to the Adjuster Wizard and click Next.
> In the Calculate Parameters step, click Calculate Parameters and then click Apply changes.
3. Continue to setup the axis using the Adjuster Wizard.
Version 3.02 68
SPiiPlus Setup Guide
6. Axis Setup and Tuning
The actual number of parameter types and parameters available to you depends on
what you defined in the Axis Architecture and Components steps.
The Adjuster Wizard displays values it has calculated in the window of each type. You have the
option of changing these within the limits of valid values. For details of the variables and their
permissible values see the SPiiPlus ACSPL+ Command & Variable Reference Guide.
Version 3.02 69
SPiiPlus Setup Guide
6. Axis Setup and Tuning
This window is used for entering the Maximum Velocity and Maximum Acceleration Limits values.
> MAXIMUM VELOCITY (XVEL) [UNITS/SEC] - The maximum allowed value is automatically
calculated based on motor parameters that were defined in Components step. Letting the
mouse cursor linger on the field displays a tool-tip guiding you in permissible values.
XVEL is used as a scale factor for other adjustment variables. Therefore, it is important
to define a proper value for it. Defining a value that is not reasonable for the feedback
characteristics and required velocity of your application will lead to poor adjustment
results.
> MAXIMUM ACCELERATION (XACC) [UNITS/SEC²] - The Adjuster puts in a value based on
motor parameters that were defined in Components step. Letting the mouse cursor linger
on the field displays a tool-tip guiding you in permissible values.
Version 3.02 70
SPiiPlus Setup Guide
6. Axis Setup and Tuning
This window is used for defining motor and drive protection parameters:
> Maximum Current In Idle State (XCURI) - The Adjuster Wizard automatically calculates the
value from the maximum torque/force required during standstill to overcome gravitation,
friction, etc.
If the value cannot be automatically calculated, that is, you have not specified gravitation,
friction, etc., the parameter XCURI is set to default.
If you want to set values other than the value displayed, letting the mouse cursor linger on
the field displays a tool-tip guiding you in permissible values. It is recommended to set this
value at the minimum current level required by the motor to keep the axis in position. The
value should not exceed the XCURV value.
> Maximum Current In Moving State (XCURV) - The value is automatically calculated
according to minimum of either maximal acceleration (XACC) or motor peak current that
you have specified.
If you want to set values other than the calculated one, letting the mouse cursor linger on
the field displays a tool-tip providing guidance in changing maximal acceleration or motor
peak values. XCURV = [allowed motor peak current / drive peak current] x 100. Refer to
the drive and motor specifications for these peak values.
> Overcurrent Fault detection - The following numeric controls defines Overcurrent Fault
detection criterion:
> RMS CURRENT LIMIT (XRMS, XRMSD, XRMSM) - The value is automatically calculated
based on motor/drive parameters that were defined in the Components step.
If you want to set values other than the calculated ones, letting the mouse cursor
linger on the field displays a tool-tip guiding you in permissible values for the motor
and/or drive current limits. XRMS, XRMSD, or XRMSM = [allowed motor nominal current
/ drive peak current] x 100. Refer to the drive and motor specifications for these
values.
Version 3.02 71
SPiiPlus Setup Guide
6. Axis Setup and Tuning
> RMS CURRENT TIME CONSTANT (XRMST, XRMSTD, XRMSTM) [MS] - This is the time
interval for checking whether an overcurrent fault has occurred.The overcurrent fault
activation time is according to the following formula:
For example: if XRMS=50, DCOM = 100 and XRMST = 3300 msec, then fault activation
time = -ln (0.75)*3300 = 950msec.
To calculate the fault activation time for XRMSD use XRMSTD; for XRMSM use
XRMSTM.
If you click the Advanced down arrow, the Adjuster displays a graph of the Overcurrent Fault
Detection:
When you change parameter values, you can see the effect on the graph.
Setting current (torque) limits example:
> Drive specification: peak current 20A, nominal (continuous) 10A.
> Motor specification: peak current 10A, nominal (continuous) 3A.
In this case:
> XCURI = minimum current level required by the motor to keep the axis in position, and less
than XCURV (which is 50%).
> XCURV = (10/20)*100 = 50%.
> XRMS = (3/20)*100 = 15%.
Version 3.02 72
SPiiPlus Setup Guide
6. Axis Setup and Tuning
A following error occurs when there is a difference between the reference (desired) position
(RPOS) and the feedback (actual) position (FPOS). A following error fault occurs when the following
error exceeds a user-defined threshold. Following errors are defined per axis and in User Units.
There are two following error faults:
> PE (position error): A following error fault that is still considered part of normal operation.
Normally, the user can program a condition based on this fault.
Version 3.02 73
SPiiPlus Setup Guide
6. Axis Setup and Tuning
> CPE (critical position error): A following error fault that is considered an abnormal
operation.
See more in the SPiiPlus ACSPL+ Programmer's Guide.
Each of these faults has three user-defined thresholds. The applicable threshold depends on the
current motor state:
> Idle (motor not moving): ERRI (position error in the idle state), CERRI (critical position error
in the idle state).
> Constant velocity: ERRV (position error in while in the constant motion state), CERRV
(critical position error in while in the constant motion state)
> Acceleration: ERRA (position error in while in the accelerating state), CERRA (critical
position error in while in the accelerating state)
For example, when the motor is in the idle state, the criteria for determining whether there is a PE
fault is ERRI and the criteria for determining whether there is a CPE fault is CERRI.
It is recommended to assign high following error fault thresholds for the duration of
the configuration and adjustment process. This will accommodate the process while
maintaining a measure of safety. Once the process is completed, the thresholds should
be reduced to minimal levels.
If required, delays can be configured to cause the controller, after changing motor state, to wait
before it starts to check whether the following error has exceed the threshold associated with the
new state.
> Moving-to-Idle Transition Delay (DELI) Time (milliseconds) to wait on transition from
acceleration state to idle state.
> Accelerating-to-Moving Transition Delay (DELV) Time (milliseconds) to wait on transition
from acceleration to constant velocity state.
Version 3.02 74
SPiiPlus Setup Guide
6. Axis Setup and Tuning
This window defines Software Position Limits and enables you to select:
> Allow Soft Upper Position Detection (SRLIMIT) - If Software Right Limit Mask is selected,
then the controller examines the fault and kills the motion that is beyond the defined limit.
> Allow Soft Lower Position Detection (SLLIMIT) - If Software Left Limit Mask is selected,
then the controller examines the fault and kills the motion that is beyond the defined limit.
The actual number of parameter types and parameters available to you depends on
what you defined in the Axis Architecture and Components steps.
The Adjuster displays values it has calculated in the window of each type. You have the option of
changing these within the limits of valid values. For details of the variables and their permissible
values see the SPiiPlus ACSPL+ Command & Variable Reference Guide.
Version 3.02 75
SPiiPlus Setup Guide
6. Axis Setup and Tuning
6.9.2 Enable/Disable/Brake
This window is used for defining the Enable operation and Mechanical Brake timing.
Version 3.02 76
SPiiPlus Setup Guide
6. Axis Setup and Tuning
You are also informed of the Digital Output variable (OUTx.x) that will contain the state
of brake. Make sure that you include it in your program to test the brake status.
The Digital Output variables for the SPiiPlus family of products are given in the following tables.
Table 5-1. Digital Outputs for Brake Control in SPiiPlus
OUT1.0 0
OUT1.1 1
OUT1.4 4
OUT1.5 5
Version 3.02 77
SPiiPlus Setup Guide
6. Axis Setup and Tuning
OUT0.0 0
OUT0.1 1
OUT0.2 4
OUT0.. 5
OUT0.4 2
OUT0.5 3
OUT0.6 6
OUT0.7 7
This option is active only for those axes having a built-in drive.
Version 3.02 78
SPiiPlus Setup Guide
6. Axis Setup and Tuning
> Selecting Use Dynamic Brake (this sets the MFLAGS#DBRAKE bit for the axis), and then
> Entering a Threshold Velocity (VELBRK) value.
Refer to SPiiPlus ACSPL+ Command & Variable Reference for details.
Braking will occur when the following two conditions are met:
1. The motor is disabled.
2. The feedback velocity (FVEL) is less than VELBRK.
The Home Switch can be None or you can select the digital input variable from the Home Switch
dropdown list:
6.10 Verification
If you have Sin-Cos encoders in the system, before doing this step, perform Sin Cos
Encoder Compensation Window and then return.
The Verification step examines the values you have entered and verifies that they are valid.
Verification is performed on the following:
Version 3.02 79
SPiiPlus Setup Guide
6. Axis Setup and Tuning
6.10.1 Feedback
This window verifies that the feedback values are valid.
Depending on what you defined in Components, the window displays the values for:
> Load
> Motor
If you have defined both Load and Motor as feedback components, there is one page
for Load and one page for Motor.
In this window:
Version 3.02 80
SPiiPlus Setup Guide
6. Axis Setup and Tuning
2. Click - this resets the position and the Adjuster starts counting from this
position.
You can view a list of the last latched indexes by clicking the down arrow of the Last latched
indexes list. To clear this list click Clear List.
There are two LEDs in this window relevant to the encoder:
> Encoder Not Connected Fault (FAULT.#ENCNC) - green indicates that this fault was not
detected.
> Encoder Error Fault (FAULT.#ENC) - green indicates that no encoder fault was detected.
If you selected Hall Sensors in Components: Feedback, the following is displayed:
The connection sequence of the three Hall Sensors is not important. You only have to verify that
the three Hall sensors are connected and the Hall counter counts 0,1,2,3,4,5 or vice versa. It does
not matter if the Hall counters count opposite to the encoder. This will be identified and taken care
of during .
The diagram shows:
> Feedback Position (FPOS) - the position in user units.
Rotate the motor by hand in one direction. The diagram should show the expected Hall state
transitions.
Version 3.02 81
SPiiPlus Setup Guide
6. Axis Setup and Tuning
Rotate the motor by hand in opposite direction. The diagram should show the expected Hall
state transitions.
Those values that can be changed are displayed in bold face. Values that cannot be
changed are grayed out.
3. Click Update in Database and click Next. The Components:Calculate Parameters window is
displayed.
6.10.2 Switches
This window is used for verifying the that actual limit switches are properly connected.
Version 3.02 82
SPiiPlus Setup Guide
6. Axis Setup and Tuning
To verify that the switches are properly connected manually move the motor into the switch and
check if the Fault LED turns red.
If it does not turn red, this means that there is something wrong with the switch. Check its
connection and if it is operational.
Fault Detection Settings
You have the options of:
> Enable/disable fault detection (FMASK.#RL for upper limit, FMASK.#LL for lower limit) by
selecting the appropriate check box.
If the bit is empty, the controller does not detect the fault.
> Inverting the detection logic (SAFINI.#RL for upper limit and SAFINI.#LL for lower limit) by
selecting the appropriate check box.
Version 3.02 83
SPiiPlus Setup Guide
6. Axis Setup and Tuning
Feedback Setting
To set the feedback (FPOS) to a particular value:
1. Enter the value in the Set To field.
2. Click - this resets the position and the Adjuster starts counting from this
position.
If the bit is empty, the controller does not detect the fault.
> Inverting the detection logic (S_SAFINI.#ES for Hardware Emergency Stop and
SAFINI.#DRIVE for Drive Fault / Laser Fault) by selecting the appropriate checkbox.
To set the feedback (FPOS) to a particular value:
1. Enter the value in the Set To field.
Version 3.02 84
SPiiPlus Setup Guide
6. Axis Setup and Tuning
2. Click - this resets the position and the Adjuster Wizard starts counting from
this position.
If you defined a Mechanical Brake in Miscellaneous Definitions:Enable/Disable/Brake, then
you have the option in this window of defining the mechanical brake output by activating
it manually, that is, without an ENABLE command by clicking the associated box.
3. When you are done, click Next to go to the next window.
The options that are available to you depend on the definitions you entered in
Components.
Commutation applies only for DC brushless (AC Servo) motors. It will appear in the
Adjuster tasks only if motors of this type have been defined as part of the system.
Version 3.02 85
SPiiPlus Setup Guide
7. Current Loop and Current Phase Offset Setup
Version 3.02 86
SPiiPlus Setup Guide
7. Current Loop and Current Phase Offset Setup
> When the auto tuning process starts, the Start Auto Tuning button changes to
Stop Auto Tuning and the LED next to it flashes "green".
> When the auto tuning process is complete, the LED returns to "gray" and Done
shows to the right of it.
2. When the auto tuning is complete, click Next to go to the next adjustment.
Auto tuning with Use Initial Parameters During Measurement (Optional)
If necessary, the current loop auto tuning can be done from initial parameters that you set. The
parameters are:
> Motor resistance phase-to-phase
> The rectified bus voltage
> Initial excitation current
To start the Auto Tuning process with the optional Use Initial Parameters During Measurement:
1. Click Use Initial Parameters During Measurement (Optional) check box.
2. Enter the values in the applicable field.
3. Select Start Auto Tuning.
Version 3.02 87
SPiiPlus Setup Guide
7. Current Loop and Current Phase Offset Setup
4. When the auto tuning is complete, click Next to go to the next adjustment.
Fine Tuning
When Auto tuning is complete, a Fine Tuning process can be done. Auto fine tuning is only for
PWM drives with good linear properties. You can do fine tuning for three different types of drives :
> Weak (PWM drives with poor linear properties)
> Normal (PWM drives with good linear properties)
> Strong (PWM drives with good linear properties)
1. To start fine tuning, click Fine Tuning drop down icon to show the different tuning levels.
2. Select the applicable drive.
3. Click Fine Tune.
Version 3.02 88
SPiiPlus Setup Guide
7. Current Loop and Current Phase Offset Setup
4. When the fine tuning is complete, click Next to go to the next adjustment.
Manual Tuning (Optional)
If you select manual tuning, you can set the proportional gain (SLIKP) and the integrator gain (SLIKI).
1. Click the Manual Tuning check box.
2. Enter the values in the applicable field.
Version 3.02 89
SPiiPlus Setup Guide
7. Current Loop and Current Phase Offset Setup
When the step response starts, the Check Step Respnse button changes to Stop and
the LED next to it flashes "green".
Version 3.02 90
SPiiPlus Setup Guide
7. Current Loop and Current Phase Offset Setup
> Increase the Proportional Gain (SLIKP) until the response waveform approximates a
square and a small overshoot appears, for example:
> Increase the Integrator Gain (SLIKI) by hundreds, until you get a narrow overshoot of
10% to 20%.
6. When you achieve the optimal values, click Stop. Close the Scope.
7. Click Next to go to the next adjustment.
Version 3.02 91
SPiiPlus Setup Guide
7. Current Loop and Current Phase Offset Setup
Version 3.02 92
SPiiPlus Setup Guide
7. Current Loop and Current Phase Offset Setup
If the neutral point is not accessible, or the motor is connected in delta, you may create an
“artificial” neutral point by connecting three-phase resistors in parallel to the motor. The 3 resistors
should be identical, in the range of 4-10 kΩ. Then you should measure relative to the artificial
neutral as shown in the following drawing:
Version 3.02 93
SPiiPlus Setup Guide
8. Commutation
8. Commutation
Commutation applies only for DC brushless (AC Servo) motors. It will appear in the
Adjuster tasks only if motors of this type have been defined as part of the system.
Version 3.02 94
SPiiPlus Setup Guide
8. Commutation
Version 3.02 95
SPiiPlus Setup Guide
8. Commutation
be based either on bringing the motor to a detent point (usually involves movement) or on
automatic commutation (COMMUT command see SPiiPlus ACSPL+ Command & Variable Reference
Guide), which is fast commutation retrieval using a closed-loop algorithm (and involving almost no
motor movement).
In both Commutation Adjustment and Commutation Startup programs that are NOT
based on automatic commutation the motor is moved by moving the current vector,
which pulls the rotor with it.
When the current vector is aligned with the magnetic field during commutation, the
motor can jump. The maximum jump is one magnetic pitch (180 electrical degrees) of
the motor in either direction. If the motor bumps into an obstacle, the commutation
setup algorithm will attempt recovery. The recovery may involve additional abrupt
moves.
Version 3.02 96
SPiiPlus Setup Guide
8. Commutation
When the page is first displayed, Preferences and Advanced Parameters are not
displayed. It is strongly recommended that you expand both and view all the options
available to you.
8.2.1 Preferences
When initially setting Preferences, you should first use the default values (by clicking
). This will set the commutation parameters in accordance with the
settings you have entered in previous steps of the Adjuster.
Version 3.02 97
SPiiPlus Setup Guide
8. Commutation
Settling
Determines the time assigned to the motor for settling at detent points.
Window Time
In all the schemes except the powerup position scheme, the following
steps are performed:
> Settle at a first detent point.
> Move the current vector to identify the phase sequence.
Automatically correct for wrong polarity.
> If the feedback indicates that the motor has moved less than 50%
of the expected distance, it is assumed to have run into an
obstacle and the program tries to recover in the opposite
Retrieve direction.
Commutation > Retrieve the commutation phase according to the selected
Phase at scheme.
Considerations when selecting a Commutation Scheme:
1. Based on detent point: If the feedback device has no index, this is
the only scheme that can be used. If the feedback device does
have an index it is recommended to use one of the “index”
schemes so that the index can be used as an absolute reference
point for commutation phase retrieval at subsequent powerups.
2. Based on index: Saves the value of the commutation phase at the
index position. This value can be used at subsequent system
Version 3.02 98
SPiiPlus Setup Guide
8. Commutation
Determines the initial value of the commutation phase, and, thereby, the
initial orientation of the current vector and the initial detent point.
Initial By properly setting this offset, you can avoid an initial jump in a system
Commutation with a predefined startup position. For other systems it can be used to
Offset determine a specific target position for the initial jump.
If no information is known about the relationship between the current
vector and the motor position, it should be set to 0 (the default).
Maximum Sets the maximum allowed distance for searching for targets (index or
Search limits). It is recommended to set the variable according to the operational
Distance distance.
Causes the system verify the encoder and motor variables during the
initial commutation process. If the variables seem to be configured wrong,
Verify Control
a general message will be displayed stating that improperly configured
and Feedback
variables are a possible reason for failure. Once corrected, you will be able
Parameters
to continue. In a case of more than 20% deviation between the defined
and measured pitch, the commutation process reports failure.
Display
Detailed
Displays commutation phase data (in electrical degrees).
Commutation
Results
Version 3.02 99
SPiiPlus Setup Guide
8. Commutation
Calculated Hall
Compensates for Improper hall alignment and optimizes torque/force
Alignment
production.
Offset*
Number of A word of caution: Deviation between defined and measured pitch does
Magnetic not necessarily indicate poor commutation quality. For example, incorrect
Pitches to definitions of feedback variables may be compensated for by high friction,
Measure thus the deviation may be low but the commutation will be poor.
*Only available when Hall Singals Transition is the selected option for "Retrieve
Commutation Phase at". This is the default condition if Hall sensors were selected.
2. Select the required buffer for storing the Commutation Startup program from the Run in
Buffer dropdown list (the controller supports up to 9 simultaneously executing program
buffers). Usually, you will want to select an empty buffer to avoid overwriting an existing
program.
3. Set your preferences (see Preferences and Advanced Parameters), or click Default which
will enter default values in the preferences.
4. At this point you have two choices:
The Buffer checkbox should be selected and the buffer number that
you entered in Step 2 should appear. If the program is to be
generated from a user file, select the File checkbox and click to
browse for the file. If you want to use automatic commutation,
select the Use Auto-commutation checkbox.
Click Generate. In the Program Manager pod, note that program appears in the specified buffer,
and a notification that the program was successfully generated is displayed.
Click Start Startup Program to run the Commutation Startup program.
Observe the motion of the motor and the messages that appear in the Commutation Program
Output panel. If errors appear or the motor does not respond as it should, make adjustments to the
parameters and run again - refer to Troubleshooting Commutation.
This chapter applies only for servo motors (DC brush or AC servo/DC brushless).
Enabling the motor may cause it to jump. To avoid personal injury or damage to the
equipment, check the following before enabling the motor:
> Ensure that nothing (people, cables, or other obstacles) is in the path of
the motor or objects connected to the motor.
> Ensure that the motor is securely anchored and that proper safety
barriers, stops, and limits are installed.
3. Drag the Drive Output slider slowly to the right until the motor moves. If the motor does
not move (due to friction), increase the Drive Output Range (with the slider or by entering
a value) until the motor moves.
4. Verify that the velocity gauge indicator moves to the right (same direction you moved the
slider). If the velocity arrow moves in the opposite direction, select Invert Drive Command.
If the direction of the velocity gauge is opposite to that of the Drive Output slider, it is
an indication of positive feedback. This is likely to cause a motor run away. If the
direction of the velocity gauge is opposite to that of the Drive Output slider, it is an
indication of positive feedback. This is likely to cause a motor run away.
5. For DC brush motor only: If there is bias (an offset) in the drive (motor moves while the
controller command is zero), then with Driver Output Range set to zero, use the DAC
Offset (SLIOFFFS) field to compensate.
The Motion Type dropdown list gives you the option of defining the type of motion, the options
are:
> One Direction Repeated Move
> Back and Forth Move (Default)
Position is always measured between two points:
> Point A
> Point B
Point A is the start position and Point B is the end position. The motion is then measured
from Point A to Point B.
You can set these points by manually moving the motor to Point A and clicking ,
and repeating this for Point B.
You can change the sign of the value by clicking
2. Click , this enables the motor of the axis you are working on.
If the jitter is too extreme, adjust the parameters until the scope shows that the motion graph
closely matches the reference lines.
Trying to adjust the position and velocity loops when the XVEL or EFAC variables are not
set right will produce poor results. Verify that these variables are defined correctly (to
fit your application/ requirements) before starting to adjust the loops.
> Low Pass Filter Bandwidth (SLVSOF) - Second order filter bandwidth.
> Integrator Bandwidth - Calculated by Adjuster, and is approximately equal to SLVI/20.5.
You can change the values only of those parameters that are not greyed out.
The Motion Manager for Velocity Loop adjustments serves for controlling the motion in order to
observe it graphically in the Scope.
The Motion Limited By dropdown list gives you the option of limiting the measurement to:
> Time Period - Typically used with rotary motion. Period sets the time intervals
> Between Two Points - Typically used with back-and-forth linear motion.
When you select this option, two more fields are displayed:
> Point A
> Point B
Point A is the start position and Point B is the end position. The motion is then measured from
Point A to Point B.
Note You can set these points by manually moving the motor to Point A and clicking
, and repeating this for Point B. You can change the sign of the value by clicking
.
> Positive Direction Only - Motor moves in the positive direction only. Period sets the time
intervals.
> Negative Direction Only - Motor moves in the negative direction only. Period sets time
intervals.
The parameters that are available for changing depend on the type of controller and
motor.
3. Click , this enables the motor of the axis you are working on.
6. If the jitter is too extreme, adjust the parameters until the Scope shows that the motion
graph closely matches the reference lines.
> Double the Velocity Gain until the approximates a square with a small overshoot.
> Increase the Integrator Gain by hundreds, until you get a narrow overshoot of 10-20%
in the waveform.
The Velocity Loop Motion Manager panel is replaced by the Position Loop Motion
Manager panel and the Adjuster disables the motor.
The parameters associated with velocity on the Position and Velocity window in the Position Loop
mode are:
> Position Gain (SLPKP) - A proportional coefficient of the position.
> Position Bandwidth - Calculated by the Aduster Wizard, approximately equal to SLPKP/(2
x PI).
> Velocity Gain (SLVKP) - A proportional coefficient that is applied to the velocity
> Integrator Gain (SLVKI) - Integrator coefficient in position servo loop.
> Integrator Limit [%] (SLVI) - Used to prevent the integrator from exceeding a certain
value.
> Low Pass Filter Bandwidth (SLVSOF) - Second order filter bandwidth.
> Integrator Bandwidth - Calculated by Adjuster approximately equal to SLVI/20.5.
> Acceleration Feed Forward (SLAFF) - Used for minimizing positional error during
acceleration/deceleration. It can be roughly calculated by (216 1E7 x EFAC/ACC)/0.1
You can change the values only of those parameters that are not greyed out.
The Motion Manager for Position Loop adjustments serves for controlling the position feedback in
order to observe it graphically in the Scope.
The Motion Type dropdown list gives you the option of defining the type of motion, the options
are:
> One Direction Repeated Move
> Back and Forth Move
You can set these points by manually moving the motor to Point A and clicking ,
and repeating this for Point B. You can change the sign of the value by clicking .
The values that you put in for these parameters apply only for position loop
adjustment using this window. They are separate from the motion profile definitions
used by the controller during normal operation.
1. Click , this resets the Scope to measure the position loop variables: RVEL, FVEL,
and PE.
2. Click , this enables the motor of the axis you are working on.
5. If the jitter is too extreme, adjust the parameters until the Scope shows that the motion
graph closely matches the reference lines.
> Increase the Position Gain to minimize position error during acceleration and
deceleration.
> Increase the Acceleration Feedforward to minimize position error during acceleration
If you do not save the data to the controller’s flash, all of the data will be lost.
When you enter this step, the Save to Flash prompt is displayed.
The Sin Cos Encoder Compensation window consists of three sections (as shown above):
> Measurement Curve Display
The Lissajous plot displays the aspect ratio of the phase shift between the input and output, with
an aspect ratio of 1 (perfect circle) corresponding to a phase shift of +90o as well as amplitude
differences (ellipse).
serves for executing the Sin Cos Encoder Compensation calculation routines. The elements in this
panel are:
> Select Axis - used for selecting the axis from a dropdown list, the contents of which
depend on the type of controller. There is a LED associated with the selected axis that can
be:
> Grey - the axis is not enabled
If you select an axis that is not connected to a Sin-Cos Encoder, it cannot be enabled.
Select the required axis from the dropdown list, for example:
> Compensation Status - this field displays messages associated with the Sin Cos Encoder
Compensation status. The messages that can be displayed are:
> Compensation Off - the Sin Cos Encoder Compensation has not been activated. (You
activate it by clicking the Run button).
> Compensation in Progress - the Sin Cos Encoder Compensation is performing its
measurements.
> Compensation Passed - the Sin Cos Encoder Compensation has completed its
measurements and the compensation is correct.
> Compensation Failed - the Sin Cos Encoder Compensation has completed its
measurements and the compensation is not correct.
> Compensation Cancelled - the Sin Cos Encoder Compensation has been stopped (when you
click the Stop button) before the measurements have been completed.
There is a LED associated with the status which can be:
> Grey - the Sin Cos Encoder Compensation has not been activated, or has completed its
measurements.
> Green/blinking - the Sin Cos Encoder Compensation has been activated and is working.
> Run/Stop button - activates or halts the Sin Cos Encoder Compensation measurements,
when clicked, the Run button changes to the Stop button for manually halting the
measurements in progress.
> ZoomIndicator - you have the following Zoom options:
When the display has been zoomed, the Zoom LED ( ) turns green.
> Zoom In - Hold Shift key and place the mouse cursor in the Scope display in area you
want to zoom into. Click the Left mouse button to display the Zoom icon. When the
icon appears, click the Left mouse button. Without releasing the Shift key, each time
you click the Left mouse button, you increase the zoomed display.
> Zoom In Area - While holding the Shift key, press the Left mouse button and drag to
mark the area you want to zoom, then release the mouse button.
> Zoom Out - While holding the Shift key, place the mouse cursor in the zoomed area
and click the Right mouse button. Without releasing the Shift key, each time you click
the Right mouse button, you zoom out one level.
> Move Graph - Hold Ctrl key and Left mouse button - a hand is displayed. Drag the
graph to where you want.
> Undo - To undo all zooms, press Shift + Backspace keys. (You can also undo the zoom
by clicking the Zoom LED ).
associated LED is Green (otherwise it is Red if the value fails, or Grey if the parameter is not
relevant).
The criteria are:
> Iterations - the number of iterations that the Sin Cos Encoder Compensation is to
perform during the measurements.
> Asymmetries - Max(dx,dy) - Min(dx,dy), where dx is Xfinal point - Xstart point, and dy is
Y final point - Y start point. If this is zero, the graph is a perfect circle.
> Shift X - the offset on the X axis
> Shift Y - the offset on the Y axis
> Slope - dy/dx, where dx is Xfinal point - Xstart point, and dy is Y final point - Y start point.
You can make changes to the values of the Target fields when fine-tuning the compensation.
> Parameters
This section lists the ACSPL+ variables that are connected with managing Sin-Cos encoders.
These are:
> SCGAIN - Modify the amplitude of the COS signal, to compensate amplitude difference
between the SIN/COS signals
> SCPHASE - Modify the phase of the COS signal, to compensate phase difference
between the SIN/COS signals (phase should be 90 degrees)
> SCSOFFS - Compensating SIN signal offset
> SCCOFFS - Compensating COS signal offset
> SLEBIASA - Defines a Sin-Cos encoder’s hardware compensation for the Sine offset
> SLEBIASB - Defines a Sin-Cos encoder’s hardware compensation for the Cos
The SLEBIASA and SLEBIASB variables, on the other hand, are hardware-based.
Hardware compensation has some advantages over software compensation:
possibility to get analog signals out of saturation, and making hardware based features
like PEG more accurate.
In principle these variables have similar functionality as SCSOFFS and SCCOFFS; however,
they are only supported by the following controller models:
> SPiiPlusNT-HP/LD (compensation diapason ± 350 mV)
> SPiiPlusDC-HP/LD (compensation diapason ± 350 mV)
> SPiiPlus-UDMpc (compensation diapason ± 625 mV)
> PiiPlus-CMnt-2 (compensation diapason ± 750 mV)
If the controller model supports it, Sin Cos Encoder Compensation first calculates the
software compensation variables, and then writes the final values to the hardware
variables (and resets the software ones).
You have the option of changing the values by inputting new values in the appropriate fields.
Details of these variables are provided in the SPiiPlus Command & Variable Reference Guide.
There are three action buttons associated with this section:
Sin Cos Encoder Compensation reads the current variable values from the
controller.
Sin Cos Encoder Compensation writes the variable values into the controller.
Sin Cos Encoder Compensation sets the default values into the controller.
There are two cursors, X1 and X2, for delimiting the Cos voltage values, and two cursors, Y1 and Y2,
for delimiting the Sin voltage. As the Sin Cos Encoder Compensation performs its routines, the
values at the cursor settings are displayed in the field below the graph. For setting the cursors see
SPiiPlus MMI Application Studio User Guide.
The rows are color-coded, Green for those values that passed the compensation measurements,
and Red for those that failed.
At the bottom of the table the Sin Cos Encoder Compensation adds a line containing the average
values of the variables. There is a separate line for each axis that was checked.
Right-clicking on any row displays a menu with the following options:
> Set Parameters - selecting this option causes the Sin Cos Encoder Compensation to use
these variable values for purposes of making the measurement.
> Save to Flash - selecting this option causes Sin Cos Encoder Compensation to save the
values to the controller’s flash memory.
> Delete - selecting this option deletes the row from the Statistics.
> Clear All - selecting this option removes all the values from the Statistics.
If the motor associated with the encoder is a brushless motor, it has to be commutated
before encoder compensation. In the event that it has not been commutated, the
following is displayed:
The easiest way to commutate the motor at this point is to enter the COMMUT
command via the Communication Terminal, for example:
Once you have completed the Sin-Cos compensation, return to theVerification Task of
the Adjuster Wizard.
1. If the axis is equipped with a DC Brushless motor, then the homing program
should also include a commutation startup program, see Commutation Startup
Program.
2. The controller's programming language (ACSPL+) supports designating the
axis by name or by number. This makes it possible to execute homing for all
the axes using a simple loop.
Version 2.60 has a set of predefined homing methods. You can also define a homing
method as well. The homing methods obey the DS402 standard.
For details, see SPiiPlus ADK Suite v2.60 Release Notes.
STOP
You can also activate the Protection Wizard using the right-click Add Component
option of the Workspace Tree.
3. Select the task you want to perform by clicking the appropriate button and then click Next.
If the controller is in the Not Protected mode, the only task available is Define
Protection.
If the controller is in the Protected mode, the tasks available are: Update Protection,
Remove Protection, and View Protection Status.
This task, and this task only, is available if the controller is in the Not Protected mode.
1. Since this is the only task available, click Next. The Set Protection Level window is
displayed.
There are three tasks that can be performed from the Select Protection Level window:
> Application Protection
You perform this task to set the program in the specified buffers to Read Only, that is, it
can be viewed but cannot be modified.
> Intellectual Property Protection
You perform this task to set the program in the specified buffers such that its contents
cannot be modified and cannot be seen.
> Custom Protection
There are three tasks that can be performed from the Custom Protection window:
> You can set the program in the specified buffers such that its contents cannot be
modified and/or cannot be seen.
> You can set specified variables to Read Only, that is, it can be viewed but cannot be
modified.
> You allow the system to be reconfigured.
By selecting the Prevent from editing checkbox you set the program in the buffer to
Read Only, that is, it can be viewed but cannot be modified.
3. Check that the proper Protections are set. If they are, select Accept. Click Next. The Set
Password window is displayed.
4. If you want to set a user password to prevent unauthorized personnel from removing
Protection, type it into the Enter password and Confirm password fields.
5. Click Next. The controller is rebooted. Wait for the notification of a successful restart.
The controller must be restarted, otherwise the protected programs can become
corrupted.
6. Click OK.
The Report window is displayed.
7. To save the report click Save report. The browser window is displayed:
By selecting the Prevent from editing and viewing checkbox, you set the program in
the specified buffers such that its contents cannot be modified and cannot be seen.
2. Click Next to preview changes and follow step 3 through step 10 in Setting Application
Protection to complete setting protection and to exit the Protection Wizard.
By selecting the Custom Protection checkbox, you set the program in the specified
buffers such that its contents cannot be modified and/or cannot be seen.
1. Select the appropriate Read only box to prevent the variables from being edited.
You can either set all the variables in a group by selecting the Read only box, or expand
the groups by clicking the tree expansion button: and marking individual variables for
read only.
3. You have the option of changing the Protection by selecting the appropriate buttons:
> To change Application Protection settings, select the button next to Application
Protection. Then click Next and follow the procedure described in Setting Application
Protection.
> To change Intellectual Property Protection settings, select the button next to Intellectual
Property Protection. Then click Next and follow the procedure described in Setting
Intellectual Property Protection.
> To change Custom Protection settings, select the button next toCustom Protection. Then
click Next and follow the procedure described in Setting Custom Protection.
In the selected protection task, you enable protection or cancel an existing Protection
by clicking the selected checkbox ( ) to toggle it on or off.
To remove Protection:
1. Select Remove Projection in the Select a Task window.
The password field appears next to the task heading when you select this task.
2. Type in the password, if needed, and click Next. The following notification appears:
6. To save the report click Save report. The browser window is displayed:
You can view the settings of the individual variables by clicking the tree
expansion button: of the groups.
1. Acknowledge the message by clicking Continue. The wizard informs you of the Protection
task that has failed, for example:
The DEPENDS command specifies a logical dependence between a motor and axes. By default the
motor is assigned to its axis. DEPENDS is necessary whenever the CONNECT command is used.
The SAFETYGROUP command that provides a special operation and safety mechanism for gantry
implementation as follows:
DISABLE(M_AXIS);DISABLE(S_AXIS)
!------ Configuration variables ---------------------
ERRI(S_AXIS)=ERRI(M_AXIS)
ERRV(S_AXIS)=ERRV(M_AXIS)
ERRA(S_AXIS)=ERRA(M_AXIS)
CERRI(S_AXIS)=CERRI(M_AXIS)
CERRV(S_AXIS)=CERRV(M_AXIS)
CERRA(S_AXIS)=CERRA(M_AXIS)
DELI(S_AXIS)=DELI(M_AXIS)
DELV(S_AXIS)=DELV(M_AXIS)
SLLIMIT(S_AXIS)=SLLIMIT(M_AXIS)
SRLIMIT(S_AXIS)=SRLIMIT(M_AXIS)
XVEL(S_AXIS)=XVEL(M_AXIS)
XACC(S_AXIS)=XACC(M_AXIS)
VELBRK(S_AXIS)=VELBRK(M_AXIS)
XRMS(S_AXIS)=XRMS(M_AXIS)
XRMST(S_AXIS)=XRMST(M_AXIS)
XCURI(S_AXIS)=XCURI(M_AXIS)
XCURV(S_AXIS)=XCURV(M_AXIS)
SLAFF(S_AXIS)=SLAFF(M_AXIS)
EFAC(S_AXIS)=EFAC(M_AXIS)
5. Open Adjuster . Position and Velocity Loop: adjust the maser axis normally. The slaved axis
parameters will be set identically (by the autoroutines in the program) to the master axis.
!DISABLE (M_AXIS) !To allow slight movement of the S_AXIS during COMMUT
!-------- Doing commutation for a brushless Slaved motor--------
! Use this section only for a brushless Slaved motor
!ENABLE (S_AXIS)
!COMMUT (S_AXIS)
The Dual Loop tuning process described in this chapter is compatible with NT Firmware
version 2.1 or higher.
Normally the SPiiPlus MMI Application Studio Adjuster Wizard is used for fine-tuning control loops;
however, the current version does not support Dual Loop control. This chapter provides a work-
around procedure for setting up Dual Loop control.
B.2.1 MFLAGS
MFLAGS is an integer array, with one element for each axis in the system, each element of which
contains a set of bits used for configuring the motor.
In order to set the system for Dual Loop control, bit 20 (#DUALLOOP) of MFLAGS has to be set to 1
for the relevant axis, for example, MFLAGS(0).#DUALLOOP = 1, sets axes 0 to Dual Loop control, that
is, the Bi-Quad filter is moved from the Velocity Loop to the Position Loop.
B.2.2 SLVRAT
SLVRAT is a real array, with one element for each axis in the system, and is used for defining the
gear ratio between the Position Loop feedback and the Velocity Loop feedback:
B.2.3 SLVKP
SLVKP is a real array, with one element for each axis in the system, and is used for providing a
proportional coefficient that is applied to the velocity of the specified axis.
B.2.4 XVEL
XVEL is a real array, with one element for each axis in the system, and is used for defining the
maximum allowed velocity for the axis. XVEL affects the effective value of the Velocity Loop
proportional gain SLVKP differently:
In Dual Loop, the effective value is given by:
B.2.5 EFAC
EFAC is a real array, with one element for each axis in the system, and is used for defining a factor
between the raw feedback in encoder counts and the FPOS value calculated by the controller.
Its format is:
EFAC(axis_index) = value
Where value ranges between 1-15 to 1+15 (the default value is 1).
B.2.6 FACC
FACC is a real array, with one element for each axis in the system, and is used for defining the
feedback acceleration value of the axis.
When using these variables the feedback sensors must relate to the same Servo
Processor.
B.2.7.1 SLPROUT
SLPROUT is a real array, with one element for each axis in the system, and is used for setting the
feedback routing of the position for the specified axis.
Its format is:
SLPROUT(axis_index) = value
Where value specifies the feedback source and can be one of those given in Table 16-1.
Table 16-1. SLPROUT Values
Value FPOS
The controller supports a standard control loop configuration where the 0 feedback position FPOS
(0) is obtained from the 0 encoder, FPOS(1) from the 1 encoder, etc.
SLPROUT ≠ .0 indicates FPOS is from an alternative sensor, for example, if SLPROUT(0) is 0104, FPOS
is obtained from an analog input 0 rather than from the encoder. In this case, the feedback source
could be a potentiometer or any other device that produces analog voltage proportional to the
motor position.
The meaning of the routing value depends on the axis and the controller model. For example, a
value of 1 specified for the 0 or 2 axis selects the 0 encoder, the same value for the 1 or 2 axis
selects the 1 encoder.
For the values of the E_TYPE variable see the SPiiPlus Command & Variable Reference
Guide.
B.2.7.2 SLVROUT
SLVROUT is a real array, with one element for each axis in the system, and is used for setting the
feedback routing of the velocity for the specified axis.
Its format is:
SLVROUT(axis_index) = value
Where value specifies the feedback source that is routed to the FPOS variable and can be one of
those in Table Table 16-2.
Table 16-2. SLVROUT Values
Value FPOS
Value FPOS
For the values of the E_TYPE variable see the SPiiPlus Command & Variable Reference
Guide.
B.2.7.3 SLCROUT
SLCROUT is an integer array, with one element for each axis in the system, and is used for setting
the feedback routing of the velocity commutation for the specified axis.
Its format is:
SLCROUT(axis_index) = value
Where value specifies the feedback source that is routed to the FACC variable and can be one of
those in Table Table 16-3.
Table 16-3. SLCROUT Values
Value FPOS
For the values of the E_TYPE variable see the SPiiPlus Command & Variable Reference
Guide.
For example, for a linear motor with a feedback resolution of 500[lines/mm] and an internal
multiplier of 4, if the desired user units are [mm]:
Velocity Loop tuning will not require changing if the same load user units are used.
For example:
6. Set the axis’ encoder factor as the encoder factor of the load feedback:EFAC(AXIS) = EFAC
(LOAD)
It is recommended initializing FPOS(AXIS) and verifing that the new movement range
does not reach the hard stop.
> Calculate . This value should be close to the value calculated in Step 4.
8. Route the load feedback as the position feedback of the desired axis, by changing
SLPROUT(AXIS) as shown SLPROUT Values.
For example, we want to route the load’s Quadrature encoder from channel 1 to axis 0, so
according to the table: SLPROUT(0) = 101.
9. If you need to read the motor feedback, it can be assigned to another axis, say Load, using
SLPROUT as above.
If XVEL was originally set according to the Load units, no further change is needed
after step 6. Otherwise, XVEL should be changed according to SLVRAT before tuning
the Velocity Loop, to maintain the Velocity Loop tuning.
10. Using the FRF Analyzer tune the Position Loop of the system in Dual Loop. Measure the
Position Loop FRF separately in order to apply the Bi-Quad Filter, if needed.
Typical configurations of the Bi-Quad filter in the Position Loop are Notch filter or Lead filter which
adds phase to the Open Loop FRF, allowing improved bandwidth and stability margins. See BI-Quad
Filter for a detailed explanation regarding the Bi-Quad filter tuning.
For verification, you may measure the Velocity Loop FRF separately. It should resemble the
previous measurement of step 3.
When tuning the Position Loop, in order to produce a proper measurement and avoid
system damage, remember to change the excitation level, since the excitation is a
velocity command (% of XVEL), rather than current.
11. From this point, the Load Feedback is used for the Position Loop and the Motor Feedback
is used for Commutation and the Velocity Loop.
Since the same load user units are used, XVEL(0) should not be changed and no further tuning is
needed for the Velocity Loop:
As can be seen, the raw value of remains the same after routing the load feedback
to the Position Loop, so no further change in the Velocity Loop tuning is needed.
In the Position Loop tuning, the Bi-Quad was configured as a Notch filter and allowed the
proportional gain to be further increased.
In the case of a DC motor, two lower transistors are activated, short-circuiting the motor armature.
During braking, the kinetic energy stored in the total moving mass/inertia of the motor is
dissipated as heat on the short-circuited phases and transistors.
Before implementing dynamic braking, follow the procedures described in this chapter
to prevent any damage to the control module, the motor, or the rest of the system. In
addition, we recommend measuring the actual developed current during maximum
deceleration using:
SPiiPlus MMI Application Studio > Toolbox > Diagnostics and Monitoring > Scope
All of the following formulas are designed for Star Connection configurations, only.
The equation for maximum current calculation during braking process is for a linear motor is:
(1)
where:
(2)
where:
(3)
where:
(4)
(5)
(6)
(7)
IN addition you should verify that the drive can still withstand the heat dissipation.
Assum 2V drop on each transistor, the maximum allowed power dissipation on one transistor is:
Thus, in order to protect the drive, you must verify that the following relation is complied with:
> In the case of a three-phase motor:
where J [ kgm2] is the total rotating inertia, M [kg] is the total moving mass, ω [rad/sec] is the
angular velocity of the inertia and v [m/sec] is the linear velocity of the mass.
Both ω and v should be taken at the moment of activating the dynamic brake and are directly
related to the user-determined VELBRK variable. Upon disable, dynamic braking starts only when
the velocity is lower than this variable. ΔP is the power loss on the motor itself. It is recommended
to disregard this element, thus ensuring that the total dissipated energy is lower than the allowed
value of the drive.
Total mass Kg 4
Impedance is
Number of poles 6
Impedance is
Magnet pitch NM mm 30
Total mass kg 4
Before operating the Dynamic Brake, verify that no damage will happen due to the
dynamic Brake.
You define the Dynamic Brake (VELBRK) value in the SPiiPlus MMI Application Studio Adjuster
Wizard (see About the Adjuster Wizard. VELBRK is one of the Miscellaneous Definitions task:
For safety reasons, the default value for VELBRK is zero for all axes.
Figure 18-1Figure 18-1 is taken from the old version of the SPiiPlus MMI. The operations
in this procedure are valid for the new version details of which can be found in the
SPiiPlus MMI Application Studio User Guide.
3. Assign a channel to monitor RVEL (reference velocity) for the axis. This shows when the
reference velocity reaches zero.
4. Assign another channel to monitor PE (position error) for the axis.
5. Assign another channel to monitor bit 5 (#MOVE) of AST (axis state) for the axis. When
motion has theoretically reached the target position, the bit will go low.
6. Assign another channel to monitor bit 4 (#INPOS) of MST (motion state) for the axis. When
motion actually reaches the target position, the bit will go high.
7. Execute the motion.