The MDrivePlus Motion Control products represent significant improvements over the legacy MDrives. Based on new patented technology, they feature a richer software command set, improved current control, and enhanced thermal dissipation.

Along with these improvements, there may be situations where the MDrivePlus are not “drop-in replacements” for existing legacy MDrives. Some customers may have software that will not run on MDrivePlus units without syntax modifications. There may be timing differences in some command executions that could affect system response. Additionally, it is recommended that customers with close tolerance or clearance situations study the mechanical drawings for the MDrivePlus units.

The following summarizes differences and steps required to successfully transition an application that uses a legacy MDrive to an MDrivePlus.

 

Software / Programming Issues

HT Command (Hold Current Delay Time)
The HT command functions differently when transitioning from legacy to plus MDrive units. In legacy units HT=0 will set the delay time to 0, with the unit shifting immediately to holding current percent from run current.

HT=0 in plus units will cause the units to never transition to hold current and the unit will be at the run current percent at all times. HT =1 is the smallest delay time allowable on plus units.

Legacy progams with HT=0 should be modified to HT=1 for the same performance and to avoid issues with motor over-heating.

Commands and Variables:
New commands in the MDrivePlus products were developed to add more programming options for OEMs. Existing legacy MDrive applications that use these new commands for user-defined labels or variables will not run properly on the MDrivePlus products. Legacy MDrive programs that use labels or variables that coincide with new commands need to have those labels or variables renamed.

Here is an alphabetical listing of MDrivePlus commands that should be not be used as a label or variable:

A D1-D4 HC L PC SL
AL D9-D12 HI LB PG SM
AS DB HM LK PM SN
AT DC HT LM PN ST
BD DE I1 – I4 LR PR SU
BP DG I5 MA PS TC
BR DN I6 MD PW TE
BY E I7 – I8 MP PY TI
C1 EE I9 – I12 MR QD TP
C2 EF I13 MS R1 – R4 TR
CC EL IC MT RC TT
CE EM IF MV RS UG
CK ER IP O1 – O4 RT UV
CL ES IL O9 – O12 S V
CM EX IH OE S1 – S4 VA
CP FC IN OL S5 VC
CR FD IT OH S7 – S8 VI
CW FM IV OT S9 – S12 VM
D H JE P S13 VR
SF WT


New Command to MDrivePlus
Reserved Word, not accessible


Command syntax changes
:
Command syntax changes may be an issue prior to firmware version 3.004. Units shipped after December 1, 2006 have version 3.004. MDrivePlus products with earlier firmware require a space between the command and value with motion commands, while variable assignments needed an equal sign.

Examples:
Pre ver. 3.004:

Ver. 3.004 and later:

Some MDrivePlus commands vary in execution time from legacy MDrive. Approximate timing for MDrivePlus command execution:

PG addr 282 mSec
PR Mv 1.4 mSec
PR er 1.5 mSec
S 600 mSec

The following times for MDrivePlus are from command entry until the motor begins to move:

MR dist 3.5 mSec
MA pos 3.5 mSec
SL vel 0.7 mSec
HI type 0.7 mSec
HM type 0.7 mSec

 

Electrical Issues

Auxiliary power source through the communication cable MD-CC400-000 is discontinued via IMS Product Advisory dated November 17, 2006. It is recommended that users with existing cable assemblies cover the jack access hole to prevent use. Do not use Communication Ground on Communications Port (P2) for the Auxiliary Power Supply.

The open state of a sinking I/O point for MDrivePlus is now 2.3vdc where legacy MDrive was 5vdc. For example: With S1=0,0,0, the open circuit voltage on I/O 1 will read 2.3vdc.

RS-485 Connector Changes (P2):

10 Pin IDC (RD option)

Signal Legacy MDrive MDrive Plus
TX+ 9 9,1
TX– 8 8,2
RX+ 6 6,3
RX– 7 7,4
Gnd 10 10 – Comm Gnd –
100 Ohms to Motor Gnd
(1–5 no connection) 5 – Aux Power In

 

Mechanical Issues

MDrivePlus products have some dimensional differences from legacy MDrive in regard to housing geometry and overall depth. If the end user’s fit and clearance is in question, careful review of the published mechanical drawings will be required.

 

 

When upgrading a system component from MDrive to Lexium MDrive the key difference in programming is in how the I/O points are configured and used.. In the MDrive the non-isolated I/O points may be programmed as inputs or outputs.

