Skip to content

Instantly share code, notes, and snippets.

@erinzm
Created September 6, 2017 22:15
Show Gist options
  • Save erinzm/1d26e434275493549e648d085295d34d to your computer and use it in GitHub Desktop.
Save erinzm/1d26e434275493549e648d085295d34d to your computer and use it in GitHub Desktop.
; This file contains all the help data for the HOST mode to allow
; the user to get online help for all the commands.
; There are 4 sections of commands, [CMDS], [GET], [SET] and [TEST]
; Each topic in a section is started by a : (colon). The next
; : (color) or section seen will end the topic.
[CMDS]
:INDEX
? ECHO HELP ABORT STOP
VERSION REMOTE LOCAL SHUTDOWN RIGHTS
DUMP RESET HARDHOME HOME SOFTHOME
RUN MOVE STOP CLEAR CONTROL
UPDATE FREE TORQUE
GET SET TEST ERR
:?
Parameters: none
Returns: ?+<status data>
This query will return the current of the robot in compact form.
Additionally, by using the MONITOR function, this form of status
data will be sent to the host every time the status of monitored
hardware data changes. For actually getting the status from the
host software, you should use GET STATUS and GET FINAL instead.
Each <status data> field is described below
booted (1=teach pendant performed startup)
remote (1=PC has control)
homed (1=robot has been hard homed)
estop (1=Emergency stop is triggered)
gripper (Gripper configuration 0=none)
channel7 (External Channel 7 configuration 0=none)
channel8 (External Channel 8 configuration 0=none)
limits (binary status of limits)
speed (current programmed movement speed)
axis 1..8 position data
digital output status
digital input status
relay status
cnc port #1 status
cnc port #2 status
:ECHO
Parameters: none
Returns: <state> + OK
This command toggles between echo and no echo for terminals. Normally
not used except by technicians.
:ABORT
Parameters: none
Returns: OK
Aborts any current robot movement or control.
:VERSION
Parameters: none
Returns: <version> + OK
Prints the current version of the firmware to the host
:REMOTE
Parameters: none
Returns: OK
Switches to exclusive control of the robot via the host connection.
:LOCAL
Parameters: none
Returns: OK
Releases control of the robot to the teach pendant (if connected)
:SHUTDOWN
Parameters: none
Returns: OK
Exits the controller firmware and shuts the system down. The controller must
be rebooted to regain control.
:RIGHTS
Parameters: none
Returns: <copyright data> + OK
This commands allows you to view the Copyright and Restricted rights
information for the firmware.
:DUMP
Parameters: none
Returns: <dump data> + OK
This command dumps a bunch of useful debugging and diagnostic information
to the host computer. The end user should never need to use this command.
:RESET
Parameters: none
Returns: OK
This command instructs the controller to proceed through a complete RESET
sequence. This command should be sent when the HOST is used as the initial
boot device otherwise the teach pendant takes care of this function. You can
test to see if the robot has been setup by the teach pendant by calling the
"GET BOOT" command.
:HARDHOME
Parameters: none
Returns: OK + STEP <x> + END
Performs the hard home procedure to align the robot. As each step is
completed, the STEP <x> status is returned to the host where x indicates
the current stage of the process. When the HARDHOME is complete, the END
status is returned.
:HOME
Parameters: none
Returns: OK + END
Sends the robot to the hard home'd position directly. The END status
is returned when the move is completed.
:SOFTHOME
Parameters: none
Returns: OK + END
Sends the robot to the soft home programmed position. The END status
is returned when the move is completed.
:MOVE
Parameters: <speed> <axis> <1,-1]>
Returns: OK
Starts the robot <axis> (1-8) moving in a CW (1) or CCW (-1) at <speed>
(1-99). If the robot is not stopped manually, this command will eventually
return either an END status or a LIMIT status depending on whether the
robot was hardhomed or not.
:STOP
Parameters: none
Returns: OK
Stop all robot movement.
:CLEAR
Parameters: none
Returns: OK
Clears the current teach pendant point information. Use this before you
download a set of new points to the pendant.
:CONTROL
Parameters: <flags>
<inputs> <inputs mask>
<outputs> <outputs mask>
<relays> <relay mask>
<cnc #1> <cnc #1 mask>
<cnc #2> <cnc #2 mask>
Returns: END
Define a control interrupt for the controller. This will send an END
message to the host when the control conditions requested are met.
Note: you cannot perform a delay remotely. The host side is responsible
for a delay value in the control point.
:UPDATE
Parameters: none
Returns: OK
Executes the UPDATE.EXE file located on the floppy drive to allow
automagic firmware updates to be loaded in the field.
:RUN
Parameters: <speed > <flags>
<axis1> <axis2> <axis3> <axis4>
<axis5> <axis6> <axis7> <axis8>
Returns: END
Can be used to provide a quick point movement. The sent parameters are
preloaded and then the RUN command is executed automagically.
[GET]
:GET
STATUS FINAL
DEBUG POS HOME PORT TOTAL POINT
:STATUS
Parameters: none
Returns: &+<status data>
This query will return the current of the robot in compact form. This
is EXACTLY the same data as the '?' command except that the prefix
is the '&' instead of the '?' to indicate to the software that you
actually REQUESTED a response. The '?' form of status reply is
sometimes automatically sent to the host when monitored conditions
change. The '&' response will never be sent without a previous request.
Each <status data> field is described below
booted (1=teach pendant performed startup)
remote (1=PC has control)
homed (1=robot has been hard homed)
estop (1=Emergency stop is triggered)
gripper (Gripper configuration 0=none)
channel7 (External Channel 7 configuration 0=none)
channel8 (External Channel 8 configuration 0=none)
limits (binary status of limits)
speed (current programmed movement speed)
axis 1..8 position data
digital output status
digital input status
relay status
cnc port #1 status
cnc port #2 status
:FINAL
Parameters: none
Returns: &+<status data>
This query provides the same functionality as the 'GET STATUS' command
except that it also internally resets all the Indexing table axis
positions. This command should be used instead of STATUS when you
use the data to save a position point in the software.
Each <status data> field is described below
booted (1=teach pendant performed startup)
remote (1=PC has control)
homed (1=robot has been hard homed)
estop (1=Emergency stop is triggered)
gripper (Gripper configuration 0=none)
channel7 (External Channel 7 configuration 0=none)
channel8 (External Channel 8 configuration 0=none)
limits (binary status of limits)
speed (current programmed movement speed)
axis 1..8 position data
digital output status
digital input status
relay status
cnc port #1 status
cnc port #2 status
:DEBUG
Parameters: none
Returns: <integer> + OK
This function returns the current debugging level. 0 is disabled.
:POS
Parameters: none
Returns: <axis1> <axis2> <axis3> <axis4> <axis5> <axis6> <axis7> <axis8> + OK
This function will return the current ACTUAL position of all the robot
axes.
:HOME
Parameters: none
Returns: <speed > <flags> <axis1> <axis2> <axis3> <axis4>
<axis5> <axis6> <axis7> <axis8> + OK
This function will return the current programmed position of the soft home
position. Calling SOFTHOME will send the robot to this location.
:PORT
Paramters: <port> <channel>
Returns: OK
Gets the specified <port>'s <channel> (1-8) as 1 (ON) or 0 (OFF)
0 = Digital Input, 1 = Digital Output, 2 = CNC Port 1,
3 = CNC Port 2, 4 = Relay
The relay port (4) only has 4 channels.
:TOTAL
Parameters: none
Returns: <integer>
This function returns a count of the number of points currently saved on the
teach pendant. Usually called before GET POINT to provide an upper bound.
:POINT
Parameters: <integer>
Returns: <speed > <flags> <axis1> <axis2> <axis3> <axis4>
<axis5> <axis6> <axis7> <axis8> + OK
Returns the parameters saved for a specified point in the teach pendant.
[SET]
:SET
DEBUG HOME ESTOP PORT OPTIONS
MONITOR TIME FILTER ECHO POINT
:DEBUG
Paramters: <integer>
Returns: OK
Set the debug log level. 0 is disabled. >0 dumps debugging information
to an attached display. <0 dumps debugging information to the attached
display and to a file called "debug.log" on the flash ram.
:HOME
Parameters: <speed> <axis1> <axis2> <axis3>
<axis4> <axis5> <axis6> <axis7> <axis8>
Returns: OK
Sets the programmed SOFT HOME position. The robot will move to this position
when the SOFTHOME command is executed.
:ESTOP
Parameters: none
Returns: OK or ERR
Resets the Emergency switch when it has been released.
:PORT
Paramters: <port> <channel> <ON|OFF>
Returns: OK
Sets the specified <port>'s <channel> (1-8) to ON or OFF. Some ports do not
allow you to change their values (Input) and ignore this command.
0 = Digital Input, 1 = Digital Output, 2 = CNC Port 1,
3 = CNC Port 2, 4 = Relay
The relay port (4) only has 4 channels.
:OPTIONS
Parameters: gripper <0..3> channel 7 <0..3> channel 8 <0..3>
Returns: OK or ERR
This function sets the configuration for the gripper and both external
channels in a single call. After this function is called, the robot
hardware is reset. The reset of the hardware may override these
values if it detects that a setting is incorrect.
:MONITOR
Parameters: <0..1>
Returns: OK
This command turns on or off the monitor interrupt from the controller.
While the monitor is active, any changes in the IO ports, limits or
emergency stop will trigger a '?' (status) message to the host. The
format of this message is the same as the return value for the '?'
command.
:TIME
Parameters: HH:MM MM/DD/YY
Returns: OK
This command allows you to set the time and data values for the internal
controller. This is mostly to allow you to correctly time/date stamp
any files that you save from the controller onto a diskette.
:FILTER
Parameters: motor <1..8> KP <long> KI <long> KD <long> IL <long>
Returns: OK
This is an ADVANCED feature that allows you to directly change the
PID integration constants for a selected LM629 controller.
:ECHO
Parameters: 1 or 0
Returns: OK
Turns the remote echoing of commands ON or OFF. This normally is OFF
when controlled by host software but is useful to turn on when directly
connected to the controller with terminal software.
:POINT
Parameters: <name> <speed > <flags>
<axis1> <axis2> <axis3> <axis4>
<axis5> <axis6> <axis7> <axis8>
Returns: OK
This command allows you to add a point to the firmware point list. The
point is always added to the end of the list unless the name of the point
is "HOME" in which case the values provided overwrite the current HOME
point settings.
[TEST]
:TEST
LM629
:LM629
Parameters: none
Returns: <status> + OK
This function will query and test each of the 8 LM629 DSP processors on the
robot controller and provide feedback information about their status and
any problems that are detected.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment