MONITOR MODE:

  • ENABLE POWER
  • DISABLE POWER
  • DO @0 JMOVE 10
    • DO(REQUIRED) @0(TASK NUMBER) JMOVE(MOVE COMMAND) 10(BY HOW MUCH)
ESTOP (activates e-stop)
EXECUTE taskNum program (executes the program on the directed task number)
LIST expression (lists the value of the expression)
PANIC (stops all robots without turning off power)
PARAMETER parameter[i]=val (sets the parameter to val)
PARAMETER parameter[i] (displays parameter val)
PARAMETER (displays all paramter values)
STORE (stores RAM into NVRAM)
SWITCH switch[i] (display setting of switch)
WHERE (displays robot position and configuration)



USEFUL COMMANDS

  • JMOVE j1,..,jn (joint interpreted move to joint values. ommited values “,,” are not moved)
  • MOVE loc (joint interpolated move to ‘loc’)
  • MOVES loc (straight line move to ‘loc’)
  • SIG
  • ACCEL acceleration(0-100), deceleration(0-100)
  • APPRO location, distance (joint interpolated movement to z above location by distance)
  • APPROS location, distance (staight-line movement to z above location by distance)
  • AUTO var, var, var.. (local non-pervasive variable)
  • LOVAL var, var, var.. (local pervasive variable)
  • GLOBAL var, var, var.. (globale variable) NOTE ON VARIABLES: MUST BE DECLARED AFTER PROGRAM STATEMENT, BEFORE EXECUTABLES
  • BITS firstRegisterIndex, numRegisters=value (changes output parsing ‘value’ in binary over outputs begining at ‘firstRegisterIndex’ and indexing for numRegisters)
  • BRAKE (stops robot motion imediately at decel rate. program then proceeds)
  • BREAK (pauses program until current motion is complete. program then proceeds)
  • CALL program (JSR)
  • COARSE tolerance (makes movement less precisse but faster, the larger the tolerance, as a percent, the less accurate the move)
  • DECOMPOSE array[i]=loc (takes the 6 position variables of ‘loc; and places them into the array begining at index=’i’. in the event of a multidimension array, [i_1,i_2,i_n], only ‘i_n’ will be incremented
  • DELAY time (delays all motion for time, in seconds, all other aspects of program will run up until next motion)
  • DEPART distance (moves tool upwards by distance)
  • DRIVE joint, change, speed (moves the joint at speed as %*monitor speed to incremental change)
  • FINE tol (adjust motion tolerance to ‘tol’ which is a percent of standard, so smaller is tighter)
  • HALT (hard program exit, blows through all stacks)
  • HERE loc (sets the location or location offset as the current robot position)
  • JHERE var1,...,varn (sets current joint values to variables in sequence)
  • LEFTY (makes robot move as left handed arm)
  • RESET (turns off all external output signals)
  • RETURN
  • RIGHTY (sets robot in right handed mode)
  • SET loc1=loc2 (sets ‘loc1’ equal to ‘loc2’)
  • SET loc1=loc2:tran (sets ‘loc1’ equal to the result of ‘loc2’ post transformation
  • SIGNAL reg1,..,regn (turns register on or off. positive value is on negativ value is off)
  • MULTIPLE (allows complete wrist movement)
  • SINGLE (limits wrist movement to +/* 180 of center)
  • SPEED var (sets speed to var, 100 is standard % speed, MMPS gives mm/s)
  • STOP (equivalent to RETURN in the primary frame)
  • SWITCH switch=var (sets the switch value to ‘var’)
  • TIMER timer=time (sets the timer, 1-15, to the time, in seconds precise to milliseconds, time will count to zero)
  • TOOL val (sets the tool offset to val)
  • WAIT bool (waits until the boolean is true)

REFERENCE FRAMES

  • HERE frame:loc (defines loc at the current location as a transformation from frame)
  • MOVE loc:loc (moves to the vector of loc+loc)
  • TRANS(x,y,z,r,p,q) (returns the transformation)

CONTROL STRUCTURES

  • END (needed after everything
  • EXIT (blows out all control structures)
  • FOR var = i_0 TO i_f inc
  • GOTO label (labels are done as integers at line start)

 CASE value OF
    VALUE value_1,...:
        group_of_steps
    VALUE value_2,...:
        group_of_steps
    ANY
        group_of_steps
  END

DO
    group_of_steps
UNTIL logical_expression

SYSTEM SWITCHES

  • AUTO.POWER.OFF (if on then power will shut off for motion errors
  • DRY.RUN (will run without any robot motion)
  • ESTOP.SIGNAL (determines whether estop status is output to DO 1)
  • POWER (changes high power state)
  • UPPER (for all boolean operations with strings, all characters are interpreted as uppercase)

TRANSFORMATION STUFF

  • FRAME(loc1, loc2, loc3, loc4) (sets up a really accurate axis system)
  • INVERSE(transformation)
  • RX(ang) (rotates about the X-axis)
  • RY(ang) (rotates about the Y-axis)
  • RZ(ang) (rotates about the Z-axis)
  • SCALE(trans, scale) (returns the transformation by scale)
  • SHIFT(trans BY x,y,z) (returns trans shifted by x,y,z)
  • TOOL (returns the tool offset)
  • TRANS(x,y,z,y,p,r) (returns trans defined by values)

FUNCTIONS

  • SIG(sig1,..,sign) (returns logical and of input signals)
  • INRANGE(loc) (returns values indicating whether loc is inrange. If 0, loc is in range. If bit 14 is active (8192), loc is too close. If bit 15 is active (16384), loc is too far.)
  • var BAND var (binary and)
  • STATE(select) (returns a value indicating various factors defining the state of the robot)

PASSING ARGS

  • for undefined args use DEFINED to test arg list

INTERUPTS

  • REACT
  • REACTE
  • REACTI

STARTUP ROUTINE

  • this can be done as a seperate program which is called from elsewhere
  • initialize global variables
  • set I/O ports as logically named global vars. Ex.: cycle.start = 1001
  • set signals to startup preffered state
  • set up transformations ex: SET pallet = TRANS(62.4,-215.978,293.898,0,180,-46.208)

CONSOLE OUTPUT:

  • TYPE output1,..,output n (outputs with modified text, limited to 512 char)
  • /S (acting as a modifier will prevent Carriage Return)
  • Ex: TYPE /S, "This "

SETTING UP AUTOSTART

  1. Create a program named AUTO, as well as any other programs required for the application. The AUTO program should initialize the application and possibly start other user programs in tasks 0, 1, and 2.
  2. Create and initialize any global variables to be used by the application, for example, arm positions.
  3. Use the STORE monitor command to store all programs and variables on NVRAM.
  4. ENABLE AUTOSTART in the monitor

SIGNALS

  • signals are simply booleans.
  • 1-8 are outputs
  • 2001-2512 are soft software signals

THINGS TO LOOK INTO

  • CALIBRATE (command that calibrates encoders?)
  • EVENT
  • TOOL
  • KILL
  • EXECUTE
  • <> (appears to be !=)
  • do you need to declare global variables which have already been initialized?
  • modifiying monitor speed using MONITOR modifier

Electrical

  • 24 V
    • Molex P/N 44441-2002
    • Molex P/N 43375-0001
    • 8 amp inline fuse