SMD34E2 User Manual - 0S192
SMD34E2 User Manual - 0S192
E2 Technology ual
an
M
User
GENERAL INFORMATION
Important User Information
The products and application data described in this manual are useful in a wide variety of different applica-
tions. Therefore, the user and others responsible for applying these products described herein are responsible
for determining the acceptability for each application. While efforts have been made to provide accurate infor-
mation within this manual, AMCI assumes no responsibility for the application or the completeness of the
information contained herein.
UNDER NO CIRCUMSTANCES WILL ADVANCED MICRO CONTROLS, INC. BE RESPONSIBLE OR
LIABLE FOR ANY DAMAGES OR LOSSES, INCLUDING INDIRECT OR CONSEQUENTIAL DAM-
AGES OR LOSSES, ARISING FROM THE USE OF ANY INFORMATION CONTAINED WITHIN THIS
MANUAL, OR THE USE OF ANY PRODUCTS OR SERVICES REFERENCED HEREIN.
No patent liability is assumed by AMCI, with respect to use of information, circuits, equipment, or software
described in this manual.
The information contained within this manual is subject to change without notice.
This manual is copyright 2019 by Advanced Micro Controls Inc. You may reproduce this manual, in whole or
in part, for your personal use, provided that this copyright notice is included. You may distribute copies of this
complete manual in electronic format provided that they are unaltered from the version posted by Advanced
Micro Controls Inc. on our official website: www.amci.com. You may incorporate portions of this documents
in other literature for your own personal use provided that you include the notice “Portions of this document
copyright 2019 by Advanced Micro Controls Inc.” You may not alter the contents of this document or charge
a fee for reproducing or distributing it.
Standard Warranty
ADVANCED MICRO CONTROLS, INC. warrants that all equipment manufactured by it will be free from
defects, under normal use, in materials and workmanship for a period of [18] months. Within this warranty
period, AMCI shall, at its option, repair or replace, free of charge, any equipment covered by this warranty
which is returned, shipping charges prepaid, within eighteen months from date of invoice, and which upon
examination proves to be defective in material or workmanship and not caused by accident, misuse, neglect,
alteration, improper installation or improper testing.
The provisions of the "STANDARD WARRANTY" are the sole obligations of AMCI and excludes all other
warranties expressed or implied. In no event shall AMCI be liable for incidental or consequential damages or
for delay in performance of this warranty.
Returns Policy
All equipment being returned to AMCI for repair or replacement, regardless of warranty status, must have a
Return Merchandise Authorization number issued by AMCI. Call (860) 585-1254 with the model number and
serial number (if applicable) along with a description of the problem during regular business hours, Monday
through Friday, 8AM - 5PM Eastern. An "RMA" number will be issued. Equipment must be shipped to AMCI
with transportation charges prepaid. Title and risk of loss or damage remains with the customer until shipment
is received by AMCI.
Read this chapter to learn how to navigate through this manual and familiarize
yourself with the conventions used in it. The last section of this chapter high-
lights the manual’s remaining chapters and their target audience.
Audience
This manual explains the installation and operation of AMCI’s SMD34E2 Integrated Stepper Indexer/Driver/
Motors. It is written for the engineer responsible for incorporating these products into a design as well as the
engineer or technician responsible for their actual installation.
Applicable Units
This manual applies to all of the units in the SMD34E2 family.
“E2” units released prior to January, 2019, support the EtherNet/IP and Modbus TCP protocols. They
are factory configured for the EtherNet/IP protocol.
“E2” units that were released on or after January 1st, 2019, support the EtherNet/IP, Modbus TCP, and
PROFINET protocols, These units are factory configured for the EtherNet/IP protocol.
The serial numbers for all SMD units are date coded and follows the format ‘MMYYnnnn’. ‘MMYY’ is the
month and year of manufacturer and ‘nnnn’ is a sequential number that resets every month.
Each unit contains a two port Ethernet switch, which simplifies network wiring. When the EtherNet/IP proto-
col is used, the unit can act as a node in a Device Level Ring (DLR). When PROFINET is enabled, the unit
supports the Media Redundancy Protocol (MRP) and can be incorporated in PROFINET installations that use
a redundant ring topology.
Manual Conventions
Three icons are used to highlight important information in the manual:
NOTES highlight important concepts, decisions you must make, or the implications of those
decisions.
CAUTIONS tell you when equipment may be damaged if the procedure is not followed
properly.
WARNINGS tell you when people may be hurt or equipment may be damaged if the pro-
cedure is not followed properly.
The following table shows the text formatting conventions:
Format Description
Normal Font Font used throughout this manual.
Emphasis Font Font used for parameter names and the first time a new term is introduced.
Cross Reference When viewing the PDF version of the manual, clicking on a blue cross refer-
ence jumps you to referenced section of the manual.
When viewing the PDF version of the manual, clicking on a red cross reference
HTML Reference opens your default web browser to the referenced section of the AMCI website
if you have Internet access.
Manual Conventions
Revision Record
This manual, 940-0S192 is the third release of this manual. It was released on January 9th, 2019. It removes
references to “A2” version of the SMD34. The “E2” version incorporates the same functionality of the “A2”
version.
Revision History
940-0S191: August 31st, 2018 - Added PROFINET protocol and built-in webserver
940-0S190: March 21st, 2017 - Initial Release
Manual Layout
You will most likely read this manual for one of two reasons:
If you are curious about the Integrated Stepper Indexer/Driver/Motor products from AMCI, this manual
contains the information you need to determine if these products are the right products for your applica-
tion. The first chapter, SMD34E2 Specifications contains all of the information you will need to fully
specify the right product for your application.
If you need to install and use an Integrated Stepper Indexer/Driver/Motor product from AMCI, then the
rest of the manual is written for you. To simplify installation and configuration, the rest of the manual
is broken down into references and tasks. Using an Integrated Stepper Indexer/Driver/Motor product
requires you to complete multiple tasks, and the manual is broken down into sections that explain how
to complete each one.
Notes
This manual is designed to get you up and running quickly with an SMD34E2
product from AMCI. As such, it assumes you have some basic knowledge of step-
per systems, such as the resolution you want run your motor at, and the reasons
why you’d want to use Idle Current Reduction and the reasons why you wouldn’t.
If these terms or ideas are new to you, we’re here to help. AMCI has a great deal
of information on our website and we are adding more all the time. If you can’t
find what you’re looking for at http://www.amci.com, send us an e-mail or call us.
We’re here to support you with all of our knowledge and experience.
SEAL TYPE
S = Shaft Seal, IP64 Rating
ENCODER P = Conformal Coated,
‘blank’ = No encoder IP65/67 Rating
A = Absolute Multi-turn Encoder
2,048 counts/turn.
E = Incremental Encoder CONNECTOR TYPE
4,096 counts/turn max. M12 = M12 Connectors
Network: (2) 4 pin Female D-Coded
Digital Inputs: (1) 5 pin Male A-Coded
Power: (1) 4 pin Male S-Coded
Shaft Seal
IP64 Rating
Figure R1.2 Part Numbering System
General Functionality
Each member of the SMD34E2 family has three integrated parts:
An indexer that accepts commands over an Ethernet connection using the EtherNet/IP or Modbus TCP
protocol
A 5.4 Arms micro-stepping driver that accepts 24 to 80 Vdc as its input power source
A high torque size 34 stepper motor (450, 850, or 1,100 oz-in holding torque).
An incremental or absolute multi-turn encoder is also available for applications that require position feedback
or verification.
The availability of the EtherNet/IP, PROFINET, and Modbus TCP protocols makes the SMD34E2 units easy
to integrate into a wide variety of control systems. This combination of host and driver gives you several
advantages:
Sophisticated I/O processing can be performed in the host (PLC or other controller) before sending
commands to the SMD34E2 unit
All motion logic is programmed in the host, eliminating the need to learn a separate motion control lan-
guage
The integral two port Ethernet switch simplifies network cabling
The DLR interface eliminates single point failures in EtherNet/IP environments
The elimination of the separate indexer and driver lowers total system cost.
An SMD34E2 is powered by a nominal 24 to 80 Vdc power source, and can accept surge voltages of up to
88 Vdc without damage. The output motor current is fully programmable from 0.1 Arms to 5.4 Arms which
makes the SMD34E2 suitable to a wide range of applications. In addition to the Motor Current setting,
the Motor Steps per Turn, Idle Current Reduction, and Anti-Resonance Circuit features are also fully pro-
grammable. If you have used other stepper indexer products from AMCI, you will find programming an
SMD34E2 to be very similar to these products.
The SMD34E2 contains a true RMS motor current control driver. This means that you will always receive
the motor’s rated torque regardless of the Motor Steps/Turn setting. (Drivers that control the peak current to
the motor experience a 30% decrease in motor torque when microstepping a motor.) The combination of an
ultra-low inductance motor and a high-power, true RMS driver gives unprecedented torque vs. speed perfor-
mance for any DC application.
Specifications
Network Interface DCPowerAUX Current
10/100baseT. Two switched ports. 70 mA @ 24Vdc, 40mA @48Vdc
Supports EtherNet/IP, PROFINET, and Modbus
TCP. EtherNet/IP-DLR and PROFINET-MRP Motor Counts per Turn
extensions also supported. Programmable to any value from 200 to 32,767
steps per revolution.
Physical Dimensions
See page 91 Internal Encoder (Optional)
Weight Incremental encoder option supplies 1,024, 2,048,
or 4,096 counts per turn.
SMD34E2-450 (All versions) 4.50 lbs. (2.05 kg.)
SMD34E2-850 (All versions) 7.10 lbs. (3.23 kg.) Absolute encoder option supplies 2,048 counts per
SMD34E2-1100 (All versions) 9.50 lbs. (4.32 kg.) turn, 32 bit max. counts.
All weights are without mating connectors Idle Current Reduction
Maximum Shaft Loads Programmable from 0% to 100% programmed
motor current in 1% increments. Motor current
Radial: 45 lbs. (200N) at end of shaft
is reduced to selected level if there is no motion
Axial: 13.5 lbs. (60N) for 1.5 seconds. Current is restored to full value
Maximum Operating Temperature when motion is started.
203°F /95°C (Note that this is the operating tem- Environmental Specifications
perature of the electronics, not maximum ambi- Input Power ....... 24 to 80 Vdc, surge to 88 Vdc
ent temperature. An Over Temperature fault without damage to unit.
occurs at this point and current is removed from
the motor.) Ambient Operating Temperature
Over Temperature Fault ........... -40° to 122°F (-40° to 50°C)
Over temperature faults are reported in the Net- Storage Temperature
work Input Data.
........... -40° to 185°F (-40° to 85°C)
Inputs
Humidity ........... 0 to 95%, non-condensing
Electrical Characteristics:
IN1 and IN2: Single ended sinking. IP Rating ........... SMD34*2-*-M12S: IP64
IN3: Differential. SMD34*2-*-M12P: IP65/67
Accept 3.5 to 27Vdc without the need for an Status LED’s
external current limiting resistor. Optoisolated, See Status LED’s section starting on page 19.
1500 Vac/dc isolation.
Connectors and Cables
Motor Current All mating connectors are available separately
Programmable from 0.1 to 5.4 Arms in 0.1 A steps. under the following AMCI part numbers.
Indexer Functionality
The table below lists the functionality offered by the indexer built into the AMCI SMD34E2 units.
Feature Description
Multiple Network The SMD34E2 units can be configured to communicate with EtherNet/IP,
Protocols PROFINET, or Modbus TCP protocols. This allows easy setup and
communication with a wide range of host controllers.
The SMD34E2 units act as Beacon-Based Nodes in Device Level Ring environ-
EtherNet/IP-DLR ments. This functionality results in the fastest response to changes in the redun-
dant network.
PROFINET-MRP SMD34E2 units have Media Redundancy Protocol support, which adds redun-
dancy to the PROFINET protocol.
Programmable Each of the inputs can be programmed as a Home Limit, Over Travel Limit, Cap-
Inputs ture Input, Manual Jog Stop, Start Indexer Move, E-Stop, or a General Purpose
Input.
Programmable Starting Speed, Running Speed, Acceleration, Deceleration, and Accel/Decel
Parameters Types are fully programmable.
Homing Allows you to set the machine to a known position. An SMD34E2 homes to a dis-
crete input and can use a bit in the Network Data as a home proximity input.
Jog Move Allows you to drive the motor in either direction as long as the command is active.
Synchrostep Move Allows you to treat the SMD34E2 as a motion axis by constantly updating posi-
tion and velocity data to the unit. Linear and Circular axes are both supported.
Relative Move Allows you to drive the motor a specific number of steps in either direction from
the current location.
Absolute Move Allows you to drive the motor from one known location to another known
location.
Allows you to jog the motor in either direction based on a command from your
Registration Move host controller. When a controlled stop is issued, the move will output a program-
mable number of steps before coming to a stop.
Blend Move Allows you to perform a sequence of relative moves without stopping between
them.
Allows you to perform a sequence of relative moves with a stop between each
Dwell Move move that has a programmable length of time. Used to create highly accurate
move profiles that avoid network latency issues.
Indexer Move Allows you to program a move that is held in memory. The move is run when one
of the programmable inputs makes a transition.
Hold Move Allows you to suspend a move, and optionally restart it, without losing your posi-
tion value.
Resume Move Allows you to restart a previously held move operation.
Immediate Stop Allows you to immediately stop all motion if an error condition is detected by
your host controller.
Stall Detection When an SMD34E2 is purchased with an encoder option, the encoder can be used
to verify motion when a move command is issued.
Table R1.1 Indexer Functionality
If a move is in progress when an Immediate Stop command is issued, the SMD34E2 responds
by shorting the motor’s windings together. This forces any regeneration energy to be dissi-
pated in the windings instead of being reflected back into the power supply. The windings can
be shorted for up to 300 milliseconds. Once the short is removed, the SMD34E2 will set a bit
in the network input data named Stopped, to show that motion is stopped and the unit is ready
to accept your next command.
Driver Functionality
This table summarizes the features of the stepper motor driver portion of the SMD34E2 units.
Feature Benefits
RMS current control give an SMD34E2 the ability to drive the motor at its
RMS Current Control fully rated power regardless of the programmed steps per turn. There is no
reduction in power when microstepping that may occur with other drivers.
RMS current supplied to the motor can be programmed from 0.1 to 5.4 amps
Programmable in 0.1 amp increments. Reducing the motor current to the minimum needed
Motor Current for your application will significantly reduce the motor’s operating tempera-
ture
Programmable Idle Extends motor life by reducing the motor current when motion is not occur-
Current Reduction ring. This extends the life of the motor by reducing its operating
temperature.
Programmable Allows you to scale your motor count to a real world value. (counts per inch,
Motor Steps/Turn counts per degree, etc.)
This feedback circuitry and algorithm gives the SMD34E2 the ability to
Anti-Resonance Circuitry modify motor current waveforms to compensate for mechanical resonance in
your system. This will give you smooth performance over the entire speed
range of the motor.
Over Temperature An SMD34E2 sets a warning bit in the network data when the internal tem-
Detection perature of the unit approaches its safe operating threshold.
Over Temperature Protects your SMD34E2 from damage by removing power from the motor if
Protection the internal temperature of the driver exceeds the safe operating threshold of
203°F/95°C.
Table R1.2 Driver Functionality
Home Input
Many applications require that the machine be brought to a known position before normal operation can
begin. This is commonly called “homing” the machine or bringing the machine to its “home” position. An
SMD34E2 allows you to define this starting position in two ways. The first is with a Position Preset com-
mand. The second is with a sensor mounted on the machine. When you define one of the inputs as the Home
Input, you can issue commands to the SMD34E2 that will cause the unit to seek this sensor. How the
SMD34E2 actually finds the home sensor is described in the reference chapter Homing an SMD34E2 start-
ing on page 55.
Optional Encoder
The SMD34E2 can be ordered with an integral encoder. The encoder is typically used for position verifica-
tion and stall detection. When the SMD34E2 is programmed to follow a virtual axis, the encoder position can
be used to close the position loop. Additionally, an input can be configured to capture the encoder value
when the input makes an inactive to active transition. This captured value is written to the host controller.
Two encoder options are available:
Incremental Encoder
The incremental encoder can be programmed to 1,024, 2,048, or 4,096 counts per turn. The SMD34E2 has an
internal thirty-two bit counter associated with the encoder.
Status LED’s
Each SMD34E2 has two status LED’s that show module and net-
work status. As shown in figure R1.3, these LED’s are located on
the rear cover.
POWER PORT 2
Module Status (MS) LED 24 to 80 Vdc
The Module Status LED is a bi-color red/green LED. The state of
the LED depends on the state of the network adapter module. MODULE STATUS
NETWORK STATUS
DIGITAL INPUTS
5 to 24 Vdc PORT 1
Power Up Behavior
Blinking Green: The unit will blink the Module Status LED green during initialization.
Blinking Red: The unit will blink the Module Status LED red three times if there is an error with the
internal absolute encoder.
SMD34E2 Connectors
Ethernet Connectors
Figure R1.4 shows the placement of the connectors on an SMD34E2
unit. Figure R1.5 shows the pinout of the Ethernet connectors when
viewed from the back of the SMD34E2. Each Ethernet port on the
POWER PORT 2
SMD34E2 is an “auto-sense” port that will automatically switch 24 to 80 Vdc
between 10baseT and 100baseT depending on the network equip-
ment it is attached to. Each port also has “auto switch” capability.
This means that a standard cable can be used when connecting the MODULE STATUS
ETHERNET
Ports 1 & 2 Figure R1.4 SMD34E2 Connector Locations
Figure R1.5 Ethernet Connector Pinout
The connector is a standard four pin D-coded female M12 connector that is rated to IP67 when the mate is
properly installed.
Power Connector
Figure R1.7 shows the pinout of the power connector when viewed from the back of the SMD34E2. This con-
nector is a standard four pin S-coded M12 connector.
48 Vdc 185 W 275 W 325 W 220 W 330 W 385 W 220 W 330 W 385 W
75 Vdc 290 W 435 W 510 W 335 W 500 W 600 W 315 W 472 W 552 W
Table R1.5 Suggested Power Supply Ratings
Ethernet Connector
Power Connector
Ethernet Cordset
CNPL-2M 5-position, 18 AWG. Connector: Straight M12, A-coded, Female to 2 inch flying
leads, 0.28” stripped. Cable length: 2 m
Table R1.10 Power Cordsets
Power Cordset
CNGL-5M 4-position, 1.5 mm2 (16 AWG) Connector: Straight M12, S-coded, Female to
flying leads, 0.28” stripped. Cable length: 5 m
Table R1.11 Power Cordsets
Notes
When a move command is sent to an SMD34E2, the unit calculates the entire pro-
file before starting the move or issuing an error message. This chapter explains
how the profiles are calculated and the different available moves.
Definitions
Units of Measure
Distance: Every distance is measured in steps. When you configure the unit, you will specify the number of
steps you want to complete one rotation of the motor shaft. It is up to you to determine how many steps are
required to travel the appropriate distance in your application.
Speed: All speeds are measured in steps/second. Since the number of steps needed to complete one shaft
rotation is determined by your programming, it is up to you to determine how many steps per second is
required to rotate the motor shaft at your desired speed.
Acceleration: The typical unit of measure for acceleration and deceleration is steps/second/second, or steps/
second2. However, when programming an SMD34E2, all acceleration and deceleration values must be pro-
grammed in the unit of measure of steps/second/millisecond.
To convert from steps/second2 to steps/second/millisecond, divide the value by 1000. This must be
done when converting from a value used in the equations to a value programmed into an SMD34E2.
To convert from steps/second/millisecond to steps/second2, multiply the value by 1000. This must be
done when converting from the value programmed into an SMD34E2 to the value used in the equations.
Motor Position
Motor Position is defined in counts, and its limits are based on the data format you choose when configuring
the unit. The default multi-word format limits the Motor Position range from -32,768,000 to +32,767,999. If
you choose the thirty-two bit double integer format, the range is -2,147,483,648 to +2,147,483,647. In con-
tinuous rotation applications, you should choose the double integer format.
Home Position
The Home Position is any position on your machine that you can sense and stop at. There are two ways to
defining the Home Position. The first is using the Preset Position command to set the Motor Position register
to a known value. The second method is using one of the Find Home commands. If you use the unit’s Find
Home commands, the motor position and encoder position registers will automatically be set to zero once the
home position is reached. Defining a Home Position is completely optional. Some applications, such as
those that use the SMD34E2 for speed control, don’t require position data at all.
Count Direction
Clockwise moves will always increase the motor position register reported back to the host. Some of the
moves, such as the Jog Move, have a positive and negative command. A positive command, such as the +Jog
Move command, will result in a clockwise rotation of the shaft.
Starting Speed
The Starting Speed is the speed that most moves will begin and end at. This value is set while configuring the
unit and it has a valid range of 1 to 1,999,999 steps/second. This value is typically used to start the move
above the motor’s low frequency resonances and, in micro-stepping applications, to limit the amount of time
needed for acceleration and deceleration. AMCI does not specify a default value in this manual because it is
very dependent on motor size and attached load.
Definitions (continued)
Target Position
The Target Position is the position that you want the move to end at. There are two ways to define the Target
Position, with relative coordinates or absolute coordinates.
Relative Coordinates
Relative coordinates define the Target Position as an offset from the present position of the motor. Most
SMD34E2 moves use relative coordinates.
The range of values for the Target Position when it is treated as an offset is ±8,388,607 counts. Positive
offsets will result in clockwise moves, while negative offsets result in counter-clockwise moves.
The Motor Position value reported back to the host exceeds ±8,388,607 counts. The only way to move
beyond ±8,388,607 counts is with multiple relative moves or jog commands.
Absolute Coordinates
Absolute coordinates treat the Target Position as an actual position on the machine. Note that you must set
the Home Position on the machine before you can run an Absolute Move. (See Home Position on the previ-
ous page.)
The range of values for the Target Position when it is treated as an actual position on the machine is
±8,388,607 counts. The move will be clockwise if the Target Position is greater than the Current Posi-
tion and negative if the Target Position is less than the Current Position.
The Motor Position value reported back to the host exceeds ±8,388,607 counts. However, you cannot
move beyond ±8,388,607 counts with an Absolute Move. The only way to move beyond ±8,388,607
counts is with multiple relative moves or jog commands.
Linear Acceleration
When the Acceleration Jerk parameter equals zero, the axis accelerates (or decelerates) at a constant rate until
the programmed speed is reached. This offers the fastest acceleration, but consideration must be given to
insure the smoothest transition from rest to the acceleration phase of the move. The smoothest transition
occurs when the configured Starting Speed is equal to the square root of the programmed Linear Accelera-
tion. Note that other values will work correctly, but you may notice a quick change in velocity at the begin-
ning of the acceleration phase.
ACCELERATION
Programmed
Speed
SPEED
t TIME t TIME
ACCELERATION
Programmed
Speed
SPEED
2t TIME 2t TIME
A Simple Move
As shown in the figure below, a move from A (Current Position) to B (Target Position) consists of several
parts.
SPEED
POSITION
A B
Figure R2.4 A Trapezoidal Profile
1) The move begins at point A, where the motor jumps from rest to the configured Starting Speed. The
motor then accelerates at the programmed Acceleration Value until the speed of the motor reaches the
Programmed Speed. Both the Acceleration Value and the Programmed Speed are programmed when
the move command is sent to the SMD34E2.
2) The motor continues to run at the Programmed Speed until it reaches the point where it must
decelerate before reaching point B.
3) The motor decelerates at the Deceleration Value, which is also programmed by the move command,
until the speed reaches the Starting Speed, which occurs at the Target Position (B). The motor stops
at this point. Note that the acceleration and deceleration values can be different in the move.
Figure R2.4 above shows a Trapezoidal Profile. A Trapezoidal Profile occurs when the Programmed Speed is
reached during the move. This occurs when the number of steps needed to accelerate and decelerate are less
than the total number of steps in the move.
Figure R2.5 below shows a Triangular Profile. A Triangular Profile occurs when the number of steps needed
to accelerate to the Programmed Speed and decelerate from the Programmed Speed are greater than the total
number of steps in the move. In this case, the profile will accelerate as far as it can before it has to decelerate
to reach the Starting Speed at the Target Position. The Programmed Speed is never reached.
SPEED
POSITION
A B
Figure R2.5 A Triangular Profile
Host Control
Hold Move Command: This command can be used with some moves to bring the axis to a Controlled Stop.
The move can be resumed and finished, or it can be aborted. Not all moves are affected by this command.
The section Basic Move Types, starting on page 32, describes each move type in detail, including if the move
is affected by this command.
Immediate Stop Command: When this command is issued from the host, the axis will come to an Immedi-
ate Stop. The move cannot be restarted and the machine must be homed again before Absolute Moves can be
run. Note that power is not removed from the motor.
Hardware Control
Stop Jog or Registration Move Input: Triggering this input type during a Jog Move or Registration Move
will bring the move to a controlled stop. The controlled stop is triggered on an inactive-to-active state change on
the input. Only Jog Moves and Registration Moves can be stopped this way, all other moves ignore this input.
CW Limit and CCW Limit Inputs: In most cases, activating these inputs during a move will bring the axis to
an Immediate Stop. The exceptions are the CW/CCW Find Home commands, the CW/CCW Jog Move com-
mands, and the CW/CCW Registration Move commands. The Find Home commands are explained in the ref-
erence section, Homing an SMD34E2, which starts on page 55. The CW/CCW Jog Move commands are
fully explained on page 34, and the CW/CCW Registration Move commands are fully explained on page 35.
Emergency Stop Input: It is possible to configure an input as an Emergency Stop Input. When an Emer-
gency Stop Input is activated, the axis will come to an Immediate Stop, regardless of the direction of travel.
The move cannot be restarted and the machine must be homed again before Absolute Moves can be run. Note
that power is not removed from the motor.
SPEED
shown to the right, but Relative Moves can also gener-
ate triangular profiles. The command’s Target Posi-
tion is the move’s offset. The offset can be in the range POSITION
of ±8,388,607 counts. Positive offsets will result in A A+n
clockwise moves, while negative offsets result in Figure R2.6 Relative Move
counter-clockwise moves.
1) You do not have to preset the position or home the machine before you can use a Relative
Moves. That is, the Position_Invalid status bit can be set.
2) Relative Moves allow you to move your machine without having to calculate absolute posi-
tions. If you are indexing a rotary table, you can preform a relative move of 30° multiple
times without recalculating new target positions in your controller. If you perform the same
action with Absolute Moves, you would have to calculate your 30° position followed by
your 60° position, followed by your 90° position, etc.
Relative Moves can be brought to a Controlled Stop by using the Hold Move Command from your host con-
troller. When the command is accepted, the axis will immediately decelerate at the programmed rate and
stop. When stopped successfully, the SMD34E2 will set a In_Hold_State bit in the input data table. The Rel-
ative Move can be restarted with the Resume Move command from the host controller or the move can be
aborted by starting another move. The Resume Move command allows you to change the move’s Pro-
grammed Speed, Acceleration Value and Type, and the Deceleration Value and Type. The Target Position
cannot be changed with the Resume Move Command.
Controlled Stops
The move completes without error.
You toggle the Hold_Move control bit in the Network Output Data. Note that your holding position
will most likely not be the final position you commanded. You can resume a held Relative Move by
using the Resume Move command. The use of the Hold_Move and Resume_Move bits is further
explained in the Controlling Moves In Progress section starting on page 43.
Immediate Stops
The Immediate Stop bit makes a 01 transition in the Network Output Data.
An inactive-to-active transition on an input configured as an E-Stop Input.
A CW or CWW Limit Switch is reached. If the limit that is reached is the same as the direction of
travel, for example, hitting the CW limit while running a CW move, a Reset Errors command must be
issued before moves are allowed in that direction again. If the limit that is reached is opposite the direc-
tion of travel, a Reset Errors command does not have to be issued.
SPEED
direction and number of steps needed to move to the
given position and moves that number of steps.) A
trapezoidal profile is shown to the right, but Absolute POSITION
Moves can also generate triangular profiles. The com- A B
mand’s Target Position can be in the range of Figure R2.7 Absolute Move
±8,388,607 counts. The move will be clockwise if the
Target Position is greater than the Current Position and
counter-clockwise if the Target Position is less than
the Current Position.
1) The Home Position of the machine must be set before running an Absolute Move. See the
reference section, Homing an SMD34E2, which starts on page 55, for information on hom-
ing the machine.
2) The Motor Position must be valid before you can use an Absolute Move. The Motor Posi-
tion becomes valid when you preset the position or home the machine.
3) Absolute Moves allow you to move your machine without having to calculate relative posi-
tions. If you are controlling a rotary table, you can drive the table to any angle without hav-
ing to calculate the distance to travel. For example an Absolute Move to 180° will move the
table to the correct position regardless of where the move starts from.
Controlled Stops
The move completes without error.
You toggle the Hold_Move control bit in the Network Output Data. Note that your holding position
will most likely not be the final position you commanded. You can resume a held Absolute Move by
using the Resume_Move bit or the move can be aborted by starting another move. The use of the
Hold_Move and Resume_Move bits is explained in the Controlling Moves In Progress section starting
on page 43.
Immediate Stops
The Immediate Stop bit makes a 01 transition in the Network Input Data.
An inactive-to-active transition on an input configured as an E-Stop Input.
A CW or CWW Limit Switch is reached. If the limit that is reached is the same as the direction of
travel, for example, hitting the CW limit while running a CW move, a Reset Errors command must be
issued before moves are allowed in that direction again. If the limit that is reached is opposite the direc-
tion of travel, a Reset Errors command does not have to be issued.
POSITION
POSITION
POSITION
Controlled
Stop Condition
SPEED
POSITION
Assembled Moves
All of the moves explained so far must be run individually to their completion or must be stopped before
another move can begin. The SMD34E2 also gives you the ability to pre-assemble more complex profiles
from a series of relative moves that are then run with a single command. Each Assembled Move can consist
of 2 to 16 segments. Assembled Moves are programmed through a hand shaking protocol that uses the input
and output registers assigned to the unit. The protocol is fully described in the Assembled Move Program-
ming section on page 40.
Two types of Assembled Moves exist in an SMD34E2:
Blend Move - A Blend Move gives you the ability to string multiple relative moves together and run all
of them sequentially without stopping the shaft between moves. A Blend Move can be run in either
direction, and the direction is set when the command is issued. The direction of motion cannot be
reversed with a Blend Move.
Dwell Move - A Dwell Move gives you the ability to string multiple relative moves together, and the
SMD34E2 will stop between each move for a programed Dwell Time. Because motion stops between
each segment, a Dwell Move allows you to reverse direction during the move.
CW
a2 d3
a1 d3
d3 a1
d3 a2
CCW
Dwell Move
A Dwell Move gives you the ability to string multiple relative moves together and run all of them sequentially
with a single start condition. Like a Blend Move, a Dwell Move is programmed into an SMD34E2 as a series of
relative moves before the move is started.
Unlike a Blend Move, the motor is stopped between each segment of the Dwell Move for a programed Dwell
Time. The Dwell Time is programmed as part of the command that starts the move. The Dwell Time is the
same for all segments. Because the motor is stopped between segments, the motor direction can be reversed
during the move. The sign of the target position for the segment determines the direction of motion for that seg-
ment. Positive segments will result in clockwise shaft rotation while a negative segment will result in a counter-
clockwise shaft rotation.
CW
Segment 1 Segment 3 Segment 5
SPEED
POSITION
Segment 2 Segment 4
CCW Segment 6
Figure R2.12 Dwell Move
1) You do not have to preset the position or home the machine before you using a Dwell Move.
Because the Dwell Move is based on Relative Moves, it can be run from any location.
2) The Dwell Move is stored in the internal memory of the SMD34E2 and can be run multiple
times once it is written to the unit. The Dwell Move data stays in memory until power is
removed, the unit is sent new Configuration Data, or a new Blend or Dwell Move is written to
the SDM34E2. As described in Saving an Assembled Move in Flash on page 40, it is also
possible to save a Dwell Move to flash memory. This move is restored on power up and can
be run as soon as you configure your SMD34E2 and enter Command Mode.
Controlled Stops
The move completes without error.
You toggle the Hold_Move control bit in the Network Output Data. When this occurs, the SDM34E2
decelerates the move at the deceleration rate of the present segment to the Starting Speed and ends the
move. Note that your final position will most likely not be the one you commanded. A Dwell Move
that is brought to a controlled stop with the Hold_Move bit cannot be restarted.
Immediate Stops
The Immediate_Stop bit makes a 01 transition in the Network Input Data.
A positive transition on an input configured as an E-Stop Input.
A CW or CWW Limit Switch is reached. If the limit that is reached is the same as the direction of
travel, for example, hitting the CW limit while running a CW move, a Reset Errors command must be
issued before moves are allowed in that direction again. If the limit that is reached is opposite the direc-
tion of travel, a Reset Errors command does not have to be issued.
Programming Routine
1) The host sets the Program_Assembled bit in the Network Output Data.
2) The SMD34E2 responds by setting both the In_Assembled_Mode and
Waiting_For_Assembled_Segment bits in the Network Input Data.
3) When the host detects that the Waiting_For_Assembled_Segment bit is set, it writes the data for the
first segment in the Network Output Data and sets the Read_Assembled_Data bit.
4) The SMD34E2 checks the data, and when finished, resets the Waiting_For_Assembled_Segment bit.
If an error is detected, it also sets the Command_Error bit.
5) When the host detects that the Waiting_For_Assembled_Segment bit is reset, it resets the
Read_Assembled_Data bit.
6) The SMD34E2 detects that the Read_Assembled_Data bit is reset, and sets the
Waiting_For_Assembled_Segment bit to signal that it is ready to accept data for the next segment.
7) Steps 3 to 6 are repeated for the remaining segments until the entire move profile has been entered.
The maximum number of segments per profile is sixteen.
8) After the last segment has been transferred, the host exits Assembled Move Programming Mode by
resetting the Program_Assembled bit.
9) The SMD34E2 resets the In_Assembled_Mode and the Waiting_For_Assembled_Segment bits.
Saving an Assembled Move in Flash
The SMD34E2 also contains the Save_Assembled_to_Flash bit that allows you to store the Assembled Move in
flash memory. This allows you to run the Assembled Move right after power up, without having to go through
a programming sequence first. To use this bit, you follow the above programming routine with the
Save_Assembled_to_Flash bit set. When you reach step 9 in the sequence, the SMD34E2 responds by resetting
the In_Assembled_Mode and Transmit Blend Move Segments bits as usual and then it will flash the Status LED.
If the LED is flashing green, the write to flash memory was successful. If it flashes red, then there was an error
in writing the data. In either case, power must be cycled to the SMD34E2 before you can continue. With a limit
of 10,000 write cycles, the design decision that requires you to cycle power to the SMD34E2 was made to pre-
vent an application from damaging the module by continuously writing to it.
Indexed Moves
All of the moves that have been explained in the chapter up to this point can be started by a transition on one
of the inputs instead of a command from the network. If the Indexed Move bit is set when the command is
issued, the SMD34E2 will not run the move until the configured input makes an inactive-to-active transition.
This allows you to run time critical moves that cannot be reliably started from the network because of mes-
saging time delays.
The input must be configured as a Start Indexed Move Input.
The move begins with an inactive-to-active transition on the input. Note that an active-to-inactive tran-
sition on the input will not stop the move.
The move command must stay in the Network Output Data while performing an Indexed Move. The
move will not occur if you reset the command word before the input triggers the move.
The move can be run multiple times as long as the move command data remains unchanged in the Net-
work Output Data. The move will run on every inactive-to-active transition on the physical input if a
move is not currently in progress. Once a move is triggered, the Start Indexed Move Input is ignored by
the SMD34E2 until the triggered move is finished.
As stated above, a move can be run multiple times as long at the move command data remains
unchanged. If you wish to program a second move and run it as an Indexed Move type, then you must
have a 01 transition on the move command bit before the new parameters are accepted. The easiest
way to accomplish this is by writing a value of 16#0000 to the command word between issuing move
commands.
A Jog Move that is started as an Indexed Move will come to a controlled stop when the command bit in
the Network Output Data is reset to zero.
It is possible to perform an indexed Registration Move by configuring two inputs for their respective
functions. The first input, configured as a Start Indexed Move Input, starts the move and the second,
configured as a Stop Jog or Registration Move Input causes the registration function to occur.
You cannot issue a Hold Command with the Indexed Bit set and have the Hold Command trigger on the
inactive-to-active transition of a physical input. Hold Commands are always acted upon as soon as they
are accepted from the Network Output Data.
You cannot issue an Immediate Stop Command with the Indexed Bit set and have the Immediate Stop
Command trigger on the inactive-to-active transition of a physical input. Immediate Stop Commands
are always acted upon as soon as they are accepted from the Network Output Data. If you need this
functionality, consider programming the physical input as an E-Stop Input.
You cannot issue a Clear Error Command with the Indexed Bit set and have the Clear Error Command
trigger on the inactive-to-active transition of a physical input. Clear Error Commands are always acted
upon as soon as they are accepted from the Network Output Data.
Move
Complete
SPEED
POSITION
Position Held for a length of time.
Move resumes when Resume Bit activates.
Figure R2.13 Hold/Resume a Move Profile
Jog Moves
Jog Moves can be placed in a Hold state and resumed if error conditions, such as programming errors, have
not occurred. New Acceleration, Deceleration, and Programmed Speed parameters can be written to the
SMD34E2 while a Jog Move is in its hold state. If these parameters are accepted without error, the move can
be resumed and it will use the new parameter values.
Registration Moves
Registration Moves can be brought to a controlled stop with the Hold bit, but they cannot be restarted.
Assembled Moves
A Blend or Dwell Move can be placed in a Hold state but cannot be resumed. This give you the ability to pre-
maturely end an Assembled Move with a controlled stop. The Assembled Move is not erased from memory
and can be run again without having to reprogram it.
Notes
This reference was added because some of our customers must program very
precise profiles. Understanding this section is not necessary before program-
ming the SMD34E2 and it can be considered optional. Two different approaches
are presented here. The constant acceleration example takes given parameters
and calculates the resulting profile. The variable acceleration example starts with
a desired speed profile and calculates the required parameters
The equations in this appendix use a unit of measure of steps/second/second (steps/second2) for acceleration
and deceleration. However, when programming the SMD34E2, all acceleration and deceleration values must
be programmed in the unit of measure of steps/second/millisecond.
To convert from steps/second2 to steps/second/millisecond, divide the value by 1000. This must be
done when converting from a value used in the equations to a value programmed into the SMD34E2.
To convert from steps/second/millisecond to steps/second2, multiply the value by 1000. This must be
done when converting from the value programmed into the SMD34E2 to the value used in the equa-
tions.
Programmed
Speed
SPEED
t TIME t TIME
Variable Definitions
The following variables are used in these equations:
VS = Configured Starting Speed of the move
VP = Programmed Speed of the move
SPEED
TA or TD DA or DD a
Acceleration Type (Time to Accelerate (Distance to Accelerate (Average
or Decelerate) or Decelerate) Acceleration)
Linear TA = (VP – VS)/a DA = TA*(VP + VS)/2 a = (VP2 – VS2)/2DA
Table R3.1 Acceleration Equations
If the sum of the DA and DD values of the move is less than the total number of steps in the move, your move
will have a Trapezoidal profile.
If the sum of the DA and DD values of the move is equal to the total number of steps in the move, your move
will have a Triangular profile and your move will reach the Programmed Speed before it begins to decelerate.
If the sum of the DA and DD values of the move is greater than the total number of steps in the move, your
move will have a Triangular profile and it will not reach the Programmed Speed before it begins to decelerate.
As an example, lets assume the values in table R3.2 for a move profile.
SMD34E2
Name Value Parameter Values
Acceleration (a) 20,000 steps/sec2 20
Deceleration (d) 25,000 steps/sec2 25
Starting Speed (VS) 141 steps/sec 141
Programmed Speed (VP) 100,000 steps/sec 100,000
Table R3.2 Sample Values
From figure R3.1:
Time to accelerate: TA = (VP – VS)/a = (100,000 - 141)/20,000 = 4.993 seconds
Time to decelerate: TD = (VP – VS)/d = (100,000 - 141)/25,000 = 3.994 seconds
Distance to Accelerate: DA = TA*(VP + VS)/2 = 4.993 * (100,000 + 141)/2 = 250,002 steps
Distance to Decelerate: DD = TD*(VP + VS)/2 = 3.994 * (100,000 + 141)/2 = 199,982 steps
Total Distance needed to accelerate and decelerate: 250,002 + 199,982 = 449,984 steps
If a move with the above acceleration, deceleration, starting speed, and programmed speed has a length
greater than 449,984 steps, the SMD34E2 will generate a Trapezoidal profile. If the move is equal to 449,984
steps, the SMD34E2 will generate a Triangular profile and the unit will output one pulse at the programmed
speed. If the move is less than 449,984 steps, the SMD34E2 will generate a Triangular profile and the pro-
grammed speed will not be reached.
In the case of a Triangular profile where the programmed speed is not reached, it is fairly easy to calculate the
maximum speed (VM) attained during the move. Because the move is always accelerating or decelerating,
the total distance traveled is equal to the sum of DA and DD.
DA = TA*(VM + VS)/2 and TA = (VM – VS)/a. By substitution:
DA = (VM – VS)/a * (VM + VS)/2 = (VM2 – VS2)/2a. By the same method,
DD = (VM2 – VS2)/2d.
Therefore, total distance traveled =
DA + DD = (VM2 – VS2)/2a + (VM2 – VS2)/2d.
In the case where the acceleration and deceleration values are equal, this formula reduces to:
DA + DD = (VM2 – VS2)/a
Once you have calculated the maximum speed, you can substitute this value into the time and distance formu-
las in table R3.1 to calculate time spent and distance traveled while accelerating and decelerating.
as Triangular S-Curve
Speed is equal to acceleration multiplied by the time it is applied.
This is shown graphically in figure R3.3 as the area of the blue
Acceleration
Acceleration
rectangle. In order for the Triangular S-curve acceleration to
Constant reach the same speed in the same amount of time, the area of the
ac Acceleration triangle must equal the area of the square. Area of a triangle is one
half of the base length multiplied by the height. Therefore:
as t
Time a c t = ------- Area of rectangle = Area of triangle
t/2 t 2
Figure R3.3 Triangular Acceleration a s = 2a c
This value represents the ideal Acceleration Jerk parameter value for a triangular S-curve acceleration. Set-
ting the value lower than this will result in a longer acceleration period, while setting the value above this will
result in a trapezoidal S-curve acceleration.
When as = ac
The above examples assume that you can increase the programmed acceleration value to keep the accelera-
tion time the same. If your constant acceleration value is the maximum your system will allow, then using
S-curve accelerations will lengthen the time needed to accelerate to your desired speed.
In the case of Triangular S-curve accelerations where the Acceleration Jerk parameter is optimized at 200/t,
the value of “t” must be twice that of the acceleration period when constant acceleration is used. For exam-
ple, assume a equivalent constant acceleration of 20,000 steps/sec2 that is applied for 2.0 seconds. If the
acceleration value must remain at 20,000 steps/sec2, then the acceleration phase will take 4.0 seconds and the
Acceleration Jerk parameter should be set to 50 (200/4.0)
Programmed
Speed S = Programmed Speed – Starting Speed
Constant
Acceleration SMD34E2
Speed
In this example, the period of constant acceleration is 50% of the acceleration phase.
Trapezoidal S-Curve Deceleration Speed is equal to acceleration multiplied by the time it is applied.
Acceleration
This means that a trapezoidal S-curve acceleration profile that is has a period of constant acceleration equal to
half of the total phase time, requires its programmed acceleration value to be 4/3 that of the constant acceler-
ation value used to achieve the same speed in the same amount of time.
This value represents the ideal Acceleration Jerk parameter value for a trapezoidal S-curve acceleration with
a constant acceleration for half of the phase. Setting the value lower than this will result in a shorter constant
period, while setting the value greater than this will result in a longer constant period.
Another example of a trapezoidal S-curve acceleration is when the linear acceleration occurs for one third of
the time. In this case, the programmed acceleration must be the constant acceleration value multiplied by 3/2
and the Acceleration Jerk parameter must be set to 300/t.
When as = ac
The above examples assume that you can increase the programmed acceleration value to keep the time of the
acceleration phase the same. If your constant acceleration value is the maximum your system will allow, then
using S-curve accelerations will lengthen the time needed to accelerate to your desired speed.
In the case of trapezoidal S-curve accelerations, calculating the percentage increase in time is shown in figure
R3.6. The time added to the acceleration phase is equal to the time spent increasing the acceleration during
the phase. As shown in the figure, when the Trapezoidal S-curve is programmed to spend 50% of its time at
the programmed acceleration value, the time spent in the acceleration phase will be 133.33% of the time spent
if a constant acceleration were used.
Trapezoidal S-Curve Acceleration ac(t) = ac(.5n +.5t) + ac(.25n + .25t)
Constant
Acceleration ac(t) = ac((.5n +.5t) + (.25n + .25t))
ac = as t = .75n +.75t
0.25t = .75n
t = 3n
Time
0.25n + 0.25t t t+n t/3 = n t+n = t + t/3 = 4/3t = 1.3333t
Example 1, Jerk = 20
S m = 30,000
steps/sec- = 15,000 steps/sec
-------------------------------------- S m = midpoint of change in speed
2
J = Acceleration Jerk parameter
100j Ja-
J = ----------- j = -------- j = physical jerk property
a 100
a f = calculated final acceleration
20 58,000 steps/sec²
j = ----------------------------------------------------
100
j = 11,600 steps/sec³
1 2 1 2
Just as displacement = --- at , Speed = --- jt
2 2
2
11,600 steps/sec³ t
15,000 steps/sec = --------------------------------------------------
2
2 15,000 steps/sec
t = ---------------------------------------
5,800 stesp/sec³
t = 1.608 seconds
Just as speed = at, acceleration = jt
a f = 11,600 steps/sec³ 1.608 sec
a f = 18,655 steps/sec²
Because af is less than or equal to the programmed acceleration of 58,000 steps/sec2, the resulting accelera-
tion is a Triangular S-curve. Total time to accelerate is twice the value calculated above, or 3.216 seconds.
Because af is greater than the programmed acceleration of 58,000 steps/sec2, the resulting acceleration is a
trapezoidal S-curve. As shown in figure R3.7, two additional calculations must be made. The first is the time
(t1) it takes to jerk to the programmed acceleration value. The second is the time (t2) it takes to accelerate to
half of the required change in speed (Sm).
af
232,000 steps/sec³ t 1 = 58,000 steps/sec² jt = a
Acceleration
t 1 = 0.25 seconds ap
1 2
Determine speed at t 1 : Speed = --- jt
2
2
232,000 steps/sec³ 0.25
S 1 = -------------------------------------------------------------
- Time
2 t1 t2
S 1 = 7,250 steps/sec
S 2 = 7,750 steps/sec
S2 = ac t2 t2 = S2 ac
7,750 steps/sec
t 2 = -----------------------------------------
58,000 steps/sec²
t 2 = 0.1336 seconds
The time for this acceleration phase is 2(t1 + t2), which equals 2(0.2500 sec + 0.1336 sec) or 0.7672 seconds.
Time spent in the constant acceleration period is (2(0.1336))/0.7672) or 34.8% of the entire phase.
Notes
This chapter explains the various ways of homing an SMD34E2. Inputs used to
home the unit are introduced and diagrams that show how the unit responds to a
homing command are given.
Position Preset
One of the ways to define the Home Position is to issue the Preset Position command over the network. On
units with integral encoders, both the motor position and the encoder position can be preset separately, and
the motor position can also be preset to the encoder position. The motor and encoder position values can be
preset anywhere in the range of –8,388,607 to +8,388,607.
When presetting the motor position to the encoder position, the programmed Steps per Turn
and Counts per Turn parameter values are used to scale the encoder position before the motor
position is set to it. For example, assume that the Encoder Counts per Turn is programmed to
4,096, and the Motor Steps per Turn is programmed to 2,000. If the encoder position is 4,096
when the preset command is issued, the motor position will be set to 2,000.
Homing Inputs
Up to three physical DC inputs can be used when homing the driver. A Backplane Proximity bit is available
in the network output data that can be used to control when the home input is acted upon. This is typically
used in applications where the home input is triggered multiple times in a machine cycle, and the system
needs to control which trigger is acted upon.
Physical Inputs
Home Input: This input is used to define the actual home position of the machine.
CW Limit Switch Input: This input is used to prevent overtravel in the clockwise direction.
CCW Limit Switch Input: This input is used to prevent overtravel in the counter-clockwise direction.
Homing Configurations
A SMD34E2 must have one of its DC inputs configured as the home input before one of the CW/CCW Find
Home commands can be issued.
1) You do not have to configure and use CW or CCW Limits. If you choose to configure the
module this way, then the SMD34E2 has no way to automatically prevent over travel during
a homing operation. In linear applications, you must prevent over travel by some external
means, or ensure that the homing command is issued in the direction that will result in
reaching the homing input directly.
2) You can use a bit in the Network Output Data (the Backplane_Proximity_Bit) as a home
proximity input. Using this bit is completely optional and prevents the Home Input from
being acted upon until the Backplane_Proximity_Bit makes a 01 transition.
Homing Profiles
The CW Find Home command is used in all of these examples. The CCW Find Home com-
mand will generate the same profiles in the opposite direction.
(CW)
Home Limit
Switch
SPEED
POSITION
(CCW)
POSITION
(CCW)
Figure R4.2 Homing with Proximity
1) Acceleration from the configured Starting Speed to the Programmed Speed
2) Run at the Programmed Speed
3) Ignores the Home Input because Backplane_Proximity_Bit has not made a 01 transition.
4) Deceleration towards the Starting Speed when the Backplane_Proximity_Bit transitions from 0 to 1.
The axis will stop as soon as the Home Input becomes active.
5) The Starting Speed is the minimum speed the profile will run at. If the axis decelerates to the Starting
Speed before reaching the Home Input, it will continue at this speed.
Figure R4.2 shows the Backplane_Proximity_Bit staying active until the SMD34E2 reaches
its home position. This is valid, but does not have to occur. As stated in step 4, the SMD34E2
starts to hunt for the home position as soon as the Backplane_Proximity_Bit makes a 01
transition
(CW) Home CW
Limit Overtravel
Switch Limit
SPEED
POSITION
(CCW)
Figure R4.3 Profile with Overtravel Limit
1) Acceleration from the configured Starting Speed to the Programmed Speed
2) Run at the Programmed Speed
3) Hit CW Limit and immediately stop, followed by a two second delay.
4) Acceleration to the Programmed Speed opposite to the requested direction.
5) Run opposite the requested direction until the Home Input transitions from Active to Inactive
6) Deceleration to the Starting Speed and stop, followed by a two second delay.
7) Return to the Home Input at the configured Starting Speed. Stop when the Home Input transitions
from Inactive to Active.
If the overtravel limit is active when the Find Home Command is issued, the profile will begin
at step 4.
Immediate Stops
The Immediate Stop bit makes a 01 transition in the Network Input Data.
An inactive-to-active transition on an input configured as an E-Stop Input.
The overtravel limit associated with travel in the opposite direction is activated. i.e. Activating the
CCW limit during a CW Find Home command. This can occur if the overtravel limits are not wired to
the SMD34E2 correctly, or if both overtravel limits are activated while the unit is trying to find the
home position.
This chapter covers the formats of the Network Output Data used to configure
the SMD34E2 as well as the formats of the Network Input Data that contains the
responses from the device.
Modes of Operation
An SMD3E2 has two operating modes, Configuration Mode and Command Mode. You switch between
these modes by changing the state of a single bit in the Network Output Data.
Configuration Mode
Configuration Mode gives you the ability to select the proper configuration for your application without hav-
ing to set any switches. The ladder logic needed to configure a unit is included in the sample programs avail-
able from AMCI. This method simplifies change over if the unit ever needs to be replaced.
A valid configuration can be saved to the unit’s Flash memory and the SMD34E2 will use this as a default
configuration on every power up. If you use this method, you can still write down a new configuration to the
unit at any time. The new configuration is stored in RAM and is lost on power down unless you issue a com-
mand to store the new configuration in Flash.
Command Mode
This mode gives you the ability to program and execute stepper moves, and reset errors when they occur. An
SMD34E2 will always power up in this mode. The command data formats are described in the following
chapter.
Power Up Behavior
An SMD34E2 will always power up in Command Mode. The SMD34E2 will use its stored configuration data
to configure the unit. The SMD34E2 will then check for valid network command data and will only enable
the motor driver section if the Enable_Driver bit is set.
If using EtherNet/IP with an EDS file, the SMD34E2 is sent configuration data when it connects to the
network. This data is used to configure the unit. (This data is used in place of any configuration that
may be stored in flash memory.) The SMD34E2 will then check for valid network command data and
will only enable the motor driver section if the Enable_Driver bit is set.
Data Format
An SMD34E2 requires twenty bytes of Output Data as well as twenty bytes of Input Data. In EtherNet/IP
applications that use an EDS file, these 20 bytes will be a mixture of single and double integers. In
EtherNet/IP applications that do not use an EDS file, the SMD34E2 is added to the network as a generic
device. In this case the data is represented as ten 16-bit (single) integers. This ten word format is also used in
Modbus TCP applications.
Value First Word Second Word First Word Second Word First Word Second Word
12 0 12 16#000C 16#0000 16#0000 16#000C
-12 0 -12 16#FFF4 16#FFFF 16#FFFF 16#FFF4
1,234,567 1,234 567 16#D687 16#0012 16#0012 16#D687
-7,654,321 -7,654 -321 16#344F 16#FF8B 16#FF8B 16#344F
Table R5.2 Position Data Format Examples
When using the Modbus-TCP protocol, the host controller should use “signed 16-bit integer”
as the data type when using the multi-word format.
The range of values when using the multi-word format is -32,768,000 to 32,767,999. When
used in continuous rotation applications, such as control of a conveyor belt, it is possible to
overflow these values. When any of the three position values overflow, the value of the asso-
ciated data words will become indeterminate. AMCI strongly suggests using the signed 32-bit
integer format for continuous rotation applications.
En_Stall
Dis_AR
Use_Enc
MODE
RESERVED: Bit must equal zero.
Figure R5.1 Configuration Mode: Control Word Format
Bit 15: Mode – “1” for Configuration Mode Programming, “0” for Command Mode Programming.
Bit 14: Disable_Antiresonance – “1” disables the antiresonance feature. “0” enables the anti-resonance
feature of the SDM34E2. The Anti-resonance feature will provide smoother operation in most
cases. If you are still experiencing resonance problems with this feature enabled, disable this feature
and test the machine again.
Bit 12: Reserved – Must equal zero.
Bit 13: Enable_Stall_Detection – “0” disables motor stall detection. “1” enables motor stall detection.
Only valid on SMD34E2 units with built in encoders. The Use_Encoder bit, which is bit 10 of this
word, must be also be set to “1”. You must also program the Encoder_Resolution parameter in con-
figuration word 6.
Bit 11: Use_Backplane_Proximity – “0” when the Backplane_Proximity_Bit is not used when homing the
SDM34E2. “1” when the Backplane_Proximity_Bit is used when homing the SMD34E2. Note that
this bit is not the Backplane_Proximity_Bit, but enables or disables its operation. Do not use the
Backplane_Proximity_Bit if you only want to home to a Home Limit Switch. (Leave this bit equal to
“0”.) If you enable this bit and then never turn on the Backplane_Proximity_Bit, the SMD34E2 will
ignore all transitions of the home limit switch and you will not be able to home the SMD34E2.
Bit 10: Use_Encoder – “0” when the built-in encoder is not used. “1” to enable the built-in absolute or
quadrature encoder. Only valid with the SMD34E2 units that have the built-in encoder. You must
also program the Encoder_Resolution parameter in configuration word 6.
Bit 9: Reserved – Must equal zero.
Bits 8-6: Input 3 Function – See the table on the following page.
Bits 5-3: Input 2 Function – See the table on the following page.
Bits 2-0: Input 1 Function – See the table on the following page.
Bits
8 7 6
5 4 3
2 1 0 Function Available On
The input is not used in any of the functions of the
0 0 0 General Purpose Input SMD34E2, but it’s status is reported in the Network Data.
This allows the input to be used as a discrete DC input to
the host controller.
0 0 1 CW Limit Input defines the mechanical end point for CW motion.
0 1 0 CCW Limit Input defines the mechanical end point for CCW motion.
0 1 1 Start Indexed Move Starts the move that is currently located in the output reg-
isters.
When the encoder is enabled on an SMD34E2, the
Start Indexed Move / encoder position value is captured whenever this input
0 1 1 Capture Encoder Value transitions. An inactive-to-active state transition will also
trigger an Indexed Move if one is pending in the
SMD34E2.
Stop Jog or
1 0 0 Registration Move Brings a Jog or Registration Move to a controlled stop.
Stop Jog or
Registration Move When the encoder is enabled on an SMD34E2, the
1 0 0 & encoder position value is captured when the input triggers
a controlled stop to a Jog or Registration move.
Capture Encoder Value
1 0 1 Emergency Stop All motion is immediately stopped when this input makes
an inactive-to-active transition.
1 1 0 Home Used to define the home position of the machine.
1 1 1 Invalid Combination This bit combination is reserved.
Table R5.4 Configuration Data: Input Function Selections
When using an encoder, you must set bit 10, the Use_Encoder bit. You must also program the
Encoder_Resolution parameter in configuration word 6.
DataEndian
BinOutFrmt
BinInFrmt
0/1
Invalid Configurations
The following configurations are invalid:
1) Setting any of the reserved bits in the configuration words.
2) Setting any parameter to a value outside of its valid range. This includes setting the Lower Word of
the Starting Speed to a value greater than 999.
3) You configure two or more inputs to have the same function, such as two CW Limit Switches. (An
error does not occur if both are configured as General Purpose Inputs.)
4) Setting the Stall Detection Enable Bit without configuring the SMD34E2 to use its built in encoder.
5) Setting the Input Configuration bits for any input to “111”. See table R5.4 on page 65 for more
information.
This chapter covers the formats of the Network Output Data used to command the
SMD34E2 and the formats of the Network Input Data that contains the responses
from the device. An SMD34E2 requires twenty bytes of Output Data as well as
twenty bytes for Input Data.
Data Format
An SMD34E2 requires twenty bytes of Output Data as well as twenty bytes of Input Data. In EtherNet/IP
applications that use an EDS file, these 20 bytes will be a mixture of single and double integers. In
EtherNet/IP applications that do not use an EDS file, the SMD34E2 is added to the network as a generic
device. In this case the data is represented as ten 16-bit (single) integers. This ten word format is also used in
Modbus TCP applications.
Sixteen bit integers support a range of values from -32,768 to 32,767 or 0 to 65,535. When issuing com-
mands to the SMD34E2, there are several parameters that are larger than sixteen bits. These parameters are:
Target Position
Programmed Speed
Stopping Distance
Minimum Registration Move Distance
Position Preset Value
Encoder Preset Value
Likewise, when reading data back from an SMD34E2 while it is in Command Mode, there are values that are
larger than sixteen bits. These data values are:
Motor Position
Encoder Position
Captured Encoder Position
By default, these thirty-two bit parameters and data values are written to and read from the SMD34E2 using
the multi-word format described below. When configuring the SMD34E2, it is possible to program it to use a
32-bit double integer format instead of the custom format shown above.
There are three configuration bits that control the data format when the SMD34E2 is in command mode. The
Binary_Output_Format Bit, controls the format of the programmable parameters written to the SMD34E2
when issuing commands. The Binary_Input_Format Bit, controls the format of the data values written to the
host controller by the SMD34E2. When either of these parameters are set to their 32-bit signed integer format
settings, the Data_Endian bit determines if the 32-bit values are stored and transmitted least significant bits
first or most significant bits first. Examples of the formats are given below.
Value First Word Second Word First Word Second Word First Word Second Word
12 0 12 16#000C 16#0000 16#0000 16#000C
-12 0 -12 16#FFF4 16#FFFF 16#FFFF 16#FFF4
1,234,567 1,234 567 16#D687 16#0012 16#0012 16#D687
-7,654,321 -7,654 -321 16#344F 16#FF8B 16#FF8B 16#344F
Table R6.1 Position Data Format Examples
This condition also applies when switching from Configuration Mode to Command Mode. If a bit is set in
Configuration Word 0 while in Configuration Mode and you switch to Command Mode with the same bit set,
the command will not occur because the bit must transition between writes to the unit.
The command bits are split between 2 sixteen bit words, Command Word 0 and Command Word 1. Only one
bit in Command Word 0 can make a 01 transition at a time.
Command Word 0
Command Word 0
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Home_CCW
RSet_Err
Prst_Enc
Prst_Pos
Run_AMov
Home_CW
Hold_Mv
Rd_AData
Prg_Assm
Jog_CCW
Resm_Mv
Jog_CW
MODE
I-Stop
Figure R6.2 Command Word 0 Format
Bit 15: Mode_Select – “1” for Configuration Mode Programming “0” for Command Mode Programming.
Bit 14: Preset_Encoder – When this bit makes a 01 transition, the SMD34E2 will preset the Encoder
Position to the value stored in Output Words 2 and 3.
Bit 13: Run_Assembled_Move – When this bit makes a 01 transition, the SMD34E2 will run the Assem-
bled Move already stored in memory.
Assembled_Move_Type – Command Word 1, Bit 9: This bit determines the type of move
that is run. When this bit equals “0”, a Blend Move is run. When this bit equals “1”, a Dwell
Move is run. When starting a Dwell Move, the Dwell Time is programmed in word 9 of the
Command Data. The value is programmed in milliseconds and can range from 0 to 65,536.
Reverse_Blend_Direction – Command Word 1, Bit 4: This bit is used to determine the direc-
tion that the Blend Move will be run in. When this bit equals “0”, the Blend Move runs in the
clockwise direction. When this bit equals “1”, the Blend Move is run in the counter-clockwise
direction.
Bits 12 & 11: Program_Assembled & Read_Assembled_Data – These bits are used to program the seg-
ments of an Assembled Move before the move can be run. Their use is explained in the Assembled
Move Programming section of this manual starting on page 40.
Bit 10: Reset_Errors – When this bit makes a 01 transition, the SMD34E2 will clear all existing com-
mand errors and reset the Move_Complete bit in the Network Input Data. This bit does not clear a
configuration error or the Position_Invalid status bit.
Bit 9: Preset_Position – When this bit makes a 01 transition, the SMD34E2 will preset the Motor Posi-
tion. The value depends on the state of the Preset_To_Encoder bit (Command Word 1, bit 13). If the
Preset_To_Encoder bit equals “0”, the Motor Position is preset to the value stored in Output Words 2
and 3. If the Preset_To_Encoder bit equals “1”, the Motor Position is set to:
In either case, the Move_Complete and Position_Invalid bits in the Network Input Data are reset to
“0”.
Bit 8: Jog_CCW – When this bit makes a 01 transition, the SMD34E2 will run a Jog Move in the coun-
ter-clockwise direction. The full explanation of a CW/CCW Jog Move can be found starting on
page 34.
Registration_Move – Command Word 1, Bit 7: When this bit equals “0”, and a Jog Move
command is issued, it will run as a standard Jog Move. When this bit equals “1” and a
Jog Move command is issued, the move will run as a Registration Move.
Synchrostep Mode – Command Word 1, Bits 12 and 14: If either of these bits equal “1” when
the Registration_Move bit equals “0”, the SMD34E2 will enter its Synchrostep Mode when the
Jog Move bit makes a 01 transition.
Command Word 1
Command Word 1
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Save_to_Flash
Preset_to_Enc
Motor_Current
V_Enc_Follow
V_Pos_Follow
Rev_BlendDir
AsMv_Type
Index_Cmd
Reg_Move
En_Driver
Figure R6.3 Command Word 1 Format
Bit 15: Enable_Driver – “0” to disable the motor current, “1” to enable motor current. A valid configura-
tion must be written to the SMD34E2 before the driver can be enabled.
If the motor is disabled for any reason, the SMD34E2 internally shorts the motor windings
together to dissipate any regeneration energy in the motor instead of sending it back through
the power supply. The motor windings are shorted for 300 milliseconds. Consequently, if the
motor is disabled for any reason, you must wait 300 milliseconds before the motor and be re-
enabled.
Bit 14: Virtual_Encoder_Follower – When using the SMD34E2 as an axis follower (Synchrostep Mode),
set this bit to ‘1’ to close the position loop with respect to the encoder position. This bit is only avail-
able when the unit is configured to use encoder feedback. This bit must equal ‘0’ if the
Virtual_Position_Follower bit, bit 12 of this word, is set to ‘1’.
Bit 13: Preset_to_Encoder – Only used when the Preset Motor Position bit (Command Word 0, Bit 9) is
set to “1”. If this bit equals “0” when the Preset Motor Position bit equals “1”, the Motor Position is
set to the value contained in words 2 and 3 of the command block. If this bit equals “1” when the
Preset Motor Position bit equals “1”, the Motor Position is set to:
In either case, the Move_Complete bit in the Network Input Data is reset to “0”.
Bit 12: Virtual_Position_Follower – When using the SMD34E2 as an axis follower (Synchrostep Mode),
set this bit to ‘1’ to close the position loop with respect to the motor position. This bit must equal ‘0’
if the Virtual_Encoder_Follower bit, bit 14 of this word, is set to ‘1’.
Bit 11: Backplane_Proximity_Bit – When the SMD34E2 is configured to use the Backplace_Proximity_
Bit, the unit will ignore the state of the Home Input as long as this bit equals “0”. This bit must equal
“1” before a transition on the Home Input can be used to home the machine. Further information on
using the Backplace_Proximity_Bit can be found in the Profile with Backplane_Proximity_Bit sec-
tion found on page 58.
Bit 10: Reserved – Must equal “0”.
Bit 9: Assembled_Move_Type – When this bit equals “0”, a Blend Move is started when the Run Assem-
bled Move bit, (Command Word 1, Bit 13) makes a 01 transition. When this bit equals “1”, a
Dwell Move is started on the transition. The direction of a Blend Move is controlled by the
Reverse_Blend_Direction bit, (Command Word 1, Bit 4). In a Dwell Move, the Dwell Time
between segments is programmed in Word 9 of the command data.
Bit 8: Indexed_Command – If this bit is set when a move command is issued, the SMD34E2 will not run
the move immediately, but will instead wait for an inactive-to-active transition on an input config-
ured as a Start Indexer Move input. The move command data, including this bit, must remain in the
Network Output Registers while performing an Indexed Move.
Command Blocks
The following section lists the output data format for the sixteen different commands.
Absolute Move
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#0001
1 1025 Command Word 1 See pg. 73
2 1026 Abs. Target Position: Upper Word Combined value between
Steps –8,388,608 and +8,388,607
3 1027 Abs. Target Position: Lower Word
4 1028 Programmed Speed: Upper Word Combined value between
Steps/Second the Configured Starting
5 1029 Programmed Speed: Lower Word Speed and 2,999,999
6 1030 Acceleration Steps/ms/sec 1 to 5000
7 1031 Deceleration Steps/ms/sec 1 to 5000
8 1032 Motor Current 0.1 amps 0 to 54. Ignored if bit 1 of
Command Word 1 is not set.
9 1033 Acceleration Jerk 0 to 5000
Table R6.2 Absolute Move Command Block
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#0002
1 1025 Command Word 1 See pg. 73
2 1026 Rel. Target Position: Upper Word Combined value between
Steps –8,388,608 and +8,388,607
3 1027 Rel. Target Position: Lower Word
4 1028 Programmed Speed: Upper Word Combined value between
Steps/Second the Configured Starting
5 1029 Programmed Speed: Lower Word Speed and 2,999,999
6 1030 Acceleration Steps/ms/sec 1 to 5000
7 1031 Deceleration Steps/ms/sec 1 to 5000
8 1032 Motor Current 0.1 amps 0 to 54. Ignored if bit 1 of
Command Word 1 is not set.
9 1033 Acceleration Jerk 0 to 5000
Table R6.3 Relative Move Command Block
Hold Move
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#0004
1 1025 Command Word 1 See pg. 73
2 1026 Unused See Note Below
3 1027 Unused See Note Below
4 1028 Unused See Note Below
5 1029 Unused See Note Below
6 1030 Unused See Note Below
7 1031 Unused See Note Below
8 1032 Unused See Note Below
9 1033 Unused See Note Below
Table R6.4 Hold Move Command Block
Unused words are ignored by the SMD34E2 and can be any value, including parameter values from the previ-
ous command.
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#0008
1 1025 Command Word 1 See pg. 73
2 1026 Unused See Note Below
3 1027 Unused See Note Below
4 1028 Programmed Speed: Upper Word Combined value between
Steps/Second the Configured Starting
5 1029 Programmed Speed: Lower Word Speed and 2,999,999
6 1030 Acceleration Steps/ms/sec 1 to 5000
7 1031 Deceleration Steps/ms/sec 1 to 5000
8 1032 Motor Current 0.1 amps 0 to 54. Ignored if bit 1 of
Command Word 1 is not set.
9 1033 Acceleration Jerk 0 to 5000
Table R6.5 Resume Move Command Block
Unused words are ignored by the SMD34E2 and can be any value, including parameter values from the previ-
ous command. This is typically the case when resuming a move, the words are listed as “Unused” to high-
light that the target position of a held move cannot be changed when the move is resumed.
Immediate Stop
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#0010
1 1025 Command Word 1 See pg. 73
2 1026 Unused See Note Below
3 1027 Unused See Note Below
4 1028 Unused See Note Below
5 1029 Unused See Note Below
6 1030 Unused See Note Below
7 1031 Unused See Note Below
8 1032 Unused See Note Below
9 1033 Unused See Note Below
Table R6.6 Immediate Stop Command Block
Unused words are ignored by the SMD34E2 and can be any value, including parameter values from the previ-
ous command.
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#0020
1 1025 Command Word 1 See pg. 73
2 1026 Unused See Note Below
3 1027 Unused See Note Below
4 1028 Programmed Speed: Upper Word Combined value between
Steps/Second the Configured Starting
5 1029 Programmed Speed: Lower Word Speed and 2,999,999
6 1030 Acceleration Steps/ms/sec 1 to 5000
7 1031 Deceleration Steps/ms/sec 1 to 5000
8 1032 Motor Current 0.1 amps 0 to 54. Ignored if bit 1 of
Command Word 1 is not set.
9 1033 Acceleration Jerk 0 to 5000
Table R6.7 Find Home CW Command Block
Unused words are ignored by the SMD34E2 and can be any value, including parameter values from the previ-
ous command.
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#0040
1 1025 Command Word 1 See pg. 73
2 1026 Unused See Note Below
3 1027 Unused See Note Below
4 1028 Programmed Speed: Upper Word Combined value between
Steps/Second the Configured Starting
5 1029 Programmed Speed: Lower Word Speed and 2,999,999
6 1030 Acceleration Steps/ms/sec 1 to 5000
7 1031 Deceleration Steps/ms/sec 1 to 5000
8 1032 Motor Current 0.1 amps 0 to 54. Ignored if bit 1 of
Command Word 1 is not set.
9 1033 Acceleration Jerk 0 to 5000
Table R6.8 Find Home CCW Command Block
Unused words are ignored by the SMD34E2 and can be any value, including parameter values from the previ-
ous command.
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#0080
1 1025 Command Word 1 See pg. 73
Bits 7 & 6 must equal “00”
2 1026 Unused See Note Below
3 1027 Unused See Note Below
4 1028 Programmed Speed: Upper Word Combined value between
Steps/Second the Configured Starting
5 1029 Programmed Speed: Lower Word Speed and 2,999,999
6 1030 Acceleration Steps/ms/sec 1 to 5000
7 1031 Deceleration Steps/ms/sec 1 to 5000
8 1032 Motor Current 0.1 amps 0 to 54. Ignored if bit 1 of
Command Word 1 is not set.
9 1033 Acceleration Jerk 0 to 5000
Table R6.9 Jog Move CW Command Block
Unused words are ignored by the SMD34E2 and can be any value, including parameter values from the previ-
ous command.
Registration Move CW
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#0080
1 1025 Command Word 1 See pg. 73
Bits 7 & 6 must equal “10”
2 1026 Stopping Distance: Upper Word Combined value between
Steps 0 and +8,388,607
3 1027 Stopping Distance: Lower Word
4 1028 Programmed Speed: Upper Word Steps per Combined value between
Second the Configured Starting
5 1029 Programmed Speed: Lower Word Speed and 2,999,999
6 1030 Acceleration Steps/ms/sec 1 to 5000
7 1031 Deceleration Steps/ms/sec 1 to 5000
8 1032 Min. Reg. Move Distance:
Upper Word Combined value between
Steps 0 and +8,388,607
9 1033 Min. Reg. Move Distance:
Lower Word
Table R6.10 Registration Move CW Command Block
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#0100
1 1025 Command Word 1 See pg. 73
Bits 7 & 6 must equal “00”
2 1026 Unused See Note Below
3 1027 Unused See Note Below
4 1028 Programmed Speed: Upper Word Combined value between
Steps/Second the Configured Starting
5 1029 Programmed Speed: Lower Word Speed and 2,999,999
6 1030 Acceleration Steps/ms/sec 1 to 5000
7 1031 Deceleration Steps/ms/sec 1 to 5000
8 1032 Motor Current 0.1 amps 0 to 54. Ignored if bit 1 of
Command Word 1 is not set.
9 1033 Acceleration Jerk 0 to 5000
Table R6.12 Jog CCW Command Block
Unused words are ignored by the SMD34E2 and can be any value, including parameter values from the previ-
ous command.
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#0100
1 1025 Command Word 1 See pg. 73
Bits 7 & 6 must equal “10”
2 1026 Stopping Distance: Upper Word Combined value between
Steps 0 and +8,388,607
3 1027 Stopping Distance: Lower Word
4 1028 Programmed Speed: Upper Word Steps per Combined value between
Second the Configured Starting
5 1029 Programmed Speed: Lower Word Speed and 2,999,999
6 1030 Acceleration Steps/ms/sec 1 to 5000
7 1031 Deceleration Steps/ms/sec 1 to 5000
8 1032 Min. Reg. Move Distance:
Upper Word Combined value between
Steps 0 and +8,388,607
9 1033 Min. Reg. Move Distance:
Lower Word
Table R6.13 Registration Move CCW Command Block
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#0200
1 1025 Command Word 1 See pg. 73
2 1026 Position Preset Value: Upper
Word Combined value between
Steps –8,388,608 and +8,388,607
3 1027 Position Preset Value: Lower
Word
4 1028 Unused See Note Below
5 1029 Unused See Note Below
6 1030 Unused See Note Below
7 1031 Unused See Note Below
8 1032 Unused See Note Below
9 1033 Unused See Note Below
Table R6.14 Preset Position Command Block
Unused words are ignored by the SMD34E2 and can be any value, including parameter values from the previ-
ous command.
Presetting the position resets the Position_Invalid and Move_Complete status bits in the Network Input Data.
Reset Errors
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#0400
See pg. 73
1 1025 Command Word 1 Set bit 10 to clear
motor faults
2 1026 Unused See Note Below
3 1027 Unused See Note Below
4 1028 Unused See Note Below
5 1029 Unused See Note Below
6 1030 Unused See Note Below
7 1031 Unused See Note Below
8 1032 Unused See Note Below
9 1033 Unused See Note Below
Table R6.15 Reset Errors Command Block
Unused words are ignored by the SMD34E2 and can be any value, including parameter values from the previ-
ous command.
Resetting errors will also reset the Move_Complete status bit in the Network Input Data. Resetting errors will
not reset the Position_Invalid or Configuration_Error bits.
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#2000
See pg. 73
Blend Move: Bit 9 = “0”
1 1025 Command Word 1 Dwell Move: Bit 9 = “1”
Reverse_Blend_Direction
is set by Bit 4.
2 1026 Unused See Note Below
3 1027 Unused See Note Below
4 1028 Unused See Note Below
5 1029 Unused See Note Below
6 1030 Unused See Note Below
7 1031 Unused See Note Below
8 1032 Unused See Note Below
9 1033 Unused with Blend Move milliseconds 0 to 65,535
Dwell Time with Dwell Move
Table R6.16 Run Assembled Move Command Block
Unused words are ignored by the SMD34E2 and can be any value, including parameter values from the previ-
ous command.
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#4000
1 1025 Command Word 1 See pg. 73
2 1026 Encoder Preset Value:
Upper Word Combined value between
Steps –8,388,608 and +8,388,607
3 1027 Encoder Preset Value:
Lower Word
4 1028 Unused See Note Below
5 1029 Unused See Note Below
6 1030 Unused See Note Below
7 1031 Unused See Note Below
8 1032 Unused See Note Below
9 1033 Unused See Note Below
Table R6.17 Preset Encoder Position Command Block
Unused words are ignored by the SMD34E2 and can be any value, including parameter values from the previ-
ous command.
Programming Blocks
The following blocks are used to program an Assembled Move. Both of the move types, Blend Move, and
Dwell Move, are programmed exactly the same way. The bit configuration used when starting the move
determines which type of Assembled Move is run.
First Block
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#0800
1 1025 Command Word 1 See pg. 73
2 1026 Unused See Note Below
3 1027 Unused See Note Below
4 1028 Unused See Note Below
5 1029 Unused See Note Below
6 1030 Unused See Note Below
7 1031 Unused See Note Below
8 1032 Unused See Note Below
9 1033 Unused See Note Below
Table R6.18 Assembled Move First Programming Block
Unused words are ignored by the SMD34E2 and can be any value, including parameter values from the previ-
ous command.
Once the first block is transmitted, theSMD34E2 responds by setting bits 8 and 9 in Status Word 0. (See Status
Word 0 Format starting on page 84.) Once these are set, you can then start transmitting Segment Blocks.
Segment Block
EtherNet/IP Modbus/TCP
Function Units Range
Word Register
0 1024 Command Word 0 16#1800
1 1025 Command Word 1 See pg. 73
2 1026 Rel. Target Position: Upper Word Combined value between
Steps –8,388,608 and +8,388,607
3 1027 Rel. Target Position: Lower Word
4 1028 Programmed Speed: Upper Word Combined value between
Steps/Second the Configured Starting
5 1029 Programmed Speed: Lower Word Speed and 2,999,999
6 1030 Acceleration Steps/ms/sec 1 to 5000
7 1031 Deceleration Steps/ms/sec 1 to 5000
8 1032 Reserved Must equal zero for compat-
ibility with future releases.
9 1033 Acceleration Jerk 0 to 5000
Table R6.19 Assembled Move Segment Programming Block
Note that each Segment Block starts with bits 11 and 12 in Command Word 0 set to “1” (16#1800). When the
SMD34E2 sees bit 12 of Command Word 0 set, it will accept the block and reset bit 9 in Status Word 0. When
your program sees this bit reset, it must respond by resetting bit 12 of Command Word 0. The SMD34E2 will
respond to this by setting bit 9 in Status Word 0 and the next Segment Block can be written to the Networked
Driver. You can write a maximum of sixteen Segment Blocks for each Assembled Move.
EtherNet/IP Modbus/TCP
Command Mode Input Data
Word Register
0 0 Status Word 0
1 1 Status Word 1
2 2 Motor Position: Upper Word
3 3 Motor Position: Lower Word
4 4 Encoder Position: Upper Word
5 5 Encoder Position: Lower Word
6 6 Trapped Encoder Position: Upper Word
7 7 Trapped Encoder Position: Lower Word
8 8 Programmed Motor Current (X10)
9 9 Value of Acceleration Jerk Parameter
Table R6.20 Network Input Data Format: Command Mode
Status Word 0
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
In_Assy_Mode
Command_Err
Wait_AssySeg
In_Hold_State
Moving_CCW
Decelerating
Accelerating
Moving_CW
Module_OK
Move_Cmp
Mode_Flag
Config_Err
At_Home
Input_Err
Stopped
Connect_Lost
Heartbeat_Bit
Abs_Enc_Err
Driver_Fault
Temp_90°C
PLC_In_PRG
IN3_Active
IN2_Active
IN1_Active
Cmd_Ack
0 0
Notes
1.4 Mounting
All AMCI motors have flanges on the front of the motor for mounting. This flange also acts as a heatsink, so
motors should be mounted on a large, unpainted metal surface. Mounting a motor in this fashion will allow a
significant amount of heat to be dissipated away from the motor, which will increase the unit’s life by reduc-
ing its operating temperature. If you cannot mount the motor on a large metal surface, you may need to install
a fan to force cooling air over the SMD34E2.
Motors should be mounted using the heaviest hardware possible. AMCI motors can produce high torques and
accelerations that may weaken and shear inadequate mounting hardware.
1) The motor case must be grounded for proper operation. This is usually accomplished
through its mounting hardware. If you suspect a problem with your installation, such as
mounting the motor to a painted surface, then run a bonding wire from the motor to a solid
earth ground point near it. A Use a minimum #8 gauge stranded wire or 1/2” wire braid as
the grounding wire
2) Do not disassemble any stepper motor. A significant reduction in motor performance will
result.
2.00"
(50.8)
max
3.37" ±0.02"
2.74" ±0.01"
S
(69.6 ±0.25)
(85.5 ±0.5)
S
A
1.00" (25)
Effective Length
POWER PORT 2
24 to 80 Vdc
NETWORK STATUS
Pin 1: +Tx Pin 4: –Rx
DIGITAL INPUTS
ETHERNET
5 to 24 Vdc PORT 1 Ports 1 & 2
Internal encoders are mounted on the end of the motor shaft that is internal to the unit. Exces-
sive axial load may cause encoder mis-alignment and damage to the unit. This type of damage
is not covered under warranty.
AMCI # Description
Mating connector for Power Connector. Female, 4 pin, S-coded.
MS-41 Screw terminal connections. 16AWG conductor, 8 to 10 mm dia. cable.
Right-angle, IP67 rated when properly installed.
4-position, 1.5 mm2 (16 AWG) wire.
CNGL-5M Connector: Straight M12, S-coded, Female to flying leads, 0.28” stripped.
Cable length: 5 m
Table T1.1 Compatible Power Connectors and Cordsets
† Optional connection when using MS-41 mating connector. Suggested connection when
using CNGL-5M cordset.
Figure T1.3 M12 Power Wiring
When using the DCPowerAUX pin, the SMD34E2 will report a Driver_Fault when power is
removed from the DCPowerMAIN pin.
AMCI # Description
Mating connector for Digital Input Connector.
MS-31 Female, 5 pin A-coded. Screw terminal connections. 6 to 8 mm dia. cable.
Straight, IP67 rated when properly installed.
5-position, 18 AWG.
CNPL-2M Connector: Straight M12, A-coded, Female to 2 inch flying leads, 0.28” stripped.
Cable length: 2 m
Table T1.2 Compatible Digital Input Connectors and Cordsets
1.9.1
1.9.2.1
RPULLUP
+
NPN (WHT or BLK)
Input1 or Input2 + 5 to
Out
Sinking
Sensor –
(BLU) DC Common 24 Vdc
1.9.1
1.8.3 Input 3
Input 3 is a differential input that can be wired to sinking or sourcing sen-
sors without requiring a pull up or pull down resistor. It accepts 3.5 to 27 Input
Input 3+ Optocoupler
Vdc without the need for an external current limiting resistor. If using a 48
Vdc sensor, a 5 kilohm resistor that is wired in series with the input pin is
required. Figure T1.8 below shows how to wire a discrete DC sourcing and
sinking sensor to input 3 of the SMD34E2. Colors in parentheses are the Input 3-
appropriate wire color of the CNPL-5M cable.
Figure T1.7 Schematic - Inputs 1 & 2
+
PNP (BRN)
IN3+ + 5 to
Out
Sourcing
Sensor – (GRY) IN3- 24 Vdc
1.9.1
(BRN)
+
NPN IN3+ + 5 to
Out
Sinking
Sensor – (GRY) IN3- 24 Vdc
1.9.1
ETHERNET
Ports 1 & 2
Figure T1.9 M12 Ethernet Connector Pinout
The connector is a standard female four pin D-coded M12 connector that is rated to IP67 when the mate is
properly attached.
The SMD34E2 units have two ethernet ports. In non-DLR applications, either port can be used to attach the
SMD34E2 unit to the network.
AMCI # Description
Mating connector for Ethernet port connector.
MS-28 Screw terminal connections. 6 to 8 mm dia. cable.
Straight, IP67 rated when properly installed.
Molded cordset for Ethernet connector. 5 meters in length.
CNER-5M Straight M12 4 pin D-coded to RJ-45 connector. Wired to TIA/EIA-
568B.
IP67 rated when properly installed.
Table T1.4 Compatible Ethernet Connectors and Cordsets
Notes
This section is intended for the engineer or technician responsible for setting the
IP address of an AMCI SMD34E2.
Task Complete
2.2b.1 Disconnect the SMD34E2 from the host controller and cycle power to the unit
This ensures that the unit does not have any open connections to the host controller.
CHANGES TO
Task Complete
2.2c.3 Verify that Your Host Controller is Disconnected from the SMD34E2
EtherNet/IP is not a multi-master protocol. There can be only one bus master on the network at a time. In
order to program the SMD34E2, the AMCI Net Configurator utility must act as a bus master. Therefore,
physically disconnect your host controller from the SMD34E2 before starting the Net Configurator utility.
Task Complete
Many EtherNet/IP platforms support the use of EDS files to simplify the addition
and configuration of devices. This chapter covers the installation and use of the
EDS file for systems that are programmed with Rockwell Automation Studio 5000
version 20 and above. Other systems will follow a similar pattern. Consult your
controller’s documentation if you need additional information.
Note: Use of an EDS file is completely optional. The SMD34E2 can always be
added to a system as a generic module. If you are using RSLogix 5000 version 19
and below, or RSLogix 500, adding the unit as a generic module is the only option
available.
Using the EDS file simplifies configuration and adds named tags for all input and
output data.
All controllers that support EtherNet/IP support explicit messaging. When using
explicit messaging, Message Instructions must be added to your program to com-
municate with the SMD34E2. Explicit messaging can be use on platforms that
also support implicit messaging.
Rockwell Automation controllers which are programmed with the RSLogix 500
software only support explicit messaging. A MicroLogix 1100 will be used as an
example in this chapter.
5.4 Troubleshooting
If you are unable to communicate with the SMD34E2, the problem may be that the Ethernet port of your
MicroLogix 1100 has not been configured. To check this:
1) Double click on Channel Configuration in the Project Tree and then select the Channel 1 tab. The
following window will open.
Notes
An AMCI SMD34E2 that has been configured for the Modbus TCP protocol
requires a host controller to issue configuration data and motion commands to
the unit. This chapter tell you how the I/O words used by an AMCI SMD34E2 are
mapped to the Modbus I/O registers.
† MODBUS Application Protocol Specification V1.1b3, section 4.3: MODBUS Data model. www.modbus.org
15 Register 0 0
Mapped as:
Network Input
Discrete Inputs
Data
Holding Registers
Input Registers
159 Register 9 144
Not Implemented
Notes
This chapter outlines the steps commonly needed to get an SMD34E2 communi-
cating with the PROFINET master. A Siemens SIMATIC S7-1212C controller is
used as an example.
Basic Steps
Configuring a PROFINET host requires a few basic steps.
1) Download the ZIP archive that contains the GSDML files for the SMD34E2 from the
www.amci.com website.
2) Install the GSDML file into the configuration software for your host controller.
3) Add the SMD34E2 to the PROFINET Network.
4) Set the I/O word addresses used to communicate with the unit.
MRP Installations
At this point, the SMD34E2 is configured and ready to use. If you are using the unit in a redundant, ring
based, network that uses the Media Redundancy Protocol (MRP), continue with the following instructions.
Notes