Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sebastian van Delden USC Upstate

Similar presentations


Presentation on theme: "Sebastian van Delden USC Upstate"— Presentation transcript:

1 Sebastian van Delden USC Upstate svandelden@uscupstate.edu
VAL3 Basics Sebastian van Delden USC Upstate

2 What it is? VAL3 is Stäubli’s current language
Available on the different versions of the CS8 controller. New teach pendant has also be designed that supports complete program development from the pendant… I.e. you can teach points and write the program all from the pendant – no need for a computer at all in many applications!!

3 Teach Pendant Overview
Mode Button Arm Power on/off E-Stop Movement keys Movement Mode (joint/frame/..) Speed adjust Function keys Keyboard Navigation keys Application control (Run/Pause/..) Enable button (like dead man) Digital I/O buttons Jog keys The manual control pendant or MCP is the primary user interface for the robot. The current SP1 is used for jogging, teaching, maintenance, online ,programming, and the application can provide simple user interface. The MCP can be disconnected and replaced with a shorting plug. You do need to have access to a MCP, but it does not have to be connected all the time. Originally the working mode of the system was controlled by a button on the MCP. This changed with a new safety standard ISO All new systems have a working mode selection panel with a key switch. You can substitute your own panel, but most people choose to use ours. Remote mode allows arm power to be turned on by the application with any user actions. Also no user action is required to enable robot movement. The arm can move at full speed, all e-stops including cell doors must be closed. This is the only usable mode with the MCP disconnected. Local mode requires the operator to press the green arm power button to turn on arm power, then to press the move / hold button to enable movement. You cannot operate in local without a MCP. We can run at full speed and all e-stops need to be closed. Manual mode allows the robot to be jogged from the MCP. To enable arm power, the deadman switch on the back of the MCP must be pressed or it must be in the parking cradle. The deadman or parking signal must have been toggle with in the last 20 seconds to get power to come on. This prevent users from tying down the deadman. If the deadman or parking signal is lost, you will lose arm power. The parking cradle needs to be mounted some place outside the cell. In manual the door e-stop connections are bypassed allowing you to enter the cell. Because of this the maximum speed of the arm is limited to 250 mmps. If you want to run an application in manual, you must constantly hold the move / hold button to enable motion. There is a 4th working mode no one uses called high speed test. The current WMS panel does not support it, but the wiring exists if you want to build a panel that includes it.

4 Pendant Menus Arrow keys for navigation Up / Down to select items
Right to enter/ expand Left to collapse Application manager Load, save, and edit applications Task manager Debugging Control panel System status, settings, IO Calibration Arm maintenance Event Log Pressing the menu button on the SP1 brings up the main menu. You can use the up and down arrow keys to highlight the different items on the menu. The right arrow or the enter key selects the highlighted item from the menu. Some entries will have a + sign in front of them. This marks a collapsed section. We have limited space to display information and collapsing sections help us make the most of that space. Pressing the right arrow key will expand the collapsed section. The sign changes to a – sign. Pressing the left arrow will collapse the expanded section. From the application manager we can load, save, close, and edit applications The task manger has a debugger through applications looking for errros. The control panel is used for diagnostics. It shows information on the systems and allows you to change some settings The calibration page is used by maintenance during motor changes. You can also make a back up of the arm data such as calibration information. The event log gives us access to an error log that records system messages such as error messages. These are also saved to a file which can be exported.

5 Manual Mode Turn on Arm Power Arm power button
Toggle deadman / parking Move / Hold status Must press and hold to get move Speed Restricted to 250 mmps Deadman Active In Manual mode the arm can be manually jogged around.

6 Manual Mode: Joint Move each joint seperately
Simple, easy to understand Fast large movements of arm in cell 6 Axis Angle for each axis 4 Axis Angle for joints 1,2, and 4 Distance for joint 3 1 2 3 4 5 6 1 2 3 4 VAL3 uses two different type of locations, points and joints. A joint location records the arm position by recording the values of each joint. For a six axis arm this mean the angles of all six joints. For a SCARA we record the angles of joints 1,2, and 4. The value for joint 3 is recorded as a distance. Joint locations are easy to understand, but are not always useful in an application. They are used when we need to make a fast long movement.

7 Manual Mode: Frame, Tool
Manual movement based on a reference frame (3D coordinate system) Coordinated movement of all joints Allows linear paths or rotations around a frame‘s axis Good for Small precise movements Offset with in frame Translational X, Y, Z Rotational RX, RY, RZ Z+ Y+ X+ Z X Y Point locations are more complex then joint locations, but they are more useful. With a point we do not describe the position of the arm, but instead the position of the tool or part mounted to the arm. We start with a transformation or offset. There are 6 values in a transformation, 3 translational or distance values, X, Y and Z and three rotational or angular values RX, RY, and RZ.

8 Manual Mode: Point 2 – press and hold Can be used to move to (or with respect to) a taught point. Cursor to taught point and then hold down Move/Hold Can also be used to approach points – based on the tool frame. 1 w.r.t tool frame

