Manual - External Motion Control - R01
Manual - External Motion Control - R01
SIC Marking
13, Route de Limonest
ZAC de la Braille
69380 Lissieu
France
Telephone: +33 (0)4.72.54.80.00
Fax: +33(0)4.78.47.39.40
E-Mail: [email protected]
http://www.sic-marking.com
This document explains the different step to follow to use an external axis with SIC LASER ADVANCED.
Regular motion OK OK OK
control
All the functions describe are allowed with SIC LASER ADVANCED V3.6.0 or higher.
The FU1 laser rack can drive one axis, then the FU4 can drive two axis.
2.1 PREAMBLE
Before using the system, it needs to be configured.
"sc_motion_stepper_settings.txt" file define all the parameters to configure the axis (Z or D axis, ratio,
speed, origin…).
If your system have only one external axis (connected to “AXIS1” for FU4 configuration), the setting
could be done with the software “SicLaserConfigurationManager”.
To mark it easy, on the folder "\laser\system\external axis", you will find preconfigured file according to
the following table:
sc_motion_stepper_settings (D_Axis D80 - 4300674) - R00.txt D axis (Diam 80) 4 300 674
sc_motion_stepper_settings (D_Axis D100 - 4300391) - R01.txt D axis (Diam 100) 4 300 391
sc_motion_stepper_settings (Z axis digital - 4100451) - R00.txt Digital Z axis for XL-BOX 4 100 451
sc_motion_stepper_settings (Z_Axis L50 - 4400209) - R00.txt Z Axis L50 without brake 4 400 209
sc_motion_stepper_settings (Z_Axis L50 - 4400245) - R00.txt Z Axis L50 with brake 4 400 245
sc_motion_stepper_settings (Z_Axis L100 - 4400210) - R00.txt Z Axis L100 without brake 4 400 210
sc_motion_stepper_settings (Z_Axis L100 - 4400246) - R00.txt Z Axis L100 with brake 4 400 246
sc_motion_stepper_settings (Z_Axis L250 - 4400247) - R00.txt Z Axis L250 with brake 4 400 247
Some values must remain fixed and don’t have to be modified otherwise axis will not work
properly.
StepIO= Pulse signal DirIO= direction signal RefIO= origin sensor signal (when equipped)
➢ Open file related to your 1st axis that will be connected on AXIS 1 connector on backside of
FU4 controller (in my example Z axis digital)
➢ Select and copy the following settings:
➢ Open file related to your 2st axis that will be connected on AXIS 2 connector on backside of
FU4 controller (in my example D axis G9)
Remark: The second axis is not equipped with origin sensor, thus refIO is not present.
• Edit and save the file "sc_motion_settings.txt" and set type according to your system
• if you are running on PC MODE configuration is achieved
• if you are running on STAND ALONE MODE, follow the next steps :
o open setting window (1)
o press "Advanced" button (2)
o press "Store" button (3) to save the parameters on the memory of the USC2/3
board
o press "OK" to leave the window (4)
o press "OK" to leave setting window (5)
On the Control window, you can apply the parameters of the movement (distance, speed and coordinate
mode,absolute or relative) or ask for an home movement.
Jog: Clicking on this button opens a dialog where the motor can be moved in both directions
by "Jog Stepwidth" (++) or by "Jog Stepwidth / 10" (+). The default jog stepwidth value can be
Home: When leaving the Home / Shift Dialog with OK, all axes with enabled Home checkbox
will start the homing procedure.
Shift: When the direct motion control Home / Shift dialog is opened, the current Shift values
are shown. When leaving the Home / Shift dialog with OK, the shift values will be applied. To
reset the current shift of an axis, set the shift value to 0. The Home and Shift functionality can
be combined, first the homing procedure is performed, then the shifts will be applied.
Note:
o Difference between movement to position 0 and home:
o Go to position 0 : move of the axis to position 0 but don’t check the origin switch. If
there is a problem during the movement (blockage, speed to fast…), the position can
be different than expected.
o Home : move the axis and check the origin switch
Command Description
GCL M46 Start stepper execution (most commands will not work if not started)
GCL M0 Stop execution (aborts moves)
GCL F? Set movement speed to ? mm/s (e.g. GCL F50.0 for 50 mm/s)
GCL G1? Move to ?, where ? is axis identifier (default name value: Z) followed by position in mm
(e.g. G1Z25 : move Z axis of 25 mm)
GCL G90 Switch to absolute mode. After this all move coordinates are interpreted as absolute
values (default).
GCL G91 Switch to relative mode. G1 commands are interpreted relative to previous position.
GCL G28Z1 Home axis Z
GCL Q7034 Get current Z axis position.
Communication example
Carriage return ASCII code (13) must be added at the end of each command line
# USC cards:
# -------------------------------------------------------
# | Opto_Out_1..5 [ 1.. 5] | Opto_In_1..5 [1.. 5] |
# |-----------------------------|-------------------------|
# | Laser_Port_0..7 [100..107] | |
# |-----------------------------|-------------------------|
# | Digi_Out_0..9 [206..215] | Digi_In_0..9 [ 6..15] | <--
# |-----------------------------|-------------------------| USC-2 only
# | SM_Out_0..5 [216..221] | SM_In_0..2 [16..18] | <--
# -------------------------------------------------------
#
# Care about following I/Os:
# Opto_Out_0 = Marking active | Opto_In_0 = Trigger Start
# Opto_Out_2 = Red Pointer | Opto_In_1 = External Stop
# Laser_Ports cannot be used for motion control,
# if they are already used for laser control.
# --------------------------------------------------------------------------
# | Example of global parameters with comments |
# --------------------------------------------------------------------------
#Debug=0
#
# Enable debug mode to log debug information in
# '%SCAPS_SAM%/system/sc_motion_stepper_debuglog.txt'.
#DisableHomingDuringStartUp=1
#
# If DisableHomingDuringStartUp is set to '1', homing is just performed
# when pressing 'Control -> Home' and not when software is started.
# --------------------------------------------------------------------------
# | Example of axis parameters with comments |
# --------------------------------------------------------------------------
#axis=0
#
# Sets number of axis. Zero based index of the axes. Defines the display
# order in SAMLight. This parameter has to be at the beginning of each axis
# parameter block.
#dname=Z
#
# Sets name of axis. Has to be an unique single capital letter for each axis.
#mode=POSITION
#
#factor=200.0
#
# For 'mode=POSITION': Unit: [steps/mm]
# For 'mode=ANGLE' : Unit: [steps/ °], value has to be (1/360°)*'incperrot'
# Converts mm (or °) used in SAMLight into steps.
#incperrot=3600
#
# This parameter are only valid for 'mode=ANGLE'.
# Unit: [steps/360°]
# Defines how many increments are needed for an whole rotation.
#sfactor=200.0
#
# This parameter is only valid for 'Type=8'.
# For 'mode=POSITION': Unit: [steps/mm]
# Value has to be equal to the factor of the corr table.
# For 'mode=ANGLE' : Unit: [steps/ °]
# Value has to be (1/360°)*'incperrot'.
# Converts mm/s (or °/s) used in SAMLight into steps/s.
#llimit=-400000.0
#hlimit=400000.0
#
# in [steps]
# These two values define the lower and upper limit of the axis.
# This values are read as double to increase the value range: [-1E13, 1E13]
# For USC-2, this is limited to the range of signed 32 Bit.
# The limits should not contain 'refpos'.
#hslimit=7200
#
# Unit: [steps/sec]
# Sets the upper speed limit. No speed above this limit will be possible.
#defspeed=18
#
# For 'mode=POSITION': Unit: [mm/sec]
#accel=50
#decel=50
#
# For 'Type=8' : Unit: increase of [steps/second] per step, def. value: 50
# Please consider the unit which leads to an exponentially acceleration.
# A value of '0' or '-1' disables acceleration /deceleration.
# For 'Type=14': Unit: [steps/sec²], def. value: 2000
# The values '0' and '-1' are not valid.
# These two values define the acceleration and deceleration of the motor.
#accStartSpeed=5
#decStopSpeed=5
#
#For 'Type=8' :
# For 'mode=POSITION': Unit: [mm/sec]
# For 'mode=ANGLE' : Unit: [ °/sec]
# These two values define the start and stop speed of the motor.
#stepIO=1
#dirIO=3
#dirvalue=0
#
# The output bit for the step /direction signal can be chosen here.
# dirvalue defines the polarity of the dirIO signal for positive movement.
# '0' means low active, '1' high active.
#refIO=2
#refvalue=1
#
# The input bit for refIO signal can be chosen here.
# refvalue defines the polarity of the refIO signal.
# '0' means low active, '1' high active.
#refmode=0
#
# This mode defines the behavior of homing
# Common reference modes:
# '0' - No homing movement, current position is set to 'refpos'
# '1' - Go to switch in neg. dir. and leave it in pos. dir.
# '4' - Go to switch in pos. dir. and leave it in neg. dir.
# Uncommon reference modes:
# '2' - Go to switch in neg. dir. and leave it in neg. dir.
# '3' - Go to switch in neg. dir. and stay there - only valid for 'Type=8'
# '5' - Go to switch in pos. dir. and leave it in pos. dir.
# '6' - Go to switch in pos. dir. and stay there - only valid for 'Type=8'
# '11' - Go to switch in neg. dir. and leave it in pos. dir.(no timeout) - only valid for 'Type=14'
# '44' - Go to switch in pos. dir. and leave it in neg. dir.(no timeout) - only valid for 'Type=14'
#refspeed=2000
#refspeed2=500
#
# Unit: [steps/sec]
# The reference speed value defines the speed of the homing movement.
#refpos=0.0
#
# Unit: [steps]
# The position of the axis, after homing movement. 'llimit' and
# 'hlimit' should not contain refpos.
#RefOnlyForHome=0
#
# This parameter is only valid for 'Type=14'.
# '0' - When the reference switch is active, the motion stops.
# '1' - When the reference switch is active, the motion continues.
# For 'Type=14': To disable reference switch set 'refmode=0' and 'RefOnlyForHome=0'.
#SignalAxisMoving=0
#
# This parameter is only valid for 'Type=8'.
# If set to '1', an output bit is set during an axis movement.
#SignalAxisMovingStateBitPosition=3
#SignalAxisMovingState=0
#
# This parameter is only valid for 'Type=8'.
# The output bit for 'SignalAxisMoving' can be chosen here.
# Use SignalAxisMovingState to invert 'SignalAxisMoving' signal, '0' or '1'.
#SignalAxisMovingStatePreDelay=1500
#
# This parameter is only valid for 'Type=8'.
# Unit: [msec]
# Use SignalAxisMovingStatePreDelay to delay the start of the motion.
# --------------------------------------------------------------------------
# | End of file |
# --------------------------------------------------------------------------