In the Lexium MDrive, the I/O points are fixed as inputs and outputs. In MDrive programs, the sink/source state of the I/O point is set in the user program. In the Lexium MDrive the sink/source state is set by the bias of the Reference input.

The other key difference is the Analog Input. In the MDrive, the input is 10-bit, with a range of 0 to 1024. The Lexium MDrive has a 12-bit analog input with a range of 0 to 4096. Programs not using I/O can generally be loaded onto the device and work without modification. The sample program we will convert uses an input to trigger a routine that will slew the axis a multiple of the analog input and one output set up as a moving output. The program is labeled as SU, so that it will execute on power up or reset.

Program Code (MDrive MCode)

Below is the MDrive MCode program. The bold highlighted lines of code will need to be changed in order to port the program over to a Lexium Motion product.

The first point we will change is I/O #1

Modify the Input

MDrivePlus Lexium MDrive
S1=0,1 Is=1,0

The S1—S4 command has been changed to Is for input setup and Os for output setup In the example, I/O #1 is set as a general purpose input with a sinking interface. To modify the command to function with the Lexium MDrive, The Is (Input setup) command is used by entering Is=[input number],[input function]. Is=1,0 then sets input 1 as a gen- eral purpose input. The available input functions are listed below:

Input Function Table
0 General purpose input
1 Homing function, will function as specified by the homing command (HM).
2 Limit +, will function as specified by the limit command (LM).
3 Limit —, will function as specified by the limit command (LM).
4 G0 input, will run program at address 1 upon activation.
5 Soft stop, stops motion with deceleration and halts program execution. If program is paused (PS), input is ignored.
6 Pause, pause/resume program with motion
7 Jog +, Will Jog motor in the positive direction at Max. Velocity (VM). The Jog Enable (JE) Flag must be set for this to function.
8 Jog —, Will Jog motor in the negative direction at max. velocity (VM). The jog enable (JE) flag must be set for this to function.
11 Reset, When set as RESET input, then the action is equivalent to a ^C entered into a terminal. Note: If setting the input to sourcing, active true, ground the input first or a reset will occur.
12 Capture input will operate with the Trip Capture (TC) trip to run a subroutine when active NOTE: THIS FUNCTION APPLIES TO INPUT 1 ONLY!

Modify the Output

In this program, an output is setup to be active during a move. To change this to function with a Lexium MDrive we will use the Os (output setup) command.

MDrivePlus Lexium MDrive
S2=17,1 Os=1,17

As with the input, the Os command replaces the S2 command in the form of Os=[outut number],[function], in this case Os=1,17 The available output functions are listed on the next page.

Output Function Table
16 USER: General purpose user output.
17 MOVING: output will be active while the axis is in motion.
18 ERROR: will be active when a software error occurs.
19 STALL: Indicates a stall has been detected [Closed loop models only].
20 VCHANGE: velocity changing indicates the axis is accelerating or decelerating.
21 LOCKED ROTOR: indicates the rotor is in a locked state [Closed loop models only].
23 MOVINGPOS: indicates the axis is moving to a specified position.
24 HMT ACTIVE: indicates when HMT is active [Closed loop models only].
25 MAKE UP ACTIVE: indicates when HMT is making up steps [Closed loop models only].
28 TRIP OUT, applies to output 3 only, active low only. Os=3,28,0
29 ATTENTION: indicates a status or statuses as configured by the AO variable.

Modify the Analog Input

To setup the Analog input we will return to the Is (input setup) command.

MDrivePlus Lexium MDrive
S5=9,0 Is=5,9,0

To set the analog input to voltage mode, 0 to +5VDC level the Is command is used as IS=5, [mode],[level] or Is=5,9,0 The parameters for the IS=5 command are listed below.

Analog input mode table
9 Voltage mode
10 Current mode
Analog level table
0 0 to +5V (voltage mode), 0 to 20 mA (current mode)
1 0 to 10V (voltage mode), 4 to 20 mA (current mode)

Modify the Analog Input scaling

The analog input on the Lexium MDrive is 12-bit instead of ten, to set the program to have the same scale factor we need to divide the scale by 4

MDrivePlus Lexium MDrive
SL=I5*100 SL=I5*25

This will give us the same slew rate as with the MDrivePlus.

 

Hardware differences

These two systems have very different hardware features and functions. For example, the MicroLYNX has expansion slots, and the MForce does not. These slots allow up to a total of 24 isolated digital IO. In the MForce Plus^2 version, there are eight digital 5-24 VDC IO which are non-isolated.

