Home
AMPERR Amplifier error automatic subroutine
Contents
1. 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AB 69 316 INDEPENDENT MOTION AC Acceleration ada je S ACm n AC n n n n n n n n Usage ACm n Arguments specified with a single axis mask and an assignment ACn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The Acceleration command AC sets the linear acceleration rate of the motors for independent moves such as PR PA and JG moves The parameters will be rounded down to the nearest factor of 1024 and have units of counts per second squared Arguments Argument i Default Resolution Description m N A i Axis to assign value N A Virtual axis to assign value At TM 1000 Resolution and Min depend on TM see remarks 1 073 740 800 256 000 Acceleration rate Remarks e The DC command is used to designate deceleration e Specify realistic acceleration rates based on your physical system such as o motor torque rating o loads o amplifier current rating e Specifying an excessive acceleration will cause a large following error during acceleration and the motor will not folow the commanded profile e The acceleration feedforward command FA will help minimize the error for aggressive accelerations Resolution e The Min and Resolution depend on the sampling period of the control loop TM The equation to ca
2. BZn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The BZ command is used for axes which are configured for sinusoidal commutation to initialize the motor at zero magnetic phase To do this the command drives the motor to zero magnetic phase and then sets the commutation phase to zero Arguments Argument i Resolution Description Notes Axis Axis to assign value 20 65 536 Voltage to be applied during amp n end BZ with SH n end BZ initialization with MO Number of samples for BZ to hold o should be set before BZm n torque command 1 Remarks e _BZm contains the distance in encoder counts from the motor s current position and the position of commutation zero for the specified axis o This can useful to command a motor to move to the commutation zero position for phase initialization e This command may be given when the motor is off e The BZ command causes instantaneous movement of the motor It is recommended to start with small voltages and increase as needed The BZ command voltage must be large enough to move the motor e Always use the Off On Error function OE command to avoid motor runaway whenever testing sinusoidal commutation e The 2PB option is required on the DMC 3x017 to drive a 2 phase brushless servo motor also known as closed loop stepper BZ is the only valid commutation method with this option e BZ Initialization
3. Examples Galil DMC Code Example MG _EY _EMN _TPN print absolute position of master N EY applies to DMC40x0 DMC42x0 DMC41x3 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control EY 147 316 FILTER CONTROL FA Acceleration Feedforward BERLU S FAm n FA n n n n n n n n Usage FAm n Arguments specified with a single axis mask and an assignment FAn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The FA command sets the acceleration feedforward coefficient This coefficient is scaled by the set acceleration and adds a torque bias voltage during the acceleration phase and subtracts the bias during the deceleration phase of a motion Arguments Argument i Resolution Description m Axis Axis to assign value n 1 4 Value of proportional term Remarks The Feedforward Bias product is limited to 10 Volts If the feedforward coefficient is changed during a move then the change wil not take effect until the next move FA operates on PA PR IP JG and PVT mode FA does not operate in o Contour Mode CM o Axis is Gearing or ECAM slave o Coordinated motion LM VM Acceleration Feedforward Bias FA AC 1 5 10 7 TM 1000 2 Deceleration Feedforward Bias FA DC 1 5 10 7 TM 1000 2 FA is enabled during the PVT mo
4. 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control QZ 240 316 PROGRAMMING RA Record Arra y I BAI 5 RA str str str str Usage RAn Arguments specified with an implicit comma separated order Description The RA command selects the user arrays to be populated by the Record Array function The data to be captured is specified by the RD command and time interval by the RC command Arguments Argument i Max Resolution Description Notes Valid array name to usein The arrays listed correspond to the source list str enang String record array function defined by the RD command See Remarks Remarks e The array name str must be followed by the brackets Those brackets must be empty e The array name str must be a valid array defined by the DM command and reported by LA Examples Galil DMC Code Example try to start record array without defining array RA array TC 1 82 undefined array DM array 100 RA array Galil DMC Code Example record Label DM pos 100 Define array RA pos Specify Record Mode RD _TPA Specify data type for record RC 1 Begin recording at 2 msec intervals PR 1000 BG Start motion EN End The record array mode is useful for recording the real time motor position during motion The data is automatically captured in the background and does not interrupt the program sequencer
5. n n Usage variable value1 value2 Performs an operation between two values or evaluated statements Description The symbol is the bitwise OR operator used with IF JP and JS decisions and also to perform bitwise ORING of values Arguments Argument __Min__ Max _ Default _ Resolution Description Notes nm 2 147 483 648 2 147 483 647 1 65 536 Value to use with OR operator si Remarks e For IF JP and JS the values used for m are typically the results of logical expressions such as x gt 2 y 8 e The result of this operation is a value which is not valid on its own It must be coupled with a command See examples below Examples Galil DMC Code Example Bitwise use varl F 00001111 var2 F0 1111000 MG varl1 var2 EN REM Returned 255 0000 same as 11111111 Galil DMC Code Example Conditional use varl F 00001111 var2 F0 1111000 IF varl F Cvar2 F1 MG True ELSE MG False ENDIF EN REM Returned True 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 57 316 Variable Axis Designator I SIE 5 s str s n Description Variable axis designator Each variable can be assigned an indivudal axis a vector plane or a virtual axis Motion commands on the variable will then apply to the assigned axis Commands supporting variable axes are den
6. e VR is useful for feedrate override particularly when specifying the speed of individual segments using the operator lt and gt e _VRS contains the vector speed ratio of the specified coordinate system Examples Galil DMC Code Example a Vector Program WM AN Vector Mode vP 1000 2000 vector Position CR 1000 0 360 Specify Arc VE End Sequence vs 2000 Vector Speed BG S Begin Sequence AM S After Motion JP a Repeat Move speed Speed Override VR C AN 1 1 Read analog input compute ratio vr _VRS Store vector ratio in variable vr JP speed Loop xQ a 0 XQ speed 1 Execute task 0 and 1 simultaneously VR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control VR 304 316 VECTOR LINEAR VS vector Speed BAs jg VSm n VS n Usage VvSm n Arguments specified with a single axis mask and an assignment VSn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The VS command specifies the speed of the vector in a coordinated motion sequence in either the LM or VM modes This speed is in place when individual segment speeds for VP LI and CR are not specified Arguments Argument i Resolution Description m Axis Coordinate plane to be specified n 15 000 000 25 000 2 Vector speed
7. n n Usage _ variable value value2 Performs an operation between two values or evaluated statements Description The symbol is the multiplication operator It takes as arguments any two values variables array elements operands or At functions SIN and returns a value equal to the product of the arguments Arguments Argument Min Max Default Resolution Description n 2 147 483 648 2 147 483 647 N A 1 65 536 Value to use in multiplication operation Remarks e This is a binary operator takes two arguments and returns one value The result of this operation is a value which is not valid on its own It must be coupled with a command See examples below e Mathmatical operations are calculated left to right rather than multiplication and division calculations performed prior to addition and subraction o Example 1 2 3 9 not 7 e It is recommended that parenthesis be used when more than one mathmatical operation is combined in one command o Example var 10 30 60 30 evaluates as 302 o var 10 30 60 30 evalutes as 12 Examples Galil DMC Code Example tvarl 2 3 2 var2 varl 10 MG var2 0 5 50 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 7 27 316 MATH FUNCTIONS Division Operator SIE no ny Usage variable valuei value2 Performs an operation between two values or evaluat
8. name 6 SAT today 2 Tuesday days 123 Days from now dow Cdays today 7 calculate future day of week MG The day of week in days Z10 0 days will be name dow S3 0 EN REM Code Returns The day of week in 123 days will be SAT applies to DMC40x0 DMC42x0 DMC41x3 RI0 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 23 316 SUBROUTINE amp JS subroutine pass variable by reference SIN L JS str0 amp str1 amp str1 Description The amp symbol is used to pass a variable by reference on the subroutine stack When passed by reference a change to the local scope variable changes the global value Arguments Argument Min Max Default Resolution Description Notes stro ichar 7chars_ N A __ String__ Name of label to use for subroutine cal stra ichar 8chars_ WA String Name of variable to pass by reference to the subroutine Remarks e Variables sent to a subroutine must be global variables that are already dimensioned e Do not dimension any variables in a subroutine when passing variables by reference This can break the variable pointer e If the global variable should not get changed omit the amp symbol to send a local copy of the variable to the stack Examples Galil DMC Code Example REM Pass By Reference Example main value 5 a value to
9. o The MM command now defines the modulus of the master for 1 1a e When using ECAM on any axis contour mode is disabled for all axes Examples Galil DMC Code Example REM example using Aux encoder as master and Main feedback as the slave cam REM define aux encoder as master for ECAM EA DA REM define slave modulus as 0 returns to original position EM 0 REM define master increment as 1000 counts table entry EP 1000 REM define master modulus as 4000 MM 4000 ET 0 0 ET 1 500 ET 2 1000 ET 3 500 ET 4 0 REM enable ECAM mode EB 1 REM engage when master is at 0 position EG 0 EN Galil DMC Code Example REM example using Virtual axis as the Master and Main encoder on the A axis as the slave cam REM define Virtual axis as master for ECAM EA N ae slave modulus as 0 returns to original position EM REM define master increment as 1000 counts table entry EP 1000 REM define master modulus as 4000 MMN 4000 ET 0 0 ET 1 500 ET 2 1000 ET 3 500 ET 4 0 REM enable ECAM mode EB 1 REM engage when master is at 0 position EG 0 REM begin jog on N axis JGN 1000 BG N EN EA applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control EA 129 316 ECAM GEARING EB Enable ECAM ae Usage EBn Arguments specified with an im
10. 0 Zero KD ER 1 Turn off position error limit OF 1 Set one volt on A axis EN 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control KD 177 316 FILTER CONTROL KI Integrator BAs jg KIm n KI n n n n n n n n Usage Kim n Arguments specified with a single axis mask and an assignment K n Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The KI command sets the integral gain of the control loop The integrator term will reduce the position error at rest to zero It fits in the control equation as follows D 2 KP KD2 KI Arguments Argument i Max Resolution Description m A Axis Axis to assign value n 255 999 1 1 024 Value of integral term Remarks e n wil return the currently set value of KD e m wil set the KD value for all axes channels Examples Galil DMC Code Example KIA 8 Explicit notation to set A IKI 8 Implicit notation to set A Ka Zi Returns A value 8 KIA Return A value MG _KIA Message the operand for the A axis 8 Galil DMC Code Example REM Zeroing the PID filter allows the REM motor command signal to be REM used as a programmable DAC Ki 0 Zero KI KP 0 Zero KP KD 0 Zero KD OF 1 Set one volt on A axis EN 2015 Galil Motion Control Corrections Feedback documentation
11. 1 27 27 0 lt 14 Renishaw RESOLUTE 1 RL 36B xx xxxx xx X SSA 1 37 37 0 lt 10 e 1 Renishaw encoders transmit a leading zero in the Data field A 26 bit encoder would use 27 for both nj and n2 Examples Galil DMC Code Example Setup Renishaw RESOLUTE 26 bit linear encoder Renishaw encoders have active low error and warning bits If the error bit is active or CRC fails the encoder data should not be considered valid Turn off output 1 and 3 if position data is not valid start SYA 0 Set Error bit Active Low Set Warning bit Active Low SSA 1 27 27 0 lt 9 26 bit linear encoder add 1 bit for leading zero on Renishaw TP Get absolute position Continue setup EN SERERR display error shutdown axis if data is invalid MG SERERR _SSA 4 Display hex value of SS bit mask MG TC _TC Display any TC error codes bisscode _SSA Query SS bit mask IF bisscode amp 1 First bit in the mask is the Timout bit MG BiSS Timeout Add timeout code here SSA 0 Turn off BiSS encoder ENDIF IF Cbisscode amp 2 Second bit in the mask is the CRC validity bit MG Invalid CRC Add cRC failure code here make the system safe SSA 0 Turn off BiSS cB 1 Turn off output 1 cB 3 Turn off output 3 AB Abort motion and program operation ENDIF IF bisscode amp 4 Third bit in the mask is the error bit MG Error Bit Set Add Error code here make the system safe SSA
12. 2 Reverse imi switch disabled 3 Both imit switches disabled Remarks e n wil return the current setting of LD e When this feature should be used o To gain additional digital inputs if limit switches are not being utilized o To prevent noise from causing the limit switchs conditions even though no limit switches are connected e LD does not disable software limits set by BL and FL Examples Galil DMC Code Example REM use forward limit switch as an extra I O point i0 LDA 1 disable forward limit switch jo _LFA set state of limit switch to variable io Use io in an IF statement IF io 1 MG Input On ELSE MG Input off ENDIF EN LD applies to DMC40x0 DMC42x0 DMC41x3 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LD 183 316 VECTOR LINEAR LE Linear Interpolation End ae Usage E Command takes no arguments Operand has special meaning see Remarks Description The LE command indicates to the controller that the end of the sequence is coming up This allows the controller to sow down through multiple segments if required LE is required to exit the linear interpolation mode gracefully stop code SC 101 Arguments The LE command has no arguments See the Remark below Remarks e _LEn wil return the total move length in encoder counts for the coordinate system where
13. 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control RI 246 316 INTERROGATION RL Report Latched Position Aon RL mm Usage RLmm Argument is an axis mask Operand has special meaning see Remarks Description The RL command wil return the last position captured by the latch The latch must first be armed by the AL command and then the appropriate input must be activated Each axis uses a specific general input for the latch input see the AL command for information on latch inputs Arguments Argument Min Default Resolution Description Notes mm A A Multi Axis Mask Axis to query for latched position Remarks e The armed state of the latch can be configured using the CN command e The Latch Function works with the main or auxiliary encoder Capturing Stepper Position using the Latch e When working with a stepper motor without an encoder the latch can be used to capture the stepper position Follow the steps below to achieve this Place a wire from the controller Step PWM output into the main encoder input channel A Connect the Direction sign output into the channel B input Configure the main encoder for Step Direction using the CE command The latch will now capture the stepper position based on the pulses generated by the controller AUNE Operand Usage e _RLm contains the latched position of the specified axis Examples Galil DMC Cod
14. Define label Cont1 cM A Specify Contour Mode DT 1 Pause Contour Mode to allow pre load of buffer cD 100 Countour Data pre loaded in buffer cD 400 Countour Data pre loaded in buffer cD 200 Countour Data pre loaded in buffer cD 300 Countour Data pre loaded in buffer AI 1 wait for Analog input 1 to go low DT 8 Set positive DT to start contour mode cD 0 0 End of Contour Buffer Sequence wait wait for all segments to process buffer to empty wT 16 1 wait for 1 DT time segment 2 4 JP wait _CM lt gt 31 EN End program DT applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control DT 127 316 FILTER CONTROL DV bual Velocity Dual Loop BAs jg DVm n DV n n n n n n n n Usage DVm n ___ Arguments specified with a single axis mask and an assignment Dvn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The DV function changes the operation of the PID filter to work off of dual encoders DV enabled causes the KD derivative term to operate on the dual encoder instead of the main encoder This results in improved stability in the cases where there is a backlash between the motor and the main encoder and where the dual encoder is mounted on the motor Arguments Argument i Resolu
15. FV Velocity cts s 1 22 10 6 TM 1000 o With FVA 10 TM 1000 and the velocity is 200 000 count s the velocity feedforward bias equals 2 44 volts Examples Galil DMC Code Example set feedforward coefficient to 10 This effective bias will be 0 366 volts FV 10 JG 30000 MG _FVA 10 FV applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control FV 152 316 ECAM GEARING GA master Axis for Gearing AH S GAm0 m GA m m m m m m m m Usage GAm0 m Arguments are single axis masks and are specified with a single axis mask and an assignment m Arguments are single axis masks specified with an implicit comma separated order Description The GA command specifies the master axes for electronic gearing Multiple masters for gearing may be specified A slave axis may have only one master The masters may be the main encoder input auxiliary encoder input or the commanded position of any axis The master may also be the commanded vector move in a coordinated motion of LM or VM type When the master is a simple axis it may move in any direction and the slave follows When the master is a commanded vector move the vector move is considered positive and the slave will move forward if the gear ratio is positive and backward if the gear ratio is negative The slave axes and rati
16. Galil DMC Code Example MBB 4 1 2 example Read registers 1 through 2 from handle B save to example equivalent to reading Analog Inputs or registers mapped to 300xxx 05 MBm ng 5 n2 n3 Force Single Coil Write One Bit Argument Min Max Default Resolution Description Notes O m a F nA Hande Handieto send Modbuscommand O Cw bo s ees e O po Handle number e B E Cm o bo m h s S o Ca o G p Oh feos O orumo Galil DMC Code Example MBB 5 11 1 Set coil 11 high equivalent to setting a Digital Output SB CB 06 MBm ng 6 n2 n3 Preset Single Register Write One Word Argument i Default Resolution Description Notes m N A Handle Handle to send Modbus command see Notes 1 Unit ID Default to Handle number A 1 B 2 etc 1 Address of holding register Galil DMC Code Example MBC 6 10 128 write 128 to holding register 10 on handle C equivalent to setting digital outputs on the RIO or setting registers addressed 400xxx 07 MBm ng 7 str Read Exception Status Read Error Code Argument i Resolution Description m Handle Handle to send Modbus command no see Notes 1 Unit ID Default to Handle number A 1 B 2 etc str 0 holds the received value one byte only e When using function code 7 with a Galil slave array element zero will be set to the byte value of the combined first 8 digital outputs e Only one byte in the array will be populated e
17. Galil Motion Control Table of Content 5 316 PA Position Absolute 227 PF Position Format 228 PL Pole 229 PR Position Relative 230 PT Position Tracking 231 PV PVT Data 232 PW Password 233 QD Download Array 234 QH Query Hall State 235 QP Query Parameters 236 QR O Data Record 237 QS Error Magnitude 238 QU Upload Array 239 QZ Return Data Record information 240 RA Record Array 241 RC Record 242 RD Record Data 243 RE Return from Error Routine 244 REM Remark 245 RI Return from Interrupt Routine 246 RL Report Latched Position 247 RO Realtime Offset 248 RP Reference Position 249 RS Reset 250 RT Real Time 251 RY Real Year Calendar Function 252 SA Send Command 254 SB Set Bit 256 SC Stop Code 257 SD Switch Deceleration 258 SH Servo Here 259 SI Configure the special Galil SSI feature 260 SL Single Step 262 SM Subnet Mask 263 SP Speed 264 SS Configure the special Galil BiSS feature 265 SS Configure the special Galil BiSS feature 268 SS Configure the special Galil BiSS feature 271 ST Stop 274 SY Serial encoder BiSS active level 275 TA Tell amplifier error status 276 TB Tell Status Byte 277 TC Tell Error Code 278 TD Tell Dual Encoder 281 TE Tell Error 282 TH Tell Ethernet Handle 283 TI Tell Inputs 284 TIME Time Operand 285 TK Peak Torque Limit 286 TL Torque Limit 287 TM Update Time 288 Galil Motion Control Table of Content 6 316 TP Tell Position 289 TR Trace 290 TS Tell Switches 291 TT Tell Torque 292 TV Tell Velocity
18. In 1 n rad sec and T is the sampl time Calculated Pole e To convert from the desired crossover 3 dB frequency in Hertz to the value given to PL use the following formula Tef e27 n e e where o nis the argument given to PL less than 1 o T is the controller s servo loop sample time in seconds TM divided by 1 000 000 o Fc is the crossover frequency in Hertz e Example Fc 36Hz TM 1000 n e 0 001 36 2 pi 0 8 e The following shows several example crossover frequencies achieved with various values of PL I 1 6 0 0 0 0 0 0 999 Examples 2 2 4 1 8 3 0 Galil DMC Code Example Set A axis Pole to 0 95 PL 95 Query Pole value TPL 7 0 9527 PL applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control PL 229 316 INDEPENDENT MOTION PR Position Relative i nwa BAR SS PRm n PR n n n n n n n n Usage PRm n___ Arguments specified with a single axis mask and an assignment __ PRn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The PR command sets the incremental distance and direction of the next move The move is referenced with respect to the current position Arguments Argument i Resolution Description m A A i Axis to assign value N N i Virtual axis to
19. MG IN1 AND IN2 INACTIVE Message to be executed if 3rd IF conditional statement is false ENDIF End of 3rd conditional statement ENDIF End of 1st conditional statement 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ELSE 136 316 ECAM GEARING EM Ecam modulus BAs jg EMm n EM n n n n n n n n Usage EMm n Arguments specified with a single axis mask and an assignment EMn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The EM command defines the change in position over one complete cycle of the master The EM command sets the modulus for the slave axes the MM command sets the modulus for the master axis Arguments Argument i Default Resolution Description Notes m N A Axis Axis to assign value n 2 147 483 647 N A 1 Position change over one full ECAM cycle For defining slave axis Remarks e If aslave wil return to its original position at the end of the cycle then n 0 e If the change is negative specify the absolute value for n e Firmware revisions 1 1a and newer allow the user to define the aux encoder as the master for ECAM o The MM command now defines the modulus of the master for 1 1a Examples Galil DMC Code Example REM example using Aux encoder as master and Main feedback as the slave cam REM define aux encode
20. MG cos 0 1 0000 MG cos 90 0 0000 MG COS 180 1 0000 MG cos 270 0 0000 MG COS 360 1 0000 MATH FUNCTIONS 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control COS 37 316 FLOT convert Galil 4 2 to Floating Point I AAI 4 FLOT n Usage variable FLOT value Performs a function on a value or evaluated statement and returns a value Description The FLOT operation returns the 32bit floating representation of a number Arguments Argument __Min__ Max Default Resolution Description Notes n 2 147 483 648 2 147 483 647 1 65 536 Value to use for floating point conversion ss Remarks e FLOT is an operand not a command It can only be used as an argument to other commands and operators e Auseful utility for determining the 32 bit floating point value for a given fractional number can be found here http babbage cs qc cuny edu IEEE 754 index xhtml Examples Galil DMC Code Example MG FLOT 2 5 8 0 40200000 MG REAL 40200000 2 5000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control FLOT 38 316 MATH FUNCTIONS FRAC Fractional part Law FRAC n Usage _ variable FRAC value Performs a function on a value or evaluated statement and returns a value Description The FRAC operation returns the fractional pa
21. On startup this code will create a 50 duty cycle square wave on output 1 with a period of 1 second AUTO Start on powerup SB 1 Set bit 1 wT 500 wait 500msec cB 1 Clear bit 1 wr 500 wait 500msec JP AUTO Jump back to AUTO 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AUTO 12 316 PROGRAMMING ERROR CONTROL SUBROUTINE AUTOERR Bootup Error Automatic Subroutine oe Description Automatic subroutine that runs code upon power up ff the firmware detects errors If the EEPROM is corrupted AUTOERR will run The EEPROM is considered corrupt if the checksum calculated on the bytes in the EEPROM do not match the checksum written to the EEPROM For SSI and BiSS operation AUTOERR wil also run if the time to acquire serial position data exceeds 90 of the hardware sample loop This type of error is very rare and should never occur in normal operation Arguments Label must be the first element on a line of code Remarks e Use EN to end the routine e The type of checksum error can be queried with MG_RS e For SSI and BiSS operation o In the event of a serial position acquisition timeout the following will occur a The controller will reset The controler servo loop will not run TM will be set to zero a TC1 wil return 143 TM timed out The automatic subroutine AUTOERR wil run if present a The Error output will be set o When using serial encoders
22. Position Range when in Analog Feedback by AQ Argument Value __ Analog Range Position Range 12 bit Position Range 16 bit Pom h asv 204812047 32 7680 32767 po tov 2048 to 2047 32 768 to 32767 po fo ft 4095 to 65535 ___ Po foto foto sos to 65535 Examples Galil DMC Code Example AO 1 19 Sets Analog input 1 and 2 to be a differential input for the DMC 30xxx Sets Analog input 1 to 0 10v range for the DMC 31xxx AO 1 43 AQ applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com 79 316 Galil Motion Control AQ TRIPPOINT AR After Relative Distance I wa SIN JHS ARm n AR n n n n n n n n Usage ARm n__ Arguments specified with a single axis mask and an assignment ARn Arguments specified with an implicit comma separated order Description The After Relative AR command is a trippoint used to control the timing of events This command wil hold up the execution of the folowing command until one of the following conditions have been met 1 The commanded motor position crosses the specified relative distance from either the start of the move or the last AR or AD command 2 The motion profiling on the axis is complete 3 If in jog JG mode the commanded motion is in the direction which moves away from the specified position Arguments Argument Min Max Default _ Reso
23. TP A 00015 00 PF applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control PF 228 316 FILTER CONTROL PL Pole Ll SS S PLm n PL n n n n n n n n Usage PLm n___ Arguments specified with a single axis mask and an assignment PLn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The PL command adds a low pass filter in series with the PID compensation The crossover frequency is entered directly as an argument to PL To maintain compatibility with earlier versions a value less than 1 may also be specified Arguments Argument i Resolution Description Notes m Axis Axis to assign value i 0 1 Crossover frequency created by the PL command Value used to generate poke filter See Remarks for the equation used n 0 o 0 3333 o 2 65 536 crossover frequency disables the Pole filter Remarks e At lower TM settings the maximum pole frequency is increased The maximum value of the PL command is determined by the value of TM according to the following equation o Max 1 4 10 6 1 TM Max is a function of TM See Remarks e The digital transfer function of the filter is 1 n Z n and the equivalent continuous filter is A S A where A is the filter cutoff frequency A 1 T
24. Toggle digital output 1 OB 1 com ouT 1 amp 1 read current state of output 1 take the bitwise complement mask out bits 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control OB 215 316 I0 OC Output Compare Bacs ARON OCm no n Usage OCm n Arguments specified with a single axis mask and an assignment Operands _OC Operand has special meaning see Remarks Description The OC command sets up the Output Compare feature also known as Pulse on Position The controller has a special digital output which can be configured to pulse on a specified absolute encoder position and optionally on a delta encoder change after that These operations are known as one shot and circular compare respectively Arguments Argument i Default Resolution Description A A Axis to enable Axes A D share one output compare axes E H share output compare a second output compare output Absolute encoder 41144 A8367 position of first pulse Incremental 0 indicates single shot pulse in positive direction 65 536 65 535 encoder distance 65536 indicates single shot when moving in the between pulses negative direction no must be within 65535 counts of current position 2 147 483 648 Remarks e For controllers with 5 8 axes two output compares are available One for the A D axes the other for the E H axes One shot Compare Mode e T
25. arg represents any valid Galil command Remarks e The semicolon operator is used for the following reasons 1 To put comments on the same line as the command STX stop 2 To compress DMC programs to fit within the program line limit Note use a compression utility to do this Do not program this way because it is hard to read 3 To give higher priority to a thread All commands on a line are executed before the thread scheduler switches to the next thread Examples Galil DMC Code Example SB 1 wr 500 CB 1 multiple commands separated by semicolons with a comment Galil DMC Code Example high High priority thread executes twice as fast as a a 1 b b 1 JP high low Low when run jin parallel G e 1 d d il JP low 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 29 316 MATH FUNCTIONS ABS Absolute value BCI 5 ABS n Usage variable ABS value Performs a function on a value or evaluated statement and returns a value Description The ABS operation takes the absolute value of the given number Returns the value if positive and returns 1 times the value if negative Arguments Argument Min Max Default Resolution Description n 2 147 483 648 2 147 483 647 N A 1 65 535 Number to display as absolute value Remarks e ABS is an operand not a command It can only be used as an argument to other commands and operat
26. bad error code JS error EN VERA ER AE Example of a Jup table error REM First check that ecode is valid IF Cecode lt 0 ecode 4 ENDIF IF Cecode gt 4 ecode 4 ENDIF REM Call the helper label with an offset JP error_h ecode Galil Motion Control JP 172 316 CRITICAL Do not change line spacing in following text error_h MG No error zero EN MG Error code 1 foo EN MG Error code 2 bar EN MG Error code 3 baz EN MG Invalid error code EN REM ecode indexes the line to execute REM above relative to error_h REM REM Returned messages REM Error code 1 foo REM Error code 3 baz REM Invalid error code Relative Jump Galil DMC Code Example REM A loop for delaying 1000 samples 1 sec REM sample time MG Relative jump t TIME REM print sampled time MG t REM loop until TIME increments 1000 samples REM _XQO 1 points back to the beginning of the line JP _XQ0 1 TIME lt t 1000 REM print current time MG TIME REM This is NOT thread safe as REM _XQ0 refers to thread 0 only REM For easier readability and stability use labels REM wherever possible MG Label based jump t TIME MG t wait JP wait TIME lt t 1000 MG TIME REM Also where possible use trippoints MG Trippoint t TIME MG t wT 1000 see wT for units MG TIME EN REM Relative jump REM 3459 0000 REM 4459 0000 REM Label based jump REM 4461 0000 REM
27. 0 the absolute value is taken n 2 147 483 648 2 147 483 647 N A 1 65 336 operation first Remarks e SQR is an operand not a command It can only be used as an argument to other commands and operators Examples Galil DMC Code Example MG SQR 2 1 4142 MG SQR 2 1 4142 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SQR 46 316 MATH FUNCTIONS TAN Tangent ECs 5 TAN n Usage _ variable TAN value Performs a function on a value or evaluated statement and returns a value Description The TAN operation returns the tangent of the given angle in degrees Arguments Argument Min Max Default Resolution Description n 32 768 32 767 N A 1 65 536 Value in degrees to use for tangent operation Remarks e TAN is an operand not a command It can only be used as an argument to other commands and operators Examples Galil DMC Code Example MG TAN 23 0 4245 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TAN 47 316 rl Square Brackets Array Index Operator I C str n Description The square brackets are used to denote the array index for an array or to denote an array name They are also used to designate the argument to a function such as ABS n Description Notes Name of array to access Must be a valid dimensioned array name Element of arr
28. 1 0 MG bool 0 0000 tbool 3 14 3 14 MG bool 1 0000 Galil DMC Code Example REM Checks for a digital REM input pattern and REM sets a bit if matched 1loop IF _TIO 170 SB 1 ELSE cB 1 ENDIF JP loop 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 65 316 PROGRAMMING MATH FUNCTIONS gt Greater than comparator SEI no gt n Usage variable valuel gt value2 Performs an operation between two values or evaluated statements Description Greater than comparator for testing if one value is greater than another Comparators are used in mathematical expressions IFs and in conditional jumps The result is a boolean Comparators in DMC Code Symbol Comparator gt Greater than lt Equal to Less than or equal to gt Greater than or equal to lt gt Not equal to Arguments Argument Min Max Default_ Resolution Description Notes mo 2 1a7 003 698 2 147 405647 WA_ 1 65 536 Vauetotest ng _ 2 147 483 648 2 147 483 647 N A s 1 65 536 Valuetotest Remarks e A comparator is not a command and is not valid individually Instead the above expression would be used as part of a jump JP JS IF expression or assignment See examples below e Ifng gt n1 the expression will evaluate to 1 0000 If the comparision is false it will evaluate to 0 0000 e Evalua
29. Feedback documentation galilmc com Galil Motion Control PA 227 316 SYSTEM CONFIG PF Position Format EE 5 PF no Ny Usage PFn Arguments specified with an implicit comma separated order Operands _PF Operand holds the value last set by the command Description The PF command allows the user to format the position numbers such as those returned by TP The number of digits of integers and the number of digits of decimal can be selected with this command An extra digit for sign and a digit for decimal point will be added to the total number of digits Argumente mee S e e Tal Number of places displayed Negative numbers force data to display in preceding the decimal point hexadecimal format Number of places displayed after the decimal point Remarks e If PF is minus the format will be hexadecimal and a dollar sign will precede the characters Hex numbers are displayed as 2 s complement with the first bit used to signify the sign e Ifa number exceeds the format the number will be displayed as the maximum possible positive or negative number i e 999 99 999 8000 or 7FF e The PF command formats the values returned from the folowing commands Examples Galil DMC Code Example DP 21 Set position of A axis for example TP A Tell position of A in default format 21 PF 5 2 Change format to 5 digits of integers and 2 of decimal TP A 21 00 PF 5 2 Change format to hexadecimal
30. Galil DMC Code Example Assume internal Sine drive Bo 1 set A axis first DAC to 1v offset BQ 2 set the A axis second DAC to 2v offset BQ applies to DMC40x0 DMC41x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BQ 97 316 SYSTEM CONFIG BR Brush Axis BARL BRm n BR n n n n n n n n n Usage BRm n Arguments specified with a single axis mask and an assignment BRn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The BR command configures the motor configuration and type for an axis The BR command is used with internal Galil amplifiers to enable which axes will be set as brush type servos or to configure the firmware to use external drives instead of the internal channel Arguments Argument Min _ Max Default Resolution Description Notes m Ja Ja NA fis Axistovassignvaue Argument Description Notes n Configured for external drive Default for DMC 30010 and DMC 30010 Configured for Brushless servo Default for DMC 30000 with internal amplifiers ie DMC 30012 Configured for Brush type servo Remarks e If an axis has Off On Error OE set to 1 an amplifier error will occur on an axis if there are no halls and BR is set to 0 Set BR to 1 to avoid an amplifier error state o The hall error bits cannot cause AMPE
31. Galil Motion Control P1CD 223 316 OPERAND ONLY P1CH seriar port 1 character BEI P1CH Usage variable P1CH P1CH Operand has special meaning see Remarks Description P1CH returns the last character sent to the serial port when in the operator data entry mode CI 1 Arguments P1CD is an operand that holds a value cooresponding to ASCII characters sent over the serial port See Examples for use in code Remarks e None Examples Galil DMC Code Example ARAS CI al MG TEST P1 send a message to the hand terminal ae P1CH S1 the 6 button was pushed on the hand terminal P1CH applies to DMC21x3 RI0 DMC30010 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control P1CH 224 316 OPERAND ONLY P1INM seriar port 1 number Bi I Usage _ variable P1NM P1NM Operand has special meaning see Remarks Description P1iNM returns the last number followed by carriage return sent to the serial port when in the operator data entry mode CI 1 Arguments P1NM is an operand that holds a numerical value sent over the serial port See Examples for use in code Remarks e Converts from ASCI e g 1234 to binary so that a number can be stored into a variable and math can be performed on it o Numbers from 2147483648 to 2147483647 can be processed Examples Simple example with Ethernet and Serial port on PC 1 Connect to the controller via Ethernet in Ga
32. Galil Motion Control Ss 271 316 Required Hardware and Firmware e SS requires the SER part number adder at time of hardware order Contact Applications to upgrade hardware already shipped Operand Usage e _SSm Returns 4 bits of axis status data where m is the axis _SSm Bit Map ae Position Bit Meaning Bit value 0 Bit value 1 Description Timeout Status No timeout Timeout occurred Timeout will be set if the encoder doesn t set the start bit within 30uS CRC Status CRC valid CRC invalid Indicates data validity Error bit 1 No Error Error Warning bit 1 No Warning Warning e 1 The SY command must be set for the Error and Warning bits to report correctly Consult the encoder documentation for definitions and active level of the Error and Warning bits Error Handling e SERERR is an automatic sub which wil run in the event of the following encoder problems o Encoder Timeout o CRC failure o Error bit set o Warning bit set e Error bit active state set with SY command e Warning bit active state set with SY command SS Command by Manufacturer Axis A main encoder setup Manufacturer Part Number SS Command Hengstler ACURO AC58 1214 x x xx BI x SSA 1 26 26 0 lt 13 Hengstler ACURO AD36 1219 x x xx BI X xx SSA 1 36 36 5 lt 13 Hengstler ACURO AC110 0017 x x x xxx BI x xX SSA 1 17 17 0 lt 10 Renishaw RESOLUTE 1 RA 18B xx xxxx xx X SSA 1 19 19 0 lt 10 Renishaw RESOLUTE 1 RL 26B xx xxxx xx X SSA
33. MG 413 10 M48 4055 Specifies carriage return line feed and the characters 0 and 7 in ASCII decimal values 07 iMG TIME Messages the operand TIME 261928200 0000 variable 10 Sets the variable equal to 10 MG variable 5 Messages out variable 5 15 0000 MG _TIO Messages the value stored in the operand _TIO Galil Motion Control MG 199 316 255 0000 Galil DMC Code Example CF A Messages cont igaped to go out Ethernet handle A MG EB var Override CF and send the value of variable var to B handle 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control MG 200 316 ECAM GEARING MM master Modulus Bs g MMm n MM n n n n n n n n Usage MMm n___ Arguments specified with a single axis mask and an assignment __ MMn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The MM command is part of the ECAM mode that defines the change in position of the master over one complete cycle Arguments Argument i Resolution Description m Axis ECAM Master axis to define modulus Axis ECAM Master virtual axis to define modulus 8 388 607 1 Master position change over one full ECAM cycle For defining slave axis Remarks e The master axis is defined using the EA command When the aux encoder is chosen as the master axis EA DA set the MM
34. N EN N 5 EN N EN N EN N EN N 5 EN REM The following Subs depend upon line spacing REM Do not add or remove lines printd Galil Motion Control RY 252 316 MG DEC N EN Example Output TUE MAY 11 2010 14 07 48 RY applies to RIO DMC30010 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control RY 253 316 ETHERNET SA Send Command Ao SAm str SAm str n n n n n n n n Arguments specified with a single axis mask and an assignment _SAm1 _SAm2 _SAm3 _SAm4 _SAm5 _SAm6 _SAm7 Operands Operand has special meaning see Remarks Description SA sends a command and optionally receives a response from one controler to another via Ethernet Arguments Argument Min Max Resolution Description A F Handle Handle to specify for message output 1 char 6 chars String String to send over handle 2 147 483 648 2 147 483 647 1 Value to send for the specified parameter Remarks e Strings are encapsulated by quotations This will typically begin an SA command e n is a number controller operand variable mathematical function or string The range for numeric values is 4 bytes of integer followed by two bytes of fraction e Typical usage would have the first argument as a string such as KI and the subsequent arguments as the arguments to the command o Example SAF KI 1 2 would send the com
35. e The number of elements in an array is returned by reading index 1 e g array 1 e To return a value on the stack write the value in the EN command upon ending the subroutine The parent stack can access this value via _JS Examples of valid args see examples for demo of each concept What to pass arg Example Galil Motion Control JS 174 316 JS square 7 Variable s value JS sub var Variable by reference ampersand variable name JS sub amp var Array by reference JS sub array Examples Galil DMC Code Example REM Example of pulsing an output pulse 0 JS pulse pulse gt 0 JS not taken wT 2000 pulse 3 JS pulse pulse gt 0 JS taken wT 2000 pulse 5 JS pulse unconditionally take jump EN REM Subroutine called after REM setting pulse variable pulse SB 1 set bit 1 wT 500 delay 500 ms cB 1 clear bit 1 wT 500 delay 500 ms pulse pulse 1 decrement pulse JP pulse pulse gt 0 continue till zero EN return to calling JS Advanced Usage Examples Galil DMC Code Example REM Run all examples all JS val Js var JS varref JS array EN REM Example for each way to pass to a subroutine REM BEER kkk kkk kkk kkk kkk kkk kkk kk kkk kk kkk kkk REM Pass a Value val JS square 3 MG _JS EN square REM Return the passed value squared EN Aa Aa REM 25 25 26 96 te oe ae ae ae de ae ae ae ae e e HE A A EE HEH e EEE e e EEE EEE EEE REM Pas
36. o BM encoder counts per revolution of pole pairs e The issuance of BM is required for commutation using one of the following methods o BX o BZ o BI BC Examples Galil DMC Code Example REM setup DMC 3x017 2PB for drive 2 phased brushless servo motor MO A Motor must be off to set MT MT 1 Set MT 1 for servo BA A Designate sinusoidal commutation BM 200 Length of electrical cycle in counts required setting for commutation BZ 3 lt 1000 Commutate motor using 3 V and timeout after 1000 msec SH A Enable motor ready for commands EN Galil DMC Code Example a REM Using Galil s BLM motor specifications as an example cts 4000 4000 encoder counts per revolution pole 2 2 pole pairs 4 poles total BA A BMA cts pole calculation of BM BZA 3 5 Commutate using BZ method and 3 5v SHA MG Commutation complete EN Galil DMC Code Example BM 60000 Set brushless modulo for B axis to be 60000 BMc 100000 3 Set brushless modulo for C axis to be 100000 3 33333 333 BM cages Interrogate the Brushless Module for the D axis example calculating brushless modulus using calculated integers cts 4096 Counts per rev pp 3 Pole pairs BMA cts pp Changing the BM parameter causes an instant change in the commutation phase BM applies to DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentati
37. return to tracking logic 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control CMDERR 14 316 PROGRAMMING SUBROUTINE F COMINT communication interrupt automatic subroutine SN 5 COMINT Description Automatic subroutine to provide interrupt driven communications from the serial port COMINT can be configured by the CI command to run either when any character is received or when a carriage return is received over the com port The auxiliary port is used if equipped Arguments Label must be the first element on a line of code Remarks e Use EN to end the routine e COMINT runs in thread 0 and an application must be running in thread 0 in order for COMINT to be enabled e Code running in thread zero will be interrupted by the COMINT subroutine e It is important to handle the interrupt condition and return without delay The controler will continue to receive data and update the data operands P1CH P2CH etc while in COMINT This can lead to missed characters numbers and strings if COMINT is unnecessarily delayed Examples Galil DMC Code Example Cr 2 15 interrupt on any character on main port no aux EF S3 send messages to serial port cw 2 configure text for non Galil devices E G Hyperterm EO 0 turn off serial echo loop MG Loop TIME print a message every second wT 1000 JP loop COMINT MG COMINT P1CH S1 print character received
38. speed is indeterminate due to a variable diameter pulley The motor will move with the predefined AC DC SP values superimposed on top of the existing gearing Case Equivalent Commands Motor is IPm n Equivalent to standing still PRm n BGm Motor is PRm ng BGm IPm n4 MEAE Equivalent to PRm position n no n1 Bam JGm n0 BGm Pm n Motor is in E 2 F Jog Mode Equivalent to Continuing jog g from current position n1 Motor is a GAm m0 GRm ng slave in IPm n1 Equivalent to GAm gearing m0 GRm ng PRm n1 motion mode BGm Examples Galil DMC Code Example IP 50 50 counts with set acceleration and speed correct Label AC 100000 Set acceleration JG 10000 BG A Jog at 10000 counts sec rate wT 1000 wait 1000 msec IP 10 Move the motor 10 counts instantaneously ST As Stop Motion EN IP applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 169 316 INDEPENDENT MOTION SYSTEM CONFIG IT Independent Time Constant Smoothing Function BA jg ITm n IT n n n n n n n n Usage ITm n Arguments specified with a single axis mask and an assignment mn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The IT command fitters the acceleration and deceleration functions
39. tALAK test 1 Lock the program HED Attempt to edit program TCL 106 Privilege violation PW applies to DMC40x0 DMC42x0 DMC41x3 RIO DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control PW 233 316 SYSTEM CONFIG QD Download Array SEIN QD str no nyz Usage QD n Arguments specified with an implicit comma separated order Description The QD command transfers array data from the host computer to the controller QD array start end requires that the array name be specified along with the index of the first element of the array and the index of the last element of the array Argumente mee Max Default Resolution Description i iow ram fw aww e a 1 a n Index of the first array element Value cannot exceed size of array 2 see Notes see Notes Index of the last array element Value cannot exceed size of array 1 Defaults to size of array 1 Remarks Array name must be a valid dimensioned array name followed by empty brackets The array elements may be separated by a comma a carriage return r or a carriage return and line feed r n Do not use spaces The downloaded array is terminated by a character QD is not supported in the Galitools terminal o It is recommended to use the array download functions available through the GalilTools software and drivers rather than direct
40. 0 Turn off BiSS cB 1 Turn off output 1 cB 3 Turn off output 3 AB Abort motion and program operation ENDIF IF bisscode amp 8 Fourth bit in the mask is the warning bit MG Warning Bit Set Add warning code here Notify and log but don t stop motion XQ logwarn 3 Run routine to Log the warning and notify user Galil Motion Control SS 272 316 ENDIF RE Errors Error Number Description 6 Number out of range Argument out of bounds 140 Serial Encoder Missing Encoder did not respond 143 TM Timed Out Encoder start bit timed out Interrupt time period too long Controller calculates not enough time to complete data transmission SS applies to SER 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control Ss 273 316 INDEPENDENT MOTION VECTOR LINEAR ST Stop lt a AMOR ST mm Usage STmm Argument is an axis mask Description The ST command stops motion on the specified axis Motors will come to a decelerated stop Arguments Argument Min Max Default Resolution Description mm A ANS A Multi Axis Mask Axes to command to stop motion Remarks e If ST is sent from the host without an axis specification program execution will stop in addition to motion Examples Galil DMC Code Example IST A Stop motion on the A axis SC A Query A axis status 4 Indicates stopped by ST command MG _NO Check if code is running 1 Thread 0 running ST 3 Ge
41. 1 65 536 Vauetotest ng _ 2 147 483 648 2 147 483 647 N A s 1 65 536 Valuetotest Remarks e Acomparator is not a command and is not valid individually Instead the above expression would be used as part of a jump JP JS IF expression or assignment See examples below e Ifn lt n1 the expression will evaluate to 1 0000 If the comparision is false it will evaluate to 0 0000 e Evaluation occurs left to right Use parenthesis for operator precedence Examples Galil DMC Code Example tbool 1 lt 2 MG bool 1 0000 tbool 1 lt 0 MG bool 0 0000 Galil DMC Code Example REM Example to find the largest REM value in an array REM REM 28 8 oe ae de de de ae de de de ak ae ae de de a ae de teak ae tee REM Create an array and fill it len 5 DM array len array O 5 array 1 100 0001 array 2 42 array 3 3 14 array 4 100 JS max call max subroutine MG Max value is max EN REM REM KRREEKKAEKEKRREEKKRAREKRAEEKREEE REM Find max element in array max i 0 max 2147483648 start at min max_h IF Carray i gt max max array i ENDIF j i 1 JP max_h i lt len EN REM REM KARRAKA RRRRRR RRRA RRR RRR RR RRR REM Program output REM XQ REM REM Max value is 100 0001 Galil Motion Control lt 60 316 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control lt 61 316 P
42. 1000 2000 Specify vector position vs 20000 Specify vector velocity BG S Begin coordinated sequence vP 4000 1000 Specify vector position VE vector End BG applies to DMC40x0 DMC41x3 DMC30010 DMC21x3 DMC18x6 DMC18x2 DMC42x0 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BG 89 316 SINE COMMUTATION BI Brushless Inputs BA jS BIm n BI n n n n n n n n Usage Bim n Arguments specified with a single axis mask and an assignment B n Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The BI command is used to define the inputs which are used when Hall sensors have been wired for sinusoidaly commutated motors See the BC command for more information about initialization of sine amplifiers via hall inputs Arguments Argument i Resolution Description Notes m Axis Axis to assign value i 0 1 Select starting General input for n 1 uses dedicated hall inputs n 0 hall sensor use clears configuration Remarks e The Hall A Hall B and Hall C inputs on the Encoder connector may be specified by setting the BI command to 1 Examples Galil DMC Code Example REM Example for use with internal amp ex BA A BMA 2000 BIA 1 use hall sensor inputs on the Galil BC A enable brushless calibration bc _BCA store hall state
43. 203 316 SYSTEM CONFIG MT motor T ype BERLU MTm n MT n n n n n n n n Usage MTm n__ Arguments specified with a single axis mask and an assignment M n Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The MT command selects the type of the motor and the polarity of the drive signal Motor types include standard servomotors which require a voltage in the range of 10 Volts and step motors which require pulse and direction signals The polarity reversal inverts the analog signals for servomotors or inverts logic level of the pulse train for step motors Arguments Argument Min Max Default Resolution Description Notes m A A N A Axis Axis to assign value Argument Description Notes Default for DMC 3x010 11 12 models Special use for 2PB option see Remarks Servo motor with reversed polarity Setting invalid for Galil sine drives PW M Sign servo drive 1 5 PW M Sign servo drive with reversed polarity n Servo motor 2 Step motor with active low step pulses ooo SOS 2 Step motor with active high step pulses Default setting for DMC 3x017 16 2 5 Step motor with reversed direction and active low step pulses 2 5 Step motor with reversed direction and active high Valid setting for DMC 3x017 16 step pulses Remarks e n wil return the value of the motor type for the specified axis e For step and directi
44. 2048 12 1000 4096 13 2000 8192 14 4000 16384 15 8000 32768 UI user interrupt command n2 Bit Mask Input Interrupts FO FF 240 255 User Interrupt See UI command bit n2 2 bit hex decimal Status Byte hex decimal Condition 0 01 1 E1 225 Digital input 1 is bw IN 1 0 1 02 2 E2 226 6 40 64 E7 231 Digital input 2 is bw IN 2 0 Digital input 7 is low IN 7 Galil Motion Control El 134 316 7 80 128 E8 232 E Digital input 8 is low IN 8 0 UDP Interrupts Framing The UDP packet can contain up to 16 individual status bytes and is framed as follows Header Fixed p Payload Byte Count 0x03 0x12 Includes Format Byte Status Byte 1 16 bytes header and footer in count Example 0x01 OxDOFIDBE1 Interrupt f f P Sa Example Packet Axis A Profiled Moron Compkte User Interrupt 1 Application 6 bytes in payload Decoded Indicator Program Stopped Digital Input 1 is low Examples Galil DMC Code Example E Interrupt when motion is complete on all axes OR if a limit switch is hit From the table enable bits 8 and 10 nl 256 1024 1280 EI terrupl when digital input 3 is low Enable bit 15 of n1 and bit 2 of n2 EI 32768 4 EI applies to DMC40x0 DMC42x0 DMC41x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil M
45. 5461 0000 REM Trippoint REM 5463 0000 REM 6464 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control JP 173 316 PROGRAMMING JS Jump to Subroutine SIN 1 JS str arg arg ex JS n arg arg ex Usage JSn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description Allows the program to jump to a subroutine and return back after completion This command is often used to call reusable code Arguments Argument i Max Resolution Description Notes Label Name for jump destination Line number for jump May be a value or a variable but not an destination evaluated statement with parenthesis Conditional statement s that N A must evaluate true for jump to If omitted the jump is taken occur A value variable or array to referenced from within the subroutine as a or pass to the subroutine being b repectively See Remarks for a table of valid called args str 7 chars String Must be a valid label in application code 999 1 Remarks e JS can be nested called up to 16 deep e When used after JS is called the _JS operand contains the returned value of the subroutine called by JS Basic Usage e The JS command wil change the sequential order of execution of commands in a program e If the jump is taken program execution will continue at the line specified by the destination
46. Acceleration BAs jg VAm n VA n Usage VAm n Arguments specified with a single axis mask and an assignment VAan Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The VA command sets the acceleration rate of the vector in a coordinated motion sequence Arguments Argument i Default Resolution Description m S Axis Coordinate plane to be specified n 1 073 740 800 256 000 1 024 Vector acceleration for the coordinate system Remarks e _VAm contains the value of the vector acceleration for the specified coordinate system Examples Galil DMC Code Example VA 1024 Set vector acceleration to 1024 counts sec2 IVA Ze Return vector acceleration 1024 VA 20000 Set vector acceleration WA Ze Return vector acceleration 19456 accel _VAS Assign variable accel the value of VA VA applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control VA 297 316 VD Vector Deceleration BERLU VDm n VD n Usage VDm n Arguments specified with a single axis mask and an assignment VDn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description VECTOR LINEAR Coordinate plane to be specified V
47. Arguments Argument i Resolution Description Data update rate specified in samples between packets Turn off data record output ny see Notes Ethernet handle to output data record packet 0 A 1 B 2 C 3 D 4 E 5 F no Remarks If a small sample period and a small update rate is used the controller may become noticeably slower as a result of maintaining a high update rate e If nj is omitted then the CF unsolicited message port is used by default e The DR port specified with ny must be a UDP handle e _DRO contains the data record update rate ng e _DR1 contains the specified handle n1 Will return an integer 0 7 for handles A H Examples Galil DMC Code Example WH IHA DR 1000 0 GX P P H P _0 P DR 0 Note The data record is in a binary non printable format the output above is normal when printing to the terminal DR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO0 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control DR 126 316 CONTOUR MODE DT Delta Time BIER L DT n Usage DTn Arguments specified with an implicit comma separated order Description The DT command sets the time interval for Contour Mode The time interval is 2N samples With TM 1000 there are 1024 samples per second Sending the DT command once wil set the time interval for all contour data untila new DT command
48. BW Parameter ce Bwci Brake Wait Timing Diagram Arguments Argument Min Max Default Resolution Description Notes pom AANA Ais Axisttoassignvae n n o 4 096 o a Specify brake wait time in samples 0 Turn brake function off Remarks e The Brake Wait does not apply when the motor is shut off due to OE1 Off on Error In this case position error exceeded or Abort triggered the motor off and brake output will be applied simultaneously e SB CB and OP have no effect on outputs mapped to BW In order to toggle brake outputs without engaging the servo e g for maintenance set BWm 0 and then use SB and CB as necessary e Output 1 is the brake output e When using the brake outputs it is recommended to order the controller with 500mA sourcing output option HSRC Examples Galil DMC Code Example Bw 100 Set brake delay to 100 ms 7M1000 for the A axis BW applies to DMC40x0 DMC42x0 DMC41x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BW 101 316 SINE COMMUTATION BX Sine Amp Initialization BERL BXm n BX n n n n n n n n BX lt o Usage BXxm n Arguments specified with a single axis mask and an assignment BXxn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The BX command uses a method to initialize an axis w
49. BX 102 316 BA a enable brushless mode BM a 2000 must be set per inidividual motor specifications BX lt 1000 set pulse duration to 1000 samples bx_i 0 number of tries for the BX command com_h tc 0 response from TC command if an error occurs MO a start in motor off state tv JP tv _TVv a gt 500 make sure axis is not moving BX a 3 command the BX command REM loop until BX passes or error occurs loop JP loop CC_BxX a lt gt 3 amp C tc 0 REM try again if an error occured and the number of tries lt 5 JP com_h Ctc lt gt 0 amp Cbx_i lt 5 REM if the number of tries is lt 5 then BX passed REM else try BZ command IF bx_i lt 5 MG Commutation complete ELSE MG BX failed to complete MG attempting BZ command tc 0 BZ a 3 IF tc 0 MG BZ command complete ELSE MG BZ command failed MG check motor and encoder wiring MG try setting CE 2 or swapping 2 motor leads ENDIF ENDIF EN CMDERR tc _TC TC 1 REM if 160 error increase BX IF tc 160 MG Retry BX bx_i bx_i 1 BX lt Cbx_i 1000 increase pulse time on failure ENDIF RE BX applies to DMC40x0 DMC41x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BX 103 316 SINE COMMUTATION BZ Brushless Zero BIC TRL SS BZm n BZ n n n n n n n n BZ lt o Usage BZm n ___ Arguments specified with a single axis mask and an assignment
50. BiSS is hardware compatible to the industrial standard SSI Serial Synchronous Interface It allows serial transmission of absolute position data from BiSS encoders based on a master clock signal from the controller Arguments Argument Specify BiSS to replace Main encoder register Default Resolution Description Notes BiSS encoder tied to multi function pins 1 and 2 see table in Remarks Specify BiSS to replace Aux encoder register BiSS encoder tied to multi function pins 3 and 4 see table in Remarks Enable BiSS 0 disable 1 enable Number of bits to read include single turn multitturn and zero bits n1 lt 0 enables Continuous mode See Remarks Number of total bits between start bit and error bits Should match nj See Examples Number of zero padding bits Used for Hengstler devices Clock divider Frequency MHz 2 1 7 1 4 1 3 1 1 1 0 0 91 0 83 0 77 0 71 0 67 0 63 0 59 0 56 0 53 0 50 0 48 0 45 0 43 0 42 0 40 0 38 Remarks 0 37 See Clock Frequency Table e There are two items required when connecting a BiSS encoder special BiSS firmware and a hardware upgrade on the controller s internal ICM board e Requires BiSS or SER option at time of order e SIm Returns the configuration parameters e nj A positive number designate
51. COM Bitwise complement aL j COM n Usage _ variable COM value Performs a function on a value or evaluated statement and returns a value Description The COM operation performs the bitwise complement NOT operation to the given number Arguments Argument Min Resolution Description Notes 2 147 483 647 N A 1 Value to perform bitwise complement Integer interpreted as a 32 bit operation field 2 147 483 648 Remarks e COM is an operand not a command It can only be used as an argument to other commands and operators Examples Galil DMC Code Example MG 8 0 com 0 FFFEFFFF MG 8 0 COM FFFFFFFF 00000000 Galil DMC Code Example toggle output 1 OB 1 com ouT 1 amp 1 read current state of output 1 take the bitwise complement mask out bits 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control COM 36 316 COS Cosine BIC 5 COS n Usage _ variable COS value Performs a function on a value or evaluated statement and returns a value Description The COS operation returns the cosine of the given angle in degrees Arguments Argument Min Max Default Resolution Description n 32 768 32 767 N A 1 65 536 Value in degrees to use for cosine operation Remarks e COS is an operand not a command It can only be used as an argument to other commands and operators Examples Galil DMC Code Example
52. Cats with 3 elements DM tests 1600 Define dimension of array Tests with 1600 elements Galil DMC Code Example DM 16000 DM myarray 1000 DM 15000 DMC 4xxx and 30010 provide length of array with array 1 MG MyArray contains myarray 1 elements MyArray contains 1000 0000 elements 2015 Galil Motion Control Corrections Feedback documentation galilimc com Galil Motion Control DM 124 316 SYSTEM CONFIG DP Define Position BIL TR 1 SS DPm n DP n n n n n n n n Usage DPm n___ Arguments specified with a single axis mask and an assignment DPn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The DP command sets the current motor position and current command positions to a user specified value The units are in quadrature counts This command wil set both the TP and RP values Arguments Argument i Resolution Description m A A i Axis to assign value N N i Virtual axis to assign value Value assigned to motor commanded position RP and For MT 1 2 147 483 647 TD ce l i i 1 1 5 1 5 Value assigned to step commanded position RP and TD For MT 2 registers 2 2 5 2 5 2 147 483 648 2 147 483 648 2 147 483 647 Remarks e The DP command sets the commanded reference position for axes configured as steppers The units are in steps o Example DP 0 This will set the register
53. Cause an interrupt with status byte F1 241 The program above interrupts the host PC with status byte F1 241 when the motor has reach its target speed of 5000 counts s UI applies to DMC40x0 DMC42x0 DMC41x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control UI 295 316 PROGRAMMING UL Upload Sl N Usage UL Command takes no arguments Operand has special meaning see Remarks Description The UL command transfers data from the controller to a host computer Programs are sent without line numbers The Uploaded program will be followed by a lt control gt Z or a as an end of text marker Arguments UL is a command with no parameters Remarks e In the Gali software the UL command is not necessary because the UL command is handled by the graphical interface Upload Program e Ina terminal utility such as HyperTerminal or Telnet the UL command wil bring the uploaded program to screen e From there the user can copy it and save it to a file Operand Usage e When used as an operand _UL gives the number of available variables Examples Galil DMC Code Example UL Begin upload A Line 0 NO This is an Example Line 1 NO Program Line 2 EN Line 3 cntr1 Z Terminator 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control UL 296 316 VECTOR LINEAR VA Vector
54. Command takes no arguments Description The LA command returns a list of all arrays in memory The size of each array will be included next to each array name in square brackets Arguments LA is an interrogation command with no parameters Remarks e The listing will be in alphabetical order Examples Galil DMC Code Examp DM gold 100 RR plat 200 Dimensions arrays with given name and the number of array elements in square brakets ILA Commands the controller to list arrays in alphabetical order go1d 100 plat 200 silver 50 DA Dialocates all arrays ILA List arrays now returns with no arrays 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LA 181 316 LC Low Current Stepper Mode BAs jg LCm n LC n n n n n n n n Usage LCm n___ Arguments specified with a single axis mask and an assignment LCn Arguments specified with an implicit comma separated order STEPPER MOTOR Operand holds the value last set by the command Description The LC command enables low current mode for stepper motors Low current mode reduces the holding torque of the stepper motors while at rest Arguments Argument Resolution Description Axis to assign value n 0 Stepper drive provides 100 torque at rest n gt 1 25 holding torque when motor at rest Remarks e Using LC with an internal Galil Stepper drive SDM Sp
55. Description TRIPPOINT The AT command is a trippoint which is used to hold up execution of the next command until after the specified time has elapsed The time is measured with respect to a defined reference time AT 0 establishes the initial reference AT n specifies n msec from the reference AT n specifies n msec from the reference and establishes a new reference after the elapsed time period AT n 1 specifies n samples from the reference This is useful when TM is lowered and faster application loop times are required Arguments Argument Min Max Resolution Description Notes no 2 147 483 648 2 147 483 647 2 Specify a wat time for AT trippoint See Remarks ni 0 1 1 Specify time in samples or msecs n1 0 for msecs nj 1 for samples Remarks e no 0 sets the reference time for AT to the current time e no gt 0 specifies the wait time as the absolute value of ng from the reference time e no lt 0 specified the wait time as the absolute value of ng from the reference time and resets the reference time when the trippoint is complete to the current time o AT n is equivalent to AT ng AT old reference ng Examples Galil DMC Code Example The following commands are sent sequentially AT 0 Establishes reference time 0 as current time AT 50 waits 50 msec from reference 0 AT 100 waits 100 msec from reference 0 AT 150 waits 150 msec from reference 0 and sets new reference at 150 A
56. Display the content of the operand_SAA first response to TE command MG _SAA1 Display the content of the operand_SAA 2nd response to TE command SAA TEMP 16 Sets variable temp equal to 16 on handle A controller EN End Program Galil Motion Control SA 254 316 SA applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO0 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SA 255 316 Io SB set Bit BA j SB n Usage SBn Arguments specified with an implicit comma separated order Description The SB command sets a particular digital output The SB and CB Clear Bit instructions can be used to control the state of output lines Arguments Argument i Resolution Description Notes n 1 General output bit to be set n 1 Set Modbus slave bit See SB via Modbus Slave in Remarks Remarks e The state of the output can be read with the OUT command SB via Modbus Slave e no SlaveAddress 10000 HandleNum 1000 Module 1 4 Bitnum 1 o Slave Address is used when the ModBus device has slave devices connected to it and specified as Addresses 0 to 255 Please note that the use of slave devices for modbus are very rare and this number wil usually be 0 o HandleNum is the handle specifier where A is 1 B is 2 and so on o Module is the position of the module in the rack from 1 to 16 o BitNum is the I O point in the module from
57. Enable the mode YSA 1 Query the value YSA 1 Response shows A axis is enabled YS applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control YS 314 316 PROGRAMMING ZA User Data Record Variables I nwa SEI 5S ZAm n ZA n n n n n n n n Usage ZAm n ___ Arguments specified with a single axis mask and an assignment ZAn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description ZA sets the user variables in the data record The user variables one per axis are automatically sent as part of the status record from the controller to the host computer These variables provide a method for specific controller information to be passed to the host automatically Arguments Argument Min Max Description m A A i Axis to assign value n 2 147 483 648 2 147 483 647 Value of user variable for data record Remarks e nisan integer and can be a number controller operand variable mathematical function or string e Only 4 bytes are available for n Fractional values are not stored or sent via the data record Examples Galil DMC Code Example thread ZAA myvar constantly update ZA with variable myvar wt 10 JP thread run in an infinite loop ZA applies to DMC40x0 DMC42x0 D
58. Examples Galil DMC Code Example MG RND 1 2 1 0000 MG RND 1 6 2 0000 MG RND 1 2 1 0000 MG RND 5 7 6 0000 MG RND 5 7 6 0000 MG RND 5 5 6 0000 MG RND 5 5 5 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control RND 44 316 MATH FUNCTIONS SIN Sine ENC I 5 SIN n Usage __ variable SIN value Performs a function on a value or evaluated statement and returns a value Description The SIN operation returns the sine of the given angle in degrees Arguments Argument Min Max Default Resolution Description n 32 768 32 767 N A 1 65 536 Value in degrees to use for sine operation Remarks e SIN is an operand not a command It can only be used as an argument to other commands and operators Examples Galil DMC Code Example MG SIN O 0 0000 MG SIN 90 1 0000 MG SIN 180 0 0000 MG SIN 270 0000 MG SIN 360 0 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SIN 45 316 MATH FUNCTIONS SQR Square Root SIE SQR n Usage variable SQR value Performs a function on a value or evaluated statement and returns a value Description The SQR operation takes the square root of the given number Arguments Argument Min Default Resolution Description Notes Value to use in square root If n lt
59. GR specifies the Gear Ratios for the geared axes in the electronic gearing mode The master axis is defined by the GA command Arguments Argument i Resolution Description Notes m Axis Slave axis to assign gear ratio n 1 65 536 Value of Gear Ratio of Slave n 0 disables gearing Remarks The gear ratio may be different for each geared axis The master can go in both directions When the geared motors must be coupled strongly to the master use the gantry mode GM Unless the GM command is set to 1 gearing is disabled in the following conditions o The gear ratio is set to 0 o A limit switch is reached o The axis is commanded to stop with the ST command Examples Galil DMC Code Example REM setup gearing where B axis is master for A and C axes gear GA N Specify master axis as N imaginary Axis GR 2 Specify gear ratio or 2 PRN 1000 BG N Move N axis 1000 counts wT 1000 MG _RPA _RPN will indicate 2000 on A and 1000 on N EN End program execution of gearing example XQ 12000 0000 1000 0000 GR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control GR 156 316 INDEPENDENT MOTION HM Home BIL TR LS Usage HMmm_ Argument is an axis mask Operand has special meaning see Remarks Description The HM command performs a three stage homing
60. Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control EN 138 316 PROGRAMMING ENDIF End of IF conditional statement BIN 5 ENDIF Usage ENDIFn Arguments specified with an implicit comma separated order Description The ENDIF command is used to designate the end of an IF conditional statement An IF conditional statement is formed by the combination of an IF and ENDIF command An ENDIF command must always be executed for every IF command that has been executed It is recommended that the user not include jump commands inside IF conditional statements since this causes re direction of command execution In this case the command interpreter may not execute an ENDIF command Arguments ENDIF is a command with no parameters Remarks e None Examples Galil DMC Code Example a5 IF C IN 1 0 IF conditional statement based on input 1 a IF C IN 2 0 2nd IF conditional statement executed if 1st IF conditional true MG IN1 AND IN2 ARE ACTIVE Message to be executed if 2nd IF conditional is true ELSE ELSE command for 2nd IF conditional statement MG ONLY IN1 IS ACTIVE Message to be executed if 2nd IF conditional is false ENDIF End of 2nd conditional statement ELSE ELSE command for 1st IF conditional statement ee IF C IN 2 0 3rd IF conditional statement executed if 1st IF conditional false MG ONLY IN2 IS ACTIVE Message to be executed if 3rd IF conditional statement
61. SSI or BiSS the AUTOERR should follow these guidlines IF_TC 143 do not employ any trippoints in folowing code because the timer interrupt is suspended Serial encoders can be disabled with the commands SIn 0 or SSn 0 where n is the axis indicator ABCDEFG or H a In order to re enable the timer interrupt issue TM n where n is the servo update period in us usually n 1000 See TM for more details Examples Galil DMC Code Example Code detects a checksum error and notifies the user AUTOERR MG EEPROM ERROR _RS EN Galil DMC Code Example Use for BiSS and SSI only SER firmware Distinguishing between a serial timeout condition and an EEProm condition AUTOERR IF _TC 143 REM BiSS or SSI timeout REM No trippoints in this clause REM Print message to DMC 4020 LCD LU 0 MG BiSS L1 MG Timeout L2 SSA 0 SSB 0 ELSE REM Checksum error REM trippoints ok here REM Print message to DMC 4020 LCD LU 0 MG EEProm L1 MG Z10 0 _RS L2 ENDIF EN 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AUTOERR 13 316 PROGRAMMING ERROR CONTROL SUBROUTINE H CMDERR command error automatic subroutine zO Description Automatic subroutine that runs code when a DMC code error occurs Without CMDERR defined if an error see TC command occurs in an application program running on the Galil controller the program and all threads wil
62. Setting n 2 3 Note DMC 3xx12 DMC 3xx17 1 6 N A MT must be set 1 or 1 Gain Setting n P 2 3 Notes DMC 3xx17 3 6 MT must be set 2 or 2 5 DMC 3xx16 i N A N A The 3xx16 AG is a range setting See table above e The axis must be in the motor off state MO before setting AG e The MT command must be issued prior to the AG command to set the proper range Examples Galil DMC Code Example ST 3 Stop any motion AM wait for motion to decel and stop MO Turn motor off MT 1 Set the A axis as a servo AG 2 Sets the highest amplifier gain for A axis on servo amplifier BN Save AG setting to EEPROM AG applies to DMC40x0 DMC41x3 DMC21x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AG 73 316 AI After Input SIN LT AI n Usage AIn Arguments specified with an implicit comma separated order Description TRIPPOINT The AI command is a trippoint used in motion programs to wait until after a specified input has changed state This command can be configured such that the controller will wait until the input goes high or the input goes low Arguments Argument i Resolution Description Notes n 1 General input to use for trippoint n High trigger n low trigger 1 Aux encoder input to use for trippoint Remarks e The Al command actually halts execution until spe
63. Stepper position Remarks e Arguments listed as _XXm are valid when m is a valid axis mask e The order of args specified in RD corresponds with the array order specified in the RA command e the operand RD contains the address for the next array element for recording e When recording _AFm the returned value is signed This means that when AQ is used to set unipolar inputs values on the upper half of the voltage range are sign extended Anding the value with 0000FFFF will return the expected unsigned value Examples Galil DMC Code Example DM errora 50 errorb 50 Define arrays RA errora errorb Specify arrays to be recorded RD _TEA _TEB Specify data source RC 1 Begin recording period is once every other servo sample JG 1000 BG Begin motion The GalilTools Realtime scope can often be used as an alternative to record array 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control RD 243 316 PROGRAMMING RE Return from Error Routine SIN L RE n Usage REn Arguments specified with an implicit comma separated order Description The RE command is used to end subroutines in application code An RE at the end of these routines causes a return to the main program Specific automatic error subroutines require the use of the RE command to end the code correctly Arguments Argument i Resolution Description Notes Determines state of interrupted trippoin
64. The record mode can also be used for a teach or learn of a motion path The GalilTools Realtime scope can often be used as an alternative to record array 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control RA 241 316 PROGRAMMING RC Record SEI RC no Ny1 RCn Arguments specified with an implicit comma separated order _RC Operand has special meaning see Remarks Usage Operands Description The RC command begins recording for the Automatic Record Array Mode RC 0 stops recording The record array mode loads source data specified by the RD command into the arrays defined by the RA command The address for the array element for the next recording can be interrogated with _RD eee me aS Ss a as n servo samples SNe leceNote Specify the number of records to n has special rules for the maximum perform setting See Remarks Remarks e Firmware Note Do not allocate or deallocate arrays DM DA while the Automatic Record Array Mode is running e GalilTools Note Do not download arrays from GaliTools or call the array Download or array DownloadFile functions while automatic record array mode is running e no non zero number automatically starts record mode e no returns status of recording 1 if recording 0 if not recording Second Parameter Rules e nj specifies the last array element to use for record mode e If arrays sp
65. all parameter states 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BN 94 316 SINE COMMUTATION BO Brushless Offset BARAL BOm n BO n n n n n n n n Usage BOm n Arguments specified with a single axis mask and an assignment BOn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The BO command sets a fixed offset on the command signal for sinusoidally commutated motors This may be used to offset any bias in the amplifier or can be used for phase initialization Arguments Argument i Resolution Description m Axis Axis to assign value n 20 65 536 Offset applied to DAC output in volts Remarks e When using an internal Galil sine drive each axis has two DACs Digital to Analog Converter BO sets the first DAC offset BQ sets the second Examples Galil DMC Code Example Assume internal Sine drive BO 1 set A axis first DAC to 1v offset BQ 2 set the A axis second DAC to 2v offset BO applies to DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BO 95 316 SYSTEM CONFIG BP Burn Program BIE Taf J BP Usage BP Command takes no arguments Description The BP command saves the application program in non volatile EEPROM me
66. and this number wil usually be 0 o HandleNum is the handk specifier where A is 1 B is 2 and so on o Module is the position of the module in the rack from 1 to 16 o BitNum is the I O point in the module from 1 to 4 Examples See Remarks Galil DMC Code Example MG IN 1 1 0000 GIN 1 print digital input 1 X x 1 000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control IN 40 316 MATH FUNCTIONS INT Integer part BIC INT n Usage __ variable INT value Performs a function on a value or evaluated statement and returns a value Description The INT operation returns the integer part of the given number Note that the modulus operator can be implemented with INT see example below Arguments Argument Min Max Default Resolution Description n 2 147 483 648 2 147 483 647 N A 1 65 536 Value to use in integer operation Remarks e INT is an operand not a command It can only be used as an argument to other commands and operators Examples Galil DMC Code Example MG INT 1 2 1 0000 MG INT 2 4 0000 Galil DMC Code Example AUTO modulus example x 103 prepare arguments y 3 JS mod call modulus MG z print return value EN subroutine integer remainder of x y 10 mod 3 1 arguments are x and y Return is in z mod z x y INT x y EN 2015 Galil Motion Control
67. array of Grape 600 and Orange 200 would place the first 600 registers in Grape and the next 200 registers in Orange The last 200 elements would be inaccesible from embedded code If the user then dimensioned the array Apple 200 the register mapping would change The first 200 registers would read write from Apple the next 600 from Grapef and finally the last 200 from Orange e For simplicity Galil recommends that a single contiguous array be dimensioned with the array name A Examples Galil DMC Code Example DA Deallocates all arrays DM a 400 Allocates array for Modbus Read write ME 0 Disables write access ME 1 Enables write access ME Interrogate current value Galil DMC Code Example This example is written for a Galil modbus master to an RIO 471x2 or DMC 30010 Master is E G DMC 21x3 RIO DMC 40x0 This code runs on the master Assumes a Modbus handle is available at H and that ME1 has been set on the remote device Mw 1 Turn on modbus wait DM write 2 Dimension an array for holding data to transmit write 0 1234 Assign an integer to element 0 MBH 0 16 1000 1 write Send the integer to register 1000 on the remote Galil Motion Control ME 196 316 write 0 42F6 Set the 32 bit float in two steps the value is 123 456 write 1 E978 MBH 0 16 2001 2 write Send the float to register 2001 on the remote note that register 2000 would have stepped on
68. as a negative 1 i e lt 1 the controller will utilize the current vector variable speed as the segment is profiled from the buffer Arguments Argument i Resolution Description Notes m i Coordinate plane to assign value n 22 000 000 0 Variable vector speed For MT 1 1 1 5 and 1 5 3 000 000 Variable vector speed For MT 2 2 2 5 and 2 5 Remarks e VW command is useful when vector segments exist in the buffer that use the lt and gt speed indicators for specific segment and corner speed control and the host needs to be able to dynamically change the nominal return operating speed e _Wm contains the vector speed variable of the specified coordinate system Examples Galil DMC Code Example VvVS 20000 Define vector speed variable to 20000 for the S coordinate system VP 1000 2000 lt 1 gt 100 Define vector speed variable for specific segment iWS 20000 VV applies to DMC40x0 DMC42x0 DMC41x3 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control VV 306 316 INTERROGATION WH Which Handle EN Usage WH Command takes no arguments Operand has special meaning see Remarks Description The WH command is used to identify the handle from which the command was received This is useful for determining what interface or handle you are connected to Arguments WH is an interrogation command with no parameter
69. assign value Incremental distance for n returns the current incremental 2 147 483 648 2 147 483 647 independent move distance specified Remarks e _PRm contains the current incremental distance for the specified axis Examples Galil DMC Code Example using PA PR you can query PR for the incremental distance DP 10000 PA 8000 IPR 2000 PR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control PR 230 316 INDEPENDENT MOTION PT Position Tracking Aon PTm n PT n n n n n n n n Usage PTm n ___ Arguments specified with a single axis mask and an assignment __ PTn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The PT command wil place the controller in the position tracking mode In this mode the controller will allow the user to issue absolute position commands that begin motion immediately without requiring a BG command The absolute position may be specified such that the axis will begin motion continue in the same direction reverse directions or decelerate to a stop Arguments Argument i Resolution Description Notes m Axis Axis to assign value 0 1 Setting for position tracking mode of n 1 enables PT mode n 0 disables motion P
70. at which the listing will end Galil DMC Code Example LS a 6 6 wr 200 List program starting at A through line 6 Hint Remember to quit the Edit Mode Q prior to giving the LS command DOS 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LS 189 316 INTERROGATION LV List Variables SIE LV Usage LV Command takes no arguments Description The LV command returns a listing of all of the program variables in memory The listing will be in alphabetical order Arguments LV is an interrogation command with no parameters Remarks e Use the _UL operand for total number of variables available for your controler o See the UL command for more details Examples Galil DMC Code Example SEY APPLE 60 0000 BOY 25 0000 ZEBRA 37 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LV 190 316 SYSTEM CONFIG LZ omit leading zeros BEI Usage LZn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The LZ command is used for formatting the values returned from interrogation commands variables and arrays By enabling the LZ function all leading zeros of returned values will be removed Arguments Argument Description Notes n Does not remove leading zeros from interrogated values Re
71. axes for single axis operation The motion is specified by the instructions VP and CR which specify linear and circular segments Up to 31 segments may be given before the Begin Sequence BGS command The number of available segments is queriable via the _LMm operand Arguments Argument mn Max Default Resolution Description Notes Omo ao o a a s __ FrstaxBspectied for vector moton Om N w n Axis Vtual axis spectied for vector mode Remarks Specifying one axis for vector mode is useful for obtaining sinusoidal motion on 1 axis using the CR command The Vector End VE command must be given after the last segment This allows the controller to properly decelerate Additional segments may be given during the motion when the buffer frees additional spaces for new segments It is the responsibility of the user to keep enough motion segments in the buffer to ensure continuous motion The first vector in a coordinated motion sequence defines the origin for that sequence All other vectors in the sequence are defined by their endpoints with respect to the start of the move sequence e _VMm contains instantaneous commanded vector velocity for the specified coordinate system S Enabling Vector Mode 1 Specify the desired coordinate system to use with the CA command S is default 2 Specify the vector plane to be used with the VMm0mi command If using tangent axis include that as the m2 parameter 1 EG for a AB vector p
72. be captured upon a low going signal from the specified digital input Arguments Argument i Resolution Description Multi Axis Mask Multi Axis Mask Encoder to latch Latch main encoder Encoder to latch Latch aux encoder Multi Axis Index input to trigger Main encoder is latched from the index pulse instead of a Mask latch digital input Remarks e Input 1 is used to latch the A axis e The command RL returns the latched position e _ALm contains the state of the specified latch 0 not armed 1 armed e The CN command can be used to change the polarity of the latch function e The latch function is available on incremental quadrature encoder inputs only For other position capture methods contact Galil Examples Galil DMC Code Example start AL AS Arm A axis latch JG 50000 Set up jog at 50000 counts sec BG A Begin the move loop Loop until latch has occurred JP Fo _ALA D RL A Transmit the latched position EN End of program Galil DMC Code Example f Ra REM Homing routine using the AL command to detect the Motor s index position start AL TA Arm A axis latch Latch will trigger off the index pulse JG 50000 Set up jog at 50000 counts sec BG A Begin the move loop Loop until latch has occurred JP loop _ALA 1 ST A Stop the jog AM A PAA _RLA Set up a move to return to the latched position BG A AM A wT 100 Allow for settling REM Checking that KI h
73. comma separated order Description Enabling the MV command causes the firmware to change the way it responds to function codes 3 and 4 Some modbus software packages may require function codes 3 and 4 to be switched Arguments Array Read Access See ME Function Code 3 Function Code 4 Function Code 3 Default Remarks e Use of the Galil commands AN AO require MV to be set to 0 Examples Galil DMC Code Example MV 1 Swap function code 3 and 4 from defaults e g for Array Reads MV applies to DMC30010 RIO 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control MV 207 316 ETHERNET MW Modbus wait BALI L Usage MWn Arguments specified with an implicit comma separated order Operands Bie Operand has special meaning see Remarks Description Enabling the MW command causes the controller to hold up execution of the program after sending a Modbus command until a response from the Modbus device has been received The MW command ensures that the command that was sent to the Modbus device was successfully received before continuing program execution Arguments Argument Value Description Notes nm 0 Disables Modbuswat Pt Enables Modbus wait Defaut Remarks n returns the state of the Modbus wat either 1 or 0 Tf a Modbus response is never received then thread 0 would jump to the TCPERR subroutine if it exists and an er
74. comma separated order Operand holds the value last set by the command Description The CE command configures the encoder to quadrature type or pulse and direction type It also allows inverting the polarity of the encoders which reverses the direction of the feedback The configuration applies independently to the main axes encoders and the auxiliary encoders Arguments Argument i Resolution Description Axis Axis to assign value Encoder configuration setting n is the sum of 2 integers M and N which configure main and auxiliary encoders See table below for configuration description Normal quadrature Normal quadrature Normal pulse and direction Normal pulse and direction Reversed quadrature Reversed quadrature Reversed pulse and direction Reversed pulse and direction For example n 10 implies 2 8 thus both encoders are reversed quadrature Remarks e When using a servo motor changing the CE type can cause the motor to run away When the MT command is configured for a stepper motor the auxiliary encoder used to count stepper pulses will be forced to pulse and direction e When using pulse and direction encoders the pulse signal is connected to CHA and the direction signal is connected to CHB e Axis must be in MO state prior to issuing the CE command Examples Galil DMC Code Example CE 2 Configure main encoder for reverse quad ICE et Interrogate configuration 2 v _CEA Assign
75. configuration to a variable ive 2 2 CE applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control CE 108 316 SYSTEM CONFIG CF Configure Unsolicited Messages Handle ae Usage CFmm Argument is an axis mask Operand has special meaning see Remarks Description The CF command sets the port for unsolicited messages The CF command directs the controller to send unsolicited responses to the Main or Aux Serial Port If equipped or to an Ethernet handle An unsolicited message is data generated by the controller which is not in response to a command sent by the host Arguments Argument i Resolution Description Notes m Handle Ethernet Handle to assign as unsolicited message port See Remarks Handle Set the port that sent the command as the unsolicited Not valid in message port program SS Hande Set main serial port as unsolicited message port Remarks e m reports the ASCII letter of the unsolicited message port e Examples of application code commands that will generate unsolicited messages follow Galil DMC Code Example MG Hello A message MG TG 15 A command that returns a response TP R RP A var A variable interogation var i thisIsAnError A dmc error will generate an error message Ethernet Handle as Unsolicited Message P
76. data cD 0 0 terminate Contour mode wait JP wait _CM lt gt 511 Spin on wait2 label until buffer is empty End of Contour Buffer Sequence EN must re issue DT command to pass the CD0 1 segment CM applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control CM 111 316 SYSTEM CONFIG IO CN Configure EE 5 CN ng nyz n2 N3 N4 Ns Usage CNn Arguments specified with an implicit comma separated order _CNO _CN1 _CN2 _CN3 _CN4 _CN5 Description The CN command configures the polarity of the limit switches home switches latch inputs the selective abort function and the program termination behavior of the abort input CN can also be used to map the amplifier enable signal to digital output 4 Arguments Argument Description no Limit switches active high Limit switches active low Default HM will drive motor forward when Home input is high See HM and FE commands HM will drive motor backward when Home input is high See HM and FE Default commands Latch input is active high Latch input is active low Default Configures inputs 5 6 7 8 13 14 15 16 as selective abort inputs for axes Will also trigger POSERR automatic subroutine A B C D E F G and H respectively if program is running Inputs 5 6 7 8 13 14 15 16 are configured as general use inputs Default Abort input will not t
77. e This is a binary operator takes two arguments and returns one value The result of this operation is a value which is not valid on its own It must be coupled with a command See examples below e Mathmatical operations are calculated left to right rather than multiplication and division calculations performed prior to addition and subraction o Example 1 2 3 9 not 7 e It is recommended that parenthesis be used when more than one mathmatical operation is combined in one command o Example var 10 30 60 30 evaluates as 302 o var 10 30 60 30 evalutes as 12 Examples Galil DMC Code Example ivari 1 2 var2 varl 1 MG var2 2 6 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 59 316 PROGRAMMING MATH FUNCTIONS lt Less than comparator E no lt n Usage variable valuel lt value2 Performs an operation between two values or evaluated statements Description Less than comparator for testing if one value is less than another Comparators are used in mathematical expressions IFs and in conditional jumps The result is a boolean Comparators in DMC Code Symbol Comparator gt Greater than lt Equal to Less than or equal to gt Greater than or equal to lt gt Not equal to Arguments Argument Min Max Default_ Resolution Description Notes mo 2 1a7 003 698 2 147 405647 WA_
78. e _TAn Contains the amplifier error status n 0 1 2 or 3 e If abrushed type servo motor is disabling and TA1 shows a Hall error use the BR command to set the axis as a brushed axis This causes the controler to ignore invalid Hall states Examples TA3 STATUS ELO Active Argument Min Max Default Resolution Description L n fo At Selects amp status byte to return BIT INTERROGATION ERROR CONTROL Galil DMC Code Example TA 1 1 bit 0 means Hall error for A axis TA 0 8 bit 3 means under voltage error for amp TA applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TA 276 316 INTERROGATION TB Tell Status Byte a TB Usage TB Command takes no arguments Operand has special meaning see Remarks Description The TB command returns status information from the controller as a decimal number Each bit of the status byte denotes an active condition when the bit is set high Arguments The following table describes the specific conditions reported with each bit of the TB report Tell Status Byte Response Bit Description Remarks e _TB Contains the status byte reported by the TB command Examples Galil DMC Code Example TB 33 Contouring on and Echo is on 245 2A0 32 1 33 Galil DMC Code Example Tes Tell status information 129 Executing
79. engagement period is y complete Then the phase difference can be adjusted for Note this example assumes forward motion JP wait _TDA lt p1 1000 IP _GPA Increment the difference to bring the master slave in position sync from the point that the GR1 command was issued EN End Program _GP applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control _GP 53 316 IO OPERAND ONLY _LF Forward Limit Switch Operand sat Usage variable _LF Operand has special meaning see Remarks Description The _LF operand contains the state of the forward limit Arguments Argument Min Max Default Resolution Description m A A N A Axis Axis of forward limit switch Remarks e _LFis an operand only with the following output o _LFm 1 when the limit switch state will alow motion in the positive direction o _LFm 0 when the limit switch state will not allow motion in the positive direction e This operand is not a direct readout of the digital input and is affected by the command CN e See Connecting Hardware in User Manual for active inactive state Values of _LF On Grounded for TTL or sufficient activation current flowing for optos 0 forward motion prohibited 1 forward motion allowed 0 forward motion prohibited Off Pullup for TTL or insufficient activation current flowi
80. error YRA _QSA The motor moves _QS step counts to correct for the error and YS is set back to 1 YR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control YR 313 316 STEPPER MOTOR YS Stepper Position Maintenance Mode Enable Status BAs jg YSm n YS n n n n n n n n Usage YSm n___ Arguments specified with a single axis mask and an assignment YSn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The YS command enabkes and disables the Stepper Position Maintenance Mode function YS also reacts to excessive position error condition as defined by the QS command Arguments Argument i Resolution Description Notes m Axis Axis to assign value Setting of the SPM n 0 disables SPM mode n 1 Enables SPM mode See n 0 1 mode Remarks Remarks e Both YSm and _YSm contain the value of n n is 1 when SPM mode is enabled and no error has occurred If a position error has occured n becomes 2 o Ifn 2 this indicates a position error condition defined as more than 3 full motor steps of position error o Issuing an n 1 wil clear the error Position Error Limit Microstep Setting YA Error QS Limit 1 3 2 6 16 48 64 Examples Galil DMC Code Example
81. execution Arguments Argument i Resolution Description Axis to assign Any combination of the axis is valid If no axis is specified command applies to all axis mm Remarks e Although many axes can be spcified the MC command will continue execution if one of the specified axis motion is completed Using MC with Stepper Motors o In the case of stepper motors MC will monitor the number of step pulses are generated to complete the move o The MC command is recommended when operating with stepper motors in leiu of AM since the generation of step pulses can be delayed due to the stepper motor smoothing function KS In this case the MC command would only be satisfied after all steps are generated Using MC as part of the MCTIME error routine 1 The command TW can be used to set an acceptable amount of time between when the motion profiler has completed and the encoder is in position if this condition is not satisfied a timeout error occurs 1 When a timeout occurs the trippoint will clear and the stop code will be set to 99 2 Thread 0 of the DMC program wil also jump to the special label MCTIME if present 1 See the MCTIME automatic subroutine TW and SC commands for more information Examples Galil DMC Code Example move Label move Tw 1000 Set motion complete timeout to 1000 milliseconds PR 2000 Position relative Move on A axis BG A Start the motion on A axis MC A after the move is complete on A a
82. galilmc com Galil Motion Control Kl 178 316 FILTER CONTROL KP Proportional Constant BAs jg KPm n KP n n n n n n n n Usage KPm n Arguments specified with a single axis mask and an assignment KPn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description KP designates the proportional constant in the controller filter The proportional gain outputs a control signal proportional to the amount of error The filter transfer function follows D z KP KD7 KI Arguments Argument i Max Resolution Description m A i Axis to assign value n 1 023 875 Value of proportional term Remarks e n wil return the currently set value of KP e KP now has four times more resolution as prior controllers and thus the same value as that of an Optima controller is four times less effective e For further details see the section Theory of Operation in the controller user manual Examples Galil DMC Code Example i IKP 12 Implicit notation KPA 8 Explicit notation Ke Zs Return value 8 IMG _KPA Message the operand for the A axis 8 Galil DMC Code Example REM Zeroing the PID filter allows the REM motor command signal to be REM used as a programmable DAC KI 0 Zero KI KP 0 Zero KP KD 0 Zero KD OF 1 2 Set one volt on A and two volts on B EN 2015 Galil Motion Control Correctio
83. master position is reached use MF or MR command Examples Galil DMC Code Example EG 700 1300 Engages the A and B axes at the master position 700 and 1300 respectively b _EGB Return the status of B axis 1 if engaged EG applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control EG 133 316 EI Event Interrupts SEI EI nz ng Nn3 SYSTEM CONFIG Usage EIn Arguments specified with an implicit comma separated order Operands _EI Operand has special meaning see Remarks Description The EI command is used to enable interrupts on events EI enables interrupts for the predefined event conditions in the table below When a condition e g Axis A profiled motion complete occurs after EI is armed a particular status byte value e g D0 or 208 is delivered to the host PC along with the interrupt Interrupts are issued as automatically dispatched UDP packets GalilTools version 1 2 1 0 or newer required for software support Arguments Argument Resolution Notes Description ni 16 bit interrupt mask 0 turns off interrupts See Remarks for bit mask n2 Used to select the specific digital input trigger Bit 15 8 bit input mask of n1 must be set for the n2 mask to be used n3 Remarks _EI contains the interrupt mask n1 n1 0 me
84. must exit ED mode before executing code Examples Galil DMC Code Example XQ apple 0 Start execution at label apple thread zero XQ data 2 Start execution at label data thread two XO s Start execution at line 0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control XQ 309 316 STEPPER MOTOR YA Step Drive Resolution BARAL YAm n YA n n n n n n n n Usage YAm n Arguments specified with a single axis mask and an assignment YAan Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description Specifies the microstepping resolution of the step drive for Stepper Position Maintenance SPM mode in microsteps per full motor step Consult your drive documentation to determine its microstepping setting See the table below for internal Galil stepper drives Arguments Argument i Resolution Description Axis to assign value Drive resolution in step YA has special functionality for certain hardware configurations counts motor See the rest of the notes in this table step for SPM mode 1 2 4 and 16 set the step resolution of the DMC 30016 to full half 1 4th and 1 16th microstepping respectively When full stepping n 1 on the 30016 the max gain will be 70 of value Valid settings see Notes for DMC 30016 set with AG Max current is available for any microstep
85. o The motion profiling on the axis is complete o If in jog JG mode the commanded motion is in the direction which moves away from the specified position Not valid for a slave during ECAM or Gearing use MF and MR If the direction of motion is reversed when in PT mode the starting position for AD is reinitialized to the position at which the motor is reversed The AD command is accurate to the number of counts that occur in 2 TM msec AD command wil be affected when the motion smoothing time constant IT is not 1 See IT command for further information AD measures incremental distance from start of move on one axis Examples Galil DMC Code Example DP 0 Zero position PR 10000 Specify position relative moves BG Begin motion AD 5000 After A reaches 5000 MG Halfway to A TP A Send message EN End Program AD applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AD 71 316 FILTER CONTROL AF Analog Feedback Select BARAL AFm n AF n n n n n n n n Usage AFm n Arguments specified with a single axis mask and an assignment AFn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The AF command configures analog feedback mode for the PID fitter The controller ADC can be used as position feedback f
86. or CDm n is sent Arguments Argument i Resolution Description Notes n 1 Set time interval for contour mode in 2 n samples 0 n 1 to pause the contour mode See Remarks Remarks e By default the sample period is 1 msec set by the TM command with n 1 the time interval would be 2 msec e n 1 allows a pre load of the contour buffer or to asynchronously pause the contour buffer DT 1 during contour mode will pause the contour buffer and commanded movement e A positive DT will resume contour mode from paused position of buffer e DT can be overridden with the t parameter within a CD segment Examples Galil DMC Code Example DT 4 Specifies time interval to be 16 msec 1TM1000 DT 73 Specifies time interval to be 128 msec Galil DMC Code Example REM basic contour example contoO Define label Cont0 CM ABCD Specify Contour Mode DT 4 Specify time increment for contour cD 200 350 150 500 Specify incremental positions on A B C and C axes A axis moves 200 counts B axis moves 350 counts C axis moves 150 counts C axis moves 500 counts cD 100 200 300 400 New position data cD 0 0 0 0 0 End of Contour Buffer Sequence wait wait for all segments to process buffer to empty wT 16 1 wait for 1 DT time segment 2 4 JP wait _CM lt gt 511 EN End program Galil DMC Code Example REM contour example for pre loading of contour buffer cont1
87. program and echo on 2A7 2A0 128 1 129 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TB 277 316 TC Tell Error Code BIE TC n Usage TCn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description INTERROGATION ERROR CONTROL The TC command reports programming or command errors detected by the controller The TC command returns a number between 1 and 255 This number is a code that reflects why a command was not accepted by the controller This command is useful when the controller halts execution of a program or when the response to a command is a question mark Arguments Argument Description Notes n Return the numerical code only Default TC Error Code List Tell Code Number Description Return the numerical code and human readable message Unrecognized command Command only valid from program Command not valid in program Operand error Input buffer full NYO or BR W Ny re Missing or string too long Error in 54 Question mark part of string 55 Missing or 56 Array index invalid or out of range 57 Bad function or array 58 Bad command response i e _GNX 59 Mismatched parentheses Galil Motion Control TC 278 316 60 71 80 Download error line too long or
88. same subroutine simultaneously at various stack depths o Support for recursion Although the subroutine stack is only 16 deep recursion is possible A stack depth of 16 is sufficient for many recursive tasks E G recursing axes handles and thread status o Parameter passing A caling command can explicitly specify the inputs to a subroutine The subroutine can pass one value back to the calling command More returns are possible with pass by reference and array passing e Constants Variables and Arrays may be passed up a subroutine stack e Variables may be passed by value or by reference If passed by value a copy is made in the subroutine stack leaving the original variable immutable If passed by reference the original variable s value will be changed when the subroutine writes to its local variable This is similar but not exactly analogous to a C pointer e A variable passed by reference is automatically dereferenced the variable pointer is not exposed to the user Following the C syntax a by reference pass is accomplished with the ampersand amp in the invoking call o IMPORTANT NOTE When passing a variable by reference do not allocate any new variables in the called subroutine e Arrays can be passed in the stack though only by reference No amp is used when passing arrays by reference is assumed To pass an array use its name in quotations o IMPORTANT NOTE Arrays to be passed must have names that are 6 characters or less
89. sequence for servo systems and a two stage sequence for stepper motors Arguments Argument Min Default Resolution Description Notes mm A A Multi Axis Mask Axis to performing Homing Routine Remarks e The FE command is derived of FE and FI commands and therefore you can create your own custom homing sequence by using the FE Find Edge and FI Find Index commands e The sequence of FE and FI commands varies depending upon if the axis is configured for a stepper or servo Step One Servos and Steppers e During the first stage of the homing sequence the motor moves at the user programmed speed until detecting a transition on the homing input for that axis The speed for step one is set with the SP command e The direction for this first stage is determined by the initial state of the homing input The state of the homing input can be configured using the second field of the CN command e Once the homing input changes state the motor decelerates to a stop Step Two Servos and Steppers e At the second stage the motor changes directions and approaches the transition again at the speed set with the HV command When the transition is detected the motor is stopped instantaneously Step Three Servos only e At the third stage the motor moves forward at the speed set with the HV command until it detects an index pulse via latch from the encoder It returns to the latched position and defines it as position 0 Operand _HMm state as a funct
90. signal low only turning on the red error LED If OE is set to 1 the motor whose position error TE equals or exceeds its threshold ER will be turned off MO POSERR is used to run code upon a position error for example to notify a host computer Arguments Label must be the first element on a line of code Remarks e Use RE to end the routine e POSERR runs on thread 0 Code does not need to be running in thread 0 for POSERR to be enabled e POSERR wil also run when OE1 is set for an axes and that axis is also setup for encoder failure detection see OA OT OV commands Examples Galil DMC Code Example main main program JP main REM simple example of POSERR POSERR MG POSERR RE Galil DMC Code Example N REM example of POSERR that checks for position error on each axis POSERR a 0 axis designator IF _TE a gt _ER a amp _OE a MG Position Error occured on a F1 0 axis ENDIF a a 1 JP POSERR a lt _BV loop until axes have been checked AI 1 wait until input 1 goes high ex safety switch SH RE 1 retrurn to main program Galil DMC Code Example REM POSERR example for checking to see if encoder failure occured REM The stop code will only update of the profilier is running at the time REM the encoder failure is detected POSERR a 0 loop IF _MO a 1 IF C_TE a lt _ER a amp C _OE a amp _OA a MG possible encoder failure on a Z1 0 axis ENDIF ENDIF a at l JP lo
91. time EN program execution output XQ 508 0000 1112 0000 IT applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control IT 170 316 INDEPENDENT MOTION JG Jog Bacs S JGm n JG n n n n n n n n Usage JGm n Arguments specified with a single axis mask and an assignment IGn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The JG command sets the jog mode and the jog slew speed of the axes Arguments Argument i Resolution Description m Axis Axis to assign value Virtual axis to assign value Value of jog speed in 15 000 000 For MT settings of 1 1 1 5 and 1 5 Servos 15 000 000 cnts second 3 000 000 3 000 000 Value of jog speed in For MT settings of 2 2 2 5 and 2 5 cnts second Steppers z Value of jog speed in X 50 000 000 50 000 000 cnts second DMC 31000 set to AF gt 5 Remarks e When jogging the motion controller profiles a continuous move at the commanded speed e To stop the motion use the ST command e JG 2 is the minimum non zero speed e _JGm contains the absolute value of the jog speed for the specified axis e The JG command wil set the SP register with the absolute value of the n value Resolution e The resolution of the JG command is dependent upon th
92. too many lines Record mode already running 81 No array or source specified 82 Undefined Array 83 Not a valid number 84 Too many elements 90 Only ABCD valid operand 97 Bad Binary Command Format 98 Binary Commands not valid in application program 99 Bad binary command number 100 Not valid when running ECAM 101 Improper index into ET 102 No master axis defined for ECAM 103 Master axis modulus greater than 256 EP value 104 Not valid when axis performing ECAM 105 EB1 command must be given first 106 Privilege Violation 110 No hall effect sensors detected 111 Must be made brushless by BA command 112 BZ command timeout 113 No movement in BZ command 114 BZ command runaway 118 Controller has GL1600 not GL1800 119 Not valid for axis configured as stepper 120 Bad Ethernet transmit not valid for PCI 121 Bad Ethernet packet received not valid for PCI 123 TCP lost sync not valid for PCI 124 Ethernet handle already in use not valid for PCI 125 No ARP response from IP address not valid for PCI 126 Closed Ethernet handle not valid for PCI 127 Illegal Modbus function code not valid for PCI 128 IP address not valid not valid for PCI 130 Remote IO command error not valid for PCI 131
93. will not servo verify encoder is functional If it is then re verify hall wiring 5 Issue the BC command then issue a small jog until a hall transition occurs 6 The motor is now fully commutated based off of the hall sensor feedback 7 Optional Use the BB command to correct for hall offsets from true magnetic 0 of the motor Operand Usage e _BCm contains the state of the Hall sensor inputs This value should be between 1 and 6 0 and 7 are invalid hall states Examples Galil DMC Code Example BA A Enable sine drive BMA 2000 Set brushless modulus to 2000 cnts BIA 4 Hall inputs on IN4 5 and 6 MG _BCA Read hall state EN Galil DMC Code Example _ REM Example for use with internal sine amp ex BA A BMA 2000 BIA 1 use hall sensor inputs on the Galil BC A enable brushless calibration bc _BCA store hall state SH A enable amplifier JGA 500 BG A begin jog hal1 I3P hall _BCA bc wait for a hall transition STA MG Commutation Complete EN BC applies to DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BC 87 316 SINE COMMUTATION BD Brushless Degrees BERLU S BDm n BD n n n n n n n n Usage BDm n__ Arguments specified with a single axis mask and an assignment BDn Arguments specified with an implicit comma separated order Operand
94. 0 DMC42x0 DMC41x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 162 316 PROGRAMMING IF iF conditional statement SIN 5 IF ex Usage IFn Arguments specified with an implicit comma separated order Description The IF command is used in conjunction with an ENDIF command to form an IF conditional statement The arguments consist of one or more conditional statements and each condition must be enclosed with parenthesis If the conditional statement s evaluates true the command interpreter will continue executing commands which follow the IF command If the conditional statement evaluates false the controller will ignore commands until the associated ENDIF command or an ELSE command occurs in the program Arguments Argument Min Max Default Resolution Description Notes ex NAINA LNA Expression_ Conditional statement for IF statement Remarks e Conditions are tested with the following logical operators o lt less than or equal to gt greater than equal to lt less than or equal to gt greater than or equal to o lt gt not equal e Bit wise operators and amp can be used to evaluate multiple conditions e A true condition 1 and an false condition 0 e Each condition must be placed in parenthesis for proper evaluation by the controller O0 00 Galil DMC Code Example IF Cvar0 1 amp var1 2 va
95. 0 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TW 294 316 SYSTEM CONFIG UI User Interrupt BIE UI n Usage UIn Arguments specified with an implicit comma separated order Description The UI command allows user defined interrupts to be created UI can generate 16 different status bytes FO to FF 240 255 corresponding to UIO to UIL5 UI pushes a user defined status byte into the EI queue When the UI command e g UI5 is executed the status byte value e g F5 or 245 is queued up for transmission to the host along with any other interrupts Arguments Argument Min Max Default_ Resolution Description Notes _ n n Jo SC Ct Ci Sethe status byte for the interrupt Status Byte dec Condition Status Byte dec Condition F9 249 UID was executed FB 251 UIL1 was executed FD 253 UIL3 was executed FF 255 UIL5 was executed Remarks e The UDP interrupt packet dispatch may be delayed depending on the number of interrupts in the queue o If immediate packet dispatch is required use the message command MG to send a unique message to the host software e EI h must be set to a valid UDP port set by the host not the DMC code is recommended before any interrupt packet will be dispatched Examples Galil DMC Code Example JG 5000 Jog at 5000 counts s BG A Begin motion AS A wait for at speed UI 1
96. 005 03 A o Error 1 bit The error bit is active low 1 indicates that the transmitted position information has been verified by the readhead s internal safety checking algorithm and is correct 0 indicates that the internal check has failed and the position information should not be trusted The error bit is also set to 0 if the temperature exceeds the maximum specification for the product o Warning 1 bit The warning bit is active low 0 indicates that the encoder scale and or reading window should be cleaned Note that the warning bit is not an indication of the trustworthiness of the position data Only the error bit should be used for this purpose Examples Galil DMC Code Example configure SY for Renishaw Resolute encoder SYA 0 SY applies to SER 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SY 275 316 TA Tell amplifier error status SEI TA n Usage TAn Arguments specified with an implicit comma separated order _TAO Operands in Operand has special meaning see Remarks _TA3 Description The command returns the amplifier error status The value is decimal and represents an 8 bit value Bit 7 is most significant bit 0 is least Arguments Tell Amplifier Error Status Bit Definition TAI BIT STATUS STATUS 7 Under Voltage Over Voltage 0 Over Current Hall Error A Axis Remarks TA2 STATUS Peak Current A Axis
97. 010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control MW 209 316 FILTER CONTROL NB Notch Bandwidth BAs jg NBm n NB n n n n n n n n Usage NBm n__ Arguments specified with a single axis mask and an assignment NB e Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The NB command sets real part of the notch poles In other words the NB controls the range of frequencies that will be attenuated Arguments Argument i Resolution Description Notes m i Axis to assign value n 0 i Value of the notch bandwidth Max value dependent upon TM setting see in Hz Remarks Remarks e _NBm contains the value of the notch bandwidth for the specified axis NB also determines the ratio of NB NZ which controls the attenuation or depth of the notch See NZ for more details See the NF command for recommendations on choosing NZ NB and NF values See Application note 2431 for additional information on setting the NF NB and NZ commands o http www galilmc com support appnotes optima note2431 pdf Maximum Range e The maximum n argument is specified in Hz and is calculated by the equation below 1 16XTM X10 o where TM is specified in microseconds o The default TM is 1000 therefore default maximum NB value 1 16x1000E 6 62 5 Hz Examples Galil DM
98. 0c s in 100 samples PVA 100 0 100 Command X axis to move another 100 counts reaching an ending speed of Oc s in 100 samples PVA 0 Command X axis to exit PVT mode BT Ac Begin PVT mode MG _BTA Query number of PVT segments executed 3 0000 BT applies to DMC40x0 DMC42x0 DMC41x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BT 99 316 SYSTEM CONFIG BV Burn Variables and Arra y BACs L Usage Bv Command takes no arguments Operand has special meaning see Remarks Description The BV command saves the controller variables and arrays in non volatile EEPROM memory This command typically takes up to 2 seconds to execute and must not be interrupted The controller returns a when the Burn is complete Arguments The BV command has no arguments Remarks e _BV returns the number of controller axes e This command will store the ECAM table values in non volatile EEPROM memory e Board rev C and firmware 1 1B added support for high performance parameter and variable burning For serial numbers under BZ 579 and for all firmware earlier than 1 1B the following limitations apply o during a BV the servo wil disable for a brief period roughly 540ms This can be prevented by first issuing an MO This is not applicable to stepper motors o BV is not valid while running and will cause a TC code of 7 Command not valid while running e Th
99. 0x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LIMSWI 17 316 PROGRAMMING SUBROUTINE MCTIME mc command timeout automatic subroutine SIN 5 MCTIME Description Automatic sub used to run user code if a Motion Complete MC trippoint times out If the motor position does not reach or pass the target within the specified timeout TW MCTIME wil run if present MC uses position from TP for servos or TD for steppers Arguments Label must be the first element on a line of code Remarks e Use EN to terminate the subroutine Examples Galil DMC Code Example begin Begin main program TwA 1000 Set the time out to 1000 ms PRA 10000 Position relative BG A Begin motion MC A Motion Complete trip point EN End main program MCTIME Motion Complete Subroutine MG A fell short Send out a message EN 1 End subroutine MCTIME applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control MCTIME 18 316 SUBROUTINE H POSERR Position error automatic subroutine ae Description Automatic subroutine that runs user code when a position error event occurs The factory default behavior of the Galil controller upon a position error _TEn gt _ERn is to drive the error
100. 1 to 4 Examples Galil DMC Code Example main SB 5 Set digital output 5 SB 1 Set digital output 1 cB 53 Clear digital output 5 cp 1s Clear digital output 1 EN Galil DMC Code Example modbus REM connect to modubs slave at IP address 192 168 1 50 IHH 192 168 1 50 lt 502 gt 2 wT 100 SB 8001 set bit 1 on modbus slave wT 10 cB 8003 set bit 3 on modbus slave EN For detailed information on connecting to a Modbus slave see http www galilmc com techtalk io control setting up and rio as extended io for a controller 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SB 256 316 INTERROGATION SC Stop Code Baca S SC mm Usage SCmm Argument is an axis mask Operand has special meaning see Remarks Description The Stop Code command returns a number indicating why a motor has stopped Arguments Argument Min Default Resolution Description Notes mm A N A Multi Axis Mask Axis to query stop code Omitting argument shows stop code for A axis Remarks e When SC is issued the controller reponds with a number for the axis queried The number is interpreted as follows Stop Code Table Stop Code Number Meaning Motors are running independent mode Motors decelerating or stopped at commanded independent position Decelerating or stopped by FWD limit switch or soft limit FL Decelerating or stopped by REV limit switch or soft limit BL Decelerat
101. 10 wait briefly for the transaction to occur MG _RO1 8 0 display the raw data returned from the server JS print call the time print subroutine EN print MG _RT2 F2 0 N print the current hours MG _RT1 F2 0 N print the current minutes MG _RTO F2 0 print the current seconds EN Example output CF93127A Y 16 17 14 IH applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control IH 165 316 10 II Input Interrupt BI f II no n1 02 03 Usage In Arguments specified with an implicit comma separated order Description The I command enables the input interrupt function for the specified inputs If any of the specified inputs are activated during program execution the program will jump to the subroutine with label ININT Any trippoints set by the program will be cleared but can be re enabled by the proper termination of the interrupt subroutine using RI Arguments Argument Min Max Default Resolution Description Notes no 0 8 0 1 Lowest input to use for interrupt trigger no 0 disables input interrupt Highest input to use for interrupt trigger n4 must be gt no If omitted ni n 0 Cm h hb h h Use bitmask as alternative selection of If no and nq used n is ignored see n3 0 255 0 1 Bitmask specifying required input state fo
102. 10 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SD 258 316 FILTER CONTROL SH Servo Here BARL SH mm Usage SHmm Argument is an axis mask Description The SH commands tells the controller to use the current motor position as the command position and to enable servo control at the current position Arguments Argument Min Max Default Resolution Description Notes mm A A A Multi Axis Mask Axis to enable Remarks e The SH command changes the coordinate system o Therefore all position commands given prior to SH must be repeated Otherwise the controller produces incorrect motion e This command can be useful when the position of a motor has been manually adjusted following a motor off MO command Examples Galil DMC Code Example SH A servo on the A axis Galil DMC Code Example show how issuing SH clears position error by resetting the coordinate system MO A disable the A axis TE A check error on A axis 12435 large error due to manual motion TP A Check position 12435 ISH A enable A axis doing so clears the error TE A check error again 0 TP A confirm position hasn t changed 12435 SH applies to DMC500x0 DMC40x0 DMC42x0 DMC41x3 DMC30010 DMC21x3 DMC18x6 DMC18x2 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SH 259 316 SYSTEM CONFIG
103. 1x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ET 145 316 EW ECAM Widen Segment S EW no nz nNg n3 Description Usage EW n Arguments specified with an implicit comma separated order _EWO _Ewl s Operands EW2 Operand has special meaning see Remarks _EW3 ECAM GEARING The EW command allows widening the length of one or two ECAM segments beyond the width specified by EP For ECAM tables with one or two long linear sections this allows placing more points in the curved sections of the table There are only two widened segments and if used they are common for all ECAM axes Arguments Argument Default Resolution Description Notes no 1 Index of first widened segment If ng 1 no segment is widened ni 1 Length of first widened segment In master counts n2 Index of second widened segment If n2 1 no segment is widened n2 must be gt ng n3 2 147 483 647 0 Remarks Length of second widened segment In master counts e Remember that the widened segment lengths must be taken into account when determining the modulus EM for the master e The second widened segment cannot be used unless the first widened segment is also being used e The segments chosen should not be the first or last segments or consecutive segments Oper
104. 293 TW Timeout for MC trippoint 294 Ul User Interrupt 295 UL Upload 296 VA Vector Acceleration 297 VD Vector Deceleration 298 VE Vector Sequence End 299 VF Variable Format 300 VM Vector Mode 301 VP Vector Position 302 VR Vector Speed Ratio 304 VS Vector Speed 305 VV Vector Speed Variable 306 WH Which Handle 307 WT Wait 308 XQ Execute Program 309 YA Step Drive Resolution 310 YB Step Motor Resolution 311 YC Encoder Resolution 312 YR Error Correction 313 YS Stepper Position Maintenance Mode Enable Status 314 ZA User Data Record Variables 315 ZS Zero Subroutine Stack 316 Galil Motion Control Table of Content 7 316 PROGRAMMING Comment BI L Description The allows for a user to insert in a comment on a blank line after a command following a semicolon See examples for valid uses of Arguments Argument Description Notes str Comments added into Comment strings are restricted to the maximum row size for a program This will vary per program controler Remarks e Comments will be downloaded to controller thus taking up program space o See REM for comments that will not download to controller Examples Galil DMC Code Example Include an example like this one in the program SH AB Comments following a command MUST be proceeded by a semi colon KP 10 This is NOT valid use of the 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 8 316 S
105. 7 with MT 1 for servo operation a BC is not valid with the 2PB option See BZ e There are several methods to initialize a motor with the Galil sine amplifier They are listed below Commutation of a Gali Sine Drive Command Description BC BI Uses hall sensors to commutate until a hall transition is encountered Drive then commutates sinusoidally BX Uses an algorithm to determine phase angle with minimal motion BZ Drives the motor to a known magnetic phase Drive then commutates sinusoidally BX Initialization Steps 1 Set axes enabled for sine amp with the BA command 2 Set motor modulo with the BM command 3 Set OE1 for motor runaway 4 Issue BX1 to test at smaller voltage 1 If error code 160 occurs try a larger voltage If motion is occuring then check that the encoder is working Ensure that the timeout time is long enough for BX BX lt o If increasing o doesn t help invert the encoder direction with CE If BX is successful issue SH Ensure the motor holds position 6 Attempt a jog If the motor jogs then the initialization is complete 1 If the motor shuts off due to position error retry BX Invert the encoder direction with CE if that hasn t been attempted uo Examples Galil DMC Code Example REM Simple Example BA A BMA 2000 BXA 3 bxa JP bxa _BXA lt gt 3 ENDIF Galil DMC Code Example REM Detailed Example com a 0 0 A axis 1 B axis Galil Motion Control
106. 83 0 77 0 71 0 67 0 63 0 59 0 56 0 53 0 50 0 48 0 45 0 43 0 42 0 40 0 38 Remarks 0 37 See Clock Frequency Table e There are two items required when connecting a BiSS encoder special BiSS firmware and a hardware upgrade on the controller s internal ICM board e Requires BiSS or SER option at time of order e SIm Returns the configuration parameters e nj A positive number designates Absolute Position mode The BiSS data is returned as an unsigned integer of bit size indicated in n1 If encoder is used and position in integer counts exceeds 2 1 1 the value in counts will overflow to zero Likewise movement in the negative direction past zero will result in the highest integer value returned e nz A negative number designates Continuous mode This will cause a BiSS encoder to act as an incremental encoder allowing the controller to count past the max or min integer value of the encoder Note when the controller is powered down the absolute value of the encoder is returned and any overflow counts are lost e BiSS clock MA frequency is set with the o argument and has the following form Galil Motion Control SS 268 316 o MA freq 20 MHz 2 0 1 e Axis must be in MO state prior to issuing the SS command Operand Usage e _SSm Returns 4 bits of axis status data where n is the axis designator used o SERERR is an automa
107. 8x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AR 80 316 TRIPPOINT AS At Speed SIN LIS AS mm Usage ASmm __ Argument is an axis mask Description The AS command is a trippoint that occurs when the generated motion profile has reached the specified speed This command will hold up execution of the following command until the commanded speed has been reached The AS command wil operate after either accelerating or decelerating Arguments Argument Min Max Default Resolution Description mm A AS A Multi Axis Mask Axes to use for AS trippoint Remarks e If the speed is not reached the trippoint will be triggered after the speed begins diverging from the AS value e The AS command applies to a trapezoidal velocity profile only with linear acceleration AS used with Smoothing profiling will be inaccurate Examples Galil DMC Code Example speed Program PR 100000 Specify position SP 10000 Specify speed BG A Begin A AS A After speed is reached MG At Speed Print Message EN End programm AS applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AS 81 316 AT at Time SN LT AT no Ny Usage AT n Arguments specified with an implicit comma separated order
108. AM table entries to 200 400 ET 400 800 Set second ECAM table entries to 400 800 var _Ec Set the ECAM index value to a variable EC applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control EC 131 316 ED edit EARN Usage EDn Arguments specified with an implicit comma separated order Operands _ED1 Operand has special meaning see Remarks _ED4 Description PROGRAMMING The ED command puts the controller into the Edit subsystem The ED command is used when using Telnet style interface not Galil Software In the Edit subsystem programs can be created changed or destroyed Arguments The ED command is not supported on the DMC 30000 controller The DMC30000 loads and runs its program directly from flash Remarks Operand Usage _EDO contains the line number of the last line to have an error _EDO returns 0 if no error has occurred _ED1 returns 1 if no error has occurred determine which thread it is running in See example below Examples _ED1 contains the number of the thread where the error occurred for multitasking _ED4 when evaluated in an embedded code thread this operand will contain the thread id of the calling thread This is useful for DMC code to Galil DMC Code Example Using _ED4 xQ id 1 XQ id 2 xQ id 3 XQ id 4 xq id 5 XQ id 6 xQ
109. C Code Example NBA 10 Sets the real part of the notch pole to 10 2 Hz notch _NBA Sets the variable notch equal to the notch bandwidth value for the A axis NB applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control NB 210 316 FILTER CONTROL NF Notch Frequency BAs jg NFm n NF n n n n n n n n Usage NFm n Arguments specified with a single axis mask and an assignment NFn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The NF command sets the frequency of the notch filter which is placed in series with the PID compensation Arguments Argument i Resolution Description m Axis Axis to assign value n x 1 filter Remarks Remarks e _NFm contains the value of notch filter for the specified axis n Returns the value of the Notch fitter for the specified axis n 0 disables the notch See Application note 2431 for additonal information on setting the NF NB and NZ commands o http www galilmc com support appnotes optima note2431 pdf Chosing NF NB and NZ 1 Asimple way for attaining NF NB and NZ parameters is to follow these simple rules 1 Estimate the resonance frequency GaliTools Scope with cursors or Galil s FAS software 2 Set NF equal to the resonance frequency 3 S
110. CD Contour Data 107 CE Configure Encoder 108 CF Configure Unsolicited Messages Handle 109 Galil Motion Control Table of Content 3 316 Cl Configure Communication Interrupt 110 CM Contour Mode 111 CN Configure 112 CR Circle 114 CS Clear Sequence 116 CW Copyright information and Data Adjustment bit on off 117 DA Deallocate Variables and Arrays 118 DC Deceleration 119 DE Dual Auxiliary Encoder Position 120 DF Dual Feedback DV feedback swap 121 DH DHCP Client Enable 122 DL Download 123 DM Dimension Array 124 DP Define Position 125 DR Configures O Data Record Update Rate 126 DT Delta Time 127 DV Dual Velocity Dual Loop 128 EA Choose ECAM master 129 EB Enable ECAM 130 EC ECAM Counter 131 ED Edit 132 EG ECAM go engage 133 El Event Interrupts 134 ELSE Else function for use with IF conditional statement 136 EM Ecam modulus 137 EN End 138 ENDIF End of IF conditional statement 139 EO Echo 140 EP Cam table master interval and phase shift 141 EQ ECAM quit disengage 142 ER Error Limit 143 ES Ellipse Scale 144 ET Electronic cam table 145 EW ECAM Widen Segment 146 EY ECAM Cycle Count 147 FA Acceleration Feedforward 148 FE Find Edge 149 Fl Find Index 150 FL Forward Software Limit 151 FV Velocity Feedforward 152 GA Master Axis for Gearing 153 GD Gear Distance 154 GM Gantry mode 155 GR_ Gear Ratio 156 HM Home 157 HS Handle Assignment Switch 158 HV Homing Velocity 159 HX Halt Execution 160 IA IP Address 161 ID Identify 162 IF
111. Corrections Feedback documentation galilmc com Galil Motion Control INT 41 316 Io OUT Read digital output BIE OUT n Usage variable OUT value Performs a function on a value or evaluated statement and returns a value Description Returns the value of the given digital output either 0 or 1 Arguments Argument i Resolution Description Notes n 1 General output to query n 1 Read Modbus slave bit See Remarks Remarks e OUT is an operand not a command It can only be used as an argument to other commands and operators e n SlaveAddress 10000 HandleNum 1000 Module 1 4 Bitnum 1 o Slave Address is used when the ModBus device has slave devices connected to it and specified as Addresses 0 to 255 Please note that the use of slave devices for modbus are very rare and this number wil usually be 0 o HandleNum is the handle specifier where A is 1 B is 2 and so on o Module is the position of the module in the rack from 1 to 16 o BitNum is the J O point in the module from 1 to 4 Examples Galil DMC Code Example MG oUT 1 print state of digital output 1 1 0000 x ouT 1 assign state of digital output 1 to a variable 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control OUT 42 316 REAL convert Floating Point to Galil 4 2 BIE REAL n Usage variable REAL value Performs a function on a
112. DMC 30010 Firmware Command Reference 08 07 15 2015 Galil Motion Control Table of Content Table of Content 2 Comment 8 Subtraction Operator 9 Label Designator 10 AMPERR Amplifier error automatic subroutine 11 AUTO Subroutine to run automatically upon power up 12 AUTOERR Bootup Error Automatic Subroutine 13 CMDERR Command error automatic subroutine 14 COMINT Communication interrupt automatic subroutine 15 ININT Input interrupt automatic subroutine 16 LIMSWI Limit switch automatic subroutine 17 MCTIME MC command timeout automatic subroutine 18 POSERR Position error automatic subroutine 19 SERERR_ Serial Encoder Error Automatic Subroutine 20 TCPERR Ethernet communication error automatic subroutine 21 Hexadecimal 22 Modulo Operator 23 amp JS subroutine pass variable by reference 24 amp Bitwise AND Operator 25 Parentheses order of operations 26 Multiplication Operator 27 _ Division Operator 28 Semicolon Command Delimiter 29 ABS Absolute value 30 ACOS Inverse cosine 31 AN Analog Input Query 32 AO Analog Output Query 33 ASIN Inverse sine 34 ATAN Inverse tangent 35 COM Bitwise complement 36 COS Cosine 37 FLOT Convert Galil 4 2 to Floating Point 38 FRAC Fractional part 39 IN Read digital input 40 INT Integer part 41 OUT Read digital output 42 REAL Convert Floating Point to Galil 4 2 43 RND Round 44 SIN Sine 45 SQR_ Square Root 46 TAN Tangent 47 Square Brackets Array I
113. DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BA 85 316 SINE COMMUTATION BB Brushless Phase Begins BARL BBm n BB n n n n n n n n Usage BBm n___ Arguments specified with a single axis mask and an assignment BBn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The BB function describes the position offset between the Hall transition point and theta 0 for a sinusoidally commutated motor This is used when doing hall initialization of a sine commutated drive Arguments Argument i Resolution Description m Axis Axis to assign value n 1 32 Phase offset of hall sensors Remarks e This command must be saved in non volatile memory to be effective upon reset Examples Galil DMC Code Example BB 30 60 The offsets for the Y and w axes are 30 and 60 respectively Galil DMC Code Example BB 30 set offset of 30 degrees for A axis BB applies to DMC40x0 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BB 86 316 SINE COMMUTATION BC Brushless Calibration Bacs Aon BC mm Usage BCmm_ Argument is an axis mask Operand has special meaning see Remarks Description The BC command is used to initia
114. DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control CF 109 316 SYSTEM CONFIG CI Configure Communication Interrupt BEI CI No Ny Usage CIn Arguments specified with an implicit comma separated order Description The CI command configures program interrupts based on input of characters over the communication port The command configures a program interrupt based on characters received on communications port 1 the MAIN serial port An interrupt causes program flow to jump to the COMINT subroutine If multiple program threads are used the COMINT subroutine runs in thread 0 and the remaining threads continue to run without interruption The characters received can be accessed via the operands P1CH P1ST PiNM P1iCD Arguments Argument Description no Clear interrupt data buffer Do not interrupt Default Interrupt on carriage return Interrupt on any character Main serial port configured as standard port for input of Galil Default CI execution disabled commands Data received will not be interpreted as a Main serial port configured for CI execution command Remarks e For more see Operator Data Entry Mode in the user manual Examples Galil DMC Code Example er 2 a5 Interrupt on a single character received from serial port CT 403 Reenable port for standard Galil co
115. DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control IK 167 316 FILTER CONTROL IL Integrator Limit I wA ATs j ILm n IL n n n n n n n n Usage Ilm n___ Arguments specified with a single axis mask and an assignment In Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The IL command limits the effect of the integrator gain in the filter to a certain voltage Arguments Argument i Resolution Description Notes m Axis Axis to assign value Value of Integrator limit n lt 0 negative value freezes the effect of the n 20 65 536 p in volts integrator during the move Remarks e IL is the absolute value of the integrator limit For example o ILA 2 limits the output of the integrator of the A axis to the 2 Volt range o KD and KP terms remain active in any case The output from the KD and KP terms is not affected e A negative parameter will freeze the effect of the integrator during the move For Example o ILA 3 limits the integrator output of the A axis to 3V but freezes the contribution of the Integrator loop during motion e Tf at the start of the motion the integrator output is 1 6 Volts that level will be maintained through the move and the integrator will not accumulate during the move e Once the profi
116. EN Prints Three if this line is called i 3 REM Controller responds with REM One REM Two REM Three 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control JS 176 316 FILTER CONTROL KD Derivative Constant BAs jg KDm n KD n n n n n n n n Usage KDm n___ Arguments specified with a single axis mask and an assignment KDn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description KD designates the derivative constant in the control fiter The derivative gain outputs a voltage based on the rate of change of the error The filter transfer function follows D z KP KD2 KI Arguments Argument i Max Resolution Description m A i Axis to assign value n 4 095 875 Value of derivative term Remarks e n wil return the currently set value of KD e m wil set the KD value for all axes channels e For further details see the section Theory of Operation in the controller user manual Examples Galil DMC Code Example KDA 8 Explicit notation to set A KO 83 Implicit notation to set A KD Returns A value 8 KDA Return A value 8 MG _KDA Message the operand for the A axis 8 Galil DMC Code Example REM Zeroing the PID filter allows the REM motor command signal to be REM used as a programmable DAC KI 0 Zero KI KP Q Zero KP KD
117. EN 1 1 COMINT applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO0 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control COMINT 15 316 PROGRAMMING IO SUBROUTINE FININT Input interrupt automatic subroutine BIN D Description Automatic subroutine that runs upon a state transition of digital inputs ININT is configured with I ININT runs in thread 0 Arguments Label must be the first element on a line of code Remarks e Use the Il command to enable the routine e Use RI to exit the routine e To make an unconditional jump from ININT there are two methods for re enabling the interrupt capability o Issue a ZS and then re issue the command II before the JP o or use a null routine The null routine allows for the execution of the RI command before the unconditional jump For more information see Application Note 2418 http www galimc com support appnotes optima note2418 pdf Examples Galil DMC Code Example EF II 1 arm digital input 1 EN End thread zero i ININT Automatic sub Runs on input event MG Inputs _TI0 Display status of inputs 1 8 wT 100 Debounce input RI Return from interrupt ININT applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ININT 16 316 PROGRAMMI
118. ET n n n n n n n n ET no 1 n n n n n n n Usage ET n Arguments specified with an implicit comma separated order Description The ET command sets the ECAM tabk entries for the slave axes The values of the master axes are not required The slave entry n is the position of the slave axes when the master is at the point m i o where iis the interval and o is the offset as determined by the EP command Arguments Argument Mn _ Max Defaut Resolution _____Descrption___ _Notes_ Index of the ECAM table entry Position of the slave axis at the specified table point ASE 2 147 483 647 0 Remarks e no can be omitted only if EC has initialized the index count In this case each ET command will increment the index counter by 1 e n Returns the slave position for the specified point Examples Galil DMC Code Example ET LO 0 0 Specifies the position of the slave axes A and C to be synchronized with the starting point of the master ETL1J 1200 400 Specifies the position of the slave axes A and C to be synchronized with the second point of the master EC 0 Set the table index value to 0 the first element in the table ET 0 0 Specifies the position of the slave axes A and C to be synchronized with the starting point of the master ET 1360 400 Specifies the position of the slave axes A and C to be synchronized with the second point of the master ET applies to DMC40x0 DMC42x0 DMC4
119. G Begin find edge FE A Only find edge on A BG A FE applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control FE 149 316 INDEPENDENT MOTION FI Find Index ARER SS FI mm Usage FImm Argument is an axis mask Description The FI and BG commands move the motor until an encoder index pulse is detected Arguments Argument Min Default Resolution Description Notes mm A N A Multi Axis Mask Axis to Find Index Remarks e The controller looks for a transition from low to high There are 2 stages to the FI command The first stage jogs the motor at the speed and direction of the JG command untila transition is detected on the index line When the transition is detected the position is latched and the motor will decelerate to astop In the second stage the motor will reverse direction and move to the latched position of the index pulse at the speed set by the HV command At the conclusion of FI the position is defined as zero e Find Index only searches for a change in state on the Index Use FE to search for the Home Use HM Home to search for both the Home input and the Index Remember to specify BG after each of these commands Examples Galil DMC Code Example home Home Routine JG 500 Set speed and forward direction FI A Find index BG A Begin motion AM A After moti
120. Galil DMC Code Example Bitwise use tvarl F 00001111 var2 FO 1111000 IMG Cvarl amp var2 0 0000 MG varl 15 0000 MG var2 240 0000 Galil DMC Code Example Conditional Use varl F 00001111 var2 F0 1111000 IF varl F amp Cvar2 F1 ELSE MG False ENDIF EN REM Returned False 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control amp 25 316 MATH FUNCTIONS 1 Parentheses order of operations lt a a n Description The parentheses denote the order of math and logical operations Arguments Argument Min Max Default Resolution Description n 2 147 483 648 2 147 483 647 9999 N A 1 65 536 Math or logical expression for evaluation Remarks e Note that the controller evaluates expressions from left to right and does not follow academic algebraic standards e g multiplication and division first followed by addition or subtraction e It is required to use parentheticals to ensure intended mathematical precedence Examples Galil DMC Code Example IMG 1 2 3 9 0000 MG 1 2 3 7 0000 Galil DMC Code Example varl 1F tvar2 F MG varl amp var2 10 0 9375 0 F000 MG var1 amp Cvar2 10 0 0000 0 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 26 316 MATH FUNCTIONS Multiplication Operator BIEI
121. Galil Motion Control EQ 142 316 ERROR CONTROL ER Error Limit As jg ERm n ER n n n n n n n n Usage ERm n Arguments specified with a single axis mask and an assignment ERn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The ER command sets the magnitude of the position errors for each axis that will trigger an error condition When the limit is exceeded the Error output will go low true and the controller s red light will be turned on If the Off On Error OE1 command is active the motors will be disabled Arguments Argument i Default Resolution Description Notes m N A Axis Axis to assign value Set the position error limit in n 0 enables Error output n 1 disables Error counts output n 2 147 483 647 16 384 1 Remarks e The error limit specified by ER should be high enough as not to be reached during normal operation o Examples of exceeding the error limit would be a mechanical jam or a fault in a system component such as encoder or amplifier e For debugging purposes ERO and ER 1 can be used to turn the red LED on and off Examples Galil DMC Code Example a ER 200 Set the A axis error limit to 200 ER Return A value 200 vl _ERA Assigns V1 value of ERA ivi Returns V1 200 ER applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil M
122. IF conditional statement 163 Galil Motion Control Table of Content 4 316 IH Open IP Handle Il Input Interrupt IK Block Ethernet ports IL Integrator Limit IP Increment Position IT Independent Time Constant Smoothing Function JG Jog JP Jump to Program Location JS Jump to Subroutine KD Derivative Constant KI Integrator KP Proportional Constant KS Step Motor Smoothing LA List Arrays LC Low Current Stepper Mode LD Limit Disable LE Linear Interpolation End LI Linear Interpolation Distance LL List Labels LM Linear Interpolation Mode LS List LV List Variables LZ Omit leading zeros MB Modbus MC Motion Complete ME Modbus array write enable MF Forward Motion to Position MG Message MM Master Modulus MO Motor Off MR Reverse Motion to Position MT Motor Type MU Multicast Address MV Modbus Reversal MW Modbus Wait NB Notch Bandwidth NF Notch Frequency NO No Operation NZ Notch Zero OA Off on encoder failure OB Output Bit OC Output Compare OE Off on Error OF Offset OP Output Port OT Off on encoder failure time OV Off on encoder failure voltage P1CD Serial port 1 code P1CH Serial port 1 character P1NM_ Serial port 1 number P1ST Serial port 1 string 164 166 167 168 169 170 171 172 174 177 178 179 180 181 182 183 184 185 187 188 189 190 191 192 195 196 198 199 201 202 203 204 206 207 208 210 211 212 213 214 215 216 218 219 220 221 222 223 224 225 226
123. JGA 500 SH A enable servo BG A begin jog hal1 I3P hall _BCA bc wait for a hall transition STA MG Commutation Complete EN BI applies to DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BI 90 316 PROGRAMMING BK Breakpoint Aas NII BK no Ny1 Usage BKn Arguments specified with an implicit comma separated order Operands _BK Operand has special meaning see Remarks Description The BK command causes the controller to pause execution of the given thread at the given program line number When that line is reached program execution halts before the line is executed while all other threads continue running After a breakpoint is encountered a new breakpoint can be armed to continue execution to the new breakpoint or BK will resume program execution The SL command can be used to single step from the breakpoint Arguments Argument Min Max Default Resolution Description Motes a a a a Thread number to set breakpoint If n omitted default value used Remarks e Only one breakpoint may be armed at any time e BK can be armed before or during thread execution Operand Usage e _BK wil tell whether a breakpoint has been armed whether it has been encountered and the program line number of the breakpoint o LineNumber breakpoint armed o LineNumb
124. Linear Inerpolation Buffer The LE command specifies the end of the linear interpolation sequence Once the LM command has been given it does not need to be given again unless the VM command has been used Operand Queries e _LMS contains the number of spaces available in the sequence buffer for the S coordinate system Examples Galil DMC Code Example LM A Specify linear interpolation mode vs 10000 Specify vector speed VA 100000 Specify vector acceleration vD 1000000 Specify vector deceleration LI 100 Specify linear distance LI 200 Specify linear distance LE BG S Last vector then begin motion EN LM applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LM 188 316 LS List SEIN LS no Ny1 Usage LS n Arguments specified with an implicit comma separated order Description The LS command returns a listing of the programs in memory Arguments Argument Resolution Description INTERROGATION no 1 Specifies the line in the program for which the listing will start ni Remarks 1 e no lt ny must always be true e Ifn or nj is omitted default values are used e no and nj can also specify a label for example o LS label 20 would print out program lines from label to line 20 Examples Specifies the line
125. M table intervals and offset The offset is the master position of the first ECAM table entry The interval is the difference of the master position between 2 consecutive table entries This command effectively defines the size of the ECAM table Up to 257 points may be specified a ae A Max Default Resolution Description Notes Aemet M 32 767 256 ft Master position interval Cannot be changed while ECAM is running ng 2 147 483 648 2 147 483 647 0 1 ECAM table phase shift Can be modified during ECAM Remarks e _EP contains the value of the interval ng e The offset parameter n1 can also be used to instantaneously phase shift the graph of the slave position verses the master position This can be used to make on the fly corrections to the slaves o See application note 2502 for more details http www galilmc com support application notes php Examples Galil DMC Code Example EP 20 Sets the cam master points to 0 20 40 d _EP Set the variable d equal to the ECAM internal master interval EP 100 Phase shift all slaves by 100 master counts EP applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control EP 141 316 ECAM GEARING EQ ECAM quit disengage ML S EQm n EQ n n n n n n n n Usage EQm n___ Arguments specified with a single axis mask and an ass
126. MC41x3 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ZA 315 316 PROGRAMMING ZS Zero Subroutine Stack ASIN L ZS n Usage ZSn Arguments specified with an implicit comma separated order Operands Operand has special meaning see Remarks Description The ZS command is used to clear the stack when finishing or leaving a subroutine This command is used to avoid returning from an interrupt either input or error This turns the jump to subroutine into a jump The status of the stack can be interrogated with the operand _ZS see Remarks Arguments Argument i Resolution Description Notes 1 Sets zero stack n 0 clears the entire stack n 1 clears one level of the operation stack Remarks e Do not use RI Return from Interrupt when using ZS o To re enable interrupts you must use I command again Operand Usage e _ZSn contains the stack level for the specified thread where n 0 to 5 o The response an integer between zero and sixteen indicates zero for beginning condition and sixteen for the deepest value o Firmware revisions prior to 1 2a have only 4 threads 0 to 3 Examples Galil DMC Code Example a Main Program TE 15 Input Interrupt on 1 b JP b EN Loop ININT Input Interrupt MG INTERRUPT Print message s _zs0 Interrogate stack s Print stack ZSe Zero stack ss 7503 Interrogate stack
127. MC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control YC 312 316 STEPPER MOTOR YR Error Correction AER LS YRm n YR n n n n n n n n Usage YRm n Arguments specified with a single axis mask and an assignment YRn Arguments specified with an implicit comma separated order Description The YR command allows the user to correct for position error in Stepper Position Maintenance mode This correction acts like an IP command moving the axis or axes the specified quantity of step counts YR will typically be used in conjunction with QS Arguments Argument Min Max Description m A A i Axis to assign value n 2 147 483 648 2 147 483 647 Number of step pulses to increment position by Remarks e Users will typically use the value of QS to increment motor by the number of step pulses of error o EG YRm _QSm increments the specified axis by the error magnitude e The sign of YR depends on the polarity of the position encoder o If the encoder increments when the stepper moves forward increasing TD the correction is YRm _QSm This is typical o If the encoder decrements when the stepper moves forward the correction is YRm _QSm See CE to invert the polarity of the position encoder if desired Examples Galil DMC Code Example Query the error of the A axis QS A 253 This shows 253 step counts of error Correct for the
128. Motor with Internal Drive DMC 30012 R ve and DMC 30017 0 General Purpose Analog Output AO 1 nj is Valid Brushed Motor with Internal Drive DMC 30012 ae and DMC 30017 General Purpose Analog Output AO 1 nj is Valid 1 DMC 30012 and External Servo Amplifier DMC 30017 10V Motor Command Output Not available as General Purpose Analog Output or Motor Command Output Not available as General Purpose Analog Output or Motor Command Output Stepper Motor on Internal Drive DMC 30017 External Stepper Driver Using AO with a Modbus Slave e RIO as Modbus Slave e 3rd Party Modbus Slave Device e ng is the O number calculated using the following equations e no HandleNum 1000 Module 1 4 Bitnum 1 o HandleNum is the handle specifier from A to H a Handle must be assigned to port 502 for Modbus comms See IH o Module is the position of the module in the rack from 1 to 16 o BitNum is the I O point in the module from 1 to 4 Examples Galil DMC Code Example AO 3005 3 2 Outputs 3 2 Volts on Channel 5 of the Device connected to Handle C Galil DMC Code Example AO 2 1 324 Outputs 1 324 volts on Channel 2 AO applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AO 77 316 TRIPPOINT AP a fter Absolute Position SIN LIS APm n AP n n n n n n n n Usage APm n___ Ar
129. NG ERROR CONTROL SUBROUTINE H LIMSWIL Limit switch automatic subroutine a Description Automatic sub for running user defined code on a limit switch event A limit switch event requires the following conditions 1 Motion profiling in the direction of the given limit I E RPm increasing for forward switch RPm decreasing for reverse switch 2 Limit switch toggles active See CN for inverting the active sense of the limit swithes Without LIMSWI defined the controller will issue ST on the axis when its limit switch is tripped during motion in the direction of the switch With LIMSWI defined code is executed in addition to the stop In lieu of a controlled stop the motor can turn off and coast stop in the event of a limit switch event See OE for this feature Arguments Label must be the first element on a line of code Remarks Use RE to terminate the subroutine See _LF and _LR for switch state operands LIMSWI runs on thread 0 Code does not need to be running in thread 0 for LIMSWI to be enabled LD can be used to disable the limit operation SD can be used to set the deceleration speed on the limit Examples Galil DMC Code Example main start a jog then end JG 1000 BG A EN LIMSWI runs when a limit switch is tripped MG Limit switch N IF _LFA 0 MG Forward motion stopped ENDIF IF _LRA 0 MG Reverse motion stopped ENDIF RE 1 RE used to exit the LIMSWI sub LIMSWI applies to DMC4
130. PVA 100 2000 256 Move 100 counts over 256 samples end at 2000 cnts per sec PVA 500 1000 128 Move 500 counts over 128 samples end at 1000 cnts per sec PVA 1000 2500 Move 1000 counts over 128 samples end at 2500 cnts per sec PVA 0 0 0 End PVT mode PV applies to DMC40x0 DMC42x0 DMC41x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control PV 232 316 SYSTEM CONFIG PW Password EEN Usage PWn Arguments specified with an implicit comma separated order Description The PW command sets the password used to lock the controller Locking the controller prevents interrogation of the controller program space Arguments Argument i Resolution Description Notes String to be used for Both parameters must match for the PW command password to succeed str String Remarks e The password can only be changed when the controller is in the unlocked state See the L K for more details e The password is burnable but cannot be interrogated If you forget the password and the controller is locked you must master reset the controller to gain access e Quotes are not used to frame the password string If quotes are used they are part of the password Examples Galil DMC Code Example Pw apple orange T L 138 Passwords not identical PW apple apple ALAK apple 1 Galil DMC Code Example Pw test test Set password to test
131. ROGRAMMING MATH FUNCTIONS lt Less than or Equal to comparator BIET no lt ny Usage variable valuel lt value2 Performs an operation between two values or evaluated statements Description Less than or Equal to comparator for testing if one value is less than or equal to another Comparators are used in mathematical expressions IFs and in conditional jumps The result is a boolean Comparators in DMC Code Symbol Comparator gt Greater than lt Equal to Less than or equal to gt Greater than or equal to lt gt Not equal to Arguments Argument Min Max Default_ Resolution Description Notes mo 2 1a7 003 698 2 147 405647 WA_ 1 65 536 Vauetotest ng _ 2 147 483 648 2 147 483 647 N A s 1 65 536 Valuetotest Remarks e A comparator is not a command and is not valid individually Instead the above expression would be used as part of a jump JP JS IF expression or assignment See examples below e Ifng lt n4 the expression will evaluate to 1 0000 If the comparision is false it will evaluate to 0 0000 e Evaluation occurs left to right Use parenthesis for operator precedence Examples Galil DMC Code Example tbool 1 lt 2 MG bool 1 0000 tbool 2 lt 2 MG bool 1 0000 tbool 3 lt 2 MG bool 0 0000 Galil DMC Code Example max 2 05 min 1 47 value 0 025 Js check value 1 471 JS c
132. RR events if an axis is configured as brush type e With BR1 the hall inputs are available for general use via the QH command e Set BR 1 to configure a DMC 30000 controller that has an internal amplifier ie DMC 30012 to interface with an external amplifier e Note If the controller has been previously configured with the BA command for sinusoidal commutation with a Galil internal amplifier the command BA N must be issued prior to setting the axis to brushed mode Examples Galil DMC Code Example BR 1s Set to brush type ignore hall errors BR 1 Set to external amp BR applies to DMC40x0 DMC41x3 DMC21x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BR 98 316 PVT MODE BT Begin PVT Motion BERL BT mm Usage BTmm Argument is an axis mask Operand has special meaning see Remarks Description The BT command begins PVT motion on the specified axes All axes specified will begin at the same time For more details on PVT mode see the user manual Default Resolution Description A Multi Axis Mask Axis to begin PVT motion Remarks Arguments e For more details on PVT mode see the user manual e _BTm contains the number of PV segments that have executed Examples Galil DMC Code Example MG _BTA Query number of PVT segments executed 0 0000 PVA 100 200 100 Command X axis to move 100 counts reaching an ending speed of 20
133. SI Configure the special Galil SSI feature BIC 15S SIm ng Ny N2 N3 lt 0 gt p Usage SIm n Arguments specified with a single axis mask and an assignment Operands _SIm Operand has special meaning see Remarks Description The SI command enables and configures the controller to read SSI encoder data Synchronous Serial Interface SSI allows for serial transmission of absolute position data either binary or Gray code from the encoder based on a timed clock pulse train from the controller Connection between the controller and encoder is based on two signal lines clock and data which are usually differential for increased noise immunity For each sequential clock pulse of the controller the encoder transmits one data bit from shift registers on the encoder Arguments Argument Description Notes This input replaces main TP encoder data when SSI encoder tied to multi function pins 1 and 2 see table in enabled remarks This input replaces aux TD encoder data when SSI encoder tied to multi function pins 3 and 4 see table in enabled remarks m Argument i Resolution Description Notes no Enable SSI Location of decoded data depends on m Total number of bits of SSI Negative Rollver Positive No Rollover see including status bits Remarks n2 Number of single turn bits n2 lt nj n1 Negative Prepended status bits Positive Appended status bits see Remarks Clock frequency See
134. Serial Port Timeout not valid for PCI See Remarks 132 Analog inputs not present 133 Command not valid when locked Handle must be UDP not valid for PCI 134 All motors must be in MO for this command 135 Motor must be in MO 136 Invalid Password 137 Invalid lock setting 138 Passwords not identical 140 Serial encoder missing Valid for BISS support 141 Feature not supported 143 TM timed out Valid on SER firmware SSI and BiSS 144 Incompatible with encoder type Valid on RIO with encoder inputs 160 BX failure 161 Sine amp axis not initialized 163 IA command not valid when DHCP mode enabled 164 Exceeded maximum sequence length BGS or BGT is required 1 1 1 1 1 1 186 Unable to set analog output Not available on EtherCAT 30000 Hardware see AO 66 85 8 Drive not currently in fault state DMC500x0 firmware only DMC500x0 firmware only Galil Motion Control TC 279 316 187 Invalid EtherCAT configuration DMC500x0 firmware only 188 Not valid when EtherCAT network is down DMC500x0 firmware only 189 Not valid with this motor type DMC500x0 firmware only Remarks e TC command accepts as a query This is equivalent to TC or TC 0 e After TC has been read the error code is set to zero e _TC contains the value of the error code Use of the operand does not clear th
135. T 80 waits 80 msec from new reference total elapsed time is 230 msec Galil DMC Code Example jog propotional to analog input example with AT in ms AT n mainO AT 0 set time reference for AT command JG 0 BG A start Jog mode gain 1 atloop jgspd illite JG jgsp AT 100 wait 100 ms from last time reference last AT n or ATO REM same functionality would be REM AT 100 0 REM or REM AT 100 0 ATO JP atloop Galil DMC Code Example jog propotional to analog input example with AT in samples AT Nn main1 AT 0 set time reference for AT command JG 0 BG A start Jog mode gain 1 atloop jgspd petereraltl JG jgsp AT 100 1 wait 100 samples from last time reference ATO JP atloop 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AT 82 316 FILTER CONTROL AU set amplifier current loop BARL AUm n AU n n n n n n n n Usage AUm n_ Arguments specified with a single axis mask and an assignment an ef Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The AU command sets the amplifier current loop gain for internal amplifiers For Galil Sine amplifiers the optimal current loop gain setting is determined by the bus voltage supplied to the amplifier and the phase to phase inductance of the motor The table in the Arguments section provides ide
136. T mode Remarks e The PA command is used to give the controller an absolute position target Motion commands other than PA are not supported in this mode e The motion profile is trapezoidal with the parameters controlled by acceleration deceleration and speed AD DC SP e When in the PT mode the ST command wil exit the mode e The AM and MC trip points are not valid in this mode o MF and MR are recommended with this mode as they allow the user to specify both the absolute position and the direction The AP trip point may also be used Position Tracking is not valid on virtual axes Examples Galil DMC Code Example DPA 0 Start position at absolute zero PTA 1 Start PT mode on A axis PA 1000 Move to position 1000 motion starts right away MF 500 wait till position 500 reached PA 1000 Reverse direction to move to position 1000 EN Galil DMC Code Example a PT 1 Enable the position tracking mode i NOTE The BG command is not used to start the PT mode loop Create label LOOP in a program This small program will update the absolute position at 100 Hz Note that the user must update the variable v1 from the host PC or another thread operating on the controller PA v1 motion begins when the command is processed BG is not used to begin motion in this mode In this example it is assumed that the user is updating the variables at a 4 specified rate The controller will update the new f target position
137. TION TH Tell Ethernet Handle SEI TH Usage TH Command takes no arguments Description The TH command returns a list of data pertaining to the Gali s Ethernet connection This list begins with the IP address and Ethernet address physical address followed by the status of each handle indicating connection type and IP address Arguments TH is an interrogation command with no parameters Remarks e Ifno handles are shown as AVAILABLE the controler will be unable to create or accept more Ethernet connections with TCP or UDP Ping will still function when all handles are taken Examples Galil DMC Code Example ea CONTROLLER IP ADDRESS 10 51 0 87 ETHERNET ADDRESS 00 50 4C 40 00 F7 IHA TCP PORT 1050 TO IP ADDRESS 10 51 0 89 PORT 1000 IHB TCP PORT 1061 TO IP ADDRESS 10 51 0 89 PORT 1001 IHC TCP PORT 1012 TO IP ADDRESS 10 51 0 93 PORT 1002 IHD TCP PORT 1023 TO IP ADDRESS 10 51 0 93 PORT 1003 IHE AVAILABLE IHF AVAILABLE TH applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RI0 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TH 283 316 INTERROGATION IO TI Tei Inputs BIET TI n Usage TIn Arguments specified with an implicit comma separated order Operands aa Operand has special meaning see Remarks Description The TI command returns the state of the inputs in banks of 8 bits or 1 byte The value returned by
138. age e _QHm Contains the state of the Hall sensor inputs for the specified axis Examples Galil DMC Code Example QH A Query A axis Hall status 7 TA Ly Check for Hall errors in the amp 1 A 1 indicates Hall error on axis A QH applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control QH 235 316 SYSTEM CONFIG INTERROGATION QP Query Parameters B91 Usage QP Command takes no arguments Description Returns memory information for the controller Arguments QP takes no arguments Remarks e Each row of the QP response describes a parameter characteristic of the controller e The data is provided in a comma separated list starting with a fixed ID string oe response row a oe Descriptionoftherow ssid of the row owt E per tee of ECEN 1 fells s the dimensions of the program and the runtime location of the line lines ram 0 program Examples Galil DMC Code Example QP PR 80 1000 1 QP applies to DMC500x0 DMC40x0 DMC42x0 DMC41x3 DMC30010 RIO DMC18x6 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control QP 236 316 INTERROGATION QR IO Data Record Bac S OR mm QR Usage QRmm___ Argument is an axis mask Description The QR command causes the controller to return a record of information regarding con
139. al AU settings for common bus voltages and phase to phase inductance Arguments Argument Min Max Default Resolution Description Notes Axis to assign value Se ron Jo 4 Jo 1 Set amplifier current loop gain setting See table below for settings DMC 30012 Argument Value 24VDC Bus Current loop setting 48VDC Bus Current loop setting For inductance lt 1mH For inductance lt 2 4mH For inductance gt 1mH and lt 2 3mH_ For inductance gt 2 4mH and lt 4 2mH For inductance gt 2 3mH and lt 4 2mH For inductance gt 4 2mH and lt 7mH For inductance gt 4 2mH For inductance gt 7mH Remarks e The AU settings for Galil sine drives are only recommended values for the given bus voltages For other bus voltages and their recommended settings contact Galil Examples Galil DMC Code Example setting for sine amps BLM inductance 2 6mH AU 3 Sets A axis for standard Galil BLM motor at 24v MG _AUA Query A axis current loop gain 3 AU 2 Sets A axis for standard Galil BLM motor at 48v AU applies to DMC40x0 DMC41x3 DMC21x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AU 83 316 VECTOR LINEAR TRIPPOINT AV After Vector Distance SIN L AV n Usage AVn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The AV comma
140. al port that are not serviced by the host are overwritten on RS232 port Remarks e Galitools automatically sends CW 1 during connection to a controller o If also reading unsolicited data through a non Galil software eg Hyperterminal issue CW 2 Operand Usage e _CW contains the value set for ng e _CW4 contains the value set for n1 Examples Galil DMC Code Example __ ae cw 1 Set Cw to Galil Driver mode MSB set on unsolicited characters The Cw command can cause garbled non ASCII characters to be returned by the controller when using third party software Use Cw2 _ cw 23 Set Cw to third party device mode normal ASCII on unsoliticed characters 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control CW 117 316 PROGRAMMING DA Deallocate Variables and Arra ys Law DA str str Usage DAn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The DA command frees the array and or variable memory space In this command more than one array or variable can be specified for memory de allocation Different arrays and variables are separated by comma when specified in one command Arguments Argument i Max Resolution Description Notes str 8 chars String Array name to deallocate If str deallocate all arrays 8 chars String Variable name to deallocate If str deallocate a
141. am No Operation NO Does Absolutely No Operation NO Nothing No Operation EN End of Program 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control NO 212 316 FILTER CONTROL NZ Notch Zero BA jS NZm n NZ n n n n n n n n Usage NZm n Arguments specified with a single axis mask and an assignment NZn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The NZ command sets the real part of the notch zero In other words the NB NZ ratio controls the amount of attenuation or depth of the notch filter Arguments Argument i Resolution Description Notes m Axis Axis to assign value i 0 5 Value of Notch Frequency in Max value dependent upon TM setting see Hz Remarks Remarks e See the NF command for recommendations on chosing NZ NB and NF values e The maximum n argument is determiend by the following equation 1 16x TM X10 e Where TM is in microseconds the default TM is 1000 e See Application note 2431 for additonal information on setting the NF NB and NZ commands o http www galilmc com support appnotes optima note2431 pdf The NB NZ Ratio e The ratio NB NZ controls the amount of attenuation or depth of the notch o The larger the ratio of NB NZ the larger the attenuation and vice versa e If NB NZ gt 1 the signal will amplify the output si
142. and Usage Examples _EWO contains ng the index of the first widened segment _EW1 contains n4 the length of the first widened segment _EW2 contains n2 the index of the second widened segment _EW3 contains n3 the length of the second widened segment Galil DMC Code Example EW 41 688 Widen segment 41 to 688 master counts Ew 41 688 124 688 widen segments 41 and 124 to 688 master counts EW applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control EW 146 316 ECAM GEARING EY ECAM Cycle Count BIL 5 EY n Usage EYn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The EY command sets or gets the ECAM cycle count This is the number of times that the ECAM axes have exceeded their modulus as defined by the EM command EY will increment by one each time the master exceeds its modulus in the positive direction and EY will decrement by one each time the master exceeds its modulus in the negative direction Arguments Argument Min Max Default Resolution Description n 2 147 483 648 2 147 483 647 0 1 Current ECAM cycle count Remarks e _EY returns the current cycle count e EY can be used to calculate the absolute position of an axis with the following equation o Absolute position EY EM TP
143. ans don t interrupt and clears the queue when issued The interrupts marked with in the table below must be re enabled with EI after each occurrence Bit 15 of ny must be set for the n2 input mask to be used Preconfigured UDP handle gt cad 1 disabled 0 5 indicate Handles A F respectively for interrupt transmission e If the handle specified by n3 is not UDP or is not initialized an error will occur e GalilTools software will auto configure n3 allowing the user to ignore its use in most cases Status Byte Hex decimal Condition D0 208 Axis A profiled motion complete _BGA 0 D1 209 Reserved D2 210 Reserved D3 211 Reserved D4 212 Reserved D5 213 Reserved D6 214 Reserved D7 215 Reserved D8 216 All axes profiled motion complete C8 200 Excess position error _TEm gt _ERm CO 192 Limit switch _LFm 0 _LRm 0 Must be profiling motion in direction of activated limit switch for interrupt to occur D9 217 Reserved Reserved DB 219 Application program stopped _XQn 1 DA 218 Reserved E1 E8 225 232 Digital input s 1 8 low use n for mask n1 Bit Mask Interrupt Bits n1 2 bit Hex decimal 0 0001 1 1 0002 2 2 0004 4 3 0008 8 4 0010 16 5 0020 32 6 0040 64 7 0080 128 8 0100 256 9 0200 512 10 0400 1024 11 0800
144. applied to the coordinate system Remarks e Vector speed can be attached to individual vector segments using the operators lt and gt For more information see description of VP CR and LI commands The VV command allows for variables to be specified during vector segments e Vector Speed can be calculated by taking the square root of the sum of the squared values of speed for each axis specified for vector or linear interpolated motion e _VSm contains the vector speed of the specified coordinate system Examples Galil DMC Code Example i vs 2000 Define vector speed of S coordinate system vs Ze Return vector speed of S coordinate system 2000 VS applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control VS 305 316 VECTOR LINEAR VV vector Speed Variable Aon VVm n won Usage VWm n__ Arguments specified with a single axis mask and an assignment Wn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The VV command sets the speed of the vector variable in a coordinated motion sequence in either the LM or VM modes The VV command is used to set the o vector speed argument for segments that exist in the vector buffer for LI CR and VP commands By defining a vector segment begin speed
145. as eliminated error TE would be more thorough DP 0 Zero position MG A Homed Report status EN End of program AL applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AL 75 316 TRIPPOINT AM After Move SIN LIS AM mm Usage AMmm Argument is an axis mask Description The AM command is a trippoint used to control the timing of events This command will hold up execution of the folowing commands until the current move on the specified axis or axes is completed Any combination of axes or a motion sequence may be specified with the AM command Arguments Argument i Resolution Description mm Multi Axis Mask Axes to wait for motion to complete Multi Axis Mask Vector plane to wait for profiled motion to complete Remarks e AMisavery important command for controlling the timing between multiple move sequences o For exampk if the A axis is in the middle of a position relative move PR you cannot make a position absolute move PAA BGA until the first move is complete Use AMA to halt the program sequence until the first profiled motion is complete o AMtests for profile completion only The actual motor may still be moving To halt the program sequence until the actual physical motion has completed use the MC command o To test motion complete without halting the
146. ask and an assignment _IHm0 _IHm1 Operands _IHm2 Operand has special meaning see Remarks _IHm3 _IHm4 Description The IH command is used when the controller is operated as a master client to open a handle and connect to a slave server The IH command is also used to set the realtime clock from a TIME protocol server Arguments Argument i Default Resolution Description Notes m N A Handle Handle to assign connection For RIO 47xx0 Special handle designator used when closing handles Special handle designator used when closing handles Byte 3 of the slave IP address Byte 2 of the slave IP address See Remarks See Remarks Byte 0 of the slave IP address n Slave IP address in its 32 bit value Specify the slave port to connect If o is omitted the controller selects over the port starting at 1000 Specify the connection type to n 2isTCP n 1isUDP open 3 i N A Specify the connection type to close when closing a handle o p See Remarks Remarks e All4 bytes must be assigned for an IP address to be valid e IHm returns the IP address as 4 1 byte numbers e Use the following equation to change the 4 byte IP ng n1 n2 n3 to a single 32 bit number n o n ng 24 24 n1 2 16 n2 2 8 n3 e When using Modbus port 502 note that Galil Modbus supports one master per slave Opening a Handle e To open a hande the user must specify o The IP address of the slave o opti
147. ation The BA command must be issued to initialize the DMC 3x012 DMC 3x014 DMC 3x017 or DMC 3x012 2PB sine amplifier Arguments Argument i Resolution Description mm Multi Axis Mask Initialize axis for internal sine amp Multi Axis Mask Disable sine amp initialization for axs Remarks e The DMC 30017 must be set to MT1 or 1 for sine drive operation e _BAm vil contain a 1 if the BA command has been issued for the speciifed axis or a 0 if it has not e _BAm indicates the axis number of the auxiliary DAC used for the second phase of the selected sinusoidal axis The axis numbers start with zero for the A axis DAC If the motor is configured as standard servo or stepper motor _BAn contains 0 Examples Galil DMC Code Example REM setup DMc 3x017 2PB for drive 2 phased brushless servo motor MO A Motor must be off to set MT MT 1 Set MT 1 for servo BA A Designate sinusoidal commutation BM 200 Length of electrical cycle in counts required setting for commutation BZ 3 lt 1000 Commutate motor using 3 V and timeout after 1000 msec SH A Enable motor ready for commands EN Galil DMC Code Example BA A Configure axis A for sine amp BM 200 Length of electrical cycle in counts required setting for commutation BZ 3 lt 1000 Commutate motor with BZ method using 3V and timeout after 1000 msec SH A Enable motor ready for commands EN BA applies to DMC40x0 DMC41x3 DMC21x3 DMC18x6
148. ation galilmc com Galil Motion Control Ss 267 316 SS Configure the special Galil BiSS feature BARAL SSm no Nn1 N2 N3 lt O Usage SSm n Arguments specified with a single axis mask and an assignment Operands _SSm Operand has special meaning see Remarks Description SYSTEM CONFIG The SS command enables and configures the controller to read BiSS interface data BiSS is an open standard digital interface for sensors controllers and actuators BiSS is hardware compatible to the industrial standard SSI Serial Synchronous Interface It allows serial transmission of absolute position data from BiSS encoders based on a master clock signal from the controller Arguments Argument Specify BiSS to replace Main encoder register Default Resolution Description Notes BiSS encoder tied to multi function pins 1 and 2 see table in Remarks Specify BiSS to replace Aux encoder register BiSS encoder tied to multi function pins 3 and 4 see table in Remarks Enable BiSS 0 disable 1 enable Number of bits to read include single turn multitturn and zero bits n1 lt 0 enables Continuous mode See Remarks Number of total bits between start bit and error bits Should match nj See Examples Number of zero padding bits Used for Hengstler devices Clock divider Frequency MHz 2 1 7 1 4 1 3 1 1 1 0 0 91 0
149. ative values will be interpreted as the absolute value Resolution e The resolution of the SP command is dependent upon the update rate setting TM o With the default rate of TM 1000 the resolution is 2 cnts second o The equation to calculate the resolution of the SP command is resolution 2 1000 TM o example With TM 250 the resolution of the SP command is 8 cnts second resolution 2 1000 250 8 Examples Galil DMC Code Example PR 2000 3000 4000 5000 Specify a b c d parameter SP 5000 6000 7000 8000 Specify a b c d speeds BG Begin motion of all axes AM ere After C motion is complete For vector moves use the vector speed command VS to change the speed SP is not a mode of motion like JOG JG Note 2 is the minimum non zero speed SP applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SP 264 316 SS Configure the special Galil BiSS feature BARAL SSm no Nn1 N2 N3 lt O Usage SSm n Arguments specified with a single axis mask and an assignment Operands _SSm Operand has special meaning see Remarks Description SYSTEM CONFIG The SS command enables and configures the controller to read BiSS interface data BiSS is an open standard digital interface for sensors controllers and actuators
150. ay the REM lines before downloading the DMC file to the controller NO or should be used instead of REM for commenting in application code unless speed or program space is an issue Arguments Argument Description Comment to be removed from code prior to This comment is not limited by the character limit of the controler as it is download never downloaded str Remarks e REM differs from NO or in the following ways 1 NO or comments are downloaded to the controller and REM comments aren t 2 NO or comments take up execution time and REM comments don t therefore REM should be used for code that needs to run fast 3 REM comments cannot be recovered when uploading a program but NO or comments are recovered Thus the uploaded program is less readable with REM 4 NO or comments take up program line space and REM lines don t 5 REM comments must be the first and only thing on a line whereas NO or can be used to place comments to the right of code after a semicolon on the same line o o o o o Special Strings e REM DISABLE COMPRESSION o Inserting this line into the beginning of your application code disables Galiltools download compression utility This is not a controller function Examples Galil DMC Code Example REM This comment will be stripped when downloaded to the controller This comment will be downloaded and takes some execution time PRA 1000 this comment is to the right of th
151. ay to query Description n 1 returns the array length Notes Name of array to access Must be a valid dimensioned array name Element of array to query For RIO 47xx0 Element of array to query For RIO 47xx2 and RIO 473xx Arguments Argument Resolution String 1 Argument Max Resolution str 8 chars String n 399 1 999 1 Remarks e If the array will be passed by reference on the subroutine stack JS the array name MUST be 6 characters or less Examples Galil DMC Code Example DM a 50 define a 50 element array a 0 set first element to 3 MG a LO print element 0 Galil DMC Code Example array DM a 5 define a 5 element array a 0 3 set first element to 3 MG A O a 0 print element 0 len a 1 len now contains the length of A QU aL 50 len 1 1 MG ee MG A lTength 1en EN print entire array display Variable len Example Output from terminal XQ array A 0 3 3 4320 216666 217522 607950 AL length 5 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 48 316 PROGRAMMING JS subroutine stack variable SANGAN Description The character provides local subroutine access for variables passed on the subroutine stack Passing values on the stack is advanced DMC programming and is recommended for experienced DMC programmers familiar with the concept of passing arguments by value and
152. be passed by reference global 8 a global variable JS sum amp value 1 2 3 4 5 6 7 note first arg passed by reference MG value message out value after subroutine MG _JS message out returned value EN sum Aa Ab Ac Ad Ae AF Ag Aa Ab Ac Ad Ae Af Ag Ah global EN Aa notes do not use spaces when_working with If using global variables they MUST be created before the subroutine is run From Terminal Executed program from program2 dmc 36 0000 36 0000 amp applies to DMC40x0 DMC42x0 DMC41x3 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control amp 24 316 amp Bitwise AND Operator E n n Usage variable value1 amp value2 Performs an operation between two values or evaluated statements Description The amp symbol is the bitwise AND operator used with IF JP and JS decisions and also to perform bitwise ANDING of values Arguments Argument __Min__ Max Default Resolution Description Notes n __ 2 147 483 648 2 147 483 647 N A 1 65 536 Value to use with AND operator Remarks e The result of this operation is a value which is not valid on its own It must be coupled with a command See examples below e For IF JP and JS the values used for n are typically the results of logical expressions such as x gt 2 amp y 8 Examples
153. by reference Arguments Argument Min Max Default _ Resolution Description Notes s Ja NANA Stack variable name a b supported Remarks e See the JS command for a full explanation of passing stack variables e Passing parameters has no type checking so it is important to exercise good programming style when passing parameters See examples below for recommended syntax e Do not use spaces in expressions containing e Global variables MUST be assigned prior to any use in subroutines where variables are passed by reference e Arrays passed on the stack must have names no longer than 6 chars e Stack zero has no localscope variables Accessing these variables from stack zero writes to stack 1 s variable table Examples Galil DMC Code Example add JS sum 1 2 call subroutine pass values MG _JS print return value EN sum NO Aa Ab Sums the values Aa to Ab and returns the result EN C Aa Ab return sum Output from the previous program XQ add 3 0000 applies to DMC40x0 DMC42x0 DMC41x3 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control A 49 316 ALAK Lock program EEN L K str n Usage L Kn Arguments specified with an implicit comma separated order Description SYSTEM CONFIG Locks user access to the application program When locked the ED UL LS and TR commands wil give p
154. ce BG S Start motion R 1000 0 360 Generate sine wave with amplitude of 1000 counts start at 0 degrees and complete one cycle R 1000 0 360 lt 40000 Generate same sine wave with same amplitude but run at faster speed higher frequency For MT 1 1 1 5 1 5 For MT 2 2 2 5 2 5 Galil Motion Control CR 114 316 CR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control CR 115 316 VECTOR LINEAR CS Clear Sequence AER 1 SS CS mm Usage CSmm_ Argument is an axis mask Operand has special meaning see Remarks Description The CS command will remove VP CR or LI commands stored in a motion sequence for a coordinated axis After a sequence has been executed the CS command is not necessary to put in a new sequence This command is useful when you have incorrectly specified VP CR or LI commands Arguments Argument Min Max Default Resolution Description m S S N A Axis Coordinate plane specified to clear buffer Remarks e _CSS contains the segment number in the sequence specified by S e This operand is valid in the Linear mode LM and Vector mode VM Examples Galil DMC Code Example cS Se Clear segments specified in S coordinate system CS applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motio
155. cified input is at desired logic level Use the conditional Jump command JP or input interrupt I if you do not want the program sequence to halt e Al functions only on local input points See Example below for network based digital inputs Examples Galil DMC Code Example a Begin Program AI 8 wait until input 8 is high sP 10000 Speed is 10000 counts sec Ac 20000 Acceleration is 20000 counts sec2 PR 400 Specify position BG A Begin motion EN End Program Galil DMC Code Example REM when using a remote I O device e g the RIO the following provides REM a similar function as AI Assume that the remote device is already REM configured on handle C see IH code before JS remote code after EN tex The example subroutine remote wT 10 wait a reasonable interval so we don t flood the network JP remote C IN 3001 1 loop while input 1 on the remote device is high EN return to calling code this call blocks and waits for the remote logic to return Wikked 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control Al 74 316 IO AL Arm Latch Bacs Aon AL mm Usage ALmm_ Argument is an axis mask Operand has special meaning see Remarks Description The AL command enables the latch function high speed main or auxilary position capture of the controller When the position latch is armed the main or auxiliary encoder position will
156. cified speed at the end of the segment Argument Value Description Notes o Remarks 1 Specifies vector speed to be set by Vector Speed Variable VV command For MT 2 2 2 5 and 2 5 e The first vector in a coordinated motion sequence defines the origin for that sequence All other vectors in the sequence are defined by their endpoints with respect to the start of the move sequence e Vector moves are defined as absolute positions from the origin of the sequence e The length of each vector segment must be limited to 8 388 607 e _VPm where m axis designator A and contains the absolute coordinate of the axes at the last intersection along the sequence o For example during the first motion segment this instruction returns the coordinate at the start of the sequence o The use of _VPm as an operand is valid in the linear mode LM and in the Vector mode VM Commanded Vector Speed NSS lt o gt p behaviour Segment n Examples Galil DMC Code Example a Program Label WM AN Specify motion plane vP 1000 2000 Specify vector position 1000 2000 vP 2000 4000 Specify vector position 2000 4000 Galil Motion Control VP 302 316 CR 1000 0 360 Specify arc VE vector end BG S Begin motion sequence AM S wait for vector motion to complete EN End Program Galil DMC Code Example REM VP n m p REM o and p are in counts sample rather than counts second as the VS comma
157. command for the same axis of control o For example If EA DA is chosen then set the master modulus for the aux encoder by setting the A axis in the MM command MMA n e If the change is negative specify the absolute value for n e This command is only supported on firmware revisions 1 1a and newer Examples Galil DMC Code Example REM example using Aux encoder as master and Main feedback as the slave cam REM define aux encoder as master for ECAM EA DA REM define slave modulus as 0 returns to original position EM REM define master increment as 1000 counts table entry EP 1000 REM define master modulus as 4000 MM 4000 ET 0 0 ET 1 500 ET 2 1000 ET 3 500 ET 4 0 REM enable ECAM mode EB 1 REM engage when master is at 0 position EG 0 EN Galil DMC Code Example f i REM example using Virtual axis as the Master and Main encoder on the A axis as the slave cam REM define Virtual axis as master for ECAM EA N REM define slave modulus as 0 returns to original position EM REM define master increment as 1000 counts table entry EP 1000 REM define master modulus as 4000 MMN 4000 ET 0 0 ET 1 500 ET 2 1000 ET 3 500 ET 4 0 REM enable ECAM mode EB 1 REM engage when master is at 0 position EG 0 REM begin jog on N axis JGN 1000 BG N EN MM applies to DMC30010 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Mo
158. counts Remarks e _VEm contains the length of the vector in counts for the specified coordinate system S Examples Galil DMC Code Example vector Vector Program Label WM AN Specify plane of motion vA 1000000 vector Acceleration vD 5000000 vector Deceleration vs 2000 Vector Speed vP 1000 2000 vector Position VE End Vector BG S Begin Sequence AM S wait for Vector sequence to complete EN End Program VE applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control VE 299 316 SYSTEM CONFIG VF Variable Format EE f VE no Ny Usage VF n Arguments specified with an implicit comma separated order Operands _VF Operand has special meaning see Remarks Description The VF command formats the number of digits to be displayed when interrogating the controller If a number exceeds the format the number will be displayed as the maximum possible positive or negative number i e 999 99 999 8000 or 7FF ee aE i Co oe Specify the number of digits displayed A negative value specifies hexadecimal before the decimal point format see Remarks Specify the number of digits displayed after the decimal point Remarks e Anegative ng specifies hexadecimal format When in hexadecimal the string will be preceded by a and Hex numbers are displayed as 2
159. d axis Examples Galil DMC Code Example vl _TTA Assigns value of TTA to variable v1 TT_A Report torque on A 0 2843 TT applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TT 292 316 INTERROGATION TV Tell Velocity Aon TV mm Usage TVmm Argument is an axis mask Operand has special meaning see Remarks Description The TV command returns the actual velocity of the axes in units of encoder count s The value returned includes the sign bit for direction Arguments Argument Min Default Resolution Description Notes mm A A Multi Axis Mask Axis to report velocity Remarks e The TV command is computed using a special averaging filter over approximately 0 25 sec for TM1000 Therefore TV will return average velocity not instantaneous velocity e _TVm contains the value of the velocity for the specified axis Examples Galil DMC Code Example vela _TVA Assigns value of A axis velocity to the variable VELA TV AS Returns the A axis velocity 3420 TV applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TV 293 316 ERROR CONTROL TW Timeout for Mc trippoint Baca ARON TWm n TW n n n n n n n n Usage TWm
160. d or has generated the first output pulse Examples Galil DMC Code Example OcA 300 100 Select A encoder as position sensor REM First pulse at 300 Following pulses at 400 500 600 Galil DMC Code Example REM Output compare can be used to create raster scans REM By using circular compare on one axis followed by an index move on a perpindicular axis REM raster patterns are easily made REM The following image shows a rastered dot matrix type image easily created REM with output compare and a laser on a two dimensional stage Galil Motion Control OC 216 316 oo OC applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control OC 217 316 ERROR CONTROL OE Off on Error ARON OEm n OE n n n n n n n n Usage OEm n___ Arguments specified with a single axis mask and an assignment En Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The OE command sets the Off On Error function for the controller The OE command causes the controler to shut off the motor command if a position error exceeds the limit specified by the ER command an abort occurs from either the abort input or on AB command or an amplifier error occurs based on the description of the TA command Arguments Argument i R
161. de of motion Examples Galil DMC Code Example Set feedforward coefficient to 10 the effective bias will be 0 75v Ac 500000 FA 10 IMG _FAA 10 FA applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control FA 148 316 INDEPENDENT MOTION FE Find Edge AER LS FE mm Usage FEmm Argument is an axis mask Description The FE command moves a motor until a transition is seen on the homing input for that axis The direction of motion depends on the initial state of the homing input use the CN command to configure the polarity of the home input Once the transition is detected the motor decelerates to a stop This command is useful for creating your own homing sequences Arguments Argument Min Max Default Resolution Description mm A A N A Multi Axis Mask Axis to Find Edge Remarks e Find Edge only searches for a change in state on the Home Input Use FI Find Index to search for the encoder index Use HM Home to search for both the Home input and the Index e Remember to specify BG after each of these commands e Speed of Find Edge is set with the SP command and should be low enough to allow for a minimum of a 2 sample period pulse width on the home signal With TM 1000 the pulse width must be at least 2ms Examples Galil DMC Code Example FE Set find edge mode B
162. e For example if LM ABC designates linear interpolation for the A B and C axes the speed of these axes Va Vb and Vc respectively will be computed from E gt 2 VS V V3tV eo e The Linear End LE command must be given after the last LI segment in a sequence LE tells the controller to decelerate to a stop at the last LI command e The BG S command should be issued before the total LI distance reaches 1 073 741 824 230 encoder counts Linear Interpolation Mode Buffer 1 Up to 32 LI segments may be given ahead of the begin sequence BG S command 2 Additional LI commands may be sent during motion when the controller sequence buffer frees additional space for new vector segments 3 It is the responsibilty of the user to keep enough LI segments in the controller s sequence buffer to ensure continuous motion 4 _LMS contains the available spaces for LI segments that can be sent to the buffer 1 32 returned means the buffer is empty and 32 LI segments can be sent 2 AO returned means the buffer is full and no additional segments can be sent 3 See the LM command for full details Galil Motion Control LI 185 316 lt o gt p behaviour Commanded Vector Speed Segment n Examples Galil DMC Code Example LM AN Specifies linear interpolation mode between A axis and N imaginary axis LI 500 600 Set points for A and N axis LI 1000 600 LI 400 1500 LE BG S Begin sequence LI applies to DMC40
163. e E is clear JP TCPERR _THE2 lt gt 0 wait for clear handle IHE ihe set handle with saved IP var wT 100 n n 1 increment counter JP end n gt 5 try at least 5 times JP TCPERR _TIHE2 lt gt 2 repeat if handle failed end IF Cn gt 5 MG failed connection HX 0 stop code if connection lost ELSE MG Reconnected n 0 reset connection counter ENDIF RE TCPERR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TCPERR 21 316 Hexadecimal I gt Description The operator denotes that the following string is in hexadecimal notation Arguments Argument i Default Resolution Description Notes n 80000000 0000 7FFFFFFF FFFF N A 0 0001 Maen hexadecimal ng of integer and 16 bits of fraction in Remarks e None Examples Galil DMC Code Example 7FFFFFFF 0000 store 2147483647 in x x amp 0000FFFF 0000 store lower 16 bits of x in y x amp fFFF0000 0000 10000 store upper 16 bits of x in z 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 22 316 MATH FUNCTIONS Modulo Operator SIE nen Usage _ variable value value2 Performs an operation between two values or evaluated statements Description The symbol is the modulo operator It takes as arguments any tw
164. e Example JG 5000 Set up to jog the A axis BG A Begin jog AL AF Arm the latch assume that after about 2 seconds input goes low IRL A Report the latch 10000 RL applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control RL 247 316 RO Realtime Offset EE f RO n Usage ROn Arguments specified with an implicit comma separated order Operands Ta Operand has special meaning see Remarks Description ETHERNET The RO command sets the hour offset from GMT time for the realtime clock feature RO is used when synching the realtime clock with a TIME server The TIME protocol provides GMT time and RO allows for localization of time Arguments Argument Min Default Resolution Description Notes n 12 0 1 Hourly time zone offset Offsets based on GMT time Remarks e The RO command requires hardware ordered with the RTC feature Operand Usage e _ROO contains the current GMT offset e _RO1 contains the value last received from a network TIME protocol server See IH and RT Examples Galil DMC Code Example Some Time Zone Examples RO 10 Hawaii USA RO 9 Alaska USA RO 8 Pacific Time US and Canada RO 7 Mountain Time US and Canada RO 6 Central Time US and Canada RO 5 Eastern Time US and Canada RO 3 Buenos Aires Argentina RO 0 Londo
165. e active low SSA 1 27 27 0 lt 14 The 27 includes the Resolute single leading zero bit Galil DMC Code Example configuration for 36 bit Hengstler multi turn encoder Multi turn data is combined with single turn data Galil Motion Control Ss 269 316 SYA 3 SSA 1 36 36 5 lt 14 19 bits single turn 12 bits multi turn 5 zero padding bits Warning and Alarm bits are active high SS applies to SER 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control Ss 270 316 SYSTEM CONFIG SS Configure the special Galil BiSS feature BARL SSm no Nn1 N2 N3 lt O Usage SSm n Arguments specified with a single axis mask and an assignment Operands _SSm Operand has special meaning see Remarks Description The SS command enables and configures the controller to read BiSS encoder data BiSS is an open source digital interface for encoders BiSS is hardware compatible to the industrial standard SSI Serial Synchronous Interface but offers additional features and options BiSS Timing ma LELDLE LLL LA slo Ack SarQ wae ff Pe Kw ere S a ni and n2 n3 During Gali s servo interrupt a clock MA will be transmitted for encoders configured for BiSS The BiSS encoder responds by transmitting a serial data stream synchronized to the Galil s clock The data stream has five important features as described below 1 Data Shown in the above t
166. e code 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control REM 245 316 PROGRAMMING RI Return from Interrupt Routine BIN 5 RI n Usage RIn Arguments specified with an implicit comma separated order Description The RI command is used to end the input interrupt subroutine The input interrupt subroutine begins with the label ININT An RI at the end of this routine causes a return to the main program Arguments Argument i Resolution Description Notes Deermbes sate of terupted venom n o chars thetrppoht n 1 9 restores the interrupted trippoint subroutine Remarks e To avoid returning to the main program on an interrupt use the command ZS to zero the subroutine stack This turns the jump subroutine into a jump only o http www galilmc com support appnotes optima note2418 pdf e If the program sequencer was interrupted while waiting for a trippoint such as WT RI 1 restores the trippoint on the return to the program RIO clears the trippoint e A motion trippoint like MF or MR requires the axis to be actively profiling in order to be restored with the RIL command e The RI command re enabks input interrupts Examples Galil DMC Code Example a II 1 3P a EN Program label ININT Begin interrupt subroutine MG INPUT INTERRUPT Print Message SB 1 Set output line 1 RI 1 Return to the main program and restore trippoint
167. e error code e Note Error code 131 means that an RS232 USB timeout is being generated while trying to transmit data to the serial port o This is usually caused by MG Numerous timeouts on serial communication can cause a slowdown in DMC code execution and should be avoided Examples Galil DMC Code Example GF32 Bad command TC l Tell error code 1 Unrecognized command TC applies to DMC500x0 DMC40x0 DMC42x0 DMC41x3 DMC30010 DMC21x3 RIO DMC18x6 DMC18x2 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TC 280 316 INTERROGATION TD Tell Dual Encoder ARON TD mm Usage TDmm_ Argument is an axis mask Operand has special meaning see Remarks Description The TD command returns the current position of the dual auxiliary encoder input When operating with stepper motors the TD command returns the number of counts that have been output by the controller Arguments Argument Min Default Resolution Description Notes mm A A Multi Axis Mask Axis to report dual auxiliary encoder position Remarks e Auxiliary encoders are not available for a stepper axis or for the axis where output compare is used Operand Usage e _TDm reports the dual encoder position for the specified axis Examples Galil DMC Code Example TD A Return the A motor Dual encoder 200 dual _TDA Assign the variable DUAL the value of TDA TD applie
168. e off to set MT MT 1 Set MT 1 for servo BA A Designate sinusoidal commutation BM 200 Length of electrical cycle in counts required setting for commutation BZ 3 lt 1000 Commutate motor using 3 V and timeout after 1000 msec SH A Enable motor ready for commands EN Galil DMC Code Example Galil Motion Control BZ 104 316 BZ 2 Drive A axis to zero phase with 3V torque and end with Motor off BZ applies to DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BZ 105 316 IO CB Clear Bit BA CB n Usage CBn Arguments specified with an impicit comma separated order Description The CB command clears a particular digital output The SB and CB Clear Bit instructions can be used to control the state of output lines Arguments Argument i Resolution Description Notes n 1 General output bit to be set n 1 Set Modbus slave bit See CB via Modbus Slave in Remarks Remarks e The state of the output can be read with the OUT command CB via Modbus Slave e n SlaveAddress 10000 HandleNum 1000 Module 1 4 Bitnum 1 o Slave Address is used when the ModBus device has slave devices connected to it and specified as Addresses 0 to 255 Please note that the use of slave devices for modbus are very rare and this number wil usually be 0 o HandleNum is t
169. e the new value to flash e To change the IP address manually over Ethernet on a controller which was initially assigned via DHCP send DH 0 JA ng ni n2 n3 as one command line Reconect on the new IP and issue BN to save Operands e _IA0 contains the IP address representing a 32 bit signed number Two s complement See the example below e _IA1 contains the value for o retry time e _JA2 contains the number of available handles e _IA3 contains the number of the handle using this operand where the number is 0 to 7 0 represents handle A 1 handle B etc This is used by a remote device to detect its outgoing handle see WH _TA4 contains the number of the handle that lost communication last contains a 1 on reset to indicate no handles lost e _1A5 returns autonegotiation Ethernet speed Returns 10 for 10 Base T and returns 100 for 100 Base T it will return 1 if there is no physical link Examples Galil DMC Code Example IA 151 12 53 89 Assigns the controller with the address 151 12 53 89 IA 2534159705 Assigns the controller with the address 151 12 53 89 IA lt 500 Sets the timeout value to 500 msec Galil DMC Code Example REM The individual IP address bytes can be derived within embedded code using _IA0 a INT _1A0 amp FF000000 1000000 amp FF b INT _IA0 amp 00FFO000 10000 c INT C_IA0 amp 0000FFO0 100 d INT _IA0 amp C 000000FF J REM IP address a b c d IA app
170. e update rate setting TM o With the default rate of TM 1000 the resolution is 2 cnts second o The equation to calculate the resolution of the JG command is resolution 2 1000 TM o example With TM 250 the resolution of the JG command is 8 cnts second a resolution 2 1000 250 8 Examples Galil DMC Code Example jg REM Sets for jog mode with a slew speed of 100 counts sec JG 100 BG Begin Motion wT 1000 wait one second JG 2000 Change to slew in the negative direction at 2000 counts sec EN JG applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control JG 171 316 PROGRAMMING JP Jump to Program Location SIN JP str ex JP n ex Usage JPn Arguments specified with an implicit comma separated order Description The JP command causes a jump to a program location on a specified condition The program location may be any program line number or label A jump is taken if the specified condition is true Multiple conditions can be used in a single jump statement JP can be used for relative jumps and for jump tables see Examples Arguments Argument i Default _ Resolution ccc Description ____ _Notes_ Maximum is number of lines of see Notes Line number for jump destination controler program memory 1 N A Expression Conditional
171. ecified by RA have different sizes the smallest array size is the maximum value for n1 e Ifn1 0ornot specified the maximum value is used e A negative value for n4 specifies circular continuous record over array addresses 0 to nj 1 o The absolute value of the minimum n4 allowed maximum nj allowed Operand Usage e _RC contains status of recording 1 if recording 0 if not recording Setting up the record array mode 1 Dimension an array arrays for storing data Make sure you dimension the array with the number of elements required to capture data for your application 2 Set the RA command with the arrays to be used for recording 3 Set the RD command with the data sources to be applied to the arrays The order of your arrays entered into RA will match the order of data sources set by RD 4 Set the RC command to get the desired time between records and enable the recording 5 Monitor the _RC operand for a 0 to indicate recording is done 6 View the data in your embedded code or extract the data using Galitools software and the Upload array function Examples Galil DMC Code Example record Record label DM anaout 1000 Define Array RA anaout Specify Array to record data RD _AO1 Specify Data Type Re 23 Begin recording and set 2 msec between records JG 1000 BG Begin motion a JP a _RC 1 Loop until done MG DONE RECORDING Print message EN End program 2015 Galil Motion Control Corrections Feedbac
172. ecifies n samples after move before going to 25 holding current o Using LC will reduce current consumption but there will be a reduction of holding torque at rest o Consult the user manual for more details regarding your specific amplifier e Using LC with external amplifiers o When using external amplifiers low current mode will simply disable the motors by toggling the amplifier enable line during rest o Using LC will reduce current consumption but there will be no holding torque at rest Examples Galil DMC Code Example ex MTA 2 specify stepper mode for A axis LCA 15 specify motor to go to low current 15 samples after motion has completed EN LC applies to DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LC 182 316 ERROR CONTROL LD Limit Disable AEC LDm n LD n n n n n n n n Usage LDm n ___ Arguments specified with a single axis mask and an assignment LDn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description Allows user to disables forward and or reverse limit switches Arguments Argument i Resolution Description Notes m Axis Axis to assign value n 1 Sets limit disable state See table below for details Argun ument Value Description Notes E roar it sth be
173. ector deceleration for the coordinate system Description The VD command sets the deceleration rate of the vector in a coordinated motion sequence Arguments Argument Default Resolution m S Axis n 1 073 740 800 256 000 1 024 Remarks e _VDm contains the value of the vector deceleration for the specified coordinate system Examples Galil DMC Code Example vector Vector Program Label WM AN Specify plane of motion VA 1000000 Vector Acceleration vD 5000000 Vector Deceleration vs 2000 Vector Speed vP 1000 2000 vector Position VES End Vector BG S Begin Sequence AM S wait for Vector sequence to complete EN End Program VD applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control VD 298 316 VECTOR LINEAR VE vector Sequence End L VE n Usage VEn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The VE command indicates to the controller that the end of the vector is coming up This allows the controller to slow down through multiple segments if required VE is required to exit the vector mode gracefully stop code SC 101 Arguments Argument Description Notes n Specify the end of a vector segment Also occurs when n null Returns the length of the vector in
174. ed and WT is timed in milliseconds Examples Galil DMC Code Example 10 seconds after a move is complete turn on a relay for 2 seconds a Program A PR 50000 Position relative move BG A Begin the move AM A After the move is over wT 10000 wait 10 seconds SB 1 Turn on relay set output 1 wT 2000 wait 2 seconds cB 1s Turn off relay clear output 1 EN End Program 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control WT 308 316 PROGRAMMING XQ Execute Program BAs L XQ str n XQ no N Usage XQn Arguments specified with an implicit comma separated order Operands Operand has special meaning see Remarks Description The XQ command begins execution of a program residing in the program memory of the controller Execution will start at the label or line number specified Up to 6 programs may be executed simultaneously to perform multitasking Firmware prior to revision 1 2a has only 4 threads Arguments Argument i Max Default Resolution Description Notes str 7 chars See Notes String Label to begin code execution If omitted start from line 0 ng 0 Line number to begin code execution no 0 1 0 1 Thread number to execute Firmware prior to 1 2a has only 4 threads n1 code max 3 Remarks e _XQn contains the current line number of execution for thread n and 1 if thread t is not running e If using ED to add code you
175. ed names called automatic subroutines that are run automatically by the firmware when a particular event occurs There is a maximum of 126 labels available Arguments Argument Min _ Max Default _ Resolution Description Notes _ str ichar __ 7chars_ na String Nameoflabel Remarks e Labels can include the characters A Z a z 1 9 Numbers can not be the first character All other characters are invalid e A label can only be defined at the beginning of a new line e The number of labels available can be queried with MG _DL e LLreturns the current label table in the controller e Galil recommends that at least the first character be lowercase for user labels to differentiate from automatic subroutines e Automatic subroutines are listed in the command reference starting with a character Examples Galil DMC Code Example A simple example of iteration The loop will run 10 times i 0 Create a counter loop Label j i 1 Increment counter JP loop i lt 10 Spin in Loop until i gt 10 EN End the subroutine or thread 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 10 316 PROGRAMMING ERROR CONTROL SUBROUTINE AMPERR a mplifier error automatic subroutine ae Description Automatic subroutine used to run code when a fault occurs on a Galil amplifier See the TA command and individual amplifier information in the controller user manua
176. ed statements Description The symbol is the division operator It takes as arguments any two values variables array elements operands or At functions SIN and returns a value equal to the quotient of the arguments Arguments Argument Min Max Default _ Resolution Description Notes no 2 147 483 648 2 147 483 647 N A 1 65 536 Numerator of divide operation ni 2 147 483 648 2 147 483 647 N A 1 65 536 Denominator of divide operation Remarks e This is a binary operator takes two arguments and returns one value The result of this operation is a value which is not valid on its own It must be coupled with a command See examples below e Mathmatical operations are calculated left to right rather than multiplication and division calculations performed prior to addition and subraction o Example 1 2 3 9 not 7 e It is recommended that parenthesis be used when more than one mathmatical operation is combined in one command o Example var 10 30 60 30 evaluates as 302 o var 10 30 60 30 evalutes as 12 Examples Galil DMC Code Example tvarl 100 10 tvar2 var1 2 MG var2 1 6 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 28 316 PROGRAMMING y Semicolon Command Delimiter BIE arg arg arg arg Description The semicolon operator allows multiple Galil commands to exist on a single line Arguments
177. ents Argument i Resolution Description Notes m Axis Axis to assign value n 20 65 536 Value of peak torque limit n 0 disables the peak torque limit Remarks e TK provides the absolute value of the peak torque limit for torque outputs e Peak torque can be achieved for approximately 1000 samples upon initial command from OV torque e If TK is set lower than TL then TL is the maximum command output under all circumstances Examples Galil DMC Code Example TAs 7 Limit A axis to a 7 volt average torque output TKA 9 99 Limit A axis to a 9 99 volt peak torque output TK applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TK 286 316 FILTER CONTROL TL Torque Limit I nwa j TLm n TL n n n n n n n n Usage TLm n___ Arguments specified with a single axis mask and an assignment TLn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The TL command sets the limit on the motor command output This limit is designed to prevent over current to motors with lower current rating than the drive TL works along with the TK Peak torque command to control output current to the motor Arguments Argument Min Max Default Resolution Description Notes pom AANA _ as _ Axs
178. er breakpoint encountered o 2147483648 breakpoint not armed Examples Galil DMC Code Example BK 3 Pause at line 3 the 4th line in thread 0 BK 5 Continue to line 5 ISL Execute the next line SL 3e Execute the next 3 lines BK Resume normal execution 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BK 91 316 ERROR CONTROL BL Reverse Software Limit BAs jS BLm n BL n n n n n n n n Usage BLm n___ Arguments specified with a single axis mask and an assignment BLn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The BL command sets the reverse software limit If this limit is exceeded during motion motion on that axis will decelerate to a stop Reverse motion beyond this limit is not permitted Arguments Argument Min Max Default Resolution Description m A A N A Axis Axis to assign value n 2 147 483 648 2 147 483 647 2 147 483 648 1 Position for reverse soft limit Remarks The reverse limit is activated at the position n 1 n 2147483648 effectively disables the reverse soft limit The software limit is specified in counts for a servo system or in microsteps for a stepper system When the reverse software limit is activated the automatic subroutine LIMSWI will be executed if it is included in the program If motion is commanded when
179. erminate program execution Abort input will terminate program execution Default Digital output 4 is a general purpose output Default Digital output 4 will operate as the amplifier enable signal Operands Operand holds the value last set by the command Remarks e n is useful for testing the operation of the LIMSWI automatic subroutine See example below e When using n5 o For safety ensure that the amplifier disables whenever the controller s reset button is pressed If the amplifier enables during a reset then a different output configuration is required Changes must be performed at the factory See Chapter 3 in the user manual for available output configurations o The amplifier enable signal will behave the same regardless of the ns setting n5 1 will cause output 4 to also switch with the MO SH state o When using n5 1 output calls SB CB OP OB for output 4 are ignored o n5 requires that the hardware be programmed with MCB Rev 3 or higher Rev 3 started shipping in July 2013 See ID for the revision Galil DMC Code Example ID Fw DMC31010 Rev 1 2a Hw DMC31016 MCB rev 3 SPI Flash IOB rev 0 LSNK SER SINE 16bit ADC AMP rev 0 This controller is capable of using the n5 feature Examples Galil DMC Code Example CN 1 1 Sets limit and home switches to active high CN 1 Sets input latch active low Galil DMC Code Example REM nO is useful for tes
180. esolution Description m i Axis to assign value i 0 15 000 000 256 Value of Homing Velocity in cnts second 3 000 000 Value of Homing Velocity in cnts second Remarks e None Examples For MT settings of 2 2 2 5 and 2 5 Steppers Galil DMC Code Example HVA 1000 set homing speed HM A home to home switch then index BG A begin motion AM A wait for motion complete EN end program HV applies to DMC40x0 DMC42x0 DMC41x3 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control HV 159 316 PROGRAMMING HX Halt Execution ae Usage HXn Arguments specified with an implicit comma separated order Operands Operand has special meaning see Remarks Description The HX command halts the execution of any program that is running The parameter n specifies the thread to be halted Arguments Argument i Resolution Description Notes 1 Thread number If n omitted all threads are halted Prior to firmware revision to halt 1 2a n max 3 Remarks e When used as an operand _HXn contains the running status of thread n with o 0 Thread not running o 1 Thread is running o 2 Thread has stopped at trippoint Examples Galil DMC Code Example Execute program A thread zero Execute program B thread three Halt thread zero Halt thread three 2015 Galil Motion Control Corrections Feedback documentation
181. esolution Description Notes m i Axis to assign value n Disables the Off On Error Function Default Motor shut off by position error amplifier error or abort input Motor shut off by hardware limit switch Motor shut off by position error amplifier error abort input or by hardware limit switch Remarks e For any value of OE lt gt 0 the axis will be shut off due to amplifier faults on any amplifier axis See the TA command for conditions of an amplifier fault e BR1 must be enabled when internal brushless servo amplifiers are installed but the axis is driven with an external amplifier BR1 disables hall error checking when OE lt gt 0 Examples Galil DMC Code Example 0E 1 Enable error checks for abort pos err 0E 3 Enable error checks for limit switches also MG _OEA Query A axis OE setting 3 0000 Galil DMC Code Example main code to enable the OE command for all error conditions and setup the corresponding automatic subroutines to display relevent data no loop for abort input as that stops code operation OE 3 SH ABCD JGA 1000 jog at 1000 BG A loop endless loop wT 1000 JP loop EN AMPERR MG amplifier fault MG _TAO _TA1 _TA2 _TA3 EN POSERR MG position error fault MG _TEA EN LIMSWI MG limit switch fault MG _TSA EN OE applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Gal
182. et NB 1 2NF 4 Set NZ between 0 and 5 2 The ratio of NB NF is extremly important See the NB command for more details Maximum Range e The maximum n argument is specified in Hz and is calculated by the equation below 1x10 4XTM e Where TM is in microseconds o Default TM is 1000 therefore default maximum value 1E6 4 1000 250 Hz Examples Sets the frequency of the notch Max value dependent upon TM setting see Galil DMC Code Example NF 20 Sets the notch frequency of B axis to 20 Hz NF applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control NF 211 316 PROGRAMMING NO wo Operation SEI NO str Operands _NO___ Operand has special meaning see Remarks Description The NO command performs no action in a sequence and can be used as a comment in a program Arguments Argument Description Notes A no action sequence used to documenta Comments are limited to the maximum row size in a program This will vary Sir program by controller Remarks e _NO returns a bit mask indicating which threads are running o For example a 0 means no threads are running 1 means only thread 0 is running 3 means threads 0 and 1 are running Examples Galil DMC Code Example a Program A NO No Operation NO This Program No Operation NO This Progr
183. every 10 milliseconds wT10 wT 10 wait 10 milliseconds JP loop Repeat by jumping back to label LOOP PT applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control PT 231 316 PVT MODE PV pvr Data Aon PVm no n1 n2 Usage PVm n Arguments specified with a single axis mask and an assignment Operands _PVm Operand has special meaning see Remarks Description The PV command is used to enter PVT data into the PVT buffer Data is entered by specifying the target delta position target velocity and delta time for the segment duration Arguments Argument Min Max Default Resolution Description Notes A A N A Axis Axis to assign value Position target for PVT Velocity target for PVT 15 000 000 15 000 000 0 segment 0 Number of samples for PVT n2 1 clears the PVT buffer n2 0 exits PVT segment mode See Remarks Remarks e n is in samples and sample time is defined by TM o With TM 1000 set n2 1024 is equal to 1 second e If tis omitted from the PVT command the previous n value is used e For more details on PVT mode of motion see the user manual Operand Usage o _PVm contains the number of spaces available in the PV buffer for the specified axis Controller has a 128 segment PVT buffer Examples Galil DMC Code Example
184. expression or assignment See examples below e Ifng lt gt n1 the expression will evaluate to 1 0000 If the comparision is false it will evaluate to 0 0000 e Evaluation occurs left to right Use parenthesis for operator precedence Examples Galil DMC Code Example tbool 1 lt gt 2 MG bool 1 0000 tbool 2 lt gt 2 MG bool 0 0000 Galil DMC Code Example REM Lock out code until REM a particular digital REM input pattern is detected AUTO JS lock block until pattern REM REM REM Rest of code here REM REM EN REM REM BEER kkk kkk kkk kkk kkk kkk kk lock JP lock _TIO lt gt 170 EN 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control lt gt 63 316 Assignment Operator Nos 0 Description The operator is the assignment operator for the controller The assignment operator is used for three reasons 1 to define and initialize a variable x 0 before it is used 2 to assign a new value to a variable x 5 3 to print a variable or array element x which is equivalent to MG x MG is the preferred method of printing Arguments Argument Min Max Default_ Resolution Description __ Notes str ichar 8chars N A String Variable nameto access o i Value to assign to Default n or n null results in a query of the pon 2 147 483 648 ined Rice a 1 65 536 specified variable value of variable Remark
185. f motion The VP command defines the target coordinates of a straight line segment in a 2 axis motion sequence The units are in quadrature counts and are a function of the elliptical scale factor set using the command ES For three or more axes in linear interpolation mode use the LI command Arguments Argument 2 147 483 648 2 147 483 647 Default Resolution Description Specify the target position for the first vector axis See Remarks 2 147 483 648 2 147 483 647 Specify the target postion for the second vector axis See Remarks 15 000 000 3 000 000 15 000 000 Specifies the vector speed to be commanded at the beginning of the linear segment The controller will start accelerating or decelerating at the start of the sequence to this speed Specifies the vector speed to be commanded at the beginning of the linear segment The controller will start accelerating or decelerating at the start of the sequence to this speed Specifies the vector speed to be achieved at the end of the linear segment The controler will decelerate or accelerate during the segment and will reach the specified speed at the end of the segment For MT 1 1 1 5 and 1 5 For MT 2 2 2 5 and 2 5 For MT 1 1 1 5 and 1 5 3 000 000 Specifies the vector speed to be achieved at the end of the linear segment The controler will decelerate or accelerate during the segment and will reach the spe
186. f position data The first bit after the start bit is aways zero so the total bit count is the resolution of the encoder plus one Use the following as examples for 26 bit and 32 bit encoders e SSA 1 27 27 0 lt 14 e SSA 1 33 33 0 lt 14 Hengstiler BiSS Data Timing Table BE T 2 T 1 T O T Data T Padding T Error T Warning T CRC T Timeout Sequence Begin Position Data Total Encoder fae Start Bit Bits including multi Filin Zeros Error Bit Warning Bit 6 Bit CRC Data Required Description Read turn Timeout Bits Data SLO 7 1010 1010 o ooo 000000 Line Hengstler encoders should use the same value for nq and n2 Galil DMC Code Example BiSS setup command for the Hengstler 12 bit MT 10 bit ST Data will be available in TP and for servo feedback SSA 1 26 26 4 lt 13 Galil DMC Code Example Configuration for 26 bit Renishaw Resolute single turn encoder SYA 0 Warning and Alarm bits are active low SSA 1 27 27 0 lt 14 The 27 includes the Resolute single leading zero bit Galil DMC Code Example configuration for 36 bit Hengstler multi turn encoder Multi turn data is combined with single turn data Galil Motion Control Ss 266 316 SYA 3 SSA 1 36 36 5 lt 14 19 bits single turn 12 bits multi turn 5 zero padding bits Warning and Alarm bits are active high SS applies to SER 2015 Galil Motion Control Corrections Feedback document
187. f using SPM mode with stepper motors with an attached encoder e A1 8 degree step motor is 200 steps revolution Examples Galil DMC Code Example i Set the step motor resolution of the A axis for a 1 8 degree step motor YBA 200 Query the A axis value YBA f 200 Response shows A axis step motor resolution YB applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control YB 311 316 STEPPER MOTOR YC Encoder Resolution BARAL YCm n YC n n n n n n n n Usage YCm n Arguments specified with a single axis mask and an assignment YCn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The YC command specifies the resolution of the encoder in counts per revolution for Stepper Position Maintenance SPM mode Arguments Argument i Resolution Description m Axis Axis to assign value n 1 Encoder resolution in counts revolution Remarks e This command is only required if using SPM mode with stepper motors with an attached encoder Examples Galil DMC Code Example Set the encoder resolution of the A axis YCA 2000 Query the A axis value 7 CA 2000 Response shows A axis encoder resolution YC applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 D
188. failure on a Z1 0 axis ENDIF ENDIF a a 1 JP loop a lt _BV AL ls wait for input 1 to go high SH enable all axes RE OV applies to DMC40x0 DMC42x0 DMC41x3 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control OV 222 316 OPERAND ONLY P1CD seriar port 1 code BACI L Usage _ variable P1CD P1CD Operand has special meaning see Remarks Description P1CD returns the status of the serial port when in the operator data entry mode CI 1 The value of P1CD returns zero after the corresponding string or number is read Arguments P1CD is an operand that holds a value cooresponding to status See Examples for use in code Remarks e PICD contains the following status codes P1CD Status Codes StatusCode Meaning Mode disabled o Nothing received Received character but not carriage return received a string not a number received a number Examples Galil DMC Code Example cr 1 13 Interrupt on main serial port wait wT 100000 JP wait dummy loop COMINT Interrupt runs on carriage return IF CP1CD 2 If string received MG P1IST S6 EA Message the string out the Ethernet port ENDIF IF P1cD 3 If number received OP PNM Set outputs based on received number ENDIF EN P1CD applies to DMC21x3 RIO DMC30010 2015 Galil Motion Control Corrections Feedback documentation galilmc com
189. g bits Clock divider defines MA frequency 3 e 1 See chapter 3 section Feedback Inputs and Multi Function MF Pins in the DMC 30000 user manual o http www gali com downloads manuals and data sheets e 2 The firmware wil use the position data in one of two modes o Absolute Mode nj n2 The controler will use the absolute position as transmitted by the encoder If the position rolls over either from zero to the highest position or from the highest position to zero the controller will calculate an incorrect discontinuity in position error Absolute Mode is typically used with linear encoder applications where the motor will not cross past zero or the highest position value o Continuous Mode nj n2 If the absolute position rolls over either from zero to the highest position or from the highest position to zero the firmware will artificially count past the absolute boundaries This maintains continuity in the number line Continuous Mode is typically used with rotary encoders that can move past their absolute range When turning on the BiSS function with SS the data first loaded in Continuous Mode is the same as Absolute Mode e 3 Galil recommends using o 9 for most encoders o To calculate o for a desired frequency 4 in MHz use the equation o 10 f 1 Round to the closest integer in range Remarks e SIm Returns the configuration parameters e Axis must be in MO state prior to issuing the SS command
190. g the EEPROM To restore saved EEPROM settings use RS with no arguments or RS 0 Operand Usage e _RSreturns the state of the processor on its last power up condition The value returned is the decimal equivalent of the 4 bit binary value shown below o Bit 3 For master reset error o Bit 2 For program checksum error o Bit 1 For parameter checksum error o Bit O For variable checksum error e At startup the controller operating system verifies the firmware sector If there is a checksum error shown by _RS in firmware it is not loaded and the controler will boot to monitor mode o The AUTOERR automatic subroutine will run if this error occurs and the subroutine is located in the program space Examples Galil DMC Code Example RSs Reset the hardware RS 1 Perform a soft master reset 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control RS 250 316 ETHERNET RT Real Time SIE RT no n1 Nn2 Usage RTn Arguments specified with an implicit comma separated order _RTO Operands a Operand has special meaning see Remarks _RT3 Description The RT command provides the ability to set and query the current time on the realtime clock RT can be set manually or automatically with the TIME protocol See IH Arguments Argument i Resolution Description no 1 Current seconds value ni Current minutes value E E Current hour value 24 hour clock used n
191. gain detected o This is typically encountered when commanding motion in loops such as a jog loop o In these scenarios it is recommended to use the LIMSWI routine to stop the loop when the FL limit has been exceeded Examples Galil DMC Code Example test Test Program AC 1000000 Acceleration Rate DC 1000000 Deceleration Rate FL 15000 Forward Limit JG 5000 Jog Forward BG A Begin AM A After Limit RP A Tell Position EN End Hint Galil controllers also provide hardware limits FL applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control FL 151 316 FILTER CONTROL FV Velocity Feedforward i nwa A j FVm n FV n n n n n n n n Usage FVm n__ Arguments specified with a single axis mask and an assignment n Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The FV command sets the velocity feedforward coefficient This coefficient generates an output bias signal in proportions to the sample to sample change in reference position RP Arguments Argument i Resolution Description m Axis Axis to assign value n 1 Value of proportional term Remarks e FV also applies to Contour Mode CM and in gearing when an axis is a slave e Velocity feedforward bias
192. galilmc com Galil Motion Control HX 160 316 ETHERNET IA IP Address i BH ae IA no ni no n3 IA ng IA lt o Operand has special meaning see Remarks Description The IA command assigns the controller IP address and the TCP time out The IP address can also be assigned via Galil software or from an external server The controller defaults to DHCP and will receive an IP address from a DHCP server if present To manually set an IP address over the serial connection send DHO to disable DHCP prior to setting the new IP address with IA GalilTools and GalilSuite software packages feature a DHCP BOOTP capability to assign the IP address to the controller Please refer to the user manuals for those products for more information Arguments Argument i Resolution Description no 1 Byte 3 of the IP address ni 1 Byte 2 of the IP address 255 Byte 0 of the IP address 2 147 483 647 The full IP address specified as a signed 32 bit two s complement integer 2 147 483 648 Up to 5 retries 2 147 483 647 The time in update samples between TOP retries occ r Remarks e When specifying the IP address with IA remember to use commas as delimeters instead of periods e n4 will return the IP address of the controller in comma seperated format e Setting the IP address over Ethernet to a new value will cause an immediate disconnect timeout Reconnect to the controller on the new IP address and issue a BN to sav
193. gnal causing a resonance e NB NZ essentially eliminates the notch Examples Galil DMC Code Example NZA 10 Sets the real part of the notch pole to 10 2 Hz NZ applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control NZ 213 316 ERROR CONTROL OA offon encoder failure Ba S OAm n OA n n n n n n n n Usage OAm n Arguments specified with a single axis mask and an assignment oan e Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The OA command turns on or off encoder failure detection The controller can detect a failure on either or both channels of the encoder This is accomplished by checking on whether motion of less than 4 counts is detected whenever the torque exceeds a preset level OV for a specified time OT Arguments Argument i Resolution Description Notes m A Axis Axis to assign value n 1 Status of encoder failure detection 1 enabled 0 disabled Remarks e The OA command works like the OE commana if OA is set to 1 and an encoder failure occurs the axis goes into the motor off MO state and the stop code SC is set to 12 if detected during motion e The encoder failure detection will shut the motor off regardless of profiling status but the stop code is not updated
194. guments specified with a single axis mask and an assignment APn Arguments specified with an implicit comma separated order Description The AP command will hold up the execution of the following command until the actual motor position crosses the specified position This trippoint does not rely on the profiler but on actual encoder position Arguments Argument Min Max Resolution Description m A A Axis Axis to assign value n 2 147 483 648 2 147 483 647 1 Position trippoint value Remarks e For AP command to clear one of the following conditions have been met o The actual motor position crosses the specified absolute position o The motion profiling on the axis is complete o The commanded motion is in the direction which moves away from the specified position e The units of the command are quadrature counts When using a stepper motor the AP trippoint condition is satisfied when the stepper position TD has crossed the specified position o For further information see Chapter 6 of the User Manual Stepper Motor Operation Not valid for a slave during ECAM or Gearing use MF and MR The motion profiler must be active before the AP command is used AP is accurate to the number of counts that occur in 2 TM msec AP tests for absolute position Use the AD command to measure incremental distances Examples Galil DMC Code Example test Program B DP 0 Define zero JG 1000 Jog mode speed
195. has special meaning see Remarks Description The BD command sets the commutation phase of a sinusoidally commutated motor manually When using hall effect sensors a more accurate value for this parameter can be set by using the command BC This command should not be used except when the user is creating a specialized phase initialization procedure Arguments Argument i Resolution Description m Axis Axis to assign value n 1 32 Brushless motor angle in degrees Remarks e Using BD to set a brushless degree overrides the current brushless degrees set by the BZ BX BI initialization routines e Once initialized BD is updated by the firmware to the current brushless degree value e n queries the current brushless degrees e _BDm contains the commutation phase of the specified axis Examples Galil DMC Code Example BDA 100 Set Brushless degrees for A axis to 100 MG _BDA Report the brushless degrees for A axis BD applies to DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BD 88 316 INDEPENDENT MOTION BG Begin BIER LSS Usage BGmm_ Argument is an axis mask Operand has special meaning see Remarks Description The BG command starts a motion on the specified axis or sequence Arguments Argument i Resolution Description Notes mm Multi Axis Mask Axes to begin motion DMC 30000 i
196. he handk specifier where A is 1 B is 2 and so on o Module is the position of the module in the rack from 1 to 16 o BitNum is the O point in the module from 1 to 4 Examples Galil DMC Code Example main SB 5 Set digital output 5 SB 1 Set digital output 1 cB 5 Clear digital output 5 ce i Clear digital output 1 EN Galil DMC Code Example modbus REM connect to modubs slave at IP address 192 168 1 50 IHH 192 168 1 50 lt 502 gt 2 wT 100 SB 8001 set bit 1 on modbus slave wT 10 CB 8003 set bit 3 on modbus slave EN For detailed information on connecting to a Modbus slave see http www galilmc com techtalk io control setting up and rio as extended io for a controller 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control CB 106 316 CONTOUR MODE C D Contour Data Baca Aon CDm n CD n t Usage CDm n Arguments specified with a single axis mask and an assignment CDn Arguments specified with an implicit comma separated order Description The CD command specifies the incremental position on contour axes This command is used only in the Contour Mode CM The incremental position will be executed over the time period specified by the command DT ranging from 2 to 256 servo updates Arguments Argument Resolution Axis Description Axis to assign value 1 Contour position segment Incremental position move Time override o
197. he output compare signal will go low and stay low at a specified absolute encoder position e This is done by specifying n1 as 0 for positive motion and 65536 for negative motion Circular Compare Mode e After the absolute position of the first pulse ng the circular compare can be configured to pulse low at a relative distance thereafter n1 e This is done by specifying n1 to a non zero delta position range of 65535 to 65535 o OCA 0 wil disable the Circular Compare function e The circular compare output is a low going pulse with a duration of approximately 510 nanoseconds Limitations e The Output Compare function is only valid with incremental encoders o The Output Compare function is not valid with SIN COS AF settings of 5 12 standard analog AF setting of 1 BiSS or SSI feedback SS or SI commands The OC function cannot work when configured as a stepper The auxiliary encoder input is non functional during this mode o Dualloop mode which uses the aux encoder input will not operate when the OC command is enabled The OC function requires that the main encoder and auxiliary encoders be configured exactly the same see the command CE For example CE 0 CE 5 CE 10 CE 15 e OC only requires an encoder and is independent of axis tuning and motion profiling Operand Usage e _OC contains the state of the OC function o _OC 0 OC function has been enabled but not generated any pulses o _OC 1 OC function not enable
198. he position of all axes Examples Galil DMC Code Example Assume the A axis iS at the position 200 decimal The returned parameter units are in quadrature counts PF 7 Position format of 7 TP Return A position 200 PF 6 0 Change to hex format TP A Return A in hex 0000cC8 position _TPA Assign the variable position the value of TPA TP applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TP 289 316 INTERROGATION TR Trace BI f TR No Ny Usage TRN Arguments specified with an implicit comma separated order Description The TR command causes each instruction in a program to be sent out the communications port prior to execution The trace command is useful in debugging programs Argumente mee E Said Sac eee ea Set threads to trace by Firmware rev 1 2a or newer See Remarks bitmask ee Firmware rev 1 1c or earlier Remarks e nj sets a 1 byte bitmask which determines which threads will run Bit n set corresponds to thread n traced o For exampke setting bit 2 and 3 sets TR to trace threads 2 and 3 242 243 4 8 12 TR 1 12 is issued e Omitting nj sets it to the default maximum value to enable trace on all threads e Note The lines following the Line Continuation Character will not be displayed in the t
199. he torque exceeds a preset level OV for a specified time OT o Note that for this function to work properly it is necessary to have a non zero value for KI e See the OA command for more details on this error detection mode Examples Galil DMC Code Example setup OTA 10 Set time to 10 milliseconds OVA 5 Set voltage to 5 OAA 1 Enable encoder detection feature EN Galil DMC Code Example REM POSERR example for checking to see if encoder failure occured REM This procedure is needed because the stop code will only update if REM the profilier is running at the time the encoder failure is detected POSERR a 0 loop IF _MO a 1 IF C_TE a lt _ER a amp C _OE a amp _OA a MG possible encoder failure on a Z1 0 axis ENDIF ENDIF a a 1 JP loop a lt _BV Ar 15 wait for input 1 to go high SH enable all axes RE OT applies to DMC40x0 DMC42x0 DMC41x3 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control OT 221 316 ERROR CONTROL OV offon encoder failure voltage Sm ARC OVm n OV n n n n n n n n Usage OVm n ___ Arguments specified with a single axis mask and an assignment OV Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The OV command sets the threshold voltage for detecting an encoder failure The controlle
200. heck EN REM REM kkk kkk kkk kkk kkk kkk kk kkk kkk kkk kk REM Determine if in range check inrange 0 IF CCvalue gt min amp value lt max inrange 1 ENDIF IF Cinrange MG Value value in range ELSE MG Value value NOT in range ENDIF EN REM REM Ww REM Program output REM XQ REM REM Value 0 0250 NOT in range REM Value 1 4710 in range 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control lt 62 316 PROGRAMMING MATH FUNCTIONS lt gt _ Not Equal to comparator SIE no lt gt ny Usage variable value1 lt gt value2 Performs an operation between two values or evaluated statements Description Not Equal to comparator for testing if one value is not equal to another Comparators are used in mathematical expressions IFs and in conditional jumps The result is a boolean Comparators in DMC Code Symbol Comparator gt Greater than lt Equal to Less than or equal to gt Greater than or equal to lt gt Not equal to Arguments Argument Min Max Default_ Resolution Description Notes mo 2 1a7 003 698 2 147 405647 WA_ 1 65 536 Vauetotest ng _ 2 147 483 648 2 147 483 647 N A s 1 65 536 Valuetotest Remarks e A comparator is not a command and is not valid individually Instead the above expression would be used as part of a jump JP JS IF
201. id 7 id MG Z10 0 This message is from thread ED4 EN Returns XQ This message is from thread This message is from thread This message is from thread This message is from thread This message is from thread This message is from thread This message is from thread This message is from thread ONODUBWNE 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ED 132 316 ECAM GEARING EG Ecam go engage AMON EGm n EG n n n n n n n n Usage EGm n_ Arguments specified with a single axis mask and an assignment EG f Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The EG command engages an ECAM slave axis at a specified position of the master Once a slave motor is engaged its position is redefined to fit within the cyck Arguments Argument Min Max Description Notes m A A i Axis to assign value Master position to n outside of master axis position range causes engage ECAM slave slave to engage immediately 2 147 483 648 2 147 483 647 Remarks e _EGm contains ECAM status for specified slave axis 0 axis is not engaged 1 axis is engaged e n Returns 1 if specified axis is engaged and 0 if disengaged e This command is not a trippoint This command will not hold the execution of the program flow If the execution needs to be held until
202. ied slave will be engaged disengaged or changed to a new gear setting Arguments Argument i Resolution Description m Axis Axis to assign value n 1 Absolute Value of Gearing Distance 0 engages gearing instantly Remarks e The distance is entered as an absolute value the motion of the master may be in either direction e If the distance is set to 0 then the gearing will engage instantly Examples Galil DMC Code Example a GA DA Set the aux encoder input as the gearing master GD 5000 Set distance over which gearing is engaged to 5000 counts of the master axis GR 1 Set a gear ratio of 1 1 the distance to fully engage gearing will be 5000 counts of the master axis wT 1000 wait 1 second GR 3 Set the gear ratio to three The ratio will be changed over the distance set by the GD command wT 1000 wait 1 second GR O Disengage the gearing between the axis aux encoder The gearing will be disengaged over the number of counts of the master specified with the GD command above EN End program GD applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control GD 154 316 ECAM GEARING GM Gantry mode Aon GMm n GM n n n n n n n n Usage GMm n__ Arguments specified with a single axis mask and an assignment GMn k Arguments specified with an implic
203. ifies the vector speed to be commanded at the beginning of the linear segment The controller will start accelerating or decelerating at the start of the sequence to this speed For MT 1 1 1 5 and 1 5 For MT 2 2 2 5 and 2 5 15 000 000 Specifies the vector speed to be achieved at the end of the linear segment The controller will decelerate or accelerate during the segment and will reach the specified speed at the end of the For MT 1 1 1 5 and 1 5 segment Specifies the vector speed to be achieved at the end of the linear segment The controller will decelerate or accelerate during the segment and will reach the specified speed at the end of the segment For MT 2 2 2 5 and 2 5 3 000 000 Argument Value Description Notes o 1 Specifies vector speed to be set by Vector Speed Variable VV command See VV command Remarks e The controller always uses the axis specifications from LM not LI to compute the speed o For example if LM specfies that A B and C axis are to be used in linear interpolation mode but LI only specifies positions for B and C the A axis will still be used in calculating the overall vector speed o The maximum independent speed of any axis configured as a stepper must not exceed the maximum value allowable via the SP setting e The slew speed set by VS o or p for linear interpolation mode is the vector speed based on the axes specified in the LM mod
204. ignment EQn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The EQ command disengages an electronic cam slave axis at the specified master position Separate points can be specified for each axis If a value is specified outside of the master s range the slave will disengage immediately Arguments Argument Min Max Resolution Description Notes m A A Axis Axis to assign value 2147 483 647 1 Master position to disengage fn outside of master position range 2 147 483 648 7 the slave axis specified disengage slave axis immediately Remarks e _EQn contains 1 if engage command issued and axis is waiting to engage 2 if disengage command issued and axis is waiting to disengage and 0 if ECAM engaged or disengaged e n Returns 1 if engage command issued and axis is waiting to engage 2 if disengage command issued and axis is waiting to disengage and 0 if ECAM engaged or disengaged e This command is not a trippoint This command will not hold the execution of the program flow o If the execution needs to be held until master position is reached use MF or MR command Examples Galil DMC Code Example EQ 300 Disengages the A motor at master position 300 EQ applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com
205. il Motion Control Corrections Feedback documentation galilmc com Galil Motion Control P1ST 226 316 INDEPENDENT MOTION PA Position Absolute I wA BAR 5S PAm n PA n n n n n n n n Usage PAm n Arguments specified with a single axis mask and an assignment PAn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The PA command sets the end target of the Position Absolute Mode of Motion Arguments Argument i Resolution Description m A A i Axis to assign value N N i Virtual axis to assign value 2 147 483 647 Absolute position target for n returns the commanded position at independant move which motion last stopped 2 147 483 648 Remarks e The position is referenced to the absolute zero position defined as position 0 e By default a new PA command may not be issued before the previous PA command has finished executing This operation may be changed by running in Position Tracking Mode See the PT command for more information Operand Usage e _PAm contains the last commanded position at which motion stopped Examples Galil DMC Code Example DP 10000 set current position to 10000 PA 3000 move to absolute position 3000 which is a 7000 count move BG A begin 7000 count move EN PA applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections
206. il Motion Control Corrections Feedback documentation galilmc com Galil Motion Control OE 218 316 FILTER CONTROL OF offset AH S OFm n OF n n n n n n n n Usage OFm n Arguments specified with a single axis mask and an assignment OFn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The OF command sets a bias voltage in the command output or returns a previously set value Arguments Argument i Resolution Description m Axis Axis to assign value n 20 65 536 Offset voltage applied to MCMD Remarks e This can be used to counteract gravity or an offset in an amplifier Examples Galil DMC Code Example OFA 1 Set A axis offset to 1 OF 3 Set A axis offset to 3 OF Return A offset 3 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control OF 219 316 IO OP Output Port BI 5 OP n Usage OPn Arguments specified with an implicit comma separated order Operands OPO Operand holds the value last set by the command Description The OP command sets the output ports of the controller in a bank using bitmasks Arguments to the OP command are bit patterns decimal or hex to set entire banks bytes of digital outputs Use SB CB or OB to set bits individually Arguments Argument Min Max Default Resolution Description
207. iming diagram as the bit stream between a and b Data contains the absolute position of the BiSS encoder The length of the Data in bits is used for both the nj and n2 arguments of the SS command 2 Zero Padding Some encoder manufacturers namely Hengstler pad the encoder data with trailing zero bits in the Data stream This bit segment is shown between cand d above The number of zero padding bits is the n3 argument of the SS command 3 Error Bit Shown above as BiSS defines an Error bit that is transmitted by the encoder It can be active high or low depending on the manufacturer Galil provides access to the Error bit via the _SSm operand 4 Warning Bit Shown above as W BiSS also defines a Warning bit that is transmitted by the encoder It is also active high or low based on the encoder Galil provides access to the Warning bit via the _SSm operand 5 CRC The Data Eand W bits are all checked for validity via a 6 bit cyclic redundancy check shown above as CRC Galil provides access to the CRC validity via the _SSm operand Arguments Argument i Resolution Description Notes Specify BiSS to replace Main encoder Wire to multi function lines 1 and 2 register 1 Specify BiSS to replace Aux encoder Wire to multi function lines 3 and 4 register 1 Enable BiSS 0 disable 1 enable m Axis N A Axis N A i Number of Data bits a sign of nz sets position mode N A 1 Number of Data bits N A 1 N A 1 Number of zero paddin
208. in N A Handle First handle to switch program Second handle to switch Second handle to S current handle sending command Not valid in switch program N A Handle N A Handle Remarks e A handk encapsulates the following 4 pieces of information o 1 Local IP address same for all handles o 2 Remote IP address o 3 Local Port o 4 Remote Port e Handles are used as a pointer to the network socket in commands such as SAh MBh Eh and IHh where h is the handk letter Examples Galil DMC Code Example HSC D Connection for handle C is assigned to handle D Connection for handle D is assigned to handle c HSS E Executing handle connection is assigned to handle E Connection for handle E is assigned to executing handle HS applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control HS 158 316 HV Homing Velocity i nwa ATs j HVm n HV n n n n n n n n Usage Hvm n Arguments specified with a single axis mask and an assignment Hvn Arguments specified with an implicit comma separated order Operand holds the value last set by the command INDEPENDENT MOTION Notes For MT settings of 1 1 1 5 and 1 5 Servos Description Sets the slew speed for the FI final move to the index and all but the first stage of HM Arguments Argument i R
209. ing Description No timeout 0 timeout occurred 1 CRC valid 0 invalid 1 BiSS employs a Cyclic Redundancy Check to verify data after transmission Error bit active state set When SY is set correctly this bit should be low when there is no active warning Consult the encoder with SY documentation for the Warning bit definition Warning bit active state When SY is set correctly this bit should be low when there is no active alarm error Consult the encoder set with SY documentation for the Alarm bit definition The BiSS decoding hardware will timeout if the encoder doesn t set the start bit within 30uS BiSS Pinout Pin I O 44 Pin BiSS Signal 35 Main Axis Data D0 or SLO 5 Main Axis Data DO or SLO 6 Main Axis Clock C0 or MA 21 Main Axis Clock CO or MA 22 Aux Axis Data D0 or SLO 36 Aux Axis Data DO or SLO 37 Aux Axis Clock CO or MA 7 Aux Axis Clock CO or MA 16 20 33 Ground Examples Renishaw BiSS Data Timing Table Bit Sequence T 2 T 1 T 0 T 1 T Data T Error T Warning T CRC T Timeout Data Begin Encoder Acknowledge 5 Position Data 26 Description Read Wait Bits aaa Zero BRE or 32 Bts e 1 0 0 1 0 1010 1010 0 0 ooo000 s f 0 ae Required Error Bit Warning Bit 6 Bit CRC Timeout Bits Renishaw C mode unidirectional RESOLUTE encoders can be either 26 or 32 bits o
210. ing or stopped by Stop Command ST Stopped by Abort input Stopped by Abort command AB Decelerating or stopped by Off on Error OE1 Stopped after finding edge FE Stopped after homing HM or Find Index FI Stopped by selective abort input Decelerating or stopped by encoder failure OA1 For controllers supporting OA OV OT Amplifier Fault For controllers with internal drives Stepper position maintenance error Running in PVT mode PVT mode completed normally PVT mode exited because buffer is empty Contour Running Contour Stopped ECAM Running ECAM Stopped Stopped due to EtherCAT communication failure Stopped due to EtherCAT drive fault MC timeout Vector Sequence running Vector Sequence stopped WlAINIDA A WIN R oO Pile ejo m N 15 m a w oO Ww pare Ww N ui oO uo rary a a rare N N m Ko Ko e _SCm contains the value of the stop code for the specified axis Examples Galil DMC Code Example tom Sea Assign the Stop Code of A axis to variable tom Galil DMC Code Example JG 10000 IBG A ISC A 0 Axis is running in independent mode STA ISC A 4 Axis is stopped by ST command SC applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Gali
211. ing registers addressed 400xxx 17 MBm ng 17 str Report Slave ID Argument Description Max Default Resolution Notes m F N A Handle Handle to send Modbus command 255 see Notes 1 Unit ID no Default to Handle number A 1 B 2 etc 8 chars N A String Name of array to receive data str 0 holds the value Galil DMC Code Example MBB 17 example store slave ID of device on handle B to example Raw Modbus Packet Send MBm ng 1 n2 str Raw Modbus Name of array containing outgoing data Raw Modbus Packet Send Receive MBm ng 1 n2 str0 n3 n4 stri Default Resolution N A Handle Handle to send Modbus command Default to Handle number A 1 B 2 etc Number of array bytes to send Array size gt n2 See Remarks MB applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RI0 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation ga lilmc com Galil Motion Control MB 194 316 TRIPPOINT MC motion Complete SIN LIS MC mm Usage MC mm___ Argument is an axis mask Description The MC command is a trippoint command that holds up execution until motion is complete on any one of a specified group of axes The MC command unlike the AM after motion command requires that both the motion profiler has completed motion AND that the motor encoder has reached the specified position before continuing
212. ion for the specified axis Examples Galil DMC Code Example Assume that A axis is commanded to be at the position 200 The returned units are in quadrature counts PF 7 Position format of 7 RP 200 RP A 200 Return the A motor reference position PF 6 0 Change to hex format RP 0000c8 position _RPA Assign the variable position the value of RPA Galil DMC Code Example GA N make A axis slave to N imaginary axis IGR 1 1 1 gearing SPN 10000 PRN 10000 BG N Begin motion IRP N Get master position 10000 IRP A Get slave commanded position 10000 RP applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control RP 249 316 SYSTEM CONFIG RS Reset SIC N RS n Usage RSn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The RS command resets the state of the processor to its power on condition The previously saved state of the hardware along with parameter values and saved program are restored Arguments Argument i Resolution Description Notes 1 Set behavior of RS n 0 peforms normal reset n 1 performs soft master command reset See Remarks Remarks e Asoft master reset performed by issuing RS 1 restores factory default settings without erasin
213. ion of CN n and Home digital input _CN1 value Home input digital state HMn state Direction of travel if HM begun in this state 1 pul up or non active opto 1 Backward 0 grounded or active opto Forward 1 pul up or non active opto 0 Forward 0 grounded or active opto Backward Examples Galil DMC Code Example IHM Set Homing Mode for all axes BG Home all axes HM A Set Homing Mode for axis A FRG A Home only the A axis HM applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control HM 157 316 ETHERNET HS Handle Assignment Switch SEI Je HSm0 m Usage HSm0 m_ Arguments are single axis masks and are specified with a single axis mask and an assignment HS m Arguments are single axis masks specified with an implicit comma separated order Description The HS command is used to switch the ethernet handle assignments between two handles Handles are opened when a connection is established by an external client TCP or UDP or when a handke is assigned explicitly with the IH command Should those assignments need modifications the HS command allows the handles to be reassigned Arguments Argument i Default Resolution Description Notes mo N A Handle First handle to switch S current handle sending command Not valid
214. irmware revisions 1 0 to 1 1c Examples Galil DMC Code Example pEr Begin Download A PR 4000 BGA AMA MG DONE EN End download 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control DL 123 316 PROGRAMMING DM Dimension Arra y AS 5 DM str n Usage DMn Arguments specified with an implicit comma separated order Description The DM command defines a single dimensional array with a name and n total elements The first element of the defined array starts with element number 0 and the last element is at n 1 Arguments Argument i Max Resolution Description str 8 chars String Name of array to dimension n 3 000 1 Number of array elements to assign to dimensioned array where c is a array name of up to eight alphanumeric characters starting with an alphabetic character iis the number of array elements n returns the number of array elements available Remarks e Typing in array name with 1 element marked reports the number of elements for that array e The first character of str must be alphabetic The rest can be any alphanumeric characters e When assigning array elements the number specified must be less than the current available array space e _DM contains the available array space Examples Galil DMC Code Example DM pets 5 dogs 2 cats 3 Define dimension of arrays Pets with 5 elements Dogs with 2 elements
215. is command may cause the Galil software to timeout This warning is normal and is designed to warn the user when the controller does not respond to acommand within the timeout period This occurs because this command takes more time than the default timeout period The timeout can be changed in the Galil software This warning does not affect the operation of the board or software Examples Galil DMC Code Example BV burn in variables a colon response returned 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BV 100 316 SYSTEM CONFIG BW Brake Wait BAs g BWm n BW n n n n n n n n Usage BWm n Arguments specified with a single axis mask and an assignment Bwn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The BW command sets the delay between when the brake is turned on and when the amp is turned off When the controller goes into a motor off MO state this is the time in samples between when the brake digital output changes state and when the amp enabk digital output changes state The brake is actuated immediately upon MO and the delay is to account for the time it takes for the brake to engage mechanically once it is energized electrically The brake is released immediately upon SH Brake Wait Timing Brake Output a Brake wait time Amplifier Enable b Motor Off MO
216. is true ELSE ELSE command for 3rd conditional statement MG IN1 AND IN2 INACTIVE Message to be executed if 3rd IF conditional statement is false ENDIF End of 3rd conditional statement ENDIF End of 1st conditional statement 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ENDIF 139 316 EO Echo BIS 5 Usage EOn Operands EO Description Arguments specified with an implicit comma separated order Operand holds the value last set by the command The EO command turns the echo on or off If the echo is off characters input over the bus will not be echoed back Arguments Argument Description Notes Echo Off Remarks Echo On Default e This command is defaulted to EO1 Galil software upon connection will set EO0 e The EO command is accepted over the serial port only o The ethernet port will not echo commands Examples SYSTEM CONFIG Galil DMC Code Example EO 0 Turns echo off EO 1 Turns echo on 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control EO 140 316 ECAM GEARING EP cam table master interval and Phase shift BCI f EP no N Usage EP n Arguments specified with an implicit comma separated order Operands _EP Operand holds the value last set by the command Description The EP command defines the ECA
217. is valid with the following internal amplifiers DMC 3x012 DMC 3x014 DMC 3x017 DMC 3x017 2PB o o o o e There are several methods to initialize a motor with the Galil sine amplifier They are listed below Commutation options with a Galil sine drive Command Description BC BI Uses hall sensors to commutate until a hall transition is encountered Drive then commutates sinusoidally BX Uses an algorithm to determine phase angle with minimal motion BZ Drives the motor to a known magnetic phase Drive then commutates sinusoidally BZ Initialization Steps 1 Set axes enabled for sine amp with the BA command 2 Set motor modulo with the BM command 3 Set OE1 for motor runaway ER must be greater than BM brushless modulus 4 Issue BZ1 to test at smaller voltage 1 If error code 113 occurs try a larger voltage If motion is occuring then check that the encoder is working 2 If error code 114 occurs ensure that the timeout time is long enough for BZ BZ lt o If increasing o doesn t help invert the encoder direction with CE If BZ is successful issue SH Ensure the motor holds position Attempt a jog If the motor jogs then the initialization is complete 1 If the motor shuts off due to position error retry BZ Invert the encoder direction with CE if that hasn t been attempted aun Examples Galil DMC Code Example REM setup DMC 3x017 2PB for drive 2 phased brushless servo motor MO A Motor must b
218. it comma separated order Operand holds the value last set by the command Description The GM command specifies the axes in which the gearing function is performed in the Gantry mode In this mode the geared slaves will not be stopped by the ST command or by limit switches Arguments Argument i Resolution Description m A Axis Axis to assign value n 1 Value of GM command 1 Enables Gantry Mode 0 disables Gantry Mode Remarks e The GM command is useful for driving heavy loads on both sides with two motors Gantry Style e Only setting Gantry Mode of the slave to 0 GMm 0 will disable Gantry Mode Examples Galil DMC Code Example GA DA Set master for A axis to the A axis Aux encoder input GM 1 Enable Gantry Mode on A axis GR 1 Set Gear Ratio to 1 wT 1000 ST Axis will still be in gearing Mode wT 1000 GM 0 Disable Gantry Mode Axis still gearing wT 1000 ST will clear gearing mode EN GM applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control GM 155 316 ECAM GEARING G R Gear Ratio Bcs jg GRm n GR n n n n n n n n Usage GRm n___ Arguments specified with a single axis mask and an assignment GRn n ef Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description
219. it comma separated order Description The QU command transfers array data from the controller to a host computer The QU requires that the array name be specified along with the first element of the array and last element of the array Arguments Argument i Max _Pefout Resolution Description Notes str 7 chars Na srng preme ofarraytobeupbaded o see Notes Index of first array element Value cannot exceed size of array 2 Defaults to last element of array Value cannot exceed size of array 1 see Notes see Notes Index of last array element Selects character delimiter n2 0 selects CR delimiting n2 1 select between array elements comma delimiting Remarks e Array name must be a valid dimensioned array name followed by empty brackets e The uploaded array will be followed by a lt control gt Z as an end of text marker e The GaliTools array upload functions can be used to upload array data in csv format Examples Galil DMC Code Example DM test 10 Dimension a 10 element sized array QU test 0 1 1 Upload first 2 elements QU test 8 9 1 Upload last 2 elements size 2 and size 1 used for n1 n2 EN Galil DMC Code Example DM array ol 3 tarrayLO 9 0000 QU array 0 4 1 9 0000 1 0000 0 0000 0 0000 0 0000 Dimension Array QU array 0 Upload Array 0 0000 O0 0606 g 0000 0 0000 0 0000 array 0 9 Set value array 1 1 Alternative method to re
220. ith limited movement of the hardware The BX uses a limited motion algorithm to determine the proper location of the motor within the magnetic cycle It is expected to move no greater than 10 degrees of the magnetic cycle The last stage of the BX command wil lock the motor into the nearest 15 degree increment Arguments Argument i Resolution Description Notes Axis Axis to assign value 20 65 536 Voltage to be applied during amp n end BX with SH n end BX initialization with MO Number of samples for BZ to hold final o should be set before BXm n torque pulse command Remarks e _BXm contains 0 if axis m is not a Galil sine amp axis contains 1 if axis m is an uninitialized sine amp axis and contains 3 if axis m is an initialized sine amp axis e An axis with a Galil sine amp powers up in MO state and SH will generate an error for that axis until t is initialized e While the BX command is executing communication to and from the controller will be halted This may result in a timeout if the BX command is sent from the host Embedded code execution will also pause during BX operation o The long timeout l for GaliTools 1 5 0 has been increased to prevent a timeout while using the BX command e If the BX command failes to initialize an axis it will return an error code of 160 TC1 will return 160 BX Command Failure e BX initialization is valid with the following internal amplifiers o DMC 30012 o DMC 3x014 o DMC 3001
221. k documentation galilmc com Galil Motion Control RC 242 316 PROGRAMMING RD Record Data SILI 5 RD arg arg arg arg Usage RDn Arguments specified with an implicit comma separated order Operands RD_ Operand has special meaning see Remarks Description The RD command specifies the data type to be captured for the Record Array RA mode The data defined in this command is stored in arrays defined by the RA command at the time interval specified with the RC command Arguments Valid arguments for RD command Argument Description Time in arg servo Value as read by the TIME command samples Data range is 32768 to 32767 The analog inputs are limited to those which correspond to an axis on the controller Syntax Note Unlike the operand _AFm the symbol _AFm in the context of RD records the ADC value not the AF setting Analog input digital value 2nd encoder position Encoder position Position error Commanded position Commanded position _RLm Latched position _TI Input status Output OP status _TSm Switches Only bits 0 4 valid _scm Stop code _TEm _RPm _RPm and _SHm capture the same data _SHm _RPm and _SHm capture the same data Torque The values recorded for torque are in the range of 32767 where 0 is 0 torque 32767 is 10 volt command command output and 32767 is 10 vot Fitered This value will be 64 times greater than TV command velocity
222. l Thread 0 does not need to be running for AMPERR to be executed This was a requirement on earlier products Arguments Label must be the first element on a line of code Remarks e Use RE to return from the AMPERR subroutine e See the TA command for more information Examples Galil DMC Code Example this code will run in the event of an amplifer error setting a digital output and notifying the operator AMPERR Set a digital bit to signal an amplifier error to peripheral hardware SB 4 Send a message to the user MG An amplifier error has occured Return from the AMPERR subroutine restoring trippoints that were running RE 1 AMPERR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AMPERR 11 316 PROGRAMMING SUBROUTINE AUTO subroutine to run automatically upon power up a Description Defines the automatic entry point of embedded DMC code When power is applied to the controler or after the controller is reset the program will automatically begin executing at this label When no host software is used with the controller AUTO is required to run an application program on the controller stand alone Arguments Label must be the first element on a line of code Remarks e Use EN to end the routine e Thread 0 is used to execute AUTO on startup Examples Galil DMC Code Example
223. l Motion Control SC 257 316 INDEPENDENT MOTION SD Switch Deceleration BAs jg SDm n SD n n n n n n n n Usage SDm n___ Arguments specified with a single axis mask and an assignment SDn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The Limit Switch Deceleration command SD sets the linear deceleration rate of the motors when a limit switch has been reached Arguments Argument i Default Resolution Description Notes m N A Axis Axis to assign value n 1 073 740 800 256 000 1 024 Value of switch deceleration Resolution changes with TM see Remarks Remarks e The resolution of the SD command is dependent upon the update rate setting TM With the default rate of TM 1000 the resolution is 1024 cnts second 2 The equation to calculate the resolution of the AC command is o Resolution 1024 1000 TM 2 o Example a With TM 500 the minimum AC setting and resolution is 4096 cnts second 2 resolution 1024 1000 500 2 4096 e The SD command may be changed during the move in JG move but not in PR or PA move Examples Galil DMC Code Example main PR 10000 Specify position AC 2000000 Specify acceleration rate DC 1000000 Specify deceleration rate SD 5000000 Specify Limit Switch Deceleration Rate SP 5000 Specify slew speed EN SD applies to DMC40x0 DMC42x0 DMC41x3 DMC18x6 DMC300
224. l stop Arguments Label must be the first element on a line of code Remarks e Use EN to end the routine e CMDERR wil only run from errors generated within embedded DMC code not from the terminal or host e In a single threaded application Thread 0 only the EN command in the CMDERR routine will restart thread 0 where it left off e Ina multithreaded application the thread that has an error will be halted when a command error occurs Thread 0 will be interrupted to run the CMDERR routine but other threads will continue to run o In order to restart the thread that encountered the error see the example in Chapter 7 of the User Manual and the _ED operand e Thread 0 does not need to be running in order for the CMDERR routine to execute Examples Galil DMC Code Example This code will put the motion controller in Position Tracking mode variable target is updated from the terminal or from a host program to specify a new target CMDERR is used to detect a bad target value start DPA 0 Define current position as zero PTA 1 Turn on position trackin target 0 Initialize target variable track Start tracking PAA target Track to current value of target wT 500 wait 500 ms JP track Continue to track CMDERR runs if an error occurs JP done _TC lt gt 6 check that an out of range occured See TC MG Value target is out of range for Position Tracking target _PAA reset target done EN 1
225. lane with the D axis used as a tangent axis issue VM ABD 2 If only the vector plane is desired for the above example then issue VM AB Specify vector speed with VS vector acceleration with VA and vector deceleration with VD Specify vector segments with the VP command or circular segments with the CR command When finished with the sequence of moves issue VE Issue BGS to begin motion for the S coordinate system You can now wait for motion to complete issue additional segments as buffer space is cleared or start a new move on the T coordinate plane by specifying CAT and starting from step 2 NOU BW Examples Galil DMC Code Example a Program Label WM AN Specify motion plane vP 1000 2000 Specify vector position 1000 2000 vP 2000 4000 Specify vector position 2000 4000 CR 1000 0 360 Specify arc VE vector end BG S Begin motion sequence AM S wait for vector motion to complete EN End Program VM applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control VM 301 316 VECTOR LINEAR VP Vector Position SEI VP no n lt 0 gt p Usage VP Nn Arguments specified with an implicit comma separated order Operands _VPm Operand has special meaning see Remarks Description The VP command defines a vector move segment for the VM mode o
226. lculate these values is o Resolution Min 1024 1000 TM 2 o example a With TM 500 the minimum AC setting and resolution is 4096 counts second 2 a resolution 1024 1000 500 2 4096 Examples Galil DMC Code Example REM Set A axis acceleration to 150000 AC 150000 a _ACA Assigns the A acceleration to the variable a AC applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AC 70 316 TRIPPOINT AD After Distance SIN UHS ADm n AD n n n n n n n n Usage ADm n___ Arguments specified with a single axis mask and an assignment __ ADn Arguments specified with an implicit comma separated order Description Trippoint to block command execution until a given distance is traversed This is a profiled trippoint which means it depends on the motion profiler and not the actual motor encoder AD can only be used when there is commanded motion on the axis Arguments Argument i Default Resolution Description m N A Axis Axis to assign value n 2 147 483 647 N A 1 Distance of motion Cannot specify more than 1 argument at a time Remarks e AD wil hold up the execution of the folowing command until one of the following conditions have been met o The commanded motor position crosses the specified relative distance from the start of the move
227. led move has completed RP has reached final commanded position the integrator loop will be enabled Examples Galil DMC Code Example KI 2 Integrator constant IL 3 Integrator limit 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control IL 168 316 IP Increment Position Aon IPm n IP n n n n n n n n Usage IPm n __ Arguments specified with a single axis mask and an assignment INDEPENDENT MOTION Pn Arguments specified with an implicit comma separated order Description The IP command allows for a change in the command position while the motor is moving This command does not require a BG Arguments Argument Description A Resolution i Axis to assign value N Imaginary axis to assign value Remarks 2 147 483 648 2 147 483 647 Value of incremental move e _IPm contains the current position of the motor e The IP command has four effects depending on the mode of motion being executed IP operation based upon modes of motion Description Motor will move to specified position with the predefined AC DC SP values Motor will move a relative move of ng n1 The motor wil instantly try to servo to a position which is the current instantaneous position plus the specified IP position SP and AC parameters have no effect This command is useful when synchronizing 2 axes in which one of the axis
228. lement zero of array str str 8 chars N A String Name of array to store value Galil DMC Code Example MBE 7 example Read register and store in example 0 15 MBm ng 15 n2 n3 str Force Multiple Coils Write Multiple Bits Argument Max Default Resolution Description Notes command Unit ID Default to Handle number A 1 B 2 etc n2 0 9 999 N A 1 Address of first coil n3 1 16 N A 1 Quantity of coils str 1 char 8 chars N A String Array to set values for coils str 0 holds the first value 16 bits per elment Galil Motion Control MB 193 316 Galil DMC Code Example example O 255 MBC 15 0 16 example Set 1st byte of coils high and 2nd byte of coils low equivalent to setting digital outputs on RIO or setting coils addressed 000xxx 16 MBm ng 16 n2 n3 str Preset Multiple Registers Write Words Argument Resolution Description Handle to send Modbus Handle command m A 0 no 255 see Notes Address of first register Unit ID Default to Handle number A 1 B 2 etc 99 Quantity of registers Array containing modbus data 8 chars size must str 0 holds the first value 2 bytes per element Array be gt n3 Galil DMC Code Example example O AEAE MBD 16 2 1 example equivalent to setting analog outputs Set AEAE to holding register 2 on handle D or writing to hold
229. lid IF statement IF var0 1 amp var1 2 invalid IF statement IF var0 1 amp var1 2 invalid IF statement Examples Galil DMC Code Example a IF _TEA lt 1000 IF conditional statement based on a motor position MG Motor is within 1000 counts of zero Message to be executed for true ENDIF End of IF conditional statement EN End Program Galil DMC Code Example input sai IF C IN 1 0 IF conditional statement based on input 1 MG Input 1 is Low Message to be executed if IF statement is true ENDIF End of IF conditional statement EN Galil DMC Code Example var vl AN 1 5 some calculation for variable v1 IF CCv1 gt 25 amp C IN 4 1 Conditions based on V1 variable and input 4 status MG Conditions met Message to be executed if IF statement is true ENDIF End of IF statement EN Galil DMC Code Example REM The conditions of an if statement can be simplied with the fact that REM a true condition 1 and a false condition 0 true vis 1 IF v1 MG True vl v1 ENDIF false vl 0 IF v1 if statement evaluates false ELSE MG False v1 0 ENDIF EN 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control IF 163 316 ETHERNET IH Open IP Handle I nwa SEI s IHm no n1 n2 Nn3 lt 0 gt P IHm n lt o gt p IHm gt p Usage IHm n Arguments specified with a single axis m
230. lies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO0 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control IA 161 316 ID zaentify BEI ID Usage D Command takes no arguments Description The ID command is used to query the controler for the hardware configuration and facotry programming Arguments ID is a command with no arguments Remarks e Refer to the Examples section for actual controller responses e The following are descriptions of the ID response CPU rev number cpu_options ICM rev number icm_options AMP rev number amp_model where number Revision number for the given hardware type cpu_options Listed options for the CPU Valid strings include SPI Flash Shown if CPU board is revision C or newer and firmware revision is 1 1B or newer Real Time Clock Shown if RTU option ordered icm_options Listed options for the ICM Valid strings include Low Power Sinking Outputs Shown if LSNK option ordered High Power Sourcing Outputs Shown if HSRC option ordered amp_model Listed order for the AMP Valid strings include SINE Shown if DMC 30012 ordered STEPPER Shown if DMC 30017 ordered Examples INTERROGATION Galil DMC Code Example ID Fw DMC31010 Rev 1 2e Hw DMC31012 MCB rev 3 SPI Flash IOB rev 0 LSNK SER SINE 16bit ADC AMP rev 1 ID applies to DMC40x
231. lil software 2 Download and run the following code 3 Now connect via Hyperterm or other terminal software to the RS232 port X will print every second This string can be changed to whatever command string is required for the third party device Now type a number and enter 4 The Number Received message wil print on the Ethernet connection Galil DMC Code Example cI 1 1 Interrupt on CR Cw 2 don t set MSB loop Send a character to the port MG PI x wT 1000 JP loop COMINT MG Number Received P1NM EN 1 P1NM applies to DMC21x3 RIO0 DMC30010 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control P1NM 225 316 OPERAND ONLY P1ST Serial port 1 string BIE P1ST Usage _ variable P1ST PIST Operand has special meaning see Remarks Description P1ST returns the last string followed by carriage return sent to the serial port when in the operator data entry mode CI 1 Arguments P1ST is an operand that contains a string See Examples for usage Remarks e No more than 6 characters can be accessed e Strings must be messages out using the Sx operator in the MG command Otherwise the string will be reported as its ASCI numerical value Examples Galil DMC Code Example Py ok are MG TEST P1 send a message to the hand terminal MG P1ST S3 the characters ABC were entered ABC P1ST applies to DMC21x3 RIO0 DMC30010 2015 Gal
232. lize a motor for sine commutation using hall sensors The function BC monitors the status of the Hall sensors of a sinusoidally commutated motor and resets the commutation phase upon detecting the first hall sensor This procedure replaces the estimated commutation phase value with a more precise value determined by the hall sensors Arguments Argument Min Max Default Resolution Description mm A ASA Mult Axis Mask Axes to initialize with hall commutation e BC initialization is valid with the following internal amplifiers o DMC 3x012 o DMC 3x014 o DMC 3x017 with MT 1 for servo operation a BC is not valid with the 2PB option See BZ Remarks e The BC command is one of several ways to initialize a Galil sine drive The table below lists the various methods Commutation of a Gali Sine Drive Command Description BC BI Uses hall sensors to commutate until a hall transition is encountered Drive then commutates sinusoidally BX Uses an algorithm to determine phase angle with minimal motion BZ Drives the motor to a known magnetic phase Drive then commutates sinusoidally Steps for BC sine initialization 1 Specify the axis axes for initialization with the BA command 2 Specify the number of encoder counts per magnetic phase of the motor with the BM command see command for examples 3 Issue BI to select the inputs to use as hall inputs 4 Servo the motor and verify it holds position 1 If the motor
233. ll increase by 1 count every update of approximately 1000usec The clock is reset to 0 with a standard reset or a master reset Arguments TIME is an operand and has no parameters Remarks e The keyword TIME does not require an underscore _ as with the other operands TIME wil increment up to 2 147 483 647 before rolling over to 2 147 483 648 and continuing to count up o TIME rollover occurs after 24 25 days of on time at TM 1000 with no reset e TM 1000 wil actually set an update rate of 976 microseconds Thus the value returned by the TIME operand will be off by 2 4 of the actual time Examples Galil DMC Code Example MG TIME Display the value of the internal clock tl TIME Sets the variable t1 to the TIME value 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TIME 285 316 FILTER CONTROL TK Peak Torque Limit i na ATs j TKm n TK n n n n n n n n Usage TKm n ___ Arguments specified with a single axis mask and an assignment __ TKn __ Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The TK command sets the peak torque limit on the motor command output This command works with the TL command which sets the continuous torque limit When the average torque is below TL the motor command signal can go up to the TK Peak Torque limit for a short amount of time Argum
234. ll variables where c Defined array name d Defined variable name d deallocates all the variables c Deallocates all the arrays DA Returns the number of arrays available Remarks e _DAcontains the total number of arrays available e Since this command deallocates the spaces and compacts the array spaces in the memory it is possible that execution of this command may take longer time than a standard command e Variables and arrays that are deallocated are not set to zero A routine that writes zeros to the array and or variables should be created if this is desired Examples Galil DMC Code Example Cars and Salesmen are arrays and Total is a variable DM cars 40 salesmen 50 Dimension 2 arrays total 70 Assign 70 to the variable Total DA cars 0 salesmen 0 total Deallocate the 2 arrays amp variable DA O Deallocate all arrays DA 0O Deallocate all variables and all arrays 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control DA 118 316 INDEPENDENT MOTION DC Deceleration BAd jg DCm n DC n n n n n n n n Usage DCm n ___ Arguments specified with a single axis mask and an assignment DCn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The Deceleration command DC sets the linear deceleration rate of the motor
235. lopment e Axis must be in MO state prior to issuing the SI command SSI Pinout Pin I O 44 Pin SSI Signal Main Axis Data D0 Main Axis Clock C0 Main Axis Clock CO Aux Axis Data D0 Aux Axis Clock C0 Aux Axis Clock C0 Operands e _SImreturns the value of the SSI encoder s status bits as defined in n3 The returned decimal number represents an 8 bit binary value The meaning of the status bits is defined by the encoder manufacturer Examples Galil DMC Code Example STA 1 25 25 0 lt 10 gt 1 Encoder on axis A replaces main encoder TP 25 bits total all single turn no status Galil DMC Code Example SIN 1 25 25 0 lt 10 gt 1 Encoder on axis A replaces aux encoder TD SIA 0 Disable encoder on axis A main encoder input Galil DMC Code Example SIA 0 Disable SSI on axis A SI applies to SER 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SI 261 316 PROGRAMMING SL Single Step Bas NII SL n Usage SLn Arguments specified with an implicit comma separated order Description The SL command is used to single step through a program for debugging purposes SL can be used after execution has paused at a breakpoint BK The argument n allows user to specify the number of lines to execute before pausing again Arguments Argument Min Default Resolution Description Notes n 1 1 Number of li
236. lution Description Notes Oom JAA A AXis_ fAxisttoassign vaue on 2 147 483 648 2 147 483 647 N A t_ Relative position for trippoint Remarks e The units of the command are quadrature counts e When using a stepper motor this condition is satisfied when the stepper position as determined by the output buffer has crossed the specified Relative Position o For further information see Chapter 6 of the User Manual Stepper Motor Operation e If the direction of the motion is reversed when in position trackig mode see PT command the starting point for the trippoint is reinitialized to the point at which the motion reversed e The motion profiler must be active before the AR command is issued e Not valid for a slave during ECAM or Gearing use MF and MR e Note AR will be affected when the motion smoothing time constant IT is not 1 See IT command for further information o AP is accurate to the number of counts that occur in 2 TM msec e AR is used to specify incremental distance from last AR or AD command e Use AR if multiple position trippoints are needed in a single motion sequence Examples Galil DMC Code Example a Begin Program DP 0 JG 50000 Specify speed BG A Begin motion b Label AR 25000 After passing 25000 counts of relative distance on A axis MG Passed TP A Send message on A axis JP b Jump to Label B EN End Program AR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC1
237. ly using the QD command Examples Galil DMC Code Example From a character buffered terminal such as Telnet or Hyperterm DM array 3 QD array 1 2 3 LA array 3 array 0 1 0000 array 1 2 0000 array 2 3 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control QD 234 316 INTERROGATION QH Query Hall State Aon QH mm Usage QHmm Argument is an axis mask Operand has special meaning see Remarks Description The QH command transmits the state of the Hall sensor inputs The value is decimal and represented by a 3 bit value see Remarks Arguments Argument Min Max Default Resolution Description Notes mm A A A Multi Axis Mask Axis to return Hall status Remarks e The 3 bit value returned by QH is defined in the table below 7 Undefined set to 0 6 Undefined set to 0 5 2 0 i 0 i 0 Hall C State 01 Hall B State 00 Hall A State e QHshould return a value from 1 through 6 as valid Hall combinations A value of 0 or 7 is invalid when using Hall sensors and will generate a Hall error with OE set o The valid sequence for Hall inputs is a greycode output only one bit changes at a time a 1 3 2 6 4 5 or 5 4 6 2 3 1 o To disable Hall error checking set the axis to brushed with a BR 1 command e When using an internal sine amplifier the BA command must be issued before QH will report the Hall state status Operand Us
238. mand KI1 2 o SA automatically adds commas between two number values being sent e There is a 38 character maximum payload length for the SA command Operational Notes 1 SA is non blocking A wait e g WT10 must occur between successive calls to SA 2 SA is not valid over a handle configured for Modbus port 502 3 When writing multi threaded DMC code send all traffic from only one thread 4 The Galil that establishes the connection and issues the SA command is called the master The Galil that receives the connection and answers the SA is the slave 1 For both controllers in a connection to be both masters and slaves open two Ethernet handles Each of the controllers is a master over one of the handles and a slave on the other Dedicated Handles IH for Controller 2 Controller 1 f each direction Operand Usage e _SAmn gives the value of the response to the command sent with an SA command o Them value represents the handle A thru H and the n value represents the specific field returned from the controller 0 7 o If the specific field is not used the operand will be 2 31 Examples Galil DMC Code Example a IHA 10 0 0 12 Configures handle A to be connected to a controller with IP 10 0 0 12 b JP b THA2 lt gt 2 wait for connection SAA KI 1 2 Sends the command to handle A slave controller KI 1 2 wr 10 SAA TE Sends the command to handle A slave controller TE wt 10 MG _SAAO
239. ment with SSI Signal Reassignment with BiSS Clock MA Clock e Once wired configure the serial encoder as an auxiliary encoder o See Slor SS for configuration information e Once configured for Dual Loop DV1 DF1 will swap the serial encoder to become the load Main encoder The incremental encoder wired to the main encoder inputs becomes the motor Auxiliary encoder TP will now report the serial encoder position and TD will report the incremental encoder position Examples Galil DMC Code Example MO A Disable motor on X SIA 2 25 15 0 lt 13 gt 2 Setup SSI encoder to fill the Aux encoder register DF 1 Enable Dual Feedback Swap DV 1 Enable Dual Loop mode SH A Enable servo with new configuration DF applies to DMC500x0 SER DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control DF 121 316 ETHERNET DH DHCP Client Enable BA DH n Usage DHn Arguments specified with an impicit comma separated order Description The DH command configures the DHCP or BOOT P functionality on the controller for Server IP addressing Arguments Argument Description n 0 Enable BOOT P and disable DHCP Allows IP assignment through JA command Disable BOOT P and enable DHCP Default Allows IP assignment through DHCP server Remarks e DHO must be set to manually assign and burn in an IP address With DH 1 set the IA command wil ret
240. mmands CI applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control Cl 110 316 CONTOUR MODE CM contour Mode Bacs ARON CM mm Usage CMmm Argument is an axis mask Operand has special meaning see Remarks Description Contour Mode is initiated by the instruction CM This mode allows the generation of an arbitrary motion trajectory with any of the axes The CD command specifies the position interval between subsequent contour segments The DT command specifies the time interval between subsequent contour segments Arguments Argument Min Default Resolution Description Notes mm A N A Multi Axis Mask Axis to initialize to Contour mode Disabled by default Remarks e mm Returns a 0 if the contour buffer is full and 511 if the contour buffer is empty e _CM contains a 0 if the contour buffer is full otherwise it contains the number of available contour segments e Issuing the CM command wil clear the contour buffer when contour mode is not running e CM When using contour mode on any axis the ECAM mode is disabled for all axes Examples Galil DMC Code Example cont Define label cont cM A Specify Contour Mode DT 8 Specify time increment cD 100 New position data cD 100 New position data CD 0 1 Pause contour buffer cD 100 New position data cD 100 New position
241. mory This command may take several seconds to execute and must not be interrupted The controller returns a when the Burn is complete Arguments The BP command has no arguments Remarks e No BP is necessary to burn the program o The DMC30000 loads and runs its program directly from flash o The BP command wil simply return a colon to remain compatible with earlier customer source Examples Galil DMC Code Example BP Burn in program to controller Get colon response when done 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BP 96 316 SINE COMMUTATION BQ Brushless Offset dual DAC BARAL BOm n BQ n n n n n n n n Usage BQm n___ Arguments specified with a single axis mask and an assignment BQn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The BQ command sets a fixed offset on the command signal for sinusoidally commutated motors when using an internal Galil sine drive This may be used to offset any bias in the amplifier or can be used for phase initialization Arguments Argument i Resolution Description m Axis Axis to assign value n 20 65 536 Offset applied to DAC output in volts Remarks e When using an internal Galil sine drive each axis has two DACs Digital to Analog Converter BO sets the first DAC offset BQ sets the second Examples
242. most current change in the gearing ratio between the master and the slave axes The value does not update if the distance over which the slave will engage is set to 0 with the GD command Arguments Argument Min Max Default Resolution Description Notes m A A N A Axis Axis of interest Remarks e An operand is not valid individually Instead _GP would be used in an expression See example below e Phase Differential is a term that is used to describe the lead or lag between the master axis and the slave axis due to gradual gear shift o Pd GR Cm Cs where a Pd is the phase differential GR is the gear ratio Cm is the number of encoder counts the master axis moved Cs is the number of encoder counts the slave moved Examples Galil DMC Code Example GA DA Sets the A axis auxs encoder as the gearing master for the A axis GD 1000 Set the distance that the master will travel to 1000 counts before the gearing is fully engaged for the A axis slave AI 1 wait for input 1 to go low In this example this input is representing a sensor that senses an object on a conveyor This will trigger the controller to begin gearing and synchronize the master and slave axes together GR 1 Engage gearing between the master and slave pl _TDA Sets the current A axis position to variable P1 This d variable is used in the next command wait wait for the aux encoder to move forward 1000 encoder counts so the gearing
243. motor runaway condition Positive feedback can be corrected by switching motor polarity or by reversing the direction of both encoders e DV must be set properly for commutation to be successful with internal sine drives o When DVm 0 the firmware will use the main encoder for sine drive commutation o When DVm 1 the firmware will use the aux encoder for sine drive commutation Examples Galil DMC Code Example DV 0 Disables DV on A axis DV 1 Enables dual loop on A axis MG _DVA Returns state of dual velocity mode for A axis DV applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control DV 128 316 ECAM GEARING EA Choose ECAM master ae Usage EAmm Argument is an axis mask Description The EA command selects the master axis for the electronic cam mode Any axis may be chosen Arguments Argument i Resolution Description Notes m Axis Define Aux encoder for Axis as ECAM master Axis Virtual axis to assign as ECAM master N is default Remarks e The ECAM mode runs off of the master s main encoder TP even when the axis is running in stepper mode e When using the Mor N imaginary axes the commanded position is used e m wil return the currently set ECAM master e Firmware revisions 1 1a and newer allow the user to define the aux encoder as the master for ECAM EA DA
244. moves leading zeros from interrogated values Default Remarks e _LZ contains the state of the LZ function 0 is disabled and 1 is enabled Examples Galil DMC Code Example LZ Ov Disable the LZ function varl 10 Sets variable varl to the value of 10 TR A Interrogate the controller for current position of A axis 0000021645 0000 varl Request value of variable var1 0000000010 0000 HZ ds Enable LZ function TP A Interrogate the controller for current position of A axis 21645 0000 tvarl Request value of variable varl 10 0000 Galil DMC Code Example ILZ 0 Disable the LZ function aE Tell status bits 001 eZ T Inhibit leading zeros Tes Tell status 1 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LZ 191 316 ETHERNET MB Modbus Aon MBm no Ny N2 n3 str Usage MBm n Arguments specified with a single axis mask and an assignment Description The MB command is used to communicate with I O devices using the Modbus TCP IP protocol The MB command supports the first two levels of Modbus commands The function code 1 designates that the first level of Modbus is used creates raw packets and receives raw data The other codes are the 10 major function codes of the second level The format of the command varies depending on each function code Galil Modbus supports one master per slave Argume
245. mples Galil DMC Code Example MG AN 1 print analog input 1 1 7883 x AN 1 assign analog input 1 to a variable AN applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AN 32 316 IO AO Analog Output Query E AO n Usage _ variable AO value Performs a function on a value or evaluated statement and returns a value Description The AO n operator is used to query the value of an Analog Output The DMC30000 has two analog outputs Arguments Argument Min Max Default Resolution Description Notes n 1 2 N A 1 Analog output to query See Remarks Remarks e AO is an operand not a command It can only be used as an argument to other commands and operators e The DMC30000 has two analog outputs AO2 is always available while AO1 is conditionally available See the user manual for more details Examples Galil DMC Code Example MG AO 1 Displays status of Analog output 1 temp ao 1 Sets variable Temp to the value of Analog output 1 AO applies to RIO DMC30010 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AO 33 316 MATH FUNCTIONS ASIN Inverse sine BIE ASIN n Usage _ variable ASIN value Performs a function on a value or evaluated statement and returns a value Descrip
246. n Comparators in DMC Code Symbol Comparator gt Greater than lt Equal to Less than or equal to gt Greater than or equal to lt gt Not equal to Arguments Argument Min Max Default_ Resolution Description Notes mo 2 1a7 003 698 2 147 405647 WA_ 1 65 536 Vauetotest ni _ 2 147 483 648 2 147 483 647 N A s 1 65 536 Valuetotest Remarks e A comparator is not a command and is not valid individually Instead the above expression would be used as part of a jump JP JS IF expression or assignment See examples below e Ifng gt n4 the expression wil evaluate to 1 0000 If the comparision is false it will evaluate to 0 0000 e Evaluation occurs left to right Use parenthesis for operator precedence Examples Galil DMC Code Example tbool 1 gt 2 MG bool 0 0000 tbool 2 gt 2 MG bool 1 0000 tbool 3 gt 2 MG bool 1 0000 Galil DMC Code Example max 2 05 min 1 47 value 0 025 Js check value 1 471 JS check EN REM REM kkk kkk kkk kkk kkk kkk kk kkk kkk kkk kk REM Determine if in range check inrange 0 IF CCvalue gt min amp value lt max inrange 1 ENDIF IF Cinrange MG Value value in range ELSE MG Value value NOT in range ENDIF EN REM REM Ww REM Program output REM XQ REM REM Value 0 0250 NOT in range REM Value 1 4710 in range 2015 Galil Motion Con
247. n England RO 1 Paris France RO 2 Cairo Egypt RO 3 Plovdiv Bulgaria RO 8 Beijing China RO 9 Tokyo Japan RO 10 Melbourne Australia Galil DMC Code Example REM Changing RO for Daylight Savings RO 7 Pacific Daylight Time REM Hit TIME server IHE 10 0 62 23 lt 37 gt 2 wT 10 JS print RO 8 Pacific Standard Time IHE 10 0 62 23 lt 37 gt 2 wT 10 JS print EN print Print Time MG _RT2 F2 0 N Hour MG _RT1 F2 0 N Minute MG _RTO F2 0 Second EN SAMPLE OUTPUT Y I1 23 16 10 23 16 RO applies to RIO DMC30010 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control RO 248 316 INTERROGATION RP Reference Position Aon RP mm Usage RPmm_ Argument is an axis mask Operand has special meaning see Remarks Description The RP command returns the commanded reference position of the motor s RP command is useful when operating step motors since it provides the commanded position in steps when operating in stepper mode Arguments Argument i Resolution Description mm Multi Axis Mask Axis to report commanded position Multi Axis Mask Virtual axis to report commanded position Remarks e The relationship between RP TP and TE TEA equals the difference between the reference position RPA and the actual position TPA o TE RP TP e _RPm contains the commanded reference posit
248. n 0 15 0 1 Decimal representation General Outputs 1 4 Remarks e Bit patterns for extended I O banks where available configured as inputs have no affect on the IO status Output Mapping Examples Examples Command issued Hex version Bits Set Bits Cleared Set bank high OP15 OP 0F 1 4 Set bank low OPO OP 00 d Examples Galil DMC Code Example oP 0 Clear Output Port all bits op 05 Set outputs 1 3 and clear the others MG _OPO Returns the parameter n0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control OP 220 316 ERROR CONTROL OT offon encoder failure time AB Ion OTm n OT n n n n n n n Nn Usage OTm n___ Arguments specified with a single axis mask and an assignment OTn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The OT command sets the timeout time for the encoder failure routine The command sets the time in samples that the encoder failure will wait for motion after the OV threshold has been exceeded The controller can detect a failure on either or both channels of the encoder Arguments Argument i Resolution Description m Axis Axis to assign value n 1 Number of samples for error detection Remarks e Encoder error detection is based on whether motion of at least 4 counts is detected whenever t
249. n Control Corrections Feedback documentation galilmc com Galil Motion Control CS 116 316 SYSTEM CONFIG CW Copyright information and Data Adjustment bit on off EE 5 CW no Ny1 Usage CW n Arguments specified with an implicit comma separated order Description The CW command will return the copyright information when the argument n is 0 or is omitted Otherwise the CW command is used as a communications enhancement for use by the Galil terminal software programs When turned on the most significant bit of unsolicited ASCI characters is set to 1 Unsolicited ASCI characters are characters that are returned from a program running on the controller usually from the MG command This command does not affect solicited characters which are characters that are returned as a response to a command sent from a host PC e g TP Arguments Argument Description Causes controller to return a copyright information string Controller will set the MSB of unsolicited message characters Controller will not set the MSB of unsolicited message Default Must be set when viewing unsolicited messages from non Galil software characters no Equivalent to ng If the host doesn t receive via hardware handshake within 500ms TC will be set to 131 eo date Serial port hardware handshake timeout data will be discarded and the program will continue Throw away unrecelved data Default Bytes sent to the seri
250. n is S e LE Returns the total vector move length in encoder counts for the current coordinate system e The VE command is interchangeable with the LE command Examples Galil DMC Code Example LM AN Specifies linear interpolation mode for A axis with imaginary N axis LI 100 200 Specifies linear distance LE End linear interpolation sequence BG S Begin motion LE applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LE 184 316 VECTOR LINEAR LI Linear Interpolation Distance Aon LIm n lt o gt p LI n n n n n n n n lt o gt p Usage Lim n Arguments specified with a single axis mask and an assignment L n Arguments specified with an implicit comma separated order Description The LI command specifies the incremental distance of travel for each axis in the Linear Interpolation LM mode LI parameters are relative distances given with respect to the current axis positions Arguments Argument Max Resolution Description A A Axis to assign value 8 388 607 8 388 607 Assigns linear interpolation point for that axis 2 15 000 000 3 000 000 Specifies the vector speed to be commanded at the beginning of the linear segment The controller will start accelerating or decelerating at the start of the sequence to this speed Spec
251. n___ Arguments specified with a single axis mask and an assignment __ TWn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The TW command sets the timeout time for the MC trippoint The TW command sets the timeout in msec to declare an error if the MC command is active and the motor is not at or beyond the actual position within n msec after the completion of the motion profile If a timeout occurs then the MC trippoint will clear and the stopcode will be set to 99 A running program will jump to the special label MCTIME if located in the application code Arguments Argument i Resolution Description Notes m Axis Axis to assign value n 1 Set the timeout in msec for the MC command n 1 disables the timeout Remarks e The EN command should be used to return from the MCTIME subroutine Examples Galil DMC Code Example TwA 1000 set timeout time for MC to 1000 for A axis var _TWA set value of Tw for A axis to variable var Galil DMC Code Example TwA 5000 set MC timeout to 5 seconds PRA 10000 set move length BGA MC A MG Move done message when move completes EN MCTIME code when motor doesn t reach final pos in time MG Move didn t finish MG Longer than TWA msecs STA AM A MO A shut off axis EN TW applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC3001
252. nd REM This means that when TM lt gt 1000 commanded speed for vS will be different than REM values for o and p REM To get counts second for o and p divide them by a ratio of 1000 _T REM REM vs and vsop result in the same profile vs T 250 VM AN vs 100000 VA 2560000 vD 2560000 vP 20000 20000 VE BG S AM S EN vsop T 250 VM AN n 1000 _T vs 100000 VA 2560000 vD 2560000 vP 20000 20000 lt 100000 n VE BG S AM S EN VP applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control VP 303 316 VECTOR LINEAR VR vector Speed Ratio SLI 4 VR n Usage VRn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The VR sets a ratio to be used as a multiplier of the current vector speed The vector speed can be set by the command VS or the operators lt and gt used with CR VP and LI commands VR takes effect immediately and will ratio all the previous vector speed commands Arguments Argument Min Max Default Resolution Description Notes n 0 10 1 1 65 536 Vector ratio specified for the S coordinate plane Remarks e VR doesn t ratio acceleration or deceleration but the change in speed is accomplished by accelerating or decelerating at the rate specified by VA and VD
253. nd is used to hold up execution of the next command during coordinated moves such as VP CR or LI This trippoint occurs when the path distance of a sequence reaches the specified value The distance is measured from the start of a coordinated move sequence or from the last AV command Arguments Argument Min Max Default Resolution Description n 2 147 483 647 0 1 Vector distance to be executed in the S coordinate system Remarks e The units of the command are quadrature counts e _AVS contains the vector distance from the start of the sequence in the S coordinate system Examples Galil DMC Code Example move Label DP 0 LM AN Linear move for A N EL 1000 2000 Specify distance LI 2000 3000 Specify distance LE BG S Begin motion in the T coordinate system Av 500 After path distance 500 MG Path gt 500 TP A Print position of A and B axes EN End Program vector Distance is calculated as the square root of the sum of the squared distance for each axis in the linear or vector mode AV applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AV 84 316 SINE COMMUTATION BA Brushless Axis BARL BA mm Usage BAmm Argument is an axis mask Operand has special meaning see Remarks Description BA is used to configure the controller for sinusoidal oper
254. ndex Operator 48 JS subroutine stack variable 49 L K Lock program 50 R S Master Reset 51 R V Revision Information 52 _GP_ Gearing Phase Differential Operand 53 _LF Forward Limit Switch Operand 54 Galil Motion Control Table of Content 2 316 _LRm_ Reverse Limit Switch Operand 55 Line Continuation Character 56 Bitwise OR Operator 57 Variable Axis Designator 58 Addition Operator 59 lt Less than comparator 60 lt Less than or Equal to comparator 62 lt gt Not Equal to comparator 63 Assignment Operator 64 Equal to comparator 65 gt Greater than comparator 66 gt Greater than or Equal to comparator 68 AB Abort 69 AC Acceleration 70 AD After Distance 71 AF Analog Feedback Select 72 AG Amplifier Gain 73 AIl After Input 74 AL Arm Latch 75 AM After Move 76 AO Analog Output 77 AP After Absolute Position 78 AQ Analog Input Configuration 79 AR After Relative Distance 80 AS At Speed 81 AT At Time 82 AU Set amplifier current loop 83 AV After Vector Distance 84 BA Brushless Axis 85 BB Brushless Phase Begins 86 BC Brushless Calibration 87 BD Brushless Degrees 88 BG Begin 89 BI Brushless Inputs 90 BK Breakpoint 91 BL Reverse Software Limit 92 BM Brushless Modulo 93 BN Burn 94 BO Brushless Offset 95 BP Burn Program 96 BQ Brushless Offset dual DAC 97 BR Brush Axis 98 BT Begin PVT Motion 99 BV Burn Variables and Array 100 BW Brake Wait 101 BX Sine Amp Initialization 102 BZ Brushless Zero 104 CB Clear Bit 106
255. neral stop MG _NO check code again 0 Thread 0 stopped ST applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ST 274 316 SYSTEM CONFIG SY Serial encoder BiSS active level BA jg SYm n SY n n n n n n n n Usage SYm n Arguments specified with a single axis mask and an assignment SYn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description This command is used to designate the active level of the Error and Warning bits when using the Galil BISS upgrade The BiSS protocol defines two bits which can be used by the encoder to signal various events Arguments Argument Description m Assign setting to Main encoder input Assign setting to Aux encoder input Argument Description n Warning bit Active Low Error bit Active Low Warning bit Active Low Error bit Active High Warning bit Active High Error bit Active Low Warning bit Active High Error bit Active High Default Remarks e The SY mask should be set appropriately to ensure that the SERERR automatic subroutine will run when the bits are active and that the _SSn operand reports the fault state of the encoder correctly e Example of Warning and Alarm Error bit use Quoted from Renishaw Data Sheet L 9709 9
256. nes to execute before pausing If n is omitted default value used Remarks e The BK command resumes normal program execution Examples Galil DMC Code Example BK 3 Pause at line 3 the 4th line in thread 0 BK 5 Continue to line 5 SL Execute the next line SL 3 Execute the next 3 lines BK Resume normal execution 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SL 262 316 ETHERNET SM Subnet Mask BI f SM no n1 N02 03 SM n Usage SMn Arguments specified with an implicit comma separated order Operands _ SMO Operand has special meaning see Remarks Description The SM command assigns a subnet mask to the controler All packets sent to the controller whose source IP address is not on the subnet wil be ignored by the controller For example for SM 255 255 0 0 and IA 10 0 51 1 only packets from IP addresses of the form 10 0 xxx xxx will be accepted Arguments Argument i Default Resolution Description Byte 3 of the Subnet mask Byte 2 of the Subnet mask Byte 1 of the Subnet mask Byte 0 of the Subnet mask The full subnet mask specified as a signed 32 bit two s i 2 147 483 648 2 147 483 647 0 complement integer Remarks n will return the subnet mask of the controller as ng n4 N2 N3 _SM0 contains the subnet mask representing a 32 bit signed number Two s complement Use the following equation to change the 4 byte s
257. ng for optos Examples Galil DMC Code Example E MG _LFA Display the status of the A axis forward limit switch _LF applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com 54 316 Galil Motion Control _LF IO OPERAND ONLY _L RM Reverse Limit Switch Operand sat Usage variable _LRm Operand has special meaning see Remarks Description The _LR operand contains the state of the reverse limit Arguments Argument Min Default Resolution Description m A N A Axis Axis of reverse limit switch N A Remarks e _LRisan operand with the following output o _LRm 1 when the limit switch state wil alow motion in the reverse direction o _LRm 0 when the limit switch state will not allow motion in the reverse direction e This operand is not a direct readout of the digital input and is affected by the command CN e See Connecting Hardware in User Manual for active inactive state Values of _LR Digital input activation _LR value for CN 1 _LR value for CN1 On Grounded for TTL or sufficient activation current flowing for optos 0 reverse motion prohibited 1 reverse motion allowed Off Pullup for TTL or insufficient activation current flowing for optos 1 reverse motion allowed 0 reverse motion prohibited Examples Galil DMC Code Example TE MG _LRA display the status of the a axi
258. ns Feedback documentation galilmc com Galil Motion Control KP 179 316 STEPPER MOTOR KS Step Motor Smoothing Sm ARC KSm n KS n n n n n n n n Usage KSm n__ Arguments specified with a single axis mask and an assignment kKSn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The KS parameter sets the amount of smoothing of stepper motor pulses Larger values of KS provide greater smoothness KS adds a single pole low pass fiter onto the output of the motion profiler Arguments Argument i Resolution Description m Axis Axis to assign value n 1 32 Value of smoothing constant Remarks e This is most useful when operating in full or half step mode e KS effect on timing o This parameter will increase the time to complete a motion time by 3KS sampling periods o KS will cause an overall delay in the generation of output steps Examples Galil DMC Code Example l KSA 8 Explicit notation to set A IKS 87 Implicit notation to set A i KS Z Returns A values 8 iKSA Return A value 8 MG _KSA Message the operand for the A axis KS applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control KS 180 316 PROGRAMMING INTERROGATION LA List Arrays Se 5 LA Usage LA
259. nts Level 2 Modbus Function Codes Function Code n1 Modbus Definition Slaved Galil Description RIO only 01 Read Coil Status Read Bits Read Digital Outputs RIO only 02 Read Input Status Read Bits Read Digital Inputs RIO only 03 Read Holding Registers Read Words Read Analog Inputs RIO only 04 Read Input Registers Read Words Read Analog Outputs RIO only 05 Force Single Coil Write One Bit Write Digital Output RIO only 06 Preset Single Register Write One Word Write Digital Outputs RIO only 07 Read Exception Status Read Error Code Read Digital Outputs RIO only 15 Force Multiple Coils Write Multiple Bits Write Digital Outputs RIO only 16 Preset Multiple Registers Write Words Write Analog Outputs RIO only 17 Report Slave ID 01 MBm ng 1 n2 n3 str Read Coil Status Read Bits Argument i Max Resolution Description Notes Handle to send Modbus command see Notes Unit ID Default to Handle number A 1 B 2 etc Address of first coil Quantity of coils Or number of IO points to read Name of array to store values str 0 holds the first value Galil DMC Code Example MBC 1 2 8 example Read inputs 2 9 from handle C save to example equivalent to reading Digital Outputs or registers mapped to 100xxx 02 MBm no 2 n2 n3 str Read Input Status Read Bits Argument Min Max see Notes Unt ID Default to Handle number A 1 B 2 e
260. o AM PM Remarks Operand Usage _RTO contains the seconds field of the current time _RT1 contains the minutes field of the current time _RT2 contains the hours field of the current time _RT3 without precision RTC circuitry contains the days since the time was last set with the RT command or with the TIME protocol o If neither event occured _RT3 contains the number of days since last power cycle o With the precision RTC upgrade use _RYO for the day of week counter Examples Galil DMC Code Example RT 30 25 22 Set time to 10 25 30 PM Galil DMC Code Example RO 7 set timezone IHE 10 0 62 23 lt 37 gt 2 hit TIME server wT 10 MG _RO1 8 0 print data from server MG _RT2 F2 0 aT N F print hour MG _RT1 F2 Oe N print minutes MG _RTO F2 0 print seconds EN Sample Output CF943C7B BE 282 43 RT applies to RIO DMC30010 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control RT 251 316 RY Real Year Calendar Function lt RY no nz1 nN2 n3 Usage RYN Arguments specified with an implicit comma separated order _RYO Operands oe Operand has special meaning see Remarks _RY3 Description RY provides a calender feature for the realtime chip Available information is day of week day of month month of year and year RY can be set manually or automatically with the TIME protocol See IH The sta
261. o issuing the AF command o TP wil provide position resolution of 2 AFM counts per cycle One cycle is four quadrature counts a For exampk if an encoder shows a change in TP of 8000 counts with AFO The same distance at AF 5 would be give by 8000 4 25 64000 Examples Galil DMC Code Example AF 1 Analog feedback on A axis ylis _AFA Assign feedback type to variable KP 13 Assigns PID s for motor using analog feedback on A axis KD 10 KI 0 5 Galil DMC Code Example AF 12 Sets sine consine feedback to 2A12 4096 counts period AF 8 Sets sine cosine feedback to 2A8 256 counts period 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AF 72 316 FILTER CONTROL AG Amplifier Gain BERLU S AG n n n n n n n n AGm n Usage AGm n Arguments specified with a single axis mask and an assignment AG Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The AG command sets the amplifier current voltage gain for the internal amplifier Note some Galil internal amplifiers have fixed gains Please reference the manual or data sheet for more details Arguments Argument i Resolution Description Notes m i Axis to assign value n Gain setting See table in Remarks for gain settings Amps per phase DMC 30016 Gain Range Remarks Gain settings by Amplifier Amps Vot Gain
262. o values variables array elements operands or At functions SIN and returns a value equal to the modulo of the arguments Mathmatical operations are calculated left to right rather than multiplication and division calculations performed prior to addition and subraction Example 14 2 3 9 not 7 It is recommended that parenthesis be used when more than one mathmatical operation is combined in one command Example var 10 30 60 30 evaluates as 302 var 10 30 60 30 evalutes as 12 Arguments Argument Min Max Default Resolution Description n 2 147 483 648 2 147 483 647 9999 N A 1 65 536 Value to use in modulo operation Remarks e This is a binary operator takes two arguments and returns one value The result of this operation is a value which is not valid on its own It must be coupled with a command See examples below e Mathmatical operations are calculated left to right rather than multiplication and division calculations performed prior to addition and subraction o Example 1 2 3 9 not 7 e It is recommended that parenthesis be used when more than one mathmatical operation is combined in one command o Example var 10 30 60 30 evaluates as 302 o var 10 30 60 30 evalutes as 12 Examples Galil DMC Code Example Determine the day of week in n days DM name 7 Strings for day of week UN name O s name 1 MON name 2 TUE name 3 4 name 4 THU name 5 FRI
263. of 2 the linear segment The controler will start accelerating or decelerating at the start of the sequence to this speed Specifies the vector speed to be commanded at the beginning of the linear segment The controler will start accelerating or decelerating at the start of the sequence to this speed For MT 1 1 1 5 1 5 For MT 2 2 2 5 2 5 15 000 000 Specifies the vector speed to be achieved at the end of the linear segment The controller will decelerate or accelerate during the segment and will reach the specified speed at the end of the segment Specifies the vector speed to be achieved at the end of the linear segment The controller will decelerate or accelerate during the 3 000 000 segment and will reach the specified speed at the end of the segment Argument Value Description Notes o 1 Specifies vector speed to be set by Vector Speed Variable VV command See VV command Remarks e The product of ng n2 must be less than 450 000 000 e A positive n2 denotes counterclockwise traverse n2 denotes clockwise e no units are in quadrature counts e nj and n2 have units of degrees lt o gt p behaviour no NSS 5 3 EN re gt gt Y ao T E g ke e 3 Segment n Examples Galil DMC Code Example Generate a sine wave output on the A axis WM AN Specify vector motion in the A and N plane vs 1000 Specify vector speed VE End Sequen
264. of 1000 counts sec BG A Begin move AP 2000 After passing the position 2000 vl _TPA Assign V1 A position MG Position is vl Print Message ST Stop EN End of Program AP applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AP 78 316 IO AQ Analog Input Configuration BI 5 AQ no n AQn Arguments specified with an implicit comma separated order Usage Operands ol Operand has special meaning see Remarks Description The AQ command is used to set the behavior of the analog inputs This command will set the analog range and operation for the specified input Arguments Argument Min Max Default Resolution Description Notes i O no 1 2 Analog input channel no 2 is not valid for DMC 30xxx DMC 30xxx 0 5v only 0 Single ended 1 differential ni 0 1 0 Single Ended or Differential Input A is the complement for AI1 Set Analog range DMC 31xxx See Table Below 4 1 N A 1 Specify analog input DMC 31xxx valid only for ng 1 AI2 is complement for 5 is differential All Remarks DMC 31x1x Argument Description Notes ni 5v 10v Default 0 5v 0 10v e Default resolution for analog inputs is 12bits 16 bit is optional 31xxx e Operands _AQi and _AQ2 return the setting for the specified input
265. of independent moves such as JG PR PA to produce a smooth velocity profile The resulting profile known as smoothing has continuous acceleration and results in reduced mechanical vibrations IT sets the bandwidth of the filter where 1 means no filtering and 0 004 means maximum filtering The IT command ako filters the individual axes during Vector Mode VM and Linear Interpolation Mode LM Arguments Argument Min Max Default Resolution Description Ss s Notes om AANA Ais Axstoassgnvae 0 004 1 1 1 256 Value of independent smoothing 1 no filtering 0 004 maximum function filtering Remarks e The T filtering results in longer motion time e The use of IT wil not effect the trippoints AR and AD o The trippoints AR amp AD monitor the profile prior to the IT filter and therefore can be satisfied before the actual distance has been reached if IT is NOT 1 e Details on the IT filtering can be found in Application Note 3412 o http www galilmc com support appnotes optima note3412 pdf Examples Galil DMC Code Example IT 0 8 0 6 0 9 0 1 Set independent time constants for a b c d axes IT Return independent time constant for A axis 0 8000 Galil DMC Code Example REM example showing increased time due to IT filtering move IT 1 t TIME store time reference PR 1000 BG A AM A MG TIME t display move time IT 0 01 t TIME store time reference PR 1000 BG A AM A MG TIME t display move
266. ommand A return parameter can be specified to EN from a subroutine to return a value from the subroutine to the calling stack Arguments Argument i Description Notes no Specify trippoint status when ng 1 restores trippoints ng 0 does not returning from subroutine restore trippoints Set status of CI interrupt when n1 1 restores CI interrupt n1 0 does returning from COMINT not restore CI interrupt 2 147 483 647 Return a value from a Accesible from the calling program with subroutine _JS See JS for more information ni 0 n2 2 147 483 648 Remarks e The EN command is used to end the automatic subroutines MCTIME COMINT and CMDERR o Use the RE command to end the POSERR and LIMSWI subroutines o Use the RI command to end the ININT subroutine Examples Galil DMC Code Example a Program A PR 500 Move A axis forward 500 counts BG A Begin motion AM A Pause the program until the A axis completes the motion EN End of Program Galil DMC Code Example example test program showing restoring trippoints with EN XQ err 1 Execute thread to generate error Aq 17 wait for input 1 to trigger MG hello After input message out EN err dummy thread that runs to cause an error H23 Invalid command causes CMDERR to be called interrupting thread 0 EN CMDERR error subroutine running on thread 0 tes TC Save error code EN 1 End routine restore AI trippoint 2015
267. on MG FOUND INDEX Print message EN FI applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control Fl 150 316 ERROR CONTROL FL Forward Software Limit AEC FLm n FL n n n n n n n n Usage FLm n ___ Arguments specified with a single axis mask and an assignment __ FLn __ Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The FL command sets the forward software position limit If this limit is exceeded during motion motion on that axis will decelerate to a stop Forward motion beyond this limit is not permitted Arguments Argument Min Max Default Resolution Description Notes m A A N A Axis Axis to assign value n 2 147 483 648 2 147 483 647 2 147 483 647 1 Value of software forward limit 2147483647 turns off forward limit Remarks e The forward limit is activated at n 1 n 2147483647 effectively disables the forward soft limit e The software limit is specified in counts for a servo system or in microsteps for a stepper system e When the forward software limit is activated the automatic subroutine LIMSWI will be executed if it is included in the program e If motion is commanded when the axis is already passed the FL value the axis wil profile a small move before the software limit is a
268. on galilmc com Galil Motion Control BM 93 316 SYSTEM CONFIG BN Burn ae Usage BN Command takes no arguments Operands BN Operand has special meaning see Remarks Description The BN command saves certain board parameters in non volatile EEPROM memory This command typically takes 1 second to execute and must not be interrupted The controller returns a colon when the Burn is complete This command reference will denote comands that can and cannot be burned with BN with the following usage icons E Burnable with BN icon ES Not burnable with BN icon Arguments The BN command has no arguments Remarks e The following table shows the commands that have their parameters saved with the BN command Parameters saved during burn e Board rev C and firmware 1 1B added support for high performance parameter and variable burning For serial numbers under BZ 579 and for all firmware earlier than 1 1B the following limitations apply o during a BN the servo wil disable for a brief period roughly 40ms This can be prevented by first issuing an MO This is not applicable to stepper motors o BN is not valid while running and will cause a TC code of 7 Command not valid while running Operand Usage e _BN contains the serial number of the processor board Examples Galil DMC Code Example SB 1 Set bit 1 cB 23 Clear bit 2 cw 1 Set data adjustment bit BN Burn
269. on modes n 2 2 2 5 2 5 the auxiliary encoder input for the axis is no longer available e Axis must be in MO state prior to issuing the MT command e For interfacing to external drives BR 1 must be set on the DMC 30000 controler This is the default setting for any DMC 30000 that does NOT contain internal Galil amplifiers ex DMC 30010 DMC 30011 DMC 31010 e MT 1 must be set on the DMC 3x017 2PB in order to drive a 2 phased brushless servo motor also known as a closed loop stepper using the internal amplifier Examples Galil DMC Code Example REM setup DMC 30000 for external stepper control REM step and direction located on Multi Function MF Pins see User Manual a BR 1 MT 2 EN REM setup DMC 30000 with for external servo control REM motor command output located on Analog Output 1 see User Manual b BR 1 MT 1 EN REM setup DMC 3x017 2PB for drive 2 phased brushless servo motor MO A Motor must be off to set MT MT 1 Set MT 1 for servo i BA A Designate sinusoidal commutation BM 200 Length of electrical cycle in counts required setting for commutation BZ 3 lt 1000 Commutate motor using 3 V and timeout after 1000 msec SH A Enable motor ready for commands EN Error Number Description Cause U UO 6e o Number out of range Argument value is not valid Motor must be in MO Axis must be in motor off before changing MT Galil Motion Control MT 204 316 183 N
270. onal The port number of the slave If not specified the firmware will choose a port Modbus connections must always be specified as port 502 o optional The connection type as TCP IP or UDP IP If not specified the controller will make a TCP connection e Issue the IH command on an available handle with the correct settings for IP ng n3 port 0 and connection type p o See TH to list handle status Closing a Handle e Closing a handle is done with the S and N handle identifiers along with connection type p selector o THS gt p closes the handle that sent the command with connection type matching gt p o THN gt p closes all handles except for the one sending the command with connection type matching gt p o For closing handles use gt p where p 1 closes UDP handles p 2 closes TCP handles and p 3 closes both handle types Time server e Connecting to the time server requires using port 37 with a TCP connection Port 37 is used by the TIME protocol server Only TCP is supported e The server transmits a 32 bit unsigned integer in network byte order representing the number of seconds since midnight January 1 1900 GMT e The Command RO is used to set the timezone offset from GMT and to see the raw value returned by the time server Operand Usage Operand Reported Value Description of Value Notes Galil Motion Control IH 164 316 _IHm0 2147483648 to 2147483648 IP address of handle m as a 32 bit number n
271. op a lt _BV AL iz wait for input 1 to go high SH enable all axes RE POSERR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control POSERR 19 316 SUBROUTINE S ERERR Serial Encoder Error Automatic Subroutine zO Description Automatic subroutine that allows user code to run when there is a serial encoder faut This subroutine is only used with controllers equipped with hardware featuring the BiSS encoder upgrade Arguments Label must be the first element on a line of code Remarks e Use the RE command to end this routine e SERERR runs on thread 0 e The following are the fault conditions which will cause SERERR to interrupt Serial Encoder Faults Error bit bit 2 of _SS Warning bit bit 3 of _SS e The active level of the Error and Warning bits for BiSS must be configured with SY e For the encoder timeout condition TC1 will also return 140 Serial encoder missing e Note The encoder manufacturer may name the Error and Warning bits differently Consult the encoder documentation for the naming convention See the SY command to define the polarity of these bits e Galil defines the Warning bit as the bit directly preceeding the CRC The Error bit is defined as the bit directly preceeding the Warning bit Examples Galil DMC Code Example SERERR display error sh
272. or the axis control law The analog input used for feedback is fixed and uses the input that corresponds with the axis letter For example Analog input 1 is used for the A axis Sinusoidal feedback encoders are also configured by the AF command Arguments Argument i Resolution Description Notes m i Axis to assign value Use the controller ADC as servo aia n 0 1 feedback 1 analog 0 digital feedback This provides evenly sampled analog data Analog hardware sampled in the for both the data record and the Sec ntenupt RA RD RC function Sinusoidal encoder input used with 24n interpolation counts per DMC 31xxx required to use sine feedback encoder cycle Remarks e Below is the feedback in counts decoded by the controller hardware when reading in analog feedback for certain analog input ranges 12 Bit ADC 16 Bit ADC 5 V 10 V 2048 to 2047 counts 32768 to 32767 counts 0 5 V 0 10 V 0 to 4095 counts 0 to 65535 counts e Voltage count range with AQ command o DMC 30xxx has 0 5v 12 bit ADC AQ supported for differential setting only o DMC 31xxx has a 16 bit ADC See AQ for analog voltage range settings e Axis must be in MO state prior to issuing the AF command e Differential encoder inputs must be used when using digital encoders with the DMC 31xxx Consult the factory for single ended use e When using Sin Cos encoders AF5 12 o The encoder must be connected to the controller prior t
273. ors Examples Galil DMC Code Example MG aBS 2147483647 2147483647 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ABS 30 316 MATH FUNCTIONS ACOS Inverse cosine SIE ACOS n Usage _ variable ACOS value Performs a function on a value or evaluated statement and returns a value Description The ACOS operator returns in degrees the arc cosine of the given number Arguments Argument Min Max Default Resolution Description Notes n 1 1 N A 1 65 536 Value used for arc cosine operation Remarks e ACOS is an operand not a command It can only be used as an argument to other commands and operators e ACOS is also referred to as the inverse cosine function Examples Galil DMC Code Example MG ACOS 1 180 0000 MG ACOS 0 90 0000 MG ACOS 1 0 0001 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ACOS 31 316 I0 AN Analog Input Query BIET AN n Usage _ variable AN value Performs a function on a value or evaluated statement and returns a value Description The AN operator returns the value of the given analog input in volts Arguments Argument Min Max Default Resolution Description Notes n 1 2 N A 1 Analog input to query Remarks e AN is an operand not a command It can only be used as an argument to other commands and operators Exa
274. ort e When communicating over Ethernet two Ethernet handles should be used o 1 The first handle should be used for command and response traffic This is the primary handle that the host uses to communicate to the controler o 2 The second handle should be used for unsolicited traffic This is the primary handle that the controller uses to asynchronously communicate to the host Use CF to point unsolicited traffic to this handle e It is NOT recommended to use one Ethernet handle for both command and response and unsolicited messages e GalilTools will by default establish a two handle connection when using Ethernet and set CF to the second handle Operand Usage e _CF contains the decimal value of the ASCI letter where unsolicited messages are currently routed Examples Galil DMC Code Example CF I send unsolicited traffic to the terminal that sent the command Galil DMC Code Example Demonstrates from GalilTools terminal that the main handle is seperate from the unsolicited handle Note the connection indicators IHA and IHB in the following 192 168 1 3 RIO47102 Rev 1 0c 1480 IHA IHB TH CONTROLLER IP ADDRESS 192 168 1 3 ETHERNET ADDRESS 00 50 4C 28 05 C8 IHA TCP PORT 23 TO IP ADDRESS 192 168 1 100 PORT 2420 IHB UDP PORT 60007 TO IP ADDRESS 192 168 1 100 PORT 2421 IHC AVAILABLE IHD AVAILABLE IHE AVAILABLE WH IHA Main handle is A MG _CF 66 0000 Unsolicited handle 66 is ASCII for B CF applies to DMC40x0
275. os are specified with the GR command and gearing is turned off by the command GRO Arguments Argument i Max Default Resolution Description Notes Slave axis to assign master Master axis aux encoder DMC 30000 is a single axis controller Gearing to Aux as the slave s master encoder or virtual axes are supported Vector plane as slave master Virtual axis as slave master m0 lt gt m Remarks e m returns the GA setting e When the geared motors must be coupled strongly to the master use the gantry mode GM e When gearing is used in a gantry application gearing off of the commanded position is recommended Examples Galil DMC Code Example REM imaginary axis example imag ee GAA N set the imaginary N axis as the master of the A axis GRA 2 5 set the gear ratio for the A axis as 2 5 PRN 1000 BG N Move N axis 1000 counts R C axis will be commanded to move 2500 counts positive EN End Program GA applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control GA 153 316 ECAM GEARING GD Gear Distance I A L GD n n n n n n n n GDm n Usage GDn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The GD command sets the distance of the master axis over which the specif
276. ot valid when EtherCAT network is up MT cannot be set when EtherCAT is running EU1 MT applies to DMC500x0 DMC40x0 DMC42x0 DMC41x3 DMC30010 DMC21x3 DMC18x6 DMC18x2 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control MT 205 316 ETHERNET MU multicast Address BI f MU no nj1 N2 N3 Usage MU n Arguments specified with an implicit comma separated order Operands _MU Operand has special meaning see Remarks Description MU sets the controller s multicast address This address is used by Galil software to detect an available Ethernet controller on the network Arguments Argument i Resolution Description no First field of the multicast address ni Second field of the multicast address n2 Third field of the multicast address n3 255 Last field of the multicast address Remarks e MU returns the current multicast address setting in 4 byte format e _MU contains the 32 bit multicast address number in two s complement Examples Galil DMC Code Example MU 239 255 19 57 IMU 239 255 019 057 MG _MU 268496071 0000 MG _MU 8 0 EFFF1339 MU applies to DMC40x0 DMC42x0 DMC41x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control MU 206 316 ETHERNET MV Modbus Reversal BILIR L Usage MVn Arguments specified with an implicit
277. oted in this command reference with the following icon va Variable axis supported icon Arguments Argument i Resolution Description Notes s N A Variable axis name a b c d e f g h supported String Name of axis A supported String Virtual axis N N supported String S Coordinate System S supported 1 Index of the axis A 0 1 S Coordinate System S 8 Remarks e s contains the axis number as defined by n and can be used in expressions see example Examples Galil DMC Code Example a 0 Sets a axis A MG a a Print axis number PR a 1000 Relative position move 1000 counts on a variable set as Z axis BG a Begin motion on a and b variables Z and G applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 58 316 MATH FUNCTIONS Addition Operator SEI nt n Usage _ variable value1 value2 Performs an operation between two values or evaluated statements Description The symbol is the addition operator It takes as arguments any two values variables array elements operands or At functions SIN and returns a value equal to the sum of the arguments Arguments Argument Min Max Default Resolution Description n 2 147 483 648 2 147 483 647 N A 1 65 536 Value to use in addition operation Remarks
278. otion Control Corrections Feedback documentation galilmc com Galil Motion Control ER 143 316 VECTOR LINEAR ES Ellipse Scale BAR L ES no N Usage ES n Arguments specified with an implicit comma separated order Description The ES command divides the resolution of one of the axes in a vector mode VM This function allows for the generation of circular motion when encoder resolutions differ It also allows for the generation of an ellipse instead of a circle The resolution change applies for the purpose of generating the VP and CR commands effectively changing the axis with the higher resolution to match the coarser resolution Argumente mee Max Default Resolution Description Notes Ammenta 65 535 aooo o hooo First value used for resolution scaling See Remarks for usage om 1 65 535 aooo Ee Second value used for resolution scaling See Remarks for usage Remarks e For VMxy o When ng gt nj the resolution of x will be multiplied by no n1 o When n lt nj the resolution of y will be multiplied by n1 n o Examples Galil DMC Code Example VM AN ES 3 2 Divide A Resolution by 3 2 Note ES must be issued after VM ES applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ES 144 316 ECAM GEARING ET Electronic cam table a
279. otion Control El 135 316 PROGRAMMING E LSE Else function for use with IF conditional statement SIN 5 ELSE Usage ELSEn Arguments specified with an implicit comma separated order Description The ELSE command is an optional part of an IF conditional statement The ELSE command must occur after an IF command and it has no arguments It allows for the execution of a command only when the argument of the IF command evaluates False If the argument of the IF command evaluates false the controller will skip commands until the ELSE command If the argument for the IF command evaluates true the controller will execute the commands between the IF and ELSE command Arguments ELSE is a command with no parameters Remarks e None Examples Galil DMC Code Example a5 IF C IN 1 0 IF conditional statement based on input 1 a IF C IN 2 0 2nd IF conditional statement executed if 1st IF conditional true MG IN1 AND IN2 ARE ACTIVE Message to be executed if 2nd IF conditional is true ELSE ELSE command for 2nd IF conditional statement MG ONLY IN1 IS ACTIVE Message to be executed if 2nd IF conditional is false ENDIF End of 2nd conditional statement ELSE ELSE command for 1st IF conditional statement ee IF C IN 2 0 3rd IF conditional statement executed if 1st IF conditional false MG ONLY IN2 IS ACTIVE Message to be executed if 3rd IF conditional statement is true ELSE ELSE command for 3rd conditional statement
280. parameter which can be either a line number or label A variable holding a line number or an expression resulting in the calculation of a line number can also be used e The line number of the calling JS command is saved and after an EN command is encountered End of subroutine program execution will continue with the instruction following the calling JS command e A jump is taken if the specified condition is true Each condition must be placed in parenthesis for proper evaluation by the controller e Code flexibility reuse A single subroutine can be written and called many times and from various locations in code The stack remembers where to return when completed This is opposite from a blind jump JP Conditional Syntax Condition Validity JS A var1 0 amp var2 1 This conditional statement is valid JS A var1 08 amp var2 1 This conditional statement is not valid Passing Values on the Stack e Parameters can be passed on the subroutine stack e Passing parameters in a subroutine has many advantages including the following o Variable Scope Local variables A subroutine can run with a protected variable space Local variables exist only in the extent of the subroutine and no external thread or stack level can access local variables Local variables can be used for counters indices and other helper variables o Each thread has its own stack therefore subroutines are reentrant In other words multiple threads can be running the
281. ping mode o The DMC 30017 is always configured for 256th microstepping or YA must be set to 256 for SPM mode 30017 Remarks YA Settings for Galil Stepper Drives Stepper Drive Hardware YA Setting Notes DMC 30016 Drive set to single step 70 current max DMC 30016 Drive set to half step DMC 30016 Drive set to quarter step DMC 30016 Drive set to 1 16 step DMC 30017 Drive fixed at 1 256 step Examples Galil DMC Code Example Set the step drive resolution for a 1 256 Microstepping Drive YA 256 Query the A axis value MG _YAA Response shows A axis step drive resolution 256 0000 YA applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control YA 310 316 STEPPER MOTOR YB Step Motor Resolution BERLU YBm n YB n n n n n n n n Usage YBm n __ Arguments specified with a single axis mask and an assignment YBn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The YB command specifies the resolution of the step motor in full steps per full revolution for Stepper Position Maintenance SPM mode Arguments Argument i Resolution Description m Axis Axis to assign value n 1 Motor resolution in full steps revolution Remarks e This command is only required i
282. plicit comma separated order Operands EB Operand has special meaning see Remarks Description The EB function enables or disables the cam mode In this mode the starting position of the master axis is specified within the cycle Arguments Argument Description Notes n 0 Stop ECAM mode Default Start ECAM mode Remarks e When the EB command is given the master axis position is modularized e _EB holds the enabled state 1 or 0 Examples Galil DMC Code Example EB 1 Starts ECAM mode EB 0 Stops ECAM mode var _EB Return status of cam mode EB applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control EB 130 316 ECAM GEARING EC ECAM Counter BIR L EC n Usage ECn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The EC function sets the index into the ECAM table This command is only useful when entering ECAM table values without index values and is most useful when sending commands in binary See the command ET Arguments Argument Min Max Default Resolution Description Notes n 0 256 0 1 Set the ECAM table index Remarks e _EC contains the current value of the index into the ECAM table Examples Galil DMC Code Example EC 0 Set ECAM index to 0 ET 200 400 Set first EC
283. program sequence use the operand _BGn which will be zero when profiled motion is complete see BG command Examples Galil DMC Code Example Program move PR 5000 Position relative moves BG A Start the A axis AM A After the move is complete on A EN End of Program AM applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AM 76 316 ETHERNET IO AO Analog Output SIE AO no Ny1 Usage AOn Arguments specified with an implicit comma separated order Description The AO command sets the analog outputs on the Galil or for a Modbus Slave Arguments Argument i Resolution Description Notes no 1 Set Local Analog Output See AO1 functions in Remarks Set Analog Output on Modbus See Using AO with a Modbus Slave in Slave Remarks ny 20 65 536 Analog Output Voltage no 1 Remarks AO1 Functions e no 1 for analog output 1 This is available only when a sine drive is being used e no 2 for analog output 2 This is always available regardless of the hardware configuration e Analog Output 1 can be used as a general purpose Analog Output or as the Motor Command output to an external Drive The table below indicates the settings required for the 2 modes Controller Configuration MT Setting BR Setting Analog Output 1 Mode Brushless
284. ption The QS command reports the magnitude of error in drive step counts for axes in Stepper Position Maintenance mode A step count is directly proportional to the micro stepping resolution of the stepper drive Arguments Argument i Resolution Description Notes Multi Axis Axes to query for step motor error Default value used if mm is mm Mask magnitude undefined m A Axis Single Axis to query for error magnitude Remarks e The result of QS is modularized so that result is never greater than 1 2 the revolution of the stepper motor o Largest possible QS result 0 5 YA YB e If present in embedded code command execution will jump to POSERR when QS is equal to 3 full motor steps _YAm 3 e QSm wil return the current error for axis m Operand Usage e _QSm contains the error magnitude in drive step counts for the specified axis Examples Galil DMC Code Example For a microstepping drive query the error of A axis QS A 1023 This shows 1023 step counts of error YAA 7 256 This shows the microstepping of 256 counts step Query the error value 05 1023 QS applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control Qs 238 316 INTERROGATION Q U Upload Array SE QU str no n1 n2 Usage QUn Arguments specified with an implic
285. ption Time override option t 0 with n 0 disables Contour mode See Remarks Pauses contour buffer at the segment with t 1 Reissue DT to re engage contour mode Remarks e The units of the command are in encoder counts e The operator can be used to override the global DT time by transmitting the time in a CD with the position data e n t 0 terminates Contour mode similar to VE or LE for vector mode and linear interpolation mode o Example CMA is terminated with CD 0 0 o The user must have a space after CD in order to terminate the Contour Mode correctly The command CD0 0 no space will assign a variable CDO the value of 0 rather than terminate Contour mode Examples Galil DMC Code Example contour Program Label cM A Enter Contour Mode DT 4 Set time interval cD 1000 Specify data cD 2000 Next data cD 0 0 End of Contour Buffer wait wait for all segments to process buffer to empty wT 16 1 wait for 1 DT time segment 2 4 JP wait _CM lt gt 31 EN End Program CD applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control CD 107 316 SYSTEM CONFIG CE Configure Encoder BARAL CEm n CE n n n n n n n n Usage CEm n Arguments specified with a single axis mask and an assignment CEn Arguments specified with an implicit
286. r Default interrupt triggers on low interrupt trigger inputs see Remarks Remarks e The argument n2 is an integer value and represents a binary number showing the inputs selected for the input interrupt function o For exampke if n2 15 the binary equivalent is 00001111 where the bottom 4 bits are 1 bit 0 through bit 3 and the top 4 bits are 0 bit 4 through bit 7 Each bit represents an interrupt to be enabled bitO for interrupt 1 bit 1 for interrupt 2 etc If o 15 the inputs 1 2 3 and 4 would be enabled e This argument n3 is an integer value and represents a binary number showing which inputs will trigger on a logic 1 and which on a logic 0 This binary number is used to logically AND with the inputs which have been specified by the parameters n4 and n2 or the parameter n3 o For exampk if n1 1 and n2 4 the inputs 1 2 3 and 4 have been activated If the value for n3 is 2 the binary equivalent of 2 is 00000010 input 2 will be activated by a logic 1 and inputs 1 3 and 4 will be activated with a logic 0 e The RI command is used to return from the ININT routine e Note An application program must be running on the controller for the interrupt function to work Examples Galil DMC Code Example a Program A Er ls Specify interrupt on input 1 JG 5000 BG A Specify jog and begin motion on A axis loop JP loop Loop to keep thread zero active only necesary on Econo 21x3 18x2 EN End Program ININT Interr
287. r MA 16 20 33 Ground Examples Renishaw BiSS Data Timing Table Bit Sequence T 2 T 1 T 0 T 1 T Data T Error T Warning T CRC T Timeout Data Begin Encoder Acknowledge 5 Position Data 26 Description Read Wait Bits aaa Zero BRE or 32 Bts e 1 0 0 1 0 1010 1010 0 0 ooo000 s f 0 ae Required Error Bit Warning Bit 6 Bit CRC Timeout Bits Renishaw C mode unidirectional RESOLUTE encoders can be either 26 or 32 bits of position data The first bit after the start bit is aways zero so the total bit count is the resolution of the encoder plus one Use the following as examples for 26 bit and 32 bit encoders e SSA 1 27 27 0 lt 14 e SSA 1 33 33 0 lt 14 Hengstiler BiSS Data Timing Table BE T 2 T 1 T O T Data T Padding T Error T Warning T CRC T Timeout Sequence Begin Position Data Total Encoder fae Start Bit Bits including multi Filin Zeros Error Bit Warning Bit 6 Bit CRC Data Required Description Read turn Timeout Bits Data SLO 7 1010 1010 o ooo 000000 Line Hengstler encoders should use the same value for nq and n2 Galil DMC Code Example BiSS setup command for the Hengstler 12 bit MT 10 bit ST Data will be available in TP and for servo feedback SSA 1 26 26 4 lt 13 Galil DMC Code Example Configuration for 26 bit Renishaw Resolute single turn encoder SYA 0 Warning and Alarm bits ar
288. r as master for ECAM EA DA REM define slave modulus as 0 returns to original position EM 0 REM define master increment as 1000 counts table entry EP 1000 REM define master modulus as 4000 MM 4000 ET 0 0 ET 1 500 ET 2 1000 ET 3 500 ET 4 0 REM enable ECAM mode EB 1 REM engage when master is at 0 position EG 0 EN Galil DMC Code Example REM example using Virtual axis as the Master and Main encoder on the A axis as the slave cam REM define Virtual axis as master for ECAM EA N wee slave modulus as 0 returns to original position EM REM define master increment as 1000 counts table entry EP 1000 REM define master modulus as 4000 MMN 4000 ET 0 0 ET 1 500 ET 2 1000 ETL3 500 ET 4 0 REM enable ECAM mode EB 1 REM engage when master is at 0 position EG 0 REM begin jog on N axis JGN 1000 BG N EN EM applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control EM 137 316 PROGRAMMING EN Ena BIN 5 EN no nyz Nng Usage ENn Arguments specified with an implicit comma separated order Description The EN command is used to designate the end of a program or subroutine If a subroutine was called by the JS command the EN command ends the subroutine and returns program flow to the point just after the JS c
289. r can detect a failure on either or both channels of the encoder Arguments Argument i Resolution Description m Axis Axis to assign value n 20 65 536 Torque voltage to trigger encoder error detection Remarks e Encoder error detection is accomplished by checking on whether motion of at least 4 counts is detected whenever the torque exceeds a preset level OV for a specified time OT o Note that for this function to work properly it is recommended to have a non zero value for KI e The value of OV should be high enough to guarantee that the motor would overcome any static friction in the system If it is too low there will be false triggering of the error condition e The OV value may not be higher than the TL value e See the OA command for more details on this error detection mode Examples Galil DMC Code Example Ov 0 54 Set A axis encoder detection torque value to 0 54v Galil DMC Code Example setup setup the encoder error detection OTA 10 Set time to 10 milliseconds OVA 5 Set voltage to 5 OAA 1 Enable encoder detection feature EN Galil DMC Code Example REM POSERR example for checking to see if encoder failure occured REM This procedure is needed because the stop code will only update if REM the profilier is running at the time the encoder failure is detected POSERR a 0 loop IF _MO a 1 IF C_TE a lt _ER a amp _OE a amp _OA a MG possible encoder
290. race output Galil DMC Code Example a a 123 456 not displayed with TR1 output EN Examples Galil DMC Code Example Turn on trace during a program execution LS 0 MGTIME 1 wT1000 2 JPO 3 XQ 18003461 0000 18004461 0000 18005461 0000 TR 1 2 JPO 0 MGTIME 18006461 0000 1 wT1000 2 JPO 0 MGTIME 18007461 0000 1 wT1000 TR 0 18008461 0000 18009461 0000 ST 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TR 290 316 INTERROGATION TS Tell Switches Baca S TS mm Usage TSmm Argument is an axis mask Operand has special meaning see Remarks Description The TS command returns information including axis specific IO status error conditions motor condition and state The value returned by this command is decimal and represents an 8 bit value decimal value ranges from 0 to 255 Arguments Argument Min Max Default Resolution Description mm A A A Multi Axis Mask Axes to report axis switches Remarks e Each bit of the TS response represents the following status information when the bit is set 1 Status Axis in motion Position error exceeds error limit Motor off Reserved 0 Forward Limit switch inactive Reverse Limit switch inactive Home switch status Position Latch has occurred e For active high or active low configuration CN command the limit switch bit
291. rivilege error 106 The application program will still run when locked Once the program is unlocked it will remain accessible until a lock command or a reset with the locked condition burned in occurs Arguments Argument Max Resolution Description Notes str 8 chars String Controller password string Password assigned with the PW command Remarks 1 1 Set lock unlock state for controller e The PW command can only be set while the application program is unlocked L K wilreturn a0 if the controller is not locked and a 1 if it is locked ASCII Values Examples n 1 locks the application program n 0 unlocks the application program Galil DMC Code Example Pw test test tALAK test 1 ALS TC 1 106 Privilege violation Set password to test Lock the program Attempt to l st the program L K applies to DMC40x0 DMC42x0 DMC41x3 RIO DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ALAK 50 316 SYSTEM CONFIG ARA S Master Reset SEIN AR S Usage R S_ Command takes no arguments Description The Master Reset command resets the controller to factory default settings and erases EEPROM A master reset can also be performed by installing a jumper at the location labeled MRST and resetting the board power cycle or pressing the reset button Remo
292. ror code of 123 will occur on _TC MW prevents the controller from sending multiple commands to the same Modbus device before it has a chance to execute them Operands o _MWO returns last function code received o _MW1 returns Modbus error code _MWn operands Galil DMC Code Example MG _MWO 8 0 is the hex formatter 00000001 above is an expected response to function code 1 MG _MW1 8 0 00000000 no error _MWO Responses Function Code Sent Normal _MWO Response __MW0 Exception Response 07 87 15 0F 8F _MW1 Responses _MWireturns Exception description Normal response The request referenced an ilegal function code The request referenced an ilegal data address Examples Galil DMC Code Example Mw 1 Enables Modbus wait SB 1001 Set Bit 1 on Modbus Handle A cB 1001 Clear Bit 1 on Modbus Handle A Galil DMC Code Example REM Example on Modbus master DMC 40x0 REM Using _Mw operands IHH 192 168 42 43 lt 502 gt 2 connect to RIO Mw 1 SB 8001 set bit one on RIO MBH 5 1 0 clear it with MB CB 8001 would also work IMG _MW0 5 0000 funct code 5 confirmed IMG _Mw1 Galil Motion Control MW 208 316 0 0000 no errors MBH 5 100 1 invalid output point HTG L 0 MG _MwO 8 0 00000085 Exception on funct code 5 MG _Mw1 8 0 00000002 illegal data address MW applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30
293. rt of the given number Arguments Argument Min Max Default Resolution Description n 2 147 483 648 2 147 483 647 N A 1 65 536 Value to use in fractional operation Remarks e The sign of the number input to the operation will be maintained in the fractional output e FRAC is an operand not a command It can only be used as an argument to other commands and operators Examples Galil DMC Code Example MG FRAC 1 2 0 2000 MG FRAC 2 4 0 4000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control FRAC 39 316 IN Read digital input SIE IN n Usage _ variable IN value Performs a function on a value or evaluated statement and returns a value Description The IN operand returns the value of the given digital input either 0 or 1 Arguments Argument Resolution Description Notes INTERROGATION IO General input to query Aux encoder input to query Used when repurposing aux encoder inputs as digital inputs Remarks e IN is an operand not a command It can only be used as an argument to other commands and operators Read Modbus slave bit e n SlaveAddress 10000 HandleNum 1000 Module 1 4 Bitnum 1 o Slave Address is used when the ModBus device has slave devices connected to it and specified as Addresses 0 to 255 Please note that the use of slave devices for modbus are very rare
294. s Print stack EN End 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ZS 316 316
295. s Remarks e _WH contains the numeric representation of the handle from which the command was received e The following table lists the possible string returned by WH and the numerical value returned by _WH Communication Channel WH 1 Examples Galil DMC Code Example WH Request incoming handle identification WH applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control WH 307 316 PROGRAMMING TRIPPOINT WT wait SIN L WT no Ny1 Usage WTn Arguments specified with an implicit comma separated order Description The WT command is a trippoint used to time events When this command is executed the controller will wait for the amout of time specified before executing the next command The amount of time in the WT command is specified to be either samples or milliseconds depending on the second argument of WT Arguments Argument i Default Resolution Description no 2 147 483 646 N A 2 Specify amount of time to hold execution of code n 0 or null specifies WT in msecs n 1 specifies WT in samples ny 1 Specify the type of WT Remarks e Ifn1 1 for WTno n4 then the controller will wait for the number of samples specified before executing the next command e By default WT is specified in milliseconds If n1 is omitted then nj 0 is us
296. s complement with the first bit used to signify the sign A positive ng specifies standard decimal format A is only valid for querying no When queried the value reported will be the value of the format for variables and arrrays specified by ng and n1 o eg VF 10 4 would respond to VF with 10 4 _VF contains the value of the format for variables and arrays If the number of digits set by n is insufficient for representing the integer portion of a variable the returned value will be the greatest number representable by ng nj For example if var 123 and VF is 2 4 var will return 99 9999 Examples Galil DMC Code Example VF 5 3 Sets 5 digits of integers and 3 digits after the decimal point VF 8 Gs Sets 8 digits of integers and no fractions VF 4 0 Specify hexadecimal format with 4 bytes to the left of the decimal Galil DMC Code Example VF 8 4 set vf to 8 digits of integers and 4 digits of fraction VF query the value of VF 8 4 MG _VF query again 8 4 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control VE 300 316 VECTOR LINEAR VM vector Mode oe Usage Mmm Argument is an axis mask Operand has special meaning see Remarks Description The VM command enables the coordinated motion mode and specifies the plane of motion This mode may be specified for motion on any set of two axes including a combination of real and virtual
297. s e None Examples Galil DMC Code Example x 5 x 2 5 0000 IMG X 5 0000 define and initialize x to 5 print x two different ways 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 64 316 PROGRAMMING MATH FUNCTIONS Equal to comparator BIE no n1 Usage variable value1 value2 Performs an operation between two values or evaluated statements Description Equal to comparator for testing if one value is equal to another Comparators are used in mathematical expressions IFs and in conditional jumps The result is a boolean Comparators in DMC Code Symbol Comparator gt Greater than lt Equal to Less than or equal to gt Greater than or equal to lt gt Not equal to Arguments Argument Min Max Default_ Resolution Description Notes mo 2 1a7 003 698 2 147 405647 WA_ 1 65 536 Vauetotest ng _ 2 147 483 648 2 147 483 647 N A s 1 65 536 Valuetotest Remarks e A comparator is not a command and is not valid individually Instead the above expression would be used as part of a jump JP JS IF expression or assignment See examples below e Ifno n1 the expression will evaluate to 1 0000 If the comparision is false it will evaluate to 0 0000 e Evaluation occurs left to right Use parenthesis for operator precedence Examples Galil DMC Code Example bool
298. s Absolute Position mode The BiSS data is returned as an unsigned integer of bit size indicated in n1 If encoder is used and position in integer counts exceeds 2 1 1 the value in counts will overflow to zero Likewise movement in the negative direction past zero will result in the highest integer value returned e nz A negative number designates Continuous mode This will cause a BiSS encoder to act as an incremental encoder allowing the controller to count past the max or min integer value of the encoder Note when the controller is powered down the absolute value of the encoder is returned and any overflow counts are lost e BiSS clock MA frequency is set with the o argument and has the following form Galil Motion Control SS 265 316 o MA freq 20 MHz 2 0 1 e Axis must be in MO state prior to issuing the SS command Operand Usage e _SSm Returns 4 bits of axis status data where n is the axis designator used o SERERR is an automatic subroutine which will run in the event of an encoder problem See SY for setting up the active high low status of bits 2 and 3 o Note The encoder manufacturer may name the Error and Warning bits differently Consult the encoder documentation for the naming convention o Galil defines the Warning bit as the bit directly preceeding the CRC The Error bit is defined as the bit directly preceeding the Warning bit See _SSm Bit Map table below _SSm Bit Map Bit Position Bit Mean
299. s a single axis controller mm A Multi Axis Mask Vector plane to begin motion Multi Axis Mask Virtual axis to begin motion Remarks e Any combination of Axes Vector Planes and Virtual Axes may be mixed to begin motion e ABGcommand cannot be executed for any axis in which motion has not completed o Slaving to a master in gearing mode is an exception Gearing does not require the axis to profile a motion and therefore Independent moves may be superimposed on top of gearing e Use the AM trippoint to wait for motion complete between moves from embedded code e From host code use one of the following methods to determine motion is complete o PollMG_BGm o Use the data record DR QR o Use interrupts ED if available Operands e _BGm contains a 0 if motion complete on the specified axis or coordinate system otherwise contains a 1 o _BGm can be used from host programs to determine if motion is complete by polling the axes of interest Examples Galil DMC Code Example PR 2000 3000 5000 Set up for a relative move BG Start the A B and D motors moving Galil DMC Code Example HM Set up for the homing BG A Start only the A axis moving Galil DMC Code Example JG 1000 4000 Set up for jog BG B Start only the B axis moving Galil DMC Code Example TEn bstate _BGB Assign a 1 to bstate if the B axis is performing a move Galil DMC Code Example WM AB vector Mode vP
300. s a variable s value var val 7 REM call the same sub above JS square val MG _JS EN REM KHER RARER RARER REEEER AREER EREEERERREEERE REM Pass a variable by reference varref val 9 JS square2 aval MG val EN square2 REM change the value of the variable Aa Aa Aa REM don t return anything EN REM REG REM Pass an array by reference array DM array 100 array 42 11 JS square3C array MG array 42 EN square3 REM change the array element Aal42 Aa 42 Aal42 REM don t return anything EN REM KREEKKREEKRRAEKRAEEKRAEE KARE REEEREEREERERREEERE REM Controller Response REM XQ al1 REM REM 9 0000 Galil Motion Control JS 175 316 REM 49 0000 REM 81 0000 REM 121 0000 Galil DMC Code Example Dimension two arrays DM array1 10 DM array2 100 Zero the contents of each array JS zeroaryC arrayl 0 JS zeroaryC array2 0 EN Zero the contents of an array zeroary Aa array Ab starting index AaLAb 0 Ab Ab 1 JP zeroary Ab lt Aa 1 EN Galil DMC Code Example REM Using dynamic destinations in a jump table 1 Counter loop offset spell i Calculate offset JS offset Jump to offset i i 1 Increment Counter JP loop i lt 3 Loop through 3 states EN spell Subroutine containing various words MG One EN Prints One if this line is called i 1 MG Two EN Prints Two if this line is called i 2 MG Three
301. s are 1 when the switch is inactive and 0 when active Operand Usage e _TSm contains the current status of the switches for the specified axis Examples Galil DMC Code Example vl _TSA Assigns value of TSA to the variable v1 vl Interrogate value of variable v1 15 returned value Decimal value corresponding to bit pattern 00001111 axis not in motion bit 7 has a value of 0 axis error limit not exceeded bit 6 has a value of 0 axis motor is on bit 5 has a value of 0 axis forward limit is inactive bit 3 has a value of 1 axis reverse limit is inactive bit 2 has a value of 1 axis home switch is high bit 1 has a value of 1 axis latch is not armed bit O has a value of 1 rPrrrrpry TS applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TS 291 316 INTERROGATION TT Tell Torque Aon TT mm Usage TTmm Argument is an axis mask Operand has special meaning see Remarks Description The TT command reports the value of the analog output signal which is a number between 9 998 and 9 998 volts Arguments Argument Min Max Default Resolution Description mm A A A Multi Axis Mask Axis to report output torque command Remarks e Torque output is limited by the value set for the TL command e _TTm contains the value of the torque for the specifie
302. s for TD and RP to zero but will not effect the TP register value When equipped with an encoder use the DE command to set the encoder postition for stepper mode e The DP command is useful to redefine the absolute position o For example you can manually position the motor by hand using the Motor Off command MO Turn the servo motors back on with SH and then use DPO to redefine the new position as your absolute zero e The operand _DPm as well as _TPm holds the current main encoder position e n wil return the encoder position as returned by TP Examples Galil DMC Code Example E DP O Sets the current position of the A axis to 0 DP 50000 Sets the current position of A axis to 50000 DP Interrogate the position of A DP applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control DP 125 316 SYSTEM CONFIG DR Configures I O Data Record Update Rate SEI DR No Ny Usage DRN Arguments specified with an implicit comma separated order Operands Bel Operand has special meaning see Remarks Description DR specifies and enables the rate for the controller to output its data record For ethernet based controllers the controller creates a QR record and sends it to the unsolicited UDP Ethernet Handle at the specified rate See the User Manual for the data record map
303. s for independent moves such as PR PA and JG moves The parameters will be rounded down to the nearest factor of 1024 and have unts of counts per second squared Arguments Argument i Default Resolution Description m N A Axis Axis to assign value N A Axis Virtual axis to assign value 1 073 740 800 256 000 1 024 Deceleration rate At TM 1000 See Remarks for resolution details Remarks e The AC command is used to designate acceleration e Specify realistic deceleration rates based on your physical system such as o motor torque rating o loads o amplifier current rating e Specifying an excessive deceleration will cause a large following error during deceleration and the motor will not follow the commanded profile e DC may be changed during a move in Jog mode but not in a PA or PR move o However directly following an axis stop ST m or a limit switch LIMSW1 the DC value of a PA or PR move may be changed while the axis is still decelerating Resolution e The resolution of the DC command is dependent on the sampling period of the control loop TM With the default rate of TM 1000 the resolution is 1024 counts second 2 The equation to calculate the resolution of the DC command is o resolution min 1024 1000 TM 42 o Example With TM 500 the minimum DC setting and resolution is 4096 counts second 2 resolution 1024 1000 500 2 4096 Examples Galil DMC Code Example PR 10000 Specify po
304. s reverse limit switch _LR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com 55 316 Galil Motion Control _LR Line Continuation Character SIN L Description The ASCI 96 character allows a command in an application program to extend beyond the maximum line length of 40 characters This is especially useful for code compression long MG statements or multiple conditions in an IF JP or JS statement A continued line can be a maximum of 80 characters total Arguments See Examples for usage Remarks e When multiple lines are joined using the line continuation character the first line number is the line number used for any errors o For exampk f lines 5 6 7 are joined and a syntax error occurs on your 7th line the controller will actually report a problem on line 5 e The lines following the Line Continuation Character will not be displayed in the trace output TR1 e DMC 30010 revision 1 2a and newer support 1000 lines by 80 chars natively Examples Galil DMC Code Example fa a 123 456 not displayed with TR1 output EN Galil DMC Code Example IF CCvar100 1000 amp Cvar101 50 MG GO EL SE MG STOP ENDIF applies to RIO DMC30010 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 56 316 Bitwise OR Operator SLI
305. s to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TD 281 316 INTERROGATION TE Tell Error AMON TE mm Usage TEmm Argument is an axis mask Operand has special meaning see Remarks Description The TE command returns the current error in the control loop The command returns the position error of the motor s which is the difference between commanded RP and actual TP position Arguments Argument Min Default Resolution Description Notes mm A A Multi Axis Mask Axis to report position error Remarks e Under normal operating conditions with servo control the position error should be small The position error is typically largest during acceleration and deceleration e The Tell Error command is not valid for step motors since they operate open loop Operand Usage e _TEm contains the current position error value for the specified axis Examples Galil DMC Code Example TE Return all position errors 5 2 0 6 a TE A Return the A motor position error 5 TE B Return the B motor position error error _TEA Sets the variable Error with the A axis position error Galil DMC Code Example TE A Return the A motor position error 5 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TE 282 316 INTERROGA
306. s variable control of an output bit based on logical expressions The OB n logical expression command defines output bit i as either 0 or 1 depending on the result from the logical expression Arguments Argument i Resolution Description n 1 Output bit specified n 1 Modbus output bit specified See Remarks Expression that defines If ex is true non zero set output to 1 If ex is x Expression status of output false zero set output to 0 Remarks e An expression is any valid logical expression variable or array element e Any non zero value of the expression results in a one set to the output bit e no SlaveAddress 10000 HandleNum 1000 Module 1 4 Bitnum 1 o Slave Address is used when the ModBus device has slave devices connected to it and specified as Addresses 0 to 255 Please note that the use of slave devices for modbus are very rare and this number wil usually be 0 o HandleNum is the handk specifier where A is 1 B is 2 and so on o Moduke is the position of the module in the rack from 1 to 16 o BitNum is the O point in the module from 1 to 4 Examples Galil DMC Code Example OB 1 pos If pos lt gt 0 Bit 1 is high If pos 0 Bit 1 is low OB 2 IN 1 amp IN 2 If Input 1 and Input 2 are both high then Output 2 is set high OB 3 count 1 If the element 1 in the array is zero clear bit 3 OB n count 1 If element 1 in the array is zero clear bit n Galil DMC Code Example
307. sition AC 2000000 Specify acceleration rate Dc 1000000 Specify deceleration rate SP 5000 Specify slew speed BG Begin motion DC applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control DC 119 316 SYSTEM CONFIG DE bual Auxiliary Encoder Position Bac Aon DEm n DE n n n n n n n n Usage DEm n___ Arguments specified with a single axis mask and an assignment DEn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The DE command defines the position of the auxiliary dual encoders Dual encoders are useful when you need an encoder on the motor and on the load The encoder on the load is typically the auxiliary encoder and is used to verify the true load position Any error in load position is used to correct the motor position Arguments Argument Min __ Max Default _ Resolution Description Notes pom ja A OA Jais Axistorassignvae nm __ 2 147 483 648 2 147 483 647 0 1 Postion set for auxiliary encoders For MT 1 1 1 5 1 5 2 147 483 648 2 147 483 647 0 1 Postion set for main encoders For MT 2 2 2 5 2 5 Remarks When using stepper motors the DE command defines the main encoder position e e The auxiliary encoders are not available for the stepper axis or for an
308. statement s that must If omitted JP automatically evaluates evaluate true for jump to occur as true Remarks e The logical operators that can be used in the conditional statement are o lt less than o gt greater than o equalto o lt less than or equal to o gt greater than or equal to o lt gt not equal to e The conditional statements are combined in pairs using the operands amp and o The amp operand between any two conditions requires that both statements must be true for the combined statement to be true o The operand between any two conditions requires that only one statement be true for the combined statement to be true e Each condition must be placed in parentheses for proper evaluation by the controller Galil DMC Code Example REM Use of parentheses JP a Cvar0 1 amp var1 2 valid conditional jump JP a var0 1avar1 2 invalid conditional jump Examples Galil DMC Code Example JP pos1 v1 lt 5 Jump to label POS1 if variable v1 is less than 5 JP a C v7 v8 0 Jump to A if V7 times v8 equals 0 JP b IN 1 1 Jump to B if input 1 JP c Jump to C unconditionally Jump Table Galil DMC Code Example REM Example of jumpi ng to a label plus an offset REM error is a subroutine that prints an error REM message based on the value of an error REM variable ecode a REM Set error code and then JS to sub ecode 1 JS error ecode 3 JS error ecode 56
309. t n 1 restores the interrupted n when returning from an automatic trippoint n 0 clears the subroutine trippoint Remarks e The RE command is used to end the following error automatic subroutines Automatic Subroutines Used Notes AMPERR Only when using internal amps LIMSWI POSERR SERERR Only when equipped with serial encoder firmware support TCPERR Eee eee e Care should be taken to ensure the error conditions are cleared when finishing the subroutine to avoid immediate re entering of the error routine e To avoid returning to the main program on an interrupt use the ZS command to zero the subroutine stack then use JP to return to the desired location in code e RE 1 restores the trippoint that was interrupted by an automatic subroutine like WT o A motion trippoint like MF or MR requires the axis to be actively profiling in order to be restored with the RE 1 command Examples Galil DMC Code Example REM dummy loop a JP a EN POSERR Begin Error Handling Subroutine MG ERROR Print message SB 1 Set output bit 1 RE Return to main program and clear trippoint 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control RE 244 316 PROGRAMMING REM Remark ANAN REM str Description REM is used for comment lines The REM statement is NOT a controller command Rather it is recognized by Galil PC software which strips aw
310. tHm1 0to65535 Slave portnumberforhandem tHm2 0 sd Handlesfree Hane Avatiabe in TH Attempting to establish UDP handle Received as response to a command Connection timed out waiting for a response to a command a fF fe fF fF Attempting to establish TCP handle ARP was successful ARP failed or still in progress Waiting for ACK from slave controler after issuing a command Received as response to a command Examples Galil DMC Code Example IHA 251 29 51 1 Open handle A at IP address 251 29 51 1 TCP is used as default IHA 2095238399 Open handle A at IP address 251 29 51 1 when the IH command is given the controller initializes an ARP on the slave device before opening a handle This operation can cause a small time delay before the controller responds Galil DMC Code Example setting up a modbus handle Mw 1 setup modbus wait IHE 192 168 100 200 lt 502 gt 2 setup a modbus handle to slave wt wait for handle to be connected WT 2 before issuing a command JP wt _IHE2 lt gt 2 SB 5003 Set output 3 on slave wT 1000 1 second wait MBE 5 3 0 Clear output 3 using MB command EN Galil DMC Code Example Setting and printing the time with a TIME protocol server set RO 7 set the timezone offset for Pacific Daylight Time IHE gt 3 close handle E in case it s open IHE 10 0 62 23 lt 37 gt 2 querry the TIME server wT
311. table below Data Encoding 1 Binary encoding 2 Gray Code Number of status bits Frequency MHz 2 1 7 1 4 1 3 Remarks e SIm Returns the configuration parameters e n1 A positive number designates No Rollover A negative number will cause the controller to act as an incremental encoder allowing the encoder to count past the max value of the encoder This prevents a discontinuity in servo error at the ends of the absolute data When the controller is powered down the rollover values are lost e n3 Anegative number designates status bits as leading the SSI data A positive number designates status bits as trailing the SSI data e The number of Multi turn bits of the encoder is internally calculated by the following equation o Multiturn Bits Total Bits Single Turn StatusBits e See Application Note 2438 for more information Galil Motion Control Sl 260 316 e There are two items required when connecting an SSI encoder to the controller special SSI firmware and a controller ordered with SSI or SER option e Clocking in SSI data has a timing overhead which may be non negligible In the event that clocking in data may have a negative effect on servo performance e g using multiple encoders with a lowered TM sample rate the controller will respond with an error mode See AUTOERR for more information This error mode is very rare and is expected to occur only in deve
312. tc Address of first coil Quantity of inputs to read Or number of IO points to read Name of array to store values str 0 holds the first value Galil DMC Code Example MBC 2 4 3 example Read inputs 4 5 and 6 from handle C save to example equivalent to reading Digital Inputs or registers mapped to 000xxx 03 MBm ng 3 n2 n3 str Read Holding Registers Read Words Argument i Max Default Resolution Description Notes Handle to send N A Modbus command see Notes Unt ID Default to Handle number A 1 B 2 etc Address of first register N A N A Quantity of registers to read Name of array to str 0 holds the first value 2 bytes per element Array NA store values must be as large as the value for n3 Galil Motion Control MB 192 316 Galil DMC Code Example MBB 3 1 4 example Read registers 1 through 4 from handle B save to example equivalent to reading Analog Outputs or registers mapped to 400xxx 04 MBm no 4 n2 n3 str Read Input Registers Read Words Argument i Max Default Resolution Description Notes Handle to send N A Modbus command see Notes Unt ID Default to Handle number A 1 B 2 etc Address of first register Quantity of registers to read Name of array to str 0 holds the first value 2 bytes per element Array store values must be as large as the value for n3 99 8 chars
313. te of the calender will persist through power cycle and Master Reset Arguments Argument Resolution Description ETHERNET Notes no Day of the week ng 0 disables calender feature 1 Sunday 2 Monday to assign to 3 Tuesday 4 Wednesday 5 Thursday 6 Friday calender 7 Saturday ni Sets the current day of the month Sets the current month of the year n2 0 disables calender feature 1 January 2 February 3 March 10 October 11 November 12 December Remarks Sets the current year e The calender function is leap year compliant Operand Usage _RYO contains the current day of the week field _RY1 contains the current day of the month field _RY2 contains the current month of the year field _RY3 contains the current year field Examples Galil DMC Code Example RY 6 19 2 10 Set to Fri February 19th 2010 0 99 corresponds to year 2000 through 2099 JS IS MG MG MG MG MG EN MG MG MG MG MG MG Galil DMC Code Example REM DISABLE COMPRESSION lt This String Disables GalilTools Compression print call sub when time is needed printd _RY0 helper subs w offsets printm _RY2 _RY1 Z2 0 2000 _RY3 Z4 0 N print info RT2ZLF2 05 2 EN _RT1 F2 03 N _RTO F2 0 SUN MON TUE WED THR ERI SAT N EN N EN N EN N EN N EN N 5 EN N 5 EN N EN N 5 EN N EN N EN N EN
314. the axis is already passed the BL value the axis will profile a small move before the software limit is again detected o This is typically encountered when commanding motion in loops such as a jog loop o In these scenarios it is recommended to use the LIMSWI routine to stop the loop when the BL limit has been exceeded Examples Galil DMC Code Example test Test Program AC 1000000 Acceleration Rate DC 1000000 Deceleration Rate BL 15000 Set Reverse Limit JG 5000 Jog Reverse BG A Begin Motion AM A After Motion limit occurred TP A Tell Position EN End Program T Galil Controllers also provide hardware limits BL applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BL 92 316 SINE COMMUTATION BM Brushless Modulo BARAL BMm n BM n n n n n n n n Usage BMm n Arguments specified with a single axis mask and an assignment BMn f Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The BM command defines the length of the magnetic cycle in encoder counts Arguments Argument i Resolution Description m A Axis Axis to assign value n 10 000 000 2 000 1 65 536 Encoder counts per magnetic cycle Remarks e For rotary motors the magnectic cycle BM value is calculated by
315. the integer memory written at 1000 DM read 2 Dimension an array for holding read data MBH 0 3 1000 1 read Read the integer at register 1000 MG Integer read 0 Print the read integer MBH 0 3 2001 2 read Read the float at register 1000 float Cread 0 10000 read 1 Construct the float Shifting necesary for high bytes MG Float float 8 0 Print the float in hex ME applies to DMC30010 RIO 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ME 197 316 TRIPPOINT MF Forward Motion to Position I wa SIN UIs MFm n MF n n n n n n n n Usage MFm n__ Arguments specified with a single axis mask and an assignment MFn Arguments specified with an implicit comma separated order Description This command wil hold up the execution of the following command until the specified motor moves forward and crosses the position specified Arguments Argument Min Max Resolution Description m A A Axis Axis to assign value Position required to be crossed before subsequent i 2 147 483 648 21147 483 617 1 commands will be executed Remarks e Although multiple positions can be specified only one of the MF conditions must be satisfied for subsequent code execution e MF command references absolute position e The MF command only requires an encoder and does not require that the axis be under servo control e The accurac
316. the numeric value specified See Examples for valid uses of n1 Variable name Prints the numeric value stored by the variable Operand Prints the numeric value stored by the operand Array element Prints the numeric value stored by the array element Mathematical expression Prints the numeric value of the solved equation Remarks e Multiple strings variables and ASCII characters may be used each must be separated by a comma e Solicited Messages o From a host terminal application code or device sending the MG command will return with the requested information This is known as a solicited command because the host sends the command and expects a response e Unsolicited Messages o From embedded DMC code the MG command will send an unsolicited asynchronous message from the controller to the host This can be used to alert an operator send instructions or return a variable value This is known as an unsolicited command because the host is not explicitly requesting it o The CW command controls the ASCI format of all unsolicited messages o Unsolicited messages can go to any of the Ethernet handles or serial ports o The CF command sets the default communication port for routing unsolicited messages Formatting e Formatters can be placed after each argument in to modify how it is printed o Fm n Display variable in decimal format with m digits to left of decimal and n to the right o Zm n Same as Fm n but s
317. this command is decimal and represents an 8 bit value decimal value ranges from 0 to 255 Each bit represents one input where the LSB is the lowest input number and the MSB is the highest input bit Arguments Argument Description Notes n Report status of Inputs 1 8 Default Report status of Inputs 81 82 Auxiliary encoder inputs See Remarks Remarks e Forn 10 the auxiliary encoder channels A and B can be used as additional IO Only 2 inputs are available resulting in a value of 255 252 reported by TI10 o See the User manual for more details Operand Usage e _Th contains the status byte of the input block specified by n o Note that the operand can be masked to return only specified bit information see section on Bit wise operations Examples Galil DMC Code Example TL tell input state on bank 0 8 Bit 3 is high others low input _TIO Sets the variable input with the TIO value input 8 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TI 284 316 OPERAND ONLY TIME rime Operand Al D Usage _ variable TIME TIME Operand has special meaning see Remarks Description The TIME operand returns the value of the internal free running real time clock The returned value represents the number of servo loop updates and is based on the TM command The default value for the TM command is 1000 With this update rate the operand TIME wi
318. tic subroutine which will run in the event of an encoder problem See SY for setting up the active high low status of bits 2 and 3 o Note The encoder manufacturer may name the Error and Warning bits differently Consult the encoder documentation for the naming convention o Galil defines the Warning bit as the bit directly preceeding the CRC The Error bit is defined as the bit directly preceeding the Warning bit See _SSm Bit Map table below _SSm Bit Map Bit Position Bit Meaning Description No timeout 0 timeout occurred 1 CRC valid 0 invalid 1 BiSS employs a Cyclic Redundancy Check to verify data after transmission Error bit active state set When SY is set correctly this bit should be low when there is no active warning Consult the encoder with SY documentation for the Warning bit definition Warning bit active state When SY is set correctly this bit should be low when there is no active alarm error Consult the encoder set with SY documentation for the Alarm bit definition The BiSS decoding hardware will timeout if the encoder doesn t set the start bit within 30uS BiSS Pinout Pin I O 44 Pin BiSS Signal 35 Main Axis Data D0 or SLO 5 Main Axis Data DO or SLO 6 Main Axis Clock C0 or MA 21 Main Axis Clock CO or MA 22 Aux Axis Data D0 or SLO 36 Aux Axis Data DO or SLO 37 Aux Axis Clock CO or MA 7 Aux Axis Clock CO o
319. ting the operation of the LIMSWI automatic subroutine test CN 1 Switches are active low JGA 100 BG A Start a slow jog move wT 1000 CN 1 Cause a limit fault by inverting the limit polarity EN Galil Motion Control CN 112 316 LIMSwWI Automatic sub will automatically launch on limit detection MG Limit Switch Routine wT 1 CN 1 Return to correct polarity RE CN applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control CN 113 316 C R Circle BIET CR no n MN lt O gt p VECTOR LINEAR Usage CRn Arguments specified with an implicit comma separated order Description When using the vector mode VM the CR command specifies a 2 dimensional arc segment The VE command must be used to denote the end of the motion sequence after all CR and VP segments are specified The BG Begin Sequence command is used to start the motion sequence Parameters for radius starting angle and traverse angle must all be entered for each CR command Arguments Argument Default Resolution Description Notes no 6 sath an WA _ i Radius of circle segment 32 000 1 65 536 Starting angle of circle segment 32 000 1 65 536 Degrees to traverse for circle segment 15 000 000 3 000 000 Specifies the vector speed to be commanded at the beginning
320. tion The ASIN operator returns in degrees the arc sine of the given number Arguments Argument Min Max Default Resolution Description Notes n 1 1 N A 1 65 536 Value used for arc sine operation Remarks e ASIN is an operand not a command It can only be used as an argument to other commands and operators e ASIN is also referred to as the inverse sine function Examples Galil DMC Code Example MG ASIN 1 90 0000 MG GASIN O 0 0000 MG ASIN 1 90 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ASIN 34 316 MATH FUNCTIONS ATAN Inverse tangent BIC ATAN n Usage _ variable ATAN value Performs a function on a value or evaluated statement and returns a value Description The ATAN operator returns in degrees the arc tangent of the given number Arguments Argument Min Max Default Resolution Description n 2 147 483 638 2 147 483 647 N A 1 65 536 Value used for arc tangent operation Remarks e ATAN is an operand not a command It can only be used as an argument to other commands and operators e ATANT is also referred to as the inverse tangent function Examples Galil DMC Code Example MG GATAN 10 84 2894 MG GATAN O 0 0000 MG QA TANTO 84 2894 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ATAN 35 316 MATH FUNCTIONS
321. tion Control MM 201 316 SYSTEM CONFIG MO Motor Off BARAL MO mm Usage MOmm Argument is an axis mask Operand has special meaning see Remarks Description The MO command turns off the motor command line and toggles the amplifier enable signal Arguments Argument Min Max Default Resolution Description mm A A A Multi Axis Mask Specifies axis to turn off Remarks e The controler will continue to monitor the motor position o See the TP command for more details e To turn the motor back on use the SH Servo Here command e The MO command is useful for positioning the motors by hand e _MOm contains 1 000 if the axis is in the motor off state or 0 000 if the axes is in the servo here state Examples Galil DMC Code Example MO Turns off motor MO A Turns on motor SH A Turns motor on axis _MOA Sets variable axis equal to the motor servo status MO applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control MO 202 316 TRIPPOINT MR Reverse Motion to Position I wA AN JHS MRm n MR n n n n n n n n Usage MRm n Arguments specified with a single axis mask and an assignment MRn Arguments specified with an implicit comma separated order Description This command will hold up the execution of subsequent code specified motor mo
322. tion Description Notes m A Axis Axis to assign value n 1 State of dual loop mode n 0 disables Dual loop n 1 enables Dual loop Remarks e The DV command is useful in backlash and resonance compensation Using DV with Large motor load encoder ratio e When using Dual Loop mode with a large motor load ratio and or running at high velocities where low position error at speed is required FV should be used to compensate for the derivative contribution from the higher resolution motor encoder o The estimated FV setting required to compensate for the derivative contribution can be calculated by the equation a FV KD 4 motor load motor load effective motor to load ratio o For example KD 200 motor encoder changes 5000 counts per 1000 counts of load encoder motor load 5 1 a FV 200 4 5 1 250 e Ensure the motor encoder and load encoder count in the same direction to avoid dual loop positive feedback o With motor off MO check the motor encoder with TD and load encoder with TP Manually move the motor load and reissue the TD and TP commands to confirm both encoders count in the same direction o If the encoders count in opposing directions change the polarity of one encoder using the CE command or by changing the wiring Consult user manual o Now the system has encoders with similar direction but a positive feedback situation may still exist Off on error OE and error limits ER can be used to prevent a
323. tion occurs left to right Use parenthesis for operator precedence Examples Galil DMC Code Example tbool 1 gt 2 MG bool 0 0000 tbool 1 gt 0 MG bool 1 0000 Galil DMC Code Example REM Example to find the largest REM value in an array REM REM 28 8 oe ae de de de ae de de de ak ae ae de de a ae de teak ae tee REM Create an array and fill it len 5 DM array len array O 5 array 1 100 0001 array 2 42 array 3 3 14 array 4 100 JS max call max subroutine MG Max value is max EN REM REM KRREEKKAEKEKRREEKKRAREKRAEEKREEE REM Find max element in array max i 0 max 2147483648 start at min max_h IF Carray i gt max max array i ENDIF j i 1 JP max_h i lt len EN REM REM KARRAKA RRRRRR RRRA RRR RRR RR RRR REM Program output REM XQ REM REM Max value is 100 0001 Galil Motion Control gt 66 316 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control gt 67 316 PROGRAMMING MATH FUNCTIONS gt Greater than or Equal to comparator BIET no gt ny Usage variable valuel gt value2 Performs an operation between two values or evaluated statements Description Greater than or Equal to comparator for testing if one value is greater than or equal to another Comparators are used in mathematical expressions IFs and in conditional jumps The result is a boolea
324. tional number can be found here http babbage cs qc cuny edu IEEE 754 index xhtml Modbus Register Map e Each element is accessible as a 16 bit unsigned integer Modbus registers 1xxx OR as a 32 bit floating point number Modbus registers 2xxx e The table below shows the mapping for a Modbus master writing to the controller with ME 1 set e 1000 0 999 elements are available for read write on the DMC 30010 Elements 1000 2999 are not exposed to Modbus Modbus Register Map to Galil Array A Modbus Registers 1000 1999 2000 2999 Available Modbus function codes 3 read and 16 write 3 read and 16 write Number Type 16 bit unsigned integer 32 bit floating point References in A array A 0 A 999 A 0 A 999 Number written to A Integer only fraction not changed Galil 4 2 format internal from float conversion Number read from A Integer only fraction not read 32 bit float internal to float conversion Example Modbus Master Write MBH 0 16 1000 1 write MBH 0 16 2001 2 write Example Modbus Master Read MBH 0 3 1000 1 read MBH 0 3 2001 2 read Embedded Array Mapping e Once enabled the entire array table can be written remotely These writes can span across dimensioned user arrays It is the user s responsibility to partition the array table and to read write remotely to the correct location e When using multiple array names the array table is partitioned alphabetically o For exampk a partioned
325. toassignvaue n Jo 99982 1 9 9982 20 65 536 _ Value of torque imt Remarks e TL sets the absolute torque maximum for negative and positive torque o For exampk TL of 5 limits the motor command output to 5 volts maximum and 5 volts minimum e The maximum torque limit is different for certain amplifier configurations at a specific AG setting These cases are listed below Amplifier AG setting current rating DMC 3x012 2 1 6 A V DMC 3x014 N A 0 2 A V DMC 3x017 MT 1 or 1 2 1 6 A V Examples Galil DMC Code Example TE 1 Limit A axis to 1 volt TL Return limit for A axis 1 0000 TL applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TL 287 316 FILTER CONTROL TM Update Time BIR L TM n Usage TMn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The TM command sets the sampling period of the control loop The units of this command are microseconds A negative number turns off the servo loop Arguments Argument i Resolution Description Notes Set the sample time in The minimum value varies based on firmware usage n 31 23 usecs See Remarks Remarks TM 1000 will actually set an update rate of 976 microseconds Thus the value returned by the TIME operand
326. trol Corrections Feedback documentation galilmc com Galil Motion Control gt 68 316 PROGRAMMING AB Abort BIE AB Usage ABn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The AB command is a command to issue an abort to controller operation AB Abort stops motion instantly without a controlled deceleration If there is a program operating AB can also be specified to abort the program and all running threads The command AB will shut off the motors for any axis in which the off on error function is enabled see command OE Arguments Argument Value Description Notes m o Abort motion and the program operation Default if omitted s Abort motion only pO Remarks e _AB gives state of Abort Input 1 inactive and 0 active Examples Galil DMC Code Example ABs Stops motion 0E 1 Enable off on error on axes ABs Shuts off motor command and stops motion Galil DMC Code Example a Label Start of program JG 20000 Specify jog speed on A axis BG A Begin jog on A axis wT 5000 wait 5000 msec AB 1 Stop motion without aborting program wT 5000 wait 5000 milliseconds SH Servo Here JP a Jump to Label A EN End of the routine Remember to use the parameter 1 following AB if you only want the motion to be aborted otherwise your application program will also be aborted
327. troller status This status information includes 4 bytes of header information and specific blocks of information as specified by the command arguments The details of the status information is described in Chapter 4 of the user s manual Arguments Argument Min Max Default Resolution Description Notes k Miti A ASI ASI Multi Axis Axes Coordinated IO data specified to display in If no argument entered mm Mask the data record AST Argument Value Description Notes mm A Output axis A data block f S Output coordinated axis S data bock I Output General IO data block PY Remarks e The data returned by the QR command is in binary format and is unreadable in programs such as Galiltools o The Galitools API has specialized commands to parse the data record packet See the Galiltools User Manual for more details Examples Galil DMC Code Example QR A Return the data record with A axis block QR I Return the data record with IO block QR S Return the data record with S coordinated axis block QR Return the data record for all blocks QR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control QR 237 316 INTERROGATION STEPPER MOTOR Qs Error Magnitude AMON QOS mm Usage QSmm Argument is an axis mask Operand has special meaning see Remarks Descri
328. turn just one array value 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control QU 239 316 QZ Return Data Record information E QZ Operands Operand has special meaning see Remarks QZ3 Description INTERROGATION The QZ command is an interrogation command that returns information regarding the data record The controller s response to this command will be the return of 4 integers separated by commas Arguments QZ is an interrogation command with no parameters Remarks e The four fields returned by QZ represent the following 1 First field returns the number of axes 2 Second field returns the number of bytes to be transferred for general status 3 Third field returns the number of bytes to be transferred for coordinated move status 4 Fourth field returns the number of bytes to be transferred for axis specific information _ QZ operands Operand Description _QZ0 Holds the number of axes _QZ1 Holds the number of bytes to be transferred for general status _QZ2 Holds the number of bytes to be transferred for coordinated move status _QZ3 Hold the number of bytes to be transferred for axis specific information Examples Galil DMC Code Example QZ standard DMC 4143 example response 4 52 26 36 Galil DMC Code Example ARAV DMC30010 Rev 1 2a QZ 1 18 16 iMG _QZ0 _QZ1 _QZ2 _Qz3 36 1 0000 18 0000 16 0000 36 0000
329. ubnet ng nj n2 n3 to a single 32 bit number n o n ng 2 24 n1 2 16 n2 2 8 n3 e For more information see http www galilmc com techtalk software blocking unwanted ethernet devices from connecting Examples Galil DMC Code Example SM 255 255 255 255 Ignore all incoming Ethernet packets SM 0 0 0 0 Process all incoming Ethernet packets SM applies to DMC40x0 DMC42x0 DMC41x3 RIO0 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SM 263 316 INDEPENDENT MOTION SP Speed Ace SPm n SP n n n n n n n n Usage SPm n__ Arguments specified with a single axis mask and an assignment SPn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The SP command sets the slew speed of any or all axes for independent moves Arguments Argument i Resolution Description m i Axis to assign value Virtual axis to assign value Value of jog speed in For MT settings of 1 1 1 5 and 1 5 Servos See 15 000 000 25 000 cnts second Remarks for Resolution details 3 000 000 Value of jog speed in For MT settings of 2 2 2 5 and 2 5 Steppers See cee cnts second Remarks for Resolution details 0 50 000 000 25 000 2 Value of jog speed in DMC 31000 set to AF gt 5 See Remarks for Resolution cnts second details Remarks e Neg
330. ubtraction Operator Bos 0 no Usage variable valuel value2 Performs an operation between two values or evaluated statements Description PROGRAMMING MATH FUNCTIONS Subtraction operator Takes as arguments any two values and returns a value equal to the difference of the arguments Arguments Argument Min Max Resolution Description no 2 147 483 648 2 147 483 647 1 65 536 Value to subtract from ni 2 147 483 648 2 147 483 647 1 65 536 Value to subtract Remarks e An operator is not a command and is not valid individually e Evaluation occurs left to right Use parenthesis for operator precedence e no and nj may also be variables array elements operands or functions e g SIN Examples Galil DMC Code Example tvarl 10 4 var2 varl 3 MG var2 1 2 0000 Galil DMC Code Example Example var 10 30 60 30 var 10 30 60 30 evaluates as 302 evalutes as 12 It is recommended that parenthesis be used when more than one mathmatical operation is combined in one command 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 9 316 PROGRAMMING SUBROUTINE Label Designator AN gt D Description Denotes the name of a program label For example move Labels are often used to implement subroutines or loops Labels are either user defined or are reserv
331. unless the axis is executing a profiled move at the time of the detection of the encoder failure e If included in the application program and OA is set to 1 POSERR will run when an encoder failure is detected for the axis o Note that for this function to work properly it is recommended to have a non zero value for KI Examples Galil DMC Code Example OAA 1 enable A axis encoder error detection MG _OAA query OA value for A axis Galil DMC Code Example setup setup the encoder error detection OTA 10 Set time to 10 milliseconds OVA 5 Set voltage to 5 OAA 1 Enable encoder detection feature EN Galil DMC Code Example REM POSERR example for checking to see if encoder failure occured REM This procedure is needed because the stop code will only update if REM the profilier is running at the time the encoder failure is detected POSERR a 0 loop IF _MO a 1 IF C_TE a lt _ER a amp _OE a amp _OA a MG possible encoder failure on a Z1 0 axis ENDIF ENDIF a at l JP loop a lt _BV AT ls wait for input 1 to go high SH enable all axes RE OA applies to DMC40x0 DMC42x0 DMC41x3 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control OA 214 316 I0 OB Output Bit E OB n ex Usage OBn Arguments specified with an implicit comma separated order Description The OB command allow
332. uppresses leading zeros o m n Display variable in hexadecimal format with m digits to left of decimal and n to the right o Sn Display variable as a string of length n where n is 1 through 6 If n is greater than the length of the string stored in the variable null chars 0x00 will be inserted at the end of the string o N Suppress carriage return at the end of the message Message Routing MG can override the default CF setting by using the folowing modifiers at the beginning of the message right after MG e Pn Sends the message out the Serial port n where n is 1 or 2 denoting Main or Auxilary where equipped e Ex Sends the message out the Ethernet handle x where x is A B C D E or F Examples Valid uses of n4 argument Galil DMC Code Example Values MG_ 1234 5678 1234 5678 variables var 12345678 9101 MG var 12345678 9101 Operands MG GAN 1 0 0121 Array Elements DM arr 3 arr 0 0 arr 1 1 tarr 2 2 MG arr O arr 1 arr 2 0 0000 1 0000 2 0000 Mathematical Expressions MG 1 2 3 0000 MG arr 2 var 12345680 9101 General Use Galil DMC Code Example MG Good Morning Message command displays ASCII string Good Morning total 1234 5322 Assigns variable total with the value 1234 5322 i The answer is total F4 2 will print the message and the value of variable total formatted with 4 integer digits and 2 fractional digits The answer is 123
333. upt subroutine ST A MG INTERRUPT AM A Stop A print message wait for motion to complete AI l wait for input to switch states before continuing Otherwise we ll jump back in to ININT BG A Begin motion RI 0 Return to main program don t re enable trippoints 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control lI 166 316 ETHERNET IK Block Ethernet ports BCI f IK n Usage IKn Arguments specified with an implicit comma separated order Description The IK command blocks client connections to the controller on most ports below port number 1000 Specific port numbers and ports above 1000 are unaffected Arguments Argument Description Notes n Allow controller to receive Ethernet packets on any port Blocks Ethernet packets on ports lower than 1000 Default Ports 0 23 25 37 68 80 and 502 are unaffected Remarks e A Galil Ethernet controller simultaneusly operates as a server listening for Ethernet connections from a client and a client able to create connections to a server e Ports 0 23 68 and 502 are used for standard client connections to the controller e Port 37 is used for TIME protocol synchronization This mechanism has the controller connect as a client to the TIME server Examples Galil DMC Code Example IK 1 Blocks undesirable port communication IK 0 Allows all Ethernet ports to be used IK applies to DMC40x0
334. urn an error if used to set the IP address Examples Galil DMC Code Example i DH 1 Sets the DHCP function on IA assignment will no longer work DH 0 Sets the DHCP function off and the Boot P function on DH applies to DMC40x0 DMC42x0 DMC41x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control DH 122 316 PROGRAMMING DL Download SEIN DL Usage DL Command takes no arguments Description The DL command transfers a data file from the host computer to the controler Instructions in the file will be accepted as a data stream without line numbers The file is terminated using lt control gt Z lt control gt Q lt control gt D or Arguments The 30010 loads the program directly to flash and does not accept line numbers or label indicators as arguments Downloading to flash overwrites the entire program currently in flash Remarks Do not insert spaces before label declarations _DL gives the number of available labels On the DMC 30010 DL is not valid while running and will cause a TC code of 7 Command not valid while running During a program download the servo will disable for a brief period roughly 300ms This can be prevented by first issuing an MO This is not applicable to stepper motors Maximum program dimensions are o 1000 lines by 80 characters for firmware revisions 1 2a and greater o 1000 lines by 40 characters for f
335. utdown axis MG SERERR MG _SSA REM disable axis A OEA 1 ERA 0 REM disable axis serial encoder SSA 0 RE SERERR applies to SER 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SERERR 20 316 TCPERR Ethernet communication error automatic subroutine ae Description SUBROUTINE Automatic subroutine which allows execution of user code when an TCP error event occurs TCPERR allows the application programmer to run code for example to reestablish the connection when error code 123 occurs Arguments Label must be the first element on a line of code Remarks e Use RE to exit this subroutine e Error code 123 TCP lost sync or timeout occurs when a message is sent out a handle and no acknowledgement is received o When this occurs the handle the message was sent out is closed o TCPERR can be used to reestablish the handle e Code does not need to be running in thread 0 for TCPERR to run Examples Galil DMC Code Example loop MG EA L wT 1000 JP loop TCPERR MG P1 TCPERR Dropped handle _IA4 RE Galil DMC Code Example example of reestablishing connection after TCPERR main IHE 192 168 1 30 connect to 192 168 1 30 wT 100 wait for handle to be established ipe _IHEO save IP for reconnection use a connection counter loop endless message loop wT 1000 JP loop EN TCPERR IHE gt 3 make sure handl
336. value or evaluated statement and returns a value Description The REAL operation returns the Galil 4 2 equivalent of a 32 bit floating point number Arguments Argument __Min__ Max Default_ Resolution Description Notes n 2 147 483 648 2 147 483 647 32 bit floating point number to convert to Galil 4 2 integer Remarks e REAL is an operand not a command It can only be used as an argument to other commands and operators e A useful utility for determining the 32 bit floating point value for a given fractional number can be found here http babbage cs qc cuny edu IEEE 754 index xhtml Examples Galil DMC Code Example MG FLOT 2 5 8 0 40200000 MG REAL 40200000 2 5000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control REAL 43 316 MATH FUNCTIONS RND Round SIE RND n Usage variable RND value Performs a function on a value or evaluated statement and returns a value Description The RND operation rounds the given number to the nearest integer Arguments Argument Min Max Default Resolution Description n 2 147 483 648 2 147 483 647 N A 1 65 536 Value to use in rounding operation Remarks e FRAC is an operand not a command It can only be used as an argument to other commands and operators e The sign of the number input to the operation will be maintained in the rounded output
337. ve the jumper after this procedure Arguments ARAS has no parameters Remarks e Sending a R S over an Ethernet connection will cause the IP address to be cleared from the controller and will result in a timeout ASCII Values Examples Galil DMC Code Example f REM Example burns in a non default value for KP does a standard reset with REM the RS command then performs a master reset with ARAS IKP 6 00 KP 10 BN IRS KP 10 00 ARAS IKP 6 00 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ARAS 51 316 INTERROGATION ARAV Revision Information Ell N R V Usage R v_ Command takes no arguments Description The Revision Information command causes the controller to return the firmware revision information Arguments ARAV has no arguments Remarks e Do not use symbols to send R V command symbols denote using the control Ctrl key when pressing the characters ASCII Values Examples Galil DMC Code Example ARAV DMC30010 Rev 1 0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ARAV 52 316 ECAM GEARING OPERAND ONLY _G P Gearing Phase Differential Operand SIE GPm Usage _ variable _GP Operand has special meaning see Remarks Description The _GP operand contains the value of the phase differential accumulated on the
338. ves backward and crosses the position specified Arguments Argument i Max Resolution Description m A A Axis Axis to assign value Value of position that must be crossed in the reverse i 2 147 483 648 147 483 647 i direction Remarks e MR command references absolute position e Although multiple positions can be specified only one of the MR conditions must be satisfied for subsequent code execution e The MR command only requires an encoder and does not require that the axis be under servo control e The accuracy of the MR command is the number of counts that occur in 2 TM usec Multiply the speed by 2 TM usec to obtain the maximum error o Example with speed of 20 000 counts second and TM of 1000 1000 us Maximum error 2 1000 E 6 seconds 20 000 counts second 40 counts When using a stepper motor this condition is satisfied when the stepper position as determined by the output buffer TD has crossed the specified reverse motion position Examples Galil DMC Code Example test Program Test DP 0 Define zero JG 1000 Jog mode speed of 1000 counts sec BG A Begin move MR 3000 After passing the position 3000 vl _TPA Assign V1 A position MG Position is v1 Print Message sr 5 Stop EN End of Program MR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control MR
339. will be off by 2 4 of the actual time If a higher sampling frequency is required please contact Galil The minimum allowed TM setting for the controller is listed in the tables below The following commands are automatically scaled to adjust for changes in sample time o AC AS AT DC FA o000000008080Ud0MWUUCMOGUUCOUUCOOUCOOUCOOlUCO 2 Ww o WT e The folowing commands are NOT automatically scaled to adjust for changes in sample time o BW DR DT IT KD KI TIME TK TV TW e For more infomation see o http www galilmc com techtalk motion controllers time based commands on accelera controllers 125 Examples Galil DMC Code Example T 1000 Turn off internal clock T 2000 Set sample rate to 2000 msec T 1000 Return to default sample rate o o 0o0o0o0o0 0o0o0 TM applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TM 288 316 INTERROGATION TP Tell Position Baca S TP mm Usage TPmm Argument is an axis mask Operand has special meaning see Remarks Description The TP command returns the current position of the motor Arguments Argument Min Default Resolution Description Notes mm A A Multi Axis Mask Axis to report motor position Remarks e _TPm contains the current position value for the specified axis e Omitting mm returns t
340. x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LI 186 316 INTERROGATION LL List Labels BEI LL Usage LL Command takes no arguments Description The LL command returns a listing of all of the program labels in memory Arguments LL is an interrogation command with no arguments Remarks e The LL command label listing will be in alphabetical order e The LL command returns all of the program labels in memory and their associated line numbers Examples Galil DMC Code Example TLE 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LL 187 316 VECTOR LINEAR LM Linear Interpolation Mode ae Usage iMmm Argument is an axis mask Operand has special meaning see Remarks Description The LM command specifies the linear interpolation mode and specifies the axes for linear interpolation Arguments Argument Min Max Default Resolution Description mm A A N A Multi Axis Mask Axis to use for linear interpolation mode Remarks Any set of axis may be used for linear interpolation LI commands are used to specify the travel distances between various linear interpolation moves Several LI commands may be given as long as the controller sequence buffer has room for additional segments o See the LI command for more information regarding the
341. xis MG DONE Print message EN End of Program J MCTIME Motion Complete timeout Subroutine MG Motion Timeout Print failure message SC Print stop codes EN End subroutine MC applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control MC 195 316 ETHERNET ME Modbus arra y write enable SILI 5 ME n Usage MEn Arguments specified with an implicit comma separated order Description The ME command enables the ability for Modbus masters to write to array locations in the hardware s array table When enabled array locations can be written to as 16 bit integers or as 32 bit floating point by a modbus master by specifying different address ranges ME is not required to read array locations reads are always supported Arguments Argument Description n Disables the ability for Modbus masters to write to the array table Default Enables ability for Modbus masters to write to the array table Remarks e The function code used to read arrays can be modified by MV Galil recommends MV 1 when using array read write functionality This makes function code 3 the default read command e Array writes when enabled by ME are done using function code 16 Galil Modbus supports one master per slave e A useful utility for determining the 32 bit floating point value for a given frac
342. y axis where output compare is active e The operand _DEm as well as _TDm holds the current aux encoder position e n will return the encoder position as returned by TD Examples Galil DMC Code Example o oe DE 0 Set the current auxiliary encoder position to 0 on A axis DE Return auxiliary encoder positions i duala _DEA Assign auxiliary encoder position of A axis to the variable duala DE applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control DE 120 316 SYSTEM CONFIG DF Dual Feedback DV feedback swap BAR L DF n n n n n n n n Usage DFn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The DF command allows configuration of BiSS or SSI feedback in Dual Loop mode as the load encoder For users wishing to operate with SSI or BiSS in Dual Loop mode DV the DF command can be used to configure a load side serial encoder and a motor side incremental encoder with DV1 Arguments Argument Description Notes n Disable feedback swap Default Enable feedback swap Remarks e Wire the motor s incremental encoder per normal to the DMC 4xxx main encoder inputs The load SSI encoder should be wired to the axis aux encoder lines SSI Signals for DMC 4xxx Nominal Signal Name Signal Reassign
343. y of the MF command is the number of counts that occur in 2 TM sec Multiply the speed by 2 TM sec to obtain the maximum error o Example with speed of 20 000 counts second and TM of 1000 1000 us Maximum error 2 1000 E 6 seconds 20 000 counts second 40 counts When using a stepper motor o This condition is satisfied when the stepper position as determined by the output buffer TD has crossed the specified Forward Motion Position Examples Galil DMC Code Example test Program Test DP 0 Define zero JG 1000 Jog mode speed of 1000 counts sec BG A Begin move MF 2000 after passing the position 2000 v1l _TPA Assign V1 A position MG Position is v1 Print Message ST A Stop EN End of Program MF applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control MF 198 316 INTERROGATION MG Message BALI L str no n Usage MGn Arguments specified with an implicit comma separated order Description The MG command is used to send strings operands variables and array values to a specified destination Arguments Argument Value Description Notes str String A string including alphanumeric characters to be displayed Limited to 76 characters no ASCII character in decimal Allows users to print ASCII characters Range of 0 255 ni Numeric value Prints
Download Pdf Manuals
Related Search
Related Contents
Frigidaire 318201679 (0903) Range User Manual 取扱説明書 - 三菱電機 Operating Instructions Brochure LMDE 2015-2016 System Generator for DSP User Guide ヒューマリンR注カート ヒューマリンR注ミリオペン Copyright © All rights reserved.
Failed to retrieve file