SMAC VLC-ETC User manual

VLC-ETC
USER MANUAL
Version 1.3

2
Disclaimer
The contents of this user manual are intended to be as accurate as possible, but may be subject to
change without prior notification. SMAC shall not be liable for any damages that may arise as a
consequence of the use of information presented in this user manual.
Document Version
Note
By
Date
1.0
First released version
RZ
7/17/2020
1.1
Upgraded the hardware with the associated
pictures, I/O specifications and pinout
information.
RZ
11/6/2020
1.2
Updated the firmware version from 1.0.1 to 1.1.0,
with the following changes:
- new cyclic variables: digital inputs and outputs
- new acyclic variables: I2T parameters
- fault indication bits in statusword
- fault reset through controlword
- modified the system macros
RZ
7/1/2021
1.3
Fixed the velocity mode system macro, updated
VLC-ETC housing drawing, added a program
example for a 2-axis actuator
RZ
10/28/2021
Copyright SMAC Moving Coil Actuators, 2021.

3
Contents
Introduction .................................................................................................................................... 4
Hardware and Software Setup........................................................................................................ 6
2.1 Hardware................................................................................................................................. 6
2.1.1 Power/signal/communication connectors...................................................................... 6
2.1.2 I/O electrical schematics ............................................................................................... 10
2.1.3 Optional: disabling the STO........................................................................................... 12
2.2 Software Setup...................................................................................................................... 13
2.2.1 VLC configuration .......................................................................................................... 13
2.2.2 Connecting VLC-ETC to an EtherCAT network (with a TwinCAT example).................... 13
Programming the VLC-ETC ............................................................................................................ 16
3.1 Servo objects......................................................................................................................... 16
3.1.1 Acyclic servo objects...................................................................................................... 16
3.1.2 Cyclic servo objects ....................................................................................................... 18
3.2 Executing motion through servo objects .............................................................................. 22
3.3 Example: executing homing with TwinCAT under Config mode........................................... 22
3.4 Example: programming a sequence of motions with TwinCAT PLC under Run mode.......... 25
3.5 Example: programming a 2-axis linear-rotary actuator ........................................................ 35
A Appendix A: VLC System Macros................................................................................................... 49

4
Introduction
The VLC-ETC is an EtherCAT servo drive that is based on SMAC’s VLC 1-axis integrated controller/driver
and an additional layer that provides the EtherCAT connectivity. The VLC part is pre-programmed with
system macros to accommodate control and monitoring functionalities of the servo drive. Additional
macros can be programmed in the VLC to perform subroutines/functions that can be called from the
EtherCAT master. Background knowledge on the VLC is required to configure the servo parameters of
the VLC-ETC. Please refer to the latest VLCI-X1 manual for more information about the servo drive
parameters and programming. Table 1.1 presents the VLC-ETC specifications.
Table 1.1. VLC-ETC specifications (based on Hardware version 1.0).
Description
EtherCAT servo drive
Operating Modes
Position, Velocity, Torque
Filter Algorithm
PID
Max. Servo Loop Rate
100 µS
Trajectory Generator
Trapezoidal
Servo Position Feedback
Incremental Encoder with Index
Output (Standard)
PWM (space-vector-modulated), 3.5 Amps Cont. and 6.5
Amps Peak (with proper heat mitigation) at 50 VDC Max.
Motor Type
3-Phase Brushless, DC brushed, Linear voice coil
PWM Frequency
20.0 KHz
Current resolution
5.66 mA (approximate)
Encoder and Index Input
Differential
Encoder Supply Voltage
5 VDC
Encoder Input Voltage
5.5 VDC Max., -0.1 VDC Min.
Encoder Count Rate
40 million encoder counts per Second
Position Range
31 Bits
Velocity Range
31 Bits
Acceleration Range
31 Bits
Digital I/O
4x Opto-isolated Digital Inputs w/ common:
•24 V Level Input
4x Solid-state Relay Outputs w/ common:
•200 mA Current
•Tolerant to 60 V
Analog I/O
Input: 1 Channel (differential), 0 to +/-10V With 12-Bit
Resolution.
Output: 1 Channel, 0-10V With 12-Bit Resolution.
STO (Safe Torque Off)
2x Opto-isolated STO Inputs:
•24 V Level Input
1x Opto-isolated STO Feedback Output:
•200 mA Current
•Tolerant to 60 V