9 Teaching Locations Press New to create a new location variable Z
A point location Y-Y-Z Yaw-Pitch-Roll information is stored A joint location Joint angles are stored After you declare the new variable, to set it press Here Select tool and frame Don‘t forget to set a correct tool transformation which moves the tool frame to an appropriate spot on the tool Note: Yaw-Pitch-Roll in VAL3 is Rotation around X-Y-Z X 100 mm tool pointer Tool flange Z

10 Creating Applications
Applications/projects contain data and instructions used by the robot to perform its job. A folder with xml files inside A project file (PJX) A Data file (DTX) Many program/function files (PGX) Several functions can be written for a project Stored on a Drive Loaded into memory to be run

11 Example program/function PGX file
<?xml version="1.0" encoding="utf-8" ?> <programList xmlns="ProgramNameSpace" > <program name="demo" public="false" > <description /> <paramSection/> <localSection/> <source> <code> begin movej(above2,flange,mNomSpeed) movel(p[0],flange,mNomSpeed) movel(p[1],flange,mNomSpeed) movec(p[2],p[1],flange,mNomSpeed) waitEndMove() end </code> </source> </program> </programList>

12 Programs/functions The application can consist of numerous functions which can call each other There are two special ones that are always created for you when you create a new application: start() Is the function that always gets called when you run the program. stop() Is the function that always gets called when the program finishes. You can place any kind of VAL3 instructions/code in these functions.

13 TaskCreate / Call taskCreate Spawns a seperate process
Several process can be spawned which run in parrellel to each other CPU alternates between all tasks based on some Priority Arguments: function title, priority and function name. taskCreate “some title”, 100, fun() call Transfer program execution to a subroutine. call fun() Use taskCreate or call in the start() function to get things going

14 Editing Code Use the menus to create new programs/functions and edit code. Example function Ins. inserts a new line VAL3 gives you a drop down menu with VAL3 code... Sweet! Or, you can insert pre-defined variable names(Glo.), etc.

15 Global Variables Simple Structures IO Saving Frame Config Num Bool
String Structures Trsf Joint Point Frame Config Tool IO Dio Aio Sio Saving

16 Arrays More then one value Actually all VAL3 variables are arrays
Same name Numerical index [ ] Starts with 0 Actually all VAL3 variables are arrays Single value array of 1 No brackets defaults to index 0

17 Flow Control taskCreate call while do until for if switch wait watch
delay

18 Operators Math = assignment + add, conacate - subtract * multiply
/ divide % modulus ! not Comparisons == equal to != not equal to > greater then >= greater then or equal to < less then <= less then or equal to

19 Instructions Some examples Abs Min Max Limit Power Left Right Mid Chr
Asc Size

20 Motion Instructions Stack movej movel movec stopMove restartMove
pA pB pC pD pE movej, movel, movej,... pA pB pC pD MOTION STACK ROBOT MOVEMENT Instructions movej movel movec Stack stopMove restartMove restMotion waitEndMove pA pB pC pD pE pA pB pD pC

21 Different types of movement
Point-to-Point movej(point/joint location, tool, mDesc) Move to a location in the most optimal manner – either joint-angle or regular point The second parameter is the tool frame you should use… So, a tool frame is provide for every movement command. mDesc is a parameter that says what kind of movement to do. mNomSpeed is the built-int variable that refers to normal movement. Linear movel(point location, tool, mDesc) Just like movej, but move in a linear motion (straight line movement. Circular movec(point via, point target, tool, mDesc) Move to target location, but in a circular fashion which passes through a via point.

22 Different Types of Movement (cont)
Circular Movement

23 Executing an Application
Navigate to load from disk or create a new program and store it on the built-in harddrive You‘ll need to be in Local mode before you can run the program Keep pressing Mode button to cycle through the different modes. Need to re-park teach pendant when switching between Local and Manual modes. Remove the metal bracket from the back of the pendant and set the pendant back in it. Press the Run button and choose the program to run. If the program involves movement, you‘ll also have to press Move/Hold

24 Stäubli Robotics Studio
Recall that VAL3 software can also be developed with Stäubli Robotics Studio It’s an IDE that runs on a PC More user friendly that the teach pendant. Offline Programming Edit Test Transfer

25 Using Stäubli Robotics Studio (SRS)
A project can be FTPed back and forth between the CS8 and a PC running SDS. SDS is a much better programming IDE and will make developing complex projects easier. Points still need to be taught using the controller though… This example project named ‘circular’ (to the right) was started on the CS8 controller and has a program called ‘demo’ in it.

26 Stäubli Robotics Studio
To transfer a project to SDS, you need to establish an FTP connection Need to know the controller IP address and username and password This can be found in the menus on the controller. Enter the information in SDS’s FTP tool:

27 Stäubli Robotics Studio
Locate the project you would like to transfer

28 Stäubli Robotics Studio
Open the project in SRS

29 Stäubli Robotics Studio
Edit code; transfer back went ready


Download ppt "Sebastian van Delden USC Upstate"

Similar presentations


Ads by Google