Home

Firmware Manual

image

Contents

1. Syntax Accepts Axis Mask Hardware DMC40x0 DMC41x3 DMC300x0 Full Description The BT command begins PVT motion on the specified axes All axes will begin at the same time For more details on PVT mode see the user manual Arguments BTnnnnnnnn where n is A B C D E F G H or any combination of axes Operand Usage _BTn contains the number of PV segments that have executed Usage Usage and Default Details Yas Controller Usage DMC 40x0 DMC 18x6 and others via upgrade Default Value N A Default Format N A Related Commands PV PVT Data MF Forward Motion to Position Trippoint MR Reverse Motion to Position Trippoint Examples MG_BTX Query number of PVT segments executed 0 0000 gt PVX 100 200 100 Command X axis to move 100 counts reaching an ending speed of 200c s in 100 samples PVX 100 0 100 Command X axis to move another 100 counts reaching an ending speed of Oc s in 100 samples PVX 0 Command X axis to exit PVT mode BTX Begin PVT mode MG_BTX Query number of PVT segments executed 3 0000 Syntax Two Letter Only Burn Variables and Array araware Full 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
2. Examples S Servo A B C D motors SHA Only servo the A motor the B C and D motors remain in its previous state SHB Servo the B motor leave the A C and D motors unchanged SHC Servo the C motor leave the A B and D motors unchanged SHD Servo the D motor leave the A B and C motors unchanged Note The SH command changes the coordinate system Therefore all position commands given prior to SH must be repeated Otherwise the controller produces incorrect motion Syntax Explicit Only burnable with BN Configure the special Galil SSI feature Hardware DMC40x0 DMC41x3 araware IDMC21x3 DMC300x0 Full Description 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 There are two items required when connecting an SSI encoder to a DMC 40x0 special SSI firmware and the controller SSI option 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 lower
3. Examples OB 1 POS 1 If POS 1 is non zero Bit 1 is high If POS 1 is zero Bit 1 is low OB 2 IN 1 amp IN 2 f Input 1 and Input 2 are both high then Output 2 is set high OB 3 COUNT 1 If the element 1 in the array is zero clear bit 3 OB N COUNT 1 If element 1 in the array is zero clear bit N Syntax Explicit Only Operands O urn not burnable DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The OC command sets up the Output Compare feature also known as Pulse on Position Each set of 4 axes ABCD and EFGH has one digital output which can be configured to pulse on a specified axis absolute encoder position and optionally on a delta encoder change after that These operations are known as one shot and circular compare respectively One Shot Compare The output compare signal will go low and stay low at a specified absolute encoder position Circular Compare After the one shot the cicular compare can be configured to pulse low at a relative delta thereafter This function cannot be used with any axis configured for a step motor and the auxiliary encoder of the corresponding axis can not be used while using this function The OC function requires that the main encoder and auxiliary encoders be configured exactly the same see the command CE For example CE 0 CE 5 CE 10 CE 15 OC only requires an encoder and is independent of axis tuning and motion profiling For circular
4. ID DMC400016 bit adc option rev 0 Connector J3 Communications Board CMB 41012 3 3 volt i o rev 0 Connector Jl 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 Example ID This ID response is applicable to the following part number DMC 4020 C012 1000 SST eID DMC4000 rev O0 Connector J3 Communications Board CMB 41012 3 3 volt i o rev 0 Connector J1l 42000 SSI rev 0 Description of response DMC4000 bits rev 0 where bits 16 bit adc option if 16bit option ordered No string returned here indicates standard 12 bit analog input Connector J3 Communications Board CMB 41012 IO type rev 0 where IO type 3 3 volt i o for standard 3 3V extended IO 5 volt i o for 5V option ordered Connector J1 J2 icm type encoder rev 0 where J1 A D axes J2 E H axes No string is output for J2 on a 1 4 axis controller icm type specifies the ICM model number used 42000 is the I000 option 42100 is the 1100 option 42200 is the 1200 option encoder specifies the encoder option available on this ICM Sine indicates sin cos encoder support SST indicates SSI encoder support Biss option indicates BiSS encoder support An empty string after the sign indicates that it is a standard ICM with no additional encoder option Conn
5. Syntax e Explicit or Implicit Bun burnable with BN Notch Bandwidth DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The NB command sets real part of the notch poles Arguments NB n nn n n nnn or NBA n where n is ranges from 0 Hz to Operand Usage _NBn contains the value of the notch bandwidth for the specified axis Usage Usage and Default Details While Moving Yes Default Value 0 5 InaProgram Yes Default Format 3 1 Command Line Yes Controller Usage ALL CONTROLLERS Related Commands NF Notch Filter NZ Notch Zeros Examples _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 for the A axis value Explicit or Implicit burnable with BN DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The NF command sets the frequency of the notch filter which is placed in series with the PID compensation Arguments NF n n n n n n n n or NFA n where n ranges from 1 Hz to 1 4 TM Hz where TM is the update rate default TM is 1000 n Returns the value of the Notch filter for the specified axis Operand Usage _NFn contains the value of notch filter for the specified axis Usage Usage and Default Details Usage While Moving es In a Program es ommand Line es ontroller Usage All A While Moving Yes Default Value 0
6. Full Description The YA command specifies the resolution of the step drive in step counts per full motor step for Stepper Position Maintenance mode Arguments YA m m m m m m m m YAn m where nis A B C D E F G or H or any combination to specify the axis or axes m is 0 to 9999 which represents the drive resolution in step counts per full motor step For the SDM 44040 m is 1 2 4 or 16 for full half 1 4 and 1 16 step drive resolution respectively YA actually sets the configurable hardware step drive resolution for the SDM 44040 For the SDM 44140 set m to 64 when using stepper position maintenance mode The 44140 step drive is fixed at 64 step counts per full motor step and is not modifiable with the YA command Operand Usage _YAn contains the resolution for the specified axis Usage Usage and Default Details ommand Line Dn ontroller Usage Related Commands QS Error Magnitude YS Stepper Position Maintenance Mode Enable Status YB Step Motor Resolution YC Encoder Resolution YR Error Correction Examples 1 Set the step drive resolution for the SDM 44140 Microstepping YA 64 64 64 64 2 Query MG_YAD 264 0 the 000 D axis value Response shows D axis step drive resolution Drive Explicit or Implicit burnable with BN Step Motor Resolution DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The YB comm
7. 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 Syntax Explicit or Implicit Position Tracking ieee eae X X DMC18x2 DMC300x0 Full Description The PT command will place the controller in the position tracking mode In this mode the controller will allow the user to issue absolute position commands on the fly The motion profile is trapezoidal with the parameters controlled by acceleration deceleration and speed AD DC SP The absolute position may be specified such that the axes will begin motion continue in the same direction reverse directions or decelerate to a stop When an axis is in the PT mode the ST command will exit the mode The PA command is used to give the controller an absolute position target Motion commands other than PA are not supported in this mode The BG command is not used to start the PT mode The AM and MC trip points are not valid in this mode It is recommended to use MF and MR as trip points with this command as they allow the user to specify both the absolute position and the direction The AP trip point may also be used Arguments PT n n n n n n n n where n 0 or 1 where 1 designates the controller is in the special mode n returns the current setting Operand Usage _PTn contains the set state of position tracking 1 or 0 U
8. Command Line Controller Usage Default Format Default Value Related Commands ABS n Absolute value Examples MG SQR 2 1 4142 MG SOR 2 1 4142 oun aa Jno Tangent Hardware All Full Description Returns the Tangent of the given angle in degrees Arguments TAN m where m is a signed number in degrees in the range of 32768 to 32767 with a fractional resolution of 16 bit Operands N A Usage Usage and Default Details While Moving Ye Default Value N A Related Commands ASIN Arc sine COS Cosine ATAN Arc tangent ACOS Arc cosine SIN Sine Examples MG TAN 23 0 4245 Square Brackets Array Index Operator Full 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 Arguments string n where string is the array name up to 8 characters Note If the array will be passed by reference on the subroutine stack JS the array name MUST be 6 characters or less n 1 returns the array length n is the array index and is an integer between 0 and 15999 Operand Usage N A Usage Usage and Default Details While Moving No RIO Ye Command Line Yes Controller Usage All Default Value N A Default Format N A Related Commands DM Dimension Array QU Print Upload Array Examples DM A 50
9. DMC40x0 DMC41x3 Hardware DMC18x6 DMC18x2 DMC300x0 UI pushes a user defined status byte into the EI queue UI can generate 16 different status bytes FO to FF 240 255 corresponding to UIO to UI15 When the UI command e g UIS is executed the status byte value e g F5 or 245 is queued up for transmission to the host along with any other interrupts The UDP interrupt packet dispatch may be delayed If immediate packet dispatch is required use the message command MG to send a unique message to the host software 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 Arguments UIn where n is an integer between 0 and 15 corresponding to status bytes FO to FF 240 255 STATUS BYTE CONDITION FO 240 UI or UIO was executed F1 241 UII was executed F2 242 UI2 was executed F3 243 UI3 was executed F4 244 UI4 was executed F5 245 UI5 was executed F6 246 UI6 was executed F7 247 UI7 was executed F8 248 UI8 was executed F9 249 UI9 was executed FA 250 UI10 was executed FB 251 UI11 was executed FC 252 UI12 was executed FD 253 UI13 was executed FE 254 UI14 was executed FF 255 UI15 was executed Operand Usage N A Usage Usage and Default Details lt es lt In a Program es ommand Line es ontroller Usage Default Value While Moving Default Format Rel
10. Disables the timeout n Returns the timeout in msec for the MC command for the specified axis Operand Usage _TWhn contains the timeout for the MC command for the specified axis Usage Usage and Default Details While Moving Yes Ye Command Line Yes Controller Usage Default Value 32766 Default Format Related Commands MC Motion Complete trippoint MCTIME Motion Complete Timeout Automatic Subroutine Examples Syntax e Two Letter Only Eo DMC40x0 DMC41x3 DMC21x3 RIO Hardware Tell I O Configuration Full Description The TZ command is used to request the I O status This is returned to the user as a text string Arguments N A Operand Usage N A Usage Usage and Default Details Related Commands TI Tell Inputs SB CB Set Clear output bits OP Output port CO Configure I O Examples TZ 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_ 1 BLOCK 3 32 25 configured as input value 255 _ 1 BLOCK 4 40 33 configured as input value 255 1111_ 1 BLOCK 5 48 41 configured as input value 255 1111_ 1 BLOCK 6 56 49 configured as input value 255 1 BLOCK 10 88 81 dedicated as input value 255 _ 1 User Interrupt Full Description Syntax Implicit Only
11. GR 0 Disengage the gearing between the Y axis slave and the master The gearing will be disengaged over the number of counts of the master specified with the GD command above EN End program GM Syntax Explicit or Implicit Gantry mode Hardware _ DMC40x0 DMC41x3 DMC21x3 IDMC18x6 DMC18x2 DMC300x0 Full Description The GM command specifies the axes in which the gearing function is performed in the Gantry mode In this mode the gearing will not be stopped by the ST command or by limit switches Only GRO will stop the gearing in this mode Arguments GM n n n n n n n n or GMA n where n 0 Disables gantry mode function n 1 Enables the gantry mode n Returns the state of gantry mode for the specified axis 0 gantry mode disabled 1 gantry mode enabled Operand Usage _GMn contains the state of gantry mode for the specified axis 0 gantry mode disabled 1 gantry mode enabled Usage Usage and Default Details While Moving Yes Ye Command Line Yes Controller Usage Default Value po Default Format Related Commands GR Gear Ratio GA Gear Axes Examples GM 1 1 1 1 Enable GM on all axes GM 0 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 Hint The GM command is useful for driving heavy load on both sides Gantry
12. IA IP Address MW Modbus Wait Examples Seiad Accepts Axis Mask amp Trippoint Operands none DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The MC command is a trippoint used to control the timing of events This command will hold up execution of the following commands until the current move on the specified axis or axes is completed and the encoder reaches or passes the specified position Any combination of axes may be specified with the MC command For example MC AB waits for motion on both the A and B axis to be complete MC with no parameter specifies that motion on all axes should complete before code continues The command TW sets the timeout to declare an error if the encoder is not in position within the specified time If a timeout occurs the trippoint will clear and the stopcode will be set to 99 An application program will jump to the special label MCTIME if present When used in stepper mode the controller will hold up execution of the proceeding commands until the controller has generated the same number of steps as specified in the commanded position The actual number of steps that have been generated can be monitored by using the interrogation command TD Note The MC command is recommended when operating with stepper motors in lieu 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
13. TR Trace e TS Tell Switches TT Tell Torque e TV Tell Velocity e TW Timeout for IN Position MC e TZ Tell I O Configuration e UI User Interrupt e UL Upload VA Vector Acceleration VD Vector Deceleration e VE Vector Sequence End VE Variable Format e VM Vector Mode e VP Vector Position e VR Vector Speed Ratio e VS Vector Speed e VV Vector Speed Variable WH Which Handle e WT Wait e XQ Execute Program e YA Step Drive Resolution e YB Step Motor Resolution e YC Encoder Resolution YR Error Correction YS Stepper Position Maintenance Mode Enable Status ZA User Data Record Variables ZS Zero Subroutine Stack Overview This command reference is a supplement to the Galil User Manual Resources on www galilmc com Printable version Product Manuals Application Notes Newest Firmware Sample DMC code Learning Center Support and Downloads What is DMC code DMC Digital Motion Controller code is the programming language used for all Galil hardware It is a high level interpreted language which is simple to learn and use yet is surprisingly powerful Actively developed and refined since 1983 DMC code provides functionality that is particularly well suited to motion control and PLC applications DMC code can be used manually from a terminal programmatically from an e
14. The semicolon operator allows multiple Galil commands to exist on a single line It is used for the following three reasons 1 To put comments on the same line as the command STX stop 2 To compress DMC programs to fit within the program line limit Note use a compression utility to do this Do not program this way because it is hard to read 3 To give higher priority to a thread All commands on a line are executed before the thread scheduler switches to the next thread Arguments n n n n where n is a valid Galil command Operand Usage N A Usage Usage and Default Details In a Program Command Line Controller Usage Default Value Default Format Related Commands NO No Op comment comment Examples SB1 WT500 CB1 multiple commands separated by semicolons with a comment High High priority thread executes twice as fast as a a t 1 b be41 JP High Low Low when run in parallel c cHil d d JP Low Absolute value Hardware All Full Description Takes the absolute value of the given number Returns the value if positive and returns 1 times the value if negative Arguments ABS n where n is a signed number in the range 2147483647 to 2147483647 Operand Usage N A Usage Usage and Default Details In a Program Command Line Controller Usage Default Value Default Format Related Commands All math operators Examples MG AB
15. 0 4 1 Upload Array 20 0000 0 0000 0 0000 0 0000 0 0000 array 0 9 Set value array 1 1 QU array 0 4 1 9 0000 1 0000 0 0000 0 0000 0 0000 array 0 Alternative method to return just one array value 9 0000 Syntax Two Letter Only Return Data Record information Hardware All Full Description The QZ command is an interrogation command that returns information regarding data record transfers The controller s response to this command will be the return of 4 integers separated by commas The four fields represent the following First field returns the number of axes Second field returns the number of bytes to be transferred for general status Third field returns the number bytes to be transferred for coordinated move status Fourth field returns the number of bytes to be transferred for axis specific information Arguments QZ Operand Usage N A Usage Usage and Default Details While Moving No RIO Related Commands DR Ethernet data record update rate RA Examples Syntax e Implicit Only Record Array Hardware All Full Description The RA command selects one through eight arrays for automatic data capture The selected arrays must be dimensioned by the DM command The data to be captured is specified by the RD command and time interval by the RC command Arguments RA nf J mf o lpi Jal Jr 1 sf 1 tL where n m 0 p q r s and t are dimensioned arrays as defin
16. 5 2 E O O Cc t e oO go lt lt 5 OPT eis n o aj ejl z 5 o S amp ej l Sj e o 5 aj 5 S on gi zis m 5 o g 31 09 Sl a 7 F T i Q g ear axis both master and follower not valid for RIO RIO Contouring record range error Contour data being sent too slowly uestion mark not valid O oa enk ie e 5 oa Z Q j CF f fe 5 a gt ch z a Dn m z n A 5 oa Error in uestion mark part of string Missing or IF statement without ENDIF Array space full o 20 CO SD NIL DAI AY DD Nt Guy Quip Quip Quay Quay Qnyp Quayy Qn Qnyy By Ay BYP Go Oo WT OT OT NT NJI N N AJ oj Nj N afl wj Nj ee Ol CU NT DTT Ny By WPT MOT Rt Ol AT MTT ej oe Oo NTP RT OT CO oyun A SH ZI Sl Zi gi I S 2 Si FISI Si Sy Sh z Q oj z o S S oneta Sirol Oo Ono le lH Sil Ay Als serene ys isis Q s EI 5I E Ie ll el lt ss EEIEIEE B JAA EIEEE SVEN I lt 5 5 SSe HT SHE Tale SHEVA oHEVSHeSHell evel eS el Sq ell F co Salle 5 gt i ello O x Hs I gt 5 a 5 SYeHEeYyeiysi lt I Preys ial aii lt SUSH lt eile llell 2 7 os 2 amp Sel EEIE el I2 Soles ee wl Olio gt SHS ST Oye ojx I lt S OHollolylsii lt e O a lt D colle z oO siall 4 SS ls Sie i 2 SHE I Oll S 2 eS o j 5 Q o al 5 O el ga a ae l z 5 Q 2 e Z 5 ra x lt o z z
17. Bitwise Logical Operators AND and OR EN End lt gt lt gt lt gt Comparison Operators a b c d e f g h JS subroutine stack variable Examples JS SQUARE V1 lt 5 Jump to subroutine SQUARE if V1 is less than 5 JS LOOP V1 lt gt 0 Jump to LOOP if V1 is not equal to 0 JS A Jump to subroutine A unconditionally Advanced Usage Examples 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 at b c d e f g h Return the sum Dimension two arrays DM array1 10 DM array2 100 Zero the contents of each array IS ZeroAry arrayl 0 IS ZeroAry array2 0 EN U U Zero the contents of an array ZeroAry a array b starting index a b 0 b b 1 JP ZeroAry b lt a 1 EN i 1 Counter loop offset spellti Calculate offset JS offset Jump to offset i i 1 Increment Counter JP loop 1i lt 3 Loop through 3 states EN spell Subroutine containing various words MG One EN Prints One if this line is called i 1 MG Two EN Prints Two if this line is called i 2 MG Three EN Prints Three if this line is called i 3 REM Controller responds with REM One REM Two REM Three Explicit or Implicit Burn burnable with BN De
18. Implicit Only Syntax pee f 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 Full Description AT n 1 specifies n samples from the reference This is useful when TM is lowered and faster application loop times are required Arguments ATn m where n is a signed even integer in the range 0 to 2 Billion n 0 defines a reference time at current time n gt 0 specifies a wait time of n msec from the reference time n lt 0 specifies a wait time of n msec from the reference time and re sets the reference time when the trippoint is satisfied m 0 or ommitted specifies n to be in ms m specifies n to be in samples AT n is equivalent to AT n AT lt old reference n gt Usage Usage and Default Details Danve O Beiroa O E Operand Usage Related Commands TIME Time Operand TM Update Time WT Wait Examples jog propotional to analog input example with AT in ms AT n main0 ATO set time reference for AT command JGO BGX start Jog mode gain 1 atloop jgspd gain AN 1 JG jgspd AT 100 wait 100 ms from last time referenc last AT n or ATO REM same function
19. None Operand Usage _BV returns the number of controller axes Usage Usage and Default Details In a Program Command Line Controller Usage Default Format Default Value Related Commands BP Burn Program BN Burn Parameters Burn Program Note 1 This command will store the ECAM table values in non volatile EEPROM memory Note 2 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 timeout period This occurs because this command takes more time than the default timeout of 5 sec The timeout can be changed in the Galil software but this warning does not affect the operation of the controller or software Examples BW Syntax Explicit or Implicit burnable with BN Brake Wait Hardware DMC40x0 DMC41x3 IDMC300x0 Full 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 enable 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 i
20. TCP lost sync NII NJI N Alu A losed Ethernet handle N N p llegal Modbus function code N oo iw Q Nyy DI a Shs Y 3 amp BJ 2 a Sle S amp Se aE a DW ajz oll z2 siie o 2 Ong olle E e lt 2 Bile S o SJs a Ra gt aje 5 e e a SIG oj 5 SB ila o re 6 2 O a an fale 5 a 3 Nn o s el sI 5 5 elses s 5 S el sI slee eNNI 5 ololol o ololollololololo ollo ololollololololholololololo r A e 0 ES oe i am aii BE eai ee ee l S aa l r eer ie e jji e EEr EE eE oe EEE a EEE EE a a aa er lt lt lt lt lt lt lt lt lt lt I lt lt lt lt lt lt lt lt fl lt lt lt lt I lt I lt lt lt lt lt silsilesi s Stoll s i s i s fis sls S S siislslislislslilslslhslislsl sls S ESIE Say SE ESE SE SE SE S E S SS SEI SE SE SS yp SE SE S S ep S E ajejejl a ajej eljejeiliejjeljle aj a ay ayayasyayasyasyayaiyayatyaiya Qa SY SO OT S amp S SHON OHOHOH Ol oll So oll oe SCHON OHOH SOW OW OU SU OU OV SOW SOW S o ZISIS A SIASIA Bl BYR RY RT BI RI RT ST SY RR Bye ge OH Ul Ul Ti Cl Cl Cl a gen ge Seal g SI Sl Sl Sl Sil Sl Ail alld Zi Zi ZI ZI ZI ZI SI ZIZI ZIZI zI z z eJ ojoj i aT a A Oj olol Of OF OFT Ol O Ol Ol O O O kal go a 2 3 z x i W erial Port Timeout ie N Oo 0S io
21. Using a Galil SDM drive with LC When using an integrated Galil stepper drive LC may leverage a hardware feature providing for a fraction of the total holding torque to be used at rest Sending LCO MO may be necesary to shut off all current to the SDM in the motor off MO state Consult the user manual for the SDM to be used for further details Arguments LC m m m m m m m m LCn m where m 0 Normal stepper drive always on m 1 Low current stepper mode m Returns whether the axis is in low current stepper mode m can also be an integer between 1 and 32767 specifying the number of samples to wait between the end of the move and when the amp enable line toggles Operand Usage _LCn contains the low current setting Usage Usage and Default Details Deva Jo Related Commands MT Motor Type Examples MTZ 2 LCZ 1 Specify stepper mode for the z axis Specify low current mode for the z axis Explicit or Implicit burnable with BN Limit Disable Hardware DMC40x0 DMC41x3 DMC18x6 DMC300x0 Full Description Disables limit switches Soft limits BL and FL are still in effect This feature should be used to gain additional digital inputs if limit switches are not used or if there is a noise problem which causes limit switch conditions even though no limit switches are connected Arguments LD n n n n n n n n or LDA n where n 0 enabled default n 1 forward limit disabled n 2 reverse limit disabled n 3
22. 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 This is a binary operator takes two arguments and returns one value Mathmatical operations are calculated left to right rather than multiplication and division calculations performed prior to addition and subraction Example 1 2 3 9 not7 It is recommended that parenthesis be used when more than one mathmatical operation is combined in one command Example var 10 30 60 30 evaluates as 302 var 10 30 60 30 evalutes as 12 Arguments m m where m is any value variable array element operand or At functions SIN 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 Operands N A Usage Usage and Default Details Ye Default Value N A Related Commands N A Examples varl 1 2 var2 varl 1 MG var2 2 6 0000 Syntax Operator or Comparator not burnable Comparison Operators Hardware All Full Description The comparison operators are as follows lt less than gt greater than equals lt less than or equal gt greater than or equal lt gt not equals These are used in conjunction with IF JP JS amp and to perform conditional jumps The result of a comparison expression can also be p
23. A 0 MG A 0 lt 3 array DM A 5 A 0 MG A 0 len A l 3 Ie QU Al 0O len 1 1 MG 1 length len MG N AT m define a 50 element array set first element to 3 print element 0 A O J Example Output i define a 5 element array set first element to 3 print element 0 variable len now contains the length of print entire array display Variable len XQ array A 0 3 3 4320 216666 217522 607950 A length 5 array A a b c d e f g h a JS subroutine stack variable _ IDMC40x0 DMC41x3 IDMC18x6 DMC300x0 Full Description Provides local subroutine access for up to 8 variables passed on the subroutine stack when using the JS Gump to subroutine command 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 See the JS command for a full explanation of passing stack variables Notes 1 Passing parameters has no type checking so it is important to exercise good programming style when passing parameters See examples below for recommended syntax 2 Do not use spaces in expressions containing 3 Global variables MUST be assigned prior to any use in subroutines where variables are passed by reference 4 Arrays passed on the stack must have names no longer than 6 chars 5 Stack ze
24. AMPERR REM mask out axes that are in brushed mode for _TA1 mask _BRH 128 _BRG 64 _BRF 32 _BRE 16 _BRD 8 mask COM mask mask _TAl mask amp SOO000FFFF LUO turn off auto update of LCD REM amplifier error status on LCD MG A ER TAO L1 _TAO L2 WTI2000 MG A ER TAI1 L1 mask L2 WT2000 MG A ER TA2 L1 _TA2 L2 WI2000 MG A ER TA3 L1 _TA3 L2 WTI2000 LU1 turn on Automatic Axis Update of LCD WT5000 REM the sum of the amperr bits should be 0 with no ampli er _TAO mask _TA2 _TA3 JP AMPERR erO REM Notify user amperr has cleared LUO MG AMPERR L1 RESOLVED L2 WT3000 LU1 R G Di ERR example nd remains in AMP ERR subroutine fier error has occured Uses LCI D to display ampli ERR routine until the error is cleared fier error to peripheral hardware restoring trippoints that were running fier error BRA B 2 _ _BRC 4 _BR fier error Subroutine to run automatically upon power up Hardware All Full Description AUTO defines code to run automatically when power is applied to the controller or after the controller is reset When no host software is used with the controller AUTO and the BP command are required to run an application program on the controller Upon controller startup application code will automatically begin ru
25. AUTO automatic subroutine to indicate where code execution should start on boot up The Galil controller will now run standalone not requiring any intervention from the host Note that for serial and Ethernet controllers the standalone controller can still actively work with other controllers in a network without host intervention PCI and other PC bus based controllers support this approach although still require the PCI bus for power GalilTools GT is provided as a programming environment for developing embedded applications Host centric Programming If a GUI or other frontend is desired to be run on a host all development can be conducted on the host PC with the architecture operating system and programming language of choice In this approach the controller receives every command from the host PC nothing is running embedded Many Galil firmware features are available to facilitate host centric programming including mode of motion buffers data logging buffers asynchronous data record updates from the controller PCI and UDP interrupt events and more GalilTools GT is bundled with a programming library API for programming applications from a host Many popular operating systems and languages are supported Hybrid Programming Perhaps the most versatile approach to Galil system design the Hybrid approach allows for both embedded code and host side code to work in tandem Typically an application is developed for
26. EN End Program Hint Vector Distance is calculated as the square root of the sum of the squared distance for each axis in the linear or vector mode Syntax Explicit Only Amplifier Bandwidth Hardware JDMC40x0 DMC41x3 areal IDMC21x3 DMC300x0 Full Description The AW command accepts the drive voltage volts and motor inductance millihenries and uses the current loop gain setting AU as the default and then reports the calculated bandwidth The user can check how the amplifier bandwidth is affected by changing the n parameter The AU command uses the transfer function for the AMP 430x0 for the calculation of the bandwidth Arguments AWx v l n where x Axis designator v Drive voltage in Volts 1 Motor inductance in millihenries n optional current loop gain setting 1 or 0 Operand Usage N A Usage Usage and Default Details While Moving In a Program Yes Command Line Yes Default Format Controller Usage DMC 40x0 DMC 21x3 with AMP 430x0 AMP 205x0 or AMP 20440 Related Commands TA Tell Amplifier AG Amplifier Gain BS Brushless Setup Examples AWY 60 5 0 Sets a 60 volt drive motor with 5 millihenries inductance and normal current loop gain 4525 732 Is the bandwidth in hertz Syntax Accepts Axis Mask Brushless Axis DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description Galil Sine Drive Use For axes equipped with a Galil sine driv
27. EN Hint 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 Explicit or Implicit burnable with BN Forward Software Limit DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full 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 The forward limit is activated at one count past the set value The forward limit is disabled at 2147483647 The units are in quadrature counts When the forward software limit is activated the automatic subroutine LIMSWI will be executed if it is included in the program Arguments FL n n n n n n n n or FLA n where n is a signed integers in the range 2147483648 to 2147483647 n represents the absolute position of axis n 2147483647 turns off the forward limit n Returns the value of the forward limit switch for the specified axis Operand Usage _FLn contains the value of the forward software limit for the specified axis Usage Usage and Default Details Default Value 2147483647 Related Commands BL Reverse Limit PF Position Formatting Examples FL 150000 Set forward limit to 150000 counts on the A axis TEST Test Program AC 1000
28. Operand Usage N A Related Commands RE Return from error subroutine RI Return from interrupt subroutine Examples A Program A PR 500 Move A axis forward 500 counts BGA Begin motion AMA Pause the program until the A axis completes the motion EN End of Program Syntax Embedded Only End of IF conditional statement fae fon Hardware All Full 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 N A Usage Usage and Default Details Usage While Moving Y In a Program es ommand Line o ontroller Usage All N A N A Operand Usage Related Commands IF Command to begin IF conditional statement ELSE Optional command to be used only after IF command JP Jump command JS Jump to subroutine command Examples A F IN 1 0 IF conditional statement based on input 1 F IN 2 0 2nd IF conditional statement d executed if lst IF conditional true MG INPUT 1 AND INPUT 2 ARE ACTIVE Message to be execute
29. ia eT 1 2 a b a b returns a Galil Boolean LV a 1 0000 b 2 0000 c 0 0000 a 2 c a b LV a 2 0000 b 2 0000 c 1 0000 Units of Distance The units of distance in a Galil controller are either in counts or steps A count is a single unit of feedback such as a quadrature count an SSI or BiSS bit or an Analog to Digital converter bit Counts are typical with servos Steps are used for stepper type motors Steps are open loop units and refer to a single level transition sent to a stepper amplifier In general for a unit of real distance 1 step is NOT equal in distance to 1 count See the Stepper Position Maintenance Mode in the user manual for more information Each axis of a Galil motion controller can be configured to control either a servo or a stepper In this documentation servo motors are generally assumed Differences between functionality in stepper and servo operation are noted in each command Where not explicitly noted otherwise when using stepper motors the unit count can be exchanged with the unit step e g steps per second instead of counts per second Flash Memory Each Galil controller has a flash memory provided for saving parameters and user data The flash is divided into three sectors Parameters Variables and Arrays and Program Each sector has an associated burn command which burns the entire sector Flash Sector Data Storage Stores the controller parameters such as
30. m or CDA n where n is an integer in the range of 32767 m optional is an integer in the range 0 to 8 and overrides the global DT time for this interval n m 0 terminates the Contour Mode m 1 through 8 specifies the time interval DT of 2m samples By default the sample period is 1 msec set by the TM command with m 1 the time interval would be 2 msec Note 1 The command CD 0 0 0 would follow the last CD command in a sequence CD 0 0 0 is similar to VE amp LE Once reached in the buffer CD 0 0 0 will terminate the contour mode Note 2 The command CDO 0 will assign a variable CDO the value of 0 In this case the user must have a space after CD in order to terminate the Contour Mode correctly Example CD 0 0 will terminate the contour mode for the X axis Operand Usage N A Usage Usage and Default Details Ye Default Value N A Default Format Controller Usage Related Commands CM Contour Mode DT Time Increment CS Clear Sequence _CS is the Segment Counter Examples CONTOUR Program Label CMAB 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 Explicit or Implicit burnable with BN Configure Encoder DMC40x0 DMC41x3 Hardware D
31. nis X Y Z W A B C D E F G or H or any combination to specify the axis or axes Operand Usage _RLn contains the latched position of the specified axis RELATED COMMAND AL Arm Latch Usage Usage and Default Details Related Commands Examples JG 5000 Set up to jog the B axis BGB Begin jog ALB Arm the B latch assume that after about 2 seconds input goes low RLB Report the latch 10000 Syntax Accepts Axis Mask Reference Position DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The RP command returns the commanded reference position of the motor s Arguments RP nnnnnnnnnn where nis A B C D E F G H or N or any combination to specify the axis or axes Operand Usage _RPn contains the commanded reference position for the specified axis RELATED COMMAND TP Tell Position Note The relationship between RP TP and TE TEA equals the difference between the reference position RPA and the actual position TPA Usage Usage and Default Details While Moving Perva JO Related Commands Examples 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 Syntax Two Letter Only pse a Full 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 p
32. or a fault in a system component such Syntax Implicit Only burnable with BN DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full 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 command has two parameters m and n The arguments m and n apply to the axes designated by the command VM When m gt n the resolution of the first axis x will be multiplied by the ratio m n When m lt n the resolution of the second axis y will be multiplied by n m The resolution change applies for the purpose of generating the VP and CR commands effectively changing the axis with the lower resolution to match the higher resolution The ES command will apply to the selected coordinate system S or T To select the coordinate system use the command CAS or CAT Arguments ES m n where m and n are positive integers in the range between 1 and 65 535 Operand Usage N A Usage Usage and Default Details While Moving No RIO Command Line Yes Controller Usage All Default Format N A Command Line Controller Usage Related Commands VM Vector Mode CR Circle move VP Vector position Examples VMAB ES3 4 Scale B resolution by 4 3 VMCA ES2 3 Scale A resolution by 3 2 VMAC ES3 2 Scale A
33. 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 For debugging purposes ERO and ER 1 can be used to turn the red LED on and off Arguments ER n n n n n n nn or ERA n where n is an unsigned number in the range to 2147483647 which represents the error limit in encoder counts A value of 1 will disable the position error limit for the specified axis n Returns the value of the Error limit for the specified axis Operand Usage _ERn contains the value of the Error limit for the specified axis Usage Usage and Default Details While Moving No RIO Related Commands OE Off On Error POSERR Automatic Error Subroutine Examples 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 ER 1000 Sets the B axis error limit to 1000 leave the A axis error limit unchanged ER peg fee V Vi H b 1 a ER Return A B C and 200 100 400 600 200 1 _ERA Assigns V Return A value value of ERA Returns V1 200 D values int The error limit specified by ER should be high enough as not to e reached during imit would be a n s encoder or ampl normal operation nechanical jam ifier Examples of exceeding the error
34. 100 510 Command Y axis to move 100 counts reaching an ending speed of 100c s in 510 samples PVX 200 200 50 Command X axis to move 200 counts reaching an ending speed of 200c s in 50 samples PVX 300 0 50 Command X axis to move 300 counts reaching an ending speed of Oc s in 50 samples PVY 300 0 50 Command Y axis to move 300 counts reaching an ending speed of Oc s in 50 samples PVY 0 Exit PVT mode on Y axis PVX 0 Exit PVT mode on X axis When the PVT mode is exited the axis will be in the SH state t assuming position error is not exceeded etc BIXY Begin PVT on X and Y axis AMXY Trip point will block until PVT motion on X AND Y is complete EN End program PW Syntax e Implicit Only burnable with BN Password Hardware DMC40x0 DMC41x3 RIO IDMC18x6 DMC300x0 Full Description The password can be set with the command PW password password where the password can be up to 8 alphanumeric characters The default value after master reset is a null string The password can only be changed when the controller is in the unlocked state L K The password is burnable but cannot be interrogated If you forget the password you must master reset the controller to gain access Arguments PW n n where n is a string from 0 to 8 characters in length Operand Usage N A Usage Usage and Default Details While Moving No RIO Yen No ford Related Commands lt control gt L
35. Configure Encoder Examples OCA 300 100 Select A encoder as position sensor First pulse at 300 f Following pulses at 400 500 600 Output compare can be used to create raster scans By using cicular compare on one axis followed by an index move on a perpindicular axis raster patterns are easily made The following image shows a rastered dot matrix type image easily created with output compare and a laser on a two dimensional stage OE Syntax Explicit or Implicit burnable with BN Off on Error DMC40x0 DMC41x3 DMC21x3 Hardware DMC18x6 DMC18x2 DMC300x0 Full Description 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 See the TA command for conditions of an amplifier fault If an error or axis specific abort is detected on an axis and the motion was executing an independent move only that axis will be shut off If the motion is a part of coordinated mode of the types VM LM or CM all participating axes will be stopped When internal servo amplifiers are installed that can drive brushless motors such as the AMP 43040 D3040 or the AMP 20540 and an axis is driven with an external amplifier the axis should be setup as a brushed motor BR1 Otherwise the controller will detect the amplifier as h
36. 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 Arguments IA ip0 ip1 ip2 ip3 IA n IA lt t IA gt u where ip0 ip1 ip2 ip3 are 1 byte numbers separated by commas and represent the individual fields of the IP address n is the IP address for the controller which is specified as an integer representing the signed 32 bit number two s complement lt t specifies the time in update samples between TCP retries 1 lt t lt 2 147 483 647 up to 5 retries occur TCP IP connection only gt u specifies the multicast IP address where u is an integer between 0 and 63 UDP IP connection only IA will return the IP address of the controller u 22 causes the controller to ignore Multicast traffic This will cause Galil software to be unable to discover the controller Connecting to the controller when the IP address is known by the host will be unaffected Operand Usage _IAO contains the IP address representing a 32 bit signed number Two s complement See the example below _IA1 contains the value for t retry time _JA2 contains the number of available handles _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 outgoung handle _IA4 contains the number of the handle that lost communication last contain
37. DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The GA command specifies the master axes for electronic gearing Multiple masters for gearing may be specified 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 When the geared motors must be coupled strongly to the master use the gantry mode GM When gearing is used in a gantry application gearing off of the commanded position is recommended Arguments GA n n n n n n n n or GAA n where ncan be A B C D E F G H M or N The value of n is used to set the specified main encoder axis as the gearing master and M and N represents the virtual axes The slave axis is specified by the position of the argument The first position of the argument corresponds to the A axis the second position corresponds to the B axis etc A comma must be used in place of an argument if the corresponding axes will not be a slave n can be CA CB CC CD CE CF CG or CH The value of x is u
38. Define Array RA Torque Specify Array to record data RD APIA Specify Data Type RG 2y Begin recording and set 2 msec between records JG 1000 BG Begin motion A JP A _RC 1 Loop until done MG DONE RECORDING Print message EN End program Syntax Implicit Only Record Data Hardware All Full Description The RD command specifies the data type to be captured for the Record Array RA mode The command type includes Data sources for automatic record mode Description Source name where n is the axis specifier A H TIME Time in servo sample as read by the TIME command Analog Input Value 32767 to 32768 The analog inputs are AFn Sp a limited to those which correspond to an axis on the controller _DEn 2nd encoder l gs n _TE _RP Position error ar 5 ommanded Position _SHn also valid nw 5 a Z 5 NJ AN y ge SNSTEVEN SIs las Nn 3 5 z Ella nll s 5 ot e 2 ol Latched Position l axe n witches only 0 4 bits valid top code Tell torque Note the values recorded for torque are in the range of 32767 where 0 is 0 torque 32767 is 10 volt command output and 32767 is 10 volt Filtered velocity Note will be 65 times greater than TV command Stepper Position Arguments RD m1 m2 m3 m4 m5 m6 m7 m8 where the arguments are the data sources to be captured using the record array feature
39. Full Description The HX command halts the execution of any program that is running Arguments HXn where n is an integer in the range of 0 to 7 and indicates the thread number Operand Usage When used as an operand HXn contains the running status of thread n with 0 Thread not running 1 Thread is running 2 Thread has stopped at trippoint Usage Usage and Default Details While Moving No RIO Command Line Controller Usage Default Format Default Value Related Commands XQ Execute program HX Stop all threads of motion Examples XQ A Execute program A thread zero XQ B 3 Execute program B thread three HXO Halt thread zero HX3 Halt thread three Syntax Implicit Only IA TAO _IAI _IA2 _1A3 _1A4 Operands IA5 burnable with BN IP Address Hardware DMC40x0 DMC41x3 DMC21x3 RIO DMC300x0 Full Description The IA command assigns the controller s IP address The IA command may also be used to specify the TCP time out or to ignore multicast traffic 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 Since it assigns an IP address to the controller communication with the controller via Ethernet cannot be accomplished until after the address has been assigned The controller defaults to DHCP and will receive an IP address from a
40. Home A Switch Status BitO Latched Note For active high or active low configuration CN command the limit switch bits are 1 when the switch is inactive and 0 when active Arguments TS nnnonnnnnn where nis A B C D E F G or H or any combination to specify the axis or axes No argument will provide the status for all axes Operand Usage _TSn contains the current status of the switches Usage Usage and Default Details Related Commands Examples lt 1 _TSB Assigns value of TSB to the variable V1 KKKKRKRKRKKR 15 axis axis axis axis axis axis axis Interrogate value of variable V1 Decimal value corresponding to bit pattern 00001111 not in motion bit 7 has a value of 0 error limit not exceeded bit 6 has a value of 0 motor is on bit 5 has a value of 0 forward limit is inactive bit 3 has a value of reverse limit is inactive bit 2 has a value of home switch is high bit 1 has a value of 1 latch is not armed bit O has a value of 1 bo H lt bek H lt TT Syntax Accepts Axis Mask Tell Torque DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The TT command reports the value of the analog output signal which is a number between 9 998 and 9 998 volts Arguments TT nnnnnnnnnn where nis A B C D E F G or H or any combination to specify the axis or axes No argument will provide the torque for
41. In a Program Yes Default Format 3 1 Command Line Yes Controller Usage ALL CONTROLLERS Related Commands NB Notch bandwidth NZ Notch Zero Examples NF 20 Sets the notch frequency of B axis to 20 Hz NO No Operation Hardware All Full Description The NO or an apostrophe command performs no action in a sequence but can be used as a comment in a program This helps to document a program Arguments NOm where m is any group of letters and numbers up to 77 characters can follow the NO command Operand Usage _NO returns a bit field indicating which threads are running For example 0 means no threads are running 1 means only thread 0 is running 3 means threads 0 and 1 are running and 255 means all 8 threads are running Usage Usage and Default Details In a Program Command Line Controller Usage Default Value Default Format Related Commands Examples A Program A NO No Operation NO This Program No Operation NO Does Absolutely No Operation NO Nothing No Operation EN 7 End of Program NZ Notch Zero Full Description The NZ command sets the real part of the notch zero Arguments NZ n n n n n n n n or NZA n where nis ranges from 1 Hz to 1 16 update period update period TM 10 6 n Returns the value of the Notch filter zero for the specified axis Usage Usage and Default Details Usage While Moving e In a Program es ommand Line es on
42. PID filter coefficients IP address Parameters i F BN motion kinematic values I O configurations Variables andeArmay Stores the currently allocated variable table LV and each of the arrays in BV the array table LA Stores program currently downloaded on the controller The DMC30000 downloads and runs programs directly out of flash BP is not applicable Resetting the Controller to Factory Defaults When a master reset occurs the controller will reset all setup parameters to their default values and the non volatile memory is cleared to the factory state A master reset is executed by the command lt ctrl R gt lt ctrl S gt lt Return gt OR by powering up or resetting the controller with the MRST jumper on Syntax Operator or Comparator not burnable Subtraction Operator Hardware All Full Description The symbol is the subtraction operator It takes as arguments any two values variables array elements operands or At functions SIN and returns a value equal to the difference of the arguments This is a binary operator takes two arguments and returns one value Mathmatical operations are calculated left to right rather than multiplication and division calculations performed prior to addition and subraction Example 1 2 3 9 not7 It is recommended that parenthesis be used when more than one mathmatical operation is combined in one command Example var 10 30 60 30 evaluates as 3
43. QIN 1 x 1 000 print digital input 1 Integer part Full Description Returns the integer part of the given number Note that the modulus operator can be implemented with INT see example below Arguments INT n n is a signed number in the range 2147483648 to 2147483647 Operand Usage N A Usage Usage and Default Details In a Program Command Line Controller Usage Default Format Default Value Related Commands FRAC Fractional part Examples MG INT 1 2 1 0000 MG INT 2 4 2 0000 AUTO modulus example x 10 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 Read digital output Hardware All Full Description Returns the value of the given digital output either 0 or 1 Arguments OUT n where n is an unsigned integer in the range 1 to 80 Operand Usage N A Usage Usage and Default Details While Moving No RIO Ye Ye Default Value N A Related Commands IN Read digital input SB Set digital output bit CB Clear digital output bit OP Output Port Examples MG OUT 1 print state of digital output 1 21 0000 x OUT 1 assign state of digital output 1 to a variable a coca ee Full Description Rounds the given number to the nearest integer Arguments
44. Resolution by 3 2 Note ES must be issued after VM Electronic cam table DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The ET command sets the ECAM table 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 i is the interval and o is the offset as determined by the EP command Arguments ET m n n n n n n n n where m is an integer between 0 and 256 n is an integer in the range between 2 147 438 648 and 2 147 438 647 n Returns the slave position for the specified point The value m can be left out of the command if the index count has been set using the command EC In this mode each ET command will automatically increment the index count by 1 Operand Usage Usage Usage and Default Details Related Commands EA Choose ECAM master EB Enable ECAM EC Set ECAM table index EG Engage ECAM EM Specify ECAM cycle EP Specify ECAM table intervals amp staring point EQ Disengage ECAM Examples ET 0 0 0 Specifies the position of the slave axes A and C to be synchronized wi th the starting point of the master ET 1 1200 400 Sp cifies the position of the slave axes A and C t be synchronized wi ith the second point of the master ECO Set the table index value to 0 the first element in the
45. Vector Deceleration Examples LM ABC Specify linear interpolation mode LI 1000 2000 3000 Specify distance LE Last segment BGS Begin sequence Syntax Two Letter Only List Labels Hardware All Full Description The LL command returns a listing of all of the program labels in memory and their associated line numbers The listing will be in alphabetical order Arguments None Operand Usage N A Usage Usage and Default Details While Moving No RIO Command Line Controller Usage Default Format Default Value Related Commands LA List Arrays LS List Program LV List Variables Examples LL FIVE 5 FOUR 4 ONE 1 THREE 3 TWO 2 Se He EOE HE Syntax Accepts Axis Mask Linear Interpolation Mode ee Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The LM command specifies the linear interpolation mode and specifies the axes for linear interpolation Any set of 1 thru 8 axes may be used for linear interpolation LI commands are used to specify the travel distances for linear interpolation The LE command specifies the end of the linear interpolation sequence Several LI commands may be given as long as the controller sequence buffer has room for additional segments Once the LM command has been given it does not need to be given again unless the VM command has been used The LM command will apply to the selected coordinate system S or T To sele
46. a 0 if it has not Third Party Sine Drives Requiring Dual Analog Inputs Rare _BAn 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 Usage Usage and Default Details Related Commands BB Brushless Phase Begins BC Brushless Commutation BD Brushless Degrees BI Brushless Inputs BM Brushless Modulo BO Brushless Offset BS Brushless Setup BZ Brushless Zero BX Sine Amp Initialization Examples BAA Configure axis A Syntax Explicit or Implicit Burn burnable with BN Brushless Phase Begins DMC40x0 DMC21x3 Hardware DMC18x6 DMC18x2 DMC300x0 Full Description The BB function describes the position offset between the Hall transition point and 0 for a sinusoidally commutated motor This command must be saved in non volatile memory to be effective upon reset Arguments BB n n n n n n n n or BBA n where n is a signed integer which represent the phase offset of the selected axes in degrees of the magnetic cycle The range is 359 98 The resolution is 1 32 of a degree n returns the hall offset for the specified axis Operand Usage _BBn contains the position offset between the Hall transition and 0 for the specified axis Usage Usage and Default Details Yas Controller Usage Default V
47. an error _ED1 contains the number of the thread where the error occurred for multitasking _ED4 when evaluated in an embedded code thread this operand will contain the thread id of the calling thread This is useful for DMC code to determine which thread it is running in See example below Usage Usage and Default Details Related Commands DL Download UL Upload Examples START PR 2000 BGA SLKJ Bad line EN CMDERR Routine which occurs upon a command error V _ED MG An error has occurred n MG In line V F3 0 ST 10 ZSO 11 EN Hint Remember to quit the Edit Mode prior to executing or listing a program ODATIAOHBWNHE O FI 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 thread _ED4 EN Returns XQ This message is from thread 1 This message is from thread 2 This message is from thread 3 This message is from thread 4 This message is from thread 5 This message is from thread 6 This message is from thread 7 This message is from thread 0 Syntax Explicit or Implicit DMC40x0 DMC4 1x3 DMC21x3 Hardware DMC18x6 DMC18x2 DMC300x0 Full Description The EG command engages an ECAM slave axis at a specified position of the master If a value is specified outside of the master s range the slave will engage immediately Once a slave motor is engaged its
48. and Default Details Related Commands FV Velocity feedforward Examples Set feedforward coefficient to 10 for the A axis and 15 for the B axis Th ffective bias will be 0 75V for A and 2 25V for B AC 500000 1000000 FA 10 15 SEA 27 2 Return A and B values 10 15 Syntax Accepts Axis Mask DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The FE command moves a motor until a transition is seen on the homing input for that axis The direction of motion depends on the initial state of the homing input use the CN command to configure the polarity of the home input Once the transition is detected the motor decelerates to a stop This command is useful for creating your own homing sequences Hint 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 Remember to specify BG after each of these commands Arguments FE nnnnnnnn where nis A B C D E F G or H or any combination to specify the axis or axes No argument specifies all axes Operand Usage N A Usage Usage and Default Details Usage While Moving In a Program es ommand Line es ontroller Usage All N A N A Related Commands FI Find Index HM Home BG Begin AC Acceleration Rate DC Deceleration Rate SP Speed for search Examples FE Set find edge mode BG
49. and before error bit See Table 1 p clock frequency argument See Table 2 SSn Returns the configuration parameters Table 1 SS Example for Hengstler 12 bit MT 10 bit ST Encoder acquiring ss2 26 E ssl 10 bit read in _SSn BiSS setup command for the Hengstler 12 bit MT 10 bit ST Data will be available in TP and for servo feedback SSA 1 10 26 4 lt 13 BiSS clock MA frequency is set with the p argument and has the following form MA freq 20 MHz 2 p 1 20 MHz frequency is hardware dependent with a range of 18Mhz to 26Mhz Contact Galil if tolerances must be tighter for a particular application this is rare Table 2 Popular Master Clock Frequencies MA Clock Frequency kHz 4 Operands _SSn Returns 4 bits of axis status data where n is the axis ABCDEFG or H SERERR is an automatic sub which will run in the event of an encoder problem See SY for setting up the active high low status of bits 2 and 3 _SSN Bit Map Bit Position Bit Meaning f f The BiSS decoding hardware will timeout if the encoder doesn t set No timeout 0 timeout occurred 1 E the start bit within 30uS kevat 0 mnalia BiSS employs a Cyclic Redundancy Check to verify data after transmission When SY is set correctly this bit should be low when there is no 2 Error bit active state set with SY active warning Consult the encoder documentation for the Warning bit definition When SY is set correctly this bit
50. and no fractions VF 4 0 Specify hexadecimal format with 4 bytes to the left of the decimal VM Syntax Accepts Axis Mask VMs VMT Vector Mode Hardware DMC40x0 DMC41x3 DMC21x3 ardware IIDMC18x6 DMC18x2 DMC300x0 Full Description The VM command specifies the coordinated motion mode and the plane of motion This mode may be specified for motion on any set of two axes The motion is specified by the instructions VP and CR which specify linear and circular segments Up to 511 segments may be given before the Begin Sequence BGS or BGT command 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 Vector End VE command must be given after the last segment This allows the controller to properly decelerate The VM command will apply to the selected coordinate system S or T To select the coordinate system use the command CAS or CAT Arguments VM nmp where n and m specify plane of vector motion and can be any two axes Vector Motion can be specified for one axis by specifying 2nd parameter m as N Specifying one axis is useful for obtaining sinusoidal motion on 1 axis p is the tangent axis and can be specified as any axis except the imaginary M and N axes A value of N for the parameter p turns off tangent function Operand Usage _VMn contains
51. be engaged disengaged or changed to a new gear setting The distance is entered as an absolute value the motion of the master may be in either direction If the distance is set to 0 then the gearing will engage instantly Arguments GD n n n n n n n n where N is an integer in the range 0 to 32767 the units are in encoder counts n 0 will result in the conventional method of instant gear change n will return the value that is set for the appropriate axis Operand Usage _GDn contains the distance the master axis will travel for the specified slave axis to fully engage disengage or change ratios Usage Usage and Default Details Controller Usage Default Format 1 0 for 18x2 amp 21x3 5 0 for 18x6 amp 4xxx Related Commands _GP Gearing Phase Differential GR Gear Ratio GA Gear Axis Examples A GA X Sets the X axis as the gearing master for the Y axis GD 5000 Set distance over which gearing is engaged to 5000 counts of the master axis JG5000 Set the X axis jog speed to 5000 cts sec BGX Begin motion on the X axis ASX Wait until X axis reaches the set speed of 5000 counts sec GR 1 Engage gearing on the Y axis with a ratio of 1 1 the distance to fully engage gearing will be 5000 counts of the master axis WT1000 Wait 1 second GR 3 Set the gear ratio to three The ratio will be changed over the distance set by the GD command WT1000 Wait 1 second
52. buffer Countour Data pre loaded in buffer Countour Data pre loaded in buffer Wait for Analog input 1 to go low Set positive DT to start contour mode End of Contour Buffer Sequenc Wait for all segments to process buffer to empty wait for 1 DT time segment 2 4 End program Explicit or Implicit DV burnable with BN urn Dual Velocity Dual Loop Hardware DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC300x0 Full Description The DV function changes the operation of the filter It causes the KD derivative term to operate on the dual encoder instead of the main encoder This results in improved stability in the cases where there is a backlash between the motor and the main encoder and where the dual encoder is mounted on the motor 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 derivitave contribution from the higher resolution motor encoder The FV value is calculated by the equation FV KD 4 motor load motor load effective motor to load ratio For example KD 200 motor encoder changes 5000 counts per 1000 counts of load encoder motor load 5 1 FV 200 4 5 1 250 Arguments DV n n n n n n n n or DVX n where n 0 Disables the dual loop mode n 1__ Enables the dual loop mode Operand Usage _DVn contains the state of dual velocity mode for specified
53. counts positive to move 5000 counts negative 5000 Syntax Accepts Axis Mask DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The HM command performs a three stage homing sequence for servo systems and a two stage sequence for stepper motors You can create your own custom homing sequence by using the FE Find Edge and FI Find Index commands Step One Servos and Steppers 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 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 Once the homing input changes state the motor decelerates to a stop Step Two Servos and Steppers At the second stage the motor changes directions and approaches the transition again at the speed set with the HV command When the transition is detected the motor is stopped instantaneously Step Three Servos only 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 Arguments HM nnnnnnnnnn where n is A B C D E F G or H or any combination to specify the axis No argument homes a
54. does not require that the axis be under servo control When using a stepper motor this condition is satisfied when the stepper position as determined by the output buffer has crossed the specified Forward Motion Position For further information see Chapter 6 of the User Manual Stepper Motor Operation Hint 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 MF tests for absolute position The MF command can also be used when the specified motor is driven independently by an external device Arguments MF n n n n n n n yn or MFA n where n is a signed integer in the range 2147483648 to 2147483647 decimal Operand Usage N A Usage Usage and Default Details While Moving Yes Yes Related Commands AR Trippoint for after Relative Distances AP Trippoint for after Absolute Position MR Reverse Motion to Position Trippoint Examples TEST Program Test DPO Define zero JG 1000 Jog mode speed of 1000 counts sec BG A Begin move MF 2000 After passing the position 2000 V1 _TPA Assign V1 A position MG Position is Vl Print Message Sle Stop EN End of Program Syntax Implicit Only ee Full Description The MG command can be used in two ways 1 From a host PC MG val will return the value where val is an operand string variable or number including mathematical expressions This is known as
55. e GA Master Axis for Gearing GD Gear Distance e GM Gantry mode GR Gear Ratio HM Home e HS Handle Assignment Switch e HV Homing Velocity HX Halt Execution IA IP Address e ID Identify IF IF conditional statement IH Open IP Handle e II Input Interrupt e IK Block Ethernet ports e IL Integrator Limit e IN Input Variable IP Increment Position IT Independent Time Constant Smoothing Function e JG Jog e JP Jump to Program Location e JS Jump to Subroutine KD Derivative Constant e KI Integrator e KP Proportional Constant e KS Step Motor Smoothing e LA List Arrays e LB LCD Bias Contrast e LC Low Current Stepper Mode LD Limit Disable e LE Linear Interpolation End e LI Linear Interpolation Distance e LL List Labels e LM Linear Interpolation Mode e LS List e LU LCD Update e LV List Variables e LZ Inhibit leading zeros e MB Modbus e MC Motion Complete MF Forward Motion to Position e MG Message MO Motor Off MR Reverse Motion to Position e MT Motor Type e MW Modbus Wait e NB Notch Bandwidth e NF Notch Frequency e NO No Operation e NZ Notch Zero OA Off on encoder failure e OB Output Bit e OC Output Compare e OE Off on Error OF Offset e OP Output Por
56. each analog input may be assigned Setting a negative range for inputs 1 3 5 or 7 configures those inputs as the differential input relative to input 2 4 6 and 8 respectively Arguments AQ n m where n is an integer from 1 8 that represents the analog input channel m is an integer from 1 4 that designates the analog range AQ setting details To a5 i Slo n Z lt m RI Usage Usage and Default Details While Moving no RIO Yes Y es Command Line Yes Default Format 1 0000 Operand Usage _AQn holds the range setting for that axis where n 1 8 Related Commands AN n Read Analog Input AF Analog Feedback Examples AQ2 3 Specify analog input 2 as 0 5V FAO 3 Specify analog input 1 as 0 5V and the differential input to analog input 2 MG_AQ2 3 0000 wee Explicit or Implicit i amp Trippoint Operands none After Relative Distance DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The After Relative AR command is a trippoint used to control the timing of events This command will hold up the execution of the following 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 When using a stepper motor this condition is satisfied when the stepper position as determined by the output buffer has c
57. embedded use in DMC code The code incorporates all of the detail of an application but relies on the host to provide it data Through variables arrays and other commands the host is able to define the bounds of the embedded algorithms The host plays a supervisory role interrogating status receiving asynchronous updates from the controller starting and stopping threads and so on The controller takes care of the motion and I O responsibilities based on its embedded program and the controller s real time operating system RTOS ensures that the application won t suffer from indeterminacy which is common on general purpose PC operating systems e g Microsoft Windows Because the controller takes care of the details the host is able to use its resources on other tasks such as complicated number crunching or user interface It is noteworthy that Galil Standalone controllers e g DMC 40x0 DMC 41x3 DMC 21x3 RIO 47xxx can leverage the Ethernet to provide powerful modularity Using any of the above three system approaches multiple controllers can work in concert to achieve an application s requirements Networked controllers also provide easy scalability Need some more digital or analog I O Add an RIO Need another axis of control Add another DMC to the network Both the Galil firmware and the Galil software libraries provide features which allow easy use of multiple controllers on an Ethernet network RS232 422 485 networks are also possi
58. expressions Operands are not valid alone and must be used inside a valid DMC code expression For example to print the value of the TIME operand the following command is issued MG TIME 13779546 0000 To assign TIME to a variable and then print it the following is used var TIME MG var 13909046 0000 All DMC codes starting with the underscore _ character are operands The servo loop counter TIME is an operand without an underscore Variables and array elements act similarly to operands Whereas operands are read only variables and array elements are read write Operands variables and array elements can be arguments to commands are valid in mathematical expressions and can be used in assignments to other variables and array elements Trippoints The controller provides several commands that can be used to pause execution of code until certain conditions are met Commands of this type are called trippoints Such trippoints may wait for an elapsed time wait for a particular input or in motion controllers wait for particular motion event to occur When a trippoint command is executed the program halts execution of the next line of code until the status of the trippoint is cleared Note that the trippoint only halts execution of the thread from which it is commanded while all other independent threads are unaffected Additionally if the trippoint is commanded from a subroutine execution of the subrou
59. for each axis requested The syntax format is the same as the parameter arguments described above except replaces the values The controller will return the PR value for the A axis The controller will return the PR value for the D axis The controller will return the PR value for the A B C and D axes The controller will return the PR value for the H axis The controller will return the PR value for all axes Data Types Galil4 2 There is only one native data type in DMC language the Galil4 2 format Galil4 2 is a signed fixed point decimal number with 4 bytes of integer and 2 bytes of fraction Bit encoding of Galil4 2 is 2 s complement Integer values range from 2 147 483 648 to 2 147 483 647 Fractional values range from 0 999985 to 000015 in increments of 000015 one part in 65535 When working with very small fractional values use the formatter to display the number in hex v 1 0 0001 subtract the smallest fractional value v 1 0000 v 1 4 hex display has higher resolution 0 FFFF v v 0 0001 v 1 0000 v 1 4 1 0000 Strings Galil strings are still variables in 4 2 format with each byte printed as the ASCII representation of the number Galil strings are max 6 characters The left most character of a string is the most significant byte in the Galil4 2 number Boolean A Boolean is represented in the Galil language as a Galil4 2 value 0 0 is false All other values are true
60. instantaneous commanded vector velocity for the specified coordinate system S or T Usage Usage and Default Details While Moving Ya Default Value Related Commands CR Circle VP Vector Mode VE Vector End BG Begin Sequence Examples A Program Label VM AB Specify motion plane VP 1000 2000 Specify vector position 1000 2000 VP 2000 4000 Specify vector position 2000 4000 CR 1000 0 360 Specify arc VE Vector end BGS Begin motion sequence AMS Wait for vector motion to complete EN End Program Hint The first vector in a coordinated motion sequence defines th origin for that sequence All other vectors in the sequence are defined by their endpoints with respect to the start of the move sequenc Syntax Implicit Only Vector Position DMC40x0 DMC41x3 DMC21x3 Hardware DMC18x6 DMC18x2 DMC300x0 Full Description The VP command defines the target coordinates of a straight line segment in a 2 axis motion sequence which have been selected by the VM command 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 linear interpolation use the LI command The VP command will apply to the selected coordinate system S or T To select the coordinate system use the command CAS or CAT Arguments VPnm lt o gt p where n and m are signed integers in
61. 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 sequences until the first profiled motion is complete AM tests for profile completion The actual motor may still be moving To halt program sequence until the actual physical motion has completed use the MC command Another method for testing motion complete is to check for the internal variable _BGn being equal to zero see BG command Arguments AM nnnnnnnnnn where nis A B C D E F G H S or T or any combination to specify the axis or sequence No argument specifies to wait for after motion on all axes and or sequences Usage Usage and Default Details Operand Usage _BGn contains a 0 if motion complete Related Commands BG Begin Motion MC Motion Complete Examples MOVE Program MOVE PR 5000 5000 5000 5000 Position relative moves BG A Start the A axis Z Q Start the B axis Z e s Start the C axis Z e Q Start the D axis Ne Z e H D gt upp UUD Q IIa aw w Pp Z End of Program x After the move is complet After the move is complet After the move is complet After the move is complet Syntax Implicit Only Analog Output Hardware DMC40x0 DMC41x3 IDMC21x3 RIO DMC300x0 Full Description The AO command sets the analo
62. mode For example LM ABC designates linear interpolation for the A B and C axes The speed of these axes will be computed from Paya Ap 0 where V is the vector speed A B and C are the speed of the A B and C axes If the LI command specifies only A and B the speed of C will still be used in the vector calculations The controller always uses the axis specifications from LM not LI to compute the speed The LI command will apply to the selected coordinate system S or T To select the coordinate system use the command CAS or CAT Arguments LI n n n n n n n n lt o gt p or LIA n where n is a signed integer in the range 8 388 607 to 8 388 607 and represents the incremental move distance at least one n must be non zero o specifies a vector speed to be taken into effect at the execution of the linear segment o is an unsigned even integer between 0 and 22 000 000 for servo motor operation and between 0 and 6 000 000 for stepper motors p specifies a vector speed to be achieved at the end of the linear segment Based on vector accel and decal rates p is an unsigned even integer between 0 and 22 000 000 for servos and between 0 and 6 000 000 for steppers Operand Usage N A Usage Usage and Default Details While Moving Yes Yas Yes Controller Usage Related Commands LE Linear end BG BGS Begin sequence LM Linear Interpolation Mode CS Clear Sequence VS Vector Speed VA Vector Acceleration VD
63. number in degrees in the range of 32768 to 32767 with a fractional resolution of 16 bit Operand Usage N A Usage Usage and Default Details While Moving No RIO Command Line Controller Usage Default Format Default Value Related Commands ASIN n Arc sine SIN n Sine ATAN n Arc tangent ACOS n Arc cosine TAN n Tangent Examples 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 Fractional part Hardware All Full Description Returns the fractional part of the given number Arguments FRAC n n is a signed number in the range 2147483648 to 2147483647 Operand Usage N A Usage Usage and Default Detail In a Program Command Line Controller Usage Default Value Default Format Related Commands INT n Integer part Examples MG FRAC 1 2 0 2000 MG FRAC 2 4 0 4000 Read digital input Hardware All Full Description Returns the value of the given digital input either 0 or 1 Arguments IN n where n is an unsigned integer in the range to 96 Operand Usage N A Usage Usage and Default Details Ye Controller Usage Default Value N A Default Format N A Related Commands AN n Read analog input OUTT n Read digital output SB Set digital output bit CB Clear digital output bit OF Set analog output offset Examples MG IN 1 1 0000 x
64. number m2 must be greater than m1 and m2 may not be used unless m1 is used Operand Usage _EWO0 contains m1 the index of the first widened segment _EW1 contains n1 the length of the first widened segment _EW contains m2 the index of the second widened segment _EW3 contains n2 the length of the second widened segment Usage Usage and Default Details Usage While Moving In a Program es ommand Line es ontroller Usage All Default Value 1 0 1 0 N A Related Commands EP ECAM master positions EA Choose ECAM master EB Enable ECAM EC Set ECAM table index EG Engage ECAM Slave EM Specify ECAM cycle EQ Disengage ECAM Slave ET ECAM table Examples EW 41 688 Widen segment 41 to 688 master counts EW 41 688 124 688 Widen segments 41 and 124 to 688 master counts Syntax Implicit Only ECAM Cycle Count Hardware DMC40x0 DMC41x3 IDMC18x6 DMC300x0 Full Description 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 EY can be used to calculate the absolute position of an axis with the following equation Absolute position EY EM TP Arguments EYn where n is a signed integer in the range 214
65. only be satisfied after all steps are generated Arguments MC nnnnnnnn where nis A B C D E F G or H or any combination to specify the axis or axes MC with no axis mask specifies that motion on all axes should complete before code continues Operand Usage N A Usage Usage and Default Details While Moving Yes Related Commands BG Begin AM After Move TW Timeout Examples MOVE TW 1000 1000 PR2000 4000 BG AB MC AB MG DONE EN 1 MCTIME MG Motion Timeout SG RE1 Program MOVE Set motion complete timeout to one second per axis Independent Move on A and B axis Start the B axis After the move is complete on A and B axes Print message End of Program Motion Complete timeout Subroutine Print failure message Print stop codes End subroutine Explicit or Implicit amp Trippoint Operands none Syntax not burnable Forward Motion to Position DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The MF command is a trippoint used to control the timing of events This command will hold up the execution of the following command until the specified motor moves forward and crosses the position specified The units of the command are in quadrature counts Only one axis may be specified at a time The MF command only requires an encoder and
66. point Up to 257 points may be specified The offset parameter n 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 See application note 2502 for more details http www galilmc com support application notes php Arguments EP m n where m is the master interval and is a positive integer in the range between 1 and 32 767 master counts m cannot be changed while ECAM is running m Returns the value of the interval m n is the phase shift and is an integer between 2 147 483 648 and 2 147 483 647 master counts n can be changed while ECAM is running Usage Usage and Default Details Ye Controller Usage Default Value 256 0 Default Format N A Operand Usage _EP contains the value of the interval m Related Commands EA Choose ECAM master EB Enable ECAM EC Set ECAM table index EG Engage ECAM EM Specify ECAM cycle EQ Disengage ECAM ET ECAM table Examples 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 Syntax Explicit or Implicit ECAM quit disengage DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The EQ command disengages an electronic cam slave axis at the specified master position Separa
67. position is redefined to fit within the cycle Arguments EG n n n n n n n 0 or EGA n where nis the ECAM master position at which the ECAM slave axis must be engaged n Returns if specified axis is engaged and 0 if disengaged Operand Usage _EGn contains ECAM status for specified axis 0 axis is not engaged axis is engaged Usage Usage and Default Details While Moving Yes Ye Command Line Yes Controller Usage Default Value po Default Format Related Commands EA Choose ECAM master EB Enable ECAM EC Set ECAM table index EM Specify ECAM cycle EP Specify ECAM table intervals amp staring point EQ Disengage ECAM ET ECAM table Examples 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 Note This command is not a trippoint This command will not hold the execution of the program flow If the execution needs to be held until master position is reached use MF or MR command Syntax e Implicit Only Event Interrupts DMC40x0 DMC41x3 Hardware DMC18x6 DMC18x2 DMC300x0 Full Description 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 DO or 208 is delivered to
68. range 0 to 22 000 000 The units of this are counts second Use JGN n or JGM n for the virtual axes For stepper motor operation the maximum value is 6 000 000 steps second n Returns the absolute value of the jog speed for the specified axis When ordered with the ICM 42100 n is a signed even integer in the range of 0 to 50 000 000 The units are interpolated encoder counts per second Operand Usage _JGn contains the absolute value of the jog speed for the specified axis Usage Usage and Default Details Related Commands BG Begin DC Deceleration TV Tell Velocity ST Stop AC Acceleration IP Icrement Position Examples Syntax e Embedded Only Jump to Program Location Hardware All Full 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 The condition is a conditional statement which uses a logical operator such as equal to or less than A jump is taken if the specified condition is true Multiple conditions can be used in a single jump statement The conditional statements are combined in pairs using the operands amp and l The amp operand between any two conditions requires that both statements must be true for the combined statement to be true The l operand between any two conditions requires that only one statement be true for the combined statement to be true Each
69. sets the amount of smoothing of stepper motor pulses This is most useful when operating in full or half step mode Larger values of KS provide greater smoothness This parameter will also increase the motion time by 3KS sampling periods KS adds a single pole low pass filter onto the output of the motion profiler Note KS will cause a delay in the generation of output steps Arguments KS n n n n n n n n or KSA n where n is a positive number in the range between 0 25 and 64 with a resolution of 1 32 n Returns the value of the smoothing constant for the specified axis Operand Usage _KSn contains the value of the stepper motor smoothing constant for the specified axis Usage Usage and Default Details Usage While Moving e In a Program es ommand Line es ontroller Usage All Default Value 2 0 Default Format 4 0 Related Commands MT Motor Type Examples KS 2 4 97 Specify a b c axes KS 5 Specify a axis only KS ploa Specify c axis only Syntax Two Letter Only List Arrays Hardware All Full Description The LA command returns a list of all arrays in memory The listing will be in alphabetical order The size of each array will be included next to each array name in square brackets Arguments None Operand Usage N A Usage Usage and Default Details While Moving No RIO Command Line Controller Usage Default Format Default Value Related Commands LL List Labels L
70. should be low when there is no Warning bit active state set with SY active alarm error Consult the encoder documentation for the Alarm bit definition Note The encoder manufacturer may name the Error and Warning bits differently Consult the encoder documentation for the naming convention Galil defines the Warning bit as the bit directly preceeding the CRC The Error bit is defined as the bit directly preceeding the Warning bit See table 1 Usage Usage and Default Details Usage Value No Yes ommand Line Yes Default Value SSn 0 Related Commands TP Tell Position TD Tell Dual Encoder SI Configure the special Galil SSI feature SY Serial encoder BiSS active level SERERR Serial Encoder Error Automatic Subroutine DF Dual Feedback DV feedback swap AUTOERR EEPROM checksum error and Serial Encoder timeout error Automatic Subroutine DF Dual Feedback DV feedback swap Examples Configuration for 26 bit Renishaw Resolute single turn encoder SYA 0 Warning and Alarm bits are active low SSA 1 26 27 0 lt 14 The 27 includes the Resolute single leading zero bit Configuration for 36 bit Hengstler multi turn encoder SYA 3 Warning and Alarm bits are active high SSB 1 19 36 5 lt 14 19 bits single turn 12 bits multi turn 5 zero padding bits Syntax Accepts Axis Mask DMC40x0 DMC4 1x3 DMC21x3 Hardware DMC18x6 DMC18x2 DMC300x0 Full Description The ST
71. signed integer in the range 2147483648 to 2147483647 decimal n Returns the current position of the motor for the specified axes Usage Usage and Default Details While Moving Operand Usage _DPn contains the current position of the specified axis Related Commands DE Define Aux Encoder FI Find Index FE Find Edge HM Home PF Position Format RP Reference Position TP Tell Encoder Position Examples 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 axis to 400 DP 50000 Sets the current position of B axis to 50000 The B C and D axes remain unchanged DE 324 arp Interrogate the position of A B C and D axis 0 0050000 200 400 Returns all the motor positions DP Interrogate the position of A axis 20 Returns the A axis motor position Hint The DP command is useful to redefine the absolute position 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 Syntax Implicit Only Configures I O Data Record Update Rate Full Description The controller creates a QR record and sends it periodically to a UDP Ethernet Handle Arguments DR n m n specifies the data update rate in samples between updates When TM is set to the default of 1000 n speci
72. the EN command is used to terminate the COMINT communications interrupt subroutine there are 2 argurments The first determines whether trippoints will be restored upon completion of the subroutine and the second determines whether the communication will be re enabled Arguments EN m n r where m 0 Return from subroutine without restoring trippoint m 1 Return from subroutine and restore trippoint n 0 Return from COMINT without restoring CI interrupt trigger n 1 Return from COMINT and restore CI interrupt trigger r anyvalue Return a value from a subroutine accessible to the calling stack in _JS Note 1 The default value for the argument is 0 Note 2 The arguments will specify how the COMINT routine handles trippoints Trippoints cause a program to wait for a particular event The AM command for example waits for motion on all axes to complete If the COMINT subroutine is executed due to a communication interrupt while the program is waiting for a trippoint the COMINT can end and by continue to wait for the trippoint or clear the trippoint and continue executing the program at the command just after the trippoint Note 3 Use the RE command to return from the interrupt handling subroutines LIMSWI and POSERR Use the RI command to return from the ININT subroutine Usage Usage and Default Details Usage Value Yes ommand Line o ontroller Usage Default Value Default Format N A i m 0 n 0 r 0
73. the peak torque limit for the specified axis Operand Usage _TKn contains the value of the peak torque limit for the specified axis Usage Usage and Default Details Usage While Moving Y In a Program es ommand Line es ontroller Usage All Related Commands TL Torque Limit Examples TLA 7 TKA 9 99 Limit Limit A axis A axis to a 7 volt average to a 9 99 volt peak torque ou torque ou tpu tpu Explicit or Implicit burnable with BN Torque Limit DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The TL command sets the limit on the motor command output For example TL of 5 limits the motor command output to 5 volts Maximum output of the motor command is 9 998 volts Arguments TL n n n n n n n n TLA n where n is an unsigned numbers in the range 0 to 9 998 volts with resolution of 0 0003 volts n Returns the value of the torque limit for the specified axis Operand Usage _TLn contains the value of the torque limit for the specified axis Usage Usage and Default Details lt I lt P ommand Line _ S eal ns A olf 6 oo ontroller Usage 3 Related Commands Examples EIt hy Dy Oe Ped 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 TH 24 2p op Return limits 1 0000 5 0000 9 0000 7 5000 TL Return A axis limit 21 0000 T
74. the range of 0 to 50 000 000 The units are interpolated encoder counts per second Operand Usage _SPn contains the speed for the specified axis Usage Usage and Default Details Ye Default Value 25000 Related Commands AC Acceleration DC Deceleration PA Position Absolute PR Position Relative BG Begin Examples 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 C After C motion is complete Note For vector moves use the vector speed command VS to change the speed SP is not a mode of motion like JOG JG Note 2 is the minimum non zero speed SS Syntax e Explicit Only burnable with BN Configure the special Galil BiSS feature Hardware DMC40x0 DMC41x3 DMC300x0 Full Description BiSS is an open source digital interface for sensors and actuators BiSS is hardware compatible to the industrial standard SSI Serial Synchronous Interface It allows serial transmission of absolute position data from BiSS encoders based on a master clock signal from the controller Communication between the controller and encoder is based on two signal lines clock MA and data SLO which are differential for increased noise immunity and transmission length The standard Galil BiSS implementation is C mode unidirectional Contact Galil for other modes There are two items required when connecting a BiSS encoder to
75. the vector acceleration for the S coordinate plane t Returns the value of the vector acceleration for the T coordinate plane Operand Usage _VAx contains the value of the vector acceleration for the specified axis Usage Usage and Default Details Related Commands VS Vector Speed VP Vector Position VE End Vector CR Circle VM Vector Mode BG Begin Sequence VD Vector Deceleration IT Smoothing constant S curve Examples VA 1024 Set t vector VA Re 21024 VA 20000 VA turn VECI Sse acceleration to 1024 counts sec2 tor acceleration t vector acceleration 2719456 Return veci Assign variable ACCEL the value of VA ACCEL _VA tor acceleration Syntax Implicit Only burnable with BN DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Vector Deceleration Full Description The VD command sets the deceleration rate of the vector in a coordinated motion sequence Arguments VD s t where s and t are unsigned integers in the range 1024 to 1073740800 s represents the vector deceleration for the S coordinate system and t represents the vector acceleration for the T coordinate system The parameter input will be rounded down to the nearest factor of 1024 The units of the parameter is counts per second squared s Returns the value of the vector deceleration for the S coordinate plane t Returns the value of the vector deceleration for the T coordinate plan
76. to be passed to the host automatically Arguments ZA n n n n n n n n ZAA n where n is an integer and can be a number controller operand variable mathematical function or string The range for numeric values is 4 bytes of integer 2 147 483 648 to 2 147 483 647 The maximum number of characters for a string is 4 characters Strings are identified by quotations n returns the current value Operand Usage _ZAn contains the current value for the specified axis Usage Usage and Default Details While Moving Yes In a Program Yes Command Line Yes Default Value oo Default Format 10 0 Controller Usage Related Commands DR Data Record update rate QR Query Data Record QZ Data Record format Examples Thread ZAX MyVar constantly update ZA JP Thread Syntax Embedded Only _ZS0 _ZS1 _ZS2 _ZS3 _ZS4 Operands I 255 256 757 Zero Subroutine Stack DMC40x0 DMC41x3 Hardware DMC21x3 RIO DMC18x6 DMC18x2 DMC300x0 Full Description The ZS command is only valid in an application program and is used to avoid returning from an interrupt either input or error ZS alone returns the stack to its original condition ZS1 adjusts the stack to eliminate one return This turns the jump to subroutine into a jump Do not use RI Return from Interrupt when using ZS To re enable interrupts you must use II command again The status of the stack can be interrogated with the operand _ZSn see operand u
77. to be recorded If m is not specified the array bounds will be used A negative number for m causes circular recording over array addresses 0 to m 1 n Returns status of recording 1 if recording 0 if not recording Note The address for the array element for the next recording can be interrogated with _RD where n is an even integer in the range of 0 to 256 and specifies the samples between records RC 0 stops recording m is optional and specifies the number of records to be recorded If m is not specified the array bounds will be used A negative number for m causes circular recording over array addresses 0 to m 1 n Returns status of recording 1 if recording 0 if not recording Note The address for the array element for the next recording can be interrogated with _RD Operand Usage _RC contains status of recording 1 if recording 0 if not recording Usage Usage and Default Details Controller Usage Default Value po Related Commands DM Dimension Array RD Record Data RA Record Array Mode Examples 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 RECORD Record label DM Torque 1000
78. using lt control gt Z lt control gt Q lt control gt D or DO NOT insert spaces before each command If no parameter is specified downloading a data file will clear all programs in the controllers RAM The data is entered beginning at line 0 If there are too many lines or too many characters per line the controller will return a To download a program after a label specify the label name following DL The argument may be used with DL to append a file at the end of the program in RAM It is recommended to use the program download functions available through the GalilTools software and drivers rather than directly using the DL command Arguments DLn where n no argument Downloads program beginning at line 0 Erases programs in RAM n Label Begins download at line following Label n Begins download at end of program in RAM Operand Usage When used as an operand _DL gives the number of available labels 510 maximum Usage Usage and Default Details Usage While Moving e In a Program o ommand Line es ontroller Usage All A N A Related Commands Examples DL Begin download A PR 4000 BGA Data AMA MG DONE Data EN Data lt control gt Z End download Syntax Implicit Only eee Full 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
79. where n 0 allows controller to receive Ethernet packets on any port n 1 blocks controller from receiving Ethernet packets on all ports lower than 1000 except those mentioned in the Full Description above n queries controller for value of IK Operand Usage _IK can not be used as an operand Usage Usage and Default Details Dn BI lt lt I lt a gt 5 O 5 amp ommand Line ontroller Usage 0 DMC21x3 2 1 DMC4xxx RIO A Z Related Commands TH Tell Handles IH Open new Ethernet handle Examples SIK Blocks undesirable port communication IK0 Allows all Ethernet ports to be used Syntax Explicit or Implicit burnable with BN Integrator Limit Hardware All Full Description The IL command limits the effect of the integrator function in the filter to a certain voltage For example IL 2 limits the output of the integrator of the A axis to the 2 Volt range A negative parameter also freezes the effect of the integrator during the move For example IL 3 limits the integrator output to 3V If at the start of the motion the integrator output is 1 6 Volts that level will be maintained through the move Note however that the KD and KP terms remain active in any case Arguments IL n n n n n n n n or ILA n where n is a number in the range 10 to 10 Volts with a resolution of 0 0003 n Returns the value of the integrator limit for the specified axis Operand Us
80. 0 8 0000 7 0000 Hint This log is from Hyperterm a non Galil software Syntax Accepts Axis Mask Hall State Hardware DMC40x0 DMC41x3 DMC21x3 DMC300x0 Full Description The QH command transmits the state of the Hall sensor inputs The value is decimal and represents an 8 bit value Bit Status 07 Undefined set to 0 06 Undefined set to 0 05 Undefined set to 0 04 Undefined set to 0 03 Undefined set to 0 02 Hall C State 01 Hall B State 00 Hall A State When using the AMP 43540 and AMP 43640 the BA command must be issued before QH will report the hall state status Arguments QHn returns the Hall sensor input byte where n A B C D E F G H Usage While Moving Yes Default Value 0 In a Program Yes Default Format 1 0 Command Line Yes Controller Usage DMC 40x0 D430x0 Operand Usage _QHn Contains the state of the Hall sensor inputs Related Commands PA Position Absolute BS Brushless Setup EXAMPLE QHY 6 Hall inputs B and C active on Y axis QR Examples Syntax Accepts Axis Mask I O Data Record DMC40x0 DMC41x3 Hardware DMC21x3 RIO DMC18x6 DMC18x2 DMC300x0 Full 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 descr
81. 00 BXA 3 oxa JP bxa _BXA lt gt 3 ENDIF REM Detailed Example COM a 0 O0 A axis 1 B axis BA a enable brushless mode BM a 2000 must be set per inidividual motor specifications BX lt 1000 set pulse duration to 1000 samples bx_i 0 number of tries for the BX command COM_H tc 0 response from TC command if an error occurs MO a start in motor off state tv IP tv _TV 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 _BX a lt gt 3 amp tc 0 REM try again if an error occured and the number of tries lt 5 JP COM_H tc lt gt 0 amp bx_i lt 5 REM if the number of tries is lt 5 then BX passed REM else try BZ command IF bx_i lt 5 MG Commutation complete ELSE MG BX failed to complete MG attempting BZ command tc 0 BZ a 3 IF tc 0 MG BZ command complete ELSE MG BZ command failed MG check motor and encoder wiring MG try setting CE 2 or swapping 2 motor leads ENDIF ENDIF EN CMDERR tc _TC T L REM if 160 error increase BX lt t and try again IF tc 160 MG Retry BX bx_i bx_i 1 BX lt bx_i 1000 increase pulse time on failure ENDIF RE Syntax Other Brushless Zero DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The BZ command is used for axes which are co
82. 000 Acceleration Rate DC 1000000 Deceleration Rate FL 15000 Forward Limit JG 5000 Jog Forward BGA Begin AMA After Limit TPA Tell Position EN End Hint Galil controllers also provide hardware limits Explicit or Implicit burnable with BN Velocity Feedforward DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The FV command sets the velocity feedforward coefficient or returns the previously set value This coefficient generates an output bias signal in proportions to the commanded velocity Velocity feedforward bias FV Velocity cts s 1 22 10 6 TM 1000 FV operates when commanding motion with PA PR JG VM LM PVT Mode and CM For example if FV 10 and the velocity is 200 000 count s the velocity feedforward bias equals 2 44 volts Arguments FV n n n n n n n n or FVA n where nis an unsigned numbers in the range 0 to 8191 decimal n Returns the feedforward velocity for the specified axis Operand Usage _FVn contains the feedforward velocity for the specified axis Usage Usage and Default Details Related Commands FA Acceleration Feedforward Examples FV 10 20 Set feedforward coefficients to 10 and 20 for A and B respectively JG 30000 80000 This produces 0 366 volts for A and 1 95 volts for B LEV Return the A and B values 10 20 Explicit or Implicit burnable with BN Master Axis for Gearing DMC40x0 DMC41x3 Hardware
83. 0000 Specify vector speed 1000 0 360 Generate circle with 0 degrees and complete one circle in VE BGT End Sequence Start motion of T coordinate A and B plane radius of 1000 counts start at counterclockwise direction system pa fo Clear Bit Hardware All Full Description The CB command clears a particular digital output setting the output to logic 0 The CB and SB Set Bit instructions can be used to control the state of output lines CB can be used to clear the outputs of extended I O which have been configured as outputs See the CO command The CB command can also be used with modbus devices to clear remote outputs Arguments CBn where n is an integer corresponding to a specific output on the controller to be cleared set to 0 When using Modbus devices the I O points of the modbus devices are calculated using the following formula n SlaveAddress 10000 HandleNum 1000 Module 1 4 Bitnum 1 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 will usually be 0 HandleNum is the handle specifier from A to H Module is the position of the module in the rack from 1 to 16 BitNum is the I O point in the module from 1 to 4 Operand Usage N A Usage Usage and Default Details While Moving No RIO Controller Usage Rel
84. 001111 var2 SF0 1111000 IF varl SF var2 SF1 MG True ELSE MG False ENDIF EN REM Returned True Variable Axis Designator DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The is the variable axis designator 8 axis variables are provided a b c d e f g and h Each variable can be assigned an indivudal axis A B C D E F G or H a vector plane or a virtual axis Motion commands on the variable will then apply to the assigned axis Arguments n m n is a lowercase letter a through h m is a positive integer or single character string where 0 or A quotes required X axis 1 or B Y axis 2 or C Z axis 3 or D W axis 4 or E E Axis 5 or F F axis 6 or G G axis 7 or H H axis 8 or S S coordinate system 9 or T T coordinate system 10 or N Virtual N axis 11 or M Virtual M axis Operand Usage n contains the axis number 0 11 Usage Usage and Default Details While Moving Yes Controller Usage Related Commands Examples a 2 b 6 Sets a to 2 Z axis Sets b to 6 G axis 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 Syntax Operator or Comparator not burnable Hardware All Full Description The
85. 00x0 Full Description The BO command sets a fixed offset on the command signal for sinusoidally commutated motors This may be used to offset any bias in the amplifier or can be used for phase initialization Internal Sine Drive 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 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 In this configuration BO sets the offset for both DACs Each member of a pair of axes has its own BO value When measuring DAC output voltage to assure that the output voltage equals the BO parameters set the PID and OF parameters to zero Arguments BOm m m m m m m m BOn m where m specifies the voltage and is a signed number in the range 9 998 to 9 998 with a resolution of 0 0003 m Return the brushless offset for the specified axis n is an axis indicator A B C D E F G or H Operand Usage _BOn contains the offset voltage for the specified axis Usage Usage and Default Details Default Value po Related Commands BA Brushless Axis BC Brushless Commutation BD Brushless Degrees BI Brushless Inputs BM Brushless Modulo BZ Brushless Zero BQ Brushless Offset dual DAC Examples Assume a two axis controller BA A BA a
86. 02 var 10 30 60 30 evalutes as 12 Arguments m m where m is any value variable array element operand or At functions SIN 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 Operands N A Usage Usage and Default Details Ye Default Value N A Related Commands N A Examples varl 10 4 var2 varl MG var2 1 2 0000 Label subroutine Full Description The operator denotes the name of a program label for example Move Labels can be up to seven characters long and are often used to implement subroutines or loops Labels are divided into a user defined b automatic subroutines User defined labels can be printed with LL and the number of labels left available can be queried with MG _DL The automatic subroutines include CMDERR LIMSWI POSERR ININT AUTO AUTOERR and MCTIME no RIO A label can only be defined at the beginning of a new line There is a maximum of 510 labels available Arguments string where string is a label name up to seven characters Uppercase or lowercase characters are valid Operand Usage N A Usage Usage and Default Details Related Commands LL List labels _DL Labels available JP Jump statement JS Jump subroutine Examples The loop will run 10 times A simple example of iteration Create a counter i 0 Loop Label i i 1 Increm
87. 1000 Return to default sample rate See http www galilmc com support firmware downloads php to download fast firmware Syntax Implicit Only burnable with BN Vector Tangent DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 Full Description The TN m n command describes the tangent axis to the coordinated motion path m is the scale factor in counts degree of the tangent axis n is the absolute position of the tangent axis where the tangent axis is aligned with zero degrees in the coordinated motion plane The tangent axis is specified with the VMnmp command where p is the tangent axis The tangent function is useful for cutting applications where a cutting tool must remain tangent to the part Arguments TN m n where m is the scale factor in counts degree in the range between 127 and 127 with a fractional resolution of 0 004 m Returns the first position value for the tangent axis same as _TN When operating with stepper motors m is the scale factor in steps degree n is the absolute position at which the tangent angle is zero in the range between 8388608 to 8388607 Operands _TNn where n 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 Note _TNn will change based upon the vector path described in the VM declaration See the example below Usage Usage and Default Det
88. 1024 and have units of counts per second squared Arguments SD n n n n n n n n SDA n where n is an unsigned numbers in the range 1024 to 1073740800 n Returns the deceleration value for the specified axes Operand Usage _SDn contains the deceleration rate for the specified axis Usage Usage and Default Details While Moving Controller Usage Default Value 256000 Related Commands AC Acceleration DC Deceleration PR Position Relative PA Position Absolute SP Speed Examples 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 Note The SD command may be changed during the move in JG move but not in PR or PA move SH Syntax Accepts Axis Mask burnable with BN Servo Here Hardware DMC40x0 DMC41x3 DMC21x3 ardware IDMC18x6 DMC18x2 DMC300x0 Full Description The SH commands tells the controller to use the current motor position as the command position and to enable servo control here This command can be useful when the position of a motor has been manually adjusted following a motor off MO command Arguments SH nnnnnnnnnn where nis A B C D E F G or H or any combination to specify the axis or axes Operand Usage N A Usage Usage and Default Details While Moving Ye Related Commands MO Motor off
89. 3 n Returns the offset for the specified axis Operand Usage _OFn contains the offset for the specified axis Usage Usage and Default Details Controller Usage Default Format 1 4 1 0 for 18x2 Related Commands Examples 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 O Set B axis offset to 0 Leave other axes unchanged OF 2 2 Return offsets 3 0000 0 0000 3 0000 5 0000 OF Return A offset 3 0000 OF Return B offset 0 0000 Syntax implicitOnly Syntax ImplicitOnly Only Operands d ao _OP1 OP2 OP3 Operands s ao 4 Burn burnable withBN Burn burnable withBN with BN Hardware Full Description The OP command sends data to the output ports of the controller 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 OP m a b c d where m is an integer in the range 0 to 65535 decimal or 0000 to FFFF hexadecimal 0 to 255 for 4 axes or less m is the decimal representation of the general output bits Output 1 through output 8 for controllers with 4 axes or less Outputs 1 through output 16 for controller with 5 or more axes a b c d represent the extended I O whe
90. 7483648 to 2147483647 decimal n returns the current cycle count Operand Usage _EY returns the current cycle count Usage Usage and Default Details In a Program Command Line Controller Usage Default Value Default Format Related Commands EM ECAM modulus Examples Mc _EY _EMY _TPY print absolute position of master Y Explicit or Implicit burnable with BN Acceleration Feedforward DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The FA command sets the acceleration feedforward coefficient This coefficient when scaled by the acceleration adds a torque bias voltage during the acceleration phase and subtracts the bias during the deceleration phase of a motion The Feedforward Bias product is limited to 10 Volts FA operates when commanding motion with PA PR and JG Note If the feedforward coefficient is changed during a move then the change will not take effect until the next move Acceleration Feedforward Bias FA AC 1 5 10 7 TM 1000 42 Deceleration Feedforward Bias FA DC 1 5 10 7 TM 1000 2 Arguments FA n n n n n n n n or FAS n where n is an unsigned number in the range 0 to 8191 decimal with a resolution of 0 25 n Returns the value of the feedforward acceleration coefficient for the specified axis Operand Usage _FAn contains the value of the feedforward acceleration coefficient for the specified axis Usage Usage
91. Arguments None Operand Usage _WH contains the numeric representation of the handle from which the command was received Handles A through H are indicated by the value 0 7 while a 1 indicates the serial port Usage Usage and Default Details Related Commands HS Handle Swap IA IP address IH Internet Handle TH Tell Handles Examples WH Request incoming handle identification THC Command received from handle C Full Description The WT command is a trippoint used to time events When this command is executed the controller will wait for the number of miliseconds specified before executing the next command If m 1 for WTn m then the controller will wait for the number of samples specified before executing the next command Arguments WT n m where n is an unsigned integer in the range 0 to 2000000000 2 Billion where n is a unsigned even integer in the range 0 to 2 Billion m 0 or ommitted specifies n to be in ms m specifies n to be in samples Operand Usage N A Usage Usage and Default Details While Moving No RIO In A Program Yes Derva E__ Deroma J Related Commands AT At Time TIME Time Operand TM Update Time Examples REM 10 seconds aft A PR 50000 BGA AMA WT 10000 SB 1 WT 2000 CB1 EN Program A Position relative move Begin the move After the mov is over Wait 10 seconds Turn on relay
92. BZ Brushless Zero e CA Coordinate Axes e CB Clear Bit e CC Configure Communications Port 2 e CD Contour Data e CE Configure Encoder e CF Configure Unsolicited Messages Handle e CI Configure Communication Interrupt CM Contour Mode e CN Configure e CO Configure Extended I O e CR Circle e CS Clear Sequence e CW Copyright information Data Adjustment bit on off e DA Deallocate the Variables amp Arrays DC Deceleration e DE Dual Auxiliary Encoder Position e DF Dual Feedback DV feedback swap DH DHCP Server Enable DL Download DM Dimension DP Define Position e DR Configures I O Data Record Update Rate DT Delta Time e DV Dual Velocity Dual Loop e EA Choose ECAM master EB Enable ECAM EC ECAM Counter e ED T Edit e EG ECAM go engage e El Event Interrupts e ELSE Else function for use with IF conditional statement e EM Cam cycles modulus EN End e ENDIF End of IF conditional statement e EO Echo e EP Cam table master interval and phase shift e EQ ECAM quit disengage ER Error Limit e ES Ellipse Scale ET Electronic cam table e EW ECAM Widen Segment e EY ECAM Cycle Count FA Acceleration Feedforward e FE Find Edge FI Find Index FL Forward Software Limit e FV Velocity Feedforward
93. Begin all axes FEA Only find edge on A BGA gt FEB Only find edge on B BGB FECD Find edge on C and D BGCD FI Syntax Accepts Axis Mask Find Index DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The FI and BG commands move the motor until an encoder index pulse is detected 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 until a transition is detected on the index line When the transition is detected the position is latched and the motor will decelerate to a stop 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 Arguments FI nnnnnnnn where nis A B C D E F G or H or any combination to specify the axis or sequence No argument specifies all axes Operand Usage N A Usage Usage and Default Details Usage While Moving In a Program es ommand Line Yes ontroller Usage All N A N A Related Commands FE Find Edge HM Home BG Begin AC Acceleration DC Deceleration JG Jog HV Homing Velocity Examples HOME Home Routine JG 500 Set speed and forward direction FIA Find index BGA Begin motion AMA After motion MG FOUND INDEX Print message
94. C41x3 DMC21x3 RIO DMC300x0 Full Description The TH command returns a list of data pertaining to the Galil 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 N A Operand Usage N A Usage Usage and Default Details Controller Usage Ethernet Only Default Value FY Default Format FY Related Commands HS Handle Swap IA IP address IH Internet Handle WH Which Handle Examples lt TH CONTROLLER IP ADDRESS 10 51 0 87 ET ERNET ADDRESS 00 50 4C 08 01 1F H IHA TCP PORT 1050 TO IP ADDRESS 10 51 0 89 PORT 1000 IHB TCP PORT 1061 TO IP ADDRESS 10 51 0 89 PORT 1001 IHC TCP PORT 1012 TO IP ADDRESS 10 51 0 93 PORT 1002 IHD TCP PORT 1023 TO IP ADDRESS 10 51 0 93 PORT 1003 oO oO PORT 1004 IHE TCP PORT 1034 TO IP ADDRESS 10 IHF TCP PORT 1045 TO IP ADDRESS 10 IHG AVAILABLE IHH AVAILABLE PORT 1005 ame Ea aa Syntax ImplicitOnly Only TI ee _TI1 _TI2 _TI3 _TI4 Operands TI ee Hardware All Full Description The TI command returns the state of the inputs including the extended I O configured as inputs The value returned by this command is decimal and represents an 8 bit value decimal value ranges from 0
95. Commands IH Open IP Handle Examples A with IP 10 0 0 12 ITHA 10 0 0 12 Configures handle A to be connected to a controller B JDP B IHA2 lt gt 2 Wait for connection SAA KI 1 2 Sends the command to handle A slave controller KI WT10 SAA TE Sends the command to handle A slave controller TE WT10 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 pa fo Set Bit Hardware All Full Description The SB command sets a particular digital output setting the output to logic 1 The SB and CB Clear Bit instructions can be used to control the state of output lines SB can be used to set the outputs of extended I O which have been configured as outputs See the CO command The SB command can also be used with modbus devices to toggle remote outputs Arguments SB n where n is an integer which represents a specific controller output bit to be set high When using Modbus devices the I O points of the modbus devices are calculated using the following formula n SlaveAddress 10000 HandleNum 1000 Module 1 4 Bitnum 1 Slave Address is used when the ModBus device
96. DP WI w ni gt 5 z 2 lt iol o J e E aj ze i vis 3 NMa Zi oll 8 SIZI E ajej ejl Bj o lt I oe Ol 5 O o gt e Nn O O 3 z i Q 0 nN kd 137 not valid for Econo Optima 138 Passwords notidentical not valid for Econo Optima 140 Valid for BiSS support BX failure Valid on SINE firmware w Nn Nn Ym 161 Sine amp axis not initialized Valid on SINE firmware Arguments TCn where n 0 Returns numerical code only n Returns numerical code and human readable message n Returns the error code Operand Usage _TC contains the value of the error code Usage Usage Details Related Commands Examples GF32 Bad command TC1 Tell error code 1 Unrecognized command Syntax e Accepts Axis Mask Tell Dual Encoder DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The TD command returns the current position of the dual auxiliary encoder s Auxiliary encoders are not available for stepper axes or for the axis where output compare is used When operating with stepper motors the TD command returns the number of counts that have been output by the controller Arguments TD nnnnnnnnnn where nis A B C D E F G or H or any combination to specify the axis or axes No argument will provide the dual encoder position for all axes Operand Usage _TDn contains value of dual encoder register Usage Usage
97. Details Operand Usage Related Commands IN n Read Digital Input I Input interrupt ININT Label for input interrupt TI Tell Inputs Examples 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 BGA Begin motion EN End Program AL Syntax Accepts Axis Mask Arm Latch DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The AL command enables the latch function high speed main or auxiliary position capture of the controller When the position latch is armed the main or auxiliary encoder position will be captured upon a low going signal Each axis has a position latch and can be activated through the general inputs A axis latch Input 1 B axis latch Input 2 C axis latch Input 3 D axis latch Input 4 E axis latch Input 9 F axis latch Input 10 G axis latch Input 11 H axis latch Input 12 The command RL returns the captured position for the specified axes When interrogated the AL command will return a 1 if the latch for that axis is armed or a zero after the latch has occurred The CN command can be used to change the polarity of the latch function The latch function is available on incremental quadrature encoder inputs only For other position capture methods contact Galil Arguments AL nnnnnnnn where ncan be A B C D E F G or H specify
98. E AVA LABLE WH IHA TO IP ADDRESS 07 Main handle is A MG_ CF 66 0000 Unsolicited handle TO T AD 66 is ASC for B DRESS 00 50 4C 28 05 C8 192 168 1 100 PORT 2420 IP ADDRESS 192 168 1 10 O PORT 2421 Syntax e Implicit Only DMC300x0 Configure Communication Interrupt PMA DMCA Hardware DMC21x3 RIO Full Description The CI command configures a program interrupt based on characters received on communications port 2 the AUX serial port port 1 on DMC 21x2 3 amp RIO 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 P1 on DMC 21x2 3 amp RIO For more see Operator Data Entry Mode in the user manual Arguments CI n m m on DMC 21x2 3 and RIO only n 0 Do not interrupt n 1 Interrupt on carriage return n 2 Interrupt on any character n 1 Clear interrupt data buffer RIO And DMC 21x2 3 m 0 Default received serial port data is interpreted as Galil command returning data to the port as a standard interpreted port m 1 Enable serial port for CI execution Data received will not be interpreted as a command Operand Usage N A Usage Usage and Default Details While
99. ET 0 0 Specifies th position of the slave axes A and C to be synchronized with th e starting point of the master ET 120057400 Sp be synchronized wil th cifies the position of the slave axes A and C the second point of the master table to _EWO _EW1 _EW2 EW3 Burn not burnable DMC18x2 DMC300x0 ECAM Widen Segment DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 Full Description The EW command allows widening the length of one or two ECAM segments beyond the width specified by EP For ECAM tables with one or two long linear sections this allows placing more points in the curved sections of the table There are only two widened segments and if used they are common for all ECAM axes Remember that the widened segment lengths must be taken into account when determining the modulus EM for the master The segments chosen should not be the first or last segments or consecutive segments Arguments EW ml nl m2 n2 where ml is the index of the first widened segment m1 is a positive integer between 1 and 255 nl is the length of the first widened segment in master counts nl is an integer between 1 and 2 147 483 647 m2 is the index of the second widened segment m2 is a positive integer between 3 and 255 n2 is the length of the second widened segment in master counts n2 is an integer between 1 and 2 147 483 647 If m1 or m2 is set to 1 there is no widened segment The segment
100. Galil Motion Control Firmware Command Reference DMC40x0 11 11 2011 10 43 45 Overview ABCDEFGHIJKLMNOPORSTUVWXYZ e Subtraction Operator Label subroutine e AMPERR Amplifier error automatic subroutine e AUTO Subroutine to run automatically upon power up e AUTOERR EEPROM checksum error and Serial Encoder timeout error Automatic Subroutine e CMDERR Command error automatic subroutine e COMINT Communication interrupt automatic subroutine e ININT Input interrupt automatic subroutine LIMSWI Limit switch automatic subroutine MCTIME MC command timeout automatic subroutine e POSERR Position error automatic subroutine e SERERR Serial Encoder Error Automatic Subroutine TCPERR Ethernet communication error automatic subroutine e Hexadecimal e Modulo Operator e amp Bitwise AND Operator e amp JS subroutine pass variable by reference e Parentheses order of operations e Multiplication Operator e Division Operator e Semicolon Command Delimiter e ABS Absolute value ACOS Inverse cosine e AN Analog Input Query ASIN Inverse sine e ATAN Inverse tangent e COM Bitwise complement COS Cosine e FRAC Fractional part e IN Read digital input INT Integer part e OUT Read digital output RND Round SIN Sine e SQR Square Root TAN Tangent e Squ
101. M Syntax e Implicit Only burnable with BN Update Time DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The TM command sets the sampling period of the control loop A zero or negative number turns off the servo loop The units of this command are microseconds Arguments TM n where Default Firmware Using the normal firmware the minimum sample times n are the following Accelera Controllers with 1 2 axes 62 5 usec Accelera Controllers with 3 4 axes 125 usec Accelera Controllers with 5 6 axes 156 25 usec Accelera Controllers with 7 8 axes 187 5 usec Fast Firmware Using the fast firmware the minimum sample times n are the following Accelera Controllers with 1 2 axes 31 25 usec Accelera Controllers with 3 4 axes 62 5 usec Accelera Controllers with 5 6 axes 93 75 usec Accelera Controllers with 7 8 axes 125 usec Limitations In the Fast firmware mode the following functions are disabled TD DV TK NB NZ NF second field of EI Gearing CAM PL Analog Feedback Steppers Trippoints in all but threads 0 and 1 Data Record and TV Maximum value for n is 10000 usec Resolution of n is 31 25 usec n returns the value of the sample time Operand Usage _TM contains the value of the sample time Usage Usage and Default Details While Moving Default Value 1000 Related Commands Examples TM 1000 Turn off internal clock TM 2000 Set sample rate to 2000 msec TM
102. MC21x3 DMC18x6 DMC18x2 DMC300x0 Full 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 Note When using a servo motor changing the CE type can cause the motor to run away The configuration applies independently to the main axes encoders and the auxiliary encoders 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 Arguments CE n n n n n n n n or CEA n where n is an integer in the range of 0 to 15 Each integer is the sum of two integers M and N which configure the main and the auxiliary encoders Configure Encoder Types M argument Main Encoder Type Auxiliary Encoder Type Normal quadrature Normal quadrature Normal pulse and direction Normal pulse and direction Reversed quadrature Bs Reversed quadrature Reversed pulse and direction Reversed pulse and direction For example n 10 implies M 2 and N 8 thus both encoders are reversed quadrature n Returns the value of the encoder configuration for the specified axes Operand Usage _CEn contains the value of encoder type for the axis specified by n Usage Usage and Default Details While Moving Ya Command Line etait Vae O Related Commands MT Specify motor type Examples CE 0 3 6 2 Con
103. Moving No RIO In a Program Default Value Related Commands CC Configure communications IN Communication input MG Message output Examples SCE lt i Interrupt when the lt enter gt key is received on port 2 CE Interrupt on a single character received on Port 2 CM Synax e Accepts Axis Mask Contour Mode DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The 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 specified a position increment and the DT command specifies the time interval between subsequent increments Issuing the CM command will clear the controur buffer when contour mode is not running Arguments CM nnnnnnnnnn where n is A B C D E F G H or any combination to specify the axes for contour mode n Returns a 0 if the contour buffer is full and 511 if the contour buffer is empty Operand Usage _CM contains a 0 if the contour buffer is full otherwise it contains the number of available contour segments Usage Usage and Default Details Related Commands CD Contour Data DT Time Increment Examples Cont0 Define label ContO CM ABCD Specify Contour Mode Axes ABCD DT 4 Specify time increment for contour 2 4 servo loops l16ms at TM1000 CD 200 350 150 500 CD 100 200 300 400 CD 0 0 0 0 0 Wa
104. RND n n is a signed number in the range 2147483648 to 2147483647 Operand Usage N A Usage Usage and Default Details While Moving No RIO Command Line Controller Usage Default Format Default Value Related Commands INT n Truncates to the nearest integer Examples MG RND 1 2 1 0000 MG RND 5 7 6 0000 MG RND 1 000 MG RND 6 000 MG RND 6 0000 r E ar E y SE gt SE Oo J MG RN 5 000 oon pa ce Sine Hardware All Full Description Returns the sine of the given angle in degrees Arguments SIN n where n is a signed number in degrees in the range of 32768 to 32767 with a fractional resolution of 16 bit Operand Usage N A Usage Usage and Default Details While Moving No RIO Command Line Controller Usage Default Format Default Value Related Commands ASIN n Arc sine COS n Cosine ATAN n Arc tangent ACOS n Arc cosine TAN n Tangent Examples MG SIN O 0 0000 MG SIN 90 1 0000 MG SIN 180 0 0000 MG SIN 270 1 0000 MG SIN 360 0 0000 acon pa ce Square Root Hardware All Full Description Takes the square root of the given number If the number is negative the absolute value is taken first Arguments SQR n where n is a signed number in the range 2147483648 to 2147483647 Operand Usage N A Usage Usage and Default Details While Moving No RIO
105. RR will run if present e The Error output will be set When using serial encoders SSI or BiSS the AUTOERR should follow these guidlines a IF _TC 143 do not employ any trippoints in following code as the timer interrupt is suspended b Serial encoders can be disabled with the commands SIn 0 or SSn 0 where n is the axis indicator ABCDEFG or H c In order to re enable the timer interrupt issue TM m where m is the servo update period in us usually m 1000 See code example below Arguments N A Operand Usage N A Usage Usage and Default Details While Moving Yes Yes Command Line Related Commands _RS Checksum error code operand EN End program Examples Code detects a checksum error and notifies the user AUTOERR MG EEPROM ERROR _RS EN 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 LUO 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 LUO MG EEProm L1 MG Z10 0 _RS L2 ENDIF EN CMDERR Command error automatic subroutine Hardware All Full Description CMDERR is an 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 run
106. S 2147483647 2147483647 0000 Inverse cosine Hardware All Full Description Returns in degrees the arc cosine of the given number Arguments ACOS n where n is a signed number in the range 1 to 1 Operand Usage N A Usage Usage and Default Details While Moving No RIO Command Line Controller Usage Default Format Default Value Related Commands ASIN Arc sine SIN sine ATAN Arc tangent COS Cosine TAN Tangent Examples MG ACOS 1 180 0000 MG ACOS 0 90 0000 MG ACOS 1 0 0001 DMC40x0 DMC41x3 Hardware DMC21x3 RIO DMC18x6 DMC300x0 Full Description Returns the value of the given analog input in volts Arguments AN n where n is the input number assigned to a particular analog input pin 1 8 Operand Usage ANI is an operand not a command It can only be used as an argument to other commands and operators Usage Usage and Default Details Command Line Yes Related Commands AQ Analog Range AO Analog Output Examples MG AN 1 print analog input 1 1 7883 x AN 1 assign analog input 1 to a variable Inverse sine Hardware All Full Description Returns in degrees the arc sine of the given number Arguments ASIN n where n is a signed number in the range 1 to 1 Operand Usage N A Usage Usage and Default Details While Moving No RIO Command Line Controller Usage Default Format Default
107. S List Program LV List Variable Examples LA CA LA NY VA eN sus o Syntax Implicit Only burnable with BN LCD Bias Contrast Hardware DMC40x0 Full Description Sets the Bias contrast on the LCD Arguments LBn where n is an integer between 0 and 15 where 0 is least contrast and 15 is greatest contrast A negative value turns the optional backlight on Operand Usage _LB contains setting of the LB command Usage Usage and Default Details Usage While Moving In a Program es ommand Line Yes ontroller Usage All Related Commands MG Message Lx LU LCD Update Examples LBO Set the LCD Bias Contrast to minimum LB15 Set the LCD Bias Contrast to maximum LB 8 Set the LCD Bias Contrast to default and turn on backlight backlight is an optional enhancement Explicit or Implicit burnable with BN Low Current Stepper Mode DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The LC command causes the amp enable line for the specified axes to toggle disabling the stepper drive when the respective axes stops profiler holding position Each axis is handled individually This will reduce current consumption but there will be no holding torque at rest The MT command must be issued prior to the LC command The user can set a time interval to wait after the profile has finished the move before the amp enable line is removed
108. S command is saved and after the next EN command is encountered End of subroutine program execution will continue with the instruction following the JS command There can be a JS command within a subroutine up to 16 deep Multiple conditions can be used in a single jump statement The conditional statements are combined in pairs using the operands amp and The amp operand between any two conditions requires that both statements must be true for the combined statement to be true The l operand between any two conditions requires that only one statement be true for the combined statement to be true Note Each condition must be placed in parenthesis for proper evaluation by the controller A jump is taken if the specified condition is true Each condition must be placed in parenthesis for proper evaluation by the controller Example JS a var0 1 amp varl 2 valid conditional jump JS a var0 l amp varl1 2 invalid conditional jump Passing Values on the Stack Up to 8 parameters can be passed on the subroutine stack One value can be returned from a subroutine More return values are possible with pass by reference and array passing Using subroutine stacks and passing parameters in a subroutine has many advantages including 1 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
109. Style GR Syntax Explicit or Implicit burnable with BN Gear Ratio Hardware _ DMC40x0 DMC41x3 DMC21x3 ardware IDMC18x6 DMC18x2 DMC300x0 Full Description GR specifies the Gear Ratios for the geared axes in the electronic gearing mode The master axis is defined by the GA command The gear ratio may be different for each geared axis The master can go in both directions A gear ratio of 0 disables gearing for each axis A limit switch also disables the gearing unless gantry mode has been enabled see GM command When the geared motors must be coupled strongly to the master use the gantry mode GM Arguments GR n n n n n n n n or GRA n where n is a signed numbers in the range 127 with a fractional resolution of 1 65536 n 0 Disables gearing n Returns the value of the gear ratio for the specified axis Operand Usage _GRn contains the value of the gear ratio for the specified axis Usage Usage and Default Details While Moving Yes Derav o Related Commands GA Master Axis for Gearing GM Gantry Mode Examples REM setup gearing where B axis is master for A and C axes GEAR MOB Turn off servo to B motor GAB B Specify master axis as B GR Zo o SHB PRB 1000 BGB T 1 EN Specify A and C gear ratios Enable B axis Move B axis A axis will C axis will End program 1000 counts be commanded be commanded to move 250
110. T 4 A r A A 0 2048 4096 6144 8192 EAX Set Master Axis as X EM Master Slave EP Master 4 0 DPO O SHXY NOTE EP Value of Cam Points must be gt to Master Modulus JG100 BGX EBL EG 0O Start ECAM profile EN EB Enable ECAM Full Description Syntax Implicit Only DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 The EB function enables or disables the cam mode In this mode the starting position of the master axis is specified within the cycle When the EB command is given the master axis is modularized Arguments EBn where n 1 Starts ECAM mode n 0 Stops ECAM mode n Returns 0 if ECAM is disabled and a 1 if enabled Operand Usage _EB contains the state of Ecam mode 0 disabled 1 enabled Usage Usage and Default Details Usage While Moving es In a Program es ommand Line es ontroller Usage All Related Commands EA Choose ECAM master EC Set ECAM table index EG Engage ECAM EM Specify ECAM cycle EP Specify ECAM table intervals amp staring point EQ Disengage ECAM ET ECAM table Examples B2 Starts ECAM mode EBO Stops ECAM mode B _EB Return status of cam mode EC pae ECAM Counter DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The EC function sets the index into the ECAM table This command is only useful when entering ECAM table values witho
111. The order is important Each data type corresponds with the array specified in the RA command Operand Usage _RD contains the address for the next array element for recording Usage Usage and Default Details Related Commands RA Record Array RC Record Interval DM Dimension Array Examples DM ERRORA 50 ERRORB 50 Define arrays RA ERRORA ERRORB Specify arrays to be recorded RD TEA TEB Specify data source RG Begin recording period is once every other servo sample JG 1000 BG Begin motion GalilTools The GalilTools Realtime scope can often be used as an alternative to record array Syntax Embedded Only Return from Error Routine Hardware All Full Description The RE command is used to end the following error automatic subroutines POSERR LIMSWI TCPERR AMPERR if equipped with internal amplifiers SERERR if equipped with SER firmware An RE at the end of these routines causes a return to the main program Care should be taken to ensure the error conditions no longer are present to avoid re entering the subroutines Trippoint states can be preserved or cleared with RE1 or REO respectively A motion trippoint like MF or MR requires the axis to be actively profiling in order to be restored with the REI command To avoid returning to the main program on an interrupt use the ZS command to zer
112. UDP handle where interrupts should be sent 0 7 indicates handles A H respectively If the handle specified by h is not UDP or not initialized an error will occur TC1 A 1 disables the interrupt dispatch GalilTools software will auto configure h allowing the user to ignore its use in most cases J p gq 9 i go a et n i j j j Usage Usage and Default Details Operand Usage _EI contains the interrupt mask m Related Commands UI User interrupt Examples alee Interrupt when motion is complete on al is hit of L1 From the table enable bits 8 and F 1280 Interrupt when digital input 3 is low T 32768 4 10 axes OR if a limit switch m 256 1024 1280 Enable bit 15 of m and bit 2 Syntax Embedded Only Else function for use with IF conditional statement fae fon Hardware All Full 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 Argu
113. Value Related Commands ACOS n Arc cosine SIN n sine ATAN n Arc tangent COS n Cosine TAN n Tangent Examples MG ASIN 1 90 0000 MG Q ASINI O0 0 0000 MG Q ASINI 1 90 0000 Inverse tangent Hardware All Full Description Returns in degrees the arc tangent of the given number Arguments ATAN n n is a signed number in the range 2147483647 to 2147483647 Operand Usage N A Usage Usage and Default Details While Moving No RIO Command Line Controller Usage Default Format Default Value Related Commands ASIN Arc sine SIN Sine ACOS Arc cosine COS Cosine TAN Tangent Examples MG GATAN 10 84 2894 MG QATAN O0 0 0000 MG GATAN 10 84 2894 Bitwise complement Hardware All Full Description Performs the bitwise complement NOT operation to the given number Arguments COM n where n is a signed integer in the range 2147483647 to 2147483647 The integer is interpreted as a 32 bit field Operand Usage N A Usage Usage and Default Details In a Program Command Line Controller Usage Default Value Default Format Related Commands amp Logical operators AND and OR Examples MG 8 0 COM 0O SFFFFFFFF MG 8 0 COM SFFFFFFFF S00000000 EGE pa ce Cosine Hardware All Full Description Returns the cosine of the given angle in degrees Arguments COS n where n is a signed
114. Wait 2 seconds Turn off relay End Program set output ter a move is complete turn ona relay for 2 seconds clear out tput 1 Syntax Implicit Only _ LXQ0 _XQ1 _XQ2 _XQ3 Execute Program Hardware All Full Description The XQ command begins execution of a program residing in the program memory of the controller Execution will start at the label or line number specified Up to 8 programs may be executed with the controller Arguments XQ A n XQm n where A is a program name of up to seven characters m is a line number n is an integer representing the thread number for multitasking n is an integer in the range of 0 to 7 NOTE The arguments for the command XQ are optional If no arguments are given the first program in memory will be executed as thread 0 Operand Usage _XQn contains the current line number of execution for thread n and 1 if thread n is not running Usage Usage and Default Details eravan e Related Commands HX Halt execution Examples XQ APPLE 0 XQ DATA 2 XO 0 Start Hint For before exec DOS users don t forge ting a program i t execution at line 0 Start execution at Start execution at label APPLE thread zero label to quit DATA thread two the edit mode first Explicit or Implicit burnable with BN Step Drive Resolution DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0
115. a DMC 40x0 special BiSS firmware and a hardware upgrade on the controller s internal ICM board When ordering a new controller with the BISS option both requirements will be loaded at the factory Clocking in BiSS data has a timing overhead which may be non negligible In the event that clocking in data may have a negative effect on servo performance e g using multiple encoders with a lowered TM sample rate the controller will respond with an error mode See AUTOERR for more information This error mode is very rare and is expected to occur only in development Arguments SSn ss0 ss1 ss2 ss3 lt p where n The axis designator XYZ or W or ABCDEFG or H Each axis must be set individually ss0 0 is for NO BiSS 1 is for BiSS to replace MAIN encoder data TP 2 is for BiSS to replace AUX encoder data TD ssl number of single turn bits A positive number designates true absolute single turn decoding A negative number will cause the controller to internally simulate a multi turn encoder by counting past the single turn max min This is typically used for a rotary single turn encoder to prevent an instantaneous change in position error when the single turn bits roll over When the controller loses power the internal multi turn state is lost ss2 number of bits before E error bit This includes multi turn bits single turn bits zero padding bits See Table 1 ss3 number of zero padding bits after single turn data
116. a solicited command because the host sends the command and expects a response MG TIME 261928200 0000 variable 10 MG variable 5 15 0000 MG _TIO 255 0000 MG Foo Foo 2 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 expecting it the DMC code sends the data when the MG command is executed in embedded code The CW command controls the ASCII format of all unsolicited messages POSERR MG Warning position error exceeded RE Messages sent from within embedded code can go to any of the Ethernet handles or serial ports See CF to set the routing of the message Arguments MG m n V where m is a text string including alphanumeric characters up to 76 characters n is an ASCII character specified by the value n V is a value variable name operand array element or mathematical expression Multiple strings variables and ASCII characters may be used each must be separated by a comma Formatters Fm n Display variable in decimal format with m digits to left of decimal and n to the right Zm n Same as Fm n but suppresses leading zeros m n Display variable in hexadecimal format with m digits to left of decimal and n to the right Sn Display variable as a string
117. age _ILn contains the value of the integrator limit for the specified axis Usage Usage and Default Details Usage While Moving In a Program es ommand Line Yes ontroller Usage All Default Value 9982 Default Format Related Commands KI Integrator Examples KI 273r ore Integrator constants ITL 3r 2r Tr2 Integrator limits IL Returns the A axis limit 3 0000 Syntax e Implicit Only Input Variable Hardware DMC40x0 DMC21x3 RIO DMC18x6 DMC18x2 Full 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 followed by a carriage return The entered value is assigned to the specified variable name The IN command holds up execution of following 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 Input Interrupts Error Interrupts and Limit Switch Interrupts will still be active The IN command may only be used in thread 0 The IN command can only be used with a serial connection to the controller Arguments IN m n where m is prompt message n is the variable name The total number of characters for n and m must be less than 80 characters Note Do not include a space between the comma at the end of the input message and
118. ails Default Value N A Related Commands VM Vector mode CR Circle Command VP Vector Position 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 1000 0 180 x 1000 n EXAMP LE VM XYZ Z axis is tangent VSS 500 Set vector speed m 1000 360 Z axis encoder is 1000 counts per full revolution n 0 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 i starting at 0 degrees i and spanning 180 degrees VE End the vector path MG_TN Print the calculated initial tangent entry point 250 PAZ _TN Profile a move to orient the Z axis to begin BGZ Move the blade into place AMZ Wait until the blade motion is done SB e Turn on the saw WT1000 Wait for saw to spin up BGS Begin vector motion saw will stay tangent AMS Wait for the cut to complete CBO Turn off the saw MG ALL DONE Print a message EN Syntax Accepts Axis Mask DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The TP command returns the current position of the motor s Arguments TP nnnnnnnnnn where nis A B C D E F G or H or any combination to specify the axis or axes Operand Usage _TPx contains the current position value for the specified axis U
119. ality would be REM AT 100 0 REM or REM AT 100 0 ATO JP atloop jog propotional to analog input example with AT in samples AT n 1 mainl ATO set time reference for AT command JGO BGX start Jog mode gain 1 atloop jgspd gain AN 1 JG jgspd AT 100 1 wait 100 samples from last time referenc ATO JP atloop The following commands are sent sequentially AT 0 Establishes reference time 0 as current time AT 50 Waits 50 msec from reference 0 AT 100 Waits 100 msec from reference 0 AT 150 Waits 150 msec from reference 0 and sets new reference at 150 AT 80 Waits 80 msec from new reference total elapsed time is 230 msec AU Syntax e Explicit or Implicit burnable with BN rn Set amplifier current loop Hardware DMC40x0 DMC41x3 araware IIDMC21x3 DMC300x0 Full Description AMP 43040 The AU command sets the amplifier current loop gain The current loop is available in one of two settings 0 is default while 1 sets a higher current loop gain AU also sets the switching mode where available Chopper vs Inverter High current loop gain Use the higher current 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 AU 0 5 or 1 5 The AMP 430x0 can be set to chopper mode The chopper mode is in contrast to the normal inverter mode in which th
120. all axes Operand Usage _TTn contains the value of the torque for the specified axis Usage Usage and Default Details Related Commands TL Torque Limit Examples V1 _TTA Assigns value of TTA to variable V1 TTA Report torque on A 0 2843 Torque is 2843 volts Syntax Accepts Axis Mask DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The TV command returns the actual velocity of the axes in units of encoder count s The value returned includes the sign 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 Arguments TV nnnnnnnnnn where nis A B C D E F G or H or any combination to specify the axis or axes No argument will provide the velocity for all axes Operand Usage _TVn contains the value of the velocity for the specified axis Usage Usage and Default Details Related Commands SP Speed AC Acceleration DC Deceleration TM Update Time Examples vela _TVA Assigns value of A axis velocity to the variable VELA TVA Returns the A axis velocity 0003420 Syntax e Explicit or Implicit Bum burnable with BN Timeout for IN Position MC PM AI Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description Arguments TW n n n n n n n n TWA n n specifies the timeout in msec n ranges from 0 to 32767 msec n
121. alue N A Default Format N A Related Commands BA Brushless Axis BC Brushless Commutation BD Brushless Degrees BI Brushless Inputs BM Brushless Modulo BO Brushless Offset BS Brushless Setup BZ Brushless Zero Note BB is only effective as part of the BC command or upon reset BC Examples BB 30 60 The of fFsets for the Y and W axes are 30 and 60 respectively Syntax Accepts Axis Mask Brushless Calibration DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The function BC monitors the status of the Hall sensors of a sinusoidally commutated motor and resets the commutation phase upon detecting the first hall sensor This procedure replaces the estimated commutation phase value with a more precise value determined by the hall sensors Arguments BC nnnnnnn where nis A B C D E F G H or any combination to specify the axis Operand Usage _BCn contains the state of the Hall sensor inputs This value should be between 1 and 6 0 and 7 are invalid hall states Usage Usage and Default Details Usage While Moving e In a Program es ommand Line es ontroller Usage All N A N A Related Commands BA Brushless Axis BB Brushless Phase Begins BD Brushless Degrees BI Brushless Inputs BM Brushless Modulo BO Brushless Offset BS Brushless Setup BZ Brushless Zero Examples REM Example for use
122. and Default Details Related Commands DE Dual Encoder Examples TD Return A B C D Dual encoders 200 10 0 110 TDA Return the A motor Dual encoder 200 DUAL _T DA Assign the variable DUAL the value of TI Accepts Axis Mask TE Operands _TEn not burnable Tell Error Full Description The TE command returns the current position error of the motor s The range of possible error is 2147483647 The Tell Error command is not valid for step motors since they operate open loop Arguments TE nnnnnnnnnn where n is A B C D E F G or H or any combination to specify the axis or axes No argument will provide the position error for all axes Operand Usage _TEn contains the current position error value for the specified axis Usage Usage and Default Details While Moving No RIO euivaue _ o_ Related Commands OE Off On Error ER Error Limit POSERR Error Subroutine PF Position Formatting Examples TE Return all position errors 15 2y 07 TEA Return the A motor position error 25 TEB Return the B motor position error 2 Error _TEA Sets the variable Error with the A axis position error Hint Under normal operating conditions with servo control the position error should be small The position error is typically largest during acceleration Syntax Two Letter Only Tell Ethernet Handle DMC40x0 DM
123. and Usage N A Usage Usage and Default Details While Moving NORIO Command Line Yes Controller Usage DMC 4xxx DMC 18x6 RIO 47xxx Default Format N A Default Value N A Related Commands PW Password ED Edit program UL Upload program LS List program TR Trace program Examples PWtest test Set password to test L K test 1 Lock the program LS Attempt to list the program 5 SPOL 106 Privilege violation Syntax Two Letter Only Master Reset Hardware All Full 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 Note 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 Arguments Operand Usage N A Usage Usage and Defalut Details Ye Controller Usage Default Value N A Default Formula N A Related Commands RS Reset Examples Example burns in a non default value for KP does a standard reset with the RS command then performs a master reset with R S KP 6 00 KP10 BN RS KP 10 00 SARAS KP 6 00 Syntax Two Letter Only Revision Information Hardware All Full Description The Revision Information comma
124. and specifies the resolution of the step motor in full steps per full revolution for Stepper Position Maintenance mode Arguments YB m m m m m m m m YBn m where nis A B C D E F G or H or any combination to specify the axis or axes m is 0 to 9999 which represents the motor resolution in full steps per revolution Operand Usage _YBn contains the stepmotor resolution for the specified axis Usage Usage and Default Details fo ke lt ommand Line ontroller Usage N S P Related Commands QS Error Magnitude YS Stepper Position Maintenance Mode Enable Status YA Step Drive Resolution YC Encoder Resolution YR Error Correction Examples Set the step motor resolution of the A axis for a 1 8 step motor YBA 200 Query the A axis value YBA 2200 Response shows A axis step motor resolution Syntax Explicit or Implicit burnable with BN Encoder Resolution DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The YC command specifies the resolution of the encoder in counts per revolution for Stepper Position Maintenance mode Arguments YC m m m m m m m m YCn m where n is A B C D E F G or H or any combination to specify the axis or axes m is 0 to 32766 which represents the encoder resolution in counts per revolution Operand Usage _YCn contains the encoder resolution for the specified axis Usage Usage and Default Details While M
125. are Brackets Array Index Operator e a b c d e f g h JS subroutine stack variable e L K Lock program R S Master Reset e ARV Revision Information GP Gearing Phase Differential Operand LF Forward Limit Switch Operand e _LR Reverse Limit Switch Operand e Bitwise OR Operator e Variable Axis Designator e Addition Operator e lt gt lt gt lt gt Comparison Operators e Equals Assignment Operator AB Abort AC Acceleration AD After Distance e AF Analog Feedback Select e AG Amplifier Gain e Al After Input e AL Arm Latch AM After Move e AO Analog Output e AP After Absolute Position e AQ Analog Input Configuration AR After Relative Distance e AS At Speed AT At Time e AU Set amplifier current loop e AV After Vector Distance e AW Amplifier Bandwidth BA Brushless Axis e BB Brushless Phase Begins BC Brushless Calibration e BD Brushless Degrees e BG Begin e BI Brushless Inputs e BK Breakpoint e BL Reverse Software Limit BM Brushless Modulo BN Burn e BO Brushless Offset e BP Burn Program e BQ Brushless Offset dual DAC e BR Brush Axis e BS Brushless Setup e BT Begin PVT Motion e BV Burn Variables and Array e BW Brake Wait e BX Sine Amp Initialization
126. at n 1 Arguments DM c n where c 1s a array name of up to eight alphanumeric characters starting with an alphabetic character n is the number of array elements DM returns the number of array elements available Operand Usage _DM contains the available array space Usage Usage and Default Details Usage While Moving Y In a Program es ommand Line Yes ontroller Usage All A N A Related Commands DA Deallocate Array Examples DM Pets 5 Dogs 2 Cats 3 Define dimension of arrays pets with elements Dogs with 2 elements Cats with 3 elements DM Tests 1600 Define dimension of array Tests with 1600 elements UI DM 16000 DM MyArray 1000 DM 15000 DMC 4xxx and 18x6 provide length of array with array 1 MG MyArray contains MyArray 1 elements MyArray contains 1000 0000 elements Define Position Full Description Explicit or Implicit DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Hardware 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 will set both the TP and RP values The DP command sets the commanded reference position for axes configured as steppers The units are in steps Example DP 0 this will set the registers for TD and RP to zero but will not effect the TP register value Arguments DP n n n n n n n jn or DPA n where n is a
127. at the _SSn operand reports the fault state of the encoder correctly Example of Warning and Alarm Error bit use Quoted from Renishaw Data Sheet L 9709 9005 03 A Error 1 bit The error bit is active low 1 indicates that the transmitted position information has been E verified by the readhead s internal safety checking algorithm and is correct 0 indicates that the internal check has failed and the position information should not be trusted The error bit is also set to 0 if the temperature exceeds the maximum specification for the product 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 Arguments SY m m m m m m m m or SYn m where m specifies the axis Error and Warning active high low configuration according to the following table SY argument SY m argument Warning Bit A a tow 3 default Active High Active High Operands _SYn contains the current state of the SY setting Usage Usage and Default Details While Moving Yes Related Commands SS Configure the special Galil BiSS feature SERERR Serial Encoder Error Automatic Subroutine Examples configure SY for Renis
128. ated Commands SB Set Bit OB Ouput Bit OP Output Port Examples CB Ty Clear output bit 7 CB 15 Clear ouput bit 15 RIO and 5 8 axis controllers only urn Configure Communications Port 2 Hardware DMC40x0 DMC41x3 Full 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 CC m n r p where m Baudrate 9600 19200 38400 or 115200 n Handshake 0 for handshake off 1 for handshake on r Enabled 0 disabled lenabled p Echo 0 for echo off 1 for echo on Operand Usage N A Usage Usage and Default Details Related Commands CI Configure Communication Interrupt Examples CC 9600 0 0 0 9600 baud no handshake echo off Typical setting with TERM P or TERM H CD Syntax Explicit or Implicit Contour Data DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The CD command specifies the incremental position on contour axes The units of the command are in encoder counts This command is used only in the Contour Mode CM The incremental position will be executed over the time period specified by the command DT ranging from 2 to 256 servo updates The operator can be used to override the global DT time by transmitting the time in a CD with the position data Arguments CD n n n n n n n n
129. ated Commands EI Event interrupts MG Message Examples JG 5000 Jog at 5000 counts s BGA Begin motion ASA Wait for at speed UI 1 Cause an interrupt with status byte F1 241 UL Syntax Two Letter Only Upload Hardware All Full 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 as an end of text marker Arguments None Operand Usage When used as an operand UL gives the number of available variables Usage Usage and Default Details In a Program Command Line Controller Usage Default Format Default Value Related Commands Examples UL Begin upload A Line 0 NO This is an Example Line 1 NO Program Line 2 EN Line 3 lt cntrl gt z Terminator Syntax Implicit Only burnable with BN Vector Acceleration DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The VA command sets the acceleration rate of the vector in a coordinated motion sequence Arguments VA s t where s and t are unsigned integers in the range 1024 to 1073740800 s represents the vector acceleration for the S coordinate system and t represents the vector acceleration for the T coordinate system The parameter input will be rounded down to the nearest factor of 1024 The units of the parameter is counts per second squared s Returns the value of
130. aving a hall error and shut down the motor if OE is set to nonzero Arguments OE n n n n n n n n or OKA n OE n n n n n n n n 8 or OEA n where n 0 Disables the Off On Error function n 1 Motor shut off MO by position error TE gt ER or abort input n 2 Motor shut off MO by hardware limit switch n 3 Motor shut off MO either by position error TE gt ER hardware limit switch or abort input n lt gt 0 Motor is shut off MO by an amplifier error TA Usage Usage and Default Details While Moving Yes Dervan Jo Operand Usage _OEn contains the status of the off on error function for the specified axis Related Commands AB Abort ER Error limit SH Servo Here POSERR Error Subroutine TA Tell Amplifier Error LIMSWI Limit switch automatic subroutine Examples HOB 1 1 71 1 Enable OE on all axes OE O0 Disable OF on A axis other axes remain unchanged FORM py lg d Enable OE on C axis and D axis other axes remain unchanged OE 1 050120 Enable OE on A and C axis Disable OE on B and D axis Syntax Explicit or Implicit burnable with BN pse fa Full Description The OF command sets a bias voltage in the motor command output or returns a previously set value This can be used to counteract gravity or an offset in an amplifier Arguments OF n n n n n n n n or OFA n where n is a signed number in the range 9 998 to 9 998 volts with resolution of 0 000
131. axis 0 disabled 1 enabled Usage Usage and Default Details While Moving Yes Ye Command Line Yes Controller Usage Default Value po Default Format N A Related Commands KD Damping constant FV Velocity feedforward Examples DV a e E Enables dual loop on all axes DV O 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 Hint The DV command is useful in backlash and resonance compensation Choose ECAM master Syntax Accepts Axis Mask DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The EA command selects the master axis for the electronic cam mode Any axis may be chosen The ECAM mode runs off of the master s main encoder TP even when the axis is running in stepper mode Arguments EAn where n is the axis specified as A B C D E F G H M or N which defines the ECAM master Operand Usage Usage Usage and Default Details Related Commands EB Enable ECAM EC Set ECAM table index EG Engage ECAM EM Specify ECAM cycle EP Specify ECAM table intervals amp staring point EQ Disengage ECAM ET ECAM table Examples CAMONE Master 400 Slave 8192 EBO Disable ECAM Mode ET 0 ET 1 ET 2 ET 3 E
132. bedded code execution will also pause during BX operation If the BX command failes to initialize an axis it will return an error code of 160 TC1 will return 160 BX Command Failure 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 long timeout 1 for GalilTools 1 5 0 has been increased to prevent a timeout while using the BX command Arguments BX m m m m m m m m or BXn m or BX lt t where m is a real number from 4 998 to 4 999 representing the voltage used to initialize the axis A negative voltage will leave the amp on after the BX command while a positive voltage will leave the amp in the MO state The time for the BX command to return will increase with the magnitude of m In most cases BX settings of larger than 3 are not required lt tis an integer between 1 and 5000 and represents the final pulse duration of the BX command The last stage of the BX command will lock the motor into a 15 degree increment for t samples Operands _BXn contains 0 if n is not a Galil sine amp axis contains 1 if n is an uninitialized sine amp axis contains 3 if n is an initialized sine amp axis Usage Usage and Default Details While Moving Yes recommended Default Value t 1000 Related Commands BA Brushless Axis BM Brushless Modulo Examples REM Simple Example BAA BMA 20
133. ble Bottom Up Anatomy of DMC code Classification DMC language can be broken up into the following general classifications Classification Example Comments The command receives its Create a TCP connection on arguments only by _ Ethernet handle C to a device assignment with the Pete ae ee at IP address 192 168 1 101 operator on port 1070 Explicit Only The command receives its Implicit Only arguments only by an IA 192 168 1 102 implicit argument order Set the local IP address to 192 168 1 102 The command receives its arguments either by an Explicit or Implicit explicit assignment using the symbol or an implicit argument order Assign the proportional constant KP of the PID filter to three different axes KPA 64 KPB 32 KPH 128 KP 64 32 128 The command receives its Accepts Axis Mask arguments as a string of valid axis names Two Letter Onl The command accepts no BN Burn BN controller l arguments parameters to flash memory Operators take two arguments and produce a Operator or Comparator result Comparators take two values and return a Boolean 1 or 0 Stop ST axes A D and F Leave other axes running lt gt lt gt lt gt Trig functions Sine and Starting with the ArcSine character these functions SIN ASIN I O functions Analog in and At Function take one argument and AN IN Digital in perform a function RND FRAC COM Numerical functio
134. both disabled n returns the current setting Operand Usage _LDn contains the current value Usage Usage and Default Details Usage Value While Moving Yes In a Program es ommand Line Yes ontroller Usage All Related Commands _LFX State of forward limit _LRX State of reverse limit SC Stop code BL Backward soft limit FL Forward soft limit Examples DX Disable the forward limit switch on the X axis Syntax Two Letter Only Linear Interpolation End ee Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description LE Signifies the end of a linear interpolation sequence It follows the last LI specification in a linear sequence After the LE specification the controller issues commands to decelerate the motors to a stop The VE command is interchangeable with the LE command The LE command will apply to the selected coordinate system S or T To select the coordinate system use the command CAS or CAT Arguments n Returns the total move length in encoder counts for the selected coordinate system S or T To select the coordinate system use the command CAS or CAT Operand Usage _LEn contains the total vector move length in encoder counts Usage Usage and Default Details Usage While Moving es In a Program es ommand Line es ontroller Usage All Related Commands LI Linear Distance BG BGS Begin Sequence LM Linear Interpolation Mode PF Position For
135. cation is NOT evaluated before addition Instead the controller follows left to right precedence Therefore it is required to use parentheticals to ensure intended precedence Arguments n where nis a math or logical amp I expression Operand Usage N A Usage Usage and Default Details Controller Usage All Default Value N A Default Format N A Related Commands Math Operators amp Logical Operators Examples MG 1 2 3 9 0000 MG 1 2 3 7 0000 Syntax Operator or Comparator not burnable Multiplication Operator Hardware All Full Description The symbol is the multiplication operator It takes as arguments any two values variables array elements operands or At functions SIN and returns a value equal to the product of the arguments This is a binary operator takes two arguments and returns one value Mathmatical operations are calculated left to right rather than multiplication and division calculations performed prior to addition and subraction Example 1 2 3 9 not7 It is recommended that parenthesis be used when more than one mathmatical operation is combined in one command Example var 10 30 60 30 evaluates as 302 var 10 30 60 30 evalutes as 12 Arguments m m where m is any value variable array element operand or At functions SIN The result of this operation is a value which is not valid on its own It m
136. cceleration value for the specified axes Operand Usage _ACm contains the value of acceleration for the specified axis where m is the axis ex MG _ACA Usage Usage and Default Details While Moving Yes Ye Command Line Yes Controller Usage Default Value 256000 Default Format Related Commands DC Specifies deceleration rate FA Feedforward Accelleration IT Smoothing constant S curve Examples AC 150000 200000 300000 400000 Set A axis acceleration to 150000 B axis to 200000 counts sec2 the C axis to 300000 counts sec2 and the D axis to 400000 count sec2 AC 25 25 252 Request the Acceleration 149504 199680 299008 399360 Return Acceleration resolution 1024 V _ACB Assigns the B acceleration to the variable V Hint Specify realistic acceleration rates based on your physical system such as motor torque rating loads and amplifier current rating Specifying an excessive acceleration will cause large following error during acceleration and the motor will not follow the commanded profile The acceleration feedforward command FA will help minimize the error Explicit or Implicit amp Trippoint Operands none Syntax not burnable After Distance DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The After Distance AD command is a trippoint used to control the timing of events This comma
137. closed 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 Each condition must be placed in parenthesis for proper evaluation by the controller Example IF var0 1 amp varl 2 valid IF statement MG GOOD ENDIF IF var0 l varl 2 invalid IF statement MG BAD ENDIF IF var0O l amp varl 2 invalid IF statement MG BAD ENDIF Arguments IF condition where Conditions are tested with the following logical operators lt less than or equal to gt greater than equal to lt less than or equal to gt greater than or equal to lt gt not equal Note 1 Bit wise operators and amp can be used to evaluate multiple conditions Note 2 A true condition and an false condition 0 Usage Usage and Default Details Operand Usage Related Commands ELSE Optional command to be used only after IF command ENDIF End of IF conditional Statement JS Jump to subroutine JP Jump to label Examples A IF _TEA lt 1000 IF conditional statement based on a motor position IF IN 1 0 MG Input 1 is Low ENDIF EN var v1l AN 1 5 IF v1 gt 25 amp IN 4 1 MG Cond
138. command stops motion on the specified axis Motors will come to a decelerated stop If ST is sent from the host without an axis specification program execution will stop in addition to motion Arguments ST nnnnnnnnnn where nis A B C D E F G H M N S or T or any combination to specify the axis or sequence If the specific axis or sequence is specified program execution will not stop No argument will stop motion on all axes Operand Usage N A Usage Usage and Default Details Related Commands BG Begin Motion AB Abort Motion DC Deceleration rate Examples ST A Stop A axis motion sis Stop coordinated sequenc ST ABCD Stop A B C D motion ST Stop ABCD motion ST SCD Stop coordinated AB sequence and C and D motion Hint Use the after motion complete command AM to wait for motion to be stopped Explicit or Implicit burnable with BN Serial encoder BiSS active level DMC40x0 DMC41x3 RIO Hardware DMC300x0 Full 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 The encoder manufacturer dictates the high low active state of both of these bits Consult your encoder documentation for details The SY mask should be set appropriately to ensure that the SERERR automatic subroutine will run when the bits are active and th
139. compare the output is a low going pulse with a duration of approximately 250 nanoseconds Arguments OCx m n where x A B C D E F G H specifies which main encoder input to be used For 5 8 axis controllers two OC functions can work simultaneously one on axes A B C or D and the other on E F G or H m Absolute position for first pulse Integer between 2 147 483 648 and 2 147 483 647 The beginning pulse position must be within 65535 counts of the current axis positions when the OC command is executed n Incremental distance between pulses Integer between 65535 and 65535 0 one shot when moving in the forward direction 65536 one shot when moving in the reverse direction OCA 0 will disable the Circular Compare function on axes A D OCE 0 will disable the Circular Compare function on axes E H The sign of the second parameter n will designate the expected direction of motion for the output compare function When moving in the opposite direction output compare pulses will occur at the incremental distance of 65536 In where Inl is the absolute value of n Operand Usage _OC contains the state of the OC function _OC 0 OC function has been enabled but not generated any pulses _OC 1 OC function not enabled or has generated the first output pulse on a 5 8 axis controller OC is a logical AND of axes A D and E H Usage Usage and Default Details Related Commands AL Arm Latch RL Report Latched Position CE
140. condition must be placed in parenthesis for proper evaluation by the controller Example JP a var0 1 amp varl 2 valid conditional jump JP a var0 l amp varl1 2 invalid conditional jump Arguments JP destination condition where destination is a label integer or variable and is defined as the line number where code shall jump if condition is true condition is an optional conditional statement using a logical operator The logical operators are lt less than gt greater than equal to lt less than or equal to gt greater than or equal to lt gt not equal to Operand Usage N A Usage Usage and Default Details Related Commands JS Jump to Subroutine IF If conditional statement ELSE Else function for use with IF conditional statement ENDIF End of IF conditional statement Examples JP POS1 V1 lt 5 Jump to label POS1 if variable V1 is less than 5 JP A V7 V8 0 Jump to A if V7 times m equals 0 JP B IN 1 1 Jump to B if input 1 1 JP C Jump to C unconditionally Syntax e Embedded Only Jump to Subroutine Hardware All Full Description Basic Usage The JS command will change the sequential order of execution of commands in a program 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 The line number of the J
141. ct the coordinate system use the command CAS or CAT Arguments LM nnnnnnnnnn where nis A B C D E F G or H or any combination to specify the axis or axes n Returns the number of spaces available in the sequence buffer for additional LI commands Operand Usage _LMn contains the number of spaces available in the sequence buffer for the n coordinate system S or T Usage Usage and Default Details Related Commands LE Linear Interpolation End LI Linear Interpolation Distance VA Vector Acceleration VS Vector Speed VD Vector Deceleration AV After Vector Distance CS Clear Sequence Examples LM ABCD Specify linear interpolation mode VS 10000 VA 100000 VD 1000000 Specify vector speed acceleration and deceleration LI 100 200 300 400 Specify linear distance LI 200 300 400 500 Specify linear distance LE BGS Last vector then begin motion Syntax Implicit Only Full Description The LS command returns a listing of the programs in memory Arguments LS n m where n and mare valid numbers from 0 to 1999 or labels n is the first line to be listed m is the last n is an integer in the range of 0 to 1999 or a label in the program memory n is used to specify the first line to be listed m is an integer in the range of 1 to 1999 or a label on the program memory m is used to specify the last line to be listed Operand Usage N A Usage Usage and Defa
142. d with n 1 the time interval would be 2 msec n Returns the value for the time interval for contour mode Usage Usage and Default Details erarva J Operand Usage _DT contains the value for the time interval for Contour Mode Related Commands CM Contour Mode CD Contour Data Examples DT 4 Specifies time interval to be 16 msec TM1000 DT 7 Specifies time interval to be 128 msec REM basic contour example ContO0 Q 0 C T CM ABCD 4 D 100 200 300 400 D 0 0 0 0 0 Wait WI 16 1 JP Wait CM lt gt 511 EN REM contour example for Contl1 D C gt aaaauva M T D D D D T AB 1 100 200 400 200 200 100 300 50 1 83 D 0 0 0 0 0 Wait WI 16 1 JP Wait CM lt gt 511 EN D 200 350 150 500 r Define label Cont0 Specify Contour Mode Specify time increment for contour 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 New position data End of Contour Buffer Sequenc Wait for all segments to process buffer to empty wait for 1 DT time segment 2 4 End program pre loading of contour buffer Define label Contl Specify Contour Mode Pause Contour Mode to allow pre load of buffer Countour Data pre loaded in buffer Countour Data pre loaded in
143. d Ethernet connection 123 TCP lost sync or timeout This error means that the client on handle A did not respond with a TCP acknowledgement for example because the Ethernet cable was disconnected Handle A is closed in this case TCPERR allows the application programmer to run code for example to reestablish the connection when error 123 occurs Use RE to terminate the subroutine Code does not need to be running in thread zero for TCPERR to run Arguments N A Operand Usage N A Usage Usage and Default Details Related Commands TC Tell error code _IA4 Last dropped handle MG Print message SA Send ASCII command via Ethernet Examples L MG EA L WT1000 JP L TCPERR MG Pl TCPERR Dropped handle _IA4 RE NOTE Use RE to end the routine Hexadecimal Hardware All Full Description The operator denotes that the following string is in hexadecimal notation Arguments nnnnnnnn mmmm n is up to eight hexadecimal digits denoting 32 bits of integer m is up to four hexadecimal digits denoting 16 bits of fraction Operand Usage N A Usage Usage and Default Details In a Program Command Line Controller Usage Default Value Default Format Related Commands Multiply shift left Divide shift right MG 8 4 Print in hexadecimal Examples x 7fffffff 0000 store 2147483647 in x y x amp 0000ffff 0000 store l
144. d axes Operand Usage _BLn contains the value of the reverse software limit for the specified axis Usage Usage and Default Details Default Value 214783648 Default Format Position format Related Commands Examples TEST Test Program AC 1000000 Acceleration Rate DC 1000000 Deceleration Rate BL 15000 Set Reverse Limit JG 5000 Jog Reverse BGA Begin Motion AMA After Motion limit occurred TPA Tell Position EN End Program Hint Galil Controllers also provide hardware limits Explicit or Implicit burnable with BN Brushless Modulo DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The BM command defines the length of the magnetic cycle in encoder counts For rotary motors it is recommended that the BM value be specified as the counts per revolution divided by the of poll pairs cts 4096 Counts per rev pp 3 Pole pairs BMA cts pp Arguments BM n n n n n n nzn or BMA n where n is a decimal value between 1 and 10000000 10 000 000 with a resolution of 1 10 This value can also be specified as a fraction with a resolution of 1 16 n Returns the brushless module for the specified axis Operand Usage _BMn indicates the cycle length in counts for the specified axis Usage Usage and Default Details While Moving Command Line Related Commands BA Brushless Axis BB Brushless Phase Begins BC Brushless Commutation BD Brushl
145. d by Abort command AB Decelerating or stopped by Off on Error OE1 topped after finding edge FE topped after homing HM or Find Index FI topped by selective abort input Decelerating or stopped by encoder failure OA1 For controllers supporting OA OV OT tepper position maintainance error Running in PVT mode PVT mode completed normally ontour Running ontour Stop MC timeout Nn Oy Got Gof ol eleele e BH WT My Motors are running Vector Sequence Stopped after homing HM or Find Index FI Amplifier Fault For controllers with internal drives PVT mode exited because buffer is empty ContourRunning Td Motors stopped at commanded vector Arguments SC nnnnnnnnnn where n is A B C D E F G or H or any combination to specify the axis or axes Operand Usage _SCn contains the value of the stop code for the specified axis Usage Usage and Default Details While Moving no RIO Default Value N A Default Format Related Commands LU LCD Update Examples Tom _SCD Assign the Stop Code of D to variable Tom Syntax Explicit or Implicit Burn burnable with BN Switch Deceleration Hardware DMC40x0 DMC41x3 arewat IDMC18x6 DMC300x0 Full Description The Limit Switch Deceleration command SD sets the linear deceleration rate of the motors when a limit switch has been reached The parameters will be rounded down to the nearest factor of
146. d if 2nd IF i conditional is true ELSE ELSE command for 2nd IF conditional f statement MG ONLY INPUT 1 IS ACTIVE Message to be executed if 2nd IF i conditional is false ENDIF End of 2nd conditional statement ELSE ELSE command for lst IF conditional statement MG ONLY INPUT 2 IS ACTIVE Message to be executed if 1st IF conditional statement is false ENDIF End of lst conditional statement EN Echo Hardware All Full Description The EO command turns the echo on or off If the echo is off characters input over the bus will not be echoed back Serial only no Ethernet Arguments EO n_ where n 0 O0 turns echo off n 1_ 1 turns echo on Usage Usage and Default Details e J Operand Usage _EO contains the state of the echo 0 is off 1 is on Related Commands Examples EO O Turns echo off EO 1 Turns echo on EP Syntax Implicit Only burnable with BN Cam table master interval and phase shift Hardware DMC40x0 DMC41x3 DMC21x3 arewakIDMC18x6 DMC18x2 DMC300x0 Full 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 The parameter m is the interval and n is the starting
147. d to specify incremental distance from last AR or AD command Use AR if multiple position trippoints are needed in a single motion sequence Sonlar Accepts Axis Mask Sya amp Trippoint Operands none DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full 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 will operate after either accelerating or decelerating If the speed is not reached the trippoint will be triggered after the speed begins diverging from the AS value Arguments AS nnnnnnnnnn where n is A B C D E F G H S or T or any combination to specify the axis or sequence Operand Usage N A Usage Usage and Default Details While Moving Yes Ya Command Line Yes Default Value N A Default Format N A While Moving Yes Default Value In a Program Yes Default Format Command Line No Controller Usage ALL CONTROLLERS Controller Usage Related Commands Examples SPEED Program A PR 100000 Specify position SP 10000 Specify speed BGA Begin A ASA After speed is reached MG At Speed Print Message EN jEnd of Program WARNING The AS command applies to a trapezoidal velocity profile only with linear acceleration AS used with smoothing profiling will be inaccurate
148. de of Motion The position is referenced to the absolute zero Arguments PA n n n n n n n n or PAA n where n is a signed integers in the range 2147483647 to 2147483648 decimal Units are in encoder counts n Returns the commanded position at which motion stopped Operand Usage _PAn contains the last commanded position at which motion stopped Usage Usage and Default Details While Moving Ya Default Value N A Related Commands PR Position relative SP Speed AC Acceleration DC Deceleration BG Begin Examples 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 IPA 2 ey oy Returns the current commanded position after motion has completed 400 600 500 200 PA 700 A axis will go to 700 on the next move while the BG 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 Syntax e Implicit Only burnable with BN Position Format DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full 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 fractions can be selected with this command An extra
149. digit for sign and a digit for decimal point will be added to the total number of digits If PF is negative the format will be hexadecimal and a dollar sign will precede the characters Hex numbers are displayed as 2 s complement with the first bit used to signify the sign 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 The PF command can be used to format values returned from the following commands BL LE DE PA DP PR EM TN FL VE IP TE TP Arguments PF m n where m is an integer between 8 and 10 which represents the number of places preceding the decimal point A negative sign for m specifies hexadecimal representation n is an integer between 0 and 4 which represent the number of places after the decimal point n Returns the value of m Operand Usage _PF contains the value of the position format parameter Usage Usage and Default Details Usage While Moving e In a Program es ommand Line es ontroller Usage All Default Value Default Format 2 1 10 0 for 18x2 Related Commands Examples TPX Tell position of X 20 Default format PF 5 2 Change format to 5 digits of integers and 2 of fractions TPX Tell Position 2 21 00 PF 5 2 New format Change format to hexadecimal TPX Tell Position 00015 00 Report in hex Explicit or Implicit burnable with BN DMC40x0 DMC4 1x3 DMC21x3 Har
150. ds ININT Input interrupt subroutine I Enable input interrupts Examples A 1 JP A EN Program label MG I SB NT Begin interrupt subroutine NPUT INTERRUPT Print Message Set output line 1 Return to the main program and restore trippoint Syntax Accepts Axis Mask Report Latched Position DATARO DM Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The RL command will return the last position captured by the latch The latch must first be armed by the AL command and then a 0 must occur on the appropriate input Each axis uses a specific general input for the latch input X A axislatch Input 1 Y B axislatch Input 2 Z C axislatch Input 3 W D axislatch Input 4 E axislatch Input 9 F axislatch Input 10 G axislatch Input 11 H axislatch Input 12 The armed state of the latch can be configured using the CN command Note The Latch Function works with the main encoder When working with a stepper motor without an encoder the latch can be used to capture the stepper position To do 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 Arguments RL nnnnnnnnnn where
151. dware DMC18x6 DMC18x2 DMC300x0 Full Description The PL command adds a low pass filter in series with the PID compensation The crossover frequency can be entered directly as an argument to PL The minimum frequency for pole placement is 1 Hz and the maximum is 1 4 TM To maintain compatibility with earlier versions a value less than may be specified using the following formula 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 sample time To convert from the desired crossover 3 dB frequency in Hertz to the value given to PL use the following formula acg hN where n is the argument given to PL T is the controller s servo loop sample time in seconds TM divided by 1 000 000 Fc is the crossover frequency in Hertz Example Fc 36Hz TM 1000 n e 0 001 36 2 pi 0 8 a e finite cord 256 145 Arguments PL n n n n n n n n or PLA n Frequency Argument n is a positive integer in the range of to Fmax and corresponds to the crossover frequency that the poll will create Fmax is given by 1 4 TM Calculated Poll Argument deprecated n is a positive number in the range 0 to 0 9999 n Returns the value of the pole filter for the specified axis Operand Usage _PLn contains the value of the pole filter for the specified axis Usage Usage and Default Details Usage Val
152. e Operand Usage _VDn contains the value of the vector deceleration for the specified coordinate system S or T Usage Usage and Default Details Related Commands VA Vector Acceleration VS Vector Speed VP Vector Position CR Circle VE Vector End VM Vector Mode BG Begin Sequence IT Smoothing constant S curve Examples VECTOR Vector Program Label VMAB Specify plane of motion VA1000000 Vector Acceleration VD 5000000 Vector Deceleration VS 2000 Vector Speed VP 10000 20000 Vector Position VE End Vector BGS Begin Sequence AMS Wait for Vector sequence to complete EN End Program Syntax Implicit Only Burn DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Vector Sequence End Full Description VE is required to specify the end segment of a coordinated move sequence VE would follow the final VP or CR command in a sequence VE is equivalent to the LE command The VE command will apply to the selected coordinate system S or T To select the coordinate system use the command CAS or CAT Arguments VEn No argument specifies the end of a vector sequence n Returns the length of the vector in counts Operand Usage _VEn contains the length of the vector in counts for the specified coordinate system S or T Usage Usage and Defualt Details Related Commands VM Vector Mode VS Vector Speed VA Vector Acceleration VD Vec
153. e All N A N A Related Commands MC Wait for motion complete trip point TW MC timeout Examples BEGIN Begin main program TWX 1000 Set the time out to 1000 ms PRX 10000 Position relative BGX Begin motion MCX Motion Complete trip point EN End main program MCTIME Motion Complete Subroutine MG X fell short Send out a message EN1 End subroutine POSERR Position error automatic subroutine DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The factory default behavior of the Galil controller upon a position error _TEn gt _ERn is to do nothing more than drive the error signal low 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 can be used if the programmer wishes to run code upon a position error for example to notify a host computer The POSERR label causes the statements following to be automatically executed if error on any axis exceeds the error limit specified by ER The error routine must be closed with the RE command The RE command returns from the error subroutine to the main program Use RE to end the routine POSERR will also run when OE1 is set for an axes and that axis is also setup for encoder failure detection see OA OT OV commands The automatic subroutine runs in thread 0 If thread 0 is running it wil
154. e 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 controller 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 always be associated with the highest axis on the controller 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 BA XXXXXXXXXX where n is A B C D E F G H or any combination to specify the axis axes for this mode Galil Sine Drive Use BAN removes all axes configured for use with the sine drive Sine drives will be disabled Third Party Sine Drives Requiring Dual Analog Inputs Rare BA removes all axes configured for sinusoidal commutation Operand Usage Galil Sine Drive Use _BAn will contain a 1 if the BA command has been issued for that axis or
155. e Default Value po Related Commands DV Dual Velocity Dual Loop SI Configure the special Galil SSI feature SS Configure the special Galil BiSS feature Examples MOX Disable motor on X STX 2 25 15 0 lt 13 gt 2 Setup SSI encoder to fill the Aux encoder register DF1 Enable Dual Feedback Swap DV1 Enable Dual Loop mode SHX Enable servo with new configuration Syntax Implicit Only burnable with BN DHCP Server Enable Hardware _ DMC40x0 DMC41x3 RIO wats DMC300x0 Full Description The DH command configures the DHCP or BOOT P functionality on the controller for Server IP addressing Arguments DHn where n 0 disables DHCP and enables BOOT P n 1 disables BOOT P and enables DHCP n returns the current state of the setting Usage Usage and Default Details While Moving Yes Command Line Operand Usage N A Related Commands IA IP Address Examples DH 1 Sets the DHCP function on IA assignment will no longer work IP address cannot be burned Controller will receive its IP address from the DHCP server on the network DH O Sets the DHCP function off and the Boot P function on pa fo Download Hardware All Full Description The DL command transfers a data file from the host computer to the controller Instructions in the file will be accepted as a data stream without line numbers The file is terminated
156. e 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 For both controllers in a connection to be both masters and slaves open two Ethernet handles Each of the controllers is a master over one of the handles and a slave on the other Dedicated Handles TH fer Controller Controller 1 each direction Ae Be Arguments SAh arg SAh arg arg arg arg arg arg arg arg where h is the handle being used to send commands to the slave controller arg 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 Strings are encapsulated by quotations Typical usage would have the first argument as a string such as KI and the subsequent arguments as the arguments to the command Example SAF KI 1 2 would send the command KI1 2 There is a 78 character maximum payload length for the SA command Operand Usage _SAhn gives the value of the response to the command sent with an SA command The h value represents the handle A thru H and the n value represents the specific field returned from the controller 0 7 If the specific field is not used the operand will be 2431 Usage Usage and Default Details While Moving No RIO Yas Ye Controller Usage All Related
157. e amplifier sends PWM power to the motor of Vs 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 Chopper mode should be used in 2 different scenarios 1 The inductance of the motor is 200uH to 500uH 2 The application requires a continuous operation at gt 4 Amps of continuous torque at a duty cycle of gt 50 Chopper mode is recommended for high duty cycle and high current applications AMP 43540 The AU command sets the amplifier current loop gain for the AMP 43540 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 AU m m m m m m m m or AUn m where m Returns the value of the AU setting for the specified axis AMP 43540 Vsupply VDC Inductance L mH m ee e ro p AMP 43040 C Deero o formaren oopen OOOO O Operand Usage _AUn Returns the AU setting for the axis specified by n Usage Usage and Default Details While Moving Default Value N A Default Format Related Commands TA Tell Amplifier AG Amplifier Gain AW Amplifier Bandwidth BX Sine Amp Initialization Examples AU1 0 Sets X axis to higher loop gain and Y ax
158. e axis must be in the motor off state MO before new AG settings will take effect Arguments AG n n n n n n n n where AMP 43040 Gain Value SDM 44040 SA 0A 4A n Returns the value of the amplifier gain Usage Usage and Default Details e s ommand Line S ontroller Usage DMC 4xxx D30x0 DMC 4xxx D4140 DMC 4xxx D4040 Default Value 1 1 1 1 1 1 1 1 Default Format N A Operand Usage Related Commands TA Tell Amplifier Error AW Amplifier Bandwidth Examples MO Set motor off AG2 1 Sets the highest amplifier gain for A axis and medium gain for B axis on 430x0 SH Turn motor on BN Save AG setting to EEPROM Sona Implicit Only AI i amp Trippoint Bum not burnable After Input fac Hardware All Full 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 Hint The AI command actually halts execution until specified input is at desired logic level Use the conditional Jump command JP or input interrupt II if you do not want the program sequence to halt Arguments AI n where nis an integer between and 96 and represents the input number If n is positive the controller will wait for the input to go high If n is negative it waits for n to go low Usage Usage and Default
159. e command Usage Usage and Default Details Ya Default Value N A Operand Usage N A Related Commands IH IP Handle Examples HSC D Connection for handle C is assigned to handle D Connection for handle D is assigned to handle C mg 1 Executing handle connection is assigned to handle handle E is assigned to executing handle ai Connection Explicit or Implicit burnable with BN Homing Velocity DMC40x0 DMC41x3 DMC18x6 DMC300x0 Full Description Sets the slew speed for the FI final move to the index and all but the first stage of HM Arguments HV n n n n njnnn or HVA n where n is an unsigned even number in the range 0 to 22 000 000 for servo motors The units are encoder counts per second OR n is an unsigned number in the range 0 to 6 000 000 for stepper motors n Returns the speed for the specified axis Operand Usage _HVn contains the homing speed for the specified axis Usage Usage and Default Details Usage While Moving Y In a Program es ommand Line Yes ontroller Usage All 56 Default Format Position Format Related Commands HM Home FI Find index Examples HVX 1000 set homing speed HMX home to home switch then index BGX begin motion AMX wait for motion complete EN end program Syntax Implicit Only Operands HX0 HX1 _HX2 _HX3 perands HxX4 HX5 HX6 HX7 Hardware All Halt Execution
160. e input is high See HM and FE commands 1 HM will drive motor backward when Home input is high See HM and FE commands o Latch input is active high 1 Latch input is active low P 1 Configures inputs 5 6 7 8 13 14 15 16 as selective abort inputs for axes A B C D E F G and H respectively Will also trigger POSERR automatic subroutine if program is running 0 Inputs 5 6 7 8 13 14 15 16 are configured as general use inputs q 1 Abort input will not terminate program execution 0 Abort input will terminate program execution Operand Usage _CNO Contains the limit switch configuration _CN1 Contains the home switch configuration _CN2 Contains the latch input configuration _CN3 Contains the state of the selective abort function 1 enabled O disabled _CN4 Contains whether the abort input will terminate the program Usage Usage and Default Details Usage Value While Moving Yes In a Program Yes ommand Line Yes Controller Usage Default Value Default Format Convo Usas 1 1 1 0 0 Related Commands AL Arm latch LD Limit Switch Disable Examples CN 1 1 Sets limit CN 1 Sets input ct CT and home switches to active high latch active low Syntax Implicit Only burnable with BN Configure Extended I O Hardware DMC40x0 DMC21x3 areware IDMC18x6 DMC18x2 Full Description The CO command configures which banks are inputs and which are outputs on the extended I O The CO command confi
161. e is a fault condition on the serial encoder The following are the fault conditions which will cause SERERR to interrupt Serial Encoder Faults BiSS Encoder timeout bit 0 of _SS RC error bit 1 of _SS Error bit bit 2 of _SS Warning bit bit 3 of _SS The active level of the Error and Warning bits for BiSS must be configured with SY For the encoder timeout condition TC1 will also return 140 Serial encoder missing Return from this automatic sub with RE Note The encoder manufacturer may name the Error and Warning bits differently Consult the encoder documentation for the naming convention Galil defines the Warning bit as the bit directly preceeding the CRC The Error bit is defined as the bit directly preceeding the Warning bit See table 1 Arguments N A Operands N A Usage Usage and Default Details While Moving Ye Default Value N A Related Commands SS Configure the special Galil BiSS feature SY Serial encoder BiSS active level Examples SERERR LUO MG SERERR L1 MG_SSA L2 REM disable axis A OFA 1 ERA 0 REM disable axis serial encoder SSA 0 RE TCPERR DMC21x3 RIO DMC300x0 Ethernet communication error automatic subroutine as DMC40x0 DMC41x3 araware Full Description TCPERR is an automatic subroutine which allows execution of code when an TCP error occurs The following error see TC occurs when a command such as MG hello EA is sent to a faile
162. ead of the internal channel The hall error bits cannot cause AMPERKR events if an axis is configured as brush type With BR1 the hall inputs are available for general use via the QH command Trap Amps 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 Arguments BR n n n n n n n n n where n O Brushless servo axis n 1 Brush type servo axis n Returns the value of the axis n External drive when equipped with an internal Galil sine drive Operand Usage N A Usage Usage and Default Details While Moving Default Value 0 0 0 0 0 0 0 O Related Commands OE Off On Error TA Tell Amplifier QH Hall State Examples BR TOO Sets X axis to brush type Y and Z to brushless Hardware DMC40x0 DMC21x3 DMC18x6 DMC18x2 The command BS tests the wiring of a sinusoidally commutated brushless motor If Hall sensors are connected this command also tests the wiring of the Hall sensors This function can only be performed with one axis at a time This command returns status information regarding the setup of brushless motors The following information will be returned by the controller 1 Correct wiring of the brushless motor phases 2 An approximate value of the motor s magnetic cycle 3 The value of the BB command If hall sensors are used 4 The results of the hall sensor w
163. ecified axis Operand Usage _BIn contains the starting input used for Hall sensors for the specified axis Usage Usage and Default Details Usage While Moving e In a Program es ommand Line es ontroller Usage All A N A Related Commands BA Brushless Axis BB Brushless Phase Begins BC Brushless Commutation BD Brushless Degrees BM Brushless Modulo BO Brushless Offset BS Brushless Setup BZ Brushless Zero BK Examples BI 5 The Hall sensor of the Y axis are on inputs 5 6 and 7 REM Example for use with AMP 43540 EX BAA BMA 2000 BIA 1 use hall sensor inputs on the Galil BCA enable brushless calibration bc _BCA store hall state JGA 500 BGA begin jog hall JP hall BCA bc wait for a hall transition STA MG Commutation Complete EN Breakpoint Full Description For debugging Causes the controller to pause execution of the given thread at the given program line number which is not executed All other threads continue running Only one breakpoint may be armed at any time 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 The breakpoint can be armed before or during thread execution Arguments BK n m where n is an integer in the range 0 to 1999 which is the line number to stop at n mu
164. eck that an out of range occured See TC MG Value target is out of range for Position Tracking target _PAA done ENI return reset target to tracking logic DMC21x3 RIO DMC300x0 Communication interrupt automatic subroutine to DO EME ardware Full Description COMINT is an automatic subroutine which 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 COMINT runs in thread 0 and an application must be running in thread 0 in order for COMINT to be enabled Code running in thread zero will be interrupted by the COMINT subroutine Use EN to end the routine NOTE An application program must be executing for the automatic subroutine to function which runs in thread 0 Use EN to end the routine Arguments N A Operand Usage N A Usage Usage and Default Details Related Commands P2CD Serial port 2 code P2CH Serial port 2 character P2NM Serial port 2 number P2ST Serial port 2 string CI Configure COMINT CC Configure serial port 2 EN End subroutine Examples A CC9600 0 1 0 CI2 Loop MG Loop WT 1000 JP Loop COMINT MG COMINT P2CH S1 EN1 1 points that Program Label interrupt on any character print a messag very second print a message and the received character End this subroutine re arming t
165. ector P1 P2 drive type Amplifier Board model rev 0 where P1 A D axes P2 E H axes No string is shown for P2 on a 1 4 axis controller 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 for sine drive option If no string is displayed then that indicates that no drive is present for that set of 4 axes 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 Arguments N A Operand Usage N A Usage Usage and Default Details Ya Related Commands Examples 21D Connector J3 Communications Board CMB 41012 3 3 volt i o Connector Pl Stepper Amplifier Board AMP 44040 Connector P2 Stepper Amplifier Board AMP 44040 Syntax Embedded Only IF conditional statement Hardware All Full 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 en
166. ed TM sample rate the controller will respond with an error mode See AUTOERR for more information This error mode is very rare and is expected to occur only in development Arguments SIn si0 sil si2 si3 lt p gt q where n The axis designator XYZW or ABCDEFGH Each axis must be set individually si0 0 is for NO SSI 1 is for SSI to replace MAIN encoder data 2 is for SSI to replace AUX encoder data sil Total of Bits of SSI A positive number designates No Rollover A negative number will cause the controller to act as an incremental encoder allowing the encoder to count past the max value of the encoder Note when the controller is powered down the rollover values are lost si2 of Single Turn Bits si3 of Status Bits ie Error Bits Positive designates status bits as trailing the SSI data Negative designates status bits as leading the SSI data p is an integer in the range of 4 26 and indicates the clock frequency given the following formula SSI Clock Freq CLK 2 p 1 CLK 20Mhz q For Binary encoding 2 for Gray Code SIn Returns the configuration parameters where n is the axis See Application Note 2438 for more information and a Clock frequency table Usage Usage and Default Details SSI Hardware Upgrade Required Related Commands TP Tell Position TD Tell Dual Encoder SS Configure the special Galil BiSS feature AUTOERR EEPROM checksum error and Serial Encoder t
167. ed by DM command The square brackets are empty Operand Usage N A Usage Usage and Default Details Default Value Controller Usage Default Format Related Commands DM Dimension Array RD Record Data RC Record Interval Examples 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 Hint The record array mode is useful for recording the real time motor position during motion The data is automatically captured in the background and does not interrupt the program sequencer The record mode can also be used for a teach or learn of a motion path GalilTools The GalilTools Realtime scope can often be used as an alternative to record array pa fo Record Hardware All Full Description The RC command begins recording for the Automatic Record Array Mode RA RC 0 stops recording Firmware Note Do not allocate or deallocate arrays DM DA while the Automatic Record Array Mode is running GalilTools Note Do not download arrays from GalilTools or call the arrayDownload or arrayDownloadFile functions while automatic record array mode is running Arguments RC n m where n is an integer 1 thru 8 and specifies 2 n samples between records RC 0 stops recording m is optional and specifies the number of records
168. ed to turn the motor off when a limit switch is tripped see example below For LIMSWI to run the switch corresponding to the direction of motion must be tripped forward limit switch for positive motion and negative limit switch for negative motion LIMSWI interrupts thread 0 when it runs Use RE to terminate the LIMSWI subroutine Arguments N A Operand Usage N A Usage Usage and Default Details Usage While Moving Y In a Program es ommand Line o ontroller Usage All A N A Related Commands _LFn State of forward limit switch _LRn State of reverse limit switch LD Limit Disable Examples Main MG Main print a messag very second WT1000 JP Main EN LIMSWI runs when a limit switch is tripped IF _LFX 0 _LRX 0 MG Xx DCX 67107840 STX AMX MOX ELSE IF _LFY 0 _LRY 0 MG y DCY 67107840 STY AMY MOY ENDIF ENDIF REL MCTIME Sw ower o MC command timeout automatic subroutine DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description MCTIME runs when the MC command is used to wait for motion to be complete and the actual position TP does not reach or pass the target within the specified timeout TW Use EN to terminate the subroutine Arguments N A Operand Usage N A Usage Usage and Default Details Usage While Moving Y In a Program es ommand Line o ontroller Usag
169. elocity specified in counts per second 22 000 000 lt v lt 22 000 000 Integer values only for p and v t is the time to achieve target position and velocity t is in even samples 2 lt t lt 2048 If t 0 then the PVT mode is exited If t 1 the PVT buffer is cleared t is in samples and sample time is defined by TM With a default TM of 1000 1024 samples is 1 second If t is omitted then the previous value is used Operand Usage _PVa contains the number of spaces available in the PV buffer for the specified axis Each axis has a 255 segment PV buffer Usage Usage and Default Details While Moving Related Commands BT Begin PVT Motion ME Forward Motion to Position Trippoint MR Reverse Motion to Position Trippoint Examples Desired X Y Trajectory X Speed at Time ms at Y Position Y Speed at Time ms at end of time TM1000 relative ielntive absolute end of time TM1000 relative period c s time from start period c s time from start wie Jo po p m X Position relative absolute 100 100 256 256 50 50 100 100 200 300 50 306 100 150 510 610 300 600 bo poss6 300 150 o Jboss DPO 0 Define zero position PVX 100 200 256 Command X axis to move 100 counts reaching an ending speed of 200c s in 256 samples PVY 50 500 100 Command Y axis to move 50 counts reaching an ending speed of 500c s in 100 samples PVY 100
170. en 1 and 255 This number is a code that reflects why a command was not accepted by the controller This command is useful when the controller halts execution of a program or when the response to a command is a question mark After TC has been read the error code is set to zero TC1 will return the error code along with a human readable description of the code Tell Code List Tell Code Number Notes Description nrecognized command ommand only valid from program Q ommand not valid in program perand error not valid for RIO not valid for RIO ommand not valid while running ommand not valid while not running ubroutine more than 16 deep G only valid when running in jog mode not valid for RIO IP incorrect sign during position move or IP given during forced deceleration a sed TY my RH MY Sy SH lt lao zi Filo IENE JE D x Z S oai pm Ollo SIS Sg I 1 C Ilo a io z DZ Ilo o 5 Q la 2 S 1 S as is 3 11 0 olaj s oO p n a ola fs lan gt is i alls Ola ga S B Silo g B e p c g aE RE ch 5 Q fes og o m J w Z D on J E 5 am d S y ion a 3 gq oe o 5 c gq td Q ommand not valid when contouring not valid for RIO not valid for RIO not valid for RIO not valid for RIO eo wi Wi wy gt oO o flo Iho GQ G9 o 5 mt SS PS NE i i i 5 i
171. ent counter JP Loop i lt 10 spin in Loop until i gt 10 End the subroutine or thread EN AMPERR DMC21x3 DMC300x0 Amplifier error automatic subroutine fe DMC40x0 DMC41x3 aradware Full Description AMPERR is an automatic subroutine and is 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 Other user code does not need to be running for AMPERR to be raised When an external servo driver is used in an axes where the AMP 430x0 is also installed the axis should be setup as a brushed motor BR a 1 otherwise the lack of hall inputs will cause an amplifier error Use RE to return from the AMPERR subroutine See the TA command for more information Arguments N A Operand Usage N A Usage Usage and Default Details While Moving Yes Yes Controller Usage __ controllers with integrated drives Related Commands TA Tell amplifier status CN Configure I O OE Off on error RE Return from error Examples 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 ampli SB4 Send a message to the user MG An ampli Return El n from the AMPI Detailed AMP information a
172. ents to be specified following the instruction Values may be specified for any axis separately or any combination of axes The comma delimiter indicates argument location For commands that affect axes the order of arguments is axis A first followed by a comma axis B next followed by a comma and so on Omitting an argument will result in two consecutive commas and doesn t change that axis current value Examples of valid syntax are listed below Where n is replaced by actual values Accepts Axis Mask These commands require the user to identify the specific axes to be affected These commands are followed by uppercase X Y Z and W or A B C D E F G and H In DMC code X Y Z W and A B C D are synonyms respectively No commas are used and the order of axes is not important When an argument is not required and is not given the command is executed for all axes Valid Syntax Servo Here A only Two Letter Only These commands have no options or arguments Some examples follow Operator or Comparator Operators and Comparators take two arguments and return one value All comparison and operations occur left to right That is multiplication and addition have the same order of operation priority and operations and comparisons are performed as encountered on a left to right search Parenthesis should be used to indicate order of operation precedence Some examples follow At Function At functions take one value or eval
173. erenced 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 When passing a variable by reference do not allocate any new variables in the called subroutine 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 Arrays to be passed must have names that are 6 characters or less The number of elements in an array is returned by reading index 1 e g array 1 To return a value on the stack write the value in the EN command upon ending the subroutine Arguments JS destination param1 param2 param8 condition where destination is a label integer or variable and is defined as the line number where code shall jump if condition is true param param8 are optional parameters to pass to the subroutine s stack referenced from within the subroutine as a h respectively condition is an optional conditional statement using a logical operator The logical operators are lt less than or equal to gt greater than equal to lt less than or equal to gt greater than or equal to lt gt not equal Operand Usage _JS used after JS is called this operand contains the returned value of the subroutine called by JS Usage Usage and Default Details Ye Controller Usage Related Commands amp
174. ess Degrees BI Brushless Inputs BO Brushless Offset BS Brushless Setup BZ Brushless Zero BX Sine Amp Initialization Examples BM 60000 Set brushless modulo for B axis to be 60000 BMC 100000 3 Set brushless modulo for C axis to be 100000 3 BM pa o Interrogate the Brushless Module for the D axis Note Changing the BM parameter causes an instant change in the commutation phase 33333333 BN Syntax Two Letter Only Burn Hardware All Full Description The BN command saves controller parameters shown below in Flash EEPROM memory This command typically takes 1 second to execute and must not be interrupted The controller returns a when the Burn is complete PARAMETERS SAVED DURING BURN AC CE GR MT SM AF CN HV NB SP AG CO IA NF TK AQ CW IK NZ TL AU DC IL OA TM BA DH IT OE TR BB DV KD OF VA BI EO KI OP VD BL ER KP OT VF BM FA KS OV VS BO FL LC PF YA BR FV LD PL YB BW GA LZ PW YC CB GM MO SB Arguments N A Operand Usage _BN contains the serial number of the processor board Usage Usage and Default Details While Moving No RIO Command Line Controller Usage Default Format Default Value Related Commands Examples SB Set bit 1 CB2 Clear bit 2 CWl1 Set data adjustment bit BN Burn all parameter states Explicit or Implicit burnable with BN DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC3
175. fies the data update rate in milliseconds n 0 to turn it off or n must be an integer in the range of 2 to 30 000 m specifies the Ethernet handle on which to periodically send the Data Record 0 is handle A 1 is B 7 is H The handle must be UDP not TCP Operand Usage _DR contains the data record update rate Usage Usage Default Details Usage Value While Moving Yes In a Program ommand Line Yes ontroller Usage Default Value Default Format Related Commands QZ Sets format of data QR Query a single data record Examples DR8 0 Gx P P _H P _O P DRO Note The data record is in a binary non printable format the output above is normal when printing to the terminal L DT Sm Delta Time DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The DT command sets the time interval for Contour Mode Sending the DT command once will set the time interval for all contour data until a new DT command or CDm n is sent Arguments DTn where n is an integer in the range 0 to 8 n 1 through 8 specifies the time interval of 2 n samples 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 A positive DT will resume contour mode from paused position of buffer By default the sample period is 1 msec set by the TM comman
176. figure encoders CE 2 1 r 1 032 Interrogate configuration V _CEB V D 23 Assign configuration to a variable Note When using pulse and direction encoders the pulse signal is connected to CHA and the direction signal is connected to CHB Syntax e Accepts Axis Mask CF Configure Unsolicited Messages Handle Hardware DMC40x0 DMC41x3 araware fIDMC21x3 RIO DMC300x0 Full Description Sets the port for unsolicited messages By default the controller will send unsolicited data to the main RS 232 or USB serial port 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 Examples of commands that will generate unsolicited messages follow These commands are unsolicited only when in embedded code NOT when sent from a host MG Hello A message MG TCl1 A command that returns a response TP RPA var A variable interogation var thisIsAnError A dmc error will generate an error message Arguments CFn where n is A through H for Ethernet handles 1 through 8 S for Main serial port T for Aux serial port or I is to set to the port that issues the CF command The axis designator n can also be used Operands _CF contains the decimal value of the ASCII letter where unsolici
177. g output voltage of Modbus Devices connected via Ethernet Arguments AOm n where m is the I O number calculated using the following equations m HandleNum 1000 Module 1 4 Bitnum 1 HandleNum is the handle specifier from A to H Module is the position of the module in the rack from 1 to 16 BitNum is the I O point in the module from 1 to 4 n the voltage which ranges from 9 99 to 9 99 Usage Usage and Default Details Operand Usage Related Commands SB Set Bit CB Clear Bit MB Modbus Examples tags Explicit or Implicit amp Trippoint Operands none After Absolute Position DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The After Position AP command is a trippoint used to control the timing of events This command will hold up the execution of the following command until one of the following conditions have been met 1 The actual motor position crosses the specified absolute position When using a stepper motor this condition is satisfied when the stepper position as determined by the output buffer has crossed the specified position For further information see Chapter 6 of the User Manual Stepper Motor Operation 2 The motion profiling on the axis is complete 3 The commanded motion is in the direction which moves away from the specified position The units of the command are quadrature counts Only one axis may be specified at a time AP ca
178. gically AND with the inputs which have been specified by the parameters m and n or the parameter o For example if m 1 and n 4 the inputs 1 2 3 and 4 have been activated If the value for p 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 Operand Usage N A Usage Usage and Default Details Default Value po Related Commands ININT Interrupt Subroutine AI Trippoint for input RI Return from Interrupt Examples Ap Program A Te Ts apt Specify interrupt on input 1 JG 5000 BGA Specify jog and begin motion on A axis LOOP JP LOOP Loop to keep thread zero active only necesary on Ecnono 21x3 18x2 EN End Program ININT Interrupt subroutine STA MG INTERRUPT AMA Stop A print message wait for motion to complete All1 Check for interrupt clear BGA Begin motion RIO Return to main program don t re enable trippoints Syntax Implicit Only burnable with BN Block Ethernet ports Hardware DMC40x0 DMC41x3 araware IDMC21x3 RIO DMC300x0 Full Description 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 The IK command blocks clients from connecting to the controller on incoming ports lower than 1000 except for ports 0 23 68 and 502 Arguments IKn
179. gures which points are inputs and which are outputs on the extended I O The 32 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 COn where n is a decimal value which represents a binary number Each bit of the binary number represents one bank of extended I O When set to 1 the corresponding bank is configured as an output The least significant bit represents bank 2 and the most significant bit represents bank 5 The decimal value can be calculated by the following formula n n2 2 n3 4 n4 8 n5 where nx represents the bank To configure a bank as outputs substitute a one into that nx in the formula If the nx value is a zero then the bank of 8 I O points will be configured as inputs For example if banks 3 and 4 are to be configured as outputs CO 6 is issued Operand Usage _CO returns the extended I O configuration value Usage Usage and Default Details etal vane 0 Related Commands CB Clear Output Bit SB Set Output Bit OP Set Output Port TI Tell Inputs Examples CO CO CO 0 L5 Configure all points as ou tputs Configure all points as inputs Configures bank 2 as outpu CS on extended I O on Syntax Implicit Only Circle DMC40x0 DMC41x3 DMC21x3 Hardware DMC18x6 DMC18x2 DMC300x0 Full Description When using the vector mode VM the CR command spec
180. 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 will usually be 0 HandleNum is the handle specifier from A to H Module is the position of the module in the rack from 1 to 16 BitNum is the I O point in the module from 1 to 4 Operand Usage N A Usage Usage and Default Details Value Yes Yes ommand Line Yes ontroller Usage Related Commands CB Clear Bit OB Output Bit OP Output Port Examples SB 53 Set digital ou SB Le Set digital ou CBSE Clear digital CB d Clear digital tput 5 ih output output Syntax Accepts Axis Mask DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The Stop Code command returns a number indicating why a motor has stopped The controller reponds with a number interpreted as follows Stop Code Table Stop Code Number Meaning Motors are running independent mode e O Dn on O fo oO S oa n ee io as ge e S O e B 5 i Qo O Qa i Qo OQ gr oO i Q D g ge Dn ka i e 5 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 Nn topped by Abort input Nn toppe
181. haw Resolute encoder SYA 0 Syntax Implicit Only _TAO TAI TA2 TA3 Tell Amplifier error status Hardware DMC40x0 DMC41x3 araware ID MC21x3 DMC300x0 Full 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 Tell Amplifier Error Bit Definition BIT STATUS STATUS STATUS STATUS BIT 7 Lader Vo LEH Hall Error H Axis Peak Current H Axis 7 Axes Over Temperatiita EH Hall Error G Axis Peak Current G Axis Axes 5 Over volage LEH Hall Error F Axis Peak Current F Axis 5 Axes 4 eae Hall Error E Axis Peak Current EAxis 4 Axes 3 Pinder Voltage AD Hall Error D Axis Peak Current DAxis 3 Axes 2 Over Temperature cP Hall Error C Axis Peak Current CAxis 2 Axes NOMEE TARD ASES Hall Error B Axis Peak Current B Axis PEO Sones Axes b z hi a DS Hall Error A Axis Peak Current A Axis E en b Valid for AMP 43040 D3040 Valid for AMP 43040 D3040 amp SDM 44140 D4140 Valid for AMP 43040 D3040 amp Valid for SDM 44140 D4140 amp Valid for SDM 44040 D4040 eK Valid for AMP 43040 D3040 amp Valid for AMP 43140 D3140 amp Valid for SDM 44140 D4140 amp Valid for SDM 44040 D4040 Hint If your Brushed type servo motor is disabling and TA1 shows a hall error try using the BR command to set that axis as a Brushed axis causing
182. he start of a line Some examples follow BG This is a comment semicolon and precede followed by spaces and then the comment ST NO Same as above except on compression this data will remain less spaces REM This is a remark It will not be downloaded to the controller by Galil software NO This is an NO comment starting a line NOTE This is also an NO comment This is a single quote comment starting a line PRX 1000 BGX This line of code has been disabled with a leading Special characters and The semicolon is used to separate individual commands on a single line of embedded code or in a single interrogation from the host When running multi threaded embedded code all commands on a single line will be executed before the program counter switches to the next thread Using multiple commands on a single line therefore allows for increased thread priority Certain commands such as trippoints will cause the program counter to continue to the next thread before a line has completed On the RIO series of PLCs and the DMC30000 the backtick ascii 96 is a line continuation character If a line of code passes the controller s 40 character length limit the character can be used to continue the code on the next line Interrogation Most commands accept a question mark as an argument This argument causes the controller to return parameter information Type the command followed by a
183. here the response will be stored in the first element MBh addr 15 m n array where h is the handle letter addr is the unit ID 15 is the function code 15 Write Multiple Coils m is the address of the first register n is the quantity of registers array is the name of the array that will store the desired register data 2 byte per element MBh addr 16 m n array where h is the handle letter addr is the unit ID 16 is the function code 16 Write Multiple Registers m is the address of the first Register n is the quantity of registers array is the name of the array that will store the desired register data 2 byte per element MBh addr 17 array where h is the handle letter addr is the unit ID 17 is the function code 17 Report Slave ID array is where the returned data is stored not supported on RIO Raw Modbus Packet Send MBhz 1 len array where h is the handle letter len is the number of bytes in the array array is the array containing the outgoing data with a dimension of at least len Note each element of array may contain only one byte and array must contain the entire modbus packet including transaction identifiers protocol identifiers length field modbus function code and data specific to that function code Operand Usage N A Usage Usage and Default Details While Moving No RIO Command Line Yes Controller Usage All Default Format N A Default Value N A Related Commands
184. his example the axis is connected to a conveyor operating open loop Set the distance that the master will travel to 1000 counts before the gearing is fully engaged for the X axis Wait slave 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 Engage gearing between the master and slave Sets the current Y axis position to variable P1 This variable is used in the next command because MF requ ires an absolute position MF P1 1000 Wait for the Y axis master to move forward 1000 encoder counts so the gearing engagement period is complete Then the phase difference can be adjusted for Note this example assumes forward motion Increment the difference to bring the master slave in position sync from the point that the GR1 command was issued End Program Syntax Operand Only Forward Limit Switch Operand BAA eat Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The _LF operand contains the state of the forward limit for the specified axis The operand is specified as _LFn where n is the specified axis _LFn 1 when the limit switch state will allow motion in the positive direction _LFn 0 when the limit switch state will not allow motion in the p
185. ibed in Chapter 4 of the user s manual Arguments QR nnnnnnnnnn where nis A B C D E F G H S T or I or any combination to specify the axis axes sequence or I O status S and T represent the S and T coordinated motion planes I represents the status of the I O Operand Usage N A Usage Usage and Default Details Usage Value Yes In a Program Yes ommand Line Yes ontroller Usage N A N A Related Commands QZ Return DMA Data Record information Note The Galil windows terminal will not display the results of the QR command since the results are in binary format Examples Syntax Accepts Axis Mask DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Error Magnitude Full Description The QS command reports the magnitude of error in step counts for axes in Stepper Position Maintenance mode A step count is directly proportional to the resolution of the step drive The result of QS is modularized so that result is never grearter than 1 2 the revolution of the stepper motor Largest possible QS result 0 5 YA YB Arguments QS nnnnnnnn or QSn where nis A B C D E F G or H or any combination to specify the axis or axes Operand Usage _QSn contains the error magnitude in drive step counts for the given axis Usage Usage and Default Details Usage Value While Moving Yes In a Program es ommand Line Yes ontroller Usage Related Commands YA Step Drive Resolution YB Step Motor Re
186. icient activation R 0 reverse motion prohibited 1 reverse motion allowed current flowing for optos Off Pullup for TTL or insufficient activation current flowing for optos 1 reverse motion allowed 0 reverse motion prohibited Arguments N A Operand Usage _LR is an operand Usage Usage and Default Details Usage While Moving e In a Program es ommand Line es ontroller Usage All N A N A Related Commands _LF Forward Limit Switch Operand Examples MG _LRA Display the status of the A axis reverse limit switch See Connecting Hardware in User Manual for active inactive state Syntax Operator or Comparator not burnable Hardware All Full Description The symbol is the bitwise OR operator used with IF JP and JS decisions and also to perform bitwise ORING of values Arguments mim where m is any value operand variable array element or At Function For IF JP and JS the values used for m are typically the results of logical expressions such as x gt 2 y 8 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 Operands N A Usage Usage and Default Details While Moving Ye Default Value N A Related Commands N A Examples Bitwise use varl SF 00001111 var2 SF0 1111000 MG varli var2 EN REM Returned 255 0000 same as 11111111 Conditional Use varl SF 00
187. ified axis Operand Usage _MTn contains the value of the motor type for the specified axis Usage Usage and Default Details While Moving Command Line Yes Controller Usage Default Value 1 1 1 1 Default Format 1 18x2 amp 21x3 1 1 18x6 amp 4xxx Related Commands CE Configure encoder type Examples MT 1 1 2 2 Configure a as servo b as reverse servo c and d as steppers MT Interroga V _MTA Assign mo te motor type tor type to variable Syntax Implicit Only MW MWI Modbus Wait DMC40x0 DMC41x3 DMC21x3 RIO DMC300x0 Full 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 If the response is never received then the TCPERR subroutine will be triggered and an error code of 123 will occur on _TC Arguments MWn where n 0 Disables the Modbus Wait function n 1 Enables the Modbus Wait function Operand Usage MW contains the state of the Modbus Wait _MW contains returned function code _MW 1 contains returned error code Usage Usage and Default Details While Moving No RIO In a Program Yes Command Line Yes Default Value 1 0 on 21x3 Controller Usage Default Format Related Commands MB Modbus Examples MW1 Enables Modbus Wait SB1001 Set Bit 1 on Modbus Handle A CB1001 Clear Bit 1 on Modbus Handle A
188. ifies a 2 dimensional arc segment of radius r starting at angle theta and traversing over angle deltaTheta A positive deltaTheta denotes counterclockwise traverse negative deltaTheta denotes clockwise 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 r theta and deltaTheta must be specified in each CR Radius units are in quadrature counts Theta and deltaTheta have units of degrees The parameters n and 0 are optional and describe the vector speeds that are attached to the motion segment A starting position of zero degrees denotes that the radius lies along a vector following the positive X axis on a 2D Cartesian space VMXY CR 1000 0 270 start X end Arguments CR r theta deltaTheta lt n gt o where r is the circle radius and is an unsigned real number in the range 10 to 6000000 theta is the circle starting angle in degress and is a signed real number in the range 0 to 32000 deltaTheta is the angle to traverse and is a signed real number in the range 0 0001 to 32000 Note The product r deltaTheta must be limited to 4 5x 1048 n specifies a vector speed to be taken into effect at the execution of the vector segment n is an unsigned even integer between 0 and 22 000 000 for servo motor operation and between 0 and 6 000 000 for stepper motors o specifie
189. imeout error Automatic Subroutine DF Dual Feedback DV feedback swap Examples STA 1 25 25 0 lt 10 gt 1 Encoder on axis A replaces main encoder TP 25 bits total all single turn no status STA 0 Disable SSI on axis A Sona Implicit Only SL amp Trippoint Operands none Bum not burnable Hardware All Single Step Full Description The SL command is for debugging purposes Single Step through the program after execution has paused at a breakpoint BK Optional argument allows user to specify the number of lines to execute before pausing again The BK command resumes normal program execution Arguments SL n where n is an integer representing the number of lines to execute before pausing again Operand Usage N A Usage Usage and Default Details Usage Yes In a Program o ommand Line ontroller Usage Related Commands BK Breakpoint TR Trace Examples 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 Syntax Implicit Only burnable with BN Subnet Mask Hardware DMC40x0 DMC41x3 RIO IDMC300x0 Full Description The SM command assigns a subnet mask to the controller All packets sent to the controller whose source IP address is not on the subnet will be ignored by the controller For example for SM 255 255 0 0 and IA 10 0 51 1
190. in memory The listing will be in alphabetical order Arguments None Operand Usage N A Usage Usage and Default Details While Moving NORIO Command Line Controller Usage Default Value Default Format VF for 18x6 amp 4xxx Related Commands LA List Arrays LS List Program LL List Labels Examples LV APPLE 60 0000 BOY 25 0000 ZEBRA 37 0000 Syntax Implicit Only burnable with BN Inhibit leading zeros Hardware All Full Description The LZ command is used for formatting the values returned from interrogation commands or interrogation of variables and arrays By enabling the LZ function all leading zeros of returned values will be removed Arguments LZn where n 1 Removes leading zeros n 0 Does not remove leading zeros n Returns the state of the LZ function 0 does not remove and 1 removes zeros Operand Usage _LZ contains the state of the LZ function 0 is disabled and 1 is enabled Usage Usage and Default Details While Moving No RIO Command Line Controller Usage Default Details Default Value Related Commands Examples LZ 0 Disable the LZ function TPA Interrogate the controller for current position of A axis 0000021645 0000 Value returned by the controller VARI1 Request value of variable VARI previously set to 10 0000000010 0000 Value of variable returned by controller LZ1 Enable LZ function TPA Interr
191. ing the main encoder for the axis to be latched ncan be SA SB SC SD SE SF SG or SH specifying the auxiliary encoder ncan be TA TB TC TD TE TF TG or TH specifying the main encoder is latched from the index pulse instead of a digital input Operand Usage _ALn contains the state of the specified latch 0 not armed armed Usage Usage and Default Details Usage Value While Moving Yes In a Program es ommand Line Yes Controller Usage Default Value Na Default Format Lo Related Commands RL Report Latch Examples ALB Arm B axis latch JG 50000 Set up jog at 50000 counts sec BGB Begin the move LOOP Loop until latch has occurred JP LOOP _ALB 1 RLB Transmit the latched position EN End of program Sonia Accepts Axis Mask AM amp Trippoint a After Move DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The AM command is a trippoint used to control the timing of events This command will hold up execution of the following commands until the current move on the specified axis or axes is completed Any combination of axes or a motion sequence may be specified with the AM command 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 is complete Hint AM is a very important command for controlling the timing between multiple move sequences For example if the A axis is in the
192. int for Relative Distances AP Trippoint for after Absolute Position MF Forward Motion to Position Trippoint Examples TEST DPO JG 1000 BG A MR 3000 V1l _TPA MG Position is V1 Sle EN Program Test Define zero Jog mode speed of 1000 counts sec Begin move After passing the position 3000 Assign V1 A position Print Message Stop End of Program ee o O Explicit or Implicit T e e ES with BN Motor Type Hardware DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full 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 and inverts logic level of the pulse train for step motors Arguments MT n n n n n n n yn or MTA n where n 1 Specifies Servo motor n 1 Specifies Servo motor with reversed polarity n 1 5 Specifies PWM Sign servo drive n 1 5 Specifies PWM Sign servo drive with reversed polarity n 2 Specifies Step motor with active high step pulses n 2 Specifies Step motor with active low step pulses n 2 5 Specifies Step motor with reversed direction and active high step pulses n 2 5 Specifies Step motor with reversed direction and active low step pulses n Returns the value of the motor type for the spec
193. iring test If hall sensors are used This command will turn the motor off when done and may be given when the motor is off Once the brushless motor is properly setup and the motor configuration has been saved in non volatile memory the BS command does not have to be re issued The configuration is saved by using the burn command BN Note In order to properly conduct the brushless setup the motor must be allowed to move a minimum of one magnetic cycle in both directions Full Description Arguments BSA v n where v is a real number between 0 and 10 v represents the voltage level to be applied to each phase n is a positive integer between 100 or 1000 n represents the duration in milliseconds that voltage should be applied to the motor phases Operand Usage N A Usage Usage and Default Details While Moving Ye Command Line Yes Controller Usage Default Value fo Default Format 200 Related Commands BA Brushless Axis BB Brushless Phase Begins BC Brushless Commutation BD Brushless Degrees BI Brushless Inputs BM Brushless Modulo BO Brushless Offset BZ Brushless Zero Examples BSC 2 900 Apply set up test to C axis with 2 volts for 900 millisecond on each step Note When using Galil Windows software the timeout must be set to a minimum of 10 seconds timeout 10000 when executing the BS command This allows the software to retrieve all messages returned from the controller
194. is to normal loop gain AUY Query Y axis current loop gain 20 MG_AUA Query A axis current loop gain zi Implicit Only Syntax After Vector Distance DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The AV command is a trippoint which 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 The units of the command are quadrature counts Arguments AV s t where s and t are unsigned integers in the range 0 to 2147483647 decimal s represents the vector distance to be executed in the S coordinate system and t represents the vector distance to be executed in the T coordinate system Operand Usage _AVS contains the vector distance from the start of the sequence in the S coordinate system and _AVT contains the vector distance from the start of the sequence in the T coordinate system Usage Usage and Default Details erarva Jf Related Commands Examples MOVE DP 0 0 Label CAT Specify the T coordinate system LMAB Linear move for A B LI 1000 2000 Specify distance LI 2000 3000 Specify distance LE BGT Begin motion in the T coordinate system AV 500 After path distance 500 MG Path gt 500 TPAB Print position of A and B axes
195. it UP Wait CM lt gt 511 EN Contl CM ABC DT 8 servo loops 256ms at TM1 CD 100 100 100 CD 100 100 100 CD 0 0 0 1 CD 100 100 100 CD 100 100 100 CD 0 0 0 0 0 Wailt2 JIP Wait2 CM lt gt 511 End of Contour Buffer S 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 Next position data Special syntax to terminate Contour mode Spin on Wait label until buffer is empty End of Contour Buffer Sequenc End program Define label Contl Specify Contour Mode Specify time increment for contour 2 8 000 New position data New position data Pause countour buffer set DT to resume New position data New position data Special syntax to terminate Contour mode Spin on Wait2 label until buffer is empty EN quence Syntax Implicit Only a Operands _CNO _CN1 _CN2 _CN3 3 J _CN4 burnable with BN DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Configure Full 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 CN m n 0 p q where m Limit switches active high 1 Limit switches active low n HM will drive motor forward when Hom
196. ition when used with stepper motors Note The auxiliary encoders are not available for the stepper axis or for any axis where output compare is active Arguments DE n n n n nnn n or DEA n where n is a signed integers in the range 2147483648 to 2147483647 decimal n Returns the position of the auxiliary encoders for the specified axes n returns the commanded reference position of the motor in step pulses when used with a stepper motor Example DE 0 This will define the TP or encoder position to 0 This will not effect the DE value To set the DE value when in stepper mode use the DP command Operand Usage _DEn contains the current position of the specified auxiliary encoder Usage Usage and Default Details While Moving Yes Default Value 0 0 0 0 InaProgram Yes Default Format Position Format Command Line Yes Controller Usage ALL CONTROLLERS Related Commands Examples DE 0 100 200 400 Set the current auxiliary encoder position to 0 100 200 400 on A B C and D axes DE 25 2 2p 2 Return auxiliary encoder positions DualA _DEA Assign auxiliary encoder position of A axis to the variable DualA Hint 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 Syntax Implicit Only bur
197. itions met ENDIF EN REM The conditions of an REM a true condition 1 true v1 1 IF vl MG True vl vl1 ENDIF false v1 0 IF vl if statement evaluates MG Motor is within 1000 counts of zero ENDIF End of IF conditional statement EN End Program input Message to be executed for true IF conditional statement based on input 1 Message to be executed if IF statement is true End of IF conditional statement some calculation for variabl e vil Conditions based on V1 variable and input 4 status Message to be executed if IF statement is true End of IF statement if statement can be simplied with the fact that and a false condition 0 false ELSE MG False vl 0 ENDIF EN Syntax Explicit Only _THn0 _THn1 IHn2 IH3 IH4 Open IP Handle Hardware _ DMC40x0 DMC41x3 DMC21x3 we TRIO DMC300x0 Full Description The IH command is used when the controller is operated as a master also known as a client This command opens a handle and connects to a slave server To open a handle the user must specify 1 The IP address of the slave 2 The type of session TCP IP or UDP IP 3 The port number of the slave This number is not necessary if the slave device does not require a specific port value If not specified the board will specify the port value as 1000 Each controller DMC may have 8 handles open at any given time The handles are denoted wi
198. ive specify the absolute value Arguments EM n n n n n nznzn or EMA n where n is a positive integer in the range between 1 and 8 388 607 for the master axis and between 1 and 2 147 483 647 for a slave axis Operand Usage _EMn contains the cycle of the specified axis Usage Usage and Default Details Usage While Moving Y In a Program es ommand Line Yes ontroller Usage All N A N A Related Commands EA Choose ECAM master EB Enable ECAM EC Set ECAM table index EG Engage ECAM EP Specify ECAM table intervals amp staring point EQ Disengage ECAM ET ECAM table Examples EAC Select C axis as master for ECAM EM 0 3000 2000 Define the changes in A and B to be 0 and 3000 respectively Define master cycle as 2000 V _EMA Return cycle of A Syntax Embedded Only pse Full Description The EN command is used to designate the end of a program or subroutine If a subroutine was called by the JS command the EN command ends the subroutine and returns program flow to the point just after the JS command Note Instead of EN use the RE command to end the error subroutine and limit subroutine Use the RI command to end the input interrupt subroutine A return parameter can be specified to EN from a subroutine to return a value from the subroutine to the calling stack The EN command is used to end the automatic subroutines MCTIME COMINT and CMDERR When
199. 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 Note that the filtering results in longer motion time The use of IT will not effect the trippoints AR and AD 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 Arguments IT n n n n n n n n or ITA n where n is a positive numbers in the range between 0 004 and 1 0 with a resolution of 1 256 n Returns the value of the independent time constant for the specified axis Operand Usage _ITn contains the value of the independent time constant for the specified n axis Usage Usage and Default Details Usage While Moving Y In a Program es ommand Line Yes ontroller Usage All Default Value Default Format Related Commands PR Position relative PA Position absolute JG Jog VM Vector mode LM Linear Interpolation Mode Examples TE 0 285 1O 6 30 94 20 1 Set independent time constants for a b c d axes TE Return independent time constant for A axis 0 8 Explicit or Implicit DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The JG command sets the jog mode and the jog slew speed of the axes Arguments JG n n n n n n n n or JGA n where n is a signed even integer in the
200. l jump to POSERR when an error occurs If thread 0 is not running POSERR will be started in thread 0 Arguments N A Operand Usage N A Usage Usage and Default Details Related Commands OE Off on error TE Tell error ER Error limit RE Return from error routine Examples main main program 1 JP main REM simple example of POSERR POSERR MG POSERR RE 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 F1l 0 axis ENDIF a atl JP POSERR a lt _BV loop until axes have been checked AI 1 wait until input 1 goes high ex safety switch SH RE1 retrurn to main program REM POSERR example for checking to s 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 _TE a lt _ER a amp _OE a amp _OA a MG possible encoder failure on a Z1 0 axis ENDIF ENDIF a vratl JP loop a lt _BV AI1 wait for input 1 to go high SH enable all axes RE SERERR Serial Encoder Error Automatic Subroutine DMC40x0 DMC41x3 RIO Hardware ic300x0 Full Description When equipped with hardware featuring the BiSS encoder upgrade SERERR is an automatic subroutine which runs whenever ther
201. la n n0 2 nl 4 n2 8 n3 16 n4 32 n5 64 n6 128 n7 where nx represents the thread To turn tracing on for a thread substitute a one into that nx in the formula If the nx value is a zero then tracing will be off for that thread For example if threads 3 and 4 are to be traced TR24 is issued Omiiting m traces all threads Operand Usage N A Usage Usage and Default Details Ye Default Value po Related Commands CF Configure port for unsolicited messages Examples Turn on trace during a program execution SES 0O MGTIME 1 WT1000 2 JPO 3 XQ 18003461 0000 18004461 0000 18005461 0000 TR1 2 JPO O MGTIME 18006461 0000 1 WT1000 2 JPO O MGTIME 18007461 0000 1 WT1000 TRO 18008461 0000 18009461 0000 ST Syntax Accepts Axis Mask DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description TS returns status information of the Home switch Forward Limit switch Reverse Limit switch error conditions motion condition and motor state The value returned by this command is decimal and represents an 8 bit value decimal value ranges from 0 to 255 Each bit represents the following status information Bit Status Bit7 Axis in motion if high Bit6 Axis error exceeds error limit if high Bit5 A motor off if high Bit4 Undefined Bit3 Forward Limit Switch Status inactive if high Bit 2 Reverse Limit Switch Status inactive if high Bit1
202. le attempting to establish a TCP IP handle _IHh3 contains a 0 if the ARP was successful contains a if it has failed or is still in progress _THh4 contains a 1 if the master controller is waiting for acknowledgment from the slave after issuing a command contains a 2 if the master controller received a colon from the slave after issuing a command contains a 3 if the master controller received a question mark from the slave after issuing a command contains a 4 if the master controller timed out while waiting for a response from the slave after issuing a command Usage Usage and Default Details While Moving Yes Command Line Default Value 0 0 0 0 Default Format Related Commands IA Internet Address Examples THA 251 29 51 1 Open handle A at IP address 251 29 51 1 TCP is used as default ITHA 2095238399 Open handle A at IP address 251 29 51 Note When the IH command is given the controller initializes an ARP on the slave device befor opening a handle This operation can cause a small time delay before the controller responds Syntax e Implicit Only burnable with BN Full Description The II command enables the input interrupt function for the specified inputs By default input interrupts are configured for activation with a logic 0 but can be configured for activation with a logic 1 signal If any of the specified inputs are activated during program execution
203. ll axes Operand Usage _HMnh 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 fo 0 grounded or active opto 1 PE 1 pull up or non active opto Usage Usage and Default Details Related Commands FI Find Index Only FE Find Home Only CN Configure Home HV Homing velocity Examples HM Set Homing Mode for all axes BG Home all axes HMA Set Homing Mode for axis A BGA Home only the A axis Syntax e Explicit Only Handle Assignment Switch Hardware DMC40x0 DMC41x3 araware IDMC21x3 RIO DMC300x0 Full Description The HS command is used to switch the handle assignments between two handles Handles are opened when a connection is established by an external client TCP or UDP or when a handle is assigned explicitly with the IH command Should those assignments need modifications the HS command allows the handles to be reassigned A handle encapsulates the following 4 pieces of information 1 Local IP address same for all handles 2 Remote IP address 3 Local Port 4 Remote Port Handles are used as a pointer to the network socket in commands such as SAh MBh Eh and IHh where h is the handle letter Arguments HSh i where h is the first handle of the switch A through H S iis the second handle of the switch A through H S S is used to represent the current handle executing th
204. ll store the response MBhz addr 2 m n array where h is the handle letter addr is the unit ID 2 is the function code 2 Read Input Status m is the address of the first coil n is the quantity of coils array is the name of the array whose first element will store the response MBhz addr 3 m n array where h is the handle letter addr is the unit ID 3 is the function code 3 Read Holding Registers m is the address of the first Register n is the quantity of registers array is the name of the array that will store the resulting register data 2 byte per element MBhz addr 4 m n array where h is the handle letter addr is the unit ID 4 is the function code 4 Read Input Registers m is the address of the first Register n is the quantity of registers array is the name of the array that will store the resulting register data 2 byte per element MBh addr 5 m n where h is the handle letter addr is the unit ID 5 is the function code 5 Force Single Coil m is the address of the coil n is a value of 0 or 1 to turn the coil off or on MBh addr 6 m n where h is the handle letter addr is the unit ID 6 is the function code 6 Preset Single Register m is register address nis a 16 bit value MBhz addr 7 m n array where h is the handle letter addr is the unit ID 7 is the function code 7 Read Exception Status m is the address of the first Register n is the quantity of registers array is the name of the array w
205. llows 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 T BO 2 1 Generates the DAC voltage 2 on the first DAC A and 1 on the second DAC B of a sinusoidally commutated drive 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 Syntax Two Letter Only Burn Program Hardware All Full 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 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 timeout period This occurs because this command takes more time than the default timeout of 5 sec The timeout can be changed in the Galil software but this warning does not affect the operation of the controller or software Arguments None Operand Usage N A Usage Usage and Default Details Related Commands BN Burn Parameters BV Burn Variables Examples BP Explicit or Implicit burnable with BN Brushless Offse
206. lobal value Arguments JS label amp var1 amp var2 amp var3 amp var4 amp var5 amp var6 amp var7 amp var8 where label is the label for the subroutine to call varl var8 are the names of global variables which have already been dimensioned If a value changes in the label subroutine the value of the global variable will also be change To ensure that the global variable does not get changed omit the amp symbol to send a copy of the variable to the stack Operands N A Usage Usage and Default Details While Moving Ya Default Value N A Related Commands N A Examples 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 1 SUM o a o r 4s A a S T a b ct dt et f gt htglobal EN a notes do not use spaces when working with f using global variables they MUST be created before the subroutine is run Executed program from program2 dmc 36 0000 36 0000 Parentheses order of operations aradware Full Description The parentheses denote the order of math and logical operations Note that the controller DOES NOT OBEY STANDARD MATHEMATICAL OPERATOR PRECEDENCE For example multipli
207. lt control gt K Lock Unlock ED Edit program UL Upload program LS List program TR Trace program Examples PWtest test Set password to test S L K test 1 Lock the program ED Attempt to edit program Syntax Implicit Only ardadware Full 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 The array elements can be separated by a comma or by lt CR gt lt LF gt The downloaded array is terminated by a It is recommended to use the array download functions available through the GalilTools software and drivers rather than directly using the QD command Arguments QD array start end where array is valid array name start is index of first element of array default 0 end is index of last element of array default size 1 Operand Usage N A Usage Usage and Default Details Whe Moving NORIO Command Line Yes Default Format N A Position Format for 18x2 Controller Usage All Related Commands QU Upload array Examples DM array 5 Dimension array OD arrayl Download values to array WD 3 ArNe QU array 0 4 1 Upload the array 1 0000 2 0000 3 0000 4 0000 5 0000 QD array 2 4 Download a subset 9 8 7 QU array 0 4 1 21 0000 2 0000 9 000
208. m 2147483648 to 2147483647 can be processed Arguments Operand Usage N A Usage Usage and Default Details Related Commands P2CD Serial port 2 code P2CH Serial port 2 character P2ST Serial port 2 string CI Configure COMINT CC Configure serial port 2 COMINT Communication interrupt automatic subroutine Examples 2 RSV DMC2240 Rev 1 00 HARAS CC 9600 0 0 0 MG TEST P2 send a message to the hand terminal x P2NM the 1 2 3 lt enter gt buttons were pushed MG x 123 0000 Syntax Operand Only Operands P2ST Burn not burnable penal port 2 siene IDMC40x0 DMC41x3 Full Description P2ST returns the last string followed by carriage return sent to auxiliary serial port port 2 NO MORE THAN SIX CHARACTERS CAN BE ACCESSED Arguments Operand Usage N A Usage Usage and Default Details Related Commands P2CD Serial port 2 code P2CH Serial port 2 character P2NM Serial port 2 number CI Configure COMINT CC Configure serial port 2 COMINT Communication interrupt automatic subroutine Examples CC 9600 0 1 0 MG TEST P2 send a message to the hand terminal MG P2ST S3 the characters ABC were entered ABC Syntax Explicit or Implicit Burn burnable with BN Position Absolute DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The PA command sets the end target of the Position Absolute Mo
209. m or OAn m where m is O or 1 with 1 enabling this feature returns the last value set n is a single axis mask e g A Operand Usage _OAn contains the OA value for the specified axis Usage Usage and Default Detail etautvave J Related Commands OT Off on encoder failure time OV Off on encoder failure voltage Examples setup OTX 10 Set time to 10 milliseconds OVX 5 Set voltage to 5 OAX 1 Enabl ncoder detection feature EN REM POSERR example for checking to s 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 _TE a lt _ER a amp _OE a amp _OA a MG possible encoder failure on a Z1 0 axis AI1 wait for input 1 to go high SH enable all axes Syntax Implicit Only Hardware All Full Description The OB n logical expression command defines output bit n as either 0 or 1 depending on the result from the logical expression Any non zero value of the expression results in a one on the output Arguments OB n expression where n denotes the output bit expression is any valid logical expression variable or array element Operand Usage N A Usage Usage and Default Details Controller Usage All Default Value N A Default Format N A Related Commands
210. mand is useful for positioning the motors by hand Turn them back on with the SH command Syntax Explicit or Implicit Reverse Motion to Position DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The MR command is a trippoint used to control the timing of events This command will hold up the execution of the following command until the specified motor moves backward and crosses the position specified The units of the command are in quadrature counts Only one axis may be specified at a time The MR command only requires an encoder and does not require that the axis be under servo control When using a stepper motor this condition is satisfied when the stepper position as determined by the output buffer has crossed the specified Reverse Motion Position For further information see Chapter 6 of the User Manual Stepper Motor Operation Hint The accuracy of the MR command is the number of counts that occur in 2 TM sec Multiply the speed by 2 TM sec to obtain the maximum error MR tests for absolute position The MR command can also be used when the specified motor is driven independently by an external device Arguments MR n n n n n n n n or MRA n where n is a signed integers in the range 2147483648 to 2147483647 decimal Operand Usage N A Usage Usage and Default Details Usage While Moving In a Program es ommand Line o ontroller Usage All N A N A Related Commands AD Trippo
211. matting VA Vector Acceleration VD Vector Deceleration VS Vector Speed Examples CAS LM Cl LI 100 200 LE BGS D Specify S coordinated mot tion system Specify linear interpolat End linear move Begin motion tion mode for C and Specify linear distance D axes Syntax Explicit or Implicit Linear Interpolation Distance ee Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full 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 Up to 511 LI segments may be given ahead of the Begin Sequence BGS command Additional LI commands may be sent during motion when the controller sequence buffer frees additional space for new vector segments 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 It is the responsibility of the user to keep enough LI segments in the controller s sequence buffer to ensure continuous motion LM Returns the available spaces for LI segments that can be sent to the buffer 511 returned means the buffer is empty and 511 LI segments can be sent A zero means the buffer is full and no additional segments can be sent It should be noted that the controller computes the vector speed based on the axes specified in the LM
212. ments ELSE Operand Usage N A Usage Usage and Default Details In a Program Command Line Controller Usage Default Value Default Format Related Commands ENDIF End of IF conditional Statement Examples A F IN 1 0 IF conditional statement based on input 1 F IN 2 0 2nd IF conditional statement executed if 1st IF conditional true MG INPUT 1 AND INPUT 2 ARE ACTIVE Message to be executed if 2nd IF conditional is true ELSE ELSE command for 2nd IF conditional statement MG ONLY INPUT 1 IS ACTIVE Message to be executed if 2nd IF conditional is false ENDIF End of 2nd conditional statement ELSE ELSE command for lst IF conditional statement MG ONLY INPUT 2 IS ACTIVE Message to be executed if lst IF conditional statement is false ENDIF End of 1st conditional statement EN Explicit or Implicit burnable with BN Cam cycles modulus DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The EM command is part of the ECAM mode It is used to define 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 If a slave will return to its original position at the end of the cycle the change is zero If the change is negat
213. mmediately upon SH 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 Note The Brake Wait does not apply when the motor is shut off due to OE1 Off on Error In this case position error exceeded or Abort triggered the motor off and brake output will be applied simultaneously Arguments BW n n n n n n nyn or BWA n where n specifies the brake wait time in samples n ranges from 1 to 32000 n 0 Turns Brake Wait off n Returns the brake wait time in msec for the specified axis Operand Usage _BWn contains the brake wait time in samples for the specified axis Usage Usage and Default Details Usage Value While Moving Yes In a Program es ommand Line Yes ontroller Usage All A Related Commands MO Motor Off SH Servo Here Examples BW100 Set brake delay to 100 ms TM1000 for the X axis BX Syntax e Explicit or Implicit Sine Amp Initialization Hardware _ DMC40x0 DMC41x3 araware fIDMC300x0 THIS COMMAND IS STILL IN BETA ITS IMPLEMENTATION IS SUBJECT TO CHANGE Full Description The BX command is only valid with the AMP 43540 or the AMP 43640 An axis with a Galil sine amp powers up in MO state and SH will generate an error for that axis until it is initialized 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 Em
214. motor moves _QS step counts to correct for the error and YS is set back to 1 Explicit or Implicit burnable with BN Stepper Position Maintenance Mode Enable Status OME AORTA Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The YS command enables and disables the Stepper Position Maintenance Mode function YS also reacts to excessive position error condition as defined by the QS command Arguments YS m m m m m m m m YSn m where n is A B C D E F G or H or any combination to specify the axis or axes m 0 SPM Mode Disable m 1 Enable SPM Mode Clear trippoint and QS error m 2_ Error condition occurred Operand Usage _YSn contains the status of the mode for the specified axis Usage Usage and Default Details In a Program Yes Default Format 1 4 Default Value po Related Commands QS Error Magnitude YA Step Drive Resolution YB Step Motor Resolution YC Encoder Resolution YR Error Correction Examples Enable the mode YSH 1 Query the value YS 0 0 0 0 0 0 0 1 Response shows H axis is enabled Explicit or Implicit User Data Record Variables Hardware DMC40x0 DMC41x3 araware IDMC18x6 DMC300x0 Full Description ZA sets the user variables in the data record The eight 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
215. n any axis mask A H for the supported controller n When not using Analog feedback a 1 provides that the analog hardware still be sampled in the servo interrupt This provides evenly sampled data for both the data record and the RA RD RC function 1V peak to peak Sinusoidal Encoder Input ICM 42100 Required n 5 12 indicates that the sinusoidal encoder input is to be used with 2n interpolation counts per encoder cycle n 0 Disables Sinusoidal Interpolation and switches to digital feedback Differential encoder inputs must be used when using digital encoders with the ICM 42100 Consult the factory for single ended use Operand Usage _AFn contains a 1 if analog feedback is enabled and 0 if not enabled for the specified axis Usage Usage and Default Details While Moving No RIO Command Line Controller Usage All Related Commands MT Motor Type CE Configure Encoder AQ Analog Configuration Examples AF 1 Analog feedback on A axis V1 _AFA Assign feedback type to variable AF Interrogate feedback type Explicit or Implicit burnable with BN Amplifier Gain Hardware DMC40x0 DMC41x3 IDMC21x3 DMC300x0 Full Description The AG command sets the amplifier current voltage gain for the AMP 430x0 0 sets the lowest ratio or value while 2 sets the highest ratio AG is stored in EEPROM by the BN command The MT command must be issued prior to the AG command to set the proper range Th
216. n detect a failure on either or both channels of the encoder This 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 Note that for this function to work properly it is necessary to have a non zero value for KI Arguments OT n n n n n n n n where n is the number of samples between 2 and 32000 returns the last value set Operand Usage _OTn contains the OT value for the specified axis Usage Usage and Default Details F ommand Line 0 lt Q D gt lt J Z Q oo gt lt ON ontroller Usage 7 aS oll gt Related Commands OA Off on encoder failure OV Off on encoder failure voltage Examples setup OTX 10 Set time to 10 milliseconds OVX 5 Set voltage to 5 OAX 1 Enable encoder detection feature EN Explicit or Implicit burnable with BN Off on encoder failure voltage Hardware DMC40x0 DMC41x3 araware 1DMC18x6 DMC300x0 Full Description Sets the threshold voltage for detecting an encoder failure The controller can detect a failure on either or both channels of the encoder This 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 Note that for this function to work properly it is necessary to have a non zero value for KI The default value for OV is approxima
217. n only be used when there s commanded motion on the axis Not valid for a slave during ECAM or Gearing use MF and MR Arguments AP n n n nn n n 0 or APA n where n is a signed integer in the range 2147483648 to 2147483647 decimal Operand Usage N A Usage Usage and Default Details Ye Controller Usage Default Value N A Default Format N A While Moving Yes Default Value In a Program Yes Default Format Command Line No Controller Usage ALL CONTROLLERS Related Commands AR Trippoint for relative distances MF Trippoint for forward motion Examples TEST Program B DPO Define zero JG 1000 Jog mode speed of 1000 counts sec BG A Begin move AP 2000 After passing the position 2000 V1l _TPA Assign V1 A position MG Position is V1 Print Message ST Stop EN End of Program Hint The accuracy of the AP command is the number of counts that occur in 2 T M sec Multiply the speed by 2 TM sec to obtain the maximum error AP tests for absolute position Use the AD command to measure incremental distances Syntax Implicit Only _AQ0 _AQ1 AQ2 _AQ3 Operands _AQ4 AQ5 AQ6 _AQ7 _AQ8 burnable with BN Analog Input Configuration Hardware DMC40x0 DMC41x3 ardware IDMC21x3 RIO Full Description The Analog Configuration AQ command is used to set the range of the analog inputs There are 4 different ranges that
218. nable with BN Dual Feedback DV feedback swap araware fIDMC300x0 Full Description This command is used only by the DMC 4xxx with SSI or BiSS upgrades 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 DV 1 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 DMC 40x0 Issue the configuration command SI or SS to setup the serial decoding for the axis aux encoder e g SIn 2 sil si2 si3 lt p gt q Verify proper serial encoder operation by moving the motor in non dual loop mode and checking TDn Disable the motor with MO and issue DFn 1 and DVn 1 The axis control law will now fragment the PID loop P and I will be closed around the serial encoder D will be closed around the motor encoder The serial encoder can now be interrogated with TP not TD and the incremental encoder with TD not TP In summary DF will cause the main encoder register TP and aux encoder register TD to be swapped This makes the wiring configuration compatible with the standard dual loop mode DV Arguments DF n n n n n n n n where n represents a Boolean on or off and is either 1 or 0 Operands _DFn contains the value 1 or 0 of the specified axis Usage Usage and Default Details Y
219. nd causes the controller to return the firmware revision information Arguments N A Operand Usage N A Usage Usage and Default Details Usage While Moving In a Program ommand Line es ontroller Usage All N A N A Related Commands Examples N A Syntax e Operand Only Gearing Phase Differential Operand A A es Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full 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 The operand is specified as _GPn where n is the specified slave axis 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 PA GR Cm Cs where Pd is the phase differential GR is the gear ratio Cm is the number of encoder counts the master axis moved and Cs is the number of encoder counts the slave moved Arguments N A Operand Usage N A Usage Usage and Default Details Usage While Moving In a Program es ommand Line Yes ontroller Usage All N A N A Related Commands GR Gear Ratio GA Gear Axis Examples A GAY Sets the Y axis as the gearing master for the X axis This axis does not have to be under servo control In GR1 Pi _TPyY t
220. nd will hold up the execution of the following command until one of the following conditions have been met 1 The commanded motor position crosses the specified relative distance from the start of the move 2 The motion profiling on the axis is complete 3 If in jog JG mode the commanded motion is in the direction which moves away from the specified position The units of the command are quadrature counts Only one axis may be specified at a time AD can only be used when there s command motion on the axis Not valid for a slave during ECAM or Gearing use MF and MR If the direction of motion is reversed when in PT mode the starting position for AD is reinitialized to the position at which the motor is reversed Note AD command will be affected when the motion smoothing time constant IT is not 1 See IT command for further information Hint The AD command is accurate to the number of counts that occur in 2 TM sec Multiply your speed by 2 TM sec to obtain the maximum position error in counts Remember AD measures incremental distance from start of move on one axis Arguments AD n n n n njnnn or ADA n where n is an unsigned integers in the range 0 to 2147483647 decimal Note The AD command cannot have more than largument Operand Usage N A Usage Usage and Default Details Related Commands AV After distance for vector moves AP After position trip point AR After relative distance trip point MF Motion Forwa
221. nds KP Proportional Constant KD Derivative Constant IL Integrator Limit Examples KI 12 14 16 20 Specify a b c d axis integral KI 7 Specify a axis only KI 8 Specify c axis only KI 2 25 25 2 Return A B C D 7 14 8 20 KI values Syntax Explicit or Implicit burnable with BN Proportional Constant Hardware All Full Description KP designates the proportional constant in the controller filter The filter transfer function is D z KP KD z 1 z KI z 2 z 1 For further details see the section Theory of Operation in the User s Manual Arguments KP n n n n n njnjn or KPA n where n is an unsigned numbers in the range 0 to 1023 875 with a resolution of 1 8 n Returns the value of the proportional constant for the specified axis Operand Usage _KPn contains the value of the proportional constant for the specified axis Usage Usage and Default Details In a Program Command Line Controller Usage Default Format Default Value Related Commands KD Derivative Constant KI Integrator Constant IL Integrator Limit Examples KP 12 14 16 20 Specify a b c d axis proportional KP 7 Specify a axis only KP 8 Specify c axis only KP fy 2p Pye Return A B C D 7 14 8 20 KP values Syntax e Explicit or Implicit Burn burnable with BN Step Motor Smoothing DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The KS parameter
222. ne 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 NO or should be used instead of REM unless speed or program space is an issue Arguments REM n where n is a text string comment Operand Usage N A Usage Usage and Default Details While Moving No RIO Ye Related Commands NO apostrophe also accepted No operation comment Examples Syntax Embedded Only Return from Interrupt Routine Hardware All Full Description The RI command is used to end the interrupt subroutine beginning with the label ININT An RI at the end of this routine causes a return to the main program The RI command also re enables input interrupts If the program sequencer was interrupted while waiting for a trippoint such as WT RII restores the trippoint on the return to the program A motion trippoint such as MF or MR requires the axis to be actively profiling in order to be restored with RI1 RIO clears the trippoint 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 Arguments RIn where n 0 Clears the interrupted trippoint n 1 Restores state of trippoint no argument clears the interrupted trippoint Operand Usage N A Usage Usage and Default Details Related Comman
223. nfigured for sinusoidal commutation This command drives the motor to zero magnetic phase and then sets the commutation phase to zero This command may be given when the motor is off Arguments BZ n n n n n n n BZA n BZ lt t where n is areal number between 4 998 and 4 998 The parameter n will set the voltage to be applied to the amplifier during the initialization In order to be accurate the BZ command voltage must be large enough to move the motor If the argument is positive when the BZ operation is complete the motor will be left in the off state MO A negative value causes the motor to end up in the on state SH lt t is an integer between 100 and 32767 and represents the settling time of the BZ function The controller will wait t servo samples to settle the motor at the zero magnetic phase The t parameter should be specified prior to issuing the BZ command Note The BZ command causes instantaneous movement of the motor It is recommended to start with small voltages and increase as needed Note Always use the Off On Error function OE command to avoid motor runaway whenever testing sinusoidal commutation Operand Usage _BZn contains the distance in encoder counts from the motor s current position and the position of commutation zero for the specified axis This can useful to command a motor to move to the commutation zero position for phase initialization Usage Usage and Default Details While Moving Pe
224. ning on the Galil controller the program and all threads will stop Use EN to end the routine CMDERR will only run from errors generated within embedded DMC code In a single threaded application Thread 0 only the EN command in the CMDERR routine will restart thread O where it left off In a multi threaded 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 In order to restart the thread that encountered the error see the example in Chapter 7 of the User Manual and the _ED operand Thread 0 does not need to be running in order for the CMDERR routine to execute Arguments N A Operand Usage N A Usage Usage and Default Details Related Commands TC Tell Error Code _ED Last program line with an error EN End program Examples 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 start DPA 0 PTA 1 target 0 txrack PAA target WT500 JP txrack new target CMDERR is used to detect a bad target value Define current position as zero Turn on position tracking Initialize target variable Start tracking Track to current value of target Wait 500 ms Continue to track CMDERR runs if an error occurs JP done _TC lt gt 6 ch
225. nning in thread 0 at AUTO Use EN to end the routine Arguments N A Operand Usage N A Usage Usage and Default Details While Moving Yes Ye Controller Usage Related Commands EN End program AUTOERR Automatic Subroutine for EEPROM error BP Burn program Examples 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 SBl Set bit WT500 Wait 500msec CBI Clear bit 1 WT500 Wait 500msec JP AUTO Jump back to AUTO AUTOERR Bum EEPROM checksum error and Serial Encoder timeout error Automatic Subroutine Hardware All Full Description All firmware versions and controllers AUTOERR will run code upon power up if data in the EEPROM has been corrupted The EEPROM is considered corrupt if the checksum calculated on the bytes in the EEPROM do not match the checksum written to the EEPROM The type of checksum error can be queried with _RS Use EN to end the routine SER firmware AUTOERR will 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 In the event of a serial position acquisition timeout the following will occur a The controller will reset b The controller servo loop will not run TM will be set to zero c TC will return 143 TM timed out d The automatic subroutine AUTOE
226. ns Round returning its result Fractional Part Bitwise complement Not valid from the terminal or from PC side code these commands are used in embedded DMC code only IF Conditionals Jump commands End program Return from Error Embedded Only Operands hold values and are not valid on their own Operand They can be used as arguments to commands operators or comparators Current position of axis A encoder Forward limit state on C axis Current Error code Trippoints hold up a thread s execution block until a certain condition occurs These are a special case of Embedded Only Wait 1000 ms Wait until axis A completes profiled motion Wait for input one to go high WT 1000 AMA All Trippoint type commands Comment Comments are used to This is a comment There are three types of document code comments REM and NO DMC code is case sensitive All Galil commands are uppercase User variables and arrays can be upper case or lower case Galil recommends that array and variable names contain at least one lower case character to help distinguish them from commands Explicit Notation These commands specify data using an axis designator followed by an equals sign The symbol can be used in place of the axis designator The defines data for all axes to be the same For example PRB 1000 Sets B axis data at 1000 PR 1000 Sets all axes to 1000 Implicit Notation These commands require numerical argum
227. o 5 Z 5 Nn Only A B C D valid operand SM jumper needs to be installed for stepper motor operation no Accelera no RIO bd BA command ontroller has GL1600 not GL1800 O Njel edededeiyelolironrycorltortco ronr ypc p Olze HS SY ZI ON SI ZI SI SI ZS El ZEI ZS ZISISIS O Pye ilo NI o IIN o eJl w o ol S D gt gt c 5 2i 3 Hl oll oll s SYEISHANEN EBlellsllelellell lt cll lla Wl 5 pish a oll I o vi aS oj ad lt ie al Si Sil Sai Biol i e l aS ISIS 5 YI Seely s c 5 ee By ays i ei S jai 8 Ole ol E SJ Si silo SBTSTS HSI Sil alls SHS He amp e Be a S sHlallal SHelS TEV eH SiS I Zl Ziel El lt z 3 3 eles QHTSayFtySleors ye E E Sle si SiO T SE T Sj ejz iol el xis amp 2 5 o sls iis x Sle Si oll eyes 5 Da E 5 SYST EWS iPo i Slated gt 2 s ei als lla 5 5 53 5 a aI E SHAH lo selaa IEEE SIEI ESI EIE ois eS EJ eg ZN 2 EIS oH ie S FENES a i Sji aollalol omi ue j Ms oja B S ejg ch lt Je 2l e oles Ol liga ls ils o o Us 5 an gq el gt lt a 5 SS 5 g z elele wi sl Sle c lt a o 5 2 a S m aE alla 5 a 2 gt 2 a j o D z a PWS Tella Sil S g A j Ey oe amp gt S A a Z2llmyP z as ke Olly sc JE 3 leg a ae z 3 5 re IQ o 5 Nj N Nj DMC 21x3 only N 0S
228. o 22 000 000 for servo motors and 2 to 6 000 000 for stepper motors s is the speed to apply to the S coordinate system and t is the speed to apply to the T coordinate system The units are counts per second s Returns the value of the vector speed for the S coordinate plane t Returns the value of the vector speed for the T coordinate plane Operand Usage _VSn contains the vector speed of the specified coordinate system S or T Usage Usage and Default Details Related Commands VA Vector Acceleration VP Vector Position CR Circle LM Linear Interpolation VM Vector Mode BG Begin Sequence VE Vector End Examples Vector Speed Variable Hardware DMC40x0 DMC41x3 arewe IDMC18x6 DMC300x0 Full Description The VV command sets the speed of the vector variable in a coordinated motion sequence in either the LM or VM modes VV may be changed during motion The VV command is used to set the lt vector speed variable argument for segments that exist in the vector buffer 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 This is useful when vector segments exist in the buffer that use the lt and gt speed indicators for specific segment and corner speed control and the host needs to be able to dynamically change the nominal return operating speed The vector variable is
229. o the subroutine stack Arguments REn where n 1_ Restores state of trippoint n 0 Clears the interrupted trippoint no argument clears the interrupted trippoint Operand Usage N A Usage Usage and Default Details While Moving No RIO Controller Usage Related Commands AMPERR Amplifier error automatic subroutine SERERR Serial Encoder Error Automatic Subroutine TCPERR Ethernet communication error automatic subroutine POSERR Position error automatic subroutine LIMSWI Limit switch automatic subroutine Examples REM dummy loop A JP A EN POSERR Begin Error Handling Subroutine MG ERROR Print message SB ie Set output bit 1 RE Return to main program and clear trippoint REM Remark Hardware All Full Description REM is used for comments The REM statement is NOT a controller command Rather it is recognized by Galil PC software which strips away the REM lines before downloading the DMC file to the controller 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 li
230. of length n where n is 1 through 6 N Suppress carriage return line feed r n at the end of the message Formatters can be placed before or after each argument in MG Message Routing Messages are routed based upon the CF setting MG can override the global CF setting Ex Sends the message out the Ethernet handle x where x is A B C D E F G or H Pn Sends the message out the Serial port n where n is 1 or 2 denoting Main or Auxilary where equipped Routing options should be placed at the beginning of the message right after MG Printing to the LCD Lx Sends the message to the LCD where x is 1 or 2 for the top or bottom line of the LCD The message cannot be more than 8 characters when sent to the LCD screen excess characters will not be shown The LU command must be set to 0 for user messages sent to the LCD to appear When outputting to the LCD using multiple variables use L1 and L2 before the variable in order to direct it to a specific line number See Example Below Operand Usage N A Usage Usage and Default Details Related Commands CF Configure Unsolicited Messages Handle Examples Message command displays ASC string MG Good Morning Displays the string with the content of variable Total in format of 4 digits before and 2 digits after the decimal point MG The Answer is Total F4 2 Message command sends any ASC character MG 13 10 48 055 dis
231. ogate the controller for current position of A axis 21645 0000 Value returned by the controller VAR1 210 0000 Request val lue of variabl Val e VARI previously set to 10 Lue of variabl le returned by controller MB Syntax Explicit Only Modbus Hardware DMC40x0 DMC41x3 IDMC21x3 RIO DMC300x0 Full Description The MB command is used to communicate with I O devices using the first two levels of the Modbus protocol The format of the command varies depending on each function code The function code 1 designates that the first level of Modbus is used creates raw packets and receives raw data The other codes are the 10 major function codes of the second level Modbus support is for TCP IP Note For those command formats that have addr this is the slave address The slave address may be designated or defaulted to the device handle letter Note All the formats contain an h parameter This designates the connection handle letter See the IH command for setting up the handle Note Port 502 must be used in the Ethernet handle See the IH command for more info on how to open a handle with a specific port number Level 2 Modbus Function Codes Arguments MBh addr 1 m n array where h is the handle letter addr is the unit ID 1 is the function code 1 Read Coil Status m is the address of the first coil n is the quantity of coils array is the name of the array whose first element wi
232. only packets from IP addresses of the form 10 0 xxx xxx will be accepted Arguments SM sm0 sm1 sm2 sm3 or SM n where sm0 sm1 sm2 sm3 are byte numbers 0 to 255 separated by commas and represent the individual fields of the subnet mask n is the subnet mask for the controller which is specified as an integer representing the signed 32 bit number two s complement SM will return the subnet mask of the controller Operand Usage _ SMO contains the subnet mask representing a 32 bit signed number Two s complement Usage Usage and Default Details In a Program Yes es ontroller Usage M 0 0 0 0 Related Commands IH Internet Handle IA IP address Examples SM 255 255 255 255 Ignore all incoming Ethernet packets SM 0 0 0 O Process all incoming Ethernet packets Explicit or Implicit burnable with BN DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The SP command sets the slew speed of any or all axes for independent moves Note Negative values will be interpreted as the absolute value Arguments SP n n n n n n n n or SPA n where n is an unsigned even number in the range 0 to 22 000 000 for servo motors The units are encoder counts per second OR n is an unsigned number in the range 0 to 6 000 000 for stepper motors n Returns the speed for the specified axis When ordered with the ICM 42100 n is an unsigned even number in
233. opposite from a blind jump JP 2 Variable Scope Local variables A subroutine can run with a protected variable space Local variables exist only in the extent of the subroutine and no external thread or stack level can access local variables Local variables can be used for counters indices and other helper variables a h must be used for local variables Other variable names remain global 3 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 4 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 5 Parameter passing A calling 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 Constants Variables and Arrays may be passed up a subroutine stack 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 unchangeable 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 A variable passed by reference is automatically deref
234. ositive direction Note This operand is not a direct readout of the digital input and is affected by the command CN Values of _LFn Digital Input activation _LF value for CN 1 _LF value for CN1 ale rounds toe he one E aO 0 forward motion prohibited 1 forward motion allowed current flowing for optos cian tor a a aevamon 1 forward motion allowed 0 forward motion prohibited current flowing for optos Arguments N A Operand Usage _LF is an operand Usage Usage and Default Details Usage While Moving Y In a Program es ommand Line Yes ontroller Usage All N A N A Related Commands _LR Reverse Limit Switch Operand Examples MG _LFA Display the status of the A axis forward limit switch See Connecting Hardware in User Manual for active inactive state Syntax Operand Only Reverse Limit Switch Operand BAA eat Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The _LR operand contains the state of the forward limit for the specified axis The operand is specified as _LRn where n is the specified axis _LRn 1 when the limit switch state will allow motion in the reverse direction _LRn 0 when the limit switch state will not allow motion in the reverse direction Note This operand is not a direct readout of the digital input and is affected by the command CN Values of _LRn Digital input activation _LR value for CN 1 _LR value for CN1 On Grounded for TTL or suff
235. oving Ye Command Line Yes Controller Usage Default Value 4000 Default Format Related Commands QS Error Magnitude YS Stepper Position Maintenance Mode Enable Status YA Step Drive Resolution YB Step Motor Resolution YR Error Correction Examples Set th YC 4000 Query the D YC 24 000 ncoder resolution of the D axis value Response shows D axis D axis for a 4000 count rev encoder encoder resolution Syntax Explicit or Implicit Error Correction DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full 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 YR m m m m m m m m YRn m where n is A B C D E F G or H or any combination to specify the axis or axes m is a magnitude in step counts Operand Usage None Usage Usage and Default Details While Moving Ye Default Format 1 4 Default Value po Related Commands QS Error Magnitude YA Step Drive Resolution YB Step Motor Resolution YR Error Correction YS Stepper Position Maintenance Mode Enable Status Examples 1 Query the error of the B axis QSB 253 This shows 253 step counts of error Correct for the error YRB _QSB The
236. ower 16 bits of x in y z x amp SffFfFf0000 0000 10000 store upper 16 bits of x in z gj Syntax e Operator or Comparator oO Eo Modulo Operator DMC40x0 DMC41x3 RIO Hardware MC18x6 DMC300x0 Full 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 This is a binary operator takes two arguments and returns one value Mathmatical operations are calculated left to right rather than multiplication and division calculations performed prior to addition and subraction Example 1 2 3 9 not 7 It is recommended that parenthesis be used when more than one mathmatical operation is combined in one command Example var 10 30 60 30 evaluates as 302 var 10 30 60 30 evalutes as 12 Arguments m m where m is any value variable array element operand or At functions SIN 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 Operands N A Usage Usage and Default Details Ye Default Value N A Related Commands N A Examples Determine the day of week in n days DM name 7 Strings for day of week name 0 SUN name 1 MON name 2 TUE name 3 WED name 4 THU name 5 FRI name 6 SAT today 2 T
237. plays carriage return line feed and the characters 0 and 7 CFA Messages configured to go out Ethernet handle A MG EB var Override CF and send the value of variable var to B handle printing to the LCD screen LUO ct 1 rpm 1432 MG L1 CT SPD L2 F1 0 ct F4 0 rpm EN MO Syntax Accepts Axis Mask burnable with BN Motor Off DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The MO command shuts off the control algorithm The controller will continue to monitor the motor position To turn the motor back on use the Servo Here command SH Arguments MO nnnnnnnnnn where n is A B C D E F G or H or any combination to specify the axis or axes No argument specifies all axes Operand Usage N A Usage Usage and Default Details efaivane J While Moving No Default Value 0 Ina Program Yes Default Format 1 0 Command Line Yes Controller Usage ALL CONTROLLERS _MOn contains the state of the motor for the specified axis Related Commands SH Servo Here Examples MO Turn off all motors MOA Turn off the A motor Leave the other motors unchanged MOB Turn off the B motor Leave the other motors unchanged MOCA Turn off the C and A motors Leave the other motors unchanged SH Turn all motors on Bob _MOA Sets Bob equal to the A axis servo status Bob Return value of Bob If 1 in motor off mode If 0 in servo mode Hint The MO com
238. profiled motion complete _BGH 0 el SFr All axes profiled motion complete _BGI 0 i 0200 512 C8 200 Excess position error _TEn gt _ERn Limit switch _LFn 0 Must be profiling motion 10 0400 1024 CO 192 PC command done colon response sent PCI 4000 16384 DA 218 only no 40x0 8000 32768 E1 E8 225 232 Digital input s 1 8 low use n for mask UI user interrupt command FO FF 240 255 User Interrupt See UI command n is an 8 bit integer mask between 0 and 255 and is used to select the specific digital input s if bit 15 of m is set indicating that digital inputs are to be used for interrupting Bit 15 of m must be set for the n mask to be used in direction of activated limit switch for interrupt to occur Watchdog timer PCI only no 40x0 Reserved Application program stopped _XQn 1 Nn gt WT Nj Ff Ff Intput Interrupts bit n 2bit hex decimal Status Byte hex decimal Condition 01 1 E1 225 N 1 0 02 2 E2 226 Digital input 2 is low IN 2 0 saoao en Digital input 3 is low IN 3 0 soo SS sfSE4 228 Digital input 4 is low IN 4 0 bioa SES 229 Digital input 5 is low IN 5 0 206 Eses Digital input 6 is low IN 6 0 40 64 8E7 231 J Digital input 7 is low INT7 0 80 128 SE8 232 J Digital input 8 is low INI8 0 h is 0 7 or 1 and indicates the preconfigured
239. program operating AB also aborts the program unless a 1 argument is specified The command AB will shut off the motors for any axis in which the off on error function is enabled see command OE AB aborts motion on all axes in motion and cannot stop individual axes Arguments ABn where n 0 The controller aborts motion and program n 1 The controller aborts motion only No argument will cause the controller to abort the motion and program Operand Usage _AB gives state of Abort Input 1 inactive and 0 active Usage Usage and Default Details In a Program Command Line Controller Usage Default Value Default Format Related Commands SH Re enables motor OE Specifies Off On Error Examples AB Stops motion OB tg leeds Enable off on error AB Shuts off motor command and stops motion Syntax Explicit or Implicit burnable with BN Acceleration DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The Acceleration AC command sets the linear acceleration rate of the motors for independent moves such as PR PA and JG moves The acceleration rate may be changed during motion The DC command is used to specify the deceleration rate Arguments AC n n n n n n n n or ACA n where n is an unsigned number in the range 1024 to 1073740800 The parameters input will be rounded down to the nearest factor of 1024 The units of the parameters are counts per second squared n Returns the a
240. rai roma Related Commands BA Brushless Axis BB Brushless Phase Begins BC Brushless Commutation BD Brushless Degrees BI Brushless Inputs BM Brushless Modulo BO Brushless Offset BS Brushless Setup Examples BZ 3 Drive B axis to zero phase with 3 volt signal and end with motor enabled y Accepts Axis Mask Bur Coordinate Axes DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 Full Description The CA command specifies the coordinate system to apply proceeding vector commands The following commands apply to the active coordinate system as set by the CA command CR ES LE LI LM TN VE VM VP Arguments CAS or CAT where CAS specifies that proceeding vector commands shall apply to the S coordinate system CAT specifies that proceeding vector commands shall apply to the T coordinate system CA returns a 0 if the S coordinate system is active and a 1 if the T coordinate system is active Operand Usage _CA contains a 0 if the S coordinate system is active and a 1 if the T coordinate system is active Usage Usage and Default Details Usage While Moving Y In a Program es ommand Line Yes ontroller Usage All N A Related Commands VP Vector Position VS Vector Speed VD Vector Deceleration VA Vector Acceleration VM Vector Mode VE End Vector BG BGS Begin Sequence Examples CAT Specify T coordinate system VMAB Specify vector motion in the VS CR 1
241. rays and variables are separated by comma when specified in one command The argument deallocates all the variables and 0 deallocates all the arrays Arguments DA c d etc where c Defined array name d Defined variable name _ Deallocates all the variables Deallocates all the arrays DA Returns the number of arrays available Operand Usage _DA contains the total number of arrays available Usage Related Commands DM Dimension Array Examples 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 0 Deallocate all arrays DA 0 Deallocate all variables and all arrays NOTE 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 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 Syntax Explicit or Implicit burnable with BN Deceleration DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The Deceleration command DC sets the linear deceleration rate of the motors for independent moves such as PR PA and JG mo
242. rd trip point MR Motion Reverse trip point Examples A DPO 0 Begin Program PR 10000 20000 Specify positions BG Begin motion AD 5000 After A reaches 5000 MG Halfway to A TPA Send messag AD 10000 After B reaches 10000 MG Halfway to B TPB Send messag EN End Program Explicit or Implicit burnable with BN Analog Feedback Select Hardware All Full Description The Analog Feedback AF command is used to set an axis to analog feedback instead of digital feedback quadrature pulse amp dir 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 Analog input 2 is used for the B axis etc The analog feedback is decoded by a 12 bit A D converter An upgrade option is available for 16 bits Position decoded with AFn 1 0 5 v example 12 Bit ADC TP Position at Ov ps TP Position at 5v 4095 Position decoded with AFn 1 10 v example 16 Bit ADC TP Position at 10v__ 32768 TP Position at 10v 32767 The Analog min max voltage range is set using the AQ command See AQ for ranges other than 10v Note AQ must be set prior to setting AF Arguments AF m m m m m m m m AFn m m 1 Enables analog feedback m 0 Disables analog feedback and switches to digital feedback m Returns the state of analog feedback for the specified axes 0 disabled 1 enabled
243. re available in consecutive groups of 16 bits values from 0 to 65535 Bit patterns for I O banks which are configured as inputs have no affect on the bank m a b c or d returns the current value of the applicable argument The following table describes the arguments used to set the state of outputs OP output bank mapping ___JSaakorssorser A E Genel Oupus taxes convalon _ f_ ewal opnorsom E veda Alternating on off 0P43690 OP bo AAAA 33 48 Extended I O E E a a The DMC 40x0 comes equipped with 32 bits of extended I O standard banks 2 5 Operand Usage _OPO contains the value of the first argument m _OP1 contains the value of the first argument a _OP2 contains the value of the first argument b _OP3 contains the value of the first argument c _OP4 contains the value of the first argument d Usage Usage and Default Details Command Line Default Value Controller Usage Related Commands SB Set output bit CB Clear output bit OB Output Byte Examples OP 0 Clear Output Por OP 85 Set outputs 1 3 8 MG _OPO Returns the first all bits clear the others t parameter m Explicit or Implicit burnable with BN Off on encoder failure time Hardware DMC40x0 DMC41x3 araware MIC 18x6 DMC300x0 Full Description Sets the time in samples milliseconds for TM1000 that the controller will wait for motion after the OV threshold has been exceeded The controller ca
244. rget plus the specified increment The incremental position must be in the same direction as the existing motion Case 3 Motor is in the Jog Mode An IP command will cause the motor to instantly try to servo to a position which is the current instantaneous position plus the specified increment position The SP and AC parameters have no effect This command is useful when synchronizing 2 axes in which one of the axis speed is indeterminate due to a variable diameter pulley Warning When the mode is in jog mode an IP will create an instantaneous position error In this mode the IP should only be used to make small incremental position movements Arguments IPn n njnjnjnnn or IPA n where nis a signed numbers in the range 2147483648 to 2147483647 decimal n Returns the current position of the specified axis Operand Usage N A Usage Usage and Default Details Usage While Moving e In a Program es ommand Line es ontroller Usage All A 7 0 on 18x2 amp 21x3 PF on 18x6 amp 4xxx Related Commands PF Position Formatting Examples IP 50 50 counts with set acceleration and speed Explicit or Implicit burnable with BN Independent Time Constant Smoothing Function DMCAORO DIME AIA DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The IT command filters the acceleration and deceleration functions of independent moves such as JG PR PA to produce a smooth velocity profile The resulting profile
245. rinted with MG or assigned to a variable Arguments n lt m or n gt m or n m or n lt m or n gt m or n lt gt m where n and m are signed numbers in the range 2147483648 to 2147483647 Operand Usage N A Usage Usage and Default Details In a Program Command Line Controller Usage Default Value Default Format Related Commands Parentheses IF If statement JP Jump JS Jump subroutine Examples IF x gt 2 amp y 4 MG true ENDIF x must be greater than 2 and y equal to 4 for the message to print Equals Assignment Operator Full Description 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 mmmmmmmm n where mmmmmmmm is a variable name and n is a signed number in the range 2147483648 to 2147483647 Operand Usage N A Usage Usage and Default Details Controller Usage All Default Value N A Default Format N A Related Commands MG Print Message Examples X 5 X 5 0000 MG X 5 0000 define and initialize x to 5 print x two different ways Syntax Implicit Only ee Full Description AB Abort stops a motion instantly without a controlled deceleration If there is a
246. rip were running and re enabling the CI mask Input interrupt automatic subroutine PMO DMC Hardware DMC21x3 RIO DMC18x6 DMC18x2 DMC300x0 Full Description ININT is an automatic subroutine that runs upon a state transition of digital inputs to 8 and is configured with II ININT runs in thread 0 To make an unconditional jump from ININT there are two methods for re enabling the interrupt capability 1 re issue the command II or 2 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 galilmc com support appnotes optima note2418 pdf Arguments N A Operand Usage N A Usage Usage and Default Details Related Commands Il Input interrupt IN Read digital input RI Return from interrupt Examples 1 arm digital input 1 EN End thread zero 1 ININT Automatic sub Runs on input event MG Inputs _TIO Display status of inputs 1 8 WT100 Debounce input RI Return from interrupt LIMSWI Limit switch automatic subroutine Full Description DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Hardware Without LIMSWI defined the controller will effectively issue the STn on the axis when it s limit switch is tripped With LIMSWI defined the axis is still stopped and in addition code is executed LIMSWI is most commonly us
247. rivative Constant Hardware All Full Description KD designates the derivative constant in the control filter The filter transfer function is D z KP KD z 1 z KIz 2 z 1 For further details on the filter see the section Theory of Operation Arguments KD m m m m m m m m or KDn m Operand Usage _KDn contains the value of the derivative constant for the specified axis Usage Usage and Default Details In a Program Command Line Default Value Default Format Controller Usage Related Commands KI Integrator KP Proportional Examples KD 100 200 300 400 25 Specify KD KD Return KD 2100 00 200 00 300 00 400 25 Note KD now has four time more resolution as prior controllers and thus for the same value is four times less effectiv KI Syntax e Explicit or Implicit burnable with BN Integrator Hardware All Full Description The KI command sets the integral gain of the control loop It fits in the control equation as follows D z KP KD z 1 z KI z 2 z 1 The integrator term will reduce the position error at rest to zero Arguments KI n n n n n n n n or KIA n where n is an unsigned numbers in the range 0 to 255 with a resolution of 1 1024 n Returns the value for the specified axis Operand Usage _KIn contains the value of the integral gain for the specified axis Usage Usage and Default Details Whe Moving NORIO Bomy od Related Comma
248. ro has no local scope variables Accessing these variables from stack zero writes to stack 1 s variable table Arguments N A Operand Usage N A Usage Usage and Default Details While Moving Related Commands MG Message amp Pass by reference JS Jump to subroutine Examples Add JS SUM 1 2 3 4 5 6 7 8 call subroutine pass values MG_JS print return value EN SUM NO a b c d e f g h Sums the values a to h and returns the result EN at bt ct d et f gG h return sum Executed program from programl dmc 36 0000 Note For additional examples see the JS Subroutine Stack Variables a b c d e f g h section in the User Manual AL AK Syntax Mapuri ony Lock program Hardware DMC40x0 DMC41x3 RIO IIDMC18x6 DMC300x0 Full Description lt control gt L lt control gt K locks user access to the application program When locked the ED UL LS and TR commands will give privilege error 106 The application program will still run when locked The locked or unlocked state can be saved with a BN command Upon master reset the controller is unlocked Once the program is unlocked it will remain accessible until a lock command or a reset with the locked condition burned in occurs Arguments lt control gt L lt control gt K password n where When n is 1 this command will lock the application program When n is 0 the program will be unlocked Oper
249. rogram are restored RS 1 Soft master reset Restores factory defaults without erasing EEPROM To restore saved EEPROM settings use RS with no arguments Arguments N A Operand Usage _RS returns 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 Bit 3 For master reset error Bit 2 For program checksum error Bit 1 For parameter checksum error Bit 0 For variable checksum error At startup the controller operating system verifies the firmware sector If there is a checksum error in firmware it is not loaded and the controller will boot to monitor mode Usage Usage and Default Details Usage Value While Moving No In a Program ommand Line Yes ontroller Usage Default Value In a Program No Command Line Yes Can be Interrogated Yes Used as an Operand Yes Related Commands ARAS Master Reset Examples RS Reset the hardware Syntax e Explicit Only SA Operands SAm0 SAnl _SAn2 _SAn3 perands SAn4 SAn5 SAn6 SAn7 Send Command Hardware DMC40x0 DMC41x3 IDMC21x3 RIO DMC300x0 Full Description SA sends a command and optionally receives a response from one controller to another via Ethernet Important 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 cod
250. rossed the specified Relative Position For further information see Chapter 6 of the User Manual Stepper Motor Operation 2 The motion profiling on the axis is complete 3 Ifin jog JG mode the commanded motion is in the direction which moves away from the specified position If the direction of the motion is reversed when in position tracking mode see PT command the starting point for the trippoint is reinitialized to the point at which the motion reversed The units of the command are quadrature counts Only one axis may be specified at a time AR can only be used when there s commanded motion on the axis Not valid for a slave during ECAM or Gearing use MF and MR Note AR will be affected when the motion smoothing time constant IT is not 1 See IT command for further information Arguments AR n n nnnnnzn or ARA n where n is an unsigned integer in the range 0 to 2147483647 decimal Operand Usage N A Usage Usage and Default Details Controller Usage __ era vane Controller Usage Related Commands AV Trippoint for after vector position for coordinated moves AP Trippoint for after absolute position Examples A DP 0 0 0 0 Begin Program JG 50000 7000 Specify speeds BG AD Begin motion B Label AR 25000 After passing 25000 counts of relative distance on A axis MG Passed _A _TPA Send message on A axis JP B Jump to Label B EN End Program Hint AR is use
251. s a 1 on reset to indicate no handles lost _IAS 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 Usage Usage and Default Details While Moving no RIO In a Program Yes Default Value n 0 t 250 Default Format N A Related Commands TH Internet Handle DH DHCP Server Enable Examples IA 151 12 53 89 Assigns the controller with the address 15 29 3 39 IA 2534159705 Assigns the controller with the address 151 12 53 89 IA lt 500 Sets the timeout value to 500 msec The IP address can be derived using _IA0O a INT _IA0 amp SFF000000 1000000 amp SFF b INT _IA0 amp SOOFFO000 10000 C INT _IA0 amp SOOOOFFO0 100 d INT _IA0 amp 000000FF IP address a b c d Syntax Two Letter Only DMC40x0 DMC41x3 RIO Hardware DMC300x0 Full Description DMC 40x0 The ID command is used to query the controller for the accessories that are attached It will respond with the type of communications board followed by the amplifier for axes 1 4 and then axes 5 8 if any are attached The following are example responses to the ID command and a description of each line Example ID This ID response is applicable to the following part number DMC 4060 16bit CO12 I000 1100 D4040 D3020
252. s a vector speed to be achieved at the end of the vector segment o is an unsigned even integer between 0 and 8 000 000 Operand Usage N A Usage Usage and Default Details While Moving Yes Controller Usage DMC No RIO Default Value Default Format Related Commands VP Vector Position VS Vector Speed VD Vector Deceleration VA Vector Acceleration VM Vector Mode VE End Vector BG BGS Begin Sequence Examples VMAB 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 0 degrees and complete one circle in counterclockwise i direction CR 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 BGS Start motion Syntax Accepts Axis Mask Operands CSn Burn not burnable Clear Sequence DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The CS command will remove VP CR or LI commands stored in a motion sequence for the S or T coordinate systems 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 CSS or CST where S and or T can be used to clear the sequence buffer for the S or T coordina
253. s and is based on the TM command The default value for the TM command is 1000 With this update rate the operand TIME will increase by 1 count every update of approximately 1000usec Note that a value of 1000 for the update rate TM command will 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 The clock is reset to 0 with a standard reset or a master reset The keyword TIME does not require an underscore _ as does the other operands Arguments N A Operand Usage N A Usage Usage and Default Details Usage In a Program ommand Line ontroller Usage Default Value Default Format Related Commands Examples MG TIME Display the value of the internal clock Explicit or Implicit burnable with BN Peak Torque Limit DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The TK command sets the peak torque limit on the motor command output and TL sets the continuous torque limit When the average torque is below TL the motor command signal can go up to the TK Peak Torque for a short amount of time appx 1000 samples from OV to TK value If TK is set lower than TL then TL is the maximum command output under all circumstances Arguments TK n n n n n n n n TKA n where nis an unsigned number in the range of 0 to 9 99 volts n 0 disables the peak torque limit n returns the value of
254. sage Usage and Default Details Perva e Related Commands AC Acceleration DC Deceleration PA Position Absolute SP Speed Examples A PTL ly de La Enable the position tracking mode for axes X Y Z and W y NOTE The BG command is not used to start the PT mode LOOP Create label LOOP in a program This small program will update the absolute position at 100 Hz Note that the user must update the variables V1 V2 V3 and V4 from the A host PC or another thread operating on the controller PA V1 V2 V3 V4 Command XYZW axes to move to absolute positions Motion begins when the command is processed BG is not used j to begin motion in this mode In this example it is assumed that the user is updating the variables at a specified rate The controller will update the new target position every 10 milliseconds WT10 WT10 Wait 10 milliseconds JP LOOP Repeat by jumping back to label LOOP Py Syntax Explicit Only PVT Data Hardware DMC40x0 DMC41x3 wars IDMC300x0 Full Description The PV command is used to enter PVT data into the PVT buffer by specifying the target position velocity and delta time For more details on PVT mode of motion see the user manual Arguments PVa p v t where a specifies the axis p is the relative target position specified in counts 44 000 000 lt p lt 44 000 000 v is the target v
255. sage Usage and Default Details While Moving Yes In a Program Yes Command Line Yes Default Value N A Default Format Controller Usage Related Commands PF Position Formatting Examples 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 counts TP Return A B C D positions 200 10 0 110 TPA Return the A motor position 20 0 TPB Return the B motor position 10 PF 6 0 Change to hex format TP Return A B C D in hex S0000C8 SFFFFF6 000000 SFFFF93 Position _TPA Assign the variable Position the value of TPA TR Syntax e Implicit Only burnable with BN Trace Hardware All Full Description The TR command causes each instruction in a program to be sent out the communications port prior to execution TR1 enables this function and TRO disables it The trace command is useful in debugging programs Arguments TR n m where n 0 Disables the trace function n 1 Enables the trace function m is an integer between 0 and 255 and designates which threads to trace A bit is set per thread Thread 0 1 Thread 1 2 Thread 2 4 Thread 7 128 The default is 255 all threads The least significant bit represents thread 0 and the most significant bit represents thread 7 The decimal value can be calculated by the following formu
256. sage below Arguments ZS n where n 0 Returns stack to original condition n 1 Eliminates one return on stack Operand Usage _ZSn contains the stack level for the specified thread where n 0 to 7 The response an integer between zero and sixteen indicates zero for beginning condition and sixteen for the deepest value Usage Usage and Default Details In a Program Command Line Controller Usage Default Format Default Value Related Commands Examples A Main Program on dope Input Interrupt B JP B EN Loop ININT Input Interrupt MG INTERRUPT Print message S _ZS Interrogate stack S Print stack Zio Zero stack S _ZS Interrogate stack S Print stack End
257. sed to set the commanded position of the specified axis as the gearing master n can be S or T S and T are used to specify the vector motion of the coordinated system S or T as the gearing master n can be DA DB DC DD DE DF DG or DH The value of n is used to set the specified auxiliary encoder axis as the gearing master n returns the GA setting Operand Usage N A Usage Usage and Default Details Default Format N A Related Commands GR Gear Ratio GM Gantry Mode Examples REM setup gearing where B axis is master for A and C axes GEAR MOB Turn off servo to B motor GAB B Specify master axis as B GR 25 54 59 Specify A and C gear ratios SHB Enable B axis PRB 1000 BGB Move B axis 1000 counts A axis will be commanded to move 250 counts positive C axis will be commanded to move 5000 counts negative 5000 EN End program REM imaginary axis example imag GAC N set the imaginary N axis as the master of the C axis GRC 2 5 set the gear ratio for the C axis as 1 PRN 1000 BGN Move N axis 1000 counts C axis will be commanded to move 2500 counts positive EN End Program Syntax e Implicit Only burnable with BN DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The GD command sets the distance of the master axis over which the specified slave will
258. solution YC Encoder Resolution YR Error Correction YS Stepper Position Maintenance Mode Enable Status Examples 1 For an SDM 44140 microstepping drive query the error of B axis QSB 441 ful 2 AOS This shows 253 step counts of error The SDM 40 resolution is 64 microsteps per full motor step nearly four l motor steps of error Query the value of all axes 20S 0 7253707 070707070 Response shows all axes error values QU Syntax Implicit Only Full 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 The uploaded array will be followed by a lt control gt Z as an end of text marker The GalilTools array upload functions can be used to upload array data in csv format Arguments QU array start end delim where array is a valid array name start is the first element of the array default 0 end is the last element of the array default last element delim specifies the character used to delimit the array elements If delim is 1 then the array elements will be separated by a comma Otherwise the elements will be separated by a carriage return Operand Usage N A Usage Usage and Default Details Controller Usage Related Commands QD Download array Examples DM array 5 Dimension Array QU array
259. st be a valid line number in the chosen thread m is an integer in the range 0 to 7 The thread Operand Usage _BK will tell whether a breakpoint has been armed whether it has been encountered and the program line number of the breakpoint LineNumber breakpoint armed LineNumber breakpoint encountered 2147483648 breakpoint not armed Usage Usage and Default Details In a Program Command Line Default Value Default Format Controller Usage Related Commands Examples BK BK SL SL BK Pause at line 3 the 4th line Continue to line 5 Execute the next line Execute the next 3 lines Resume normal execution in thread 0 Explicit or Implicit burnable with BN Reverse Software Limit DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full 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 When the reverse software limit is activated the automatic subroutine LIMSWI will be executed if it is included in the program Arguments BL n n n n n n n n or BLA n where n is a signed integer in the range 2147483648 to 2147483647 The reverse limit is activated at the position n 1 The units are in quadrature counts n 2147483648 Turns off the reverse limit n Returns the reverse software limit for the specifie
260. supported for VP CR and LI segments Arguments VVS n or VVT n where n specifies the speed as an unsigned even number in the range 2 to 22 000 000 for servo motors and 2 to 6 000 000 for stepper motors VVS is the speed to apply to the S coordinate system and VVT is the speed to apply to the T coordinate system The units are in counts per second VVS Returns the value of the vector speed variable for the S coordinate plane VVT Returns the value of the vector speed variable for the T coordinate plane Operand Usage _VVn contains the vector speed variable of the specified coordinate system n S or T Usage Usage and Default Details Derav Jo Related Commands VA Vector Acceleration VD Vector Deceleration VP Vector Position Segment CR Circular Interpolation Segment LI Linear Interpolation Segment VM Vector Mode LM Linear Interpolation Mode Examples VVS 20000 S coordinate system VP1000 2000 lt 1 gt 100 VVS 20000 Define vector speed variabl le to 20000 for the Define vector speed variabl le for specific segment WH Syntax Two Letter Only Which Handle Hardware DMC40x0 DMC41x3 IDMC21x3 RIO DMC300x0 Full Description The WH command is used to identify the handle from which the command was received The command returns IHA through IHH to indicate on which handle the command was executed The command returns RS232 if using serial communication
261. t OT Off on encoder failure time e OV Off on encoder failure voltage e P2CD Serial port 2 code e P2CH Serial port 2 character e P2NM Serial port 2 number e P2ST Serial port 2 string PA Position Absolute PF Position Format PL Pole PR Position Relative e PT Position Tracking e PV PVT Data PW Password e QD Download Array e QH Hall State QR I O Data Record e QS Error Magnitude e QU Upload Array e QZ Return Data Record information e RA Record Array RC Record RD Record Data RE Return from Error Routine e REM Remark e RI Return from Interrupt Routine e RL Report Latched Position RP Reference Position RS Reset e SA Send Command e SB Set Bit e SC Stop Code SD Switch Deceleration SH Servo Here e SI Configure the special Galil SSI feature e SL Single Step e SM Subnet Mask e SP Speed e SS Configure the special Galil BiSS feature e ST Stop e SY Serial encoder BiSS active level e TA Tell Amplifier error status TB Tell Status Byte e TC Tell Error Code TD Tell Dual Encoder TE Tell Error TH Tell Ethernet Handle e TI Tell Inputs e TIME Time Operand e TK Peak Torque Limit e TL Torque Limit e TM Update Time e TN Vector Tangent TP Tell Position
262. t dual DAC Hardware DMC40x0 DMC41x3 araware fIDMC300x0 Full 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 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 Arguments BQm m m m m m m m BQn m where m specifies the voltage and is a signed number in the range 9 998 to 9 998 with a resolution of 0 0003 m Return the brushless offset for the specified axis n is an axis indicator A B C D E F G or H Operand Usage _BQn contains the offset voltage for the specified axis Usage Usage and Default Details Dera vane JO Related Commands BA Brushless Axis BC Brushless Commutation BD Brushless Degrees BI Brushless Inputs BM Brushless Modulo BO Brushless Offset BZ Brushless Zero Examples Assume internal Sine drive BO 1 set A axis first DAC to lv offset BQ 2 set the A axis second DAC to 2v offset Syntax Implicit Only burnable with BN Brush Axis Hardware DMC40x0 DMC41x3 IDMC21x3 DMC300x0 Full Description 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 inst
263. te points can be specified for each axis If a value is specified outside of the master s range the slave will disengage immediately Arguments EQ n n n n n n n n or EQA n where n is the master positions at which the axes are to be disengaged n Returns 1 if engage command issued and axis is waiting to engage 2if disengage command issued and axis is waiting to disengage and 0 if ECAM engaged or disengaged Operand Usage _EQn contains 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 Usage Usage and Default Details Related Commands EA Choose ECAM master EB Enable ECAM EC Set ECAM table index EG Engage ECAM EM Specify ECAM cycle EP Specify ECAM table intervals amp staring point ET ECAM table Examples EQ 300 700 Disengages the A and B motors at master positions 300 and 700 respectively Note This command is not a trippoint This command will not hold the execution of the program flow until master position is reached If the execution needs to be held use MF or MR command R Syntax Explicit or Implicit burnable with BN Error Limit Hardware _ DMC40x0 DMC41x3 DMC21x3 ardware IDMC18x6 DMC18x2 DMC300x0 Full 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
264. te system Operand Usage _CSn contains the segment number in the sequence specified by n S or T This operand is valid in the Linear mode LM Vector mode VM Usage Usage and Default Details Usage While Moving In a Program es ommand Line es ontroller Usage All N A N A Related Commands CR Circular Interpolation Segment LI Linear Interpolation Segment LM Linear Interpolation Mode VM Vector Mode VP Vector Position Examples CLEAR Label CAT Specify the T coordinate system vector points VP 1000 2000 Vector position VP 4000 8000 Vector position CST Clear vectors specified in T coordinate system CAS Specify the T coordinate system vector points VP 1000 5000 New vector VP 8000 9000 New vector CSS Clear vectors specified in S coordinate system EN End program Syntax Implicit Only Copyright information Data Adjustment bit on off Full 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 ASCII characters is set to 1 Unsolicited ASCII 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 ret
265. ted messages are currently routed Usage Usage and Default Details While Moving Yes es ontroller Usage ll Standalone Controllers N A Y Y ommand Line Yes A S Related Commands CW Configures MSB of unsolicited messages WH What Handle TH Tell Handles Examples CFI unsolicited Send to me Sent from ext ternal hardware only CFI directs traffic to the port that sent the command When communicating over Ethernet two Ethernet handles should be used 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 controller 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 It is NOT recommended to use one Ethernet handle for both command and response and unsolicited messages GalilTools will by default establish a two handle connection when using Ethernet 192 168 1 3 RIO47102 Rev 1 0c LH CONTROLLER IP AD DRESS 192 168 1 Demonstrates from GalilTools terminal that main handle is seperate from the unsolicit t the ted handle 1480 IHA HB 3 ETHERNE THA TCP PORT 23 IHB IHC IHD UDP AVA AVA PORT 600 ILABLE ILABLE H
266. tely 95 volts The value should be high enough to guarantee that the motor would overcome any static friction If it is too low there will be false triggering of the error condition The OV value may not be higher than the TL value Arguments OV n n n n n n n n where where n is a positive voltage between 0 001 and 9 9 volts returns the last value set Operand Usage _OVn contains the OV value for the specified axis Usage Usage and Default Details While Moving Command Line Default Value 0 9438 Default Format Related Commands OA Off on encoder failure OT Off on encoder failure time Examples setup OTX 10 Set time to 10 milliseconds OVX 5 Set voltage to 5 OAX 1 Enabl ncoder detection feature EN Syntax e Operand Only P2CD not burnable urn Serial port 2 code Hardware DMC40x0 DMC41x3 Full 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 P2CD Status Codes a i Arguments Operand Usage N A Usage Usage and Default Details Usage While Moving In a Program es ommand Line es ontroller Usage All IA N A Related Commands P2CH Serial port 2 character P2NM Serial port 2 number P2ST Serial port 2 string CI Configure COMINT CC Configure serial port 2 COMINT Communication interrupt automatic subroutine Examples ARAY DMC2240 Re
267. th A B C D E F G or H Arguments IHh ip0 ip1 ip2 ip3 lt p gt q IHh n lt p gt q IHh gt r where h is the handle ip0 ip1 ip2 ip3 are integers between 0 and 255 and represent the individual fields of the IP address These values must be separated by commas n is a signed integer between 2147483648 and 2147483647 This value is the 32 bit IP address and can be used instead of specifying the 4 address fields lt p specifies the port number of the slave where p is an integer between 0 and 65535 This value is not required for opening a handle gt q specifies the connection type where q is 0 for no connection 1 for UDP and 2 for TCP IHS gt r closes the handle that sent the command where r 1 for UDP IP or r 2 for TCP IP or 3 for either IHT gt r closes all handles except for the one sending the command where r 1 UDP or r 2 TCP or 3 for either gt r specifies that the connection be terminated and the handle be freed where r is 1 for UDP 2 for TCP IP or 3 for TCP IP Reset IHh returns the IP address as 4 1 byte numbers Operand Usage _IHhO contains the IP address as a 32 bit number _IHh1 contains the slave port number _IHh2 contains a 0 if the handle is free contains a 1 if it is for a UDP slave contains a 2 if it is for a TCP slave contains a 1 if it is for a UDP master contains a 2 if it is for a TCP master contains a 5 while attempting to establish a UDP handle contains a 6 whi
268. the controller to ignore invalid Hall states Arguments TAn returns the amplifier error status where n is 0 1 2 or 3 Operand Usage _TAm Contains the Amplifier error status m 0 1 2 or 3 Usage Usage and Default Details DMC 40x0 with D30x0 D4040 D4140 DMC 21x3 with AMP 204x0 AMP 205x0 or SDM 206x0 Related Commands AMPERR Amplifier Error Automatic Subroutine BR Brush Axis Configuration QH Hall State Examples TAL 9 Hall Error for Axis A and C Syntax Two Letter Only Hardware All Full Description The TB command returns status information from the controller as a decimal number Each bit of the status byte denotes the following condition when the bit is set high BIT STATUS Bit7 Executing application program Bit6 N A Bit5 Contouring Bit4 Executing error or limit switch routine Bit3 Input interrupt enabled Bit 2 Executing input interrupt routine Bitl N A BitO Echo on Arguments TB returns the status byte Operand Usage _TB Contains the status byte Usage Usage and Default Details While Moving No RIO Ye Command Line Yes Controller Usage Default Value N A Default Format Related Commands Examples TB 265 Data Record Active and Echo is on 26 20 64 1 65 Syntax Implicit Only Tell Error Code DMC40x0 DMC41x3 Hardware DMC21x3 RIO DMC18x6 DMC18x2 DMC300x0 Full Description The TC command returns a number betwe
269. 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 The UDP packet can contain up to 16 individual status bytes and is framed as follows Payload Byte Count 0x03 Format Header Fixed Byte Status Byte 1 16 bytes 0x12 Includes header and footer in count ample Joo Joore Axis A Profiled Motion Complete Example Decoded Interrupt Packet Indicator User Interrupt 1 Application Program 6 bytes in payload Stopped Digital Input 1 is low Arguments EI m n h m is a 16 bit integer mask between 0 and 65535 and is used to select the interrupt condition s to be used 0 the default means don t interrupt and clears the queue when issued The conditions must be re enabled with EI after each occurrence Interrupt Bytes bit m 2 bit Hex decimal Status Byte Hex decimal Condition Ft 0001 1 D0 208 0002 2 D1 209 0004 4 D2 210 0008 8 D3 211 0010 16 D4 212 0020 32 D5 213 0040 64 D6 214 0080 128 D7 215 0100 256 D8 216 Axis A profiled motion complete _BGA 0 el Axis B profiled motion complete _BGB 0 el Axis C profiled motion complete _BGC 0 el Axis D profiled motion complete _BGD 0 Axis E profiled motion complete _BGE 0 Ft Axis F profiled motion complete _BGF 0 Fr Axis G profiled motion complete _BGG 0 ea Axis H
270. 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 The RI command is used to return from the ININT routine Arguments II m n o p where m is an integer between 0 and 8 decimal 0 disables interrupt The value of m specifies the lowest input to be used for the input interrupt When the 2nd argument n is omitted only the input specified by m will be enabled n is an integer between 2 and 8 This argument is optional and is used with m to specify a range of values for input interrupts For example II 2 4 specifies interrupts occurring for Input 2 Input 3 and Input 4 o is an integer between and 255 Using this argument is an alternative to specifying an input range with m n If m and n are specified o will be ignored The argument o is an integer value and represents a binary number For example if o 15 the binary equivalent is 00001111 where the bottom 4 bits are 1 bit O through bit 3 and the top 4 bits are O bit 4 through bit 7 Each bit represents an interrupt to be enabled bitO for interrupt 1 bit 1 for interrupt 2 etc If o 15 the inputs 1 2 3 and 4 would be enabled p is an integer between and 255 The argument p is used to specify inputs that will be activated with a logic 1 This argument is an integer value and represents a binary number This binary number is used to lo
271. the range 2147483648 to 2147483647 The length of each segment must be limited to 8388607 The values for n and m will specify a coordinate system from the beginning of the sequence o specifies a vector speed to be taken into effect at the execution of the vector segment o is an unsigned even integer between 2 and 22 000 000 for servo motor operation and between 2 and 6 000 000 for stepper motors 0 is in units of counts per sample p specifies a vector speed to be achieved at the end of the vector segment p is an unsigned even integer between 2 and 22 000 000 p is in units of counts per sample Operand Usage _VPa where a ABCDEFGH for the axis and contains the absolute coordinate of the axes at the last intersection along the sequence For example during the first motion segment this instruction returns the coordinate at the start of the sequence The use as an operand is valid in the linear mode LM and in the Vector mode VM example _VPA for the the A axis Usage Usage and Default Details While Moving Yes Ye envane JE erroma JE Related Commands VM Vector Mode VE Vector End BG Begin Sequence IT Vector smoothing Examples A Program Label VM AB Specify motion plane VP 1000 2000 Specify vector position 1000 2000 CR 1000 0 360 Specify arc VP 2000 4000 Specify vector position 2000 4000 VE Vector end BGS Begin motion sequence AMS Wait for
272. the variable name Operand Usage N A Usage Usage and Default Details Usage While Moving Y In a Program es ommand Line o ontroller Usage All N A Default Format Position Format Related Commands N A Examples 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 V3e4 Speed command PR V4 Position command BGA Begin motion AMA Wait for motion complete MG MOVE DONE Print Message EN End Program Syntax Explicit or Implicit Bun Increment Position DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The IP command allows for a change in the command position while the motor is moving This command does not require a BG The command has three effects depending on the motion being executed The units of this are quadrature Case 1 Motor is standing still An IP a b c d command is equivalent to a PR a b c d and BG command The motor will move to the specified position at the requested slew speed and acceleration Case 2 Motor is moving towards a position as specified by PR PA or IP An IP command will cause the motor to move to a new position target which is the old ta
273. tine as well as its calling thread is halted Trippoints are intended for use only within embedded DMC code and should not be sent from a terminal or a host application program executing from a PC Popular Trippoints Comments Comments are used to document code and to disable lines of code while debugging There are three ways to comment REM REM stands for Remark When a line begins with the REM command the entire line is stripped by Galil software before downloading to the controller REM is NOT a recognized Galil command it is a keyword recognized by Galil software as data that is to be skipped during program download When program speed and code length are at a premium use REM comments NO NO stands for No Operation Lines beginning with NO are downloaded to the controller and incur a non zero processing overhead as a result If the developer desires the comments to stay in code so that uploaded code will still be notated use NO or NO comments are not stripped when code is compressed by software The single quote character is similar to NO Lines beginning with are downloaded to the controller and incur a non zero processing overhead as a result If the developer desires the comments to stay in code so that uploaded code will still be notated use NO or comments ARE stripped when code is compressed by software When commenting inline NO and are valid when preceded by a character REM is only valid as t
274. to 255 Each bit represents one input where the LSB is the lowest input number and the MSB is the highest input bit Arguments TIn where n 0 Return Input Status for Inputs 1 through 8 n 1 Return Input Status for Inputs 9 through 16 Applies only to controllers with more than 4 axes n 10 Return Input Status for Inputs 81 through 88 auxiliary encoder inputs n 11 Return Input Status for Inputs 89 through 96 auxiliary encoder inputs no argument will return the Input Status for Inputs 1 through 8 n returns the Input Status for Inputs 1 through 8 n 2 through 5 see note 2 These arguments only apply when using extended I O configured as inputs where n represents the extended inputs ranging from 8 n 1 through 8 n 1 Operand Usage _TIn contains the status byte of the input block specified by n Note that the operand can be masked to return only specified bit information see section on Bit wise operations Usage Usage and Default Details Related Commands IN Read digital input CO Configure Extended I O Examples SLEA Tell input state on bank 1 28 Bit 3 is high others low TIO 20 All inputs on bank 0 low Input _TI1l Sets the variable Input with the TI1 value Input 28 0000 TIME Time Operand Hardware All Full Description The TIME operand returns the value of the internal free running real time clock The returned value represents the number of servo loop update
275. tor Deceleration CR Circle VP Vector Position BG Begin Sequence CS Clear Sequence Examples A Program Label VM AB Vector move in AB VP 1000 2000 Linear segment CR 0 90 180 Arc segment VP 0 0 Linear segment VE End sequence BGS Begin motion AMS Wait for VE to execute in buffer EN End program Syntax Implicit Only burnable with BN Variable Format Hardware All Full Description The VF command formats the number of digits to be displayed when interrogating the controller or RIO board 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 Arguments VF m n where m and n are unsigned numbers in the range 0 lt m lt 10 and 0 lt n lt 4 m represents the number of digits before the decimal point A negative m 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 n represents the number of digits after the decimal point m Returns the value of the format for variables and arrays Operand Usage _VF contains the value of the format for variables and arrays Usage Usage and Default Details Related Commands PF Position Format Examples VF 5 3 Sets 5 digits of integers and 3 digits after the decimal point VF 8 0 Sets 8 digits of integers
276. troller Usage All Default Value N A Operand Usage _NZn contains the value of the Notch filter zero for the specified axis Related Commands NB Notch Bandwidth NF Notch Filter Examples Explicit or Implicit burnable with BN DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 NZA 10 Sets the real part of the notch pole to 10 2 Hz OA Synax Explicit or Implicit DA burnable with BN Off on encoder failure Hardware DMC40x0 DMC41x3 araware fIDMC18x6 DMC300x0 Full Description 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 at least 4 counts is detected whenever the torque exceeds a preset level OV for a specified time OT Note that for this function to work properly it is necessary to have a non zero value for KI The OA command works like the OE command 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 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 If included in the application program and OA is set to 1 for the particular axis POSERR will run when an encoder failure is detected Arguments OA m m m m m m m
277. ts BG nnnnnnnnnn where nis A B C D E F G H S T M or N or any combination to specify the axis or sequence Operand Usage _BGn contains a 0 if motion complete on the specified axis or coordinate system otherwise contains a 1 Usage Usage and Default Details Ye eaurvane I While Moving Yes Default Value 0 In a Program Yes Default Format Command Line Yes Controller Usage ALL CONTROLLERS Related Commands AM After motion complete ST Stop Motion Examples PR 2000 3000 5000 Set up for a relative move BG ABD Start the A B and D motors moving M Set up for the homing BGA Start only the A axis moving JG 1000 4000 Set up for jog BGY Start only the B axis moving BSTATE _BGB Assign a 1 to BSTATE if the B axis is performing a move VP 1000 2000 Specify vector position VS 20000 Specify vector velocity BGS Begin coordinated sequen0ce VMAB Vector Mode VP 4000 1000 VE Vector PR 8000 5000 not completed between moves accomplished by End Specify vector position BGSCD Begin sequence and C MG _BGS Displays a I if motion occurring on coordinated Hint A BG command cannot be execu Specify C and D position D motion Use the AM trippoint Determining when mot testing for the val ted ECO tion for any axis i
278. uated expression and return a result Some examples follow Valid Syntax var SIN 90 Variable var is assigned value 1 Sine of 90 degrees var ASIN 1 Variable var is assigned value 90 Inverse Sine of 1 var IN 1 Variable var is assigned 1 or 0 based on current state of digital input 1 var RND 1 0 6 Variable var is assigned 2 1 6 round to the nearest integer Embedded Only Embedded commands make sense only in the context of an embedded application These commands include jumps if then else syntax subroutines etc Some examples follow le Labels can be called by name in order to jump code to specific lines JP go Jump to line number indicated by go label Automatic subroutine AUTO is the entry point for execution on AUTO f bootup See entries starting with for other automatic subroutines RI Return from interrupt This is the termination for certain automatic subroutines event handlers If statement can be replaced by carriage return for better IF a 5 MG Five ELSE MG Not Five ENDIF mA readability Automatic subroutines operate very similarly to event handlers in event driven languages When an event occurs execution of code jumps to the automatic subroutine Once the end of the automatic subroutine is reached code execution continues where it left off Operand Many commands have corresponding operands that can be used for interrogation or for use within mathematical or other
279. ue While Moving es In a Program es ommand Line es ontroller Usage All Default Format Related Commands KD Derivative KP Proportional KI Integral Gain Examples Set A axis Pole to 0 95 B axis to 0 9 C axis to 0 8 D axis pole to 0 822 Pia 955 295 484 3822 Query all Pole values Pas Pe pee ge 20 9527 0 8997 0 7994 0 8244 Return A Pole only PL 09927 Syntax Explicit or Implicit Burn burnable with BN Position Relative DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full 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 PR n n n n n n n n or PRA n where n is a signed integer in the range 2147483648 to 2147483647 decimal Units are in encoder counts n Returns the current incremental distance for the specified axis Operand Usage _PRn contains the current incremental distance for the specified axis Usage Usage and Default Details While Moving erarva J Related Commands AC Acceleration BG Begin DC Deceleration IP Increment Position PA Position Absolute PF Position Formatting SP Speed Examples 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 Return relative distances
280. uesday days 123 Days from now dow days 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 Syntax Operator or Comparator not burnable Hardware All Full 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 m amp m where m is any value operand variable array element or At Function For IF JP and JS the values used for m are typically the results of logical expressions such as x gt 2 amp y 8 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 Operands N A Usage Usage and Default Details Command Line Default Value Yes Related Commands N A Examples Bitwise use varl SF 00001111 var2 SF0 1111000 MG varl amp var2 EN REM Returned 0 0000 Conditional Use varl SF 00001111 var2 SF0 1111000 IF varl SF amp var2 SF1 MG True ELSE MG False ENDIF EN REM Returned False DMC18x6 DMC300x0 JS subroutine pass variable by reference fie DMC40x0 DMC41x3 aradware Full 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 is changes the g
281. ult Details While Moving NORIO Command Line Controller Usage Default Format N A Default Value 0 Last Line for DMC Related Commands LA List Arrays LL List Labels LV List Variables Examples LS A 6 List program starting at A through line 6 2 A 3 PR 500 4 BGA 5 AM 6 WT 200 Hint Remember to quit the Edit Mode lt cntrl gt Q prior to giving the LS command DOS ame pa fo Hardware DMC40x0 Full Description Turns the automatic axes status update on the LCD on or off Arguments LUn where n 0 Turns off the automatic update of the LCD with the axis status n 1 Sets the LCD in an automatic update mode with the axes status shown below The LCD displays the following pattern A B C D E FGH m m m m m m m m where m is the axis status for axes ABCDEFGH and is C _ MowronSSS E PVT mode Operand Usage _LU contains the setting of the LU command Usage Usage and Default Details Related Commands MG Message Lx LB LCD Bias Contrast SC Stop Code Examples LUO Turn the LCD update off MG DMC 40x0 L1 Send DMC 40x0 to line 1 of the LCD screen MG Galil MC L2 Send Galil MC to line 2 of the LCD screen LU1 Set the LCD to automatically update the LCD screen with the axis status Syntax Two Letter Only List Variables Hardware All Full Description The LV command returns a listing of all of the program variables
282. urned as a response to a command sent from a host PC e g TP If using Galil drivers CW will be automatically configured the user should not change the CW settings Arguments CW n m where nis a number either 0 1 or 2 0 or Causes the controller to return the copyright information 1 Causes the controller to set the MSB of unsolicited returned characters 2 Causes the controller to not set the MSB of unsolicited characters mis 0 or 1 optional O Causes the controller to pause program execution when hardware handshaking disables character transmissions 1 Causes the controller to continue program execution when hardware handshake disables character transmissions output characters will be lost Operand Usage _CW contains the value of the data adjustment bit 1 on 2 off Usage Usage and Default Details Related Commands CF Configure Unsolicited Messages Handle Examples Cw Set CW to Galil Driver mode MSB set on unsolicited characters Note The CW command can cause garbled non ASCII characters to be returned by the controller when using third party software Use CW2 CW2 Set CW to third party device mode normal ASC on unsoliticed characters Syntax Implicit Only Hardware All Full 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 ar
283. ust be coupled with a command See examples below Operands N A Usage Usage and Default Details Ye Default Value N A Related Commands N A Examples varl 2 3 2 var2 varl 10 MG var2 0 5 50 0000 Syntax Operator or Comparator not burnable Division Operator Hardware All Full 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 This is a binary operator takes two arguments and returns one value Mathmatical operations are calculated left to right rather than multiplication and division calculations performed prior to addition and subraction Example 1 2 3 9 not7 It is recommended that parenthesis be used when more than one mathmatical operation is combined in one command Example var 10 30 60 30 evaluates as 302 var 10 30 60 30 evalutes as 12 Arguments m m where m is any value variable array element operand or At functions SIN 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 Operands N A Usage Usage and Default Details Ye Default Value N A Related Commands N A Examples varl 100 10 var2 var1 2 MG var2 1 6 0000 Semicolon Command Delimiter Hardware All Full Description
284. ut index values and is most useful when sending commands in binary See the command ET Arguments ECn where n is an integer between 0 and 256 n Returns the current value of the index into the ECAM table Operand Usage _EC contains the current value of the index into the ECAM table Usage Usage and Default Details Usage While Moving Yes In a Program es ommand Line Yes ontroller Usage All Related Commands EA Choose ECAM master EB Enable ECAM EG Engage ECAM EM Specify ECAM cycle EP Specify ECAM table intervals amp staring point EQ Disengage ECAM ET ECAM table Examples ECO 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 ED Syntax Implicit Only Edit Hardware All Full Description Using Telnet style interface not Galil Software The ED command puts the controller into the Edit subsystem In the Edit subsystem programs can be created changed or destroyed The commands in the Edit subsystem are the following ED Commands pi Inserts a line before the current BEO Displays the previous line koo e Exits the ED subsystem Saves a line and moves cursor to next Arguments ED m where m specifies the line number to begin editing The default line number is the last line of program space with commands Operand Usage _ED contains the line number of the last line to have
285. v 1 00 TOROS CC 9600 0 0 0 MG TEST P2 send a message to the hand terminal MG P2CD no characters entered on hand terminal 0 NA N UU C the number 6 was pushed on the hand terminal m oe oO o Q J e enter key pushed on hand terminal Woe C2 CO the character B was pushed shift 2 then enter Q iw Z Q O O O O O O ON ON O N Q UO N ee ae C2 Syntax e Operand Only PCH not burnable urn Serial port 2 character Hardware DMC40x0 DMC41x3 Full Description P2CH returns the last character sent to the auxiliary serial port port 2 Arguments Operand Usage N A Usage Usage and Default Details Related Commands P2CD Serial port 2 code P2NM Serial port 2 number P2ST Serial port 2 string CI Configure COMINT CC Configure serial port 2 COMINT Communication interrupt automatic subroutine Examples R V 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 Syntax e Operand Only not burnable urn Serial port 2 number Hardware DMC40x0 DMC41x3 Full Description P2NM returns the last number followed by carriage return sent to auxiliary serial port port 2 Converts from ASCII e g 1234 to binary so that a number can be stored into a variable and math can be performed on it Numbers fro
286. vector motion to complete EN End Program REM VP n m lt o gt p REM o and p are in counts sample VS command REM this means that when TM lt gt 1000 be different than REM values for o and p REM vs and vsop result in the same vs TM 250 VMXY VS 100000 VA 2560000 VD 2560000 VP 20000 20000 VE BGS AMS EN vsop TM 250 VMXY n 1000 _TM VS 100000 VA 2560000 VD 2560000 VP 20000 20000 lt 100000 n VE BGS AMS EN REM To get counts second for o and rather than counts second as the commanded speed for VS will o divide them by a ratio of 1000 _TM profile Hint 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 Syntax Implicit Only Vector Speed Ratio DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The VR sets a ratio to be used as a multiplier of the current vector speed The vector speed can be set by the command VS or the operators lt and gt used with CR VP and LI commands VR takes effect immediately and will ratio all the following vector speed commands 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 Arguments VR s t
287. ves The parameters will be rounded down to the nearest factor of 1024 and have units of counts per second squared Arguments DC n n n n n n n n or DCA n where n is an unsigned numbers in the range 1024 to 1073740800 n Returns the deceleration value for the specified axes Operand Usage _DCn contains the deceleration rate for the specified axis Usage Usage and Default Details While Moving The DC command can only be specified while in the jog mode Command Line Yes Controller Usage Default Value 256000 Default Format 8 0 for 21x3 18x2 10 0 for 40x0 18x6 While Moving Yes Default Value 256000 In a Program Yes Default Format 10 0 Command Line Yes Controller Usage ALL CONTROLLERS When moving the DC command can only be specified while in the jog mode Related Commands AC Acceleration PR Position Relative PA Position Absolute SP Speed JG Jog SD Limit Switch Deceleration Examples PR 10000 Specify position AC 2000000 Specify acceleration rate DC 1000000 Specify deceleration rate SP 5000 Specify slew speed BG Begin motion Note The DC command may be changed during the move in JG move but not in PR or PA move Syntax Explicit or Implicit Bur Dual Auxiliary Encoder Position PME DMCS Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The DE command defines the position of the auxiliary encoders The DE command defines the encoder pos
288. wait for motio is complete ca ue ol f the operand _ nN N N system s which motion has complete also be BGn Explicit or Implicit burnable with BN DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The command BI is used to define the inputs which are used when Hall sensors have been wired for sinusoidally commutated motors These inputs can be the general use inputs bits 1 8 the auxiliary encoder inputs bits 81 96 or the extended I O inputs bits 17 48 The Hall sensors of each axis must be connected to consecutive input lines for example BI 3 indicates that inputs 3 4 and 5 are used for halls sensors With the AMP 43540 the Hall A Hall B and Hall C inputs on the Encoder connector may be specified by setting the BI command to 1 With the AMP 43540 or the AMP 43640 the general inputs may be specified with a BI n command 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 BI n command IN n Hall B IN n 1 Hall C IN n 2 Hall A Arguments BI n n n n n n n n or BIA n where n is an unsigned integer which represent the first digital input to be used for hall sensor input n 0 Clear the hall sensor configuration for the axis n Specifies the controller to use the Hall inputs available on the AMP 43540 n Returns the starting input used for Hall sensors for the sp
289. where s and t are between 0 and 10 with a resolution of 0001 The value specified by s is the vector ratio to apply to the S coordinate system and t is the value to apply to the T coordinate system s Returns the value of the vector speed ratio for the S coordinate plane t Returns the value of the vector speed ratio for the T coordinate plane Operand Usage _VRn contains the vector speed ratio of the specified coordinate system S or T Usage Usage and Default Details While Moving Yes Default Value 1 In a Program Yes Default Format 2 4 Command Line Yes Controller Usage ALL CONTROLLERS Related Commands VS Vector Speed Examples A Vec VMAB Vec VP CR VE 1000 2000 1000 0 36 0 tor Program tor Mode Vector Position Specify Arc End Sequence VS 2000 BGS AMS JP A Vector Speed Begin Sequence After Motion Repeat Move vs Syntax Implicit Only burnable with BN Vector Speed DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The VS command specifies the speed of the vector in a coordinated motion sequence in either the LM or VM modes VS may be changed during motion Vector Speed can be calculated by taking the square root of the sum of the squared values of speed for each axis specified for vector or linear interpolated motion Arguments VS s t where s and t are unsigned even numbers in the range 2 t
290. with AMP 43540 EX BAA BMA 2000 BIA 1 use hall sensor inputs on the Galil BCA enable brushless calibration bc _BCA store hall state JGA 500 BGA begin jog hall JP hall _BCA bc wait for a hall transition STA MG Commutation Complete EN Explicit or Implicit burnable with BN DMC40x0 DMC41x3 Hardware DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description This command sets the commutation phase of a sinusoidally commutated motor When using hall effect sensors a more accurate value for this parameter can be set by using the command BC This command should not be used except when the user is creating a specialized phase initialization procedure Arguments BD n n n n n n n n or BDA n where n is an integer between 0 360 n Returns the current brushless motor angle between 0 360 Operand Usage _BDn contains the commutation phase of the specified axis Usage Usage and Default Details Usage While Moving In a Program es ommand Line es ontroller Usage All N A N A Related Commands BA Brushless Axis BB Brushless Phase Begins BC Brushless Commutation BI Brushless Inputs BM Brushless Modulo BO Brushless Offset BS Brushless Setup BZ Brushless Zero BG Examples y Accepts Axis Mask Burn DMC40x0 DMC41x3 DMC21x3 DMC18x6 DMC18x2 DMC300x0 Full Description The BG command starts a motion on the specified axis or sequence Argumen
291. xternal device or customer application and can be fully embedded into a Galil controller s memory to leverage powerful embedded only features and for stand alone applications DMC code of course provides symbolic variables arrays and math support The elegance of DMC coding is particularly evident when writing code for embedded applications When running on the controller the DMC language supports if then else conditionals code branching subroutines a call stack with parameter passing and local variable scope on some models multi threading and automatic subroutines i e event driven programming DMC code runs on the Galil Real Time Operating System RTOS which is specifically designed for Galil hardware and for motion control The learning curve on DMC code is quite fast usually less than one hour to basic motion so called spinning motors It is the fastest to learn the easiest the simplest and one of the most flexible and powerful languages in the industry Don t forget Galil s Applications Support Team is available to assist you from the most basic question to the most complicated needs Top Down How is a Galil system normally structured However you want there are three general approaches to Galil programming Embedded Galil centric Programming In this approach a host computer is only used during development to program the controller The program is then downloaded and burned to non volatile flash using the

Download Pdf Manuals

image

Related Search

Related Contents

What`s New - Blue Marble Geographics  Fundação de Apoio à Tecnologia e Ciência    Refrigerator USER`S MANUAL  カスタマイズの内容はこちら  Firex Safety Alarm Adaptor Trim Plate 495 Owner's Manual  MANUAL DE USUARIO PANEL ALCEC  User Guide  Zaditen retard  Mode d`emploi e_pupitre 5130  

Copyright © All rights reserved.
Failed to retrieve file