Home

AMPERR Amplifier error automatic subroutine

image

Contents

1. 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 save 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 5
2. Description This command will hold up the execution of subsequent code specified motor moves backward and crosses the position specified Arguments Argument i Max Resolution Description m A H 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
3. 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 Reassignment 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 123 313 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
4. AV no Ny1 Usage AVN Arguments specified with an implicit comma separated order Operands ae Operand has special meaning see Remarks Description The AV command 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 Default Resolution Description 2 a aes 647 0 Vector distance to be executed in the S coordinate system a 2 147 483 647 E Vector distance to be executed in the T coordinate system i 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 e _AVT contains the vector distance from the start of the sequence in the T coordinate system Examples Galil DMC Code Example move Label DP 0 0 CAT Specify the T coordinate system LM AB Linear move for A B LI 1000 2000 Specify distance LI 2000 3000 Specify distance LE BG T Begin motion in the T coordinate system AV 500 After path distance 500 MG Path gt 500 TP AB 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
5. 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 155 313 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 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 coefficients to 10 and 20 for A and B respectively This effective bias will be 0 366 volts for A and 1 95 volts for B FVv 10 20 JG 30000 80000 MG _FVA _FVB 10 20
6. Controller will pause program execution when hardware handshaking disables character transmissions Controller will continue program execution when hardware Default Output characters will be lost if serial buffer handshaking disables character transmissions is full 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 CWw2 Cw 2 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 119 313 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
7. 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 motor runaway condition Positive feedback can be corrected by switching motor polarity or by reversing the direction of both encoders e DV must be
8. 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control QZ 244 313 PROGRAMMING RA Record Arra y I SIL 4 RA str str str str 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 interr
9. e Outputs 1 8 are used for Axes A H where output 1 is the brake for axis A and output 2 is the brake for axis B and so on Examples Galil DMC Code Example Bw 100 Set brake delay to 100 ms 17M1000 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 313 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 with 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 unin
10. 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 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 AL 12 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 226 313 P2CD serial port 2 code BIE P2CD Usage _ variable P2CD P2CD Operand has special meaning see Remarks Description P2CD returns the status of the auxiliary serial port port 2 The value of P2CD returns zero after the corresponding string or number is read Arguments P2CD is an operand that holds a value cooresponding to status See Examples for use in code Remarks e P2CD contains the following status codes P2CD Status Codes Status Code Meaning Mode disabled Nothing received Received character but not carriage return received a string not a n
11. 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 THC AVAILABLE IHD AVAILABLE IHE AVAILABLE WH IHA Main handle is A IMG _CF 66 0000 Unsolicited handle 66 is ASCII for B CF applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control CF 111 313 SYSTEM CONFIG CI Configure Communication Interrupt SIE CI n 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 2 the AUX 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 P2CH P2ST P2NM P2CD Arguments Argument Vale Description Notes n a Clear iterrupt data buffer Do
12. 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 L n Abort motion only Remarks e _AB gives state of Abort Input 1 inactive and 0 active e AB aborts motion on all axes in motion and cannot stop individual axes Examples Galil DMC Code Example AB Stops motion 0E 1 Enable off on error on axes 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 2015 Galil Motion Control Corrections Feedback documentation galilmc com AB Shuts off motor command and stops motion Galil DMC Code Example otherwise your application program will also be abo
13. Description SA sends a command and optionally receives a response from one controler to another via Ethernet Arguments Argument Min Max Resolution Description A H Handle Handle to specify for message output 1 char 74 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 command KI1 2 o SA automatically adds commas between two number values being sent e There is a 78 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
14. Examples Galil DMC Code Example DM pets 5 dogs 2 cats 3 Define dimension of arrays Pets with 5 elements Dogs with 2 elements Cats with 3 elements DM tests 1600 Define dimension of array Tests with 1600 elements Galil DMC Code Example roo firmware revisions prior to Rev 1 2a only have 16000 elements DM myarray 1000 DM 23000 DMC 4xxx provides length of array with array 1 MG MyArray contains myarray 1 elements MyArray contains 1000 0000 elements 2015 Galil Motion Control Corrections Feedback documentation galiimc com Galil Motion Control DM 126 313 SYSTEM CONFIG DP Define Position BIC TRL 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 Operands _DPm 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 H Axis Axis to assign value M N i Virtual axis to assign value 2 147 483 647 Value assigned to motor commanded position RP and TP registers 2 147 483 647 Value assigned to step commanded position RP and TD registers 2 147 483 648 2 147 483 64
15. 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 156 313 ECAM GEARING GA master Axis for Gearing I AT j 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 ratios are specified with the GR command and gearing is turned off by the command GRO Arguments Argument Min Max Default Resolution Description ___ Notes mo A A E E ax to_assign master__ mO lt gt m H Master axis main encoder as the slave s master CA CH Master axis commanded position as
16. 2 5 22 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 For MT 1 1 1 5 and 1 5 6 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 Argument Value o 1 Remarks Description Notes Specifies vector speed to be set by Vector Speed Variable VV command See VV command For MT 2 2 2 5 and 2 5 e The CA command is used to set the coordinated system S or T for which an LI segment is executed The default is the S coordinate system CAS e The controller always uses the axis specifications from LM not LI to compute the speed o For exampk 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 mode For exampke if LM ABC designates linear interpolation for the A B and C axe
17. 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 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ET 149 313 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
18. 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 handle 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 res
19. 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 313 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 reserved names called automatic
20. 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 5461 0000 REM Trippoint REM 5463 0000 REM 6464 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control JP 179 313 PROGRAMMING JS Jump to Subroutine I AN j JS str arg arg arg arg arg arg arg arg ex JS n arg arg arg arg arg arg 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 str 7 chars String Must be a valid label in application code Firmware Rev 1 2a and later May be a value or a variable but not an evaluated statement with parenthesis Line number for jump May be a value or a variable but not an destination evaluated statement with parenthesis Conditional statement s that must evaluate true for jump If omitted the jump is taken to occur A value variable or array to referenced from within the subroutine as a h pass to the subroutine being respectively See Remarks for a table of valid called args Line number for jump 3 999 destination R
21. 12 1000 4096 Reserved 13 2000 8192 DB 219 Application program stopped _XQn 1 14 4000 16384 DA 218 Reserved 15 8000 32768 E1 E8 225 232 Digital input s 1 8 low use n2 for mask UI user interrupt F0 FF 240 255 User Interrupt See UI command command n2 Bit Mask Input Sin bit 2 bit hex decimal Status Byte hex decimal Condition so 1 E1 225 Digital input 1 is bw IN 1 0 02 2 E2 226 Digital input 2 is bw IN 2 0 04 4 E3 227 Digital input 3 is bw IN 3 0 08 8 E4 228 Digital input 4 is low IN 4 0 10 16 E5 229 Digital input 5 is bw IN 5 40 64 E7 231 Digital input 7 5 low IN 7 Sa Motion Control El 138 313 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 dig
22. 25 bits total all single turn no status 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 Sl 261 313 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 lines 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 313 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 controle
23. 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 all 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 120 313 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
24. 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 KSC 8 Explicit notation to set C KS 8 Implicit notation to set C KS 222s Return A B C D values 7 14 8 20 KSe 23 Return C 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 186 313 PROGRAMMING INTERROGATION LA List Arrays Se 5 LA Usage LA 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
25. 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 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
26. 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 bx_i 1000 increase pulse time on failure ENDIF RE BX applies to DMC40x0 DMC4 1x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BX 103 313 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 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
27. Allows users to print ASCII characters Range of 0 255 ni Numeric value Prints 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
28. 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 BGA AM A wT 100 Allow for settling REM Checking that KI has eliminated error TE would be more thorough DP 0 Zero position MG A Homed Report status EN End of program Galil DMC Code Example REM manual find index using latch off of index pulse using varible axes index settings a 0 axis number slspd 10000 stage 1 speed s2spd 1000 stage 2 speed Galil Motion Control AL 73 313 jog until index is latched JG a slispd BG a wT 1000 AL T a a JP a _Al a 1 ST a AM a Return to latched position SP a s2spd PA _RL a BG a MC a JS stl DP a 0 EN wait for axis to settle stl WT 2 JP st1 ABS _TE a gt 2 WT 2 JP st1 ABS _TE a gt 0 wT 2 JP stl1 ABS _TE a gt 0 EN 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 74 313 TRIPPOINT AM After Move SIN LHS 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 m
29. Corrections Feedback documentation galilmc com Galil Motion Control YC 309 313 STEPPER MOTOR YR Error Correction AER LSS 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 H 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 B axis QS B 253 This shows 253 step counts of error Correct for the error YRB _QSB The motor moves _Q
30. ER 1000 Sets the B axis error limit to 1000 leave the A axis error limit unchanged ER Return A B C and D values 00200 00100 00400 00600 ER Return A value 00200 ivl _ERA Assigns V1 value of ERA vl Returns V1 00200 ER applies to DMC40x0 DMC42x0 DMC4 1x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com ER 200 300 400 600 Set the A axis error limit to 200 the B axis error limit to 300 the C axis error limit to 400 and the D axis error limit to 600 Galil Motion Control ER 147 313 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
31. EW 150 313 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 Examples Galil DMC Code Example MG _EY _EMB _TPB print absolute position of master Y EY applies to DMC40x0 DMC42x0 DMC41x3 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control EY 151 313 FILTER CONTROL FA Acceleration Feedforward I wA BAR LIS FAm n FA n n n n n n n n Usage FAam 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
32. Galil Motion Control QD 238 313 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 ABCDEFGH ABCDEFGH Multi Axis Mask Axes 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 Usage e _QHm Contains the state of the Hall sensor inputs for the specified axis Examples Galil DMC Code Example QH A Query the A axis Hall state var _QHB Set a variable var equal to the B axis Hall state Galil DMC Code Example QH A Query A axis Hall status 7 TA 13 Check for Hall errors in
33. See Remarks n the PL command 0 disables the Pole filter Value used to generate poke filter See Remarks for the equation used n 0 0 2233 9 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 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 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 B axis to 0 9 C axis to 0 8 D axis pole to 0 822 PL 95 9 8 822 Query all Pole values PL 7 7 0 9527 0 8997 0 7994 0 8244 Return A Pole only PL 0 9527 PL applies to DMC40x0 D
34. 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 BW Parameter ce Bwci Brake Wait Timing Diagram Arguments Argument Min Max Default Resolution Description Notes pom a a fna _ fas __ Axstoassgnvaue n n o 40 o a Specify brake wait time in samples 0 Turn brake function off Remarks e The Brake Wat 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
35. after the move is complete on C BG D Start the D axis AM D after the move is complete on D 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 75 313 ETHERNET IO AO Analog Output BIE 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 Set Analog Output on Modbus See Using AO with a Modbus Slave in Slave Remarks en a O Remarks Using AO with a Modbus Slave e RIO as Modbus Slave e 3rd Party Modbus Slave Device e ng is the J 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 Moduke is the position of the module in the rack from 1 to 16 o BitNum is the T 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 AO applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AO 7
36. 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 e The ES command wil apply to the selected coordinate system S or T To select the coordinate system use the command CAS or CAT Examples Galil DMC Code Example VM AB ES 3 4 Divide B resolution by 4 3 VM CA ES 2 3 Divide A resolution by 3 2 VM AC ES 3 2 Divide A Resolution by 3 2 Note ES must be issued after VM 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 148 313 ECAM GEARING ET Electronic cam table a 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
37. 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 m i Axis to configure for BiSS Each axis has a dedicated BiSS port 1 0 None 1 Main encoder 2 Aux encoder no 0 Position register to use ni Number of Data bits The sign of nj sets position mode 2 n2 Number of Data bits n3 Number of zero padding bits Clock divier defines MA frequency C 1 See the Appendices for SSI and BiSS Absolute Encoder Option in the DMC 4000 user manual o http www gali com downloads manuals and data sheets BiSS is supported on the ICM 42000 and ICM 42200 interconnect modules o 2 The firmware will use the position data in one of two mode
38. 0 Over Temperature E H Axes 2 Hall Error G Axis 1 Peak Current G Axis 0 Over Voltage E H Axes 1 Hall Error F Axis 1 Peak Current F Axis 0 0 0 0 OJN 5 4 Over Current E H Axes 3 Hall Error E Axis 1 Peak Current E Axis Under Voltage A D Axes 2 Hall Error D Axis 1 Peak Current D Axis Over Temperature A D Axes 1 Hall Error C Axis 1 Peak Current C Axis Over Voltage A D Axes 1 Hall Error B Axis 1 Peak Current B Axis ELO Active E H Axes 4 Over Current A D Axes 3 Hall Error A Axis 1 Peak Current A Axis ELO Active A D Axes 4 1 Valid for AMP 43040 D3040 AMP 43240 D3240 amp AMP 43540 D3540 2 Valid for D3040 D3240 D3540 amp Valid for SDM 44140 D4140 3 Valid for D3040 D3240 D3540 D4140 amp Valid for SDM 44040 D4040 4 Valid for D3040 D3240 D3540 D4140 D4040 amp Valid for AMP 43140 D3140 amp AMP 43640 D3640 No FPIN WIBRILOIOAIN m Oo Remarks 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 Galil DMC Code Example TA L 5 Hall error for axis A and C Galil DMC Code Example TA 1 1 bit O means Hall error for A axis TA 0 8 bit 3 means under voltage error for amp
39. 1 2a and later Default n is the last line of begin editing program space with commands on fo 1 999 Default n is the last line of program space with commands begin editing Remarks e The commands in the Edit subsystem are the following ED Commands Key Combination Function lt ctril gt D Deletes a Line lt ctri gt I Inserts a line before the current lt ctri gt P Displays the previous line lt ctrl gt Q Exits the ED subsystem Enter Saves a line and moves cursor to next Operand Usage _EDO contains the line number of the last line to have an error _ED1 contains the number of the thread where the error occurred for multitasking _EDO returns 0 if no error has occurred _ED1 returns 1 if no error has occurred o Wil return 1 if no error has occurred _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 determine which thread it is running in See example below Examples Galil DMC Code Example ED START PR 2000 BGA xx bad command line EN Sie Routine which occurs upon a command error V _ED MG An error has occurred n MG In line V F3 0 ST zs0 EN ctr1 Q Hint Remember to quit the Edit Mode prior to executing or listing a program 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 id 7 id MG Z10 0 This message is from
40. 1000 2000 Specify vector position 1000 2000 2000 4000 Specify vector position 2000 4000 1000 0 360 Specify arc Galil Motion Control VM 297 313 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 298 313 VP Vector Position SEI VP no n lt 0 gt p VECTOR LINEAR 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 of 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 22 000 000 6 000 000 22 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
41. 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 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 140 313 ECAM GEARING EM Ecam modulus Acs 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 field for the master axis is the cycle of the master position For the slaves the field defines the net change in one cycle Arguments Argument i Max Default Resolution Description Notes m H N A Axis Axis to assign value n 8 388 607 N A 1 Position change over one full ECAM cycle For defining master axis 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
42. 240 313 INTERROGATION QR IO Data Record Aon OR mm QR Usage QRmm___ Argument is an axis mask Description The QR command causes the controller to return a record of information regarding controller 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 Multi Axis Axes Coordinated IO data specified to If no argument entered mm le ABSDEFGHS II ABCDEFGHSTI display in the data record ABCDEFGHSTI Argument Value Description Notes mm AH_____ Output axes A H data record block Sf Output coordinated axis S data block _ Tf Output coordinated axis T data block _ T Output General 1O data bock 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 only Return the data record with B axis block and I0 block Return the data record with S and T coordinated axis blocks Return the data record for all axes including IO and S and T axis blocks QR applies to DMC4
43. 511 segments may be given before the Begin Sequence BGS or BGT command The number of available segments is queriable via the _LMm operand Arguments Argument i Resolution Description First axis specified for mo A vector motion Second axis specified for mi vector motion Virtual axis specified for Used when performing vector mode for a single real vector mode axis Tangent axis specified for m2 null if tangent mode is not desired vector mode Virtual axis specified for Used to disable the tangent function if already vector mode enabled Otherwise use m2 null 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 The VM command will apply to the selected coordinate system S or T To select the coordinate system use the command CAS or CAT _VMm contains instantaneous commanded vector velocity for the s
44. CD Contour Data 109 CE Configure Encoder 110 CF Configure Unsolicited Messages Handle 111 Galil Motion Control Table of Content 3 313 Cl Configure Communication Interrupt 112 CM Contour Mode 113 CN Configure 114 CO Configure Extended I O 115 CR Circle 116 CS Clear Sequence 118 CW Copyright information and Data Adjustment bit on off 119 DA Deallocate Variables and Arrays 120 DC Deceleration 121 DE Dual Auxiliary Encoder Position 122 DF Dual Feedback DV feedback swap 123 DH DHCP Client Enable 124 DL Download 125 DM Dimension Array 126 DP Define Position 127 DR Configures O Data Record Update Rate 128 DT Delta Time 129 DV Dual Velocity Dual Loop 131 EA Choose ECAM master 132 EB Enable ECAM 133 EC ECAM Counter 134 ED Edit 135 EG ECAM go engage 137 El Event Interrupts 138 ELSE Else function for use with IF conditional statement 140 EM Ecam modulus 141 EN End 142 ENDIF End of IF conditional statement 143 EO Echo 144 EP Cam table master interval and phase shift 145 EQ ECAM quit disengage 146 ER Error Limit 147 ES Ellipse Scale 148 ET Electronic cam table 149 EW ECAM Widen Segment 150 EY ECAM Cycle Count 151 FA Acceleration Feedforward 152 FE Find Edge 153 Fl Find Index 154 FL Forward Software Limit 155 FV Velocity Feedforward 156 GA Master Axis for Gearing 157 GD Gear Distance 158 GM Gantry mode 159 GR_ Gear Ratio 160 HM Home 161 HS Handle Assignment Switch 162 HV Homing Velocity 163 HX Halt Execution 164 IA IP A
45. CONTROL TW Timeout for Mc trippoint Baca ARON TWm n TW n n n n n n n n Usage TWm 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 s
46. 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 190 313 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 _LEn will return the total move length in encoder counts for the selected coordinate system where n is S or T If not spcified the LE command wil apply to the last selected coordinate system S or T To select the coordinate system use the command CA S or CAT The VE command is interchangeable with the LE command LE Returns the total vector move length in encoder counts for the current coordinate system Examples Galil DMC Code Example CA S3 Specify S coordinated motion system LM CD Specify linear interpolati
47. Control Corrections Feedback documentation galilmc com Galil Motion Control WH 304 313 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 used 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 Correct
48. 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 ECAM 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 134 313 PROGRAMMING ED edit BIERA N ED n Usage EDn Arguments specified with an implicit comma separated order Operands _ED1 Operand has special meaning see Remarks _ED4 Description 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 eee mee eS e eee eee 3 999 see Notes Line number to Firmware Rev
49. 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 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 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 1
50. Defaut Resolution Description Notes _ Om a n o Ave Axbtoassgnveke O n Jo 9 9982 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 AMP 430x0 2 1 0 A V AMP 43240 2 2 0 A V AMP 43540 2 1 6 A V AMP 43640 N A 0 2 A V Examples Galil DMC Code Example TL 1 5 9 7 5 Limit A axis to 1 volt Limit B axis to 5 volts Limit C axis to 9 volts Limit D axis to 7 5 volts TE 2 2 Return limits 1 0000 5 0000 9 0000 7 5000 TL Return A axis limit 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 281 313 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 No
51. Description Notes Determines state of interrupted trippoint 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 248 313 PROGRAMMING REM Remark ANAN REM str Description REM is used for comment lines The REM statement is NOT a controller command Ra
52. 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 specified 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 A Sets the A axis as the gearing master for the B axis GD 5000 Set distance over which gearing is engaged to 5000 counts of the master axis JG 5000 Set the A axis jog speed to 5000 cts sec BG A Begin motion on the A axis AS A wait until A axis reaches the set speed of 5000 counts sec GR 1 Engage gearing on the B axis with a 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 0 Disengage the gearing between the B axis slave and the master The gearing will be disengaged over the number of counts of the master specified w
53. Galil DMC Code Example Dimension two arrays Zero the contents of each array JS zeroaryC arrayl 0 JS zeroaryC array2 0 Zero the contents of an array zeroary Aa array Ab starting index JP zeroary Ab lt Aa 1 j 1 loop offset spell i JS offset i i 1 JP loop i lt 3 EN spell MG One EN MG Two EN MG Three EN REM One REM Two REM Three Galil DMC Code Example REM Using dynamic destinations in a jump table Counter calculate offset Jump to offset Increment Counter Loop through 3 states Subroutine containing various words Prints One if this line is called i 1 Prints Two if this line is called i 2 Prints Three if this line is called i 3 REM Controller responds with 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control JS 182 313 FILTER CONTROL KD Derivative Constant i nwa ATs j 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 Descrip
54. Galil Motion Control AUTO 12 313 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 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
55. Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control 23 313 SUBROUTINE amp JS subroutine pass variable by reference I SIN 5 JS str0 amp str1 amp str1 amp strl1 amp str1 amp str1 amp strl1 amp str1 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 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
56. Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control MR 208 313 SYSTEM CONFIG MT motor T ype BERLU S 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 H N A Axis Axis to assign value Argument Description Notes n Servo motor Default Servo motor with reversed polarity Setting invalid for Galil sine drives PW M Sign servo drive PW M Sign servo drive with reversed polarity Step motor with active low step pulses Step motor with active high step pulses Valid setting for all Galil SDM stepper drives Step motor with reversed direction and active low step pulses Step motor with reversed direction and active high step pulses Valid setting for all Galil SDM stepper drives Remarks e n wil return the value of the motor type for the specif
57. Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control NB 213 313 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 Set 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 mi
58. Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control NZ 216 313 ERROR CONTROL OA offon encoder failure ARON OAm n OA n n n n n n n Nn 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 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 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 wo
59. If increasing o doesn t help invert the encoder direction with CE If BZ 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 BZ Invert the encoder direction with CE if that hasn t been attempted uo Examples Galil DMC Code Example a REM Commutation with a sinusoidal internal amplifier 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 Galil DMC Code Example BZ 3 Drive B axis to zero phase with 3 volt signal and end with motor enabled Galil DMC Code Example BZ 2 Drive A axis to zero phase with 3V torque and end with Motor off Galil Motion Control BZ 104 313 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 313 VECTOR LINEAR CA Coordinate Axes a Aco Usage CA mm Argument is an axis mask Operands _CAm Operand has special meaning see Remarks Description The CA command specifies the coordinate system to apply proceeding vector commands The following commands apply to the active coordi
60. 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 4522 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 documentation galilmc com Galil Motion Control BM 93 313 SYSTEM CONFIG BN Burn lt A 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 Operand Usage e _BN contains the serial
61. Motion Control Corrections Feedback documentation galilmc com Galil Motion Control IH 170 313 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 N A 1 Highest input to use for interrupt trigger n4 must be gt no If omitted ni n 0 Use bitmask as alternative selection of If no and nq used n is ignored see Bitmask specifying required input state for Default interrupt triggers on low n3 0 255 0 1 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
62. 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 301 313 VECTOR LINEAR VS vector Speed BAs g VSm n VS n n Usage VSm 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 22 000 000 25 000 2 Vector speed 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 lin
63. 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 Control Corrections Feedback documentation galilmc com Galil Motion Control gt 66 313 PROGRAMMING AB Abort BIE AB Usage ABn
64. Operands _CN2 Operand holds the value last set by the command _CN3 _CN4 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 Arguments Argument Description no Limit switches active high Limit switches active low Default HM wil drive motor forward when Home input is high See HM and FE commands HM wil drive motor backward when Home input is high See HM and FE commands ni 1 Default n2 1 Latch input is active high 1 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 1 A B C D E F G and H respectively if program is running n Abort input will not terminate program execution Abort input will terminate program execution Default Remarks e n is useful for testing the operation of the LIMSWI automatic subroutine See example below Examples Galil DMC Code Example CN Laig Sets limit and home switches to active high CN 1 Sets input latch active low Galil DMC Code Example _ REM nO is useful for testing 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 LIMSwWI Automatic sub w
65. Position command BG A Begin motion AM A wait for motion complete MG MOVE DONE Print Message EN End Program IN applies to DMC40x0 DMC42x0 DMC21x3 RIO0 DMC18x6 DMC18x2 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control IN 174 313 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 M 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
66. 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 22 000 000 25 000 Value of jog speed in For MT settings of 1 1 1 5 and 1 5 Servos See cnts second Remarks for Resolution details 6 000 000 Value of jog speed in For MT settings of 2 2 2 5 and 2 5 Steppers See ee cnts second Remarks for Resolution details 0 50 000 000 25 000 2 Vale of jog speed in ICM 42100 with AF gt 5 See Remarks for Resolution cnts second details Remarks e Negative 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 1 For vector moves use the vector speed command VS to change the speed SP is not
67. 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 6 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 specified 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 The VM command wil apply to the selected coordinate system S or T To select the coordinate system use the command CAS or CAT _VPm where m axis designator A B C D E F G or H and contains the absolute coordinate of the
68. TM command is 1000 With this update rate the operand TIME will 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 279 313 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
69. Usage variable P2NM P2NM Operand has special meaning see Remarks Description P2NM returns the last number followed by carriage return sent to auxilary serial port port 2 Arguments P2NM 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 t o Numbers from 2147483648 to 2147483647 can be processed Examples Galil DMC Code Example ARAV DMC2240 Rev 1 00 ARAS cc 9600 0 0 0 MG TEST P2 send a message to the hand terminal x P2NM the 1 2 3 buttons were pushed MG X 123 0000 P2NM applies to DMC40x0 DMC42x0 DMC41x3 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control P2NM 229 313 OPERAND ONLY P2ST Serial port 2 string SIE P2ST Usage _ variable P2ST P2ST Operand has special meaning see Remarks Description P2ST returns the last string followed by carriage return sent to auxiliary serial port port 2 Arguments P2ST is an operand that contains a string See Examples for usage Remarks e No more than 6 characters can be assessed by this operand Examples Galil DMC Code Example cc 9600 0 1 0 MG TEST P2 send a message to the hand terminal MG P2ST S3 the characters ABC were entered ABC P2ST applies to DM
70. 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 313 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 timing 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
71. 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 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
72. 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 erasing 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 253 313 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
73. are reversed quadrature Remarks e When using a servo motor changing the CE type can cause the motor to run away e 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 Examples Galil DMC Code Example CE 0 3 6 2 Configure encoders CE 2 8 ee Interrogate configuration 0 3 6 2 iV _CEB Assign configuration to a variable iv 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 110 313 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 i S Handle Ethernet Handle to assign as unsolicited See Remarks message port I I S Handle Set the port that sent the command as the Not valid in program unso
74. 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 OF 1 2 3 5 Set A axis offset to 1 the B axis offset to 2 the C axis to 3 and the D axis to 5 OF 3 Set A axis offset to 3 Leave other axes unchanged OF 0 Set B axis offset to 0 Leave other axes unchanged OF Return offsets 3 0000 0 0000 3 0000 5 0000 OF Return A offset 3 0000 OF Return B offset 0 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control OF 223 313 OP Output Port EE f OP no ny1 N2 10 Description Usage OP n Arguments specified with an implicit comma separated order _OPO Operands _OP1 Operand holds the value last set by the command _OP2 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 Resolution Description Notes no Decimal representation General On a 1 4 axis controller max is 255 FF Outputs 1 16 for outputs 1 8 only ni Decimal represe
75. 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 Operand 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
76. 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 return to tracking logic 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control CMDERR 14 313 PROGRAMMING SUBROUTINE F COMINT communication interrupt automatic subroutine SN 5 COMINT Description Automatic subroutine to provide interrupt driven communications from
77. encoder input When operating with stepper motors the TD command returns the number of counts that have been output by the controler Arguments Argument Min Max Default Resolution Description Notes mm A ABCDEFGH ABCDEFGH Multi Axis Mask Axes 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 Return A B C D Dual encoders 200 10 0 110 Return the A motor Dual encoder Assign the variable DUAL the value of TDA TD applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TD 275 313 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 Max Default Resolution Description Notes mm A ABCDEFGH ABCDEFGH Multi Axis Mask Axes to report position error Remarks e Under normal operating conditions with servo control the position error should be small The pos
78. 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 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 162 313 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 H
79. galimc com Galil Motion Control DP 127 313 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 Arguments Argument i Resolution Description Notes Data update rate specified in samples between packets Turn off data record output Ethernet handle to output data record packet n 0 turns off data record output no see Notes 0 A 1 B 2 C 3 D 4 E 5 F 6 G 7 H 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 n1 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 printin
80. 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 i Resolution Description Notes i Axis to configure Register to hold SSI O off 1 Main encoder 2 Aux Encoder Total number of bits of SSI Negative Rollover Positive No Rollover see including status bits Remarks Number of single turn bits n lt nj Negative Prepended status bits Positive Appended status bits see Remarks Clock frequency divider See table below Data Encoding 1 Binary encoding 2 Gray Code Number of status bits 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 0 37 Remarks e SIm Returns the configuration parameters e nj A positive number designates No Rollover A negative number will cause the controller to act as an inc
81. 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 e The gear ratio may be different for each geared axis e The master can go in both directions e When the geared motors must be coupled strongly to the master use the gantry mode GM e 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 a REM setup gearing where B axis is master for A and C axes gear MO B Turn off servo to B motor GA B B Specify master axis as B GR 25 5 Specify A and C gear ratios SH B Enable B axis PRB 1000 BG B Move B axis 1000 counts i A axis will be commanded to move 250 counts positive C axis will be commanded to move 5000 counts negative 5000 EN End program 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 Gali
82. 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 60 313 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 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
83. 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 When using the SDM 44040 YA will also configure the drive hardware for microstepping resolution The SDM 44140 is not configurable with YA Arguments Argument _ Min Max Default Resolution Description Notes O 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 Valid settings 1 2 4 and 16 set the step resolution of the SDM 44040 to full for SDM half 1 4th and 1 16th microstepping respectively When full see Notes stepping n 1 on the SDM 44040 the max gain will be 70 of 44040 gt D4040 value set with AG Max current is available for any microstepping mode Valid setting for SDM The SDM 44140 is always configured for 64th microstepping YA 44140 must be set to 64 for SPM mode D4140 Remarks YA Settings for Galil Stepper Drives Stepper Drive Hardware YA Setting Notes SDM 44
84. 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 H 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 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
85. 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 bisscode 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 0 Turn off BiSS cB 1 Turn off output 1 cB 3 Turn off output 3 AB Abort motion and program operation ENDIF IF Cbisscode 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 ENDIF RE Galil Motion Control SS 266 313 Errors Error Number Description caws O 6e Number out of range Argument out of bounds
86. segment The controller will decelerate or accelerate during the segment and will reach the specified speed at the end of the segment Argument Value Description 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 4 lt o gt p behaviour NSS Commanded Vector Speed Segment n Examples Galil DMC Code Example A starting position of zero degrees denotes that the radius lies along a vector following the positive X axis on a 2D Cartesian space WVM AB cR 1000 0 270 VE BG S EN The 2 d map out the position output can be seen below For MT 1 1 1 5 1 5 For MT 2 2 2 5 2 5 Galil Motion Control CR 116 313 Galil DMC Code Example WM AB Specify vector motion in the A and B plane vs 1000 Specify vector speed CR 1000 0 360 Generate circle with radius of 1000 counts start at i 0 degrees and complete one circle in counterclockwise i direction R 1000 0 360 lt 40000 Generate circle with radius of 1000 counts start at 0 degrees and complete one circle in counterclockwise direction and use a vector speed of 40000 VE End Sequence BG S Start motion Galil DMC Code Example Generate a sine wave output o
87. sixteen for the deepest value Examples Galil DMC Code Example a Main Program aD le Input Interrupt on 1 b JP b EN Loop ININT Input Interrupt MG INTERRUPT Print message s s Interrogate stack s Print stack Z Zero stack s 250 Interrogate stack s Print stack EN End 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ZS 313 313
88. the axis 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 175 313 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 fu
89. 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 313 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 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
90. 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 269 313 INTERROGATION ERROR CONTROL 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 Argument Mn Max Defaut Resolution Description Notes Pon p 3 m h __ Seectsampstatusbytetoreum Tell Amplifier Error Status Bit Definition TAO TA1 TA2 TA3 BIT STATUS STATUS STATUS STATUS BIT Under Voltage E H Axes 2 Hall Error H Axis 1 Peak Current H Axis
91. 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 ABCDEFGH ABCDEFGH Mutti Axis Mask Axes to initialize with hall commutation e BC initialization is valid with the following internal amplifiers o AMP 43540 o AMP 43520 o AMP 43640 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 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 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 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 ha
92. 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 Servo A B C D motors SH A Only servo the A motor the B C and D motors remain in its previous state SH B Servo the B motor leave the A C and D motors unchanged SH C Servo the C motor leave the A B and D motors unchanged SH D Servo the D motor leave the A B and C motors unchanged 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 SH 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 313 SYSTEM CONFIG 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
93. 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 313 PROGRAMMING 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 swit
94. type Amplifier Board model rev 0 e bits 16 bit adc option if 16bit option ordered o No string returned here indicates standard 12 bit analog input e 10 type 3 3 volt i o for standard 3 3V extended IO o 5 volt i o for 5V option ordered e J1 J2 o J1 A D axes ICM J2 E H axes ICM No string is output for J2 on a 1 4 axis controller An empty string after the sign indicates that it is a standard ICM with no additional encoder option itm type specifies the ICM model number used 42000 is the 1000 option 42100 is the I100 option 42200 is the I200 option encoder specifies the encoder option available on this ICM Sine indicates sin cos encoder support a SST indicates SSI encoder support Biss option indicates BiSS encoder support oO o o e e P1 P2 o P1 A D axes amp P2 E H axes amp No string is shown for P2 on a 1 4 axis controller If no string is displayed then that indicates that no drive is present for that set of 4 axes drive type specifies the drive avaiable on this set of 4 axes Servo indicates standard servo drives Stepper indicates stepper drive Sine indicates sinusoidally commutated servo drives model specifies the ordered drive option for that set of 4 axes AMP 43040 500 watt for D3040 option AMP 43020 500 watt for D3020 option AMP 43140 1 A for D3140 option AMP 44040 for D4040 option AMP 44140 for D4140 option AMP 43540 f
95. 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 313 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 will 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
96. 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 VF 296 313 VM VECTOR LINEAR Vector Mode BIR L VM mOm1im2 Usage VMmm_ 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 axes for single axis operation The motion is specified by the instructions VP and CR which specify linear and circular segments Up to
97. 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 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 DMC 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
98. 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 308 313 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 DMC52xx0 2015 Galil Motion Control
99. 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 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 Aways use the Off On Error function OE command to avoid motor runaway whenever testing sinusoidal commutation BZ initialization is valid with the following internal amplifiers o AMP 43540 o AMP 43520 o AMP 43640 e There are several methods to initialize a motor with the Galil sine amplifier They are listed below Commutation options with a Gali sine drive Command Desoption Cd BC BI Uses hall sensors to commutate until a hall transition is encountered Drive then commutates sinusoidally Uses an algorithm to determine phase angle with minimal motion 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
100. 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 loop 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 313 SUBROUTINE S ERERR Serial Encoder Error Automatic Subroutine zO Descrip
101. 0 0 180 1000 n Galil DMC Code Example example VM ABC Z axis is tangent vss 500 Set vector speed m 1000 360 Z axis encoder is 1000 counts per full revolution n 077 when TPZ 0 blade is oriented to cut along X axis TN m n Set these tangent characteristics CR 1000 0 180 Profile a circle with radius 1000 counts starting at 0 degrees j and spanning 180 degrees VE End the vector path MG _TNS Print the calculated initial tangent entry point 250 PAC _TNS Profile a move to orient the Z axis to begin BG C Move the blade into place AM C wait until the blade motion is done SB 1 Turn on the saw wT 1000 wait for saw to spin up BG S Begin vector motion saw will stay tangent AM S wait for the cut to complete cB O Turn off the saw MG ALL DONE Print a message EN TN applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TN 283 313 INTERROGATION TP Tell Position AMON TP mm Usage TP mm Argument is an axis mask Operands _TPm Operand has special meaning see Remarks Description The TP command returns the current position of the motor Arguments Argument Min Max Default_ Resolution Description Notes mm ja ABCDEFGH _ ABCDEFGH _ Mutti Axis Mask Axes to report motor position Remarks e _TPm contains
102. 00 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 Galil Motion Control EQ 146 313 ERROR CONTROL ER Error Limit Ads je 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 Operands _ERm 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 Max Resolution Description Notes m H Axis Axis to assign value Set the position error limitin n 0 enables Error output n 1 disables Error counts output n 2 147 483 647 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
103. 00 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 applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control IA 165 313 ID zaentify Lae 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 This ID response is applicable to the part number DMC 4060 16bit C012 1000 I100 D4040 D3020 DMC4000 16 bit adc option rev 0 Connector J3 Communications Board CMB 41012 3 3 volt i o rev 0 Connector J1l Connector J2 42100 Sine rev 1 Connector Pl Stepper Amplifier Board AMP 44040 rev 0 Connector P2 Servo Amplifier Board AMP 43020 500 watt rev 1 The ID command follows this pattern DMC4000 bits rev 0 Connector J3 Communications Board CMB 41012 IO type rev 0 Connector J1 J2 icm type encoder rev 0 Connector P1 P2 drive
104. 000 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 63 313 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 Evaluation occurs left to right Use parenthesis for operator precedence Examples Galil DMC Code Example tbool 1 gt 2 MG bool 0 0000 tbool 1 g
105. 015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control PT 235 313 PVT MODE PV pvr Data iL ABTS 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 i Max Default Resolution Description Notes H N A Axis Axis to assign value Position target for PVT Velocity target for PVT 22 000 000 22 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 e _PVm contains the number of spaces available in the PV buffer for the specified axis Each axis has a 255 segment PVT buffer Examples Galil DMC Code Example 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 ov
106. 0200000 MG REAL 40200000 2 5000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control REAL 42 313 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 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 43 313 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 o
107. 024 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 position 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 121 313 SYSTEM CONFIG DE bual Auxiliary Encoder Position Baca 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 a H NA fas sf Axistorassignvae i O 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 Postio
108. 040 Drive set to single step 70 current max SDM 44040 Drive set to half step SDM 44040 Drive set to quarter step SDM 44040 16 Drive set to 1 16 step SDM 44140 64 Drive fixed at 1 64 step Examples Galil DMC Code Example Set the step drive resolution for a 1 64 Microstepping Drive YA 64 64 64 64 Query the D axis value MG _YAD Response shows D axis step drive resolution 64 0000 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 307 313 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 if using SPM mode with stepper motors
109. 0x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control QR 241 313 INTERROGATION STEPPER MOTOR Qs Error Magnitude Bacs AON QOS mm Usage QSmm Argument is an axis mask Operand has special meaning see Remarks Description 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 m A ABCDEFGH ABCDEFGH Multi Axis Axes to query for step motor error Default value used if mm is Mask magnitude undefined m 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 an SDM 20620 microstepping drive query the error of B axis QS B 253 Above shows 253 step counts of error The SDM 20620 resolution is 64 microsteps per full motor step nearly f
110. 37 313 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 part 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 38 313 IN Read digital input SIE IN n INTERROGATION IO 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 General input to query Inputs 9 16 only valid for 5 8 axis controller Extended input to query See Remarks Aux encoder input to query Used when repurposing aux encoder inputs as digital inputs Remarks Read Modbus slave bit See Remarks e IN
111. 6 313 TRIPPOINT AP a fter Absolute Position SIN LIS APm n AP n n n n n n n n Usage APm n___ Arguments 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 H Axis Axis to assign value n 2 147 483 648 2 147 483 647 1 Position trippoint value Only one axis may be specified at a time 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
112. 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 55 313 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 denoted 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 B mcr D E P G H supported String Virtual axis M N supported String Coordinate System S T supported 1 Ind
113. 8 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 registers 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 position 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 DP 0 100 200 400 Sets the current position of the A axis to 0 the B axis to 100 the C axis to 200 and the D dxis to 400 DP 50000 Sets the current position of B axis to 50000 The A C and D axes remain unchanged DP 2 2 7 73 Interrogate the position of A B C and D axis 0 50000 200 400 ae 23 Interrogate the position of A axis Galil DMC Code Example DP 0O Sets the current position of the A axis to 0 DP 50000 Sets the current position of A axis to 50000 DP 2 Interrogate the position of A 50000 DP applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation
114. 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 1 0 0 Sets X axis to brush type Y and Z to brushless Galil DMC Code Example BR 1 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 313 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 Arguments Min Max Default Resolution Description A ABCDEFGH ABCDEFGH Multi Axis Mask Axes to begin PVT motion Remarks 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 200c 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 num
115. C40x0 DMC42x0 DMC41x3 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control P2ST 230 313 INDEPENDENT MOTION PA Position Absolute BARAL 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 H i Axis to assign value M 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 PA 400 600 500 200 A axis will go to 400 counts B axis will go to 600 counts c axis will go to 500 counts D axis will go to 200 counts BG Execute Motion PA 2 272 23 Returns the current commanded position after motion h
116. 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 Define label Cont1 CM AB Specify Contour Mode DT 1 Pause Contour Mode to allow pre load of buffer cD 100 200 Countour Data pre loaded in buffer cD 400 200 Countour Data pre loaded in buffer cD 200 100 Countour Data pre loaded in buffer cD 300 50 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 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 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 load
117. 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 return just one array value 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control QU 243 313 INTERROGATION QZ Return Data Record information E QZ Usage QZ Command takes no arguments Description The QZ command is an interrogation command that returns information regarding the data record The controller s response to this command wil 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 Examples Galil DMC Code Example 0z3 standard DMC 4143 example response 4 52 26 36
118. DMC 40x0 Firmware Command Reference 09 03 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 ASIN Inverse sine 33 ATAN Inverse tangent 34 COM Bitwise complement 35 COS Cosine 36 FLOT Convert Galil 4 2 to Floating Point 37 FRAC Fractional part 38 IN Read digital input 39 INT Integer part 40 OUT Read digital output 41 REAL Convert Floating Point to Galil 4 2 42 RND Round 43 SIN Sine 44 SQR Square Root 45 TAN Tangent 46 Square Brackets Array Index Operator 47 JS subrou
119. DMC Code Example cont0 Define label cont0O CM ABCD Specify Contour Mode Axes ABCD DT 4 Specify time increment for contour 2 4 servo loops 16ms at TM1000 cD 200 350 150 500 Specify incremental positions on A B C and D axes A axis moves 200 counts B axis moves 350 counts C axis moves 150 counts D axis moves 500 counts cD 100 200 300 400 Next position data cD 0 0 0 020 Special syntax to terminate Contour mode gnait JP wait _CM lt gt 511 Spin on wait label until buffer is empty End of Contour Buffer Sequence EN End program cont1 Define label cont1 CM ABC Specify Contour Mode DT 8 Specify time increment for contour 248 servo loops 256ms at T M1000 cD 100 100 100 New position data cD 100 100 100 New position data cD 0 0 0 i Pause contour buffer set DT to resume CD 100 100 100 d New position data cD 100 100 100 New position data cD 0 0 0 0 0 Special syntax to terminate Contour mode wait2 JP wait2 _CM lt gt 511 Spin on wait2 label until buffer is empty End of Contour Buffer Sequence EN 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 113 313 SYSTEM CONFIG IO CN Configure EE 5 CN ng nyz n2 n3 N4 Usage CNn Arguments specified with an implicit comma separated order _CNO _CN1
120. DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AV 84 313 SINE COMMUTATION BA Brushless Axis BRL Usage BAmm Argument is an axis mask Operand has special meaning see Remarks Description BA is used to configure the controller for sinusoidal operation Galil Sine Drive Use For axes equipped with a Galil sine drive BA is used to configure the axis for sinusoidal operation In addition to BA BM and BX or BZ must be used to initialize the drive commutation When using a Galil sine drive one axis of control is required for one axis of drive This is in contrast to the paired behavior below Third Party Sine Drives Requiring Dual Analog Inputs Rare In rare cases some third party sinusoidal drives require two analog signals to perform commutation In this case the BA command configures the controler axes for sinusoidal commutation and reconfigures the controller to reflect the actual number of motors that can be controlled In this configuration each axis requires 2 motor command signals The second motor command signals will aways be associated with the highest axis on the controler For example a 3 axis controller with A and C configured for sinusoidal commutation will require 5 command outputs a 5 axis controller where the second outputs for A and C will be the D and E axes respectively Arguments Argument i Resolution Descripti
121. 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 IMG TAN 23 0 4245 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TAN 46 313 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 array 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 se
122. E 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 e The number of elements in an array is returned by reading index 1 e g array 1 Galil Motion Control JS 180 313 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 Value the value JS square 7 Variable s value variable name JS sub var Variable by reference ampersand variable name JS sub amp var Array by reference array name in quotes 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 Ex
123. 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 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 313 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 313 IO SB set Bit EI 15 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 Cle
124. F1 ELSE MG False ENDIF EN REM Returned False 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control amp 25 313 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 313 MATH FUNCTIONS Multiplication Operator BIEI 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 re
125. 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 mode of motion Examples Galil DMC Code Example set feedforward coefficient to 10 for the A axis and 15 for the B axis The effective bias will be 0 75V for A and 2 25v for B AC 500000 1000000 FA 10 15 MG _FAA _FAB 10 15 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 152 313 INDEPENDENT MOTION FE Find Edge AER 1 SS FE mm Usage FEmm Argument is an axis mask Description The FE command moves a motor u
126. FGH i arguments begins motion on all axes Axes to begin motion Any combination of axes is acceptable Any combination of axes is acceptable Remarks e Any combination of Axes Vector Planes and Virtual Axes may be mixed to begin motion e ABG command 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 2 A bstate _BGB Assign a 1 to bstate if the B axis is performing a move Galil DMC Code Example WM AB vector M
127. 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 XQ a Execute program A thread zero XQ b 3 Execute program B thread three HX 0 Halt thread zero HX 3 Halt thread three 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control HX 164 313 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
128. I 1 Return to the main program and restore trippoint 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control RI 250 313 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 Max Default Resolution Description Notes mm A ABCDEFGH ABCDEFGH Multi Axis Mask Axes 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 contai
129. IP ADDRESS 10 51 0 93 PORT 1002 IHD TCP PORT 1023 TO IP ADDRESS 10 51 0 93 PORT 1003 IHE TCP PORT 1034 TO IP ADDRESS 10 51 0 101 PORT 1004 IHF TCP PORT 1045 TO IP ADDRESS 10 51 0 101 PORT 1005 IHG AVAILABLE IHH AVAILABLE TH applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO0 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TH 277 313 INTERROGATION IO TI Tei Inputs BIET TI n Arguments specified with an implicit comma separated order Operands I4 Operand has special meaning see Remarks T5 _TI10 Tiii Description The TI command returns the state of the inputs in banks of 8 bits or 1 byte The value returned by 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 Value Description Notes n Report status of Inputs 1 8 Default Report status of Inputs 9 16 Only valid for 5 8 axis controllers Report status of Inputs 17 24 Must have extended IO configured as inputs for valid values See Remarks Report status of Inputs 25 32 Must have extended IO configured as inputs for valid values See Remarks Report status of Inputs 31 40 Must have extended IO configured as inputs for valid values See Remarks Report status of Inputs 41 48 Must have extended IO confi
130. Input Mapping n1 Input ng Compliment ng 1 Position Range when in Analog Feedback by AQ Argument Analog Range Position Range 12 bit Position Range 16 bit ni 5 V 2048 to 2047 32 768 to 32767 10 V 2048 to 2047 32 768 to 32767 0 5 V 0 to 4095 0 to 65535 0 10 V 0 to 4095 0 to 65535 Examples Galil DMC Code Example AQ 2 3 Specify analog input 2 as 0 5v i a Specify analog input 1 as 0 5V and the differential input to analog input 2 3 0000 AQ applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AQ 78 313 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 pos
131. LC applies to DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LC 189 313 LD Limit Disable BAs jS 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 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 ERROR CONTROL Examples Galil DMC Code Example PLD 341323 Implicit notation to set channel A B and C MG _LDA Message the operand for the A channel 3 0000 LOC 33 Explicit notation to set channel C only LD Queries the value of LD for all channels 3 1 3 0 Galil DMC
132. 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 313 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 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 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 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
133. MC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ST 268 313 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 Min Max Default Resolution Description Notes m A H N A Axis Axis to assign value 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 9005 03 A o Error 1 bit The error bit is active low 1 indicates that the transmitted position information has been verified by
134. MC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control PL 233 313 INDEPENDENT MOTION PR Position Relative BERLU 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 H i Axis to assign value M N i Virtual axis to 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 PR 100 200 300 400 On the next move the A axis will go 100 counts BG the B axis will go to 200 counts forward C axis will go 300 counts and the D axis will go 400 counts PR 2 Return relative distances 100 200 300 PR 500 Set the relative distance for the A axis to 500 BG The A axis will go 500 counts on the next move while the B axis will go its previously set relative distance Galil DMC Code Example using PA
135. 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 assignment 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 H Axis Axis to assign value Master position to disengage If n outside of master position range the slave axis specified disengage slave axis immediately 2 147 483 647 1 2 147 483 648 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 700 Disengages the A and B motors at master positions 300 and 700 respectively Galil DMC Code Example EQ 3
136. 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 234 313 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 PT 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 co
137. R no n MN lt O gt p 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 i 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 Specifies the vector speed to be commanded at the beginning of 22 000 000 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 6 000 000 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 Specifies the vector speed to be achieved at the end of the linear 22 000 000 segment The controler will decelerate or accelerate during the Si 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 6 000 000
138. S 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 signal 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
139. S step counts to correct for the error and YS is set back to 1 Galil DMC Code Example Query the error of the A axis QS A 253 This shows 253 step counts of error Correct for the 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 310 313 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 positio
140. Serial Encoder Missing Encoder did not respond 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 267 313 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 ABCDEFGHMNST ABCDEFGH 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 ST A Stop A axis motion ST S Stop coordinate plane S ST ABCD Stop A B C D motion ST SCD Stop coordinate plane S as well as axes C and D ST Stop motion on all axes including any virtual axes and coordinate planes Use the after motion complete command AM to wait for motion to be stopped Galil DMC Code Example IST A Stop motion on the A axis Sc AS Query A axis status 4 Indicates stopped by ST command MG _NO Check if code is running 1 Thread 0 running ST General stop MG _NO check code again 0 Thread 0 stopped ST applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 D
141. TA applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TA 270 313 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 program and echo on 2A7 2A0 128 1 129 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TB 271 313 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 accept
142. TM 2 o example With TM 500 the minimum AC setting and resolution is 4096 counts second 2 m resolution 1024 1000 500 2 4096 Examples Galil DMC Code Example REM Set A axis acceleration to 150000 B axis to 200000 counts sec2 the C axis to 300000 counts sec2 and the D axig to 400000 count sec2 AC 150000 200000 300000 400000 a _ACB Assigns the B 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 68 313 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 positi
143. 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 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 77 313 IO AQ Analog Input Configuration BI 5 AQ no Ny1 Usage AQn Arguments specified with an implicit comma separated order _AQI AQ2 _AQ3 _AQ4 _AQ5 _AQ6 _AQ7 _AQ8 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 i CE Ron j notes no WA h __ Anabgnputchannel a Specify analog input is differential See Remarks Remarks Argument Description Notes a 10v 0 5v 0 10v e Default resolution for analog inputs is 12bits 16 bit is optional e Operands _AQi through _AQ8 return the setting for the specified input e Setting a negative nj for inputs 1 3 5 or 7 configures those inputs as the differential input relative to input 2 4 6 and 8 respectively Operands Operand has special meaning see Remarks Differential
144. _Notes_ Maximum is number of lines of see Notes Line number for jump destination controler program memory 1 N A Expression Conditional 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 messa
145. a 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 controller 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 Resolution 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 BR1i 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 o Examples of brushless servo amps that require this consideration include the AMP 43040 D3040 or the AMP 20540 e Motion Behavior o If an error or axis specific abort is detected and the motion was executing an independent move only that axis will be shut off o If the motion is a part of coordinated mode of the types GM VM LM or CM all p
146. ads 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 Examples Galil DMC Code Example Turn on trace during a program execution SES 0 MGTIME 1 wr1000 2 JPO 3 XQ 18003461 0000 18004461 0000 18005461 0000 iTR 1 2 JPO 0 MGTIME 18006461 0000 1 wT1000 2 JPO 0 MGTIME 18007461 0000 1 wT1000 TR 0 18008461 0000 18009461 0000 IST 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TR 285 313 INTERROGATION TS Tell Switches Aon 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 ABCDEFGH ABCDEFGH 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 act
147. aintenance error w oO Running in PVT mode Ww pare PVT mode completed normally Ww N PVT mode exited because buffer is empty ui oO Contour Running uo rary Contour Stopped a ECAM Running a rare ECAM Stopped N Stopped due to EtherCAT communication failure N m Stopped due to EtherCAT drive fault Ko Ko MC timeout Vector Sequence running Vector Sequence stopped e _SCm contains the value of the stop code for the specified axis Examples Galil DMC Code Example tom _SCA Assign the Stop Code of A axis to variable tom Galil DMC Code Example JG 10000 BG A ISC A 0 Axis is running in independent mode STA ISC A Axis is stopped by ST command 4 SC applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SC 257 313 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 Argu
148. alil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control RC 246 313 PROGRAMMING RD Record Data BIE RD arg arg arg arg 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 Th
149. amples 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 4 Subroutine REM REKKKEEKEKEEKEKEERS KRAKK AKE Fekete REM Pass a value val JS square 3 MG _JS EN square REM Return the passed value squared EN CAa Aa REM 25 25 26 96 te oe ae de de de ae de ae ae Te e e A e TEE HE e e EEE EEE EEE EE EE REM Pass a variable s value var val 7 REM call the same sub above JS square val MG _JS EN REM REG RARER KEREK REM Pass a variable by reference varref val 9 JS square2 amp val MG val EN square2 REM change the value of the variable Aa Aa Aa REM don t return anything EN REM KREEKKRAEEKRAREEKRARREKRREEKREEERERREEEREEREERERREEERE REM Pass an array by reference array DM array 100 array 42 J 11 JS square3C array MG array 42 EN square3 REM change the array element Aal42 Aa 42 Aal42 REM don t return anything EN Galil Motion Control Js 181 313 REM XQ all REM REM 9 0000 REM 49 0000 REM 81 0000 REM 121 0000 REM Controller Response DM array1 10 DM array2 100 EN AaLAb 0 Ab Ab 1 EN Galil DMC Code Example add JS sum 1 2 3 4 5 6 7 8 Call subroutine pass values MG _JS Print return value will print 36 0000 EN sum Sums values passed to it Expects 8 numbers EN AatAb Ac Ad Ae Af Ag Ah Return the sum
150. and 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 function 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 161 313 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
151. and 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 58 313 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control lt 59 313 PROGRAMMING MATH FUNCTIONS lt Less than or Equal to comparator BIET no lt ny Usage variable valuel lt value2 Performs
152. ar Bit instructions can be used to control the state of output lines Arguments Argument i Resolution Description Notes General output bit to be set Max value is 8 for 1 4 axis controllers Extended I O output bit to be I O must be configured for outputs see CO set command 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 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 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 cont
153. ar vectors specified in T coordinate system CA S Specify the T coordinate system vector points vP 1000 5000 New vector vP 8000 9000 New vector cS S Clear vectors specified in S coordinate system CS applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control CS 118 313 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 Value Description Notes no 0 Causes controller to return a copyright information string Equivalent to ng Controller will not set the MSB of unsolicited message characters Default Must be set when viewing unsolicited messages from non Galil software
154. aracters 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 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 232 313 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 Max is a function of TM
155. arks 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 axis reverse limit switch _LR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com 54 313 Galil Motion Control _LR Bitwise OR Operator SLI 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
156. arks for gain settings Remarks Gain settings by Amplifier Amps Vot 0 1 0 4 0 7 0 4 0 8 AMP 43540 Gain Setting n 0 1 5 1 SDM 44140 0 SDM 44040 0 5 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 71 313 TRIPPOINT AI After Input SIN LT AI n Usage AIn Arguments specified with an implicit comma separated order Description 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 General input to use for n High trigger n low trigger 9 16 only valid trippoint for 5 8 axis controller Extended input to use for trippoint Aux encoder input to use for trippoint Remarks e The AI command actually halts execution un
157. articipating axes will be stopped Examples Galil DMC Code Example OE 1 1 1 1 Enable OE on all axes 0E 0 Disable OE on A axis other axes remain unchanged 0E 1 1 Enable OE on C axis and D axis other axes remain unchanged 0E 1 0 1 0 Enable OE on A and C axis Disable OE on B and D axis MG _OEA Query A axis OE setting 1 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 3 3 3 SH ABCD JG 1000 all jog at 1000 BG ABCD 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 _TEB _TEC TED EN LIMSWI MG limit switch fault MG _TSA _TSB _TSC _TSD EN OE applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 Galil Motion Control OE 221 313 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control OE 222 313 FILTER CONTROL OF offset Ad 8 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
158. as completed 400 600 500 200 PA 700 A axis will go to 700 on the next move while the BG s B C and D axis will travel the previously set relative distance if the preceding move was a PR move or will not move if the preceding move was a PA move 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 Feedback documentation galilmc com Galil Motion Control PA 231 313 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 ch
159. 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 return 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 124 313 PROGRAMMING DL Download SEIN DL n DL str DL s Usage DLn Arguments specified with an implicit comma separated order 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 Argument i Resolution Description Notes 0 1 Line number to begin program download Line number to begin program download un Name of label in RAM to begin If str download begins at the end of the 8 chars download from current program in RAM Begins download at end of N A Symbol program in RAM Remarks e Do not insert spaces before label declarations e _DL gives the number of availab
160. at Time SN LT AT no Ny Usage AT n Arguments specified with an implicit comma separated order 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 referenc
161. ave 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 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 1 to 4 Examples Galil DMC Code Example main SB 5 Set digital output 5 SB 1 Set digital output 1 CB 52 Clear digital output 5 cB 1 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 clear 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 107 313 SYSTEM CONFIG CC Configure Communications Port 2 SEI CC no ny ng N3 Usage CCn Arguments specified with an implicit comma separated ord
162. 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 VM AB Specify motion plane vP 1000 2000 Specify vector position 1000 2000 Galil Motion Control VP 299 313 vP 2000 4000 Specify vector position 2000 4000 CR 1000 0 360 Specify arc VE vector end BG S3 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 command 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 vb 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 ga
163. b Jump to Label B EN End Program AR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AR 79 313 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 ABCDEFGHST ABCDEFGH 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 80 313 AT
164. ber 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 313 SYSTEM CONFIG BV Burn Variables and Arra y BALI 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 wil store the ECAM table values in non volatile EEPROM memory e This 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 He colon response returned 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BV 100 313 SYSTEM CONFIG BW Brake Wait ARON BWm n BW n n n n n n n n
165. broutine running on thread 0 tes TC Save error code EN 1 End routine restore AI trippoint 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control EN 142 313 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 execute
166. buffer has room for additional segments o See the LI command for more information regarding the 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 _LMm contains the number of spaces available in the sequence buffer for the m coordinate system S or T e The LM command wil apply to the selected coordinate system S or T To select the coordinate system use the command CA S or CAT Examples Galil DMC Code Example LM ABCD Specify linear interpolation mode vs 10000 VA_ 100000 vbD 1000000 Specify vector speed acceleration and deceleration LI 100 200 300 400 Specify linear distance LI 200 300 400 500 Specify linear distance LE BG S Last vector then begin motion 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 195 313 LS List SEIN LS no Ny1 INTERROGATION 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 no 1 Firmware Rev 1 2a and later Specifies the line in the program for which the listing will start Specifies the line in
167. 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 303 313 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 parameters 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 RIO0 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion
168. by the JS command the EN command ends the subroutine and returns program flow to the point just after the JS command 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 su
169. ch 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 print a message every second MG Main wT 1000 JP main EN LIMSWI runs when a limit switch is tripped MG Limit switch N ENDIF IF _LFB 0 _LRB 0 MG Axis B ENDIF RE 1 RE used to exit the LIMSWI sub LIMSWI applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LIMSWI 17 313 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
170. 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 168 313 ETHERNET IH Open IP Handle Bacs Aon 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 mask 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 Arguments Argument i Default Resolution Description m N A Handle Handle to assign connection Special handle designator used N A nande when closing handles 0 Byte 3 of the slave IP address 0 Byte 2 of the slave IP address 0 Byte 1 of the slave IP address 0 0 See Remarks Byte 0 of the slave IP address 2 147 483 647 Slave IP address as a 32 bit value 2 147 483 648 0 65 535 see Notes Specify the slave port to connect If o is omitted the controller selects over the port starting at 1000 2 Specify the connection type to n 2is TCP n 1 is UDP open Specify the connection type to close when closing a handle See Remarks Remarks e All4 bytes must be assign
171. croseconds 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 214 313 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 Program 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 215 313 FILTER CONTROL NZ Notch Zero BA j
172. d 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 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 143 313 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 144 313 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 ord
173. d 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 etc Address of first input Quantity of inputs 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 200 313 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 numb
174. date of LCD wT 5000 REM the sum of the amperr bits should be O with no amplifier error er _TAO mask _TA2 _TA3 JP AMPERR erO REM Noti fy user amperr has cleared LEU MG AMPERR L1 RESOLVED L2 wT 3000 LU 1 RE AMPERR applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control AMPERR 11 313 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 e The BP command must be used to burn a program into EEPROM for the AUTO to function Examples Galil DMC Code Example 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 wr 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
175. dback documentation galilmc com Galil Motion Control BA 85 313 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 313 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 initialize a motor for sine commutation using hall sensors The function BC monitors
176. ddress 165 ID Identify 166 Galil Motion Control Table of Content 4 313 IF IF conditional statement IH Open IP Handle Il Input Interrupt IK Block Ethernet ports IL Integrator Limit IN Input Variable 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 LB LCD Bias Contrast 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 LU LCD Update LV List Variables LZ Omit leading zeros MB Modbus MC Motion Complete MF Forward Motion to Position MG Message MO Motor Off MR Reverse Motion to Position MT Motor Type MU Multicast Address 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 P2CD_ Serial port 2 code P2CH Serial port 2 character P2NM Serial port 2 number 168 169 171 172 173 174 175 176 177 178 180 183 184 185 186 187 188 189 190 191 192 194 195 196 197 198 199 200 203 204 205 207 208 209 210 211 213 214 215 216 217 218 219 221 223 224 225 226 227 228 229 Galil M
177. e 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 57 313 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_ 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 comm
178. e 0 AT 100 waits 100 msec from reference 0 AT 150 waits 150 msec from reference 0 and sets new reference at 150 AT 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 81 313 FILTER CONTROL AU set amplifier current loop BARAL 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 Trap amplifiers the current loop is available in one of two settings AU also sets th
179. 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 valid 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
180. e control equation as follows D 2 KP KD2 KI Arguments Argument i Max Resolution Description m H 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 e For further details see the section Theory of Operation in the controller user manual Examples Galil DMC Code Example KIC 8 Explicit notation to set C KE a8 Implicit notation to set C KE 2 28 2 Return A B C D values 7 14 8 20 KICS 7s Return C value 8 MG _KIA Message the operand for the A axis 7 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 0 Zero KD OF 1 2 Set one volt on A and two volts on B EN 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control KI 184 313 FILTER CONTROL KP Proportional Constant i nwa j 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 controler filter The proportional gain outputs a control signal proportional to the amount of error transfer
181. e 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 element 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 201 313 Galil DMC Code Example example O J 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 i Resolution Description in A Handle Handle to send Modbus command 0 no 255 see Notes Unit ID Default to Handle number A 1 B 2 etc Address of first register 99 Quantity of registers 8 ch Array containing modbus str 0 holds the first value 2 bytes per el
182. e 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 GM 1 1 1 1 Enable GM on all axes GM O Disable GM on A axis other axes remain unchanged GM 1 1 Enable GM on C axis and D axis other axes remain unchanged GM 1 0 1 0 Enable GM on A and C axis disable GM on B and D axis 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 wT 1000 GM 0 Disable Gantry Mode Axis still gearing wT 1000 ST 3 will clear gearing mode Axis will still be in gearing Mode 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 159 313 ECAM GEARING G R Gear Ratio BAs 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 GR specifies the Gear Ratios for the geared axes in the electronic gearing mode The master axis
183. e switching mode where available Chopper vs Inverter 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 ideal AU settings for common bus voltages and phase to phase inductance Arguments Argument Min Max Resolution Description Notes m A H Axis Axis to assign value Set amplifier current loop gain See table below for setting for your amplifier setting model n see Notes see Notes see Notes AMP 43040 43020 D3040 D3020 Argument Value Description Notes AMP 43240 D3240 Argument Value Description Notes n 0 Chopper mode Normal current loop gain Default 1 Chopper mode Higher current loop gain AMP 43540 D3540 Argument 24VDC Bus Current loop setting 48VDC Bus Current loop setting n Minimum Current Loop Gain Minimum Current Loop Gain 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 High Current Loop e Use the higher curr
184. 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 JG 100 500 2000 5000 Sets for jog mode with a slew speed of 100 counts sec for the A axis d 500 counts sec for the B axis 4 2000 counts sec for the C axis r and 5000 counts sec for D axis BG Begin Motion wT 1000 wait one second JG 2000 Change the C axis 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 177 313 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 ____
185. ear 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 302 313 VECTOR LINEAR VV vector Speed Variable Bacs Aon VVm n VV n n Usage VWm n__ Arguments specified with a single axis mask and an assignment Wwn 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 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
186. ector Program Label VM AB 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 295 313 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 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
187. ecution time PRA 1000 this comment is to the right of the code 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control REM 249 313 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 R
188. ecutive input lines o For example BI 3 indicates that inputs 3 4 and 5 are used for halls sensors o When using extended IO the bits must be configured as inputs by the CO command for proper operation e The Hall A Hall B and Hall C inputs on the Encoder connector may be specified by setting the BI command to 1 e With the AMP 43540 or the AMP 43640 for a motor wired to work with the AMP 43020 43040 the following wiring to the general inputs is used for commutating the halls with the BIn command o IN n Hall B o IN n 1 Hall C o IN n 2 Hal A Examples Galil DMC Code Example BI 5 The Hall sensor of the Y axis are on inputs 5 6 and 7 Galil DMC Code Example REM Example for use with AMP 43540 ex BA A BMA 2000 BIA 1 use hall sensor inputs on the Galil BC A enable brushless calibration bc _BCA store hall state 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 313 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 execu
189. ed 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 ie _GNX 59 Mismatched parentheses Galil Motion Control TC 272 313 60 71 80 Download error line too long or 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
190. ed 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 2424 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 handle the user must specify o The IP address of the slave o optional 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 T handk identifiers along with connection type p selector o IHS gt p closes the handle that sent the command with connection type matching gt p o IHT 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 all handle types Operand Usage Operand Reported Value Description of Value Notes _IHm0 2147483648 to 2147483648 IP address of handle m as a 32 bit number n _IHmi O to 65535 Slave por
191. ed 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 Galil Motion Control DT 129 313 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 130 313 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 Dyn f 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 stabilty 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 Resolution Description Notes m Axis Axis to assign value n 1 State of dual loop mode n 0 disables Dual loop n 1 enables Dual loop
192. eds to be held until 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 137 313 EI SYSTEM CONFIG Event Interrupts SEI EI nz ng Nn3 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 i Resolution Description Notes ni 16 bit interrupt mask 0 turns off interrupts See Remarks for bit mask P Used to select the specific digital input trigger Bit 15 n2 8 bit input mask of n1 must be set for the n2 mask to be used n3 Preconfigured UDP handle 1 disabled 0 7 ind
193. emarks 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 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 vari1 0 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 ru
194. ement Array laid data size must be gt n3 Galil DMC Code Example example O AEAE MBD 16 2 1 example Set AEAE to holding register 2 on handle D equivalent to setting analog outputs or writing to holding registers addressed 400xxx 17 MBm ng 17 str Report Slave ID Argument i Max Default Resolution Description Notes m H N A Handle Handle to send Modbus command no 255 see Notes 1 Unit ID 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 Default _ Resolution Description Notes N A Handle Handle to send Modbus command see Notes Unit ID Default to Handle number A 1 B 2 etc ME Number of array bytes to send a of array containing outgoing Array size gt n2 See Remarks MB applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control MB 202 313 TRIPPOINT MC motion Complete SIN UHS 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 comma
195. en 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 the 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 OTD 400 Set D axis encoder error timeout to 400 samples oT 100 200 Set A axis to 100 and B axis to 200 sample timeouts 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 AL is 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 Correc
196. 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 enabled or has generated the first output pulse e Ona5 8 axis controller OC is a logical AND of axes A D and E H 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 219 313 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 220 313 ERROR CONTROL OE Off on Error BAs jg 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 f Arguments specified with an implicit comm
197. encoder and does not require that the axis be under servo control e The accuracy 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 204 313 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
198. ent loop gain AU 1 or 1 5 when the phase to phase inductance of the motor is gt 5mH with a 24VDC supply or if the inductance is gt 10mH with a 48VDC supply Chopper Mode e The chopper mode is in contrast to the normal inverter mode in which the amplifier sends PWM power to the motor of Vs o In chopper mode the amplifier sends a 0 to VS PWM to the motor when moving in the forward direction and a 0 to VS PWM to the motor when moving in the negative direction e Chopper mode should be used in 2 different scenarios o 1 The inductance of the motor is 200UH to 500uH o 2 The application requires a continuous operation at gt 4 Amps of continuous torque at a duty cycle of gt 50 Examples Galil DMC Code Example settings for trap amps AU 1 0 Sets X axis to higher loop gain and Y axis to normal loop gain AUB Query Y axis current loop gain MG _AUA Query A axis current loop gain 1 Galil DMC Code Example setting for sine amps BLM inductance 2 6mH Galil Motion Control AU 82 313 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 313 VECTOR LINEAR TRIPPOINT AV After Vector Distance SIN L
199. er 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 i Resolution Description m i Axis to assign value n 0 n 0 Default stepper drive providing 100 torque at rest n 1 25 holding torque when motor at rest Specifies n samples after move before going to 0 holding current Remarks e The MT command must be issued prior to the LC command e Using LC with an internal Galil Stepper drive SDM o Setting LC to 0 for each axis may be necessary to shut off all current to the motors in the motor off MO state 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 MTC 2 Specify stepper mode for the C axis Lcc 1 Specify low current mode for the C axis 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
200. er 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 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 m AH na Hande __ Handkto send Modbus command i O Cw o bs lens i mo O peo Pande number e B E Cm o bo m h esa S o Ca o G b Oh feos 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 Handl
201. er Description The CC command configures baud rate handshake mode and echo for the AUX SERIAL PORT referred to as Port 2 This command must be given before using the MG or CI commands with Port 2 Arguments Argument Min Max Default_ Resolution Description Notes 115 200 see Notes Baud rate 9600 19200 38400 and 115200 are valid baud rates Handshake setting n1 0 turns off handshaking n 1 turns handshaking on Enable aux serial port n2 0 disables port n2 1 enables port Echo setting n3 0 for echo off n3 1 for echo on Remarks e The Aux port is not an interpreted port It cannot receive Galil commands directly Instead use CI COMINT and the P2 operands to handk received data Examples Galil DMC Code Example CC 9600 0 1 0 9600 baud no handshake enable echo off Typical setting with TERM P or TERM H CC applies to DMC40x0 DMC42x0 DMC41x3 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control CC 108 313 CONTOUR MODE CD Contour Data Aon CDm n CD n n n n n n n 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
202. er Operands _EP Operand holds the value last set by the command Description The EP command defines the ECAM 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 145 313 ECAM GEARING EQ ECAM quit disengage
203. er 128 samples end at 2500 cnts per sec PVA 0 0 0 End PVT mode Desired X Y Trajectory X Position X Speed at end of Time ms at TM1000 Y Position Y Speed at end of ap cl a tg relative absolute time period c s relative time from start relative absolute time period c s start 0 0 0 0 0 0 0 0 0 0 100 100 200 256 256 50 50 500 100 100 200 300 200 50 306 100 150 100 510 610 300 600 0 50 356 300 150 0 50 660 Galil DMC Code Example DP 0 0 Define zero position PVA 100 200 256 Command X axis to move 100 counts reaching an ending speed of 200c s in 256 samples PVB 50 500 100 Command Y axis to move 50 counts reaching an ending speed of 500c s in 100 samples PVB 100 100 510 Command Y axis to move 100 counts reaching an ending speed of 100c s in 510 samples PVA 200 200 503 Command X axis to move 200 counts reaching an ending speed of 200c s in 50 samples PVA 300 0 50 Command X axis to move 300 counts reaching an ending speed of Oc s in 50 samples PVB 300 0 50 Command Y axis to move 300 counts reaching an ending speed of Oc s in 50 samples PVB 0 Exit PVT mode on Y axis PVA 0 Exit PVT mode on X axis When the PvT mode is exited the axis will be in the SH state assuming position error is not exceeded etc BT AB Begin PVT on X_and Y axis AM AB Trip point will block until PVT motion on X AND Y is complete EN End program PV applies to DMC40x0 DMC42x0 DMC41x3 DMC30010 DMC500x0 DMC52
204. et 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 313 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 313 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 two 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
205. ex of the axis A 0 B 1 C 2 etc 1 Coordinate System S 8 T 9 10 11 N A 1 Virtual Axis M 11 N 10 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 2 b 6 Sets a to 2 Z axis Sets b to 6 G axis MG a a Print axis number MG b b Printe axis number PR a 1000 Relative position move 1000 counts on a variable set as Z axis JG b 9000 Set jog speed of b variable set as G axis to 9000 cts sec BG a b 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 56 313 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 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 b
206. from stack zero writes to stack 1 s variable table Examples Galil DMC Code Example add JS sum 1 2 3 4 5 6 7 8 call subroutine pass values MG _JS print return value EN 1 sum A ge cease ae r ny Sums the values Aa to Ah and returns the result EN CAat Ab Ac Ad Ae Af Ag Ah return sum Output from the previous program XQ add 36 0000 applies to DMC40x0 DMC42x0 DMC41x3 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control A 48 313 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 privilege 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 t
207. function follows D z KP KD2 kI A Arguments Argument i Max Resolution Description m H i Axis to assign value n 4 095 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 The filter Galil DMC Code Example KP 12 14 16 20 Implicit notation to set a b c d axis proportional term KPC 8 Explicit notation to set C IKP 8 Implicit notation to set C IKE 222 75 Return A B C D values 7 14 8 20 KPC 237 Return C value 8 MG _KPA Message the operand for the A axis 12 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 0 Zero KD OF 1 2 Set one volt on A and two volts on B EN 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control KP 185 313 STEPPER MOTOR KS Step Motor Smoothing AEC 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
208. g 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 128 313 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 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 7 Specifies time interval to be 128 msec Galil DMC Code Example REM basic contour example contoO Define label
209. ge _ 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 313 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 8 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 Examples 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 documen
210. ge 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 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 178 313 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
211. 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 313 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 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
212. gured as inputs for valid values See Remarks Report status of Inputs 81 88 Auxiliary encoder inputs See Remarks Report status of Inputs 89 96 Auxiliary encoder inputs Only valid for 5 8 axis controllers See Remarks Remarks e Forn 2ton S5 no additional hardware is required for extended IO support e Extended IO blocks must be configured as inputs with the CO command before using TI e Forn 10 and n 11 the auxiliary encoder channels A and B can be used as additional IO Only 2 the number of axes worth of inputs are available 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 Te E Tell input state on bank 1 8 Bit 3 is high others low ITI 0 0 All inputs on bank O low input Tr1 Sets the variable Input with the TI1 value input 8 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control Tl 278 313 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
213. he 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 49 313 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 Remove 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 50 313 INTERROGATION ARAV Revision Information E
214. his 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 313 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 operators Examples Galil DMC Code Example MG aBS 2147483647 2147483647 0000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ABS 30 313 MATH FUNCTIONS ACOS Inverse cosine SIE ACOS n Usa
215. hut off axis EN TW applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TW 289 313 INTERROGATION TZ renro Configuration ECs 5 TZ Usage TZ Command takes no arguments Description The TZ command is used to request the I O status of the controller This is returned to the user as a human readable text string Arguments TZ is an interrogation command with no parameters Remarks e The data reported by TZ is also accessible through the TI inputs and OP outputs command Examples Galil DMC Code Example Tes issued for DMCc 4040 BLOCK 0 8 1 dedicated as input value 255 1111_1111 BLOCK 0 8 1 dedicated as output value 0 0000_0000 BLOCK 2 24 17 configured as input value 255 1111_1111 BLOCK 3 32 25 configured as input value 255 1111_1111 BLOCK 4 40 33 configured as input value 255 1111_1111 BLOCK 5 48 41 configured as input value 255 1111_1111 BLOCK 10 88 81 dedicated as input value 255 1111_1111 TZ applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RI0 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TZ 290 313 SYSTEM CONFIG UI User Interrupt BIE UI n Usage UIn Arguments specified with an implicit comma separated order Description The UI command a
216. icate Handles A H respectively for interrupt transmission Remarks e _Elcontains the interrupt mask n1 e n4 0 means don t interrupt and clears the queue when issued e The interrupts marked with in the table below must be re enabled with EI after each occurrence e Bit 15 of ny must be set for the n2 input mask to be used If the handle specified by n3 is not UDP or is not initialized an error will occur GalilTools software will auto configure n3 allowing the user to ignore its use in most cases n1 Bit Mask Interrupt Bits 1 2bit Hex Status Byte Hex a decimal decimal cone 0 0001 1 D0 208 Axis A profiled motion complete _BGA 0 1 0002 2 D1 209 Axis B profiled motion complete _BGB 0 2 0004 4 D2 210 Axis C profiled motion complete _BGC 0 3 0008 8 D3 211 Axis D profiled motion complete _BGD 0 4 0010 16 D4 212 Axis E profiled motion complete _BGE 0 5 0020 32 D5 213 Axis F profiled motion complete _BGF 0 6 0040 64 D6 214 Axis G profiled motion complete _BGG 0 7 0080 128 D7 215 Axis H profiled motion complete _BGH 0 8 0100 256 D8 216 All axes profiled motion complete 9 0200 512 C8 200 Excess position error _TEm gt _ERm 10 0400 1024 CO 192 j Limit switch _LFm 0 _LRm 0 Must be profiling motion in direction of activated limit switch for interrupt to occur 11 0800 2048 D9 217 Reserved
217. ied axis e For step and direction modes n 2 2 2 5 2 5 the auxiliary encoder input for the axis is no longer available Examples Galil _DMC_Code Example MT 1 1 2 2 configure A as servo B as reverse servo C and D as steppers Mr 2 423 Interrogate motor type for A and B axis ErrorNumber Description Cause O 16 Number out of range Argument value is not valid Motor must be in MO Axis must be in motor off before changing MT Not 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 209 313 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 Supported on DMC 40x0 firmware rev 1 1e and above e MU returns the current multicast address setting
218. il 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 34 313 MATH FUNCTIONS 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 35 313 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 Descri
219. ill automatically launch on limit detection MG Limit Switch Routine wT 100 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 114 313 IO co Configure Extended I O ae Usage COn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The CO command configures which banks are inputs and which are outputs on the extended I O The extended I O points of the controller can be configured in banks of 8 The extended I O is denoted as bits 17 48 and banks 2 5 Arguments Argument Min Max Default Resolution Description Ss Notes Bitmask to configure extended IO as Bit 1 is outputs Bit 0 is inputs See n 0 15 1 inputs or outputs Table below CO Bitmask Description IO Bank IO points N A N A N A N A N A N A N A N A Remarks e None Examples Galil DMC Code Example co 15 Configure all points as outputs co 0 configure all points as inputs co 1 configures bank 2 as outputs on extended I O CO applies to DMC40x0 DMC42x0 DMC 21x3 DMC18x6 DMC18x2 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control CO 115 313 VECTOR LINEAR C R Circle BIET C
220. in 4 byte format e _MU contains the 32 bit multicast address number in two s complement Examples Galil DMC Code Example T 239 255 19 57 o 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 210 313 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 error 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 o
221. ing 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 313 INDEPENDENT MOTION BG Begin BERL BG mm 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 Multi Axis Mask Multi Axis Vector plane axes to Mask begin motion Multi Axis Virtual axis to begin Mask motion Any combination of axes is acceptable BG with no mm ABCDEFGH ABCDE
222. ions Feedback documentation galilmc com Galil Motion Control Ul 291 313 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 292 313 VECTOR LINEAR VA Vector Acceleration BAs jg VAm n VA n 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 accele
223. ions Feedback documentation galilmc com Galil Motion Control WT 305 313 XQ Execute Program lt a XQ str nj XQ no N Arguments specified with an implicit comma separated order _XxQi _XQ2 Operands SG Operand has special meaning see Remarks _XQ5 _XQ6 _XQ7 Description PROGRAMMING 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 8 programs may be executed simultaneously to perform multitasking Argumente mee Max Default _ Resolution Description Notes Aomeni ee a Dau gesout Label to begin code execution If omitted start from line 0 ng 0 rojo _ 3 999 a Line number to begin code execution Firmware Rev 1 2a and later 1 999 0 ni Remarks e _XQn contains the current line number of execution for thread n and 1 if thread t is not running 7 0 e If using ED to add code you must exit ED mode before executing code Examples Line number to begin code execution Thread number to execute code Galil DMC Code Example XQ ewe 0 Start execution at label apple thread zero XQ data 2 Start execution at label data thread two XQ Start execution at line 0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control XQ 306 313 STEPPER MOTOR YA Step Drive Resolution BIC S YAm n YA n n n n n
224. is an operand not a command It can only be used as an argument to other commands and operators e Extended IO must be configured as inputs by the CO command for valid results 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 o o Examples HandleNum is the handle specifier where A is 1 B is 2 and so on Module is the position of the module in the rack from 1 to 16 BitNum is the O point in the module from 1 to 4 Galil DMC Code Example MG IN 1 1 0000 IN 1 print digital input 1 iX X 1 000 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control IN 39 313 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 argumen
225. 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 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 218 313 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 Each set of 4 axes ABCD and EFGH has one digital output which can be configured to this mode of operation Arguments Argument i Resolution Description Notes Axis to enable Axes A D share one output compare axes E H share m A H output compare a second output compare output Absolute encoder 21147 483 647 position of first pulse Incremental 0 indicates single shot pulse in positive direction encoder distance 65536 indicates single shot when moving in the between pulses
226. is value will be 64 times greater than TV command velocity 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 247 313 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
227. ital 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 Motion Control El 139 313 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
228. ith the GD command above EN End program 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 158 313 ECAM GEARING GM Gantry mode Baca 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 implicit 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 Axis Axis to assign value n 1 Valu
229. itialized 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 AMP 43540 o AMP 43520 o AMP 43640 e There are several methods to initialize a motor with the Galil sine amplifier They are listed below Commutation of 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 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 i
230. ition Arguments Argument Min Max Default _ Resolution Description Notes pom a a na Ais xiv to assign value a ace n _ 2 147 483 648 2 147 483 647 Relative position for trippoint Only one axis may be specified at a time 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
231. ition 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 terror _TEA Sets the variable Error with the A axis position error 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control TE 276 313 INTERROGATION 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 08 01 1F 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
232. ive low configuration CN command the limit switch bits 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 _TSB Assigns value of TSB 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 lt x lt lt lt lt lt lt 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 286 313 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 ABCDEFGH ABCDEFGH Multi Axis Mask Axes to report output torque command Remarks e Torque output is limited by the val
233. l Motion Control Corrections Feedback documentation galilmc com Galil Motion Control GR 160 313 INDEPENDENT MOTION HM Home ERS Usage HMmm_ Argument is an axis mask Operand has special meaning see Remarks Description The HM command performs a three stage homing sequence for servo systems and a two stage sequence for stepper motors Arguments Argument Min Max Default Resolution Description Notes mm A ABCDEFGH ABCDEFGH Multi Axis Mask Axis to performing Homing Routine No argument homes all axes 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 comm
234. l Motion Control MG 206 313 SYSTEM CONFIG MO Motor Off BARL 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 ABCDEFGH ABCDEFGH 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 all motors MO A Turns off the A motor MO B Turns off the B motor MO CA Turns off the C and A motors SH Turns all motors on axis _MOA Sets variable axis equal to the A axis 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 207 313 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
235. l expression Arguments Argument i Resolution Description Notes Outputs 9 16 only valid on 5 8 axis controller See Remarks n 1 Modbus output bit specified See Remarks Expression that defines If ex is true non zero set output to 1 If ex is status of output false zero set output to 0 n 1 Output bit specified ex Expression 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 Extended IO must be configured as outputs by the CO command for proper operation with the OB command 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 1 to 4 For EtherCAT I O modules the IO command is used to map the module as an EtherCAT I O slave For Digital I O mapping syntax refer to the IO command 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
236. l 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 Arguments 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 Rea
237. lO lt S H H m Zzlo 7 ECAM Running in ECAM mode F Fault Amplifier Fault Examples EG Internal amp fault e g over current Galil DMC Code Example LU 0 MG L1 DMC 40x0 MG L2 Galil MC LU i Turns off the automatic LCD axis status updates Messages the string DMC 40x0 to line 1 of the LCD screen Messages Galil MC to line 2 of the LCD screen Turns on the automatic LCD status updates LU applies to DMC40x0 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LU 197 313 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 198 313 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 retu
238. lay move 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 176 313 INDEPENDENT MOTION JG Jog Aon JGm n JG n n n n n n n n Usage JGm n_ Arguments specified with a single axis mask and an assignment Gnn 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 7 22 000 000 22 000 000 cnts second For MT settings of 1 1 1 5 and 1 5 Servos 6 000 000 6 000 000 Value of jog speed in For MT settings of 2 2 2 5 and 2 5 cnts second Steppers 50 000 000 50 000 000 Vale of jog speed in cnts second ICM 42100 with 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 will set the SP register with the absolute value of the n value Resolution e The resolution of the JG command is dependent upon th
239. le labels Firmware Rev 1 2a and later 0 1 Examples Galil DMC Code Example pie 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 125 313 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 Notes 8 chars String Name of array to dimension 24 000 1 Number of array elements to assign to dimensioned Firmware Rev 1 2a and array later Number of array elements to assign to dimensioned array 16 000 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 _DMcontains the available array space
240. licited message port S T S Handle Set serial port as unsolicited message port m man serial port m T i Aux Serial port Remarks e Examples of application code commands that will generate unsolicited messages follow Galil DMC Code Example MG Hello A message MG TC 13 A command that returns a response TP r RP A i var A variable interogation var te thisIsAnError A dmc error will generate an error message Ethernet Handle as Unsolicited Message Port 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
241. lilmc com Galil Motion Control VP 300 313 VECTOR LINEAR VR vector Speed Ratio SEI VR no Ny1 Usage VR Nn Arguments specified with an implicit comma separated order Operands _VRm 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 wil ratio all the previous vector speed commands Arguments Argument Mn Max Default Resolution ___Deserbption_ _ Notes 1 65 536 Vector ratio specified for the S coordinate plane 1 65 536 Vector ratio specified for the T 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 VR is useful for feedrate override particularly when specifying the speed of individual segments using the operator lt and gt _VRm contains the vector speed ratio of the specified coordinate system where m S or T _VRS contains the vector speed ratio of the specified coordinate system Examples Galil DMC Code Example a Vector Program WM AB 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
242. ll 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 DMC4040 Rev 1 1e 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ARAV 51 313 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 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 H 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 e
243. ll be set if the encoder doesn t set the start bit within 30uS PO Error bit 1 Warning bit 1 No Warning Warning os O 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 1 17 17 0 lt 10 Renishaw RESOLUTE 1 RA 18B xx xxxx xx X 1 19 19 0 lt 10 Renishaw RESOLUTE Z RL 26B xx xxxx XX X 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
244. ll 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 313 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 has special meaning see Remarks Description The BD command sets the commutation phase of a sinusoidally commutated motor manually When us
245. llows 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 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 Correct
246. lowed by a carriage return The entered value is assigned to the specified variable name The IN command holds up execution of folowing commands in a program until a carriage return or semicolon is detected If no value is given prior to a semicolon or carriage return the previous variable value is kept Arguments Argument Min Max Resolution Description Notes str 0 chars 74 chars String The prompt message See Remarks arg N A N A N A The variable where the response will be placed Remarks The IN command may only be used in thread 0 Do not include a space between the comma at the end of the input message and the variable name Entire command must be less than the total maximum line length This determines the maximum length of str Backlash character will clear the IN command trippoint The variable will not be overwritten in will be last set value e The IN command can only be used with a serial connection to the controller e Input Interrupts Error Interrupts and Limit Switch Interrupts will still be active during the prompt Examples Galil DMC Code Example Operator specifies length of material to be cut in inches and speed in inches sec 2 pitch lead screw 2000 counts rev encoder a Program A IN Enter Speed in sec v1 Prompt operator for speed IN Enter Length in v2 Prompt for length v3 v1 4000 Convert units to counts sec v4 v2 4000 Convert units to counts SP v3 Speed command PR v4
247. lt the factory for single ended use When using Sin Cos encoders AF5 12 o The encoder must be connected to the controller prior to issuing the AF command o TP wil provide position resolution of 2 AFM counts per cycle One cycle is four quadrature counts For exampke 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 vl _AFA Assign feedback type to variable KP 1 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 70 313 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 AGn 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 Rem
248. lue 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 for 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 E feedback 1 analog 0 digital feedback This provides evenly sampled analog data Analog hardware sampled in the for both the data record and the Seve interrupt RAVRD RC function Sinusoidal encoder input used with 24n interpolation counts per ICM 42100 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 The analog voltage range is set using the AQ command AQ must be set prior to setting AF The analog feedback is decoded by a 12 bit A D converter An upgrade option is available for 16 bits ICM 42100 required to use sine feedback Differential encoder inputs must be used when using digital encoders with the ICM 42100 Consu
249. mber 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 For EtherCAT I O modules the IO command is used to map the module as an EtherCAT I O slave For Digital I O mapping syntax refer to the IO command 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 41 313 REAL convert Floating Point to Galil 4 2 BIE REAL n Usage variable REAL value Performs a function on a 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 4
250. ment 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 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SD 258 313 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 postition and to enable servo control at the current position Arguments Argument Min Max Default Resolution Description Notes mm A ABCDEFGH ABCDEFGH Multi Axis Mask Axes
251. meout period e The timeout can be changed in the Galil software but this warning does not affect the operation of the controller or software Examples Galil DMC Code Example BPs Burn in program to controller Get colon response when done 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BP 96 313 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 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 Correction
252. mmand 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 15 51 15 Enable the position tracking mode for axes A B C and D 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 i user must update the variables v1 v2 v3 and v4 from the host PC or another thread operating on the controller PA v1 v2 v3 v4 Command ABCD axes to move to absolute positions 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 variable at a specified rate The controller will update the new target position 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 2
253. mmands move the motor until an encoder index pulse is detected Arguments Argument Min Max Default Resolution Description Notes mm A ABCDEFGH N A Multi Axis Mask Axes 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 motion 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 FI 154 313 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 axi
254. n 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 Enable the mode YSH 1 Query the value TyS e 2 0 0 0 0 0 0 0 1 Response shows H axis is enabled Galil DMC Code Example 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 311 313 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 H 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 cont
255. n for the specified coordinate system Examples Galil DMC Code Example vector Vector Program Label VM AB 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 294 313 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 counts Remarks e The VE command wil apply to the selected coordinate system S or T To select the coordinate system use the command CAS or CAT e _VEm contains the length of the vector in counts for the specified coordinate system S or T Examples Galil DMC Code Example vector V
256. n 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 The auxiliary encoders are not available for the stepper axis or for any axis where output compare is active The operand _DEm as well as _TDm holds the current aux encoder position n wil return the encoder position as returned by TD Examples Galil DMC Code Example DE 0 100 200 400 Set the current auxiliary encoder position to 0 100 200 400 on A B C and D axes DE Return auxiliary encoder positions i 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 122 313 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
257. n the A axis WM AN Specify vector motion in the A and N plane vs 1000 Specify vector speed CR 1000 0 360 Generate sine wave with amplitude of 1000 counts start at 0 degrees and complete one cycle CR 1000 0 360 lt 40000 Generate same sine wave with same amplitude f but run at faster speed higher frequency VE End Sequence BG S Start motion 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 117 313 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 T N A Axis Coordinate plane specified to clear buffer Remarks e _CSm contains the segment number in the sequence specified by m S or T e This operand is valid in the Linear mode LM and Vector mode VM Examples Galil DMC Code Example clear Label CA T Specify the T coordinate system vector points vP 1000 2000 vector Position vP 4000 8000 vector Position cS T Cle
258. n 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 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 NOT
259. nate system as set by the CA command CR ES LE LI LM TN VE VM VP Arguments Min Max Default Resolution Description Notes S T S Axis Coordinate plane to specify Remarks e CA returns a 0 if the S coordinate system is active and a 1 if the T coordinate system is active e _CA contains a 0 if the S coordinate system is active and a 1 if the T coordinate system is active Examples Galil DMC Code Example CA T Specify T coordinate system WM AB Specify vector motion in the A and B plane vsT 10000 Specify vector speed CR 1000 0 360 Generate circle with radius of 1000 counts start at 0 degrees and complete one circle in counterclod VE End Sequence BG T Start motion of T coordinate system CA applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com kwise direction Galil Motion Control CA 106 313 I0 CB Clear Bit B 15 CB n Usage CBn Arguments specified with an implicit comma separated order Description The CB command clears a particular digital output The SB and CB Clear Bt instructions can be used to control the state of output lines Arguments Argument i Resolution Description Notes General output bit to be cleared Max value is 8 for 1 4 axis controllers Extended I O output bit to be I O must be configured for outputs see CO cleared command Clear Modbus sl
260. ncoder 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 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 52 313 IO OPERAND ONLY _LF Forward Limit Switch Operand sat Usage variable _LF Operand has special meaning see Remarks De
261. nctions 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 __ Notes P om JAH NAC Ais Axstoassgnvane 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 disp
262. nd 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 execution Arguments Argument i Resolution Description ABCDEFGH ABCDEFGH 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 mo
263. negative direction no 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 The output compare signal will go low and stay low at a specified absolute encoder position e This is done by specifying nj 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 on axes A D o OCE 0 wil disable the Circular Compare function on axes E H e The circular compare output is a low going pulse with a duration of approximately 250 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 for an axis configured as a stepper The auxiliary encoder of the corresponding axis cannot be used when in this mode o Dual loop mode which uses the aux encoder input will not operate when the OC command is enabled The OC function requires that the main
264. notinterrupt_ Default Tinterrupt on carage return 2 Tinterrupt orrany character Remarks e For more see Operator Data Entry Mode in the user manual Examples Galil DMC Code Example Scr 13 Interrupt when the key is received on port 2 CE 2 Interrupt on a single character received on Port 2 CI applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control Cl 112 313 CONTOUR MODE CM contour Mode I SILI 156 CM mm Usage CMmm__ Argumentisanaxismask 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 Max Default Resolution Description Notes mm A ABCDEFGH N A Multi Axis Mask Axes 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 Examples Galil
265. ns the latched position of the specified axis Examples Galil DMC Code Example JG 5000 Set up to jog the B axis BG B Begin jog AL Be Arm the B latch assume that after about 2 seconds input goes low IRL B 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 251 313 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 ABCDEFGH ABCDEFGH Multi Axis Mask Axes to report commanded position Multi Axis Mask Virtual axes 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 position 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 moto
266. nt LE Last segment of sequence BG S Begin sequence LI applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation gaiilmc com Galil Motion Control LI 193 313 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 194 313 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 ABCDEFGH N A Multi Axis Mask Axes 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
267. nt 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 68 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 Examples Galil DMC Code Example IK 1 Blocks undesirable port communication IK 0 Allows all Ethernet ports to be used IK applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control IK 172 313 FILTER CONTROL IL Integrator Limit I wA AT 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 f
268. ntation Extended Output Bank 2 3 n2 Remarks Decimal representation Extended Output Bank 4 5 e Bit patterns for extended I O banks where available configured as inputs have no affect on the IO status Output Mapping Examples Example Command Issued Hex version Bits Set Bits Cleared 1 4 axis Set all outputs OP255 OP FF 1 8 5 8 axis Set all outputs OP65535 OP FFFF 1 16 Clear all outputs OPO OP 0000 1 16 Alternating on off OP43690 OP AAAA 2 4 6 8 10 12 14 16 1 3 5 7 9 11 13 15 Set High Byte OP65280 OP FFO0 9 16 1 8 Set Low Byte Examples OP255 OP 00FF 1 8 9 16 Galil DMC Code Example oP 0 Clear Output Port all bits OP 85 Set outputs 1 3 8 and clear the others MG _OPO Returns the parameter nO 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control OP 224 313 ERROR CONTROL OT offon encoder failure time BAs jS OTm n OT n n n n n n n n 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 be
269. ntil 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 ABCDEFGH N A Multi Axis Mask Axes 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 BG Begin find edge FE A Only find edge on A BG A Galil DMC Code Example FE B Only find edge on B IBG B FE CD Find edge on C and D BG CD 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 153 313 INDEPENDENT MOTION FI Find Index ARER SS FI mm Usage FImm Argument is an axis mask Description The FI and BG co
270. 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 all parameter states 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BN 94 313 SINE COMMUTATION BO Brushless Offset BAR ie 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 _BOm Operand holds the value last set by the command Description Operands 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 Resolution Description Axis Axis to assign value 20 65 536 Offset applied to DAC output in volts Remarks Internal Sine Drive 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 External Sine Drive e When using a third party external sine drive each motor axis requires two control axes Therefore for 4 axes of external sine control an 8 axis controller is required e In this configuration BO sets the offset for both DACs Each member of a pair of axes has its own BO value e When measuring DAC output voltage t
271. o assure that the output voltage equals the BO parameters set the PID and OF parameters to zero Examples Galil DMC Code Example Assume a two axis controller BA A BA allows the control of an external sine drive with the use of two axis This is now a one axis controller Axis B is used as the secondary DAC for axis A commutation BO 2 1 Generates the DAC voltage 2 on the first DAC A and 1 on the second DAC B of a sinusoidally commutated dri ve 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 313 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 memory 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 Legacy Software Note This command may cause the Galil software to issue the following warning A time out occurred while waiting for a response from the controller This warning is normal and is designed to warn the user when the controller does not respond to a command within the ti
272. oad 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 directly 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
273. ode vP 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 313 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 i Axis to assign value n 1 uses dedicated hall inputs n 0 clears configuration Inputs 9 16 only valid for 5 8 axis controller Select starting General input for hall sensor use Select starting extended input for hall sensor use Select starting auxiliary encoder input for hall sensor use See Remarks Remarks e The inputs can be the general use inputs the auxiliary encoder inputs or the extended I O inputs The Hall sensors of each axis must be connected to cons
274. 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 109 313 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 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
275. on Notes Multi Axis Axes to initialize for sine amps mm removes all axes configured for sine Mask commutation Multi Axis Disabke sine initialization for all Mask axes Remarks ABCDEFGH N A Galil Sine Drive Use e _BAm vil contain a 1 if the BA command has been issued for the speciifed axis or a 0 if it has not Third Party Sine Drives Requiring Dual Analog Inputs Rare If more than one dual DAC setup is going to be used both axes must be specified in the same BA command 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 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 Galil DMC Code Example this exmaple is exclusively for Third Party Sine Drives that require Dual Analog Inputs which is rare controller revision string will show DMC4040 BA AB MG _BAA will return 2 0000 MG _BAB will return 3 0000 controller revision string will show DMC4020 BA applies to DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Fee
276. on crosses the specified relative distance from the start of the move 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 e Not valid for a slave during ECAM or Gearing use MF and MR e 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 e The AD command is accurate to the number of counts that occur in 2 TM msec e AD command wil be affected when the motion smoothing time constant IT is not 1 See IT command for further information e AD measures incremental distance from start of move on one axis Examples Galil DMC Code Example a DP 0 0 Zero position PR 10000 20000 Specify position relative moves BG Begin motion AD 5000 After A reaches 5000 MG Halfway to A TP A Send message AD 10000 After B reaches 10000 MG Halfway to B TP B 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 69 313 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 va
277. on mode for C and D axes LI 100 200 Specify linear distance LE Ends linear interpolation distance BG S Begin motion of the S coodrinate system 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 191 313 LI Linear Interpolation Distance Aon LIm n lt o gt p LI n n n n n n n n lt o gt p VECTOR LINEAR Usage LIm n Arguments specified with a single axis mask and an assignment LIn 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 H Resolution Axis Description Axis to assign value 8 388 607 8 388 607 Assigns linear interpolation point for that axis 2 22 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 For MT 1 1 1 5 and 1 5 6 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 For MT 2 2 2 5 and
278. or auxiliary encoder position will be captured upon a low going signal from the specified digital input Arguments Argument i Max Default Resolution Description Notes Multi Axis Mask ABCDEFGH N A Encoder to latch Latch main encoder Multi Axis Mask TATBICTDTETFIGTH N A Index Input to trigger latch SASBSCSDSESFSGSH N A Encoder to latch Remarks Latch input by Axis Latch Input Input 1 Input 2 Input 3 Input 4 Input 9 Input 10 Input 11 Input 12 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 XTIOIM M VSO wo y gt Latch aux encoder Main encoder is latched from the index pulse instead of a digital input 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 A 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 loop _ALA 1 RL A Transmit the latched position EN End of program Galil DMC Code Example a 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
279. or sine drive option o o o o Note that the rev number at the end of each line of the ID command indicates the hardware revision of that board Newer board revisions will have a higher revision value Examples INTERROGATION Galil DMC Code Example ID Connector J3 Communications Board CMB 41012 3 3 volt i o Galil Motion Control ID 166 313 Connector Pl Stepper Amplifier Board AMP 44040 Connector P2 Stepper Amplifier Board AMP 44040 ID applies to DMC40x0 DMC42x0 DMC41x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ID 167 313 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
280. otion Control Table of Content 5 313 P2ST Serial port 2 string 230 PA Position Absolute 231 PF Position Format 232 PL Pole 233 PR Position Relative 234 PT Position Tracking 235 PV PVT Data 236 PW Password 237 QD Download Array 238 QH Query Hall State 239 QP Query Parameters 240 QR IO Data Record 241 QS Error Magnitude 242 QU Upload Array 243 QZ Return Data Record information 244 RA Record Array 245 RC Record 246 RD Record Data 247 RE Return from Error Routine 248 REM Remark 249 RI Return from Interrupt Routine 250 RL Report Latched Position 251 RP Reference Position 252 RS Reset 253 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 ST Stop 268 SY Serial encoder BiSS active level 269 TA Tell amplifier error status 270 TB Tell Status Byte 271 TC Tell Error Code 272 TD Tell Dual Encoder 275 TE Tell Error 276 TH Tell Ethernet Handle 277 TI Tell Inputs 278 TIME Time Operand 279 TK Peak Torque Limit 280 TL Torque Limit 281 TM Update Time 282 TN Vector Tangent 283 TP Tell Position 284 TR Trace 285 TS Tell Switches 286 Galil Motion Control Table of Content 6 313 TT TV TW TZ Ul UL VA VD VE VF VM VP VR VS VV WH WT XQ YA YB YC YR YS ZA ZS Tell Torque Tell Velocity Timeout for MC trippoint Tell O Config
281. otion sequence may be specified with the AM command For example AM AB waits for motion on both the A and B axis to be complete AM with no parameter specifies that motion on all axes to be complete Arguments Argument i Default _ Resolution mm ABCDEFGH ABCDEFGH Mask Axes to wait for profiled motion to complete OF Vector plane to wait for profiled motion to complete Firmware Rev 1 2a and later Virtual axis to wait for Any combination of axes profiled motion to complete is acceptable Remarks e AMis avery 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 program sequence use the operand _BGn which will be zero when profiled motion is complete see BG command Examples Galil DMC Code Example move Program MOVE PR 5000 5000 5000 5000 Position relative moves BG A Start the A axis AM A after the move is complete on A BG B Start the B axis AM B after the move is complete on B BG C Start the C axis AM C
282. our full motor steps of error Query the value of all axes QS 0 253 0 0 0 0 0 0 Response shows all axes error values 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 242 313 INTERROGATION Q U Upload Array SE QU str no n1 n2 Usage QUn Arguments specified with an implicit 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
283. over the time period specified by the command DT ranging from 2 to 256 servo updates Arguments Argument i Resolution Description Axis Axis to assign value 1 Contour position segment Incremental position move Time override option Time override Pauses contour buffer at the segment with t 1 Reissue DT option to re engage contour mode t 0 with n 0 disables Contour mode See Remarks 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 CMBC is terminated with CD 0 0 0 o The user must have a space after CD in order to terminate the Contour Mode correctly The command CDO 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 AB Enter Contour Mode DT 4 Set time interval cD 1000 2000 Specify data cD 2000 4000 Next data cD 0 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 511 EN End Program 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
284. pecified coordinate system S or T Enabling Vector Mode 1 2 NO WB W Specify the desired coordinate system to use with the CA command S is defaut Specify the vector plane to be used with the VMm0m1 command If using tangent axis include that as the m2 parameter 1 EG for a AB vector plane 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 Examples a VM VP VP CR VE BG AM EN a VM VP VP CR VE BG AM EN Galil DMC Code Example AB Specify motion plane 2 vector end pr End Program Galil DMC Code Example pa Program Label p vector end Si Begin motion sequence Se wait for vector motion to complete am End Program Program Label 1000 2000 Specify vector position 1000 2000 2000 4000 Specify vector position 2000 4000 1000 0 360 Specify arc s Begin motion sequence Ss wait for vector motion to complete AN Specify motion plane
285. perand has special meaning see Remarks Description The TN command describes the tangent axis to the coordinated motion path ng is the scale factor in counts degree of the tangent axis nj is the absolute position of the tangent axis where the tangent axis is aligned with zero degrees in the coordinated motion plane The tangent function is useful for cutting applications where a cutting tool must remain tangent to the part Arguments Argument Min Max Default Resolution Description Notes no 127 127 0 0 004 Scale factor in counts degree of the tangent axis ni 8 388 608 8 388 607 0 1 Absolute position of tangent axis where the tangent angle is 0 Remarks e When operating with stepper motors ng is the scale factor in steps degree e The tangent axis is specified with the VMm0mim2 command where m2 is the tangent axis o For example VMABD specifies the D axis as the tangent axis Operand Usage e _TNm where m S or T contains the first position value for the tangent axis in the specified vector plane This allows the user to correctly position the tangent axis before the motion begins o _TNm wil change based upon the vector path described in the VM declaration See the example below n also reports this value Examples Use a 2D table with a tangent cutting blade to cut a half circle Ensure that the blade is oriented before turning on the saw The saw is activated with output 1 ki 1000 CR 100
286. perands 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 211 313 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 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control MW 212 313 FILTER CONTROL NB Notch Bandwidth BAs jg NBm n NB n n n n n n n n Usage NBm n__ Arguments specified
287. peration 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 44 313 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 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 45 313 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
288. 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 187 313 SYSTEM CONFIG LB LCD Bias Contrast I Bs N LB n Usage LBn Arguments specified with an implicit comma separated order Operand holds the value last set by the command Description The LB command sets the Bias contrast on the LCD Arguments Argument Min Max Default Resolution Description Notes n 15 15 15 1 Sets LCD Contrast A n will turn on the optional backlight Remarks e A higher absolute value of n increases the bias contrast Examples Galil DMC Code Example LB 8 Sets the LCD bias contrast to 8 MG _LB Returns set LDC bias contast 8 0000 HB 55 Sets the LDC bias contrast to 5 and turns on optional backlight LB applies to DMC40x0 DMC42x0 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control LB 188 313 STEPPER MOTOR 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 ord
289. ption 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 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 36 313 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
290. r 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 subnet 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 313 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
291. r 3 arr 0 0 arr 1 1 rarr 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 The answer is 123 MG A13 10 A48 A055 Specifies carriage return line feed and the characters 0 and 7 in ASCII decinjal values 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 MG The answer is total F4 2 will print the message and the value of variable total formatted with 4 integey digits and 2 fractional digits Galil Motion Control MG 205 313 a M Messages the operand TIME 261928200 0000 variable 10 Sets the variable equal to 10 MG variable 5 Messages out variable 5 15 0000 IMG _TIO Messages the value stored in the operand _TIO 255 0000 Galil DMC Code Example CF A Messages configured to go out Ethernet handle A MG EB var Override CF and send the value of variable var to B handle Galil DMC Code Example LU 0 Turns off automatic axis status updates on the LCD ct 1 Sets variable ct to 1 rpm 1432 Sets variable rmp to 1432 MG Lipie spp L2 F1 O0 ct F4 0 rpm Prints CT SPD on line one of the LCD and 1 1432 on the second line EN 2015 Galil Motion Control Corrections Feedback documentation galilmc com Gali
292. r reference position PF 6 0 Change to hex format RP 0000cC8 position _RPA Assign the variable position the value of RPA Galil DMC Code Example Assume that ABC and D axes are commanded to be at the positions 200 10 0 110 respectively The returned units are in quadrature counts PF 7 Position format of 7 RP Return A B C D reference positions 200 10 0 110 RP A 200 Return the A motor reference position IRP B 10 Return the B motor reference position PF 6 0 Change to hex format RP 0000C8 FFFFF6 000000 FFFF93 Return A B C D in hex position _RPA Assign the variable position the value of RPA Galil DMC Code Example GA N make A axis slave to N imaginary axis GR 1 1 1 gearing SPN 10000 PRN 10000 BG N Begin motion IRP N Get master position 10000 RP AG 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 252 313 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
293. ration rate of the vector in a coordinated motion sequence Arguments Argument i Default Resolution Description m 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 293 313 VD Vector Deceleration BERLU S VDm n VD n 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 Vector 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 Axis n 1 073 740 800 256 000 1 024 Remarks e _VDm contains the value of the vector deceleratio
294. reezes 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 profiled move has completed RP has reached final commanded position the integrator loop will be enabled Examples Galil DMC Code Example KI 2 3 5 8 Integrator constants IL 3 2 7 2 Integrator limits TL Ps Returns the A axis limit 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control IL 173 313 PROGRAMMING IN Input Variable SNe IN str arg Usage Nn Arguments specified with an implicit comma separated order Description The IN command allows a variable to be input from a keyboard When the IN command is executed in a program the prompt message is displayed The operator then enters the variable value fol
295. remental 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 A negative 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 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 Galil Motion Control Sl 260 313 information This error mode is very rare and is expected to occur only in development 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 SIA 1 25 25 0 lt 10 gt 1 Encoder on axis A replaces main encoder TP
296. rk 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 OA 1 enable B axis encoder error detection 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 1loop 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 loop a lt _BV ALT 13 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 217 313 I0 OB Output Bit E OB n ex Usage OBn Arguments specified with an implicit comma separated order Description The OB command allows 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 logica
297. rned 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 Removes 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 199 313 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 leve
298. roller 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control SB 256 313 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 INTERROGATION Argument Min Max Default Resolution Description Notes mm A ABCDEFGH N A Multi Axis Mask Axis to query stop code Omitting argument shows stop code for all axes 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 Decelerating or stopped by Stop Command ST Stopped by Abort input Stopped by Abort command AB Decelerating or stopped by Off on Error OE1 WlAINIDA A WIN R oO Stopped after finding edge FE Stopped after homing HM or Find Index FI Pile ejo Stopped by selective abort input m N Decelerating or stopped by encoder failure OA1 For controllers supporting OA OV OT 15 Amplifier Fault For controllers with internal drives m a Stepper position m
299. roller 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 DMC41x3 DMC18x6 DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ZA 312 313 PROGRAMMING ZS Zero Subroutine Stack BIN 5 ZS n Arguments specified with an implicit comma separated order _zsi _ZS2 Operands oe Operand has special meaning see Remarks _ZS5 _ZS6 _ZS7 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 ee oe ee eceiareee ree aare 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 7 o The response an integer between zero and sixteen indicates zero for beginning condition and
300. rted Galil Motion Control AB 67 313 INDEPENDENT MOTION AC Acceleration Bs US 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 Operands _ACm 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 m H N N A Default Resolution Description N A i Axis to assign value Virtual axis to assign value 1 073 740 800 256 000 Acceleration rate a Resolution and Min depend on TM see 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 follow 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 calculate these values is o Resolution Min 1024 1000
301. s o Absolute Mode nj n2 The controller 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 3 Galil recommends using o 9 for most encoders o To calculate o for a desired frequency in MHz use the equation o 10 f 1 Round to the closest integer in range Remarks e SIm Returns the configuration parameters Required Hardware and Firmware e SS requires the BISS part number adder at time of hardware order Contact Applications to upgrade hardware already shipped Galil Motion Control SS 265 313 Operand Usage e _SSm Returns 4 bits of axis status data where m is the axis _SSm Bit Map 0 Timeout Status No timeout _ Timeout occurred Timeout wi
302. s Feedback documentation galilmc com Galil Motion Control BQ 97 313 SYSTEM CONFIG BR Brush Axis BIC SS BRm n BR 1n 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 Axis to assign value Argument Description Notes n Configured for external drive Use for external drives with internal sine amps D3640 D3540 and D3520 Configured for Brushless servo Default Configured for Brush type servo Use for axes with external drives on D3040 and D3020 to avoid hall errors 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 AMPERR 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 Note If the controller has been previously configured with the
303. s 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 H 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 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 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
304. s 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 BA a enable brushless mode BM a 2000 must be set per inidividual motor specifications Galil Motion Control BX 102 313 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 Ctc 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
305. s the speed of these axes Va Vb and Vc respectively will be computed from a a Te 2 VS VV4tV5tVec 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 BGS or BG T command should be issued before the total LI distance reaches 1 073 741 824 230 encoder counts Linear Interpolation Mode Buffer 1 Up to 511 LI segments may be given ahead of the begin sequence BG S or BG T 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 responsibility of the user to keep enough LI segments in the controller s sequence buffer to ensure continuous motion 4 _LMm _LMS and _LMT contains the available spaces for LI segments that can be sent to the buffer 1 511 returned means the buffer is empty and 511 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 192 313 lt o gt p behaviour Commanded Vector Speed Segment n Examples Galil DMC Code Example LM ABC Specify linear interpolation mode between A B and C axis LI 500 400 Specifies linear interpolation point B axis remains stagnat but is still part of the interpolation LI 1000 2000 3000 Specify linear interpolation poi
306. scription The _LF operand contains the state of the forward limit Arguments Argument Min Max Default Resolution Description m A H 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 flowing 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 53 313 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 Rem
307. 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 1 1 1 1 Enables dual loop on all axes DV 0 Disables DV on A axis DV 1 1 Enables dual loop on C axis and D axis Other axes remain unchanged DV 1 0 1 0 Enables dual loop on A and C axis Disables dual loop on B and D 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 131 313 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 Axis to assign 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 Examples Galil DMC Code Example REM example using A axis as ECAM master and B axis as ECAM
308. slave camone master 400 slave 8192 EB 0 Disable ECAM Mode EA A Set Master Axis as A EM master slave EP master 4 0 ET 0 0 ETL1J 2048 ET 2 4096 ET 3 6144 ETL4J 8192 DP 0 0 SH AB NOTE EP Value of Cam Points must be gt to Master Modulus JG 100 BG A EB 1 EG O Start ECAM profile 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 132 313 ECAM GEARING EB Enable ECAM ae Usage EBn Arguments specified with an implicit 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 133 313 ECAM GEARING EC ECAM
309. subroutines that are run automatically by the firmware when a particular event occurs There is a maximum of 510 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 313 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 manual Thread 0 does not need to be r
310. t 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 64 313 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control gt 65 313 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 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
311. t 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 47 313 PROGRAMMING JS subroutine stack variable ms C 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 by reference Arguments Argument Min Max Default Resolution Description Notes L s fat na Jna Stack variable name a b c d e f g h 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
312. t number for handle m _IHm2 0 Handke is free Handle Available in TH 1 Handle connected as UDP slave 2 Handle connected as TCP slave 1 Handle connected as UDP master 2 Handle connected as TCP master Galil Motion Control IH 169 313 5 Attempting to establish UDP handle GCC Attempting toestabish TCP hande tHm3 0 CARP was successful s G ARP faied or stil in progress o o _IHm4 Waiting for ACK from slave controler after issuing a command _ _ _ Received as response to a command Po Received as response to a command Po Connection timed out waiting for a response to a command Po 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 setti ng 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 IH applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO0 DMC30010 DMC500x0 DMC52xx0 2015 Galil
313. t 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 Corrections Feedback documentation galilmc com Galil Motion Control INT 40 313 Io OUT Read digital output ENC 5 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 General output to query Outputs 9 16 only valid for 5 8 axis controller Extended output to query See Remarks Set Modbus slave bit See Remarks Remarks e Extended IO must be configured as outputs with the CO command for valid response e OUT is an operand not a command It can only be used as an argument to other commands and operators 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 nu
314. tation galilmc com Galil Motion Control AN 32 313 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 Description 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 33 313 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 Gal
315. tead 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 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 62 313 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 Remarks e None Examples Galil DMC Code Example x 5 x 2 5 0
316. tes Set the sampk time The minimum value varies based on axis count and a alee in usecs firmware usage See Remarks Remarks TM 1000 will actually set an update rate of 976 microseconds Thus the value returned by the TIME operand wil 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 Axis Count Minimum TM o000006000C CO 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 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 282 313 VECTOR LINEAR TN vector Tangent EE f TN no Ny Usage INn Arguments specified with an implicit comma separated order Operands _TNm O
317. the Valid arguments slave s master CA CB CC CD CE CF CG CH DA DH Master axis aux encoder as the slave s Valid arguments master DA DB DC DD DE DF DG DH N A Axis Vector plane as the slave s master p PM NA Axis Virtual axis as the slave s master Po 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 ae REM setup gearing where B axis is master for A and C axes gear MO B Turn off servo to B motor GA B B Specify master axis as B on A and C GR 25 53 Specify A and C gear ratios SH B Enable B axis PRB 1000 BG B Move B axis 1000 counts A axis will be commanded to move 250 counts positive C axis will be commanded to move 5000 counts EN End program Galil DMC Code Example REM imaginary axis example imag oe 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 cC 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 157 313 ECAM GEARING GD Gear
318. 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 239 313 QP Query Parameters SIE QP 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 e QP is onl valid on firmware Rev 1 2a and later QP response row descriptions Row ID Field 1 Field 2 Field 3 Field 4 SYSTEM CONFIG INTERROGATION Description of the row PR characters per line number of lines flash 1 ram 0 N A Determines the dimensions of the program and the runtime location of the program Examples number of array elements number of arrays number of variables number of labels Determines the dimensions of the variables and arrays Galil DMC Code Example QP only valid on firmware Rev 1 2a and later PR 80 4000 0 VA 24000 30 510 510 QP applies to DMC500x0 DMC40x0 DMC42x0 DMC41x3 DMC30010 RIO DMC18x6 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control QP
319. the change is negative specify the absolute value for n Examples Galil DMC Code Example REM example using A axis main encoder as master B axis main encoder as the slave cam REM define A axis encoder as master for ECAM EA A REM REM EM command options REM REM define slave modulus as 0 returns to original position REM and define master modulus as 4000 EM 4000 0 REM REM another valid EM settings for this configuration REM gt EMA 4000 define A axis master modulus as 0 EMB 0 define B axis slave modulus as 0 REM REM REM define master increment as 1000 counts table entry EP 1000 ET OJ 0 ET 1 1000 ETL2 2000 ET 3 1000 ETL4 J 0 REM enable ECAM mode EB 1 REM engage when master is at 0 position EG 0 0 EN Galil DMC Code Example EA C Select C axis as master for ECAM EM 0 3000 2000 Define the changes in A and B to be O and 3000 respectively Define master cycle as 2000 v _EMA Return cycle of A 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 141 313 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
320. the current position value for the specified axis e Omitting mm returns the position of all axes Examples Galil DMC Code Example Assume the A axis is at the position 200 decimal the B axis_is at the position 10 decimal the C axis is at position 0 and the D axis is at 110 decimal The returned parameter units are in quadrature cqunts PF 7 Position format of 7 TP Return A B C D positions 200 10 0 110 TP A Return the A motor position TP B Return the B motor position PF 6 0 Change to hex format TR Return A B C D in hex 0000C8 FFFFF6 000000 FFFF93 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 284 313 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 ian Sid aca a Set threads to trace by See Remarks bitmask 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 thre
321. 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 f 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 Examples Galil DMC Code Example a Program A TT 1 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 Interrupt subroutine ST A MG INTERRUPT AM A Stop A print message wait for motion to complete AI 1 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 II 171 313 ETHERNET IK Block Ethernet ports BCI f IK n Usage IKn Arguments specified with an implicit comma separated order Description The IK command blocks clie
322. the program for which the listing will start Remarks Specifies the line at which the listing will end e no lt n1 must always be true e If no or nq 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 LS a 6 2 a 3 PR 500 4 BGA 5 AM 6 wr 200 Galil DMC Code Example 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 196 313 LU LCD Update SEI LU n SYSTEM CONFIG Usage LUn Arguments specified with an implicit comma separated order Operand has special meaning see Remarks Description The LU command turns the automatic axes status update on the LCD on or off Arguments Argument Description Notes n 0 Turns off the automatic LCD axis updates This allows users to print their own messages to the LCD Turns on the automatic LCD axis updates Default Remarks e _LU contains the current setting of the LU command either 1 or 0 Automatic LCD Axis Status Updates e TheLCD displays the following pattern o ABCDEFGH ommmmmmmm where m is the axis status for axes ABCDEFGH and is Axis Status Description Related Commands Example Causes O Xl V
323. 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 a Program Label cc 9600 0 1 0 CI 2 interrupt on any character loop MG Loop print a message every second wT 1000 JP loop COMINT MG COMINT P2CH S1 print a message and the received character EN 1 1 End this subroutine re arming trip points that f were running and re enabling the CI mask COMINT applies to DMC40x0 DMC42x0 DMC41x3 DMC21x3 RIO DMC30010 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control COMINT 15 313 PROGRAMMING IO SUBROUTINE FININT Input interrupt automatic subroutine BIN D Description Automatic subroutine that runs upon a state
324. ther it is recognized by Galil PC software which strips away 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 ex
325. thread ED4 EN Returns XQ Galil Motion Control ED 135 313 This message is This message is This message is This message is This message is This message is This message is This message is from from from from from from from from thread thread thread thread thread thread thread thread ONOMBWNE 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control ED 136 313 ECAM GEARING EG Ecam go engage Ea S EGm n EG n n n n n n n n Usage EGm n_ Arguments specified with a single axis mask and an assignment __ EGn 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 H 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 ne
326. til specified 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 this call blocks and waits for the remote logic to return 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 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control Al 72 313 AL arm Latch Bacs AMON AL mm Usage ALmm_ Argument is an axis mask Operand has special meaning see Remarks Description IO 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
327. tine stack variable 48 L K Lock program 49 R S Master Reset 50 R V Revision Information 51 _GP_ Gearing Phase Differential Operand 52 _LF Forward Limit Switch Operand 53 _LRm_ Reverse Limit Switch Operand 54 Galil Motion Control Table of Content 2 313 Bitwise OR Operator 55 Variable Axis Designator 56 Addition Operator 57 lt Less than comparator 58 lt Less than or Equal to comparator 60 lt gt Not Equal to comparator 61 Equal to comparator 62 Assignment Operator 63 gt Greater than comparator 64 gt Greater than or Equal to comparator 66 AB Abort 67 AC Acceleration 68 AD After Distance 69 AF Analog Feedback Select 70 AG Amplifier Gain 71 Al After Input 72 AL Arm Latch 73 AM After Move 75 AO Analog Output 76 AP After Absolute Position 77 AQ Analog Input Configuration 78 AR After Relative Distance 79 AS At Speed 80 AT At Time 81 AU Set amplifier current loop 82 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 CA Coordinate Axes 106 CB Clear Bit 107 CC Configure Communications Port 2 108
328. tion 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 code to display error conditions on LCD SERERR LU 0 MG SERERR L1 MG _SSA L2 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 313 TCPERR Ethernet communication error automatic subroutine ae Description
329. tion m H 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 KD 12 14 16 20 Implicit notation to set A B C D axis derivative term KDC 8 Explicit notation to set C KD 948 Implicit notation to set C KD 2 2 22 e Return A B C D values 12 14 8 20 KDC 7 Return C value 8 MG _KDA Message the operand for the A axis 12 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 0 Zero KD ER 1 1 Rurn off position error limit OF 1 2 Set one volt on A and two volts on B EN 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control KD 183 313 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 th
330. tion 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 i Max Default Resolution Description Notes Line number to set Firmware Rev 1 2a and later n null resumes breakpoint execution Line number to set breakpoint Thread number to set breakpoint n null resumes execution 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 LineNumber breakpoint encountered o 2147483648 breakpoint not armed Examples Galil DMC Code Example IBK 3 Pause at line 3 the 4th line in thread 0 BK 5 Continue to line 5 SSL Execute the next line SiL 35 Execute the next 3 lines BKA Resume normal execution 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control BK 91 313 ERROR CONTROL BL Reverse Software Limit BAs jS BLm n BL n n n
331. tions Feedback documentation galilmc com Galil Motion Control OT 225 313 ERROR CONTROL OV offon encoder failure voltage ARC OVm n OV n n n n n n n Nn 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 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 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 i OVB 1 2 Set B axis encoder detection torque value to 1 2v Ov 0 54 Set A axis encoder detection torque value to 0 54V
332. 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 61 313 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 Ins
333. to the TK Peak Torque limit for a short amount of time Arguments 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 280 313 FILTER CONTROL TL Torque Limit I wA AT 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
334. to use for record mode e If arrays specified 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 torque 1000 Define Array RA torque Specify Array to record data RD _TTA Specify Data Type RC 2 Begin recording and set 4 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 G
335. turns 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 313 MATH FUNCTIONS Division Operator SIE no ny Usage variable valuei value2 Performs an operation between two values or evaluated 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 _ Resol
336. ue set for the TL command e _TTm contains the value of the torque for the specified 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 287 313 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 Max Default Resolution Description Notes mm A ABCDEFGH ABCDEFGH Multi Axis Mask Axes 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 288 313 ERROR
337. umber Examples received a number OPERAND ONLY ARAV ARAS MG P2CD 0 0000 MG P2CD 1 0000 MG P2CD 3 0000 MG P2CD 2 0000 Galil DMC Code Example DMC2240 Rev 1 00 CC 9600 0 0 0 iMG TEST P2 send a message to the hand terminal no characters entered on hand terminal the number 6 was pushed on the hand terminal enter key pushed on hand terminal the character B was pushed shift f2 then enter P2CD applies to DMC40x0 DMC42x0 DMC41x3 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control P2CD 227 313 OPERAND ONLY P2CH seriar port 2 character BACI L Usage variable P2CH P2CH Operand has special meaning see Remarks Description P2CH returns the last character sent to the auxiliary serial port port 2 Arguments P2CH is an operand that holds a value cooresponding to ASCI characters sent over the serial port See Examples for use in code Remarks e None Examples Galil DMC Code Example ARAV DMC2240 Rev 1 00 ARAS cc 9600 0 0 0 MG TEST P2 send a message to the hand terminal MG P2CH S1 the 6 button was pushed on the hand terminal 6 P2CH applies to DMC40x0 DMC42x0 DMC41x3 DMC500x0 DMC52xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control P2CH 228 313 OPERAND ONLY P2NM serial port 2 number BI LI
338. unning 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 e When an external servo driver is used on an axes where the AMP 430x0 is also installed the axis should be setup as a brushed motor BRm 1 otherwise the lack of hall inputs will cause an amplifier error 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 Galil DMC Code Example a N REM Detailed AMPERR example Uses LCD to display amplifier error information REM and remains in AMPERR routine until the error is cleared AMPERR REM mask out axes that are in brushed mode for _TA1 mask C _BRH 128 _BRG 64 _BRF 32 _BRE 16 _BRD 8 _BRC 4 _BRB 2 _BRA mask coM mask mask C_TA1 amp mask amp 0000FFFF LU 0 turn off auto update of LCD REM amplifier error status on LCD MG A ER TAO L1 TAO L2 wT 2000 MG A ER TAL L1 mask L2 wT 2000 MG A ER TA2 L1 TA2 L2 wt 2000 MG A ER TA3 L1 _TA3 L2 wT 2000 LU 1 turn on Automatic Axis Up
339. upt the program sequencer 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 245 313 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 os a Specify the record array time interval FENE eNi Specify the nS of records to nz 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
340. uration User Interrupt Upload Vector Acceleration Vector Deceleration Vector Sequence End Variable Format Vector Mode Vector Position Vector Speed Ratio Vector Speed Vector Speed Variable Which Handle Wait Execute Program Step Drive Resolution Step Motor Resolution Encoder Resolution Error Correction Stepper Position Maintenance Mode Enable Status User Data Record Variables Zero Subroutine Stack 287 288 289 290 291 292 293 294 295 296 297 299 301 302 303 304 305 306 307 308 309 310 311 312 313 Galil Motion Control Table of Content 7 313 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 313 Subtraction Operator Bos 0
341. ution 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 313 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 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 t
342. ve Label move Tw 1000 1000 Set motion complete timeout to 1000 milliseconds per axis PR 2000 4000 Position relative Move on A and B axis BG AB Start the motion on A and B axis MC AB after the move is complete on A and B axes MG DONE Print message EN End of Program 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 203 313 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 H Axis Axis to assign value Position required to be crossed before subsequent i 2 147 483 648 21147 483 697 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
343. vn 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 Resolution Description m i Axis to assign value i 0 22 000 000 256 Value of Homing Velocity in cnts second 6 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 163 313 PROGRAMMING HX Halt Execution SEI HX n Arguments specified with an implicit comma separated order _HX1 _HX2 Operands me Operand has special meaning see Remarks _HX5 _HX6 _HX7 Description The HX command halts the execution of any program that is running The parameter n specifies the thread to be halted Arguments Argument Min Max Default Resolution Description Notes n 0 7 N A 1 Thread number to halt If n omitted all threads are halted Remarks e When used as an operand _
344. 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 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
345. 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 273 313 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 the error code Examples Galil DMC Code Example GF32 Bad command TC 1 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 274 313 INTERROGATION TD Tell Dual Encoder Aon 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
346. with m digits to left of decimal and n to the right o Zm n Same as Fm n but suppresses 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 F G or H Printing to the LCD e Like with other message routing modifiers the folowing should be placed at the beginning of the message right after MG o Lx Sends the message to the LCD where x is 1 or 2 for the toandor bottom line of the LCD respectivly o The message cannot be more than 8 characters when sent to the LCD screen excess characters will not be shown o The LU command must be set to 0 for user messages sent to the LCD to appear Examples Valid uses of n4 argument Galil DMC Code Example Values iMG 1234 5678 1234 5678 variables var 12345678 9101 MG var 12345678 9101 Operands MG GAN 1 0 0121 Array Elements DM ar
347. xx0 2015 Galil Motion Control Corrections Feedback documentation galilmc com Galil Motion Control PV 236 313 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 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 237 313 SYSTEM CONFIG QD Downl

Download Pdf Manuals

image

Related Search

Related Contents

  ex -1010  RCA DVR2080 User's Manual  Bedienungsanleitung  取扱説明書  BRZ Drift Button - Perrin Performance  PATIENT LIFTER Operating manual Omnilift 170    Brinkmann TableTop Grill    

Copyright © All rights reserved.
Failed to retrieve file