Sequential Axis Control

The MicroLYNX is a versatile motion controller capable of controlling multiple axes sequentially, not to mention other modes of operation like following and ratio which we are not going to cover here. So, what does the word "sequentially" mean? What applications would we use it for? How does it work?

Let's first clarify the word "sequential". To do this I turn to the trusted but much forgotten Webster's Dictionary. The entry under "sequential" states "a number of connected events done in order". This applies to the MicroLYNX as well—first one axis will move, then the other. It is important to note that the individual axes DO NOT have to have the identical velocity profiles. This is left up to the discretion of the programmer and what the system requirements are.

A typical sequential application would be if the user wants to fill a waffle grid with a dispensing head by first going to each position on the X axis, then moving one row on the Y axis, and again going to each position on the X axis. This type of application happens all the time where the customer needs two axes of motion but does not need the complexity of a high-end, expensive Controller. Note that the MicroLYNX was not intended for circular or linear interpolation, nor are these applications recommended.

To describe how the MicroLYNX controls multiple axes sequentially, I want to first give a quick description of how the system is configured. Let's go back to the above example to describe a known system. The X axis will be driven by the on-board driver of the MicroLYNX. The Y axis will be driven by a High Speed expansion module on the MicroLYNX with Step/Direction outputs to an external driver, let's say an IM483. Remember, the controller on-board of the MicroLYNX will control the motion of both axes. The MicroLYNX has up to three different clock pairs available: clock one sending step/direction to the on-board driver, and in this application, clock two sending step/direction out the High Speed expansion module to the external driver. (The third clock is not used here.) Using the IOS command the MicroLYNX allows the programmer to easily enable or disable whichever clock pair they want. So, while the system is indexing to each position on the X axis, only clock one is enabled. When the system reaches the end of this row and needs to move the Y axis over, you simply disable the X axis and enable the Y axis. Once the dispensing head moves one row over, the Y axis is disabled and the X axis is enabled allowing the next row to be filled.

It really is quite simple to enable/disable the desired axes. The following examples demonstrate how a programmer would sequentially home multiple axes using the MicroLYNX.

EXAMPLE 1
Note: Setup assumes user is using clock pairs one and two.

'*** Setup ***

IOS 11 = 1,1,1,0,2,0 	'set direction for axis one 
IOS 12 = 2,1,1,0,2,0 	'set step for axis one 
IOS 13 = 3,1,1,0,2,0 	'set direction for axis two 
IOS 14 = 4,1,1,0,2,0 	'set step for axis two 
IOS 21 = 0,0,0,0,0,0 	'set I/O 21 for home input, axis one 
IOS 25 = 0,0,0,0,0,0 	'set I/O 25 for home input, axis two 


'*** Main program *** 

PGM 10 			'enter program at address 10 
LBL test 			'define user label 
CALL home1 		'call subroutine, home1 
CALL home2 		'call subroutine, home2 
PRINT "Homing complete" 	'print to serial port 
END 			'end of main program 


'*** Axis one Home subroutine *** 

LBL home1 		'define user label 
IOS 12 = 2 		'enable clock for axis one 
IOS 14 = 0 		'disable clock for axis two 
FIOS -8000,+3000,21 	'find home input, I/O 21 
HOLD 2 			'hold program until Home routine is complete 
RET 			'return to main program 


'*** Axis two Home subroutine *** 

LBL home2 		'define user label 
IOS 12 = 0 		'disable clock for axis one 
IOS 14 = 4 		'enable clock for axis two 
FIOS -8000,+3000,25 	'find home input 
HOLD 2 			'hold program until Home routine is complete 
RET 			'return to main program 

PGM 			'exit program mode 


EXAMPLE 2

Note: Setup assumes user is using clock pairs one and two.

'*** Setup *** 

IOS 11 = 1,1,1,0,2,0 	'set direction for axis one 
IOS 12 = 2,1,1,0,2,0 	'set step for axis one 
IOS 13 = 3,1,1,0,2,0 	'set direction for axis two 
IOS 14 = 4,1,1,0,2,0 	'set step for axis two 


'*** Main program *** 

PGM 10 			'enter program at address 10 
LBL test 			'define user label 
CALL move1 		'call subroutine, move1 
CALL move2 		'call subroutine, move2 
PRINT "Moved both axis" 	'print to serial port 
END  			'end of main program 


'*** This subroutine moves axis 1 *** 

LBL move1  	'define user label 
IOS 12 = 2  	'enable clock for axis one 
IOS 14 = 0  	'disable clock for axis two 
MOVR 50000  	'move 50000 munits 
HOLD 2  		'hold program until move is complete 
RET  		'return to main program 


'*** This subroutine moves axis 2 *** 

LBL move2 	'define user label 
IOS 12 = 0 	'disable clock for axis one 
IOS 14 = 4  	'enable clock for axis two 
MOVR 50000  	'move 50000 munits 
HOLD 2  		'hold program until move is complete 
RET  		'return to main program 
PGM  		'exit program mode 
 

IMS Logo Wide

370 N. Main St., P.O. Box 457
Marlborough, CT 06447 U.S.A.
Phone: 860 / 295-6102
Fax: 860 / 295-6107
Email: info@imshome.com

Contact

TECHNICAL SUPPORT (U.S.A.)
Phone: 860 / 295-6102
Fax: 860 / 295-6107
E-mail: etech@imshome.com

IMS ASIA PACIFIC OFFICE
30 Raffles Pl., 23-00 Caltex House
Singapore 048622
Phone: +65 / 6233 / 6846
Fax: +65 / 6233 / 5044
E-mail: wllee@imshome.com

IMS EUROPEAN SALES MGT.
4 Quai Des Etroits
69005 Lyon, France
Phone: +33 / 4 7256 5113
Fax: +33 / 4 7838 1537
E-mail: bmartinez@imshome.com

IMS UK Ltd
.
25 Barnes Wallis Road
Segensworth East
Fareham, Hampshire, UK  PO15 5TT
Phone: +44 / 0 1489-889825
Fax:: +44 / 0 1489-889857
E-mail: mcheckley@imshome.com

U.S.A. SALES OFFICES
Eastern Region 

Phone: 973 / 661-1270
Fax: 973 / 661-1275
E-mail: jroake@imshome.com

Central Region
Phone: 260 / 402-6016
Fax: 419 / 858-0375
E-mail: dwaksman@imshome.com

Western Region
Phone: 602 / 578-7201
E-mail: dweisenberger@imshome.com