Hardware features not available in MForce

  • Analog Output
  • RS-232 and Host Mode
  • Differential Clock IO
  • Hardware Party Mode Addresses
  • Expansion IO Cards
  • Isolated Communications
  • Isolated Digital I/O

Software and programming differences

The two systems have very different software features and functions. MCode used in the MForce could be considered a sub-set of the MicroLYNX programming language. Reserved words, Label and Variable Names are typically two characters in the MCode programming language while much longer ones are possible in the MicroLYNX programming language. The MForce calculates a motion profile and begins a move in about 4 to 6 milliseconds while the MicroLYNX takes around 150 milliseconds to begin a move. (The exception being stored relative moves.)

Hardware features not available in MForce

  • Floating Point Math
  • Trig Functions and Square Root
  • User Units
  • S Profile Motion
  • Settable Accel/Decel Current
  • Backlash Compensation Mode
  • Background Program Execution

To summarize, application requirements should be closely examined when considering this course of action. Please feel free to contact Technical Support with any questions you may have regarding any particular application.

Specification comparison

Note: This comparison reflects the base MicroLYNX product without the addition of expansion modules

Spec MicroLYNX MForce
Input Voltage [VDC] MicroLYNX-4 12 … 48 MicroDrive 12 … 48
MicroLYNX-7 12 … 75 PowerDrive 12 … 75
Current [A RMS/PEAK] MicroLYNX-4 2.8/4.0 MicroDrive 3.0/4.2
MicroLYNX-7 5.0/7.0 PowerDrive 5.0/7.0
I/O points 6 (Isolated) 4 or 8 Non/Isolated
Input Voltage [+VDC] 5 … 24 5 … 24
Input interface Sinking Sink or Source
Analog input Expansion module required 1 (10-bit)
Communication RS-232 and RS-422/485 RS-422/485
Connectivity Locking wire crimp/IDC 12-position locking wire crimp (power and IO) 4-position locking wire crimp*
Run/hold current Software commands Software commands
Microstep resolution Half step to 256 µsteps/step Full step to 256 µsteps/step

Programming

Converting a MicroLYNX program to MCode

The MicroLYNX programming language has numerous features and levels of functionality which are unavailable in the MCode 2-character mnemonic structure of MCode. However, there are workarounds which allow for most MicroLYNX programs to be converted into MCode programs for the MFoce products and operate accordingly. For purposes of this application note we will convert, step-by-step, this example MicroLYNX program to an MCode program that will mirror the operation: MicroLYNX – Feed and cut

Step 1: Convert setup parameters

This program uses the MicroLYNX user unit scaling factor, which is not available in MCode. However, a user variable may be used to emulate this feature. Be advised that the MForce does not have the capability of performing floating point math, and will always round down the results of math functions to an integer. Other issues impacting the parameters is the Variable naming conventions. Where MicroLYNX allows for descriptive user variable and label names, MCode labels and variables are character limited, and naming conventions that avoid conflict with MCode mnemonic commands should be used.

MicroLYNX MCode Comment
System Variables – user variable Uu to emulate MUNIT
MUNIT = 51200 Uu = 51200 One inch per rev @ 1/256 ustep
VI = 0.5 VI = Uu/2 Base speed 1/2 inch/sec
VM = 10 VM = Uu*10 Slew speed 2 inch/sec
ACCL = 20 A = Uu*20 Accl = decl = 20 in/sec^2
DECL = 20 D = A
Set up I/O
IOS 21 = 0,0,0 S1=0,0,0 Material Sensor: general purpose input, active low
IOS 23 = 9,0,0 S2=4,0,0 Input point is a Sart input
IOS 24 = 10,0,0 S3=5,0,0 Input point is a Stop input
IOS 31 = 0,1,0 S4=16,1,0 Cutter output: GP, output, low true
User variables
VAR Feedlth Va Q1 Variable for feed length entry
VAR TargetCt = 0 Va Q 2= 0 Variable for target count entry
VAR Count = 0 Va Q3 = 0 Variable for actual completed count
VAR Matsens = 21 Not used – in MCode and I/O point cannot be a named user variable
VAR Cutter = 31

Step 2: Convert program As with the user setup variables, the program label names in MicroLYNX are descriptive where in MCode they have to follow the same rules as variables.