5
LEDs
2 x 2 LEDs:
•EtherCAT LED: Run (green), Error (red)
•Servo Drive LED: Power ON (green), Fault (red)
Communication Interface
•1x serial/UART (micro USB port): 9600 baud default,
selectable between 2400 –460800
•2x EtherCAT RJ-45 ports
Supply Voltage
+24 to +48 VDC
Protections
•Driver overtemperature at 150 degrees C
•Overcurrent
•Overload
•Reverse polarity connection
•I2T
•(excessive) servo position error
VLC program space
•Macro storage: 53728 bytes
•Maximum number of macros: 512
•Maximum number of program registers: 2048

6
Hardware and Software Setup
2.1 Hardware
2.1.1 Power/signal/communication connectors
Figure 2.1 shows the VLC-ETC in its housing. The front and rear sides’ connectors as well as LED
status indicators are depicted in Figures 2.2 and 2.3. Pinout details of the connectors are
presented in the following pages of this manual.
Figure 2.1. VLC-ETC.

7
Figure 2.2. VLC-ETC front side connectors and LED status indicators.
Figure 2.3. VLC-ETC rear side connectors and LED status indicators.
EtherCAT RUN
J1
J2
J3
EtherCAT ERROR
J4
J5
J6
Servo drive fault
Servo drive power

8
J1 (EtherCAT input) / J2 (EtherCAT output)
RJ-45 Jack.
Pin
Signal
Description
1
TD+
Transmit data +
2
TD-
Transmit data -
3
RD+
Receive data +
6
RD-
Receive data -
J3 –I/O and STO interface
DSUB26 High Density Female Connector.
Pin number
Signal
Description
1
GPI_COM
Common terminal for general purpose digital inputs
2
GPO_COM
Common terminal for general purpose digital outputs
3
GPI2
General purpose digital input 2
4
GPI0
General purpose digital input 0
5
GND
Ground
6
STO_FB
STO feedback output
7
AN_OUT0
Analog output 0
8
GPO2
General purpose digital output 3
9
GPO0
General purpose digital output 1
10
STO2
STO input 2
11
STO1
STO input 1
12
GPI3
General purpose digital input 2
13
GPI1
General purpose digital input 1
14
GND
Ground
15
NC
Not connected
16
AN_OUT1
Analog output 1
17
GPO3
General purpose digital output 2
18
GPO1
General purpose digital output 0
19 - 22
+5V
+5V power for external circuitry
23
GND
Ground
24
AN_IN0+
Analog input 0 (differential) +
25
AN_IN0-
Analog input 0 (differential) -
26
STO_COM
Common terminal for STO inputs and output
1
8
1
19
9
18
26

9
J4 - Power interface
6 pin terminal block header, 5 mm pitch.
Pin number
Signal
Description
1
RTN
Power supply return / ground
2
V+
Power supply positive
3
U
Actuator phase U (positive for single-phase actuators)
4
V
Actuator phase V (negative for single-phase actuators)
5
W
Actuator phase W
6
GND
Ground
J5 –Encoder interface
DSUB15 Female Connector.
Pin number
Signal
Description
1
A+
A positive
2
I+
Index positive
3
B+
B positive
4, 5, 6
+5V
+5V supply for encoder
7, 8
NC
Not connected
9
A-
A negative
10
I-
Index negative
11
B-
B negative
12, 13
GND
Ground
14, 15
NC
Not connected
1
6
1
8
9
15
5

