`O
`
`O
`
`Compumotor Division
`Parker Hannifln Corporation
`
`EXHIBIT
`
`DePonent~ ~0~._
`
`W~V~N.D~POBOOK.OOM
`
`RGBINSP00001703
`CONFIDENTIAL
`
`
`
`Important User Information
`
`To ensure that ~e equipment described in this user guide, as well as atl the equipment o~nneded to and used with it, operate~
`satidacton’fy and safely, all applicable local and n~tional code-, that sppiy to installing and operating the equipment must be
`followed. Since codes can vaw geographically and can r.~ange with time, it is the user’s responsibility to identify end comply with
`the applicable standards end cede~ WARNING: F~llure to comply with applicable codes and standards can result In
`damage t~ equipment and/or serious Inlury ~o p~rsonn~l.
`
`Pet’sonnel who are to install and operate the equipment should study tt~ user guide and all referenced docamantal~on prior ~o
`inalallstlen end~or operation of the equipment.
`
`In no event will the provider o!~ ~e equipment be li~e for any inddanta~, consequential, or spedal damages of any kind or nature
`whatsoever, |nduding but not limited to lost profits a~ising from or" in any w~y connected w~th the use of this use~ guide ot the
`
`@ Compumotor Division of Parker Hsnnifin Corporation, 1991-1994
`~ All Rights Reserved~
`
`Motion Architect Is a registered trademmk of Pinker Hannifln Corporation°
`CompuCAM and SeNo Tuner are trademarks of Parker Hannll]n Corporation.
`AT and IBM are registered trademmks of Intema~onal Business Machines Corporation.
`Microsoft and MS-DOS are registered trademarks, and Windows is a trademark of Microsoft Coporation.
`
`The InformaUan In this user guide, including any apparatus, methods, techniques, and concepts described hemln, are the
`propdetmy Wopedy of Pad(or Compumotor or its licensom, and may not be COl:ied, disclosed, or used fo~ any purpose not expm~ly
`authorized by the owner thereof.
`
`Since Parker Compumotor ¢onstsnW st~ves to improve all of i~s ~roducts, we reserve the right to c~ange this user guide and
`equipmanl manlJoned therein at any time without notice.
`
`Compumotor
`
`RGBINSP00001704
`CONFIDENTIAL
`
`
`
`Change Summary
`
`6000 Series Software Reference Guide
`Revision H
`
`The following is a summary of the primary technical changes to this reference guide since the last version was
`released. This reference guide, p/n 88-012966-01H (released in June 1994), supersedes 86-012966-01G.
`
`ANI Option
`
`Bit Select
`
`Programming Error
`
`Command-to-
`Compatibility
`
`Communication Echo
`
`Contouring
`
`Division (math)
`Error Handling
`
`=tion
`New: All servo products can be ordered with the ANI option, The ANI option provides
`+10V, 14-bit analog inputs (one per axis). AN! feedback can be selected with the
`command. The ANI feeriback value can be captured, monitored, offset (~’S~.T), scaled
`(SCz~ SC~.D, etc.) like any other feedback soume. ANI-specific commands:
`[ ~z ]....ANIPositJon
`[ ~’CA ] ....... P~_’~’_~J~. of ~p~_P~d ANI TAN]: .......... Transfer Posi~n of ANI
`
`Clarification: You can use the blt select operator (.) in conjunction with a hyphen (-)
`to affect the value of one binary bit in a binary field. This eliminates the need to enter all
`the previous bits if you want to affect only one. For example, to disable error-checking
`bit #9 in the E~OR command, you can enter the ~P~OR. 9-¢ co~and.
`
`Cia~;i’;¢at~on: The TCMDER command reports only the first command error detected
`when running or downloading a program. After you correct the error, run or download the
`program again to check for additional errors (indlc~ted_ by the ? ~,-o~,~pt).
`
`Change: The footnote references for product incompatibility have been removed from
`the Command Usting (by Command Type) and Command Lis~ng (Alphabetical~ tables.
`Instead, a new command-to-product compat~ility table is provided in A~npendix A,
`
`Con’ectlon: The Cor~unication Echo Enable (ECHO) command may be used with the
`bus-based products (AT6400 & AT6n50), not just stand-alone products as previously
`indicated. In bus-based products each block of data placed in the input buffer will be
`echoed to the output buffer one command at a time. For stand-ak:me products,
`commands will be echoed character by charactur.
`
`Clarifications: The mechanical resolution of all axes used for contouring must be
`identical. Scaling cannot compensate for mechanical variances in resolution. In
`addition, all axes must have the same pulse width {PrJ~SE) and ddve resolution (DP~S)
`settings. If you change the PULSE setting, you will need to recompile (PcoMp) any
`previously compiled paths.
`
`Clarification: The m~u!t Of division (/) is specified to 5 decimal ~n!~_ces.
`
`New Features and Clarifications:
`Clarification: There are four ways to cancel the branch to the error program:
`- (Enhancement) Disable the error-checking bit with the EP,~OR. n-¢ command,
`where "n" is the number of the error-checking bit you wish to disable (e.g.,
`~o~. 6-¢).
`- (EnhanceJ~ent) Issue the ~.RORt~ CLR command to un-aasign the program
`assigned as the error program and cancel the branch.
`- Delete the program assigned as the ERROR9 program (DEL <name of program>).
`- Sa~.fy the How to Remedy the Error requirement (see table in the
`command description).
`NOTE: In addition to canceling the branch to the error program, you must also
`remedy the cause of the error;, otherwise, the error program will be called again
`when you resume operation. Refer to the How to Remedy the Error column in the
`table in the ERRORP command description for details.
`
`Clarification: If you wish the branch to the error program to occur at the time the error
`condition is detected, enable the continuous command execution mode (COM]~XCl).
`OthenNise, the branch will not occur untit motion on all axes has stopped.
`
`RGBINSP00001705
`CONFIDENTIAL
`
`
`
`Change Summary (continued)
`
`Feedback Source
`Selection
`(Servo Products)
`
`New:. If you have a servo controller, you can select the feedback source with the
`command. The choices are enceder, LDT and ANL LDT feedback is available only for
`6270 owners, and ANI feedback is available only if you have the =-ANI" option.
`
`Parameters for scaling (SCLA, SCT.D, etc.), tuning gains (SGT, SGP, etc.), and position
`offset (gs~-’~) are specific to the feedback source currently selected with the last SFB
`command. If your application requires switching between feedback sources for the
`same axis, then for each feedback soume, you must issue the SFB command and then
`enter the scaling, gains, and PS~.T commands specific to that feedback source.
`
`Feedrate Override
`
`Inputs and Outputs
`
`Memory Handling
`
`Related commands:
`[ FB ] .......... Posilion of Current Feedback Device
`SFS ........... :. Select Sewo Feedback Source
`TFB ............ Transfer Position of Fcedlmck Device
`
`Clarification: When using feedrats overdde on a four-axis 6000 controller, axis 4 is
`used to perform the feedrate override and can no longerbe used for motion. IF THE
`SHUTDOWN OUTPUT IS NOT USED, you must disconnect axis 4; otherwise, moron will
`occur on that axis.
`
`Clarification: Many people refer to a voltage level when mfarendng the state of
`inputs and outputs. Because current loops are less susceptible to electrical noise
`disturbances than voltage levels, Compumotor has adopted the cohvention of current
`loops in both its hardware and documentation. Therefore, an input/output that is ’low"
`means that no current is flowing and a voltage may be present at the terminal.
`Conversely, if an input/output is =high’, current is flowing and no voltage is present. The
`active levels for home, end-of-travel, and programmable inputs are set with the HOHLVr_,,
`LHLV~, and Z~r~vr~ commands, respectively. The active levels for programmable
`outputs are set with the OU~LV~ command.
`
`~ew:
`¯ (-M) Memory Expansion Option: For stand-aione products only, the -M memory
`expansion option. Summary o! benel’ds:
`- Total memory for programs and paths increased from 40,000 to 150,000
`- Max. number of programs increased from 100 to 400
`- Max. number of labels increased from 200 to 600
`- Max. number of compiled paths increased from 75 to 300
`¯ TDI~t and T~ Formats Enhanced: A report-back line indicating the status of
`compiled paths has been added to the TDTR and ~ reports. Example:
`*25 OF 25 SEGMENTS (100%) CO~PZSED ME~ORY ~ING
`
`NewCommands
`
`New:
`
`DAC ] ...... Value of DAC
`DATPTR ....... Set Data Pointer
`DATSIZ ....... Data Pt’ogram Size
`DA~"~C~ ....... Data Tea~t
`[ DPTR ] ..... ~of DalaPointer
`~ ] .......... Position of Cunent Fee~tmck De~.e
`[ T.,Dt’ 1 ..... Pcei~n of LDT
`~v~c,m~ ....... LDT Gradient
`LD’~tES ....... LDT Resolution
`~ ....... LDT Post~n Update Rate
`OrJTPC ....... Output on Position - Axis 3
`OUTPD ........ Output on Posilion - Axis 4
`New: This document was updated to accommodate the release of the 6201, 6270, and
`AT6n50 (AT6450 & AT6250) products.
`
`TPCL._...i...Transler Pos~on of Caplured LD7
`
`( Pc~ ] ._.Posrdon of CapturedANI
`[ PCC ] ._.CaiduredConrnanded Pceition
`[ ~ ] .... PosltionofCapturedLDT
`SDTAMP.... Servo Dither Amplitude
`SDT~t ...... Servo Dither Frequency
`s~B ......... Select Servo Feedback Soume
`TDPTR ....... Transfer Loca~n uf Data Pdnter
`TFS ............ Trar~fer Pod~on of Feedback Dev~e
`TLDT .......... Transfer Pce~on of LDT
`T~. ........ Transfer Posen of Cap~Jred ANI
`
`New Products
`Released
`
`ON Program,
`clearing
`
`New:. If you wish to prevent the assigned ON program from being executed when an ON
`condition is met,issue the o~P CLR command. This un-assigns the currently assigned
`ON program without having to delete it.
`
`Participating Axes
`
`Clarification: Command parameters entered for axes excluded as a result
`
`RGBINSP00001706
`CONFIDENTIAL
`
`
`
`Change Summary
`
`(continued)
`
`Position Capture
`
`En hancements:
`
`[Servo Products Only)
`
`In addition to the encoder positions, you may now capture the commanded position. If
`you have the ANI option for your servo controller, you may capture the ANI values.
`6270 users may capture the LDT positions.
`
`When a ~gger interrupt input (i.e., a trigger input assigned the trigger interrupt
`function with the 1~-~c~.-~ command) is activated, the commanded position and the
`3ositions of all feedback devices on all axes are captured at one time. The position
`information is stored in registers and is available through the use ol transfer and
`assignment/comparison commands (see table below).
`
`Captured Information
`
`Transfer
`
`AssignmentlCo mparison
`
`~
`Commanded Position
`~
`LDT Position
`~
`Encoder Position
`ANI Value (-ANI option) ~
`
`t=cc
`~
`~
`~
`
`If you are capturing the position/value of an encoder, LDT or ANI when it is selected as
`the feedback soume with the S~ command, the captured position is interpolated from
`the last sampled position and velocity of the feedback device, and the time elapsed
`since the last sample. The position sample rate is detem~ined by the SSFR and Z~AJ~
`commands (system update rate). The accuracy of the position capture is :t:5Ops x
`velocity.
`
`If you are capturing the position of the encoder, LD’r or ANI when it is NOT selected with
`the SFB command, the last sampled position is simply stored as the captured position.
`Therefore, the accuracy is one system update pedod (determined by the ss~’~, and
`];N’D~J(commands).
`
`Regardless of the S~’~, selection, one encoder position is latched in hardware within +1
`encoder count (at max. encoder frequency) when its dedk;ated trigger input is activated
`(see table below).
`
`Encoder
`ENCODER 1
`ENCODER 2
`ENCODER 3
`ENCODER 4
`
`AT6nSO
`TRG-A
`TRG-B
`TRG-C
`TRG-D
`
`615n
`TRG-A
`TRG-B
`nfa
`n/a
`
`625n
`TRG-A
`TRG-B
`TRG-C
`n/a
`
`6270
`TRG-A
`n/a
`n/a
`n/a
`
`OEM625n
`"rRG-A
`TRG-B
`Ha
`rYa
`
`If you issue a Ps]~’ (position offset) command, any previously captured positions will be
`offset for the PS~:’~ value.
`
`New:. If you wish to clear the position offsets, issue the t=s]~T c~.~. command.
`
`Newi A new programmable input function (zz~-1~.-q) was added to affect programming
`security. For more information, refer to the Program Securfty section on page 10, or to
`the zN~’~¢ command description.
`
`Change: Ustings and illustrations of the programmable I/O bit pattern for each 6000
`Series product were removed from the respective command descriptions (e.g., z~,
`ou"~, T.I:~, "z’orj’~’, etc.) end consolidated into a table located in the new Programming
`Guide section at the beginning of this document (see page 6).
`
`Clarifications:
`
`¯ The descriptions of each programmable output function have been greatly expanded.
`¯ Servo Controllers: You can use function B (Moving/Not Moving) and the target zone
`mode to indicate when the load is In Position. That is, with the target zone mode
`enabled (S’~RG~’E1), the output will not change state until the move completion criteda
`set with the S’t~G’L~ and S’Z’RG’L’V commands h~ve been met.
`
`New: The Programming Guide section, added to the beginning of this document (pages
`1-27), is designed as a guide to programming with the 6000 Series command language,
`including syntax and general programming guidelines. To gain a lull understanding of
`how the 6000 Sedes commands are used together to implement specific features, refer
`to the Feature Implementation chapter in your controller’s user guide, and to any
`feature-specific documentation provided with your product.
`
`Position Offset
`(PSi.T), clearing ’
`Program Secudty
`Feature
`
`Programmable I/O
`Bit Patterns
`
`Programmable
`Output Functions
`
`Programming Guide
`Section
`
`RGBINSP00001707
`CONFIDENTIAL
`
`
`
`Change Summary (continued)
`
`Scaling (servos)
`
`New:
`¯ Parameters for scaling (scz~ sCLV, SCLD, PSC~,, and PSCLV) are specific to the
`feedback source selected with the last SFB command. Therefore, if your application
`requires switching between feedback soumes for the same axis, then for each
`feedback source, you must select the feedback source with the appropriate SFB
`command and issue the scaling factors specific to that feedback source.
`¯ The default scale factor depends on which feedback source is currently selected with
`the s~s command:
`
`Scaling
`Command
`SC.T.~ & PLSCA
`SCLv & PLscv
`SCLD
`
`Encoder
`Feedback
`4000
`4000
`1
`
`ANI
`Feedback
`
`LOT
`Feedback
`
`819
`819
`819
`
`432
`432
`43~
`
`Clarifications:
`¯ If you use the SOFZ~S command to offset the servo controlter’s commanded analog
`control signal output, BE AWARE that this can cause acceleration to a high speed if
`there is tittle or no load. ¯
`¯ 6270 users: If you set the 6270’s jumpers for current control, use a voltage-to-
`current ratio to enter the appropriate SOFFS command value in
`
`Change: The servo sampling and motion trajectop/updates have changed (see table
`in SSFR command description). The SSF~Z table now shows the system update values
`that are also affected by the INDAX and SSPR command values. ]’he servo update rate is
`the rate for I/O updates, input debounce, timer resolution, fast status update
`(bus-based controllers), and LDT position update (6270).
`
`New: If you wish to prevent the start-up program from being executed on power up or
`reset, issue the ST~.TP CLR command. This un-assigns the currently assigned start-
`up program without having to delete it.
`
`New: Bit #27 is now used to indicate if there is an LDT position read error
`(1 = error; ¢ = no error). An LDT position read error can be caused by a disconnected
`LDT, mechanical failure of LDT or detachment of LDT from the load, or LD~Z:~ command
`value too low.
`
`New: Bit #27 is now used to indicate if there is an LDT position read error
`(i = error:. ¢ = no error). An LDT position read error can be caused by a disconnecled
`LDT, mechanical failure of LDT or detachment of LDT from the load, or T.DTOPD command
`value too low.
`
`Clarifications: A maximum of 60 SD command values per axis are allowed inside a
`loop.
`
`New: A new data teach mode was added and is available in all 6000 Sehes products.
`The Teach Mode is simply a method of storing (teaching} variable data and later using
`the stored data as a source for motion program parameters. The variable data can be
`any value that can be stored in a numedc (vA~) vadable (e.g., position, acceleration,
`velocity, etc). The vadable data is stored into a data program, which is an array of data
`elements that have a specific address from which to write and read the variable data.
`Data programs do not contaJn 6000 Series commands.
`
`For more information, refer to the Teach Mode section in the product user guide, or to
`the descriptions of the commands added to suppod this feature:
`DATPTR ...... Set Da~a Pdnter
`[ DPTR ]...Loca~n of Da~ Po~lter
`TDPTR ..... Transfer Locagon of Data PoM~r
`DATSIZ ...... Oat~ Program ~
`DATTCPL ...... [~ta Teadl
`New:. If motion is commanded when the pulse-cut input (P.4::UT input on steppers) or the
`enable input (ENBL input on servos) is not grounded, a warning message will be
`displayed:
`
`Steppers: "~,u~az~: z=u~. cu? z~ ACTZV~’
`Servos: "WARNING: ENABLE INPUT INACTIVE"
`Clarification: When using the WRITE and DWRITE commands, you may not use the
`asterisk (*) in the character string.
`
`Servo Control Signal
`Offset (so~s)
`
`Servo Update Rates
`
`Startup Program,
`cleadng
`
`Status: Axis
`
`Status: Error
`
`Streaming Mode
`
`Teach Mode
`
`Warning Messages
`for P-CUT and ENBL
`
`Writing Text
`
`RGBINSP00001708
`CONFIDENTIAL
`
`
`
`| II
`
`Purpose of This Document
`
`This document is designed as a guide to programming with the 6000 Series command language and
`as a reference for all the 6000 Series commands. To gain a full understanding of how the 6000
`Series commands are used together to implement specific features, refer to the Feature
`Implementation chapter in your controller’s user guide, and to any feature-specific documents
`provided with your produch
`
`Table of Contents
`
`Page 1-27
`
`ProgroJnming Guide: Guide for progranmdng the 6000 Series controller.
`
`Mo~ion Architect@ ........................................................ 2
`Command Syntax ................................................................. 2
`System Performance ..................................................... 5
`[m:.~ a~d O~pu~ I~I0) ................................................................................ 5
`Creat~g Bas~ Motim..: ...................................................................................
`Creating Programs & Subroutines ........................................ 7
`Storing Programs & Contouring Paths ................................ 8
`Non-Volatile Memory (Stand-Alone Products Only) ............. 9
`Creating and Executing a Set-up Prod’am ........................ 10
`Program Security ............................................... 10
`Control.~_g Execution of Programs and the Command Buffer ........ I I
`Changing Command Parameters During Motian .................................. ~. 13
`Program Flow Control ................................................... 13
`Program Interrupts ................................................. 18
`P~r~n De~gT0o~ ..........................................................................
`Error Handling ....................................................... 24
`Sample Programs Provided .......................................... 27
`
`Page 29-38
`
`Command Listing O~Y Command Type): List of all commands by their command type,
`includes command fields and command examples.
`
`Page 39-44
`
`Command Listing (Alphabetical): Alphabetical list of all commands, includes
`command fidds and command examples.
`
`Page 45-240
`
`Command Descriptions: The command description format is explained on page 45.
`Operator symbols are then described, followed by the rest of the 6000 Series
`commands in alphabet.teal order.
`
`Page 241-44
`
`Appendix ~. 6000 Series Command Compatibi/ity: Alphabetical llst of all 6000
`Series commands and the products with which they are compatible.
`
`Page 245-48
`
`Appendix B: X Serfes us. 6000 Sec~es CompoJibi!ity: AlphabeUcal ]1st of X Series
`commands and the 6000 Series commands with which they are compatible.
`
`Page 249-51
`
`Appendix C: Command Vnlue Substlh,ffnn~. Alphabetical list of all commands and
`the possible command value substitutions.
`
`Page 253-54
`
`Appendix D: ASCII Table
`
`Page 255-60
`
`Index
`
`RGBINSP00001709
`CONFIDENTIAL
`
`
`
`Programming Guide
`
`This section is desigr~ed as a guide to pro~ with the 6000 Series command language.
`Detailed descriptions of each command are provided later in the Command Descriptions section.
`
`To gain a full understanding of how the 6000 Series commands are used together to implement
`specifld features, refer to the Feature fmplementatWn chapter in your controller’s user guide, and to
`any feature-specific documentation provided with your product.
`
`To aide you in your programming efforts, Compumotor provides sample programs, These programs
`are located on the DOS Support Disk found in your product ship kit. They may be opened and
`edited in Motion Architect’s Program Editor module.
`
`Contents
`
`Motion Architect@ .......................................... ,2
`Command Syntax ........................................... 2
`Overview ................................................ 2
`’ Descdpt!on of Syntax Letters and Symbols ... 3
`Comparison and Assignment Syntax ............ 3
`Operator Symbols .................................... 4
`General Guidelines for Syntax .................... 4
`Binary and Hexadecimal Values .................. 4
`Command Value Substitutions .................... 5
`System Performance ...................................... 5
`Inputs and Outputs (I/O) .................................. 5
`Programmable I/O Bit Patterns .................... 6
`Active High/Active Low Conventions ............ 6
`Creating Basic Motion ..................................... 7
`Creating Programs & Subroutines ...................... 7
`Program Definition .................................... 7
`Subroutines ............................................ 8
`Storing Programs & Contouring Paths ................. 8
`Storing Programs for Stand-Alone Products ... 8
`Storing Programs for Bus-Eased Products .... 8
`Memory Allocation .................................... 8
`Non-Volatile Memory (Stand-Alone Products) ....... 9
`Creating and Executing a Set-up Program ......... 10
`Set-up Program Execution for
`Stand-Alone Controllers ........................ 10
`Set-up Program Execution for
`Bus-Based Controllers ......................... tO
`
`Program Security ......................................... 10
`Controlling Execution of Programs and the
`Command Buffer ....................................... 11
`Continuous Command Execution ............... 11
`Continue Command Execution on Kill ......... 12
`Save Command Buffer on Limit ................. 12
`Pause Command Execution Until In
`Pes~on Signal ................................... 12
`Effect of Pause/Continue Input ................. 12
`Save Command Buffer on Stop ................. 12
`Changing Command Pararnetem Dudng Motion .. 13
`Program Row Contro~ .................................... 13
`Unconditional Looping and Branching ......... 14
`Conditional Looping and Branching ............ 15
`Program Interrupts ...................................... . 18
`Program Debug Tools .................................... 19
`Trace Mode ........................................... 19
`Single-Step Mode ................................... 20
`Simulating Analog Input Channel Voltages .. 21
`Simulating I/O Activation ......................... 21
`Programming Error Responses ................. 23
`Error Handling .............................................. 24
`Enabling Error Checking .......................... 25
`Def’ming the Error Program ....................... 25
`Canceling the Branch to the Error Program .. 25
`Error Program Set-up Example .................. 26
`Sample Programs Provided ............................ 27
`
`Programming Guide
`
`1
`
`RGBINSP00001710
`CONFIDENTIAL
`
`
`
`Motion ArchitecP
`
`Every 6000 Series controller is shipped with Motion Architect, a WindowsrM-ba~ed programming
`t0ol designed to simplify your programming efforts. The standard Motion Architect shell contains
`the following modules:
`¯ System Conflgurator and (~ode Generator: Automatically generate con~ller code for basic
`system set-up parameters (I/O dcfm/tions, cncodcr operations, etc.).
`¯ Program Editor: Create blocks or lines of 6000 controller code, or copy portJons of code from
`previous files. You can save program editor files for later use in BASIC, C. etc.. or in the terminal
`emulator or test panel.
`* Terminal Emulator: Communicating directly with the 6000 cont~-oller, the terminal emulator
`allows you t~ type in a~d execute controller code and transfer code ~es to and from the 6000
`controller.
`¯ Test Panel and Pro~rsm Tester: YPu can create your own test panel to run your programs and
`check the activity of [/O, motion, system status, etc~ This can be invaluable during start-ups and
`when fine tuning machine performance.
`¯ On-line Context-sensltive Help and Command Reference: These on-llne resources provide
`help information about Motion Architect, as well as interactive access to the contents of the
`6000 Series Software Reference Guide, the document you are reading right now.
`
`Add-on modules for Motion Architect arc available to aide Ln other programndng and set-up tasks.
`These modules a~e available through your local Automation Technology Center.
`
`¯ Servo TunerrM: Tune your servo controller and the attached servo drives and receive instant
`data feedback on customizable dlsplays.
`¯ CompuCAM~: CompuCAM allows you to hnport 2D geometry from CAD programs (DXF), plotter
`files (HP-GL). or NC programs (G-COde), and then translate the geometry into 6000 motion
`programs. These pro~mns can be further edited in Motion Architect’s Program Editor module
`and dowloaded to the 6000 controller f~om the Terminal Emulator or Test Panel modules.
`
`For detaiLs on using Motion Architect, refer to the Motion Architect User Guide.
`
`Command Syntax
`
`Overview
`The 6000 Series provtdes hlgh-level constructs as well as basic motion control building blocks.
`The language comprises simple ASCII mnemordc commands, wlth each command separated by a
`command delimiter. Upon rece~Ing a command followed by a command del/rniter, the commax~d is
`placed in the 6000 Series controller’s internal command queue. Here the command is executed in
`the order in which it is received. The command may be specified as ~unediate by placing an
`optional exclamation point ( ~. } in front of the command. When a command is specified as an
`immediate command, it is placed at the front of the command queue, where it is executed
`Lm_mediately.
`
`The command ~elirrflter can be one of three characters, a ~e return (<cr>), a line-feed
`or a colon {:). The space {<sp>) character is used as a neutral character within a command.
`Comments can be specAfied with the semicolon (; ) character. All characters following the
`semicolon until the command delimiter are considered program comments
`
`2
`
`6000 Series Software Reference Guide
`
`RGBINSP00001711
`CONFIDENTIAL
`
`
`
`There is no case sensitivity with the command language. For instance, the command TSTAT is the
`same as the command ~s~a~
`
`Some com~n~nds contain one or more data fields In which you can enter numeric or binary values or
`text The A command {syntar A<r>, <r>, <r>, <r>) is an example of a command that requires you to
`enter numerlc values (e.g., A5,6,7.8 command assigns acceleration values of 5, 6, 7, and 8 units/sac2
`to axes #I, #2, #3, and #4 respectively) The DRIVE command (syntax: DRIVE<h><b><b><b>) iS an
`example of a command that requires blnary values (e.g., DRL-v’EllC¢ command enables drives #I and
`#2 and ~sables drives #3 and #4). The START~ command (synta~ STARTP<t>) iS an example of a
`command that requires text (e.g., STARTP powrup command assigns the program called "powrup" as
`the start-up program).
`
`Description of Syntax Letters and Symbols
`The command descrlp~ons provided withIn this manual use alphabetic letters and ASCII symbols
`within the Syntax description (see example below) to represent different parameter requirements.
`
`INEN
`
`Type
`+ Syntax
`Units
`Range
`Default
`R asp o n se
`See Also
`
`Input Enable
`
`Prod.ct Rev
`
`AT6400
`Inputs or Program Debug Tools
`A’[’6~.~O
`< ! >INEN<d><d><d>... <d>
`615n
`d = ¢, 1, E, or X
`620rt
`(cid:128) = o£~, 1 = on, E = affable, X = don’t: ca.~e
`625n
`E
`t TNENEEEB_EEEE_EEEE_EEE R_EEEE_EEEE_EEEE ~
`TNEN;
`ITS], IZ~r~, ~C, ~"~V’~, ~LC,
`
`1.0
`1.0
`1.0
`1.0
`1.0
`
`Description
`Letter, Symbol
`Represents an axis spedfier,’nurnedc va~ue from 1 to 4 (used only to elicit a response from fire indexer)
`a
`
`b’
`
`c
`
`i
`
`< >
`
`[ |
`
`Repres~ts the values 1,¢, x orx; does not require lield separator between values.
`
`Represents a charactsr (At0 Z, or ato z)
`
`Represents the values 1,¢, x or x, E o~ e : does not require ~eld Sel:~ara~ between values. E or e enables
`a spec~ command field, x or x leavas ~e eped~c command field unchanged or ignore~L
`
`Represents a numedc value that canno~ ~n a dedrnel point (integer values only). The numeric range
`vades by corr~nend. Reid separa~x required.
`
`Represents a nu~nedc value that may contain a decimel point, but is not required to have a dedmal po~t.
`The numeric.range va~es by ~rrtmand. Held sepam~ required.
`
`Represents an immed’~e command. Changes a buffered command to an immedia~ command.
`I~te commands are processed immediately, even before previously entered buffered
`
`Represents a field separator. Commands ~ the symbol r or i in ~elr Synt a x dascriplk~n require field
`separators- C<~T~ds with the symbol b or d in lheir Syntax desc~Jon do not require field separators
`~ut they may be induded): Se~ General Guidelines below for more infom~on.
`
`Repmserds a global specifier, where only one field need be entmed. Applicable to all commands with
`mul~ple commandfleld~ (e.g.,~rl sets veloc~ty on all axes to 1 rps)
`
`In~f~:atest~aHheitemconteinedwilhintha< >isoptk~el, not required by ~at con~nend. NOTE:Donor
`confuse with <c=>, <sp>, and <lf>, which refer 1~ I~e ASCII charactem ~xresponcing to a cardage
`return, space, and ine teed, respectively.
`
`In~cat~att~ecommandbetwesnthe [ ] must be used in cor~J~Clion wi~ another o:rnmand, and
`
`The ASCII character b Can also be used w~thin a command to precede a b~na~y number. When the b is used Jn ~is context, it is
`not to be replaced wi~ a (cid:128), :L, X. or x. Examples are a~gnments such as VAI~l=ble¢~1, and compads0ns such as
`IF { IN=bl¢%IX1}.
`
`Comparison and Assignment Syntax
`When making assignments with or comparisons against binary or hexadecimal values, you must
`precede the binaxy value with the letter b or B, and the hexvalue with h or H. Examples: IF (D~=bllOl)
`and IF(IN=h7F). Refer also to the Binary und He~nd, ocimol V_~bJ~s secUon discussed later.
`
`Programming Guide
`
`3
`
`RGBINSP00001712
`CONFIDENTIAL
`
`
`
`Operator Symbols
`The 6000 Series Language allows you to include special operator symbols, (e.g., +,/. &. ’, >=, etcJ in
`the command’s syntax to pezform bltwlse, mathematical, relational, and other special functions.
`These ope~tors axe described in detail, along with programming examples, at the beginning of the
`Command Descriptions section of this reference guide.
`
`General Guidelines for Syntax
`Guideline
`Guideline Topic
`Using neutmJ charactem anywtlere within a
`Neutral C~aracters
`command will not affect the cocrcaan&
`(<=p> and
`
`Set vel0city on a~s 1 to ~ rpsand rods 2 to 25 ~
`
`Add a cornmeNto ~e ~mmac~d:
`vi¢, 25,,<ta~> ;set accel.<cr>
`
`Case Sens~vity
`
`There is no case sensitivity. Use upper or
`lower case letters wl~ln commands.
`
`Command Delimiters
`(<cr>, <l£>.and : )
`
`A, cenrnands must be separated by a
`command delimiter.,
`
`Inifia~e mofion on axes 1,3and~
`GOI~II<cr>
`gol~l<cr>
`
`Set accelera~on on axis 2 ~ 10 q0s~
`A,l~,,<cr>
`A,l~,,<lf>
`
`Comment Delimiter (;)
`
`All text between a comment delimiter and a
`command delimiter is considered program
`comments.
`
`Field Separator (,)
`
`Commands with the syrr~ol r or i in their
`Syn t ax desc~ptico require field separators.
`
`Commands ~ the symbol b or d in their
`Syntax descdpt~n do not require field
`separators (but they may be Included).
`
`Axes not padicipating in ’~e corm,m~ need not
`be spec~ied; however, field separators that ars
`normeily required must be specked.
`
`When you wish to set the command value
`equal on all ax~s, add ~e e symbol at the
`beginning of ~e command (enter only the value
`for one command ~dd).
`
`The bit select operator allows you to affect one
`biay I~t without havil to enter ell
`preceding biis in ~e command. Syntex is