MicroLYNX MCode Comment
PGM 1 PG 1 Enter program mode at line 1
LBL FEEDCUT1 LB Z1 Enter the feed length variable in inches In MCode, an IV command must have a loop routine to follow it until the IF flag, input variable pending flag is cleared.
PRINT “Enter Feed Length “; PR “Enter Feed Length “;
INPUT Feedlth IV Q1 LB X1 BR X1, If
LBL Enterct LB Z2 Enter the total count of parts desired. Loop to beginning while the target count variable is less than or equal to 0
PRINT “Enter Total Parts Count “; PR “Enter Total Parts Count “;
INPUT Targetct IV Q2 LB X2 BR X2, If
BR Enterct, Targetct <= 0 BR Z2, Q2 <= 0
LBL Mainloop LB Z3
BR Webdone, ! IO Matsens BR Z1, I1 = 0 IO detects system out of material
MOVR Feedlth MR Q1 * Uu Feed the material
HOLD 2 H
IO Cutter = 1 O4=1 Turn on the Cutter output for 100 msec
DELAY 100 H 100
IO Cutter = 0 O4 = 0 Turn off the Cutter output
INC Count IC Q3 Increment partsd count
PRINT “Parts Made “, Count PR “Parts Made “, Q3 Pring parts count
PRINT PR
BR Mainloop, Count < TargetCt BR Z4, I1 = 1 BR Z3, Q3 < Q2 Check to see if material is present before continueing
PRINT “Batch Complete” PR “Batch Complete”
PRINT Count, ” Parts Made” PR Q3, ” Parts Made”
BR Alldone BR Z5
LBL Webdone LB Z4 Error routine for batch interrupted by material running out.
PRINT “BATCH INTERRUPTED” PR “BATCH INTERRUPTED.”
PRINT Count, ” Parts Made” PRINT Q3, ” Parts Made”
PRINT “Out of Material” PR “Out of Material”
LBL Alldone LB Z5
END E
PGM PG

The boot loader version is located in the product identification block at the right of the home screen of the CANopen Configuration utility. SEM recommends using the latest firmware and boot versions.

Lexium MDrive CANopen Configuration Utility
Figure 1: Lexium MDrive CANopen Configuration Utility

Requirements:

  • Lexium MDrive Software Suite with the CANopen Configuration Utility installed.
  • The latest firmware and bootloader files for the Lexium MDrive CANopen products, accessible in the sidebar.
  • Extract the contents of the zip file to a location on your hard drive/

Notes and warnings

  • Once begun, the process must not be interrupted. The bootloader upgrade *Approx 10 seconds)MUST be immediately followed by the Firmware upgrade (Approx 22 seconds). Interrupting either process may result in a non-functional unit.

Upgrade the Boot loader and Firmware

  1. From the home screen of the CANopen Configuration Utility, click the “Upgrade Unit” button.
  2. Click the browse to file button of the upgrade utility window.
    CANopen Firmware Upgrade
    Figure 2: Browse to boot loader file
  3. Select the BootUpgraderApp *.SEM file.
    CANopen Firmware Upgrade
    Figure 3: Select boot loader upgrade file
  4. Click open.
  5. Click “Start Upgrade”
  6. The boot upgrade process takes approximately 10 seconds to complete. At this time DO NOT close the Upgrade Utility screen.
  7. Click the browse to file button of the Upgrade Utility screen, selecting the firmware application upgrade file.
    CANopen Firmware Upgrade
    Figure 4: Select CANopen application upgrade file
  8. Click open.
  9. Click “Start Upgrade”
  10. The firmware application upgrade process takes approximately 23 seconds to complete.
    CANopen Firmware Upgrade
    Figure 5: CANopen upgrade process
  11. When complete, you may close the upgrade utility window and commission the Lexium MDrive CANopen as normal.

Transitioning from IM483/IM805 to MForce Step/direction