10
J6 - Serial interface
Note: when this port is connected to a PC, the VLC becomes accessible through a serial
terminal software (such as Tera Term) for configuration and programming purposes, while
the EtherCAT communication is being interrupted. To operate the VLC-ETC in EtherCAT
mode, make sure to first power cycle the VLC-ETC after disconnecting the micro usb cable
from this port.
USB Type B (micro) Female Connector.
Pin number
Signal
Description
1
USB+
+5 VDC
2
USB D-
Data -
3
USB D+
Data +
4, 5
USB- (GND)
Ground
2.1.2 I/O electrical schematics
Digital inputs
1
5
+5 V
GPI_COM
GPI0
To μC
4.7KΩ
(5 –24 VDC)
(5–24 VDC)
To μC
4.7KΩ
GPIx
Internal to VLC-ETC
Optocouplers

11
Digital outputs
STO
GPO1
GPO_COM
(200 mA, 60 VDC tolerant)
Sinking output from
μC output circuitry
GPOx
620Ω
620Ω
Sinking output from
μC output circuitry
+5 V
Internal to VLC-ETC
Solid-state relays
(200 mA, 60 VDC tolerant)
STO1
STO2
STO_FB
2.5 kΩ
To μC
+5 V
(5 –30VDC)
(200 mA, 60 VDC tolerant)
Internal to VLC-ETC
Solid-state relay
(5 –30VDC)
Opto
-couplers
AND gate
STO_COM
To μC
2.5 kΩ
330 Ω
To driver
power supply

12
Analog input (differential)
Analog output
2.1.3 Optional: disabling the STO
The two STO inputs (STO1 and STO2, see section 2.1.2) have to be supplied with the specified
DC voltage in order to enable the VLCI’s driver power stage to operate the actuator. If the
external means of supplying the DC voltage is not considered, the VLCI’s on-board +5V supply
can be used to supply STO1 and STO2, and together with connecting the STO_COM with the
GND, the power stage is enabled. This is shown in Figure 2.4. When both STO1 and STO2 are
energized, the STO_FB output becomes active to indicate the drive is ready to be operated.
Figure 2.4. Disabling STO with the on-board +5V supply.
AN_INx+
0 –3.3VDC
To μ
C ADC
(12-bit)
Internal to VLC-ETC
Differential amplifier
AN_INx-
-10 VDC to 10 VDC
From μC DAC (12-bit)
Internal to VLC-ETC
0 - 10 VDC
Non-inverting amplifier
AN_OUTx
1
19
9
18
26
Jumper wires

13
2.2 Software Setup
2.2.1 VLC configuration
Remark: to perform VLC configuration, the user is expected to be familiar with programming
the VLC/LAC. Refer to the latest VLCI-X1 manual for more information on the programming.
Serial communication can be established between the VLC part and a PC through the micro
USB port (J6) of the VLC-ETC. A serial terminal software (with selectable baud rates of up to
460800, such as Tera Term) can be used to configure the VLC for the following purposes:
•Loading of system macros (see appendix A, unless these macros were pre-loaded in the
VLC).
•Setting/tuning of actuator servo parameters (Optional, as this can also be done through
EtherCAT). The servo parameters can later be stored in MD151-MD154 presented in
appendix A, which later will be loaded onto the EtherCAT side upon VLC-ETC power-up
(after a PS command).
•Programming of custom macros that are to be called via EtherCAT (Optional).
Appendix A presents the system macros. Due to these macros, there are restrictions in
programming the custom macros as follow:
•All macros can be used except: 0, 151-159, 200-241
•All registers can be used except: 200-229
For the VLC configuration, the baud rate setting of the terminal software has to be adjusted to
460800. Also note that if a serial echo is desired, this can be enabled through the EN command.
2.2.2 Connecting VLC-ETC to an EtherCAT network (with a TwinCAT example)
The VLC-ETC is ready to be connected to an EtherCAT network, provided the following
conditions are met:
•System macros have been loaded and saved in the VLC.
•The micro USB cable is disconnected from the USB port (J6) and after that, the VLC-
ETC is power-cycled.
In case TwinCAT is used, the ESI (EtherCAT Slave Information) file of the VLC-ETC has to be
copied into the following typical directory in a PC with TwinCAT installed:
C:\TwinCAT\3.1\Config\Io\EtherCAT . The ESI file can be obtained from SMAC.
The following are the steps to establish a connection between VLC-ETC and TwinCAT:
➢Open TwinCAT and start a new TwinCAT project
➢Ethernet adapter installation: On the top part of the development environment (Fig.
5), select TwinCAT > Show Realtime Ethernet Compatible Devices. Make sure that the
Ethernet Adapter of the PC is installed.

