Difference between revisions of "Teach Pendant Operation Guide"

From SoftMC-Wiki
Jump to: navigation, search
m (Deadman Switch)
(BackToTop button)
 
(236 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
{{Languages|Teach_Pendant_Operation_Guide}}
 +
<div id="BackToTop"  class="noprint" style="background-color:; position:fixed; bottom:32px; left:95%; z-index:9999; padding:0; margin:0;">
 +
<span style="color:blue; font-size:8pt; font-face:verdana,sans-serif; border:0.2em outset:#ceebf7; padding:0.1em; font-weight:bolder; -moz-border-radius:8px; ">
 +
[[Image:TOP2.png|50px|link=#top]] </span></div>
 
= Overview =
 
= Overview =
 
   
 
   
The softTP is a teach pendant (TP) designed for use with softMC 3 and softMC 7 motion controllers and various types of robots,
+
The softTP is a teach pendant (TP) designed for use with softMC 3 and softMC 7 motion controllers and various types of robots, such as SCARA, PUMA and DELTA. The softTP allows operators to move the robot by means of jog keys, and to create and run complete robot programs written in MC-Basic.
such as SCARA, PUMA and Delta. The softTP allows operators to move the robot by means of jog keys, and to create and run complete robot programs written in MC-Basic.
 
 
   
 
   
 
The softTP touch screen interface enables quick and easy application development. The softTP software package also includes a
 
The softTP touch screen interface enables quick and easy application development. The softTP software package also includes a
 
full-featured emulator running on Windows/Linux.
 
full-featured emulator running on Windows/Linux.
  
[[Image:image001.png]]
+
[[Image:softTP_elements.png|softTP_elements.png]]
  
  
Line 16: Line 19:
 
* Operator
 
* Operator
 
* Programmer
 
* Programmer
* Administrator (not shown)
+
* Administrator
  
Each softTP user must login with a password for a specific permission level.
+
Each softTP user must login with a password for a specific permission level.  
 
   
 
   
 
The following table indicates the functions available to each user level.
 
The following table indicates the functions available to each user level.
  
                                                                             
+
{| border="1" cellpadding="2" cellspacing="0"
{| border="1"
+
 
 +
!width="280" bgcolor= A9A9A9|
 +
!colspan="4" bgcolor= A9A9A9|Permission Level
 +
 
 
|-
 
|-
 
|
 
Permission Level
 
  
+
!width="280"|
 +
!width="80"|Viewer
 +
!width="80"|Operator
 +
!width="80"|Programmer
 +
!width="80" bgcolor= A9A9A9|Admin
 +
 
 
|-
 
|-
|
+
|
|  
+
View main robot data.
Viewer
+
 
 +
|
 +
<center>x</center>
 +
 
 +
|
 +
<center>x</center>
  
+
|
|  
+
<center>x</center>
Operat
 
  
+
|bgcolor= A9A9A9|
|  
+
<center>x</center>
Program
 
  
 
 
|-
 
|-
|  
+
|
View main
+
Switch between TP screens.
robot data.
+
 
 +
|
 +
<center>x</center>
  
+
|
|  
+
<center>x</center>
x
 
  
+
|
|  
+
<center>x</center>
x
 
  
+
|bgcolor= A9A9A9|
|  
+
<center>x</center>
x
 
  
 
 
|-
 
|-
|  
+
|
Switch
+
View the status of digital IOs and error history.
between TP screens.
+
 
 +
|
 +
<center>x</center>
  
+
|
|  
+
<center>x</center>
x
 
  
+
|
|  
+
<center>x</center>
x
 
  
+
|bgcolor= A9A9A9|
|  
+
<center>x</center>
x
 
  
 
 
|-
 
|-
|  
+
|
View the
+
Start/stop certain processes (e.g., move?).
status of IOs and error history.
+
 
 +
|
 +
<center></center>
  
+
|
|  
+
<center>x</center>
x
 
  
+
|
|  
+
<center>x</center>
x
 
  
+
|bgcolor= A9A9A9|
|  
+
<center>x</center>
x
 
  
 
 
|-
 
|-
|  
+
|
Start/stop
+
Start/stop certain programs.
certain processes (e.g., move)
+
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center>x</center>
  
+
|
+
<center>x</center>
|  
 
x
 
  
+
|bgcolor= A9A9A9|
|  
+
<center>x</center>
x
 
  
 
 
|-
 
|-
|  
+
|
Start/stop
+
View data (variables) but not modify.
certain programs.
+
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center>x</center>
  
+
|
+
<center>x</center>
|  
 
x
 
  
+
|bgcolor= A9A9A9|
|  
+
<center>x</center>
x
 
  
 
 
|-
 
|-
|  
+
|
View data
+
View programs, but not modify.
(variables) but not modify.
+
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center>x</center>
  
+
|
+
<center>x</center>
|  
 
x
 
  
+
|bgcolor= A9A9A9|
|  
+
<center>x</center>
x
 
  
 
 
|-
 
|-
|  
+
|
View
+
Acknowledge errors.
programs, but not modify.
+
 
 +
|
 +
<center></center>
  
+
|
+
<center>x</center>
|  
 
x
 
  
+
|
|  
+
<center>x</center>
x
 
  
+
|bgcolor= A9A9A9|
 +
<center>x</center>
 
|-
 
|-
|  
+
|
Acknowledge
+
Enable the robot.
errors.
+
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center>x</center>
  
+
|
+
<center>x</center>
|  
 
x
 
  
+
|bgcolor= A9A9A9|
|  
+
<center>x</center>
x
 
  
 
 
|-
 
|-
|  
+
|
Enable the
+
Create and edit user programs (UPG/ULB).
robot.
+
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center></center>
  
+
|
+
<center>x</center>
|  
 
x
 
  
+
|bgcolor= A9A9A9|
|  
+
<center>x</center>
x
 
  
 
 
|-
 
|-
|  
+
|
Create and
+
Create and edit (teach) program variables.
edit user programs (UPG/ULB).
+
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center>x</center>
 +
 
 +
|bgcolor= A9A9A9|
 +
<center>x</center>
 +
 
 +
|-bgcolor= A9A9A9
 +
|
 +
Create and edit all types of MC Basic program files (PRG/LIB & UPG/ULB).  
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center>x</center>
 +
 
 +
|-bgcolor= A9A9A9
 +
|
 +
Change passwords of all user levels.
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center>x</center>
 +
 
 +
|-bgcolor= A9A9A9
 +
|
 +
Access the Terminal screen.
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center></center>
 +
 
 +
|
 +
<center>x</center>
  
+
|}
|
 
 
|
 
x
 
  
 
|-
 
|
 
Create and
 
edit (teach) program variables.
 
  
+
This document presents screens as seen by '''PROGRAMMER'''.
 
 
|
 
x
 
  
 
|}
 
 
=softTP Switches =
 
=softTP Switches =
 
   
 
   
Line 220: Line 273:
 
The switch has three positions: released, partially pressed, and fully pressed.
 
The switch has three positions: released, partially pressed, and fully pressed.
 
   
 
   
Motion and jogging commands can be issued from the softTP only when the teach pendent is in Manual mode, and the deadman switch is in the intermediate, partially-pressed position.
+
In Manual mode, motion and jogging commands can be issued from the teach pendant only when the deadman switch is in the intermediate, partially-pressed position.
 +
 
 +
If the deadman switch is released, or fully pressed, while axes are in motion, the motion stops automatically.
 +
 
 +
     
 +
 
 +
{| border="1" cellpadding="2" cellspacing="0"
 +
 
 +
!width="60"|Position
 +
!width="100"|State
 +
!width="380"|Description
  
If the deadman switch is released, or fully pressed, while axes are in motion, the motion stops automatically.
 
             
 
{| border="1"
 
 
|-
 
|-
|  
+
|[[File:deadman_1.jpg]]
[[Image:image002.jpg]]
+
|
 
+
'''Deadman Off'''
 
 
|  
 
|  
 
* Deadman switch is not pressed or is pressed too lightly.
 
* Deadman switch is not pressed or is pressed too lightly.
Line 235: Line 294:
 
* Switch is off.
 
* Switch is off.
 
* softTP cannot issue motion commands.
 
* softTP cannot issue motion commands.
 
 
|-
 
|-
 +
|[[File:deadman_2.jpg]]
 
|  
 
|  
[[Image:image003.jpg]]
+
'''Deadman On'''
 
 
 
 
|  
 
|  
 
* Deadman switch is pressed with normal pressure.
 
* Deadman switch is pressed with normal pressure.
Line 246: Line 303:
 
* Switch is on.
 
* Switch is on.
 
* softTP can issue motion commands.
 
* softTP can issue motion commands.
 
 
|-
 
|-
 +
|[[File:deadman_3.jpg]]
 
|  
 
|  
[[Image:image004.jpg]]
+
'''Deadman Off'''
 
 
 
|  
 
|  
 
* If deadman switch is pressed too hard.
 
* If deadman switch is pressed too hard.
Line 256: Line 312:
 
* Switch is off.
 
* Switch is off.
 
* softTP cannot issue motion commands.
 
* softTP cannot issue motion commands.
+
|}  
|}   
+
 
 +
 
 +
==Using Emulator==
 +
 
 +
Set in your browser the following address:
 +
<pre>
 +
http:<ip address>/tp/emulator
 +
</pre>
 +
 
 +
where <ip address> is the IP address of your softMC<br>
 +
 
 +
for example:
 +
<pre>
 +
http://10.4.20.148:1207/tp/emulator
 +
</pre>
 +
 
 
When using TP Emulator, the deadman switch status is represented by the on‑off vertical switch on the left side of the screen.
 
When using TP Emulator, the deadman switch status is represented by the on‑off vertical switch on the left side of the screen.
 
   
 
   
[[Image:image005.jpg|TP_Deadman.png]]
+
[[Image:TP_Emulator_Deadman.png|TP_Emulator_Deadman.png]]
  
 
==Emergency Stop ==
 
==Emergency Stop ==
 
Pressing the Emergency switch automatically powers off the
 
motors, stops motion and and disables the axes.
 
  
 +
Pressing the Emergency switch automatically powers off the motors, stops motion and and disables the axes.
 +
 +
If the robot is equipped with brakes, the brakes are activated.
 +
 +
==Mode Selector Switch ==
 
   
 
   
==Mode Selector Switch ==
+
The Mode Selector switch on the front of softTP has three positions: Manual, Automatic and External.
 
   
 
   
The Mode Selector switch on the front of softTP has three
+
If the mode setting is switched from Automatic to Manual while a program is running, program execution stops immediately.
positions: Manual, Automatic and External.
+
                 
 +
 
 +
{| border="1" cellpadding="2" cellspacing="0"
  
+
!width="100" bgcolor= A9A9A9|Mode
If the mode setting is switched from Automatic to Manual
+
!width="400" bgcolor= A9A9A9|Description
while a program is running, program execution stops immediately.
 
  
                 
 
{| border="1"
 
 
|-
 
|-
 +
|
 +
'''Manual'''
 
|  
 
|  
Mode
+
Left position.
  
+
Manual mode is used for jogging the axes.
|
 
Description
 
  
+
When in Manual mode, the robot velocity is reduced and the user cannot issue run commands or edit programs.
 
|-
 
|-
 
|  
 
|  
Manual
+
'''Automatic'''
 
 
 
 
|  
 
|  
Left
+
Middle position.
position.
 
  
+
Automatic mode is used for editing/running programs.
Manual
 
mode is used for jogging the axes.
 
  
+
When in Automatic mode, the axes cannot be jogged.
When
 
in Manual mode, the robot velocity is reduced and the user cannot issue run
 
commands or edit programs.
 
 
 
 
 
|-
 
|-
 
|  
 
|  
Automatic
+
'''External'''
 
 
 
 
|  
 
|  
Middle
+
Right position.
position.
 
  
+
When in External mode, the softTP does not control the robot.
Automatic
+
|} 
mode is used for editing/running programs.
 
  
 
When
 
in Automatic mode, the axes cannot be jogged.
 
  
+
When using TP Emulator, the mode switch status is represented by the horizontal switch on the top left of the screen.
|-
 
|
 
External
 
  
+
[[Image:TP_Mode.png|TP_Mode.png |200px]]
|  
 
Right
 
position.
 
  
 +
=Interface Elements =
 
   
 
   
When
+
== Toolbar ==
in External mode, the softTP does not control the robot.
 
  
+
[[Image:softTP toolbar 4.1.jpg]]
|} 
 
When using TP Emulator, the mode switch status is
 
represented by the horizontal switch on the top left of the screen.
 
  
 
[[Image:image006.jpg|TP_Mode.png]]
 
  
= 4            Interface Elements =
 
 
== 4.1        Toolbar ==
 
 
[[Image:image007.jpg|TP_toolbar.png]]
 
  
                                           
 
{| border="1"
 
|-
 
|'''<br> ''' 
 
|
 
Toolbar
 
  
+
{| border="1" cellpadding="2" cellspacing="0"
|  
 
Description
 
  
+
!width="60" bgcolor = A9A9A9|
|-
+
!width="100" bgcolor = A9A9A9|Toolbar
|  
+
!width="340" bgcolor = A9A9A9|Description
[[Image:image008.png|1.png]]
 
  
+
|-
 +
|
 +
[[Image:1.png|1.png]]
 
|  
 
|  
Logout
+
'''Logout'''
 
 
 
 
|  
 
|  
 
Exits the TP Emulator.
 
Exits the TP Emulator.
 
 
 
|-
 
|-
 
|  
 
|  
[[Image:image009.png|2.png]]
+
[[Image:2.png|2.png]]
 
 
 
 
|  
 
|  
TP
+
'''TP Operation Mode'''
Operation Mode
 
 
 
 
 
|  
 
|  
Indicates the teach pendant’s current operation control
+
Indicates the teach pendant’s current operation control mode, as defined by the mode selector switch.  
mode, as defined by the mode selector switch.
 
 
 
 
 
|-
 
|-
 
 
|  
 
|  
Text
+
|
box
+
'''Text box'''
 
 
 
 
|  
 
|  
 
Message field for system notifications.
 
Message field for system notifications.
 
 
 
|-
 
|-
 
|  
 
|  
[[Image:image010.png|4.png]]
+
[[Image:4.png|4.png]]
 
 
 
 
|  
 
|  
Axes
+
'''Axes in Motion'''
in Motion
 
 
 
 
 
|  
 
|  
Indicates state of the axes:
+
Indicates state of the axes:<br>
 
+
Red: Axes are stopped.<br>
 
Red: Axes are stopped.
 
 
 
 
 
Green (spinning): One or more axes in motion.
 
Green (spinning): One or more axes in motion.
 
 
 
|-
 
|-
 
|  
 
|  
[[Image:image011.png|5.png]]
+
[[Image:5.png|5.png]]
 
 
 
 
|  
 
|  
Primary
+
'''Primary TP'''
TP
 
 
 
 
 
|  
 
|  
Indicates that the teach pendant in use is the
+
Indicates that the teach pendant in use is the primary TP, if other TPs are connected.
primary TP, if other TPs are connected.<br>
 
 
(Not currently implemented)
 
(Not currently implemented)
  
 
 
|-
 
|-
 
|  
 
|  
[[Image:image012.png|6.png]]
+
[[Image:6.png|6.png]]
 
 
 
 
|  
 
|  
Collapse/Expand
+
'''Collapse/Expand'''
 
 
 
 
|  
 
|  
Hides/shows the menu bar, to provide additional
+
Hides/shows the menu bar, to provide additional screen space for program lines.
screen space for program lines.
 
 
 
 
 
|-
 
|-
 
|  
 
|  
[[Image:image013.png|7.png]]
+
[[Image:7.png|7.png]]
 
+
|
+
'''Enable | Disable'''
 
|  
 
|  
Enable | Disable
+
Enables and disables all axes, and indicates the state of the axes.<br>
 +
Red: All axes disabled.<br>
 +
Green: All axes enabled.
  
+
|}
|  
 
Enables and disables all axes, and indicates the
 
state of the axes.
 
  
 +
==Menu Bar ==
 
   
 
   
Red: All axes disabled.
+
The menu bar provides access to the eight softTP screens.
 
 
 
   
 
   
Green: All axes enabled.
+
[[Image:menuBar 4.2.jpg|menuBar 4.2.jpg |500px]]
  
 
|} 
 
== 4.2        Menu Bar ==
 
 
The menu bar provides
 
access to the eight softTP screens.
 
  
+
{| border="1" cellpadding="2" cellspacing="0"
[[Image:image014.jpg|TP_toolbar_Programmer.png]]
 
  
                                 
+
!width="80" bgcolor= A9A9A9|'''Screen'''
{| border="1"
+
!width="420" bgcolor= A9A9A9 align="left"|'''Function'''
 
|-
 
|-
|  
+
|
Screen
+
'''Jog'''
 
+
|
+
Used to select the type of robot, and jog the robot/axes in the user-defined frame.<br>
|  
+
Displays current robot position in Cartesian and joint coordinates. Used to '''teach/set''' new points, and '''move(s)''' to a predefined point.<br>
Function
+
Provides '''tool-calibration''', and '''align''' functionality.
 
 
 
 
|-
 
|-
 
 
|  
 
|  
Used
+
'''Program'''
to select the type of robot, and jog the robot/axes in the user-defined frame.
+
|
 
+
Used to create, edit, run and debug MC‑Basic programs.
 
Displays
 
current robot position in Cartesian and joint coordinates. Used to teach/set
 
new points, and move(s) to a predefined point.
 
 
 
 
Provides
 
tool-calibration, and align functionality.
 
 
 
 
 
|-
 
|-
|
+
|
|  
+
'''Data'''
Used
+
|
to create, edit, run and debug MC‑Basic programs.
+
Used to create, edit, run and debug MC-Basic programs.
 
 
 
 
|-
 
|-
 
|   
 
|   
 +
'''IO'''
 +
|
 +
Used to monitor and switch system digital inputs and outputs.
 +
|-bgcolor=D9D9D9
 
|  
 
|  
Used
+
'''Terminal'''
to add and edit variables attached to the selected domain.
+
|
 
+
Allows command line entry of MC Basic commands.
+
Accessible to Administrator-users only.
|-
+
|-  
|
+
|
 +
'''Diagnostics'''
 
|  
 
|  
Used
+
Displays settings and status of configured axes and devices.
to monitor and switch system digital inputs and outputs.
 
 
 
 
 
|-
 
|-
 
|  
 
|  
Diagnostics
+
'''Errors'''
 
 
 
 
|  
 
|  
Displays
+
Displays the log of faults in the softMC motion controller.
settings and status of configured axes and devices.
 
 
 
 
 
|-
 
|-
 
|  
 
|  
Errors
+
'''Settings'''
 
 
 
 
|  
 
|  
Displays
+
Displays system software components and versions.
the log of faults in the softMC motion controller.
+
|-bgcolor=D9D9D9
 
+
|
 +
'''settings'''
 +
|
 +
Allows setting of stystem variables.  
 +
Accessible to Administrator-users only.
 
   
 
   
|-
+
|}
|
+
<br/>
s
 
  
 +
==Jog Keys ==
 
   
 
   
|
+
[[Image:jog_keys_4.3.1.jpg]] [[Image:jog_keys_4.3.2.jpg]]
Displays
 
system software components and versions.
 
  
 
|} 
 
==Jog Keys ==
 
 
[[Image:image015.jpg|JogKeys.png]]        [[Image:image016.png|9-jogkeys.png]]
 
  
+
When '''Frame''' is set to Joint, keys are labeled according to axes: J1, J2, J3, and so on.
When Frame is set to Joint, keys are labeled according to
 
axes: J1, J2, J3, and so on.
 
  
+
When '''Frame''' is set to Base, Tool or World, keys are labeled according to Cartesian coordinates: X, X, Z, Yaw, Pitch, Roll.
When Frame is set to Base, Tool or World, keys are labeled
 
according to Cartesian coordinates: X, X, Z, Yaw, Pitch, Roll.
 
  
 
 
 
=Domains =
 
=Domains =
 
   
 
   
Domains serve to separate data from programs, thereby
+
Domains serve to separate data from programs, thereby allowing manipulation of program data (variables) without affecting program
allowing manipulation of program data (variables) without affecting program
 
 
code.
 
code.
 
 
   
 
   
Every program is associated with a domain. In MC-Basic,
+
Every program is associated with a domain. In MC-Basic, domains are implemented by a '''namespace feature of the MC-Basic language'''. (Refer
domains are implemented by a namespace feature of the MC-Basic language. (Refer
 
 
to: http://softmc.servotronix.com/wiki/Namespace).
 
to: http://softmc.servotronix.com/wiki/Namespace).
 +
 +
All variables of a given domain are automatically saved to a separate file on the softMC disk after they are created or updated.
 +
 +
The softTP provides three system domains for certain data, which do not have associated program files.
  
+
Every project has automatically associated domain of the same name.
All variables of a given domain are automatically saved to
 
a separate file on the softMC disk after they are created or updated.
 
  
 
The softTP provides three system domains for certain data,
 
which do not have associated program files: TP, Base and Tool.
 
  
 
   
 
   
Whenever a project is created from the softTP, an
+
== TP Domain ==
associated domain with the same name as the project is generated.
 
 
 
 
   
 
   
== 5.1        TP Domain ==
+
'''TP''' variables are not assigned to a particular program or project.
 
   
 
   
TP variables are not assigned to a particular project or
+
They can be used freely as auxiliary variables for debugging and other functions.
program.
 
  
 
They can be used freely as auxiliary variables for debugging
 
and other functions.
 
  
 +
==Base Domain ==
 
   
 
   
==Base Domain ==
+
'''Base''' variables are not assigned to any program and are used to store the '''base''' property values used by the selected robot.
 
   
 
   
Base variables are not assigned to any program and are
+
It is recommended that variables in this domain use the naming format BASE1, BASE2, and so on.
used to store the base property values used by the selected robot.
 
  
 
It is recommended that variables in this domain use the
 
naming format BASE1, BASE2, and so on.
 
  
 
 
==Tool Domain ==
 
==Tool Domain ==
 
   
 
   
Tool variables are not assigned to any program and are
+
'''Tool''' variables are not assigned to any program and are used to store the '''tool''' property values used by the selected robot.
used to store the tool property values used by the selected robot.
 
 
 
 
   
 
   
It is recommended that variables in this domain use the
+
It is recommended that variables in this domain use the naming format TOOL1, TOOL2, and so on.
naming format TOOL1, TOOL2, and so on.
 
  
 
 
 
=Jog Screen =
 
=Jog Screen =
 
   
 
   
The Jog screen is the main screen for working with the
+
The Jog screen is the main screen for working with the robot.
robot.
+
* It displays the current robot joint and Cartesian coordinates.
 
+
* It enables user to teach/set new points, move(s) to a predefined point.
 +
* It provides tool calibration and align functionality.
 
   
 
   
It displays the current robot joint and Cartesian
+
[[Image:TP_Jog.png|TP_Jog.png |500px]]
coordinates.
 
 
 
 
It enables user to teach/set new points, move(s) to a
 
predefined point.
 
 
 
 
It provides tool calibration and align functionality.
 
 
 
 
[[Image:image017.png|TP_Jog.png]]
 
  
 
   
 
   
 
==Frames ==
 
==Frames ==
 
   
 
   
softTP supports four jog frames: Joint, Base, Tool, World XYZ,
+
softTP supports five jog frames: Joint, Base, Tool, World XYZ,and World ZYZ.
and World ZYZ.
 
 
 
 
n Joint
 
frame is used for jogging the individual robot axes: J1 … J6.
 
 
 
 
   
 
   
n Base,
+
* Joint frame is used for jogging the individual robot axes: J1 … J6.
Tool and World frames represent Cartesian frames. When one of these frames is
+
* Base, Tool and World frames represent Cartesian frames. When one of these frames is selected, jogging is in XYZ coordinates and in the corresponding orientation axes:
selected, jogging is in XYZ coordinates and in the corresponding orientation
+
** Base and Tool frames allow jogging of X, Y, Z, Yaw, Pitch and Roll.
axes:
+
:: Note that the default Euler-Angle representation of Yaw-Pitch-Roll is a ZYZ rotation sequence only.
 
+
:* World frame has two modes: ZYZ and XYZ.
+
:: ZYZ is the default mode; it has standard orientation angles as Yaw-Pitch-Roll of a ZYZ rotation sequence.
n Base
+
:: XYZ is an alternative mode; it has non-standard orientation angles as Rx-Ry-Rz of an XYZ rotation sequence.
and Tool frames allow jogging of X, Y, Z, Yaw, Pitch and Roll.
+
: In MC-Basic, Base, Tool and World frames are considered location data types.
 
 
 
Note that the default Euler-Angle representation of
 
Yaw-Pitch-Roll is a ZYZ rotation sequence only.
 
 
 
 
n World
 
frame has two modes: ZYZ and XYZ.
 
 
 
 
ZYZ is the default mode; it has standard orientation
 
angles as Yaw-Pitch-Roll of a ZYZ rotation sequence.
 
 
 
 
XYZ is an alternative mode; it has non-standard
 
orientation angles as Rx-Ry-Rz of an XYZ rotation sequence.
 
 
 
 
In MC-Basic, Base, Tool and World frames are
 
considered location data types.
 
 
 
 
    
 
    
A Cartesian-frame (for PUMA robot) is a 6-dimensional
+
A Cartesian robot frame (for PUMA robot) is a 6-dimensional Cartesian coordinate system in which the robot tool tip position and orientation are defined.
Cartesian coordinate system in which the robot tool tip position and
 
orientation are defined.
 
 
 
 
The frame is defined using MC-Basic robot properties: &lt;robot&gt;.base
 
and &lt;robot&gt;.tool
 
 
 
 
For a PUMA robot both properties are in the form
 
X-Y-Z-Yaw-Pitch-Roll.
 
 
 
 
The Frame option in the Jog screen allows you to select a
 
different frame for jogging in. You can set different frame parameters (values)
 
in various ways; for example:
 
 
 
 
n By
 
using Teach option to teach them directly – this is commonly done for Base.
 
 
 
 
n By
 
using Tool Calibration options – this is commonly done for Tool.
 
 
 
 
Define the Cartesian frames by naming them (e.g., BASE1,
 
BASE2, ….) and then setting their values (teaching or calibrating).
 
  
 +
For a PUMA robot both Base and Rtool frames are in the form X-Y-Z-Yaw-Pitch-Roll.
 
   
 
   
Note that users can define frames for Base and Tool only.
+
The Frame option in the Jog screen allows you to select a different frame for jogging in. You can set different frame parameters (values) in various ways; for example:
 +
* By using Teach option to teach them directly – this is commonly done for Base.
 +
* By using Tool Calibration options – this is commonly done for Tool.
 +
<br/>
  
 
 
 
==Teaching Points ==
 
==Teaching Points ==
 
   
 
   
Positions are taught in the Jog screen, and defined in
+
Positions are taught in the Jog screen, and defined in either Joint or Cartesian coordinates.
either Joint or Cartesian coordinates.
 
 
 
 
Before teaching a point, you must first create a Location
 
or a Joints position in the Data screen. Be sure the position is attached to
 
the appropriate Domain.
 
 
 
 
   
 
   
In the Jog screen, make sure Domain and Frame are set
+
Before teaching a point, you must first create a Location or a Joints position in the Data screen. Be sure the position is attached to the appropriate Domain.  
accordingly.
 
  
 +
In the Jog screen, make sure Domain and Frame are set accordingly.
 
   
 
   
Use the Teach button to set position coordinates
+
Use the Teach button to set position coordinates automatically, or enter position values manually.
automatically, or enter position values manually.
 
  
+
[[Image:TP_Jog_Teach.png|TP_Jog_Teach.png |500px]]
[[Image:image018.jpg|TP_Jog_Teach.png]]
 
  
 
                                                
 
                                                
{| border="1"
+
{| border="1" cellpadding="2" cellspacing="0"
|-
 
|
 
Setting
 
  
+
!width="80" |Setting
|  
+
!width="200" |Description
Description
 
  
 
 
|-
 
|-
 
|  
 
|  
 
Robot
 
Robot
 
 
 
|  
 
|  
The specific
+
The specific type of robot or axis for movement or position teaching.
type of robot or axis for movement or position teaching.
 
 
 
 
 
|-
 
|-
 
|  
 
|  
 
Frame
 
Frame
 
 
 
|  
 
|  
n Movement in the Z, Y, or Z
+
Cartesian (Tool, Base and World): Linear movement along X, Y and Z directions, angular motion around a static XYZ coordinate.
direction is parallel to an axis of the Base coordinate system.
 
 
 
 
n Tool: Movement in the X, Y, or
 
Z direction is along an axis of the Tool coordinate system.
 
 
 
 
n World ZYZ: Movement in the Z,
 
Y, or Z direction is parallel to an axis of the World coordinate system.
 
 
 
 
n World XYX: Movement in the X,
 
Y, or Z direction is parallel to an axis of the World coordinate system.
 
 
 
 
n Joint: Movement of the axis of
 
the specified joint
 
 
 
 
 
|-
 
|-
 
|  
 
|  
 
Tool
 
Tool
 
 
 
|  
 
|  
Used
+
Used for selecting the actual tool:
for selecting the actual tool:
+
* Null Tool: No tool attached
 
+
* Tool1, Tool2, Tool3, Tool4: Uses predefined values   
 
n Null Tool: No tool attached
 
 
 
 
n Tool1, Tool2, Tool3, Tool4:
 
Uses predefined values
 
 
 
   
 
 
|-
 
|-
 
|  
 
|  
 
Base
 
Base
 
 
 
|  
 
|  
Used
+
Used for selecting the actual base:
for selecting the actual base:
+
* Null Base – No base selected  
 
+
* Base1, Base2, Base3, Base4: Uses predefined values
 
n Null Base – No base selected
 
 
 
 
n Base1, Base2, Base3, Base4:
 
Uses predefined values
 
 
 
 
 
|-
 
|-
 
|  
 
|  
 
Domain
 
Domain
 
 
 
|  
 
|  
Used
+
Used for selecting the domain:
for selecting the domain:
+
* The system domain: TP, Base, Tool
 
+
* The domain of a loaded project.
 
n The system domain: TP, Base, Tool
 
 
 
 
n The domain of a loaded project.
 
 
 
 
 
|-
 
|-
 
|  
 
|  
 
Speed
 
Speed
 
 
 
|  
 
|  
Slider
+
Slider to increase/decrease the jogging speed, as a percentage of the maximum speed.
to increase/decrease the jogging speed, as a percentage of the maximum speed.
 
 
 
 
 
|-
 
|-
 
|  
 
|  
 
X
 
X
  
 
 
Y
 
Y
  
 
 
Z
 
Z
  
+
Yaw&nbsp;(Rx)
Yaw
 
(Rx)
 
  
+
Pitch&nbsp;(Ry)
Pitch
 
(Ry)
 
  
+
Roll&nbsp;(Rz)
Roll
 
(Rz)
 
  
 
 
|  
 
|  
Displays
+
Displays the Cartesian coordinates of the robot even when operating in Joint mode.
the Cartesian coordinates of the robot even when operating in Joint mode.
 
 
 
 
 
|-
 
|-
 
|  
 
|  
 
Teach
 
Teach
 
 
 
|  
 
|  
Used
+
Used to define the values (Joint or Cartesian) to be taught.  
to define the values (Joint or Cartesian) to be taught.
+
Enter position values manually, or press Teach.
 
+
|-
+
|
Enter
+
Move
position values manually, or press Teach.
+
|
 
+
Generates joint interpolated motion to the specified target
+
|-
 +
|
 +
Moves
 +
|
 +
Generates Cartesian interpolated motion (straight line) to the specified target.
 
|-
 
|-
 
|  
 
|  
Tool
+
Tool&nbsp;Align
Align
 
 
 
 
 
|  
 
|  
Aligns
+
Aligns the Tool X, Y or Z direction with the nearest World axis, while the tool tip remains in position
the Tool X-, Y- or Z-axis with the nearest World axis.
 
 
 
 
 
|-
 
|-
 
|  
 
|  
 
Tool Calibrate
 
Tool Calibrate
 
 
 
|  
 
|  
Two
+
Two methods for calibrating the tool:
methods for calibrating the tool:
+
* Multi-point calibration: Move the robot to a number of points. After recording 4 points, click Calibrate. The new computed tool is automatically assigned after the procedure.
 
+
* Single point calibration: Go to point once without tool and once with tool. The new computed tool is automatically assigned after the procedure.
+
|}<br/>
n Multi-point calibration: Move
 
the robot to a number of points. After recording 4 points, click Calibrate.
 
  
 +
=Program Screen =
 
   
 
   
n Single point calibration: Go to
+
The Program screen is used for creating, editing, running and debugging MC‑Basic programs.
point once without tool and once with tool.
 
 
 
 
|}
 
= 7            Program Screen =
 
 
The Program screen is used for creating, editing, running
 
and debugging MC‑Basic programs.
 
  
+
The file extensions *.UPG  user programs and *.ULB for user libraries are used to distinguish user programs from general system programs and settings.  
The file extensions *.UPG  user programs and *.ULB for
 
user libraries are used to distinguish user programs from general system
 
programs and settings.
 
  
+
Administrator level users can access and manipulate both global (*.PRG/*.LIB) and user (*.UPG/*.ULB) programs and libraries.
Administrator level users can access and manipulate both
 
global (*.PRG/*.LIB) and user (*.UPG/*.ULB) programs and libraries.
 
  
+
Programmer level users can create/edit/run/debug user programs only (*.UPG) and user libraries only (*.ULB).
Programmer level users can create/edit/run/debug user
 
programs only (*.UPG) and user libraries only (*.ULB).
 
  
+
'''Projects''' created by programmer level users generate four files:
Projects created by Programmer level users generate a
 
number of files:
 
  
         
+
{|
{| border="1"
+
!width= "100"|'''''name''.UPG'''
 +
|
 +
The main user task.
 
|-
 
|-
|  
+
!width= "100"|'''''name''.ULB'''
name.UPG
+
|
 +
The library containing the functions and subroutines used in the main user task.
 +
|- bgcolor = D9D9D9
 +
!width= "100"|'''''name''.DEF'''
 +
|
 +
The declarations of all domain variables. (not visible by the user)
 +
|- bgcolor = D9D9D9
 +
!width= "100"|'''''name''.VAR'''
 +
|
 +
The currently defined values of the domain variables. (not visible by the user)
  
+
|}
|  
 
The main user task.
 
  
+
A project is set of files with same names but different extension (e.g. TASK.UPG, TASK.ULB, TASK.DEF and TASK.VAR.) Non-Admin users only see files with the extensions UPG and ULB.  
|-
 
|
 
name.ULB
 
  
+
[[Image: program screen 7.1.jpg|program screen 7.1.jpg|500px]]
|  
 
The library containing the functions and subroutines used
 
in the main user task.
 
  
 
|} 
 
A project is set of files with same names but different
 
extension (e.g. TASK.UPG, TASK.ULB, TASK.DEF and TASK.VAR. Non-Admin users only
 
see files with the extensions UPG and ULB.
 
  
 
[[Image:image019.jpg|TP_Program.png]]
 
  
                                                                                             
 
{| border="1"
 
|-
 
|
 
Setting
 
  
+
{| border="1" cellpadding="2" cellspacing="0"
|  
+
!width="110" bgcolor = A9A9A9|'''Setting'''
Description
+
!width="300" bgcolor = A9A9A9|'''Description'''
  
+
|- bgcolor= E9E9E9
|-
+
|
|  
+
'''Project (File) Mode'''
Project
 
Mode
 
  
+
|
|  
 
 
PROGRAMMER
 
PROGRAMMER
 
 
 
|-
 
|-
|  
+
|
Open
+
'''Open Project'''
Project
+
|
 
+
Opens an existing project.
 
|  
 
Opens
 
an existing project.
 
  
 
 
|-
 
|-
|  
+
|
New
+
'''New Project'''
Project
+
|
 +
Opens a new project.<br>
 +
When prompted for a name, enter up to 8 characters.<br>
 +
When a new project is created, a user program and user library of the same name are also created.
  
+
|- bgcolor = E9E9E9
|  
+
|
Opens
+
'''File Mode'''
a new project. 
+
|
 +
ADMINISTRATOR
  
+
|- bgcolor = E9E9E9
When
+
|
prompted for a name, enter up to 8 characters.
+
'''Open File'''
 +
|
 +
Opens an existing file.
  
+
|- bgcolor = E9E9E9
When a
+
|
new project is created, a user program, a user library, and a domain of the
+
'''New File'''
same name are also created.
+
|
 +
Open a new file.
  
 
 
|-
 
|-
|  
+
|
Load
+
'''Load'''
  
+
|
|  
+
Loads a program and associated library from the softMC flash memory to the softMC RAM so that the program can be executed.
Loads
 
a program and associated library from the softMC flash memory to the softMC
 
RAM so that the program can be executed.
 
  
 
 
|-
 
|-
|  
+
|
Unload
+
'''Unload'''
  
+
|
|  
+
Unloads a program/library from the softMC RAM so that they can be edited.
Unloads
 
a program/library from the softMC RAM so that they can be edited.
 
  
 
 
|-
 
|-
|  
+
|
Kill
+
'''Kill'''
  
+
|
|  
+
Aborts execution of a running program.
Aborts
 
execution of a running program.
 
  
 
 
|-
 
|-
|  
+
|
Idle
+
'''Idle'''
  
+
|
|  
+
Stops the program at the end of the line currently being executed.  
Stops
 
the program at the end of the line currently being executed.
 
  
 
 
|-
 
|-
|  
+
|
Run
+
'''Run'''
  
+
|
|  
+
Starts execution of the program.
Starts
 
execution of the program.
 
  
 
 
|-
 
|-
|  
+
|
Jump to Line
+
'''Jump to Line'''
  
+
|
|  
+
Jump to a line in current program.
Jump
 
to a line in current program.
 
  
 
 
|-
 
|-
|  
+
|
Step
+
'''Step Over'''
Over
 
  
+
|
|  
+
Skip over the subroutine.
Skip
 
over the subroutine.
 
  
 
 
|-
 
|-
|  
+
|
Step
+
'''Step Into'''
Into
 
  
+
|
|  
+
Step into the subroutine.
Step
 
into the subroutine.
 
  
 
 
|-
 
|-
|  
+
|
Step
+
'''Step Out'''
Out
+
 
 +
|
 +
Exit the subroutine.
  
+
|- bgcolor= E9E9E9
|  
+
|
Exit
+
'''Edit Mode'''
the subroutine.
+
|
 +
Provides the code syntax for commonly used instructions, including prompts for the data required for completing the code line/s.
  
 
 
|-
 
|-
|  
+
|
Program
+
'''Program'''
 
+
|
+
Instructions for defining subroutines and functions. <br>
|  
 
Instructions for defining
 
subroutines and functions.
 
 
 
 
 
* Sub ... End Sub
 
* Sub ... End Sub
 
* Function
 
* Function
Line 1,133: Line 855:
 
* Call
 
* Call
  
 
 
|-
 
|-
|  
+
|
Flow Commands
+
'''Flow Commands'''
 
+
|
+
Instructions used to change the flow of a program based on specific conditions.<br>
|  
 
Instructions used to change the
 
flow of a program based on specific conditions.
 
 
 
 
 
* If ... Then ... Else ... End If
 
* If ... Then ... Else ... End If
 
 
* While ... End While
 
* While ... End While
 
 
* For ... Next
 
* For ... Next
 
 
* Select Case … End Select
 
* Select Case … End Select
 
 
* Sleep
 
* Sleep
  
 
 
|-
 
|-
|  
+
|
Interpolation
+
'''Interpolation'''
 +
|
 +
* Move
 +
* MoveS
 +
* Circle (P2P)
 +
* Circle (Angle)
 +
* DoPass
  
 
|
 
n Move
 
 
 
n MoveS
 
 
 
n Circle (P2P)
 
 
 
n Circle (Angle)
 
 
 
n DoPass
 
 
 
 
|-
 
|-
|  
+
|
Motion Commands
+
'''Motion Commands'''
 
+
|
+
* Stop
|  
+
* WaitForMotion
n Stop
+
* Delay
 
+
* Enable
 
n WaitForMotion
 
 
 
 
n Delay
 
  
 
n Enable
 
 
 
 
|-
 
|-
|  
+
|
I/O
+
'''I/O'''
 +
|
 +
* Inputs
 +
* Outputs
  
+
|- bgcolor = E9E9E9
|  
+
|
n Inputs
+
'''Project Manager'''
 +
|
 +
PROGRAMMER
  
+
|- bgcolor = E9E9E9
n Outputs
+
|
 +
'''File Manager'''
 +
|
 +
ADMINISTRATOR
  
 
 
|-
 
|-
|  
+
|
Project
+
[Project/File list]
Manager
+
|
  
 
|
 
PROGRAMMER
 
 
 
 
|-
 
|-
|  
+
|
[Project/File
+
'''Delete'''
list]
+
|
 +
Deletes selected project.
  
 
 
 
|-
 
|-
|  
+
|
Delete
+
'''Save As'''
 +
|
 +
saves a copy of current project using a new name.
  
 
|
 
Deletes
 
selected project.
 
 
 
 
|-
 
|-
|  
+
|
Save
+
'''Rename'''
As
+
|
 
+
Rename the current project.
 
|
 
Saves
 
a copy of current project using a new name.
 
 
 
 
|-
 
|  
 
Rename
 
 
 
 
|
 
Renames
 
the current project.
 
  
+
|}
|}  
 
= 8            Data Screen =
 
 
The Data screen is used for creating and editing variables
 
in the domain that is currently selected.
 
  
 +
= Data Screen =
 
   
 
   
Variables can be robot positions or any other data type
+
The Data screen is used for creating and editing '''variables''' in the domain that is currently selected.
supported in MC‑Basic, such as long, double and string.
 
  
 +
Variables can be robot positions or any other data type that is supported in MC‑Basic, such as long, double and string.
 
   
 
   
[[Image:image020.jpg|TP_Data2.png]]
+
[[Image:data screen 8.1.jpg|data screen 8.1.jpg |500px]]
 
 
 
    
 
    
Select the domain, and the type of variable, then click
+
Select the domain, and the type of variable, then click the + button to create a variable.
the + button to create a variable.
 
 
 
 
   
 
   
 
A dialog box opens according to type of variable.
 
A dialog box opens according to type of variable.
 
 
   
 
   
 
Enter values.
 
Enter values.
 
 
                                
 
                                
{| border="1"
+
{| border="1" cellpadding="2" cellspacing="0"
|-
+
|- bgcolor = A9A9A9
 
|  
 
|  
Setting
+
'''Setting'''
 
 
 
 
|  
 
|  
Description
+
'''Description'''
 
 
 
 
|-
 
|-
 
|  
 
|  
Locations
+
'''Locations'''
 
 
 
 
|  
 
|  
World/Cartesian
+
World/Cartesian positions. <br>
positions.  
+
[[Image:data_addnewlocation_1.jpg‎]] [[Image:data_addnewlocation_2.jpg]] <br>
 
+
[[Image:data_addnewlocation_3.jpg]]<br>
+
Checkbox - to select (for deletion)
 +
 
 
|-
 
|-
 
|  
 
|  
Joints
+
'''Joints'''
 
 
 
 
|  
 
|  
Joint
+
Joint positions.<br>
positions.
+
[[Image:data_joints.jpg‎]]
  
 
 
|-
 
|-
 
|  
 
|  
Longs
+
'''Longs'''
 
 
 
 
|  
 
|  
Numeric
+
Numeric variable: 32-bit integer.<br>
variable: 32-bit integer.
+
[[Image:data_longs.jpg]]
  
 
 
|-
 
|-
 
|  
 
|  
Doubles
+
'''Doubles'''
 
 
 
 
|  
 
|  
Numeric
+
Numeric variable: 64-bit floating point.<br>
variable: 64-bit floating point.
+
[[Image:data_longs.jpg]]
  
 
 
|-
 
|-
 
|  
 
|  
Strings
+
'''Strings'''
 
 
 
 
|  
 
|  
ASCII
+
ASCII or UTF-8 string. Length is unlimited.
or UTF-8 string. Length is unlimited.
+
[[Image:data_strings.jpg‎]]
  
 
 
|-
 
|-
 
|  
 
|  
Domain
+
'''Domain'''
 
 
 
 
|  
 
|  
Either
+
Tp, Base or Tool.
a system domain (TP, Base, Tool) or a user-defined project domain.
 
  
+
|}
|}  
 
  
 
=I/O Screen =
 
=I/O Screen =
 
   
 
   
Allows monitoring of the system inputs and outputs, and toggling of outputs.
+
Allows user to monitor the status of system inputs and outputs, and to toggle outputs.
  
 
IO names are defined in DAT files (TPIN.DAT and TPOUT.DAT).
 
IO names are defined in DAT files (TPIN.DAT and TPOUT.DAT).
Line 1,358: Line 1,002:
 
This screen is updated in realtime.
 
This screen is updated in realtime.
 
   
 
   
[[Image:image021.jpg|TP_IOs.png]]
+
[[Image:IO screen 9.1.jpg|IO screen 9.1.jpg |500px]]
 +
 
 +
 
 +
 
 +
{|border="1" cellpadding="2" cellspacing="0"
 +
!width = "100" bgcolor= A5A5A5|'''Setting'''
 +
!width = "350" bgcolor = A5A5A5| '''Description'''
 +
|-
 +
|
 +
'''Name'''
 +
|
 +
|-
 +
|
 +
'''Description'''
 +
|
 +
|-
 +
|
 +
'''State'''
 +
|
 +
|-
 +
|
 +
'''Device'''
 +
|
 +
|}
 +
 
 +
= Terminal Screen=
 +
 
 +
 
 +
The Terminal screen is accessible to Admin users only.<br>
 +
Terminal is a command line interface to the softMC. It allows user to send instructions to the drive, and read the drive’s responses.
 +
 
  
 
+
 
= 10      Diagnostics Screen =
+
[[Image: terminal screen 10.1.jpg]]
 +
 
 +
= Diagnostics Screen =
 
   
 
   
 
Two views. Devices and Master.
 
Two views. Devices and Master.
  
Shows status and properties of the devices and the motion bus in the system.
+
Shows status and properties of the devices and the Motion-bus in the system.
  
+
 [[Image:TP_Diagnostics_motors.png|TP_Diagnostics_motors.png |500px]]
 [[Image:image022.jpg|TP_Diagnostics_motors2.png]]
 
  
 
 
 
= Errors Screen =
 
= Errors Screen =
 
   
 
   
Line 1,377: Line 1,051:
 
* Clear Drive Fault – removes all errors from the softMC
 
* Clear Drive Fault – removes all errors from the softMC
  
Different icon colors indicate the severity of the error or the type of message.
+
Different icon colors indicate severity of the error.
 
* Yellow: Note
 
* Yellow: Note
 
* Blue:  Info
 
* Blue:  Info
 
* Red: Error
 
* Red: Error
 
   
 
   
[[Image:image023.png|TP_Errors.png]]
+
[[Image:TP_Errors.png|TP_Errors.png |500px]]
  
 
 
 
= Settings Screen =
 
= Settings Screen =
 
   
 
   
Shows version information of software components.
+
For all non-Admin users, shows version information of software components.<br>
 
+
For Admin level users, also allows setting of passwords, the interface language, and certain system parameters.
Additional information is visible to Administrators.
 
  
 
   
 
   
[[Image:image024.jpg|TP_Settings_Programmer.png]]
+
[[Image:setting screen 13.1.jpg|setting screen 13.1.jpg |500px]]
  
 
                    
 
                    
{| border="1"
+
{| border="1" cellpadding="2" cellspacing="0"
|-
+
|-bgcolor = A5A5A5
 
|  
 
|  
Setting
+
'''Setting'''
 
 
 
 
|  
 
|  
Description
+
'''Description'''
 
+
|-  
 
|-
 
 
|  
 
|  
TP Library Version
+
'''TP Library Version'''
 
 
 
 
|  
 
|  
Displays
+
Displays the version of the currently loaded set of TP library files.
the version of the currently loaded set of TP library files.
 
 
 
 
 
|-
 
|-
 
|  
 
|  
softTP Client Version    
+
'''softTP Client Version '''   
 
 
 
 
|  
 
|  
Displays
+
Displays the version of the softTP user interface software.
the version of the softTP user interface software.
 
 
 
 
 
|-
 
|-
 
|  
 
|  
Java Version
+
'''Java Version'''
 
 
 
 
|  
 
|  
Displays
+
Displays the version of the Java software in use.
the version of the Java software in use.
+
|-bgcolor = A5A5A5
 +
|
 +
'''Inactivity Timeout'''
 +
|
 +
This is the maximum length of a softTP session without activity, defined in minutes.<br>
 +
Once this time has elapsed, the user must login again.
 +
|-bgcolor = A5A5A5
 +
|
 +
'''softMC Timeout'''
 +
|
 +
This is the maximum time for the softTP to wait for a response from the softMC, defined in milliseconds.<br>
 +
Once this time has elapsed, the softTP disconnects from the softMC system. 
 +
|- bgcolor = A5A5A5
 +
|
 +
'''Refresh Cycle'''
 +
|
 +
Defines how frequently  the softTP retrieves and updates data (e.g., positions of axes), specified in milliseconds.
 +
|-bgcolor = A5A5A5
 +
|
 +
'''System Language'''
 +
|
 +
Language options for the softTP user interface.<br>
 +
English, Chinese and German are currently available.
 +
|-bgcolor=A5A5A5
 +
|
 +
'''Passwords'''
 +
|
 +
Fields for setting the passwords required for logging in the softTP
  
 
 
|}
 
|}

Latest revision as of 13:48, 6 August 2017

Language: English  • 中文(简体)‎

TOP2.png

Overview

The softTP is a teach pendant (TP) designed for use with softMC 3 and softMC 7 motion controllers and various types of robots, such as SCARA, PUMA and DELTA. The softTP allows operators to move the robot by means of jog keys, and to create and run complete robot programs written in MC-Basic.

The softTP touch screen interface enables quick and easy application development. The softTP software package also includes a full-featured emulator running on Windows/Linux.

softTP_elements.png


Access Permission Levels

The softTP has four different user levels.

  • Viewer
  • Operator
  • Programmer
  • Administrator

Each softTP user must login with a password for a specific permission level.

The following table indicates the functions available to each user level.

Permission Level
Viewer Operator Programmer Admin

View main robot data.

x
x
x
x

Switch between TP screens.

x
x
x
x

View the status of digital IOs and error history.

x
x
x
x

Start/stop certain processes (e.g., move?).

x
x
x

Start/stop certain programs.

x
x
x

View data (variables) but not modify.

x
x
x

View programs, but not modify.

x
x
x

Acknowledge errors.

x
x
x

Enable the robot.

x
x
x

Create and edit user programs (UPG/ULB).

x
x

Create and edit (teach) program variables.

x
x

Create and edit all types of MC Basic program files (PRG/LIB & UPG/ULB).

x

Change passwords of all user levels.

x

Access the Terminal screen.

x


This document presents screens as seen by PROGRAMMER.

softTP Switches

Deadman Switch

The deadman switch is located on the back of the softTP. The switch has three positions: released, partially pressed, and fully pressed.

In Manual mode, motion and jogging commands can be issued from the teach pendant only when the deadman switch is in the intermediate, partially-pressed position.

If the deadman switch is released, or fully pressed, while axes are in motion, the motion stops automatically.


Position State Description
deadman 1.jpg

Deadman Off

  • Deadman switch is not pressed or is pressed too lightly.
  • Not pressed.
  • Switch is off.
  • softTP cannot issue motion commands.
deadman 2.jpg

Deadman On

  • Deadman switch is pressed with normal pressure.
  • Pressed partially.
  • Switch is on.
  • softTP can issue motion commands.
deadman 3.jpg

Deadman Off

  • If deadman switch is pressed too hard.
  • Fully pressed.
  • Switch is off.
  • softTP cannot issue motion commands.


Using Emulator

Set in your browser the following address:

http:<ip address>/tp/emulator

where <ip address> is the IP address of your softMC

for example:

http://10.4.20.148:1207/tp/emulator

When using TP Emulator, the deadman switch status is represented by the on‑off vertical switch on the left side of the screen.

TP_Emulator_Deadman.png

Emergency Stop

Pressing the Emergency switch automatically powers off the motors, stops motion and and disables the axes.

If the robot is equipped with brakes, the brakes are activated.

Mode Selector Switch

The Mode Selector switch on the front of softTP has three positions: Manual, Automatic and External.

If the mode setting is switched from Automatic to Manual while a program is running, program execution stops immediately.


Mode Description

Manual

Left position.

Manual mode is used for jogging the axes.

When in Manual mode, the robot velocity is reduced and the user cannot issue run commands or edit programs.

Automatic

Middle position.

Automatic mode is used for editing/running programs.

When in Automatic mode, the axes cannot be jogged.

External

Right position.

When in External mode, the softTP does not control the robot.


When using TP Emulator, the mode switch status is represented by the horizontal switch on the top left of the screen.

TP_Mode.png

Interface Elements

Toolbar

softTP toolbar 4.1.jpg



Toolbar Description

1.png

Logout

Exits the TP Emulator.

2.png

TP Operation Mode

Indicates the teach pendant’s current operation control mode, as defined by the mode selector switch.

Text box

Message field for system notifications.

4.png

Axes in Motion

Indicates state of the axes:
Red: Axes are stopped.
Green (spinning): One or more axes in motion.

5.png

Primary TP

Indicates that the teach pendant in use is the primary TP, if other TPs are connected. (Not currently implemented)

6.png

Collapse/Expand

Hides/shows the menu bar, to provide additional screen space for program lines.

7.png

Enable | Disable

Enables and disables all axes, and indicates the state of the axes.
Red: All axes disabled.
Green: All axes enabled.

Menu Bar

The menu bar provides access to the eight softTP screens.

menuBar 4.2.jpg


Screen Function

Jog

Used to select the type of robot, and jog the robot/axes in the user-defined frame.
Displays current robot position in Cartesian and joint coordinates. Used to teach/set new points, and move(s) to a predefined point.
Provides tool-calibration, and align functionality.

Program

Used to create, edit, run and debug MC‑Basic programs.

Data

Used to create, edit, run and debug MC-Basic programs.

IO

Used to monitor and switch system digital inputs and outputs.

Terminal

Allows command line entry of MC Basic commands. Accessible to Administrator-users only.

Diagnostics

Displays settings and status of configured axes and devices.

Errors

Displays the log of faults in the softMC motion controller.

Settings

Displays system software components and versions.

settings

Allows setting of stystem variables. Accessible to Administrator-users only.


Jog Keys

jog keys 4.3.1.jpg jog keys 4.3.2.jpg


When Frame is set to Joint, keys are labeled according to axes: J1, J2, J3, and so on.

When Frame is set to Base, Tool or World, keys are labeled according to Cartesian coordinates: X, X, Z, Yaw, Pitch, Roll.

Domains

Domains serve to separate data from programs, thereby allowing manipulation of program data (variables) without affecting program code.

Every program is associated with a domain. In MC-Basic, domains are implemented by a namespace feature of the MC-Basic language. (Refer to: http://softmc.servotronix.com/wiki/Namespace).

All variables of a given domain are automatically saved to a separate file on the softMC disk after they are created or updated.

The softTP provides three system domains for certain data, which do not have associated program files.

Every project has automatically associated domain of the same name.


TP Domain

TP variables are not assigned to a particular program or project.

They can be used freely as auxiliary variables for debugging and other functions.


Base Domain

Base variables are not assigned to any program and are used to store the base property values used by the selected robot.

It is recommended that variables in this domain use the naming format BASE1, BASE2, and so on.


Tool Domain

Tool variables are not assigned to any program and are used to store the tool property values used by the selected robot.

It is recommended that variables in this domain use the naming format TOOL1, TOOL2, and so on.

Jog Screen

The Jog screen is the main screen for working with the robot.

  • It displays the current robot joint and Cartesian coordinates.
  • It enables user to teach/set new points, move(s) to a predefined point.
  • It provides tool calibration and align functionality.

TP_Jog.png


Frames

softTP supports five jog frames: Joint, Base, Tool, World XYZ,and World ZYZ.

  • Joint frame is used for jogging the individual robot axes: J1 … J6.
  • Base, Tool and World frames represent Cartesian frames. When one of these frames is selected, jogging is in XYZ coordinates and in the corresponding orientation axes:
    • Base and Tool frames allow jogging of X, Y, Z, Yaw, Pitch and Roll.
Note that the default Euler-Angle representation of Yaw-Pitch-Roll is a ZYZ rotation sequence only.
  • World frame has two modes: ZYZ and XYZ.
ZYZ is the default mode; it has standard orientation angles as Yaw-Pitch-Roll of a ZYZ rotation sequence.
XYZ is an alternative mode; it has non-standard orientation angles as Rx-Ry-Rz of an XYZ rotation sequence.
In MC-Basic, Base, Tool and World frames are considered location data types.

A Cartesian robot frame (for PUMA robot) is a 6-dimensional Cartesian coordinate system in which the robot tool tip position and orientation are defined.

For a PUMA robot both Base and Rtool frames are in the form X-Y-Z-Yaw-Pitch-Roll.

The Frame option in the Jog screen allows you to select a different frame for jogging in. You can set different frame parameters (values) in various ways; for example:

  • By using Teach option to teach them directly – this is commonly done for Base.
  • By using Tool Calibration options – this is commonly done for Tool.


Teaching Points

Positions are taught in the Jog screen, and defined in either Joint or Cartesian coordinates.

Before teaching a point, you must first create a Location or a Joints position in the Data screen. Be sure the position is attached to the appropriate Domain.

In the Jog screen, make sure Domain and Frame are set accordingly.

Use the Teach button to set position coordinates automatically, or enter position values manually.

TP_Jog_Teach.png


Setting Description

Robot

The specific type of robot or axis for movement or position teaching.

Frame

Cartesian (Tool, Base and World): Linear movement along X, Y and Z directions, angular motion around a static XYZ coordinate.

Tool

Used for selecting the actual tool:

  • Null Tool: No tool attached
  • Tool1, Tool2, Tool3, Tool4: Uses predefined values

Base

Used for selecting the actual base:

  • Null Base – No base selected
  • Base1, Base2, Base3, Base4: Uses predefined values

Domain

Used for selecting the domain:

  • The system domain: TP, Base, Tool
  • The domain of a loaded project.

Speed

Slider to increase/decrease the jogging speed, as a percentage of the maximum speed.

X

Y

Z

Yaw (Rx)

Pitch (Ry)

Roll (Rz)

Displays the Cartesian coordinates of the robot even when operating in Joint mode.

Teach

Used to define the values (Joint or Cartesian) to be taught. Enter position values manually, or press Teach.

Move

Generates joint interpolated motion to the specified target

Moves

Generates Cartesian interpolated motion (straight line) to the specified target.

Tool Align

Aligns the Tool X, Y or Z direction with the nearest World axis, while the tool tip remains in position

Tool Calibrate

Two methods for calibrating the tool:

  • Multi-point calibration: Move the robot to a number of points. After recording 4 points, click Calibrate. The new computed tool is automatically assigned after the procedure.
  • Single point calibration: Go to point once without tool and once with tool. The new computed tool is automatically assigned after the procedure.

Program Screen

The Program screen is used for creating, editing, running and debugging MC‑Basic programs.

The file extensions *.UPG  user programs and *.ULB for user libraries are used to distinguish user programs from general system programs and settings.

Administrator level users can access and manipulate both global (*.PRG/*.LIB) and user (*.UPG/*.ULB) programs and libraries.

Programmer level users can create/edit/run/debug user programs only (*.UPG) and user libraries only (*.ULB).

Projects created by programmer level users generate four files:

name.UPG

The main user task.

name.ULB

The library containing the functions and subroutines used in the main user task.

name.DEF

The declarations of all domain variables. (not visible by the user)

name.VAR

The currently defined values of the domain variables. (not visible by the user)

A project is set of files with same names but different extension (e.g. TASK.UPG, TASK.ULB, TASK.DEF and TASK.VAR.) Non-Admin users only see files with the extensions UPG and ULB.

program screen 7.1.jpg



Setting Description

Project (File) Mode

PROGRAMMER

Open Project

Opens an existing project.

New Project

Opens a new project.
When prompted for a name, enter up to 8 characters.
When a new project is created, a user program and user library of the same name are also created.

File Mode

ADMINISTRATOR

Open File

Opens an existing file.

New File

Open a new file.

Load

Loads a program and associated library from the softMC flash memory to the softMC RAM so that the program can be executed.

Unload

Unloads a program/library from the softMC RAM so that they can be edited.

Kill

Aborts execution of a running program.

Idle

Stops the program at the end of the line currently being executed.

Run

Starts execution of the program.

Jump to Line

Jump to a line in current program.

Step Over

Skip over the subroutine.

Step Into

Step into the subroutine.

Step Out

Exit the subroutine.

Edit Mode

Provides the code syntax for commonly used instructions, including prompts for the data required for completing the code line/s.

Program

Instructions for defining subroutines and functions.

  • Sub ... End Sub
  • Function
  • Program ... End Program
  • Call

Flow Commands

Instructions used to change the flow of a program based on specific conditions.

  • If ... Then ... Else ... End If
  • While ... End While
  • For ... Next
  • Select Case … End Select
  • Sleep

Interpolation

  • Move
  • MoveS
  • Circle (P2P)
  • Circle (Angle)
  • DoPass

Motion Commands

  • Stop
  • WaitForMotion
  • Delay
  • Enable

I/O

  • Inputs
  • Outputs

Project Manager

PROGRAMMER

File Manager

ADMINISTRATOR

[Project/File list]

Delete

Deletes selected project.

Save As

saves a copy of current project using a new name.

Rename

Rename the current project.

Data Screen

The Data screen is used for creating and editing variables in the domain that is currently selected.

Variables can be robot positions or any other data type that is supported in MC‑Basic, such as long, double and string.

data screen 8.1.jpg

Select the domain, and the type of variable, then click the + button to create a variable.

A dialog box opens according to type of variable.

Enter values.

Setting

Description

Locations

World/Cartesian positions.
data addnewlocation 1.jpg data addnewlocation 2.jpg
data addnewlocation 3.jpg
Checkbox - to select (for deletion)  

Joints

Joint positions.
data joints.jpg

Longs

Numeric variable: 32-bit integer.
data longs.jpg

Doubles

Numeric variable: 64-bit floating point.
data longs.jpg

Strings

ASCII or UTF-8 string. Length is unlimited. data strings.jpg

Domain

Tp, Base or Tool.

I/O Screen

Allows user to monitor the status of system inputs and outputs, and to toggle outputs.

IO names are defined in DAT files (TPIN.DAT and TPOUT.DAT).

This screen is updated in realtime.

IO screen 9.1.jpg


Setting Description

Name

Description

State

Device

Terminal Screen

The Terminal screen is accessible to Admin users only.
Terminal is a command line interface to the softMC. It allows user to send instructions to the drive, and read the drive’s responses.


terminal screen 10.1.jpg

Diagnostics Screen

Two views. Devices and Master.

Shows status and properties of the devices and the Motion-bus in the system.

 TP_Diagnostics_motors.png

Errors Screen

When errors occur, an icon is displayed in the menu bar, and indicates the total number of errors.

  • Clear List – removes all errors from the list
  • Clear Drive Fault – removes all errors from the softMC

Different icon colors indicate severity of the error.

  • Yellow: Note
  • Blue:  Info
  • Red: Error

TP_Errors.png

Settings Screen

For all non-Admin users, shows version information of software components.
For Admin level users, also allows setting of passwords, the interface language, and certain system parameters.


setting screen 13.1.jpg


Setting

Description

TP Library Version

Displays the version of the currently loaded set of TP library files.

softTP Client Version    

Displays the version of the softTP user interface software.

Java Version

Displays the version of the Java software in use.

Inactivity Timeout

This is the maximum length of a softTP session without activity, defined in minutes.
Once this time has elapsed, the user must login again.

softMC Timeout

This is the maximum time for the softTP to wait for a response from the softMC, defined in milliseconds.
Once this time has elapsed, the softTP disconnects from the softMC system.

Refresh Cycle

Defines how frequently the softTP retrieves and updates data (e.g., positions of axes), specified in milliseconds.

System Language

Language options for the softTP user interface.
English, Chinese and German are currently available.

Passwords

Fields for setting the passwords required for logging in the softTP