When converting an application from IM483/IM805 drives to MForce Step and Direction drives, there are many considerations. These two systems have very similar stepper drive capabilities. The MForce’s current capability is listed in RMS Amps while the IM483/IM805 drives output currents were listed in Peak Amps. As a result, the MForce MicroDrive’s three amps RMS is very close to the IM483 4 amps PEAK and the MForce PowerDrive’s five amps RMS is very close the IM805’s seven amps PEAK. Another thing to keep in mind is that while the IM483/IM805 drives had short circuit protection on their phase outputs, the MForce drives do not. Both drive systems have a default of 256 microsteps per full step. The MForce MicroDrive’s heat sink should be mounted so that it conducts heat to the panel using the heat sink pad supplied with the drive. Mounting for the IM483/IM805 drives naturally connected the aluminum extrusion to the panel and a thermal pad was also sold as an option. These two systems have very different setup features and functions. For example, the IM483/IM805 drives use a resistor scheme to set both the run current and the hold current while the MForce Step and Direction drives use an SPI communications interface with a Windows GUI to make changes to these values that are stored in flash memory on the drive. The IM483/IM805 drives use a dip switch to set microstep resolution while that is also done using the Windows GUI on the MForce Step and Direction drives. Here is a listing of settable parameters for the MForce Step and Direction drives:

Parameter
Default
Range
Notes
MHC
5%
0 to 100%
Motor Hold Current (Reduction current)
MRC
25%
1 to 100%
Motor Run Current
MSEL
256
Full step to 256 µsteps/step
Microstep Resolution
ENACT
High
High/Low
Enable active state
HCDT
500 ms
0 to 65000
Hold Current Delay Time in milliseconds
DIR
CW
CCW/CW
Direction override CCW or CW
CLK TYPE
Step/Dir
0,1,2
0=step/dir, 1=clk up/CLK dn, 2=quadrature
CLK IOF
200ns (250MHz)
50 ns to 12.9 µs
(10 MHz to 38.8 kHz) Input clock filter
USER ID
IMS
Viewable ASCII
User identification code

To summarize, application requirements should be closely examined when considering this course of action. Please feel free to contact Technical Support with any questions you may have regarding any particular application.

Specifications Comparison

IM483 to MicroDrive

IM483 vs MForce MicroDrive
Figure 1: IM483 vs. MForce MicroDrive
Spec
IM483
MForce MicroDrive
Input Voltage [VDC]
12 … 48
12 … 48
Current [A RMS/PEAK]
2.8/4.0
3.0/4.2
Isolated inputs
Step, direction, enable and reset
Step, direction enable
Input Voltage [+VDC]
5
5 … 24
Input interface
Sinking
Sink or Source
Outputs
Fault, On-Full-Step
Connectivity
2 x 8-position screw terminals
12-position locking wire crimp (power and IO) 4-position locking wire crimp*
Run/hold current
Resistor network
Software commands
Microstep Resolution
4-position DIP switch
Software command
Communication Interface
SPI

The following additional items will be needed in order to perform an in-system swap: Communications Interface SPI converter cable: MD-CC300-001 or equivalent Power and I/O Interface Connector Kit: CK-03 (12-Pin Locking Wire Crimp) Prototype Cable: PD12-1434-FL3 Mfg Parts: Tyco: 1-794617-2 (shell) Tyco: 1-794610-1 (pins) Motor Interface Connector Kit: CK-06 (4-Pin Locking Wire Crimp) Prototype Cable: PD04-MF17-FL3 Mfg Parts: Tyco: 1445022-4 (shell) Tyco: 1-794610-1 (pins)

IM483 to PowerDrive

IM805 vs MForce PowerDrive
Figure 2: IM805 vs MForce PowerDrive
Spec
IM805
MForce PowerDrive
Input Voltage [VDC]
24 … 75
12 … 75
Current [A RMS/PEAK]
5.0/7.0
5.0/7.0
Isolated inputs
Step, direction, enable and reset
Step, direction enable
Input Voltage [+VDC]
5
5 … 24
Input interface
Sinking
Sink or Source
Outputs
Fault, On-Full-Step
Connectivity
2 x 8-position screw terminals
12-position locking wire crimp (power and IO) 4-position locking wire crimp*
Run/hold current
Resistor network
Software commands
Microstep Resolution
4-position DIP switch
Software command
Communication Interface
SPI

The following additional items will be needed in order to perform an in-system swap: Communications Interface SPI converter cable: MD-CC300-001 or equivalent Power and I/O Interface Connector Kit: CK-03 (12-Pin Locking Wire Crimp) Prototype Cable: PD12-1434-FL3 Mfg Parts: Tyco: 1-794617-2 (shell) Tyco: 1-794610-1 (pins) Motor Interface Connector Kit: CK-07 (4-Pin Locking Wire Crimp) Prototype Cable: PD04-MF34-FL3 Mfg Parts: Molex: 39-01-2045(shell) Molex: 44476-3112 (pins)