14
➢On the left pane of the TwinCAT development environment, right-click on I/O>Devices,
select “Add new item”. A window “Insert Device” appears as shown in Figure 2.5.
Select EtherCAT Master and click OK.
➢A window “Device Found At” appears as in Figure 2.6, select the Ethernet adapter that
is already installed.
Figure 2.5. Adding an EtherCAT master.
Figure 2.6. Selection of an Ethernet adapter.

15
Figure 2.7. VLC-ETC connected to TwinCAT.
➢Right-click on the newly-added “Device 1 (EtherCAT)” and select scan. The VLC-ETC will
appear as shown in Figure 2.7.
➢To view the various data belonging to VLC_ETC, double-click on Box 1 (VLC_ETC). A list
of data will appear as shown in Figure 2.8. The data in the upper dashed rectangle are
configuration objects, which are acyclic (only updated upon request). Meanwhile, the
lower dashed rectangle contains cyclic objects (updated periodically) in the EtherCAT
OPERATIONAL state.
Figure 2.8. Various acyclic (upper rectangle) and cyclic (lower rectangle) objects of VLC_ETC.

16
Programming the VLC-ETC
3.1 Servo objects
Servo objects are parameters and variables that are used to perform control and monitoring of
the VLC-ETC. From its update behaviour perspective, there are two servo object types in VLC-
ETC:
•Acyclic: updated upon request, used for servo configuration purposes.
•Cyclic: updated periodically, manipulated and monitored by a motion program executed
by the EtherCAT master.
3.1.1 Acyclic servo objects
Table 3.1 presents the acyclic servo objects. Objects with indices 8000, 8001, 8002, 8004
(partially), 8005 and 8006 are standard ones that are also found in VLC, therefore, explanations
on their usage are available in the VLC user manual. Additionally, commutation electrical cycle
(index: 8004) corresponds to the EC command in VLC, which is used for phasing of 3-phase
actuators.
Table 3.1. List of acyclic servo objects.
Index
Sub-
index
Object
Data
Type
VLC equivalent
command/variable
8000
POSITION LOOP CONTROLLER PARAMETERS
1
Proportional constant
UINT16
SG
2
Integral constant
UINT16
SI
3
Derivative constant
UINT16
SD
4
Integral limit
UINT16
IL
5
Velocity feedforward constant
UINT16
FV
6
Acceleration feedforward constant
UINT16
FA
7
Derivative sampling frequency
UINT8
FR
8
Integral Sampling gain
UINT8
RI
8001
Current mode gain
UINT16
SC
8002
ADDITIONAL SERVO PARAMETERS
1
Servo speed
UINT8
SS
2
Phase and sense setting
UINT8
PH
3
Dead band
UINT16
DB
4
Output offset
INT16
OO
5
Maximum following error
UINT16
SE
8003
HOMING PARAMETERS
1
Homing method
UINT16
N/A
2
Homing speed
UINT32
N/A
3
Homing acceleration
UINT32
N/A
4
Home offset
INT32
N/A
5
Position error threshold
UINT32
N/A
6
Homing timeout
UINT16
N/A

17
Index
Sub-
index
Object
Data
Type
VLC equivalent
command/variable
8004
COMMUTATION PARAMETERS
1
Commutation phase
UINT16
SP
2
Commutation electrical cycle
UINT32
EC
3
Commutation voltage
UINT16
N/A
4
Absolute home
INT32
DA
8005
GENERAL PURPOSE REGISTERS
1
GPR11
INT32
AR11
2
GPR12
INT32
AR12
…
15
GPR25
INT32
AR25
8006
I2T PARAMETERS
1
I2T Nominal current
UINT16
i2t_NOM
2
I2T Trip level
UINT32
i2t_TRIP
8007
Save all parameters
UINT8
PS
Important notes (for more information, see the program examples in the VLCI-X1 manual):
oFor 1-phase actuators, set the object “Commutation phase” (8004;1) to 27307
oFor 3-phase actuators, set the object “Phase and sense setting” (8002;2) to 1
3.1.1.1 Homing parameters
Homing parameters (index: 8003) are specific to the VLC-ETC. To perform homing through the
manipulation of cyclic objects (further description in the following subsection of this manual),
phasing (in case a 3-phase actuator is used) has to be executed successfully beforehand.
Furthermore, position loop control parameters have to be set properly since homing involves
a controlled motion. Therefore, in principle all the relevant objects in Table 3.1 will have to be
set prior to homing. The following objects describe the homing parameters of Table 3.1 in
detail:
•Homing method (value depends on the chosen method below)
oCurrent position (0): no motion is involved. This sets the position value =
“Home offset” object.
oNegative mechanical limit (1): retracts the shaft until actuator the rear bumper
is detected, and sets the position value = “Home offset” object.
oPositive mechanical limit (2): extends the shaft until the actuator front bumper
is detected, and sets the position value = “Home offset” object.
oNegative index (3): retracts the shaft until the index is detected.
oPositive index (4): extends the shaft until the index is detected.
oNegative mechanical limit and index (5): retracts the shaft until actuator the
rear bumper is detected, extends until the index is detected and sets the
position value = “Home offset” object
oPositive mechanical limit and index (6): extends the shaft until actuator the
rear bumper is detected, retracts until the index is detected and sets the
position value = “Home offset” object

18
•Homing speed: speed of retracting and extending shaft movements during homing.
•Homing acceleration: acceleration of the shaft movement during homing.
•Home offset: the value sets to the actuator’s actual position after homing is completed.
•Position error threshold: the position error value to conclude the existence of the
mechanical limit.
•Homing timeout: the time period allowed to complete the homing. If homing has not
been completed within the time period, homing is considered to be failed.
3.1.1.2 Commutation parameters
Except for the commutation voltage, the rest of commutation parameters are available in the
standard VLC. The relevance of these parameters for the actuator operation are as follow:
•1-phase (brushed/voice coil) motor: Commutation phase has to be set to 27307. See
the VLC manual for more information on this object.
•3-phase (brushless) motor: Commutation voltage and electrical cycles are to be
configured to perform phasing. Additionally, the object Phase and sense setting
(8002;2) have to be set to 1. See the program example in VLC manual for more
information.
3.1.1.3 I2T parameters
These parameters are used to configure the actuator overloading characteristic in terms of
peak current and time period, which are intended to protect the actuator from possible
overheating. A further discussion on this topic is covered in the VLCI-X1 manual.
3.1.1.4 Save all parameters
By changing the value of the object Save all parameters (index: 8007) from 0 to 1 or vice-versa,
all acyclic servo objects from index 8000 –8006 will be saved to the non-volatile memory of
the VLC, which allow the object values to be retained after a VLC-ETC power cycle.
3.1.2 Cyclic servo objects
In Table 3.2, the INPUT and OUTPUT are seen from the EtherCAT master / TwinCAT perspective.
Some of the objects have their VLC equivalence and therefore, further information about them
are to be found from the VLC manual. The OUTPUT object value is applied to the VLC-ETC upon
a change of its value. Note that GPR’s 101 – 104 are only meaningful when they are used within
custom macros that can be called by the EtherCAT master.

19
Table 3.2. List of cyclic servo objects.
I/O
Object
Data type
VLC equivalence
INPUT
Statusword
UINT16
N/A
Modes of operation display
UINT16
N/A
Position actual value
INT32
TP command
Following error
INT32
TF command
Current value
INT16
IMON variable
Macro call indicator
UINT16
N/A
GPR 101
INT32
Register 101
GPR 102
INT32
Register 102
Digital inputs
UINT8
BI command
OUTPUT
Controlword
UINT16
N/A
Modes of operation
UINT16
N/A
Setpoint
INT32
N/A
Profile velocity
UINT32
SV command
Profile acceleration
UINT32
SA command
Maximum torque
INT16
SQ command
Macro call
UINT16
MS command
GPR 103
INT32
Register 103
GPR 104
INT32
Register 104
Digital outputs
UINT8
BO command
Meanwhile, for objects that do not have a direct VLC equivalence:
3.1.2.1 Statusword
The statusword contains bits with various servo status, as described in Table 3.3.
Table 3.3. Statusword bits.
Bit
Description
0
Initialization done. This will be set to 1 after VLC-ETC performs its initialization
process upon power-up, indicating that it is ready to be operated.
1
Servo enabled. This will be set to 1 when the servo is enabled by MN command.
The bit is set to 0 if servo is disabled through MF command.
2
Reserved.
3
Motion execution acknowledge bit. Set to 1 on a rising edge transition the
controlword “start motion” bit and set to 0 on falling edge transition of the
same controlword bit.
4
Trajectory complete. Set to 1 if the servo has completed a position move. Set
to 0 if the servo is busy executing a commanded move.
5
Reserved.
6
Homing Success. Set to 1 after homing has been completed successfully.
7
Homing failure. Set to 1 if homing fails (when the homing process takes longer
than the configured timeout value).
8
Phasing success. Set to 1 after phasing is successfully performed. Set to 0 upon
failed phasing or at power-up.
9
Phasing failure. Set to 1 after a failed phasing. Set to 0 upon successful phasing
or at power-up. A failed phasing could be caused by incorrect “commutation
electrical cycle”, incorrect “phase and sense setting” or insufficient phasing
setpoint value.

20
10
Macro call error. Set to 1 if an undefined macro is called. Set to 0 when a new
call to a defined macro is performed, or any of the mode of operation is
executed.
11
Macro execution. Set to 1 when a macro is being executed. Set to 0 when
macro execution is completed.
12
General fault. Set to 1 in the event of overtemperature, I2T being tripped, or
STO is activated. Set to 0 otherwise, or if the fault has been successfully reset.
13
Servo error. Set to 1 when the following error has exceeded the acyclic variable
“Maximum following error”. Set to 0 otherwise, or if the fault reset has been
executed.
14
Reserved.
15
STO status. Set to 1 when STO is active (or if any of the STO inputs is not
energized). Set to 0 when STO is inactive.
3.1.2.2 Controlword
The controlword contains bits that represent certain servo functions, as described in Table 3.4.
Important notes:
oOnly one of the bits between 0 –5 and 9 can have a value of 1 at the same time.
oBy setting all bit values to 0 (same as decimal value: 0), macro execution will be
stopped and servo is turned off.
Table 3.4. Controlword bits.
Bit
Description
0
Idle. This bit does not do anything, but can be used to allow an easy transition
of controlword decimal value. Example of use is given in the upcoming section.
1
Start motion/macro call. On a rising edge, starts the execution of motion based
on the selected mode of operation or executes a macro call.
2
Abort motion. On a rising edge, motion is terminated abruptly (for modes of
operation 1, 2, 3) and servo is held in its position.
3
Motor off. On a rising edge, servo is turned off.
4
Motor on. On a rising edge, servo is enabled.
5
Abort macro execution. On a rising edge, macro execution is aborted.
6 - 8
Reserved.
9
Fault reset.
10 - 15
Reserved.
Table of contents
Other SMAC Servo Drive manuals
Popular Servo Drive manuals by other brands

Applied Motion Products
Applied Motion Products TSM17 Series Hardware manual

ANCA Motion
ANCA Motion D2 Series user guide

Rockwell Automation
Rockwell Automation Allen-Brandley Kinetix 3 Original instructions

Bosch
Bosch Rexroth MSK Project planning manual

Beckhoff
Beckhoff AM3000 Series Technical description, Installation, Setup

Emerson
Emerson LX Series user guide