Home

Zacobria - Universal

image

Contents

1. Action pied Action Mira Action DO 9 Action DO 9 Wait 1 0 ons Wait 1 0 Waypoint_1 E RU LE CU z 9 Waypoint_1 ACA Sars A PEE T CE oe Mos aoa bak T zi m zm p telis T ji L1 4 il ame lt gt 4l ls QO Simulation A O Simulation Q Real Robot ke 5 b E Speed J100 Previous Next gt Real Robot MA 5 b B Speed 100 Previous Next gt File Program Installation Move 1 0 Log Program Installation Move O Log init_variables Command l Graphics Structure Init Variables a V BeforeStart Action DO 8 2 On Action DO 9 Off V Robot Program V Move 9 Waypoint_2 Action DO 9 2 Off Action DO 8 2 On var 1l var 141 P Call SubProgram 1 P SubProgram 1 oe Pallet 9 Pattern Square 9 1st Corner 1 9 2nd Corner 1 4th_Corner_1 amp PalletSequence 9 PatternPoint_1 Action DO 8 2 e Action DO 9 2 Q 3rd Corner 1 Rename Move robot here Change this Position Action DO 9 Wait 1 0 Wait 1 0 Waypoint_1 1 m 9 Waypoint_1 D 3 sie E 2 Bx lH I il I gt ii 4 il gt lt gt lt gt Q Simulation Q Simulation Real Rahat gt Pb Speed 100 Previous Next gt init_variables
2. V Program Installation Move 1 0 Log Program Installation Move 1 0 Log zi Thread Command Graphics Structure Variables Hl Thread Command Graphics Structure Variables TUN CUI V Robot Program IPS sg Program Structure Editor V Move Program Structure Editor Waypoint_1 9 Waypoint_1 Waypoint_2 9 Waypoint_2 Action DO 9 Off Insert Anion DO 9 Off Insert Wait 0 5 I Vwi Wait 0 5 Action DOIS 0 Basic Advanced Wizards EE Basic l Advanced Wizards 9 Waypoint_ 9 Waypoint_3 f Tif Waypoint 4 Move Waypoint 9 Waypoint 4 Move Waypoint Action DO 9 2 O Action DO 9 2 On Wait 0 5 jae Wait 0 5 od PoR off Wait 1 0 Action After E Action DO 8 Off Wait I O Action After M yar_li e yar 1 1 L V Thread 1 selected V Thread 1 selected 9 V ifvart 1 o Halt V Ifvar 1 1 Action DO 2 0 pup Action DO Popup Lait Action DO 2 Wait 1 35 r wait 2 35 Comment Folder Salen DOLSOR Comment Folder Action DO 2 Off Wait 1 35 Wait 1 0 Action DO 2 Off Edit WACAN Edit 4t Move caer Paste After selected Move Copy Paste After x selected Move Cut Delete Suppress Move Cut Delete Suppress N 5 4 lt
3. 4 v Program Loops Forever eae ah p amp B Speed 1 7100 Previous Next gt am planning to change 2 outputs in between the two Waypoints and after the last Waypoint before the program goes back to Waypoint 1 And need a delay in between the change of the 2 outputs note the second delay is 2 seconds whereas the first is 1 second This could also be done by using the traditional teaching pendant method and it would look like below program Program Installation Move I O Log zi Import script befo Command Graphics Structure v V Move Prog ram e Waypoint_1 Action DO 8 Off Wait 1 0 e The window on the left shows the program tree Action DO 9 On e Use the Next and Previous buttons to navigate through yan eager t the program tree Wd iu e Use the Structure tab to modify the program tree Action DO 9 Off Add BeforeStart Sequence _ Set Initial Variable Values 4 44 v Program Loops Forever Simulation Q Real Robot gt bi Bl Speed 7100 Previous Next gt But in this case we want to use the Script method so we have a separate Script file with our variables for later adjustment opportunity while the robot is running production 105 Universal Robots UR 6 85 5 A hints
4. V Robot Program 9 V Move B W 3 Fixed position M Waypoint 1 aypoint 3 Rename Waypoint_2 Action DO 9 Off Wait 0 5 Action DO 8 On 3 o Waypoint_3 Change this Waypoint Waypoint_4 e Action DO S On Wait 0 5 Action DO 8 Off V Thread 1 e Action DO 2 On e Wait 1 35 e Action DO 2 Off e Wait 1 0 Move robot here Show advanced options _ o Stop at this point 3 Blend with radius Remove this waypoint Add waypoint before Add waypoint after 2 M4 H Speed 41 7100 Previous Next gt We want the conveyor to go on for a short while and the off the conveyor again An example of this function is shown under the Thread above This example assumes that the conveyor is controlled by out put DO2 There is a Wait in between the ON and OFF statements which is our conveyor run time After the OFF statement there is another Wait because otherwise the conveyor would go ON immediately we stopped it and the result would be a continuously running conveyor Although this will run the conveyor in 1 35 seconds in this case it is still independent of the robot action which is not our intention so we need a little more programming 83 Universal Robots UR 6 85 5 A hints and tips Zacobria lAl Thread Command Graphics Structure Variabl
5. 28 8 4 Move screen Speed regulator cccccceeccccsececceeeeseeeeeseeeesseeeeeseeeesaeeesseeeesaeeeesaeees 29 odo o 29 8 6 Move screen X Y Z indicator sessssseeee mH HI emen mme meminere mereri 29 8 Move screen simulator VICW ccccccceecceeecneeeceeeceeeenseeceueeeueeseesueesueeseeesaueeseeeseeesees 30 NMEMIU Au lenieeE 31 10 TETO clea i ene ee eee een en en ee eee ner 32 11 Il IESSNI 34 12 Start programming LESsSoOrn ET 35 iP NOYES JAG WO VS Le e E E E E ERA 35 12 2 Programming First Program Moved Non Linear Movements 37 B22 ARDO a N ee E E EE ate eee Ed 37 12 2 2 Program Home position cccceeccseecceeeceeeeseeeceeeeeeeeseeeseueceueeneeeseueseueeneeeseeesaes 39 1223 Teach In mMOde uiae d ridi eed dudas mde eo deseada dendi betedemddmdee iun detis 40 13 Programming SINGIE SNe o m 46 13 1 Programming Speed regulator during program run eeeeeeeeeeeeeeeee 46 135 2 POMA oe the MIO oen dread etl aetna ects teda tel at adobe aa ade aetna 47 14 Programming Load a program from USB drive cccccccseeeeeeeeeeeeeeeesseeeesaaueesaeeeesaaees 51 14 1 Program environment tools and indicator ccccccceeceeeeeceeeceeeeneeeseeeseeeeneeesueeeeeenaess D2 tA Peed Tr es 618 1211 db Em 53 14 3 Move
6. 2 m o gt HN Speed 00 Previous Next gt The Robot will automatically name it var 1 but you can rename to your own preferred name but often for trouble shooting and discussion with colleagues it is better to leave as the original name On the right hand side is an Expression field because we can assign the variable a fixed value or a value base don an expression maybe base don the previous value of the variable for example to make counters But in our case the variable is just a Flag to tell us where we are in the program sequence so we just give it the value of 1 96 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria Program Installation Move Command Graphics Structure Variables Thread Y Robot Program V Move 9 Wawnoint 1 a Waypoint z Action DO S oOff Wait O 5 X e Action DO B On Waypoint_3 a Wayooint_4 X e Action DO S On em Wait 0 5 e Action DO 8 2 Off yar 1 21 V Thread 1 A e Action Do 2 2 Gn en Wait 1 35 Action DO 2 2 Off Wait 1 0 Assignment Rename Assigns the selected variable with the value of the expression Variable Expression xL LCLDIE 3 Simulation Q Real Robot fet e UB spesa 1o Note how the var 1 in the main program has been assigned to the value of 1 Program Installation Command Graphics Structure Variables Thread
7. Wrist 3 gp JE 0 056 The same error messages occur when you turn the robot joint 720 degrees all the way to the other side Press Enable Robot to acknowledge the error messages Notice how this part of the arrow bars handles each joint individually 24 Universal Robots UR 6 85 5 A hints and tips R e wwe nogors Zacobria 8 2 Move screen move the robot linearly Program Installation Move Move Tool E zi a py 3 The left side of the Move Screen also has arrow keys to control the robot but this side will perform a movement in relation to the tool head position For example straight up or down 25 Universal Robots UR 6 85 5 A hints and tips __universntrosots ZACOD A The robot moving towards the floor File Program Installation Move 1 Move Tool Press the Up arrow and get the robot back up again Continue to press up all the way up and observe the robot 26 Universal Robots UR 6 85 5 A hints and tips __universntrosors ZACODT A Almost fully stretched Fully stretched and security stop You might notice that when the robot was very near to the top and at its limitation the speed seemed to accelerate just before the robot stopped with this Joint Security Stop The security stop is obvious because the robot was following a straight line upwards and now the arm is fully stretched and it is not possible to go further up b
8. RUN Program UNIVERSAL ROBOTS SETUP Robot About Initialize About SHUT DOWN Robot Program Installation Move 170 Log New Program Load From File Load Program Use Template Pick and Place Empty Program Choose Program Robot and select Empty Program 35 Universal Robots UR 6 85 5 A hints and tips universan mos ACOA This screen is the program screen and properly in the future the screen you will be at most of the time This is where you build up your program and test run it The left side is the program window where the program statements are inserted line by line downwards At the moment the program block is empty and empty That s why the test is yellow because nothing is defined We can also it says unnamed because we have not loaded or named any program at this moment but very soon we will make a small program In the middle there are 3 tabs Command Graphics Structure We are actually in the Command tab already and that s why it is highlighted Program Installation Move air Leg lt unname d gt Command Graphics Structure V Robot Program E Program e The window on the left shows the program tree Use the Next and Previous buttons to navigate through the program tree Use the Structure tab to modify the program tree Program Installatio
9. 1 0 Log V Robot Program 9 V Move e Waypoint_1 e Waypoint_2 e Action DO 9 Off e Wait 0 5 e Action DO 8 2 On e Waypoint_3 e Waypoint_4 Action DO 9 On e Wait 0 5 e Action DO 8 Off e var 1 1 V e Action DO 2 2 On e Wait 1 35 Action DO 2 Off e Wait 1 0 Program Structure Editor Insert Advanced Wizards Loop SubProg hs Thread Edit T Move Copy Paste After x selected selected Pattern 3 Simulation Q Real Robot He gt GI Speed 100 Previous Next gt When the var 1 variable is 1 it tells us that the main program has reach the point when the work piece has been delivered to the conveyor That s great because that s exactly when we want the conveyor to start o0 we will make the Thread dependant on this var 1 variable 8 Universal Robots UR 6 85 5 A hints and tips __universatrosors Zacobria Program Installation Move I O Log iz Thread Command Graphics Structure Variables T Robot Program V Move a Waypoint_1 if a Waypoint_2 E S EM Depending on the state of the given sensor input or program variable e Wawnaint 5 e Action DO 8 On the following lines will be executed a Wawnnoint 4 if Action Do sS s on Wait 0 5 Check expression continuously e Action Do 8 Off e war l 1 V Thread 1 e V ds lt empty gt Action DO 2 On Wait 1 35 A
10. Command Graphics Structure Init Variables V BeforeStart Action DO 8 2 On Action DO 9 2 Off V Robot Program 9 V Move 9 Waypoint 2 Action DO 9 Off e Action DO 8 2 On yar_l var_l 1 P Call SubProgram_1 P SubProgram_1 g eo Pallet so Pattern Square 9 1st Corner 1 2nd Corner 1 3rd Corner 1 PalletSequence PatternPoint_1 Action ee Rename 4th Corner 1 Move robot here Change this Position Q Real Robot 76 he gt Ld Li Speed 1 100 Previous Next gt Universal Robots UR 6 85 5 A hints and tips universa meos 2ACOD Ta Program Installation Move O Log Program Installation Move 1 0 Log init variables Command l Graphics Structure init variables Command Graphics Structure Init Variables ES Init Variables E V BeforeStart Mesum eon PalletSequence V BeforeStart Fixed position v Action DO 8 On PatternPoint_1 Rename M Acti M Action DO 9 Off Action DOLS Orf What should the robot do at each position tion nel V Robot Program V Robot Program Move robot here V Move V Move e Waypoint 2 Tell the robot what to do at each position by programming 9 Waypoint_2 Action DO 9 Off a sequence telling it what to
11. 0 010 Shoulder m B gt 55 683 p qM M z Elbow i 1 68 308 vU H Wrist 1 m 54 754 Wrist 2 amp 7m 0 046 Simulation Q Real Robot speed asd X Cancel 67 Universal Robots UR 6 85 5 A hints and tips __universntrosots acobria File Program Installation Move Tool Move Joints Base E e oo Shoulder x gt 55 683 Elbow iil IE E gt 68307 Wrist 1 Gl i gt 54754 Wrist 2 E gt ooo Wrist 3 Gl gt __0 019 Now define the Waypoint just as normal described in the previous chapter either by hand teach mode or by using the arrow keys When satisfied with the Waypoint position then Press OK Teach File Program Installat My first prograr M ove e Waypoint 1 Action OO 6 On a Waypoint 2 e Action OO 6 Ott Wait 2 0 e Wait DI 1 HI e W If digital in 2 2 True e Waypoint 3 In the program block the Waypoint now becomes green and all statements are defined and the program is ready to run 68 Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria 16 Programming Lesson 3 IF conditions In programming one of the most used features is the IF or conditions based statement because that s the hearth of automatic choice of conditions and this is very often then main purpose of computer program In
12. Insert Advanced Wizards Move Waypoint N Wait I O Action Popup Halt Folder Comment Press the Structure tab is order to choose an object for our action when the If expression becomes True For example choose a Waypoint so if the If statement becomes true the robot will go to this Waypoint File Program Installat My first prograr tobot Program w Mowe Waypoint 1 ez Action Do 6 2 Gn Waypoint z e Action Do 6 2 Off Es Wait 2 0 es Wait DI 1 HI e Ww If digital in 2 2 True o Waypoint V lf digital in 2 2 True File Installation My first program Program k Progran I ove a Waypoint 1 Action Do 6 2 On a Waypoint z e Action DO 6 Oft es Wait 2 0 e Wait DI 1 HI Insert o Waypoint In the Program block the second part of the If statement now have a Waypoint as action And the Waypoint needs to be defined just like all other Waypoints Make sure the Waypoint line is highlighted and Press the command tab Command Graphics structure Waypoint Please specify the robot positio E Set this waypoint k Program Installation Move 1 0 Log Move Tool Robot Feature Wrist 3 0 ARAS J View Tool Position 22 15 mm f 191 00 mm 458 57 mm RX 0 0257 lx 2 2107 Move Joints Home Base mr
13. Modbus 7 Modbus 15 Modbus 8 Modbus_16 This screen shows the status of the Modbus Inputs and Outputs and the Outputs can be manipulated On the right side all outputs has been set high The Modbus Inputs and Outputs are no available to be used in the program structure analog_in 1 analog in 2 analog in 3 Modbus 1 Modbus 2 Modbus 3 Modbus 4 Modbus 5 Modbus Inputs ready to be used 123 Action Select the action you wish the robot to perfe program You can also specify changes in th 3 No Action 3 Set Digital Output digital out Set Analog Output 4 digital out amp Set Output x digital out s Modbus 9 C Set the total payloa Modbus Outputs ready to be used Universal Robots UR 6 85 5 A hints and tips __universntrosors ZACODT A 29 Singularity When programming the robot you might experience sometime the robot is stopping with a safety stop called Joint Limit Violation or similar error messages And you can observe the robot was trying to reach a Waypoint you had set but it was not possible due to mathematically and physical limitations This can especially happen in MoveL linear mode programming It does not mean that the robot cannot go to the Waypoint you have defined but it cannot reach there in the way programmed Consider you arm and reaching for a coin that is in between your elbow and wrist If you are not allowed to move you body posture
14. Now the Point 1 relative point has been defined 114 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria since we are in this screen then Point at Features again and set a Line and Plane relative points Program Installation Move 1 o Log TCP Position Features Mounting 1 O Setup Modbus Def Program Load Save EE Ba Tool X Point_1 New Point Line Plane Features T Features Tool Base 3 Point 1 Tool e Line 1 M Point 1 X Ponta ef 3 Point 3 3 Point 2 3 Pint 3 For Line you need to define the two end points of the line Program Installation Move 1 0 Log TCP Position pon Li ne 1 Rename Mounting 1 O Setup Modbus Def Program Load Save Features RI Show axes vi Joggable Delete Mrs robot here For Plane you need to set three point of the Plane Choose the Show axes so you can see the axis on the graphics and Tick the Joggable to make it active in the Move screen Features Features Base Base Tool Tool 3 Point 1 3 Point 1 o f Line 1 o f Line 1 q 4 Plane 1 9 dp Plane 1 x X Point_4 3 Point 5 k 34 Point 5 3 Point amp 3 Point amp TCP Position Mounting 1 O Setup Modbus ie Joggable Program Installation Move ji 1 0 Log Delete Plane 1 Rename
15. Program Installation Move 1 0 Log Automove Move Robot into Position Hold down Auto to perform the movement shown Release the button to abort Push Manual to move the robot into position manually TS Auto Manual ir E gt CI Speed 7100 9 Cancel We are ready to test run our first program Press the Start button The triangle symbol The program does not start executing right away because we left the robot in the Waypoint 2 position whereas Waypoint 1 is our Home position Before we can start the running the program we need to bring the robot to this Home position and therefore a Screen appear when we can move the robot either automatically or manually Automatically is the easiest if the robot is free fro obstacles but if we need to guide the robot we can also choose the manual method Program Installation Move id IO Log Automove Move Robot into Position imd Auto wi Manual Speed 7100 X Cancel 43 Universal Robots UR 6 85 5 A hints and tips __universatrosors Zacobria Notice how the button in the lower right corner has a red X and says Cancel because the robot is not yet in the Home position The graphic also shows how the robot has to move from its current position to the Home position Make sure the robot is free from nearby obstacles Press and keep pressing the
16. Simulation Q Real Robot M P bi B Speed 0100 Previous Next gt This will create a program entry for a Square or Rectangular Pallet Pattern which consists of the 4 corners of the Pattern and a program block for the action at each Point in the Square Program Installation Move 1 0 Log init variables Command l Graphics Structure Init Variables V BeforeStart Action DO 8 2 On Action DO 9 2 Off V Robot Program V Move 9 Waypoint_2 Action DO 9 2 Off Action DO 8 2 On war 1 var 141 P Call SubProgram 1 P SubProgram 1 amp Pallet amp Pattern Square 9 st Corner 1 2nd Corner 1 3rd Corner 1 9 4th_Corner_1 ee PalletSequence PatternPoint_1 Action DO 8 2 Q Action DO 9 Wait 1 0 9 Waypoint_1 Pallet features first position position Optional program sequences A pallet operation allows the robot to perform the same sequence of motions and actions at several different positions This can be useful for palletizing or similar operations A pallet operation consist of the following A Program Sequence to be performed at several positions The Pattern either given as a list or as a lattice e An optional before start sequence that will be performed before the An optional after end sequence that will be performed after th
17. gt Q Simulation lr IE M ce ar See eee ee 3 Simulation ues m mul m pm coca temi n o mi 100 i P speed 1005 i Real Robot ked gt Pl E Speed 100 Previous Next gt Gh real Reber he be 5b B Speed 100 Previous Next 89 Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria Program Installation Move 1 0 Log Program l Installation Move T 1 0 Log Hl Thread Command Graphics Structure Variables al Thread Command Graphics Structure Variables V Robot Program lal 3 V Robot Program Ex z YoMo Program Structure Editor P Moel a Program Structure Editor 9 Waypoint_1 9 Waypoint_1 9 Waypoint_2 e Waypoint_2 Action DO 9 Off Insert Action DO 9 Off Insert Wait 0 5 paar Wait 0 5 7 Action DO B On Basic Advanced Wizards Action DO B On Basic Advanced Wizards 9 Waypoint_3 9 Waypoint 3 Waypoint_4 Move Waypoint Waypoint_4 Move Waypoint Action DO 9 On Action DO 9 On Wait 0 5 o Wait 0 5 Action DO 8 Off i i Action DO 8 Off Wait 1 O Acti After n ome Wait 1 O Action After NGC ai ction After v V Thread 1 selected V Thread 1 se
18. In this position we need to make sure the robot is moving upwards so it is not crashing into itself If it crashes into itself it will stop with a safety stop but the robot could be slightly scratched and we want to avoid that especially when it is new The robot is a 6 axis robot which means it has six joints and six axis freedom of movement The joints are named 0 1 2 3 4 and five counting from the base or with names it is Base Shoulder Elbow Wrist 1 Wrist 2 Wrist 3 So in this case we want the elbow joint to move upwards to make the robot freer So press and keep pressing the arrow pointing right look at the photo at the right where to mouse pointer is placed Keep pressing and you will see the robot rise upwards 11 Universal Robots UR 6 85 5 A hints and tips wwemsw mrs aCobria Push Auto until all lights turn green Rotate joints individually if necessary OStart QOFF Robot Power 4 Robot Auto INITIALIZING Auto INITIALIZING Auto INITIALIZING Nifi Auto OK ee Auto INITIALIZING Auto INITIALIZING hahahaha Auto INITIALIZING ke Tool OK ControlBox OK F ele 6 6 6 6 6 6 e After a few seconds the Elbow joint will report OK on the monitor This means the robot now knows where this joint is positioned It is not necessary to turn one full circle What you see on
19. war 1 21 Y Thread 1 es Wait 0 01 V if var 121 Action DO 2 2 On es Wait 1 35 e Action DO z2 2 Off Wait 1 0 evar 1 This small program is working and the logic is like this Before the program starts the variable var 1 is set to 0 in the Init Variables statement The Robot Program and the Thread is run simultaneously but because the var 1 equals 0 the IF statement in the Thread is False at this moment so the conveyor is stopped The main program start moving the robot from Waypoint 1 to waypoint 2 then the DO8 goes ON which could be the gripper closing In my case I have set the DOO9 to go off because of the configuration of the valves use to open and close the gripper The robot move through Waypoint 3 and 4 where imagine the robot is now at the conveyor position ready to deliver the item so the out put DO8 go off and DOY go on This will deliver the item onto the conveyor Right after this set the variable var 1 to the value 1 because want to flag to the Thread that the conveyor can move In the Thread the IF statement now see the var 1 as 1 and therefore will perform our code inside the IF statement which is to Start the conveyor DO2 is set to ON We wait 1 35 seconds and turn the conveyor OFF again And then the var 1 is set to 0 because when the IF statement is checked again it is not False and the conveyor remains stopped as we wish While the Thread is doing this and the convey
20. 192 168 0 10 poses 7l 81 9 C IP 192 168 0 10 Ss TEGE Distaw of Modbus_1___ 1 2 3 Frequency Hz 10 M Response Time ms 16 Modbus Slave Address 255 i OK ENE ES Define the first Modbus signal address as 0 which is the local address on the Modbus node for input O first input on Modbus node E ea This will activate the Modbus node and a Green light will appear In this case the Input is high indicated by the dark grey box next to the green light Each Individual Input and output has to be defined in this manner Modbus IO Setup E 192 168 0 10 IP 192 168 0 10 Sh ye Digital Input ISi oi Modbus_1 Sn Frequency Hz Response Time ms 16 Modbus Slave Address 255 EE X GG 0 Press on the sign below the previous Modbus definition to define the next Input Modbus IO Setup 192 168 0 10 IP 192 168 0 10 Si D Digital Input o0 0 Modbus 1 Frequency Hz 10 Response Time ms 8 Modbus Slave Address 255 EE lt lt Please select M cain K Show advanced options Define this next Input like the previous one but this one has the next local address which is 1 120 Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria o Opm 4E Frequency
21. www mrs aCObria Below the messages box is a function to set variables Program Installation Move fel Thread Command Graphics Structure Variables Init Variables i Lene Initial Variable Values Waypoint_1 Waypoint_2 Action DO 9 Off var 1 has no specific initial value Wait 0 5 Action DO 8 On Waypoint_3 Waypoint_4 Action DO 9 2 On Wait 0 5 Action DO 8 Off exwvar 1 1 V Thread 1 V If var 121 Action DO 2 On Wait 1 35 Action DO 2 Off e Wait 1 0 7 var_1 0 Variable Expression m o Prefer value from previous run Clear Expression Orea Robot MA PH ME speed 0100 Choose var 1 and insert 0 in the Expression field Program Installation Move 1 0 Log fal Thread Command Graphics Structure Variables Init Variables Teu nm Initial Variable Values a Waypoint_1 e Waypoint_2 Action OO S Off Wait 0 5 Action Do 83 2on a Waypoint 3 a Waypoint 4 Action OO S On Wait 0 5 e Action DO S 0ff yar 1 21 TF Thread 1 e VW If var 1 1 Action Dio 2 20n Wait 1 35 Action DO 2 2 Off Wait 1 0 var_1 0 Variable Expression L Prefer value from previous run Clear Expression dE Orea Robot M e PM BE Speed i00 93 Universal Robots UR 6 85 5 A hints and tips __univensntrosors ss ZACODT A Security Stopped A Security Stopped RuntimeError Infinite loop detected in progr
22. 1 0 Log H lt unnamed gt Command Graphics Structure Robot Program a V Move If 9 Waypoint_1 e WV If digital in O0 True me EEN Depending on the state of the given sensor input or program variable the following lines will be executed If digital_in O True Check expression continuously f x See If Depending on the state of the given sensor input or program variable the following lines will be executed If digital in 0 True Add Elself Remove Elself Check expression continuously f x 2855 __ Jv rm T Lel Add Else X nl Q Simulation EN T o e Robot H C bi E Speed 100 Previous Next gt Below the IF expression definition field is a check box called Check expression continuously If this is checked the robot will check IF digital in 0 2 True is true also during the execution of the program lines in the IF statement This means that if the digital in O becomes O during the IF execution then the rest of the program lines inside the IF will not be executed This can lead to unintended function if not handled correct Program Installation Move 1 0 Log Program Installation Move 1 0 L
23. Auto button and observe the robot movements towards the Home position Program Installation Move 1 0 Log Automove Move Robot into Position Hold down Auto to perform the movement shown Release the button to abort Push Manual to move the robot into position manually Auto Manual Speed 4 710096 VY OK This programs Home Position When the robot reaches the Home position the button in the lower right corner of the Screen goes from Cancel to OK When it says OK the Press ok Program Installation Move 1 0 Log lt unnamed gt Command Graphics Structure V Robot Program aj Een z 9 V Move m B ixed position v d MC mes Waypoint_2 Rename o Waypoint_2 Move robot here Change this Waypoint Show advanced options IQ Stop at this point Press Start The black triangle symbol I Blend with radius mm 4 le Ir lr iT 4 Remove this waypoint Add waypoint before Add waypoint after G Y 1r z Gunka MAE MM seen oroo previous ent Program tree Screen After pressing the OK button the program tree Screen reappear but the robot is still not moving but now it is in the Home position and can be started 44 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS
24. Graphics Structure V Robot Program V Move A Waypoint 1 Script Code File Bl script sc1 script 9 Waypoint_2 Bl script sc2 script Script code will be included from the selected file Sc2 script set digital out 8 True Edit s isl eep 2 0 set digital out 9 False Clear D lt gt ipn d gt gt lb Speed Q100 Previous Next gt Now try to test run your program which behave exactly like if the outputs and wait has been made in the tree structure 109 Universal Robots UR 6 85 5 A hints and tips universan Rogos P4aCODria save the file which of cause will create three new files x urp x txt and x script which now has the entire program inside including the Script files interpreted by the Robot def Import script after set analog inputrange 0 0 set analog inputrange 1 O set analog outputdomain 0 0 set analog outputdomain 1 O set tool voltage 24 set runstate outputs set payload 0 0 set gravity 0 O 0 0 9 82 while True 0 Robot Program 1 MoveJ 2 Waypoint 1 movej 0 5263706597088378 1 8182878349727298 1 8120234982472114 1 3619128328552264 3 214885380931556 0 27251695975573664 a 1 3962634015954636 v 1 047197551 1965976 set digital out 9 True 4 Waypoint 2 movej 0 8560998108900053 1 7976119215251396 1 78473979637
25. The Thread does actually not need to know the sequence of placing work pieces the Thread just ON OFF the conveyor according to the timing set inside the Thread o0 the Thread will remain like in the previously example There are many different ways to do this as many there are creative programmers 97 Universal Robots UR 6 85 5 A hints and tips e UNIVERSAL ROBOTS Zacobria o0 far there is only one Waypoint for delivering the work piece because it is always delivered at the same position on the conveyor In previous chapter this is Waypoint 4 that is the position for delivering the work piece Now in this example we need 4 different waypoints for delivering the work piece on the conveyor because position 1 2 3 and 4 are different To keep track of the delivery position we can use another variable Let s get do some programming Program Installation Move 1 O Log al Thread Command Graphics Structure Variables Init Variables Y Robot Program V Move if 9 amp If var 220 mer Depending on the state of the given sensor input Waynnint 2 or program variable the following lines will be e Action DO 9 s Off executed Wait 0 5 Action DO 8 On f var 2 4 amp Waypoint s E an lan eant a Waynnint 4 4 Check expression continuously Foo Bi Action DO S On Wait 0 5 Action DO 8 2 Off Wait 1 0 yar O yar 1 1 e V if var_2 8 a Wawnnint 4
26. W Move a waypoint 1 P Frog F d C Check expression continuously foo Be Action DO 6 On a Waypoint Inser Action Do 6 z Off E as Wait 2 0 Wait DI 1 2 HI e Fi a AddElself Remove Elself cempty bade Now a Screen appears that has a Formula line because we need to set the formula for the If to react on Press the f x formula tab 64 Universal Robots UR 6 85 5 A hints and tips __universntrosots Z4aCobria not True HI end lt input gt lt Variable gt lt Pose gt Function bd 0 m lt Function gt 3 Cancel Inside the Formula screen is several functions to choose from In this case we are looking at an input we want to react to Choose the Input function gt s False LO i H Er digital in 2 We need to choose the input we are looking at In this example Choose digital in 2 Notice how the input name appears on the formula line at the top of the Screen OF E gt GET K digital_in 2 We need to finalize our formula and make it a condition for example choose the equal sign 65 Universal Robots UR 6 85 5 A hints and tips universa mes 4 CODDla True HI digital in 2 True We want to react when this digital input 2 is high so choose True Hi The level of a d
27. during the programming phase Especially the Up and Down arrows are useful for linear Up and Down movements x Ex 3 Simulation Q Real Robot 20 Universal Robots UR 6 85 5 A hints and tips universa meos ZACODT A 8 Move screen The Home Position Move 1 0 Log Automove Move Robot into Position d down Auto to perform the movement shown Release the button to abort ush Manual to move the robot into position manually a T Auto Manual 28 235 94 984 Speed 0100 EX cance The robots natural Home position is straight up in the air and the Move Screen has a Home button Press the Home button to try and position the robot into the Home position When pressing the Home button the robot will not start move right away instead we will see a Move Robot into Position screen because we need to do it in a controlled way in order not to crash into something We have two options either an Auto move or a manual move When pressing the Auto button the robot will start moving into its home position by it self as long we keep pressing Releasing the button will stop the robot move Notice that the button in the lower right corner has a red X and reads Cancel and we can press here if we want to return to the Move screen When the robot is fully stretched i e in its Home position we will see the button in th
28. gt Simulation MA gt LM Speed 100 Previous Next gt G Simulation M4 P ll Speed 7100 Previ J Next gt o Real Robot jl L o Real Robot pee 70 L revious ex In this case we choose file because understand file will also explain a single line and the right screen appears o0 far no file has been chosen hence there are no script statements Choose Edit No File Selected Eh Current Directory programs NANO 1G F32 Lars 2012 Import script t DE Edit Text L 2wp script Import script script load script txt Select File 2wp txt Import script txt load script urp 3 2wp urp 2 Import script urp F scl script New File 2wp_e script Import script after script sc2 script 2wp e 2 script Import script after txt 2wp scp script Import script after urp S8wp script Import script before script Swp txt Import script before txt 3wp urp Import script before urp 2 Import script oldO default installation Import script oldi load script oldO Import script old2 load script script 241 Filename scl script 398mm Filter All Files Open Cancel Then choose Select File which will bring you to the file menu where you can navigate to your file destination of your prepared Script program block Then choose your intended Script file an
29. Base E pm SN 363 642 Shoulder i EEE JE sooi Elbow Emp E gt _0 004 Wrist 1 Gl 1E 20 013 Wrist 2 Gl ioa Wrist 3 i gt oos 23 Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria Security Stopped Security Stopped Security Stopped SECURITY CHECK Joint limit violation Enable Robot A Security Stopped Shoulder ep E 200011 SECURITY CHECK Joint limit violation Wrist 1 gt 90 012 Wrist 2 Quum e 0 039 Enable Robot If you turn the joints all the way and beyond its limitation you we will se an Error messages Joint Limit Violation which is a safety stop in order not to spoil the inside of the joint Press Enable Robot to acknowledge the error messages Base Qui p gy i553 Base Rupee MS i268 Shoulder I m Em 9601 Shoulder I E 1E 20 011 Elbow C EEE IER 908 Elbow pem gt 9908 Wrist 1 Gl o soii wrist umm e 50 013 Wrist 2 Gl e ooi Wrist up O 0029 Wrists epum ES 0052 Wrist 3 up ED 0953 Security Stopped Security Stopped SECURITY CHECK Joint limit violation Base Shoulder I mm gt 20 011 Elbow Gl EEE JE oon wrist 1 Gl 389 90 023 Wris 2 Gl JE o9 3 Wrist 3 up E 0054
30. DO 8 Action DO 9 Wait 1 0 9 Waypoint_1 Action DO 9 Off 2nd Corner 1 9 PatternPoint 1 q q a IT Program Structure Editor Insert Basic Advanced Wizards Loop SubProg Assignment If else After x Script Code Event selected Thread Pattern Copy ll Paste After selected Cut Jl Delete Suppress E Program Installation Move 1 0 Log zi init variables Command Graphics Structure f Init Variables V BeforeStart Action DO 8 On Action DO 9 Off V Robot Program 9 V Move 9 Waypoint_2 Action DO 9 2 Off Action DO 8 2 On wyar 1 var 141 P Call SubProgram 1 SubProgram 1 ee Pallet 9 eo Pattern Square 9 1st Corner 1 9 2nd Corner 1 9 3rd Corner 1 9 4th Corner 1 9 oe PalletSequence PatternPoint_1 oo Pattern Wait 1 0 9 Waypoint_1 Action DO 8 2 Q Action DO 9 si Pattern A pattern is a group of positions to be cycled through Patterns can be used for making much more palletizing etc Positions on a line Line Positions in a square Square Positions in a box Box A list of positions List Iel Q Simulation Real Robot led gt N Speed 7100 Previous Next 9
31. Hz Response Time ms 72 Modbus Slave Address 255 ES Q Diem H Ere E Frequency Hz 10 v Response Time ms 112 Modbus Slave Address 255 Digital Input lz AEG Modbus_3 Frequency Hz Response Time ms 112 Modbus Slave Address 255 Q Diamo e sE Motus a 5 Frequency Hz Response Time ms 56 Modbus Slave Address 255 a If there is yellow light in some Modbus nodes representation in the UR robot menu not on the node then the frequency has to be reduced until all in output is green properly 5 Hz is recommended Modbus IO Setup 192 168 0 10 IP 192 168 0 10 0 D 3 Digital Input Mi JEA Modbus_1 Frequency Hz 5 Response Time ms 16 Modbus Slave Address 255 Q Dianea Reds Frequency Hz Response Time ms 24 Modbus Slave Address 255 PBistarinpue v Frequency Hz 2 a Modbus 3 w Response Time ms 8 Modbus Slave Address 255 D Digital Input v JEA Modbus_4 Frequency Hz Response Time ms 16 Modbus Slave Address 255 Es D Digital Input ama v hovel etie d E Modbus 5 Make sure there is no more flickering yellow light and all is green which indicates that the Scan frequency is correct Press the I O tab and notice that there is now a Tab called the Modbus Program Installation Move 1 0
32. Insert Basic Advanced Wizards Per Loop SubProg Assignment If else After T selected Script Code Event Thread Pattern Edit Move Copy Paste After selected Move Cut Delete Suppress T be lt gt Simulation dm mar m r IT Ks 9 Q Real Robot raid B i fi Speed 100 Previous Next gt 107 Universal Robots UR 6 85 5 A hints and tips universa mes ZACODT A Point on the Script statement and choose Command screen In this screen the Script function is defined On the right hand side the amount of script commands are chosen i e only one line of script code or from a separate file containing maybe several script commands Program Installation Move 1 0 Log Program Installation Move yo Log al Import script after Command Graphics Structure eji mport script after Command Graphics Structure V Robot Program V Robot Program a V Move a V Move a Lar o Waypoint_1 Script Code Line v o Waypoim_1 Script Code File v E Script P E script P Waypoint_2 Line 9 Waypoint_2 Below you can enter text that will be executed as script code by thrije Script code will be included from the selected file Prcentroller No File Selected o Edit X E JETE Ir P Di lt gt lt
33. Log Robot Modbus Controller Input Tool Input Digital Digital 0 1 2 3 5 6 7 8 9 mof J JL JL JL E JI Bo analog in 0 analog in 1 analog in 2 0 020 V v 0 000 V OV 5V 0 000 V ov v iy ov sv analog_in 3 ov 5v ov 5Y o oisv ov sv v Controller Output Tool Output Digital Digital 1 2 3 4 5 6 7 8 On Off On Off Voltage Current analog_out 0 analog_out 1 T Q eee 9 mss 0 12 24 4mA Z0mA 4mA 20mA O Simulation Real Robot 122 File Install atic Controller Input Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Program Installation Move 1 0 l Log Zacobria Program Installation Move 1 0 l Log Robot Modbus Inputs Outputs BI Modbus 1 Modbus_9 Medbus 2 Modbus 10 Modbus 3 Modbus 11 Modbus 4 Modbus 12 Modbus 5 Modbus 13 Modbus 6 LA Modbus 14 Modbus 7 Modbus 15 a Modbus 8 Modbus_16 Robot Modbus Inputs Outputs E Modbus_1 Modbus 9 E Modbus 2 Modbus_10 Modbus_3 Modbus 11 Modbus 4 Modbus 12 Modbus_5 Modbus_13 Modbus_6 Iz Modbus 14
34. Zacobria The robot runs the program by it self from Waypoint 1 to Waypoint 2 continuously This is just an Up and Down movement T You can stop the program execution LICULIEI i You can restart the program execution Program lt unnamed gt Y Robot Program e WV Move e Waypoint 1 a Waypoint z re n n m You can pause the program execution Speed N 66 You can control the speed during test run Pregram Install zunnamed TY Robot Program e V Move e Waypoint 1 e Waypoint 2 Notice how you can follow the program execution during the program run so you now where in the program the robot is The Speed regulator is useful for testing During normal Run it is better control you speed in you program because the Speed regulator will slow down everything in the program inclusive of wait statements 45 Universal Robots UR 6 85 5 A hints and tips universan Rogos P4aCODria 13 Programming Single Step The teach pendant looks like a Tape recorder or CD controls i e Play Stop Pause and otep buttons The Single step button is also for commissioning and trouble shooting because when you single step through your program it is a Single step of Program lines So again if you expect your program to be executed when single stepping you will be surprised because the conditional expressions will maybe not be executed as expected e g if you have programm
35. and tips universan meos 4aCODria So before we go any further we only have a small program with 2 waypoints Now we need to prepare the separate Script file The format of the Script statements can be studied in the Script manual but a very useful method to learn about the format of a Script language is to open a Script file the robot already have provided from previous created program Remember the robot creates three files every time a program file is saved a x urp file which is the robots main program file a x txt file which is a very simple text file to illustrate the program flow and a x script file which is the actual program in script format Try and open such an x script file in a simple editor e g a Notepad and study the contents For example our first program looked like this in script format My first program script def My first program set analog inputrange 0 0 set analog inputrange 1 O set analog outputdomain 0 0 set analog outputdomain 1 O set tool voltage 24 set runstate outputs set payload 0 0 set gravity 0 O 0 0 9 82 while True 0 Robot Program 1 MoveJ 2 Waypoint 1 movej 0 7601482324296471 1 9284112483400442 2 4200850009312065 2 13148960204731 1 562351390833685 0 9523963238633675 a 1 3962634015954636 v 1 0471975511965976 3 Waypoint_2 movej 0 7601 145807261 123 1 925313457229536 1 4271208291636501 1 140632640751 7442 1 56215695876881 18 0
36. internal Emergency Stop relay is not open i e E01 E02 and E03 E04 is still closed This is useful later when we connect to another machine This figure shows an example how two machines can be connected together and this is what we need in this case The example speaks about two Robots connected which are also possible but in our case we have one CNC machine A and one Robot B to connect but it is still the same principle 127 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria So far you can see the terminals E01 E02 E03 and E04 have not been used but we are going to use those now This is just two contact sets E01 E02 is one contact and E03 E04 is another contact set These contact sets are normally closed and both contact sets also opens when there is an Emergency Stop condition This is great and we can use that to tell another machine that there is an Emergency stop on the Machine which is holding this contact set Consider that we have both an External Emergency Push Button left figure and we also have a interconnection with another machine right figure Remember that TA EA and TB EB and TA EEA and TB EEB need to be short circuit to have a normal condition without Emergency Stop So follow the wire from TA on machine A down to first contact set of external Emergency Stop and back to EA Same follow the wire from TB on machine A down to
37. necessary 56 Universal Robots UR 6 85 5 A hints and tips __universntrosots aCobria 14 4 Singularity during MoveL As described previously when using the MoveL programming method there is a change to run into a Singularity which is an illegal mathematical expression To illustrate that have made a quite stupid program am using the exact program as above i e only two Waypoints in the MoveL mode The two waypoints have chosen are seen below Waypoint 1 Waypoint 2 Since have chosen MoveL expect that the robot goes in a straight line from Waypoint 1 to Waypoint 2 but notice that it would require the robot to go through the base joint at the centre because the two points are on each side of the base But have been able to make the program and all statements are on green so let s try to run it Security Stopped Security Stopped SECURITY CHECK Speed limit violation Enable Robot The robot started to move from Waypoint 1 towards Waypoint 2 in a straight line but when the physics was in the way the robot showed the phenomena about increasing in speed and then rapid security stopped with Speed limit violation and never reaches Waypoint 2 57 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria Let s just try and change the above program to a Moved program with the same Waypoint 1 and Waypoint 2 positions and run it The robot runs this program beautifully with
38. not happen this is not good Therefore Emergency stop circuits has to be made of approved and certified components the comply with the highest class standard of safety This means it is not good to insert or make to much modification to emergency stop circuit unless we use approved equipment that is Emergency Stop relays Such functionality is often build into nowadays standard machines Also what is important to understand is that when talking about Emergency Stop circuits we normally has two loops for the highest class of safety the reason for that is to be sure to detect an Emergency stop situation even if there is error on the equipment Consider a contact set is hanging inside the Emergency stop pushbutton and when someone press the contact still hangs and no Emergency Stop is detected that s not good so instead there must be two contact set in a good Emergency Stop circuit for each pushbutton because if one contact is hanging then the other contact will properly still work when someone press and the Emergency stop is detected 126 Universal Robots UR 6 85 5 A hints and tips __universatrosors Zacobria Remember that we need two loops so that s why you see two sets of TA EA TB EB and TA EEA TB EEB inside the robot cabinet On the top left figure you see the External Emergency Stop jumped out i e there is no External Emergency stop used That s how the robot is configured as standard only the inte
39. one 63 Universal Robots UR 6 85 5 A hints and tips universa meos ZACODT A This Wait instruction we just made because the program to stop until this condition occur Sometimes we still want to do other things while we are waiting for these conditions to occur In such case we can choose an IF statement instead File Program Installat My first prograr Insert Wizards Advanced Robot Program eo WV Move Action DO 6 2 On Action DiO 6 2 off Wait DI 1 2 HI lt empty gt Press the Structure tab Inside the Structure tab is three sub tabs So far we have only used the Basic one This time Press the Advanced tab Inside the Advanced tab is more program objects to choose from Choose the one that say If Else Notice how the If statement enters our program block Still yellow because we need to define it The If statement actually has two yellow markings because we need to set to parameters for the If First the condition for the If to happen and what to do when the If happens Make sure the If line is highlighted And Press the Command tab 3 Command Graphics Structure Program Installation If My gt fi rst p ro gram Co m m and Depending on the state of the given sensor input or program variable WV Robot Program PF h following lines will be executed
40. second contact set of external Emergency Stop and back to EB The two loops are closed Now follow the wire from TA on machine A over to E03 on machine B through a closed contact to E04 and back to EEA on machine A Same follow the wire from TB on machine A over to E01 on machine B through a closed contact to E02 and back to EEB on machine A The two loops are closed The same principle for machine B over to machine A Now consider an Emergency Stop on machine A or a External Emergency Stop on machine A first of all it stops machine A and because the internal Emergency Stop relay on machine A opens up E01 E02 and E03 E04 it breaks the loop of TA EEA and TB EEB on machine B so machine B also stops Now because we used TA EEA and TB EEB as the loop to break on machine B it causes the machine B to stop OK but the internal Emergency relay on machine B does not open E01 E02 and E03 E04 on machine B That very good because now we can reset the Emergency Stop on A which closes E01 E02 and E03 E04 on machine A which cause the loop TA EEA and TB EEB on machine B to close and both machines can restart Note If the Emergency stop relay had opened on the machine B which is the machine without the real Emergency Stop pressed then we would not have been able to reset again because both machines would held each other open but now we can It is p
41. the joints is still unknown to the robot controller Push Auto until all lights turn green Rotate joints individually if necessary Push Auto until all lights turn green Rotate joints individually if necessary 1 1 9Start OFF Robot Power 4D o Start OFF Robot Power 4 Robot Auto INITIALIZING D Robot Auto INITIALIZING A Base lt a E Aute READY D Base m mb Auto READY Shoulder Auto READY Shoulder Auto READY ns a LJ ej 2 Elbow m E Auto READY D Elbow m mb Auto READY pets 1 rT 4 Wrist 1 m mb Auto READY D Wrist 1 m mb Auto READY D po SS Wrist 2 m B Auto READY D Wrist 2 m gt Auto READY D m Wrist 3 m mb Auto READY m Wrist 3 m m Auto READY 2 2459 Tool OK D Tool OK w ControlBox OK ControlBox OK D X Exit X Exit Press the Start button You will hear six clicks click click click click click which are the mechanical breaks inside the joints that are releasing The mechanical breaks are use in transportation and after an Emergency stop to ensure the robot joints do not move PA DEL I Push Auto until all lights turn green Rotate joints individua
42. the photo is normal Base m INITIALIZING shoulder Ko INITIALIZING Elbow 4 OK Wrist 1 INITIALIZING Wrist 2 _ INITIALIZING Wrist 3 _ gt INITIALIZING Now we want the Shoulder joint to move upwards in order to get the more upright and if turning down we might crash into the table if the robot sits on a table Press the arrow pointing to the left for the Shoulder joint P gt be a You will see the robot move further upwards by the Shoulder joint movements 12 Universal Robots UR 6 85 5 A hints and tips __universntrosots 4aCobria Base INITIALIZING ox Elbow OK Wrist 1 INITIALIZING Wrist 2 a INITIALIZING Wrist 3 INITIALIZING After a few seconds the Shoulder joint will also report OK and the position of the joint is now know to the robot controller Shoulder Robot INITIALIZING Base INITIALIZING Shoulder OK Elbow 4 OK Wrist 1 INITIALIZING Wrist 2 INITIALIZING Wrist 3 INITIALIZING Now the robot is already quite good up and free so for the last 4 joints we will use a faster method Press the Auto button on top of all joints where it says Robot Push Auto until all lights turn green Rotate joints individually if necessary On OFF Robot Power m v eh r c o at o t Auto OK Auto OK Auto OK Auto OK Auto OK all Auto OK lele 666
43. your file by pressing the sub directories until you see your file you wish to load LN My_first_program urp EN Test N My_first_program urp Press on the file so it is highlighted Press on the Open button In Progress Please wait Program Installation Move 1 0 Log My_first_program Command Graphics Structure V Robot Program V Move 9 Waypoint 1 Program 9 Waypoint_2 e The window on the left shows the program tree Use the Next and Previous buttons to navigate through the program tree Use the Structure tab to modify the program tree File nstallz Program My first proagr T Robot Program e V Move o Waypoint 1p Waypoint z C Add BeforeStart Sequence Set Initial Variable Values b gt lt gt E Program Loops Forever G Simulation P Q Real Robot H Speed 66 Previous Next gt You will see your program reload into the Program tree block and you can continue to edit the program or simply use the program if is a finish ready made program 51 Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria 14 1 Program environment tools and indicator Between the Command tab and the Structure tab which we have used a lot so far is the Graphics tab Press the Graphics tab This window shows a Graphic represent
44. 00000 1 3401 161163439792 3 2142944148329960 0 2722986670990757 t 4 0000000000000000 r 0 0000000000000000 n time sleep 4 s send set_digital_out 2 False n time sleep 0 05 print 0 2 seconds are up already s send set_digital_out 7 False n time sleep 1 count count 1 print The count is count time sleep 1 data s recv 1024 s close print Received repr data print Program finish kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk Echo client program import socket import time HOST 192 168 0 9 The remote host PORT 30002 The same port as used by the server print Starting Program count 0 while count lt 1 s socket socket socket AF_INET socket SOCK STREAM s connect HOST PORT time sleep 0 05 s send set_digital_out 2 True n time sleep 0 1 print 0 2 seconds are up already s send set_digital_out 7 True n time sleep 2 Jj s send movej 0 5405182705025187 2 3503301841 12267 1 316631037266588 2 2775736604458237 3 3528323423665642 1 2291967454894914 a 1 396263401 5954636 v 1 047197551 1965976 n time sleep 2 s send movej 0 7203210737806529 1 82796919039503 1 8248107684866093 1 3401 161163439792 3 2142
45. 1 O Setup Setting the Tool Center Point TCP Coordinates Modbus The payload at the TCP is 0 0 kg E Recalculate robot motions to fit new tool offsets Change motions Redraw graphics to illustrate the new tool offsets Change graphics Robot Modbus Controller Input Digital 0 1 2 3 4 5 6 7 m o LIE II analog in 0 analog in 1 0 000 V ov 5V 0 000 V ov SV ov SV Controller Output Bo La GoGo al Leda analog_out 0 analog_out 1 E E 4mA 20mA 4mA 20mA Tool Input Digital 9 Biol analog in 2 o019V ov 5v x analog_in 3 0 017 V ov sv x Tool Output Digital 8 9 On Off Voltage Current 003 mA 0 12 24 Q Simulation Q Real Robot Program Installation Move 1 0 Log Move Tool Robot 2897 Move Joints Feature View Tool Position Base B Shoulder _ J X 423 17 mm v 273 83 mm Z 13 01 mm RX 0 6048 RY 1 2541 Rz 2 4894 Teach A a Wrist 1 Wrist 2 Wrist 3 lt j gt gt Elbow E gt 88 933 gt gt gt G Simulation 9 z Q Real Robot speed igo Program Installation Move 1 0 Log Robot Health Readi
46. 2 Variables Prefer to keep value from last run The Init Variables screen there is a feature called Prefer value from previous run If this one is clicked for the intended variable then the robot can remember the value of the variable form last program run This is useful to keep track of positions that changes through the flow of the program Program Installation Move 1 0 Leg 3 Thread Command Graphics Structure Variables Init Variables VW Robot Program V Move e amp If var 2 0 var j 1 Waypoint 1 Waypoint 2 Action DO 3 2 Off e Wait 0 5 e Action OO B On amp Waynoint_3 4 V If var_2 4 e Waypoint_4_4 Initial Variable Values var 1 O0 var 2 prefers to keep value from last run Wait 1 0 Exwar 21 0 ewar 1 1 F if var 2 22 e Waypoint 4 3 Action DO S Wait O 5 Action DO Wait 1 0 yar j 4 e V if var_2 2 4 b Variable Expression var 2 OO O Prefer value from previous run Rename Clear Expression Grea Robot MM Pe PLE speed 0100 tePrevious Next gt 80 Universal Robots UR 6 85 5 A hints and tips wem meos ZACODT A 23 Programming Lesson 9 Thread To control a conveyor that has a function related to the machine the Robot is tending can by advantage be controlled from the Robot program One way to do this is to use the function Ihread First lest assume we have a program t
47. 3 e Action DO S3 2 On Wait 0 5 Action DO 8 2 Off Wait 1 0 e yar 2 24 Add Elself Remove Elself e V if var 2 22 a ue H Add Else Qamuaion MM Pe bi I speed 100 The first part of the program is almost like before until we reach the point where we have to deliver the work piece onto the conveyor However on top of the main program there has been an IF statement inserted which is to initialize our position counter The position counter is a new variable called var 2 In the Init Variables block we set the var 2 to 0 So first time we run the program the variable will be O and thereby we know this is the first run and we can change the value to 1 so we can place the first work piece at position 1 If we use the function to store values of this variable in between runs then we can achieve that the robot can remember which position on the conveyor is the next position this will be explained later oince we have 4 different positions for the robot to deliver the work piece to we have to create 4 waypoint for this position across the conveyor belt These 4 waypoint will be in line across the conveyor belt because it is the moving forward of the belt that provides the zigzag pattern So 98 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria we will put the first at position 1 and then position 2 move the conveyor a little forward then put at p
48. 45542 1 410065160905723 3 2146832909469674 0 27251 TEES STU a 1 3962634015954636 v 1 047197551 1965976 Set digital out 9 False end end Note how the content of our two script files has been inserted to the program marked with yellow The big advantage now is that we still have our two script files we can edit with an editor on another computer and make adjustments to our variables e g if we want to change output or change timer values it can be done while the robot is running production and then when there is a break be loaded into the robot program which can immediately be started It is possible to have the entire program as a script file and import in this way so the tree structure will only have one statement a Script statement where the entire program is in a script file and thereby loaded into the robot But in such case some of the wrappings and comments has to be removed from the script file format the robot create by itself in order to avoid double definitions 110 Universal Robots UR 6 85 5 A hints and tips universa Rogos 3 GACOD 1a 24 2 Script program by Socket connection Host computer to UR robot 1 The previous chapter used the Script function available in the teaching pendant to import blocks of Script code or entire program into the robot and run from the teaching pendant In this chapter we will focus on making a script that entirely control the robot remotely from a host computer by Sc
49. 666 e Keep pressing the Auto button Now notice how the remaining 4 joints all move until all of them say OK which means the robot has been Initialized and all joint position are know to the controller This Auto method is actually possible for all 6 but since the robot was folded we choose this controlled method until the robot had more space We will try that very soon the second time we start up the robot 13 Universal Robots UR 6 85 5 A hints and tips __universatrosors Zacobria Push Auto until all lights turn green Rotate joints individually if necessary On OFF Robot Power Robot Auto OK LJ Base a ED Auto OK 9 Shoulder m m Auto ox a Elbow m m Auto oK a Wrist 1 m mb auto ok a Wrist 2 m m Aue ok a Wrist 3 m m Auto ok a Tool OK a ControlBox OK a 2K All the joints on the monitor reports OK and notice how all the lamps turned green The robot is now initialized and ready to be programmed or load a program if we already have made a program before Auto OK 9 ENG Please select gt MAN ais LJ RUN Program E Auto ok a UNIVERSAL EL diea OK a ROBOTS PROGRAM Robot E gt Auto OK 9 E Auto OK rJ SETUP Robot E g
50. 704 RZ 0 1721 Move Joints Base EE 7 36 688 Shoulder e ERN 84 813 Teach Wrist 1 4mm Wrist 2 Eg il Wrist 3 i zi Elbow m m E 29 904 LJ GO Simulation Q Real Robot Speed 71009s Move Tool Program Installation Move I O Log 259 A a Robot Feature Move Joints Base uu 3 36 688 Shoulder HE 84813 Teach Wrist 1 E Wrist 2 e ER Wrist 3 Jam gt gt Elbow gt 99 993 gt gt ch G Simulation Q Real Robot Speed 41 7100 Try and go back to the Feature screen in the installation screen Load Save Features Base Tool X Point_1 9 f Line 1 X Point 2 Point_3 9 4 Plane 1 X Point 4 X Point 5 X Point 6 Show axes L 1Joggable Try and un tick the Joggable Feature VIP a Point al 0 0985 Go back to the Move screen Notice how the Line 1 is now missing I e that Joggable will determine if we have it available in the Feature menu This Feature is useful when programming the robot and the waypoints are define relative to an object Line or Plane and it is easier to position the robot 116 Universal Robots UR 6 85 5 A hints and tips universa Rogos 3 GACOD 1a 26 Hardware Too
51. 94414832996 0 2722986670990757 a 1 3962634015954636 v 1 047 1975511965976 n time sleep 2 s send movej 0 54051 827050251 87 2 3503301841 12267 1 316631037266588 2 2775736604458237 3 3528323423665642 1 229196745489491 4 a 1 3962634015954636 v 1 047197551 1965976 n time sleep 2 s send movej 0 72021 3311630304 1 8280069071476523 1 8247689994680725 1 3396385689499288 3 215063610324356 0 27251695975573664 a 1 39626340 15954636 v 1 0471975511965976 n time sleep 2 s send movej 0 5405371 25683036 2 2018732555807086 1 0986348160112505 2 6437150406384227 3 352864759694935 1 229488393586801 3 a 1 3962634015954636 v 1 047197551 1965976 n time sleep 2 s send movej 0 54051 827050251 87 2 3503301841 12267 1 316631037266588 2 2775736604458237 3 3528323423665642 1 229196745489491 4 a 1 3962634015954636 v 1 047197551 1965976 n time sleep 2 s send movej 0 7203210737806529 1 570750000000000 1 3401 161163439792 3 2142944148329960 0 2722986670990757 t 4 0000000000000000 r 0 0000000000000000 n time sleep 4 s send set_digital_out 2 False n time sleep 0 05 print 0 2 seconds are up already s send set_digital_out 7 False n time sleep 1 count count 1 print The count is count time sleep 1 data s recv 1024 s close print Received repr data print Program finish 112 Universal Rob
52. 951853965781 0257 a 1 3962634015954636 v 1 0471975511965976 end end Don t dwell too much into the details at this stage of this script file and may just study a single line statement e g the set tool voltage 24 which sets the Voltage on the tool to 24 Volt and compare to the explanation in the scriptmanual enx x document set tool voltage voltage Sets the voltage level for the power supply that delivers power to the connector plug in the tool flange of the robot The votage can be 0 12 or 24 volts Parameters voltage The voltage as an integer at the tool connector Note that in this case the robot has wrapped the Script code around with some initial definitions that you do not see in the tree structure but that s default robot settings and also comments like 2 Waypoint 1 this you might or might not need in your Script file depending on your complexity of your Script program and also because we are inserting Script code into a part of a already existing robot program and therefore some of these wrappings will be duplicated and cause program errors so in this first simple case we do not need it Study also the long movej xx xx xx V XX which is actual positions of the waypoints The meaning of the values will be explained later section 106 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria In our case we just need two script files because we need to insert Script
53. DD6dl hslm 8 6400s URControl C10040 Robot changed mode OK 0006010n33056 6645 Elbow 11042 JOINT SECURITY STOP R 0006d10n43056 6565 Elbow C4340 Could not track target position R 0006d10h33056 6645 URControl C10044 Robot changed mode SECURITY STOPPED R 0006d10n24040 400s URControl C10040 Robot changed mode OK S 0006010n37056 6805 Elbow 11042 JOINT SECURITY STOP R 0006d10h37056 6725 Elbow C434255 Could not track target position R 0006d10hn37056 6805 URControl C10044 Robot changed mode SECURITY STOPPED R O006d10hS7038 760s URControl C10040 Robot changed mode OK Dg6dl hd6m 5 0327s Tool 534123 IO overcurrent detected max is 600m4 R O006d10hn46n03 0325 Tool C53A41273 IU overcurrent detected max is 600m4 R ODO6dl hd6m 032s URControl C10044 Robot changed mode SECURITY STOPPED R o006dl hi m 4 520 amp URControl C10040 Robot changed mode OK Below is a running system log with information of resent status and activities The control MC UR Zacobria Joint Load Base shoulder Elbow Wrist 1 Wrist 2 Wrist 3 OK OK OK OK OK OK m Clear buttons are available for running or single step the program and the log entries can be observed while running which is useful for troubleshooting purpose 34 Universal Robots UR 6 85 5 A hints and tips universan Rogos P4aCODria 12 Start programming Lesson 1 12 1 MoveJ and MoveL The robot can be programmed in different ways From this onscree
54. Emergency Stopped PROGRAM Robot The Robot has Changed Mode A From NO CONTROLLER To ROBOT POWER OFF To Proceed 1 Release Emergency Stop Button 2 Start Robot ok SETUP Robot Tolnitalization Screen About SHUT DOWN Robot SHUT DOWN Robot SETUP Robot Emergency Stopped Robot has Changed Mode Pall Emergency Stopped To Proceed 1 Release Emergency Stop Button 2 Start Robot The Robot has Changed Mode PN From NO CONTROLLER To ROBOT POWER OFF If the emergency messages are shown then turn the red mushroom button clockwise Then press the OK on the screen Universal Robots UR 6 85 5 A hints and tips __universatrosors Zacobria ull Emergency Stopped To Proceed 1 Release Emergency Stop Button 2 Start Robot To ROBOT POWER OFF OK A To Initalization LN It is also possible to use the mouse and click on the OK or To Initialization Screen Robot has Changed Mode The Robot has Changed Mode From NO CONTROLLER From this stage on and the rest of the manual a mouse click is used instead of pressing the touch screen monitor if not mentioned otherwise The mouse click or press with finger has the same result This will take you to the Initialization screen because at this point just after a cold reboot the robot does not know where the joints are situated This also apply if the
55. F statement are executed 17 Combinations of expressions In a conditional expression you can have combinations e g IF input 1 High AND input 2 Low Then do something But make sure you are using normal mathematically rules so use of parentheses are a good thing like this IF input 1 High AND input 2 Low Then do something However instead of long mathematically statements then better have more IF statements 18 Programming Lesson 4 Special conditions 18 1 Infinite loop Sometimes when you program and try to test run your program you will see an error messages something like this Infinite loop detected This is because the program is syntax checking your program so if you have an IF expression for a condition to happen but never programmed what to do if the conditions is not present then you might see this error messages he trick is to insert a dummy Wait instruction for what to do IF the expression is not present just choose a very low value of the Wait e g 0 01 Seconds which pass very fast and the program will loop until the IF expression is true 72 Universal Robots UR 6 85 5 A hints and tips __universatrosors Zacobria 19 Programming Lesson 5 Files Extracting files to the office computer After the user program files have been saved on a USB drive it is very easy to transport them to an office computer for documentation and backup Just insert the files into your office co
56. Hz Response Time ms 0 o omare I 7 Frequency Hz Response Time ms 0 show advanced options Digital Input 75 Frequency Hz Response Time ms 24 Modbus Slave Address 255 Modbus Slave Address Q piaou o Frequency Hz Response Time ms 16 Modbus Slave Address 255 s Q Omo E r renueni y ied Response Time ms 48 Modbus Slave Address 255 2 Dimo EE Frequency Hz Response Time ms 32 Continue until all 8 Outputs have been defined local address 0 7 In case of more than 8 in and 8 outputs the Modbus scan frequency maybe has to be reduced 121 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Modbus IO Setup E niin 192 168 0 10 IP 192 168 0 10 Sh Digital Input _0 8 Modbus_1 Jr Frequency Hz Response Time ms 112 Modbus Slave Address 255 Digital input 1 88 Modbus_2 uk Frequency Hz Response Time ms 104 Modbus Slave Address 255 Digital input 2 8 Modbus_s L Frequency Hz Response Time ns 104 Modbus Slave Address 255 ER D Digitai input 3 Modbus_4 mm o Frequency Hz Response Time ms 64 Modbus Slave Address 255 ES a Digital Input 4 amp Modbus 5 wel Zacobria Modbus IO Setup 192 168 0 10 IP 192 168 0 10 Si E Digital Input 0 Modbus_1 a Frequency
57. L Linear movements cccceccseccseeceeeceeecaeeceeceseceuecaeeseeeeueseueceueseeeseeeeeesaeeseas 54 14 4 Singularity during MoveL seeessessssssseseseee nennen nennen nennen nnns 57 15 Programming Lesson 2 Inputs and Outputs esesseesseeseeeeeeee 59 15 1 Reading Inputs and Setting OUtOUtS ec eccceceeeeeceeeeeeeeeesaeeeesseeeesseeeesaeeeesaeeeeeas 59 ISe eUn Aa OUD eea E E or 59 16 Programming Lesson 3 IF conditions ccccccceccceeeeeeeeseeeceeeceeeeneeeseueeeeeeseeeseeeeaeeens 69 16 1 Check expression continuously sees 71 17 COMDNAIONS OF CX OSS SIONS aeee EE EEEE NEE oda eet eran acl rotas D uds 72 18 Programming Lesson 4 Special conditions ccceececseeeeeeeeeeeeeeeeeeeeeesaeeeeaeeeesaaeees 72 Tce nili 72 19 Programming Lesson 5 Files TE 0 o To OO 73 20 Programming Lesson 6 Templates cccceeccceeeceeeeeeeeseeeseeeeeeeeseeeseeeeeeeeseeeseeeeeeeens 75 20 1 Pattern Templates ccc ccccccscecescceeeeceeeseueccaeecseeseueeeaeeseeeseuseeseeseeesegeesseeseaeeseeesags 75 20 1 1 Pallet Pattern Square cccccccecccseeecceeeceeeecseeceeecseeceeessueessueessueessseessaeessgees 75 21 Programming Lesson 7 Before Start Sequence ssssserrsesrrrsrrrrsrrrsrrrrrrrrsrreeeree gt 78 21 1 Add Bef reStart SegUENGE serioses a
58. Move Waypoint a Waypoint I Wavpoint Rename Rename he o Waypoint Press Structure to go to our program object menu Choose Waypoint again The second Waypoint has entered into the program but it is still yellow because it is undefined make sure you have highlighted the yellow Waypoint statement Press Command to define the Waypoint M Prog ram e a Tool mm G 8 Waypoint Please specify the robot posit Set this waypoint Move Joints l 9 p Base 43 E Press Set this waypoint which brings up the Move Screen This time we just choose to move the tool head upwards with the Up arrow key Keep pressing the Up key until the The Teach block in the Move Screen has the robot same function as the black button on back of reaches a desired position and the the monitor i e to release the robot breaks for release manual manipulation into position the Up key in the Move Screen 42 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria ay Program Install ai 0045 lt unnamed gt eS Y Robot Program gt n Nes e Waypoint_ 1 a Wiaywnnint 2 X cancel V oK N Press OK on the Move Screen to go back to the Program tree window Now we have two green Waypoint in our program The controller software checks the syntax for us automatically and that s why we have green symbols which mean our syntax and method is OK
59. O 2 Off Wait 1 0 ff Command Graphics Structure Variables Insert program lines here In the Structure tab you will find various program statements that can be inserted Structure If Depending on the state of the given sensor input or program variable the following lines will be executed If var 1 1 O Simulation Q Real Robot rl Speed 7100 Previous Next gt f x 285 Check expression continuously Make sure the Check expression continuously is not ticked If this is checked the robot will check IF var 1 21 is true also during the Thread execution This means that if the var 1 becomes 0 during the Thread execution then the rest of the program lines inside the IF will not be executed This can lead to unintended function if not handled correct In our case we need to set the var 1 to O inside the Thread and if we do that on top of the program lines below the IF then the rest of the IF program lines will not be executed Now we have a little Editing work to do because what we actually want the lines we originally had in the Thread to be under the IF statement otherwise the lines will be executed no matter what is the result if the IF expression o0 we need to move those 4 lines up under the IF by using Cut Paste or create them again
60. Universal Robots UR 6 85 5 A hints and tips universa meos ZACODT A UNIVERSAL ROBOTS For model UR 6 85 5 A Training Manual Hint and tips Version 1 4 March 2012 Zacobria Pte Ltd Universal Robots UR 6 85 5 A hints and tips wies 3 GACOD 1a 1 Preface This manual provides some in depth and step by step introduction and use of the Universal Robots After reading this manual you will be able to use and program the Universal Robot UR Aside from this manual there is the original UR user manual manual enx x pdf wish also is very good and provide other detailed information s for using the UR and it is recommended to read both manuals Especially the reading the safety section and risk assessment is necessary to read before going any further The UR is a very innovative and user friendly product and it is also interesting to know a little about the inside of the robot especially when the covers are so easy to remove which can be done without any harm however just look don t touch anything inside the joint or even turn any screws inside because the encoder can then get out of adjustment and the robot will malfunction and the warranty is void so just close the lid again see also photo at the end of this manual of open joint One thing you will experience very fast is that it seems that the robot has its own mind which is also true but it is the mind of the programming team who made this robot but
61. aa Program Installation Move 1 0 Log eal My first program Command Graphics Structure V Robot Program 4 v V Mow Move 9 Waypoint_1 Waypoint_2 Here you can tell the robot how it should move between two positions by setting some waypoints that the robot should move through You probably need just one or two waypoints but you can have as many as n you like Use the buttons below to increase or decrease the number of Fi e waypoints a as IET Program Installation Move I al My fi rst program Com and Shared Parameters Move Tool Linearly O a ae an Vv Ro b ot Program Joint Speed 60 0 deg s WV MI Ove Joint Acceleration 80 0 deg s Ed LE Wary Ol nt _ 1 Reset to defaults j pa amp Waypoint 2 Here you cat Add Waypoint m j 3 Simulation Woe We ee i 2 setting SOME Q Real Robot M4 me Speed 66 Previous Next gt If not already in the Command view then Press the Command tab Then you will see the definition screen for the MoveJ statement We can also call it the properties for the MoveJ statement 04 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria At the right hand side lower corner is the definition for the MoveJ statement which by default is a nonlinear movement hence the Moved statement in our program Below is a parameter called Move Tool Linearly wi
62. am Enable Robot If you get this error messages is because the robot does not like to be caught in an Infinite loop In this case the Thread program might be Infinite if the var 1 never change So we do the trick by inserting a small and very short Wait and put it at a very low value e g 0 01 seconds This is done before the IF statement in the Thread so the Thread has something else to do if var 1 is not 1 In this case to wait 0 01 seconds Program al Thread Variables Init Variables Y Robot Program bg ave Wait e Waypoint 1 a Waypoint_2 Action Do 9 s Off i Wait 0 5 3 No Wait e Action Do s5 2 0n a Waypoint_2 Q Wait 0 01 seconds f a Waypoint_4 Action DO 3 2 On SE Wat 0 5 CJ Wait for Digital Input lt Di lnput gt LO Action DO 8 Off y yar_l 1 3 Wait for zAn Input aMi 0 0 Yolts i Y Thread 1 Wait 0 01 ars e V If var 1 1 G Wait for ez Action Do 2 20n Wait 1 35 e Action DO 2 2 Off Wait 1 0 yar 1 20 Please select what should trigger the robot s next action Saara MA Pi Mm Speed 0100 4 Previous 94 Universal Robots UR 6 85 5 A hints and tips __universntrogots acobria The entire program looks like this below Init Variables v e WV Move a Waypoint 1 Waypoint 2 e Action DO 3 2 Off Wait 0 5 Action DO S On e Waypoint _s e Waypoint 4 Action DO S On Wait 0 5 e Action DO 5 2 Off
63. ame output after the robot has moved to the Waypoint 2 Press the Waypoint 2 and go to Structure tab and pick one more I O action Action Select the action you wish the robot to perform a program You can also specify changes in the rok 3 No Action File Li m j Set Digital Output Installat Program My_first_prograr Y Robot Program o V Move a Waypoint 1 Action DO 6 20n e Waypoint z e Action DO 6 2 Off Set Analog Output zOutput ee Set the total payloa G Set Press the Command tab and again choose Set Digital Output and select digital output 6 but this time set it to OFF File File Program Installation Move l O Log mM Al My first program Command Graphics Structure Program Installat V Robot Program l a ni Program Structure Edit My first prograi Action DO 6 On VY Robot Program Waypoint_2 F M owe Action DOLS f Basic Advanced Wizards Hen int 1 aynuint Move Action DO 6 2 in EM a Waypoint z Wait Popup Continuing programming we wish to have a Wait instruction at this stage in the program Press the Structure tab and choose the Wait object Now a Wait statement enters the program block Make sure the Wait is highlighted and Press Command tab to define the Wait statement 61 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria Wait P
64. ation on the robot during program run like a 3D simulation ISIN RUE Structure Command Graphics Structure Qa a a a te Program Structure Editor La Insert s a Basic Advanced Wizards Move Waypoint Wait I O Action After M 4 D selected Popup Halt Comment Folder Edit Move Copy Paste After selected wy Move Cut T Delete Suppress In the Structure Screen at the bottom is normal Cut and Paste functions which is very useful when program parts has to be moved during program edit or completely Cut away 1 Command Graphics Structure DO Graphics ETE Waypoint 1 Rename Fixed position M EE Waypoint_1 Rename Move robot here Change this Waypoint Change this Waypoint Show advanced options o Stop at this point O Blend with radius Show advanced options A Remove this waypoint J Add waypoint before Add waypoint after o stop at this point The Command tab also has a few edit functions for adding or removing Waypoints 52 Universal Robots UR 6 85 5 A hints and tips wwemsw mors 4acobria 14 2Speed for Program run When highlighting Waypoints in the Program block then the Command tab also have a function called Show advanced options try and tick that option Show ad
65. aypoint In this example the robot has two waypoints and 2 actions and a wait to perform each time it reaches a one of the 8 positions in the Square Pattern Bs 2UEI 1L ULI IHE LL P subProgram 1 e eo Pallet se Pattern Square 1st Corner 1 e nd cCarner 1 amp ird Carner 1 a 4th Corner 1 so PalletSequence e Action DOo 8 2 Action DO S Wait 1 0 Waypoint 1 4f Universal Robots UR 6 85 5 A hints and tips universa mos lt acobria 21 Programming Lesson 7 Before Start Sequence 21 1 Add BeforeStart Sequence The section of BeforeStart in the program tree is programmed with the normal programming method but will be executed only one time before the main program starts File Program Installation Move 1 0 Log init_variables Init Variables v Action DO S On e Action DO S Off Y Robot Program e WV Move Wawnaint z e Action DO S Off Structure Command Graphics BeforeStart This sequence will execute before the main program In some cases it is desirable to have a program sequence which is run before the main program is started and also to set variables to an initial value and to determine if the program should only have one passages or loop forever All these features can be achieved from the Robot program screen Point the cursor on Robot Program in the program tree structure and a screen like below will appear Program Installation Mov
66. aypoint in the program tree we now get this screen with a big question mark like it is asking us where should this waypoint be So we need to set Press the Set this Waypoint button Program Installation Move 1 0 Log Move Tool Robot Feature Qa View Tool Position Y x 55 64 mm Y 190 99 mm z 224 68 mm RX 0 1973 lees I ny _ 2 1233 Rz 2 1234 This brings us the familiar Move Screen 4 We can choose to use the Move Screen UN to move the robot into position by pressing r ge the arrow keys on the bars Shoulder isl mmm gt i Teach m D o s T A uo Wrist 3 Gm oon GO Simulation Q Real Robot Speed 7100 3 Cancel ll y OK 39 Universal Robots UR 6 85 5 A hints and tips __universntrosots aCobria 12 2 3 Teach in mode But the arrow keys are more useful when we need to fine adjust our Waypoints Here in the beginning to define our rough positions it is faster to use the Teach in mode by moving the robot by hand On the back side of the monitor there is a small button Hold the monitor as shown on the photo with one hand because then it is easy the watch and handle the monitor and also to press the button on the back of the monitor This small black button releases the breaks on the robot and you can now move the robot into position by moving with your other hand a little e
67. ble to store your user programs on the internal hard drive Flash card in this case will recommend to dedicate a small USB thumb drive for your user programs Because they are then very easy to carry over to your office computer for documentation and backup purpose and it becomes much easier to version control your programs To save on the hard drive and on the USB drive will often lead to confusion for which is my correct and latest program And to copy from the hard drive over to an office computer is tricky but using a USB drive makes its very easy and convenient Free USB port Prepare an empty USB drive Insert the USB drive in Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria 5 Turn on power Turn on the power by pressing the ON button on the monitor f A messages appears that say No Cable Which normal and no action is need for this Loading Please Wait UNIVER ROBOTS During boot you will see various screens loading and checks this is normal and it takes 1 2 minutes to boot You will also hear the fans turn in the controller box Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria After booting the monitor will show one of these two screens depending on if the Emergency push button has been pressed Please select Please select mem UNIVERSAL ii U N l Emergency Stopped ROE ROBC PROGRAM Rober obo Q
68. cedure then keep pressing until all joints report OK 16 Universal Robots UR 6 85 5 A hints and tips universan meos P4aCODria Push Auto until all lights turn green Rotate joints individually if necessary Robot OK On OFF Robot Power LJ Robot Auto OK Base a ED Auto OK Shoulder Ok Shoulder a E gt Auto OK Elbow m m Auto ok D Elbow ew m Aute Ok Wrist 1 a gt auto ok D Wrist 2 m m Auto ok wisi 4m E j ate ok me oe ControlBox OK wer de ae ox OK This time the initializing procedure went much faster and this will often be the choice of method during a cold reboot of the robot Press the OK button at the bottom of the screen to go to Main menu Please select RUN Program R O B B I S PROGRAM Robot SETUP Robot About SHUT DOWN Robot 17 Universal Robots UR 6 85 5 A hints and tips wem lt acobria 6 Menus and finding your way around Please select Please select RUN Program RUN Program UNIVERSAL UNIVERSAL ROBOTS ROBOTS isl SETUP Robot SETUP Robot About About SHUT DOWN Robot SHUT DOWN Robot From the Main menu next action can be selected If a program is already available such program can be loaded and Run directly from t
69. ceeeecseeseeeeneeesseesees 117 28 Extension of I O interfaces by MODBUS nodes ccccccceeeceeseeeeeeeeeeeaeeeseeeeesaeeeesaees 118 29 SeT Ys RTT 124 30 Force feed back and Safety StOp ccccccccssccccseececeeeeeseeeeeseeeeeseeeesseeeesseseesseeeseeeeesanes 125 31 COMMECIONOT LIGMT Curio 125 32 Connection of External Emergency stop ccccccsseecceeeeceseeceeeceeeeceueessuseseusessueesaaees 126 Universal Robots UR 6 85 5 A hints and tips wwemsw soos 4aCObria 3 Unpacking The UR arrives in two similar cardboard boxes one with the controller and one with the robot itself Unpack both boxes and place the controller on a table or the floor The robot is folded in foetus position and can be placed on a table stand or any place that is prepared with 4 holes that fit the foot base Since the robot is folded in this transportation position is not possible right now to fit all 4 bolts but 1 or two is enough to hold the robot so just fit the bolts where the base holes are accessible The monitor is a touch screen monitor and can be operated as it is with pressing the screen and onscreen keyboard It is possible to connect a mouse and keyboard to the USB connector on the side of the monitor and especially a mouse is useful Universal Robots UR 6 85 5 A hints and tips __universatrosors Zacobria 4 Install a USB Thumb drive Although it is possi
70. code at to different locations in the program i e in between the Waypoints and after the last Waypoint and we need two files because they need different contents because we swap the status of the outputs oome we will now prepare the Script files on a PC computer and we just use a simple editor such as Notepad to create these two files 3 scl script Notepad File Edit Format View Help BB sc2 script Notepad File Edit Format View Help set digital out 8 False set digital out 8 True Ssleep 1 0 sleep 2 0 set digital out 9 True set digital out 9 False Note that the two outputs have swooped states and the delay has increased from 1 to 2 seconds Also note the two files has different names i e sc1 script and sc2 script Also note how the Wait 1 0 functions is now called Sleep 1 0 which is in line with standard ocript language o0 now instead of programming these functions in the program tree we want to import these files instead Now we can proceed to insert a Script statement into the program tree by picking it from the advanced program object menu and it comes into the program as yellow because so far it is undefined Program Installation Move 1 0 Leg H Import_script_after Command Graphics Structure V Robot Program xd E MOE Program Structure Editor Waypoint_1 Script Waypoint_2
71. ction DO 2 Off Wait 1 0 Add Elself Remove Elself Add Else Srearraber M BE speca n100 Insert an IF statement into the Thread Define the IF statement by clicking on the formula button Ew e var 1 1 lt lt lt lt N and or xor not True HI and or xor not True HI lt gt z gt lt False LO lt gt z x False LO lt Input gt lt Output gt v lt Input gt M lt Output gt v Variable Pose v lt Variable gt v lt Pose gt v lt Function gt v SHIFT 3 Cancel SHIFT 3 Cancel This will bring up a screen where we can choose the var 1 variable and choose to design our expression as var 121 This means that only IF var 1 1 then we will execute the program line below the IF statement 88 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Program Installation Move I O Log Zacobria Thread V Robot Program 9 V Move Waypoint_1 Waypoint_2 Action DO 9 Off e Wait 0 5 e Action DO 8 2 On Waypoint_3 Waypoint_4 Action DO 9 2 On Wait 0 5 Action DO 8 Off yar_l 1 V Thread 1 gt V If var 1 1 lt empty Action DOI On Wait 1 35 Action D
72. d choose Open in this case the sc1 script file we have prepared and choose Open 108 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria This will open your Script file Choose Save amp Exit which will complete you re Script statement in the program tree and therefore turn green Program Installation Move 1 0 Log set digital out 8 False cm igi Edit Text Hl Import script after Command Graphics Structure set digital out 8 False V Robot Program a sleep 1 0 9 V Move E set_digital_out 9 True os Mr Script Code File 9 Waypoint_2 Script code will be included from the selected file scl script DOWN set digital out 8 False Edit sleep 1 0 set digital out 9 True Clear DELETE LINE INSERT LINE SAVE amp EXIT EXIT Next gt Q Simulation Q Real Robot gt Lan EB Speed 1 7100 Previous lI Note how the contents of the Script file now have entered into our program under the Script statement Now follow the exact way to insert a second Script statement under Waypoint 2 but this time import the script file sc2 script instead Then your program should look like this Program Installation Move I O Log i Import script after Command
73. d to sink and we can say they are Active low because connecting an actuator can be done by applying the supply voltage at the far end of the actuator connections and the other connection to the output terminal and then when the output is driven low by the programmer the external device turns on If you prefer to have an Active high output it is also possible then just apply a pull up resistor So now the far end of the external device is connected to GND and the other end is connected to the output and a pull up resistor The pull up resistor is connected to the supply voltage Now when the output is driven high by the programmer the external device turns on Open collector is actually an advantage because it gives the implementation more choices 0 019 V lov sv x Security Stopped analog in 3 o017V ov sv v Security Stopped IO overcurrent detected Tool Output Enable Robot va A Security Stopped a es 8 9 ILI LAE d Sa on IO overcurrent detected t1 Voltage Current analog ou Emm 1 Enable Robot curet Yos Enable Robot j 4mA 20mA The output is not current limited but if the output is short circuited it will result in a security stop and error messages because of over current detected on an output Press Enable Robot to restart Tool Output Tool Output Digital Digital S 9 8 9 On of um anso _ Voltage Curre
74. d to make sure the robot does not fall uncontrolled down to the floor 15 Universal Robots UR 6 85 5 A hints and tips __universntrosots ZCODY A 5 1 Turn on the robot for the second time Robot has Changed Mode wu co ea ih Base The Robot has Changed Mode From NO CONTROLLER To ROBOT POWER OFF iPg 1 CIFTET t i ele ete e SAISIS N TARIRAN 77770 9 999 TERRE I LEE a To Initalization Screen Turn on the robot again following the same procedure as explained above until you reach the INITALIZING screen zer INITIALIZING Base INITIALIZING Shoulder INITIALIZING Elbow INITIALIZING Wrist 1 INITIALIZING Wrist 2 _ gt INITIALIZING Wrist 3 INITIALIZING Since the robot is up and free then press the Auto button on the top where it says Robot Press only briefly 0 5 1 second and notice which direction the robot moves Press again only briefly 0 5 1 second and notice again which direction the robot moves This is useful if the robot was power off near some obstacle or inside a machine then we can control the movement direction during initializing because alternate press will cause the robot to go in opposite direction zer INITIALIZING Base gt INITIALIZING Shoulder INITIALIZING Elbow _ INITIALIZING Wrist 1 INITIALIZING Wrist 2 INITIALIZING Wrist 3 INITIALIZING When you know the direction of movement you wish the robot to go during the initializing pro
75. do at one position Action DO S Off Change this Waypoint Action DO 8 On Action DO 8 On em y y tat I qun var l var 141 var_1 var_1 1 The anchor position is per definition the new position P Call SubProgram 1 SubProgram 1 A rf ridi 7 Anchor position PatternPoint 1 9 so Pattern Square P Call SubProgram 1 P SubProgram 1 e Pallet 9 amp Pattern Square 9 st Corner 1 9 st Corner 1 2nd Corner 1 3rd Corner 1 2nd Corner 1 3rd Corner 1 4th Corner 1 eo PalletSequence Ce ath corner 1 Show advanced options ee PalletSequence PatternPoint_1 9 PatternPoint_1 Action DO 8 2 Q Action DO 9 2 Q Action nd o Stop at this point Action DO9 0 O Blend with radius Wait 1 0 Wait 1 0 9 Waypoint_1 9 Waypoint_1 mm 1 i L1 T BC L lt gt Remove this waypoint Add waypoint before Add waypoint after 3 Simulation 9 Simulation 3 Q Real Robot d b BB Speed V100 Previous Next gt Q Real Robot Mid gt b5 HB Speed 41 100 Previous Next gt In the Pallet Sequence a program can be created which are to be executed every time the robot reaches a point in the Pattern A PatternPoint_1 is like a W
76. e E 33 EE Me ffe Show advanced options 118 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria In our case the Modbus node has been setup for the IP address of 192 168 0 10 and therefore we have to define this for the Robot Press the Keyboard icon next to the IP address field Modbus Unit IP Address 192 168 0 10 IP x x x x Modbus IO Setup 7 8 9 lt lt r 192 168 0 10 M E 6 4 IP 192 168 0 10 00 n m n 0 oa Show advanced options Key in the IP address of the Modbus node and press Ok S IEE e Modbus IO Setup 192 168 0 10 P 192 1688 0 10 RESO Hel Press the sign just below the sign and in same row as the IP address we are defining Modbus IO Setup R 192 168 0 10 IP 192 168 0 10 oo E o Please select v LJ et Bo fe response Te om BM Please select select Modbus IO Setup 192 168 0 10 IPj 192 168 0 10 em D Digital Input oe Modbus_1 Seems Frequency Hz 10 Iz Response Time ms Modbus Slave Address 255 Ee 4e Digital Qutput Register Input Register Output d Define the first entry as an Input Press the Keyboard sign in the middle 119 Universal Robots UR 6 85 5 A hints and tips universa mes ZACODT A Modbus Signal Address Modbus IO Setup 0 192 168 0 10
77. e 1 0 Log zi init variables Command Graphics Structure Init Variables a V BeforeStart Prog ram Action DO 8 2 On e Action DO 9 Off V e The window on the left shows the program tree W Move mE e Use the Next and Previous buttons to navigate through Waypoint_2 the program tree Action DO 9 Off gt Action DO 8 On e Use the Structure tab to modify the program tree war 1 var 1 1 P Call SubProgram 1 P SubProgram_1 ee Pallet eo Pattern Square e 1st Corner 1 e 2nd Corner 1 e 3rd Corner 1 e 4th Corner 1 9 eo PalletSequence PatternPoint_1 Action DO 8 Q e Action DO 9 Wait 1 0 e Waypoint_1 K Add BeforeStart Sequence T vj Set Initial Variable Values 4 li gt 44 v Program Loops Forever qun Feed gt i Speed 1 1009 Previous Next gt Below in the centre screen is three tick boxes where Add Before Start Sequence and Set Initial Variables Values can be activated And the choice whether the program should have only one run or loop forever is also set in this screen When Add BeforeStart Sequence and Set Initial Variable Values are ticked they will be added to the program tree at the top 78 Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria 22 Programming Lesson 8 Variables 22 1 Init Variables In the Program tree Poi
78. e Idle signal should just be a dry contact controlled by a relay e g via the beacon on the CNC machine That s Potential Free signal exchange and the Power Supplies on the two machines is not connected at all but we still have handshake through the dry contacts 117 Universal Robots UR 6 85 5 A hints and tips __universatrosors Zacobria 28 Extension of I O interfaces by MODBUS nodes If the number of I O interface ports on the controller board and tool head is not enough then it is possible to extend by installing external MODBUS nodes They are connected to the UR controller via the Ethernet and the UR controller programming method is prepared to read and set these external I O signals as they were a part of the integrated controller Example of Modbus configuration using BK 9050 KL 1408 KL 2408 and KL 9010 Modbus modules BK 9050 Modbus Controller with Ethernet port for IP configuration KL 1408 Modbus 8 port input module KL 2408 Modbus 8 port output module KL 9010 Modbus End terminator The IP address of the Modbus node has to be defined in the Robot configuration Program Installation Move o Modbus IO Setup O Show advanced options TE Modbus IO Setup Show advanced options N Tick the Show advanced options and press the sign Mod bus IO setup Modbus Unit IP Address 0 0 0 0 EEUU P x x x x 0 0 ra a IP 0 0 0 JL X 3
79. e if the Robot is mounted as table top mounting but different if the Robot is mounted on Wall or Ceiling or in an angle Move Tool Robot 2 4 If the Feature is changed to Tool the Up and Down arrows move in the Tool heads core axis Try and set the tool head in an angle relative to the horizon and press the Up and Down arrows and observe how the robot now moves in the Tool head axis which is not straight up and down if the head is already in an angle 113 Universal Robots UR 6 85 5 A hints and tips Zacobria Observe the Graphics on this screen which shows the tool head like it is vertical to the horizon but a closer look will reveal that the base is in an angle and therefore the graphics will show the robot head go up and down but by observing the robot the head moves in the tool head score plane This is useful in programming the robot if we are moving relative to an object We can also define our own relative points or line or plane Go back to the Feature s in the Installation screen UNIVERSAL ROBOTS Move Tool Robot Feature amp aS Tool v Tool Position x 0 001 mm y 0 00 mm z 000 mm Rx 0 0000 RY 0 0000 RZ 0 0000 Program Installation Move 1 0 Log Program Installation Move I O Log iti TCP Position E 1 TCP Position F Point 1 Dance Delete i eatures M
80. e last T Special program sequence before the first point C gt m Special program sequence after the last point Q Simulation i 2 B 2 i Q Real Robot Hint gt Pi in Speed 100 Previous Next gt 19 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS File Program Installation Move 1 0 Log init_variables Ka amp V Init Variables V BeforeStart Action DO 8 2 On Action DO 9 Off V Robot Program 9 V Move 9 Waypoint_2 Action DO 9 Off Action DO 8 2 On yar_l var_1 1 P Call SubProgram_1 P SubProgram 1 e Pallet Pattern Square 1st Corner 1 e 2nd Corner 1 3rd Corner 1 4th Corner 1 9 eo Palletsequence 9 PatternPoint_1 e Action DO 8 Action DO S Wait 1 0 Waypoint_1 p v a op Pattern Square The counting variable cnt_2 Add new point Command Graphics Structure Tool Speed Tool Acceleration 1200 0 36 Change type Remember traversal position between program runs Point 1 to 2 interval count 4 Point 2 to 3 interval count 2 A Shared Parameters 250 0 mm s mm s emove point O Simulation Q Real Robot File Reset to defaults ke gt GI r1 Speed 1 100 Program Installation Move 1 0 Log Previous Next gt Zacobria The Pattern Squa
81. e lower right corner go to OK with a tick symbol which means the robot has reached the Home position Auto Auto Manual Speed 4 710096 3 Cancel Speed 1 100 3 Cancel This is the Robots naturally home position but during programming you can choose any position to be your home position When running your program the robot will first need to go to your defined home position which might be near where you want to have an action and not necessarily this robot Home position 21 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria Program Installation Move 1 O Log Automove Move Robot into Position Hold down Auto to perform the movement shown Release the button to abort Push Manual to move the robot into position manually Speed 4 7100 This is how the screen and robot looks like when the robot reaches the Home position If there are obstacles near the robot and there is a risk the robot will crash into these obstacles during an Auto move then you can choose a Manual move Press the Manual button instead which brings you to the Move Screen Here you have full control of the robot movements by pressing the arrow bars and you can safely guide the robot into the Home poison and away from obstacles Installation Feature T
82. e value for the tool relative to the selected feature Values can be edited manually by clicking on the coordinate or the joint position After reading the Help information press the red X to return to the previous screen 31 Universal Robots UR 6 85 5 A hints and tips universa meos P4aCODria 10 The I O tab view The Universal Robot is ideal to use in a small cell for automation because the control besides the robot programming environment also comprises of inputs and outputs which also is easy to program from the onscreen programming environment The robot has a standard 8 digital inputs and 8 digital outputs on the controller board inside the cabinet along with 2 analogue inputs and 2 analogue outputs inside the cabinet Additional there are also 2 digital inputs and 2 digital outputs and 2 analogue inputs on the tool head itself This is very elegant because the cabling for these interfaces is routed inside the robot and therefore no external cabling is necessary for these interfaces This means that external equipment that is connected to these I O interfaces like conveyor belts or actuators can be controlled and program from the robot If you need more input and outputs then is also easy to extend the number of l Os by using MODBUD nodes connected via IP network See later in the manual how to connect and configure a MODBUS node To monitor the status of the I O signals the I O tab is very useful Each I O is represent
83. ecause of the physical length of the arm and therefore the security stop The phenomena regarding the slight speed acceleration just before the Security Stop is called a Singularity because the mathematically calculation and physical movement of the joint is reaching an illegal mathematical expression which is called a Singularity You can experience this also in your programming especially in MoveL linear move mode when you have set two Waypoints that are impossible to connect in a linear line because it would require a mathematically and mechanical illegal move and therefore you might experience such phenomena in programming called a Singularity and the robot stop with this error messages More about this later during explanation of MoveL programming File Program Installation Move 1 0 Log Move Tool Robot Lh Qa i Security Stopped Security Stopped JOINT SECURITY STOP Enable Robot Singularity security stops 2 Universal Robots UR 6 85 5 A hints and tips __universntrosots ZCODY A 8 3 Move screen move robot in relation to tool head position On the left side on the Move Screen below the Up and Down arrow keys are a set of arrow keys that can move the robot in relation to the tool head position The tool head position is our references in most cases and our X y and Z position because we often need to do our action exactly and the tool head position where our tool is mounted With t
84. ed by a box that is off is the signal is low or the box is dark if the signal is high The out puts can also be manipulated i e overruled during commissioning and testing phase in order to check the connected external equipment Program Installation Move 1 0 Log Robot Modbus Tool Output Controller Input Tool Input Digital 2 Digital 0 1 2 3 4 5 6 7 8 9 Di gital m o J J IL IL ILJL J golf analog in 0 analog in 1 PEN 8 3 0 000 V ov 5v 0 000V lovsv lw eee Pr cm E analog in 3 On ji Off oo1sv ov sv Controller Output Tool Output Digital Voltage Current Digital O0 1 2 3 4 5 6 7 A MM Ono J JL JL AL AL LUI or t 0 REIN m Voltage Current U analog_ou analog_ou Current Current M y 003 mA o 1 S5 mA 4mA 20mA 4mA 20mA EOS 0 1 2 2 d Q Simulation Q Real Robot Overall status of I O Input 8 and 9 on the tool head is both high in this case Tool Output Tool Output Digital Di gital 8 9 8 9 On Off _ On Of _ Voltage Current Voltage Current E J 018 mA E A Toggle output on off by pressing the box at Output 8 is On And it is 24V The meter shows the output The device on output 8 is dragging 56 mA 32 Universal Robots UR 6 85 5 A hints and tips wem meos ZACODT A Digital Outputs are Open collector type Open collector means that the outputs are implemente
85. ed that a subroutine should only be performed when an input is High But then when you single step your program the robot will follow your commands step by step move from waypoint to waypoint when you single step Program Install lt Unnamed gt VW Robot Program VW Move e Waypoint_1 e Waypoint_2 M o PUN 13 1 Programming Speed regulator during program run Speed N 66 The speed adjustment accelerator 0 100 is meant for commissioning and troubleshooting It is very useful to use when the robot is being manhandled and to check what is really going on But a funny thing to be aware of is that if you have made Wait instruction in your program let s say Wait 3 seconds and then if you turn your speed down to 50 then guess what your wait instruction became 6 seconds maybe not what you expected During normal run you need to program your intended speeds and run it at 100 it is better programming method Nala The Wind back control can be used to move the cursor while programming back to the top of the program 46 Universal Robots UR 6 85 5 A hints and tips __universnirosors P4aCODria 13 2 Programming Save the file After writing a few lines of the program it is advisable the save your work As explained early in the manual it is good to assign a USB drive for this purpose Press the File menu and choose Save As Current Directory p
86. es V Robot Program ja V Move Thread e Waypoint_1 Waypoint_2 A thread is a parallel program that runs along with the main program Action DOISI UT thread can perform 1 O wait for signals and set variables e Wait 0 5 Action Do g 0n Useful for controlling other machines while the robot is running e Waypoint_3 e Wawypoint 4 Action DO 9 2 On Wait 0 5 Action DO 8 Off v e Action DO 2 2 On es Wait 1 35 e Action DO 2 Off Wait 1 0 Loops Forever Track program execution 3 Simulation ke gt LI Speed 00 Previous Next gt Q Real Robot We need to synchronize the Thread with the Main Program and there are many ways to do it but one way is setting a variable in the main program and then checking on this variable in the thread The plan is to set a variable at a certain value in the main program at the time we want the conveyor to start this is a flag to the Thread program Program Installation Move 1 0 Log fel Thread Command Graphics Structure Variables V Robot Program VMove Program Structure Editor Waypoint_1 Waypoint_2 Action DO 9 Off insert Wait 0 5 Basic Advanced Wizards e Action DO 8 2 On Waypoint_3 Waypaint_4 Loop SubProg Action DO 9 On ee Wait 0 5 Action DO 8 Off Assignment N If else After V Thread 1 selected Action DO 2 2 O
87. et digital out 2 True n time sleep 0 1 print 0 2 seconds are up already s send set_digital_out 7 True n time sleep 2 s send movej 0 54051 827050251 87 2 3503301841 12267 1 316631037266588 2 2775736604458237 3 3528323423665642 1 229196745489491 4 a 1 3962634015954636 v 1 047197551 1965976 n time sleep 2 s send movej 0 7203210737806529 1 82796919039503 1 8248107684866093 1 3401 161163439792 3 214294414832996 0 2722986670990757 a 1 3962634015954636 v 1 047 1975511965976 n time sleep 2 s send movej 0 54051 827050251 87 2 3503301841 12267 1 316631037266588 2 2775736604458237 3 3528323423665642 1 229196745489491 4 a 1 3962634015954636 v 1 047197551 1965976 n time sleep 2 s send movej 0 72021 3311630304 1 8280069071476523 1 8247689994680725 1 3396385689499288 3 215063610324356 0 27251695975573664 a 1 39626340 15954636 v 1 0471975511965976 n time sleep 2 s send movej 0 5405371 25683036 2 2018732555807086 1 09863481601 12505 2 6437150406384227 3 352864759694935 1 229488393586801 3 a 1 3962634015954636 v 1 047197551 1965976 n time sleep 2 s send movej 0 54051 827050251 87 2 3503301841 12267 1 316631037266588 2 2775736604458237 3 3528323423665642 1 229196745489491 4 a 1 3962634015954636 v 1 047197551 1965976 n time sleep 2 s send movej 0 7203210737806529 1 570750000000000 1 5707500000
88. f a Pallet Pattern which has variables for the number of transversal positions to keep track of the progress besides a user created variable called var 1 Program Installation Move 1 0 Log zi init variables f Command Graphics Structure EE i l Init Variables T E kaon beleeo Initial Variable Values Action DO 0ff V Robot Program 9 V Move cnt 2 prefers to keep value from last run 9 pice ey 5 ipose 2 has no specific initial value Action DO 9 Off u Action DO B On ar 1 1 yar 1 var 141 P Call SubProgram 1 P SubProgram 1 eo Pallet ee Pattern Square 9 st Corner 1 or xor not True HI False LO 2nd Corner 1 3rd Corner 1 4th Corner 1 ee PalletSequence 1 9 PatternPoint_1 Action DO 8 Variable Expression Action DO 9 2 Q Wait 1 0 Waypoint_1 lt Input gt v xOutput v lt Variable gt v lt Pose gt v lt Function gt v cnt_2 lo v Prefer value from previous run SHIFT X Cancel KI T Pie Rename 7 Clear Expression f x Sie 4 Qum kaa P MN sees Cs00 Frevour nest 79 Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria 22
89. ffice computer then will be shown on the Screen and you can chose to go to the sub directory Here we will create a sub directory Press Create Directory jzjsj4ejsjejzjejsjt E or TD Z EUN RIEN LLLI ane ms xem new dir The controller suggests new dir as a name but better to choose something else that says something about the content of the directory 7 Press behind the new dir name and use the lt lt button to delete the new dir name L JL 48 Universal Robots UR 6 85 5 A hints and tips universa meos ZACODT A oo s Use the onscreen keyboard to create a new name e g Test in this case OK K Test M Test Press OK when finish the name A new directory called Test appears Press on the Test directory to go into it My first p rogram Press the on Screen keyboard symbol to type in your desired file name for your program In this case we call it My first program If you have connected a keyboard along with the mouse then you can use the keyboard to key in which is much more convenient 49 Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria Filename My first program Filter Universal Robots Program files Save Cance Press OK
90. ffort has to be made to move it because we also don t want to drop on the floor This can still happen if a heavy tool is mounted on the robot head E 5 7 m dig m CHE p u 1 V Z i NM C ur Run g M EE Press and keep pressing the black button on the back of the monitor and grab the robot and start moving into your desired position Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria Shoulder pa 41 420 Elbow lt ENEENE iia bag 9 Wrist 2 Qum IE 0 055 Wrist s m me sed 100 While we were manually manipulating the robot around with our hand we had the Move Screen on the monitor Press the OK button in the lower right corner of the Move Screen which takes you back to the Program window Program unnamed gt Robot Program e VW Move WW ast jnint 1 Installat Notice how the Waypoint and the other symbols turned green because now we have defined the statement which is the Waypoint Actually we already have a very small program because all symbols are on green but a program with only one Waypoint is not funny to look at because it will not move the robot So let s define one more Waypoint 41 Universal Robots UR 6 85 5 A hints and tips __universatrosots Zacobria Program Install lt unnamed gt Y Robot Program Command Graphics Structure j b V
91. hat is tending a machine In this small example below Waypoint 1 and 2 is at the machine and grapping a work piece Waypoint 3 and 4 is at the conveyor and at Waypoint 4 the gripper is released and the work piece is delivered to the conveyor A Thread is a program sequence that is run in parallel of the main robot program and this can be totally independent of the robot task or it can be related to the robot task up to the programmer to choose Program Installation Move 1 0 Log ql Thread Command Graphics Structure Variables 3 Y un i Program Structure Editor a Wawynoint 2 Action DO 9 2 Off Insert Wait 1 5 Advanced z Action DO 8 2 On Advanced Wizards e Waypoint 3 a Waypoint 4 Move Waypoint Action Do S 0n L e Wait 0 5 Action DO S Off selected Popup Halt Edit Move Copy Paste After v selected Move Cut Delete suppress V Robot Program a Qsimetation jaa MN eect Cs00 _rrevious newt This program snippet is at the machine side but the conveyor is not moving and now we want to have the conveyor to move a notch forward after the robot has delivered a new work piece and then simultaneously let the robot continue its task while the conveyor is moving forward For this function we will use the Thread which can be found in the Structure menu and under Advanced 81 Universal Robots UR 6 85 5 A hints and tip
92. he RUN Program menu Or if we want to program a new program we can choose the PROGRAM Robot menu Or we can go to setup by pressing the SETUP Robot Or we can shutdown the robot which we already tried above In this case we want to make learn more about how to operate to robot and therefore will go towards programming the robot choose PROGRAM Robot This will take you to a screen where there is a File menu and 5 sub menu Tabs On is a File menu from we have similar menus as the big buttons on the screen and from where we also can load and run programs This File menu will automatically be explained as we progress this manual because we will be using this menu frequently File Program Installation ion Move I O Log Ni New Load From File Save As om File Initialize About syl Exit Use Template Use Template Pick 18 Universal Robots UR 6 85 5 A hints and tips Zacobria The 5 sub menus below the File menu are called Program Installation Move I O and Log Try and press each of them just for now to briefly see what is inside each of them UNIVERSAL ROBOTS Program Installation Move 1 0 Log X lo 0 mm Def Program l a e Load Save 0 0 mm Features E Zz 0 0 mm Fit program to new TCP Program Installation Move 1 0 Log TCP Position Setup for the Tool Center Point Mounting
93. he first Waypoint Press the Structure tab This time choose an I O Action Bic File Program Insta Program Installation Mo al My first proc fal My first program Comr h S m F Robot Program E ove e WV Move a Waypoint 1 a Wayooint_1 Pro c Action Action Waypolnt e e Waypoint_2 This causes an Action statement to enter our program Still yellow because it is not defined Make sure the Action line is highlighted and Press the Command tab 59 Universal Robots UR 6 85 5 A hints and tips universa meos 2COD TA Action Action Select the action you wish the robot to perform at this point in the Select the action you wish the robot to perform at this point in the program You can also specify changes in the robot s payload program You can also specify changes in the robot s payload 3 No Action 3 No Action Q Set Digital Output Di Outpu Off e Set Digital Output Di Outpu Off Set Analog Output An Outp 0 4 0 mA S Set Analog Output An Outp 4 0 mA f Q set lt output gt foo Be Q set lt Output gt foo BE Set the total payload to 0 0 kg Set the total payload to 0 0 kg Perform action now Perform action now We need to define the action In this case we want to set an output so tick the Set Digital Output bullet zDi Outpu Acti
94. hese arrow keys the robot can be manipulated in relation to this tool head position which can be useful if you want to keep the position of your tool but wish to move the robot arm to another posture but with same target object as reference 28 Universal Robots UR 6 85 5 A hints and tips wwesw moo acobria 8 4 Move screen Speed regulator 8 5 Speed The speed adjustment accelerator 0 100 is meant for commissioning and troubleshooting It is very useful to use when the robot is being manhandled and to check what is really going on in slow motion But a funny thing to be aware of is that if you have made Wait instruction in your program let s say Wait 3 seconds and then if you turn your speed down to 50 then guess what your wait instruction became 6 seconds maybe not what you expected During normal run you need to program your intended speeds and run it at 10096 it is better programming method But the first time you test run your program and robot near your other machine or packing line then it is advisable to run at a slower speed in order to have more time to react and stop the robot if the program and move did not follow your intention Speed 1100 8 6 Move screen X Y Z indicator Feature View Tool Position Rx 0 0140 RY 2 2156 Rz 2 2156 On the right hand of the Move Screen is the X Y and Z numeric position of the robot and tool head Thi
95. i naaar aKENo kan EE 78 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria 22 Programming Lesson 8 Variables ccccccseccceseeceeeeceeeceeeecaueeceueecaueeseeesaneessees 79 22220 EM a WR AEN ONS atc ce ca E cle tse a ep dete geet essence 79 22 2 Variables Prefer to keep value from last FUNL cccccceeeeceeeeceeeeseeeeseeeeseueeseueeseeeesees 80 23 Programming Lesson 9 THLad cccceccceecceececeeeceeeeeeeeseeeseueeeeeeseeseeeeeeeeseeeseeessneens 81 23 1 Placing the work pieces in rows on the conveyor cccceceeeeceeeeceeeeseeeseeeneeeeseeeenees 97 23 2 Variables Prefer to keep value from last FUN cccccceceececeeeeseeeeeeeeseeeeseeeeseeeeseees 102 24 Programming Lesson 10 Advanced Script Programming ssessssss 103 24 1 Script programming from the teaching pendant eeeeeeeeeeeeeeeereeenee 104 24 2 Script program by Socket connection Host computer to UR robot 71 111 24 3 Script program for Socket connection Host computer to UR robot 2 112 25 Installation Features SCFOeOlT ssxossnocdnod teas meu exec axes dil api ua Unaxeilun iun UU EY JT AZ M E EE Iqui aR 113 26 Hardware Tool head Digital Outputs are Open collector type 117 27 Potential Free interface with other equipment cccceeccescccseeceee
96. iew Tool Position Tool Position TEAM x 423 171 mm x 423 17 mm Y v 2273 93 mm v Z 13 02 mm BS Y 273 93 mm 3 z 13 01 mm 0 6048 rx 0 6048 Ry 12541 Say RY 12541 Rz 2 4894 RZ 2 4894 Move Joints Wrist 2 II SSS Wrists e 7 Wrist 2 SC Wrist 3 du Move Joints Heme Base q 28 234 Base Qum m gt 54s Shoulder SSS gt 94 984 Shoulder imm a 94 984 c S un v e U d Elbow c E gt 88 932 n gt E Elbow I p 88 933 Q HM em Wrist 1 3 I 104 278 Fest SR AKATAA ig aee Speed 4J7100 Speed 1 100 The screen has several functions but the main purpose is to move the robot around in its space during programming and to get a report where the joints are located which are shown on the degree position of each joint or above by the X Y and Z position indicator The arrow keys are the most frequent used The right side has six arrow bars which represent each joint and its position Each individual joint can be moved by pressing these arrow bars File Program Installation Move I Move Tool On the left side is Combination move control arrows These arrows move several joints simultaneously in order to make linear moves
97. igital signal can be expressed as 0 Low or False for a OV signal or High or True for an active signal The level of the high can change depending of if we are using 12V or 24 control voltage If Depending on the state of the given sensor input or program variable the following lines will be executed ole digital in 2 True O Ds Check expression continuously Press OK The formula line has now the condition for the If File File Program Install at My first prograr Program Installati My first progran tabot Program Mowe w Move Wawnnint 1 e Wawnaint 1 e Action DO 6 On Action DO 6 On a Waypoint 2 a Waypoint 2 e Action DO 6 2 Off e Action Dio 6 Off Wait 2 0 Wait 2 Wait DI 1 HI e Wait DI 1 HI Ww If digital in 2 2 True e Ww If digital in 2 2 True lt empty gt hs Also in the Program block the If statement became complete but it is still yellow because the Action part of the If statement is empty i e not defined Make sure the second part of the If statement is highlighted in this case the empty line 66 Universal Robots UR 6 85 5 A hints and tips Zacobria UNIVERSAL ROBOTS Command Graphics Structure Insert program lines here be inserted In the Structure tab you will find various program statements that can N Structure Program Structure Editor Command Graphics
98. in the beginning of the main program So when we come down to the IF statements the value of var 2 is 1 And the program under IF var 2 1 will be executed which is to go over to Waypoint 4 1 and deliver the part When the part has been delivered to Waypoint 4 1 the variable var 2 is set to 2 to show the robot program that we have already been at position one and the next position in line is position 2 99 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria Notice how the IF statement of IF var_2 4 is on top and going down to IF var 2 4 The reason for that is because we set the var 2 variable inside the IF statement to the next value and if we had the IF var 2 1 on top down to IF var 2 4 then all IF would be executed in a row because the change of var 2 will make it true for the next IF That s why they are turned upside down If Depending on the state of the given sensor input or program variable the following lines will be executed If var 2 4 Check expression continuously s Leave the Check expression continuously at each of these 4 IF statements in the main program unchecked Since we only need to conveyor to move forward after position 2 and after position 4 the assignment of var 1 is only done inside the IF statement for Waypoint 4 2 and Waypoint 4 4 So the IF statement inside the Thread is only true after the robot has delivered to Way
99. ints individually if necessary 9 Start eoFF Robot Power 4 9 Start i OFF Robot Power 4 Robot Auto INITIALIZING Robot Auto INITIALIZING D Base lt a ED Auto INITIALIZING dD Base m mb Auto BOOTING Shoulder lt a E Aute INITIALIZING D Shoulder m m Aute BOOTING T r Elbow m B Aute INITIALIZING v Elbow m m Auto BoOTING j Spe ai Wrist 1 m ED Auto INITIALIZING A Wrist 1 m m Aute BOOTING v r p a 1 d Wrist 2 m B Auto INITIALIZING I Wrist 2 m E Auto BOOTING a meter Wrist 3 m ED Auto INITIALIZING D Wrist 3 4B m gt Auto BOOTING Tool OK D Tool OK D ControlBox OK ControlBox OK X Exit X Exit 10 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria The robot does still not know the position of the joints and we have to help the robot on the way in order not to crash into something including into itself when the robot starts moving Because we have just unpacked and the robot is folded together in a tight position we will use a very controlled method this first time Later we will see how a shortcut can be made when the robot is cold started for a position where the robot is fairly free and unfolded Base INITIALIZING shoulder INITIALIZING Elbow INITIALIZING Wrist 1 INITIALIZING Wrist 2 INITIALIZING Wrist 3 INITIALIZING
100. ipt file My first program script def My first program set analog inputrange 0 0 set analog inputrange 1 O set analog outputdomain 0 0 set analog outputdomain 1 0 set tool voltage 24 set runstate outputs set payload 0 0 set gravity 0 O 0 0 9 82 while True 0 Robot Program 1 MoveJ 2 Waypoint 1 movej 0 7601482324296471 1 9284112483400442 2 4200850009312065 2 13148960204731 1 562351390833685 0 9523963238633675 a 1 3962634015954636 v 1 0471975511965976 3 Waypoint 2 movej 0 7601 145807261 123 1 9253134572295396 1 4271208291636501 1 1406326407517442 1 56215695876881 18 0 951853965781 0257 a 1 3962634015954636 v 1 0471975511965976 end end 74 Universal Robots UR 6 85 5 A hints and tips Zacobria UNIVERSAL ROBOTS 20 Programming Lesson 6 Templates 20 1 Pattern Templates 20 1 1 Pallet Pattern Square In this case a Pattern is chosen in the Advanced Structure Menu and in the Command screen a Square Pattern is chosen Program Installation Move O Log fal init_variables Command Graphics Structure Init Variables V BeforeStart Action DO 8 2 On Action DO 9 Off V Robot Program V Move 9 Waypoint_2 Action DO 8 2 On vyar 1 var 141 P Call SubProgram_1 P SubProgram 1 oe Pallet gt ee Pattern Square 9 st Corner 1 3rd Corner 1 4th Corner 1 9 eo Palletsequence Action
101. l head Digital Outputs are Open collector type Digital Outputs on tool head are Open collector type Open collector means that the outputs are implemented to sink and we can say they are Active low because connecting an actuator can be done by applying the supply voltage at the far end of the actuator connections and the other connection to the output terminal and then when the output is driven low by the programmer the external device turns on If you prefer to have an Active high output it is also possible then just apply a pull up resistor So now the far end of the external device is connected to GND and the other end is connected to the output and a pull up resistor The pull up resistor is connected to the supply voltage Now when the output is driven high by the programmer the external device turns on Open collector is actually an advantage because it gives the implementation more choices 27 Potential Free interface with other equipment The method of Potential Free signal exchange is very elegant because we don t mind if one machine is 12 Volt and the other is 24 volt we just detect when the contact set open and close with our own power on the machine we need the information This principle of Potential Free handshake is also advisable to use for the normal Start and Idle signals i e the Start signal on the CNC machine should just be a dry contact controlled by a relay on an output on the Robot And th
102. lease select what should trigger the robot s next act 3 No Wait Wait wait 0 01 seconds 3 Wait for Digital Input Dilnput LO No Wait Q want acing E 9 0 vos B e Please select what should trigge Q Wait for Q Wait 0 01 seconds E In this case we want to have a flat Wait based on time for 2 seconds Tick the Wait 0 01 seconds tab Press the Keyboard symbol in order to define the Wait time Bones P nm nears ww The Wait time is pr Default set to 0 01 sec but you can set it to a new value e g 2 seconds Press 2 and OK 2 Sec EDDES Program DECE Now the Wait statement turned green and is defined as 2 seconds Installat My_first_prograr Y Robot Program e W Move a Wayooint_ 1 Action DO E 0n amp e Waypoint 2 Action OO 6 Ott Wait 4 0 62 Universal Robots UR 6 85 5 A hints and tips _wavensnroers 206 01a File Program Installation Move 1 0 Log Hl My first mak l Command Graphics Structure Program Installat oo Ene E ove My first prograi mE malt 2 Action DO 6 0 P g e crisi p Please select what should trigger the robot s next action Robot Program Action DO 6 Off b V Move Wait 2 0 Q No Wait Wait e Wayooint_1 9 Wait 0 01 seconds e Action Do e 2 on Q Wait for Digital Input Di Input LO Waypoint_2 5 j Lo Action DO 6 Off wai
103. lected V Ifvar 1 1 Popup Halt Vifvar 1 1 Popup Halt Action DO 2 2 On Action DO 2 2 On Wait 1 35 Wait 1 35 Action Dole je OFF Comment Folder OD DA aii Comment Folder Wait 1 0 Wait 1 0 Action DO 2 On Wait 1 35 Edit Edit Action DO 2 Off N Wait 1 0 T Move Copy Paste After selected Move Copy Paste After M selected Move Cut Delete Suppress Move Cut Delete Suppress aT gt gt lt gt lt gt G Simulation G Simulation 3 6 i lt lt 2o i Real Robot I isa B Speed 100 Previous Next gt Q keal Robot iet b gt Speed 100 Previous Next gt Notice how all 4 lines now is directly under the IF statement r a Program Installation fal Thread Command Graphics Structure Variables Y Robot Program Program Structure Editor e Waypoint_1 a Waypoint 2 Action DO 9 Off Insert Wait 0 5 Action DOlS 0n e Waypoint_3 e Waypoirnt_4 Action Do s aon Wait 0 5 Action Do 8 2 Off exvwar 1 1 Y Thread 1 e V if var 121 Advanced Wizards selected Thread Pattern Action Do 2 20n Wait 1 35 e Action Do 2 2 Off Wait 1 0 Edit im RUE MA P P ME Speed 0100s But we only want the conveyor to run one time every time it is triggered So we have to make sure our IF statement becomes False next time the program check the IF expression The
104. lly if necessary Push Auto until all lights turn green Rotate joints individually if necessary starty e OFF Robot Power D start Soi Robot Fewer qi Robot Auto INITIALIZING D ober diua INITIALIZING 9j Base m E Aute iNITIALIZING dD Es m j mb nao INITIALIZING A TAS m mp aus BRAKE RELEASE o Shoulder 4 E Aute INITIALIZING LJ Elbow lt a E Auto BRAKE RELEASE D Elbow 4m m Auto inimiatizine L J Wrist 1 da m Auto BRAKE RELEASE D Wrist 1 lt a ED Auto INITIALIZING d Wrist 2 a E Auto BRAKE RELEASE D Wrist 2 lt m Auto INITIALIZING D Wrist 3 lt a t Auto BRAKE RELEASE D Wrist 3 lt m m gt Aute BRAKE RELEASE S Tool OK D Tool OK D ControlBox OK 2 ControlBox OK X Exit NT After a short time you will see the BREAKE RELEASE go to INITALIZING status for all joints In some firmware version you will also shortly see the messages BOOTING for the joints Push Auto until all lights turn green Rotate joints individually if necessary Push Auto until all lights turn green Rotate jo
105. m We need to define the Assignment Click on Command to get the property screen for Assignment Program Installation Move 1 0 Log fell Thread V Robot Program V Move e Waypoint_1 e Waypoint_2 e Action DO 9 Off e Wait 0 5 e Action DO 8 2 On Waypoint_3 e Waypoint_4 e Action DO 9 2 On e Wait 0 5 e Action DO 8 Off Action DO 2 On Wait 1 35 Action DO 2 Off Wait 1 0 Command Graphics Structure Variables al Source Expression x Assignment Assigns the selected variabile with the value of the expression Variable Expression LI a m TERTE O Simulation Q Real Robot MM EMI Speed 71005 Next gt This is our first variable so we have to create it Click on Create New 85 Universal Robots UR 6 85 5 A hints and tips universan meos 2ACOD TA Program Installation Move o Log ei Thread Command Graphics Structure Variables V Robot Program e V Move Source Expression Wesen Assignment e Waypoint_2 e Action DO 9 Off Wait 0 5 Action DO 8 On a Waypoint_3 Variable Expression Waypoint_4 e Action DO 9 2 On var 1 M s Wait 0 5 f x B Assigns the selected variable with the value of the expression Action DO 8 Off yar_li V Thread 1 e Action DO 2 2 On e Wait 1 35 e Action DO 2 Off Wait 1 0 Rename 3i
106. mputer and they are there to be viewed default installation 13 11 2011 4 14 INSTALLATION File 3KB My first program old 13 11 20114 13 OLDO File 2KB My first program script 13 11 20114 14 SCRIPT File 1KB L4 My_first_program txt 15 11 2011 414 Text Document 1KB _ My_first_program urp 15 11 2011 414 URP File 2 KB Aside from the user files the UR controller also stores the default intsllation files which are useful if a user program is transferred to another robot that for some reason had a modified default installation file E g another IP address Then it is very easy to reload the default installastion file and make the user program run on another robot and The controller saves the user program file in three different versions This is our My_first_program as explained in the Programming section of this manual The txt files contain a simple description of our user program My_first_program txt l My first program txt Notepad File Edit Format View Help Program Robot Program MoveJ wWaypoint 1 Waypoint 2 The urp file is a binary file that the UR robot use and is not easy readable My first program urp File Edit Format View Help i moO gs th e Uzs Od ie i EOeY aca staats g OQ myt S AC Z S 1 AZB XH E 5 Q aBi 73 Universal Robots UR 6 85 5 A hints and tips universan mos 2ACOD TA The script file is our user program as a scr
107. n lt unnamed gt C Y Robot Program gt H Add BeforeStart Sequence emnt a Er YO Set Initial Variable Values SPEM H ee P lt Program Loops Forever Simulation aai p p gt a Speed 1 100 Previous Next gt Q Real Robot Add BeforeStart Sequence Set Initial Variable Values Program Loops Forever Hem e Below is 4 control buttons which looks like a CD player which we will use when we start our program later There is also a Speed indicator from where the speed of the robot program can be manipulated 36 Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria 12 2 Programming First Program Moved Non Linear Movements Command Graphics Command Structure Program Program Structure Editor The window on the left shows the Insert amp Use the Next and Previous buttons Basic Advanced Wizards the program tree Use the Structure tab to modify tk Move Wa The Command tab and the Structure tab is properly the most used tabs on the robot control and programming the robot is a frequent use of Command and Structure tab Press the Structure tab This brings you to the first of 3 different program objects to choose from when we build up our program The very first thing we need to do robot programming is to define our path and movement for the robot This is done by defining Waypoints positi
108. n Wait 1 35 Script Code Event Action DO 2 Off n l e Wait 1 0 Thread Pattern Edit Move Copy Paste selected Move Cut JL Delete Suppress 3 Simulation He gt Li LI Speed 1 100 Previous Next gt Q Real Robot We have to identify in the main program where is it we want the conveyor to move forward In this case it is after the robot has delivered the work piece to the conveyor which is at Waypoint 4 and after we have released the work piece 84 Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria So we put the cursor there and go to Structure Advanced and choose Assignment Program Installation Move 1 0 Log ka Thread V Robot Program 9 V Move Wawynoint 1 Waypoint_2 Action DO 9 Off e Wait 0 5 Action DO 8 2 On a Waypoint_3 Waypoint_4 Action DO 9 On e Wait 0 5 Action DO 8 Off V Thread 1 Action DO 2 On Wait 1 35 Action DO 2 Off Wait 1 0 ER Command Graphics Structure Variables Program Structure Editor Insert Advanced Wizards Loop SubProg a Script Code Event Thread Pattern Edit Ate selected 3 Simulation Q Real Robot Ca gt P LI Speed 100 Previous Next gt This will bring a equal sign into the progra
109. n go to almost any position within each reach except directly above or directly below where it is sitting itself But it also has to be taken into account how the robot physical are constructed especially the length or the arms and joints So just like a human body we might need to change our posture to grab something with our hand so do the robot sometimes need to be re position by the programmer in order to reach the target You might read the section about Singularity at the end of the manual Universal Robots UR 6 85 5 A hints and tips __universninosors GACCOD 1a 2 Contents 0208 TGC ois 2 2 Coda cR 3 CHEN S dee eR D A 0 5 E RO eM UA NER 6 9c TUON Dolus sedmed eai Und uM e EEHURU PUN E NUN UNDER ENM UNUM MU TIU NM NUES 7 5 1 Turnon the robot for the second tiMe ccccecccceecccceeeeceeeeeeeeeeesaeeeesseseessaeeesaeeeesaaeees 16 6 Menus and finding yellr weay drouYOsessiedea dedican dicati ice ctt om tee 18 EU o 0 otro 01 fo RR m 20 8 Move screen The Home POSItion cccccscccssecseecceeeceeeceueecseeceeeseueeeseeseeeseueenseeseeeseaeess 21 8 1 Move screen Moving the joints INdividUally cccccccsececneeeeeeeeeeeeeseeeeeeeeesaeeesaeeeens 23 8 2 Move screen move the robot linearly seeeseeesseeeeseeeeneennenn nnn 25 8 3 Move screen move robot in relation to tool head position
110. n method or remotely by script programming In this chapter we use the user friendly touch screen method The robot has two ways of calculating how to move from Waypoint to Waypoint which is a Non linear movement MoveJ and a linear movement MoveL The J symbolizes the rounded nonlinear move mode and the L symbolizes the linear move mode The non linear MoveJ is the default and the most commonly used and the one to recommend using if it is not absolutely a must to use a linear move The difference is the way the robot calculates and how to move to next position In the non linear MoveJ method the robot might seem to take a slight bended route from point A to point B this is because of the physical construction of the robot the lengths or arms and wrists combined with when the motors are turning This is normally not an issue in normal pick and place operation and can easy be overcome by inserting more waypoints like mentioned above But if you want the have an absolutely perfect linear move from point A to point B it is possible by using linear move MoveL However the downside to this that turns and smooth bends now become more difficult to perform In pick and place you properly need to go in and out up and down and around most of the time and a linear move is not important so MoveJ is recommend to use From wherever you are in the menus Press File and Exit to return to the Main menu Please select
111. ngs Joint Load Controller Temp 36 2 C Base 48 6 V Main Voltage Shoulder Avg Robot Power 8 W Elbow Robot Current oye AY Wrist 1 10 Current 2mA Wrist 2 OK p 47 9 V VE Tool Current 6mA Wrist 3 OK n 48 0 V 4c T 0006d10h05m09 816s _ T 0006d09h45m58 312s PolyScope PolyScope 1 4 6732 Jun 10 2011 12 54 05 V 0006d09h57m05 912s URControl URControl 1 4 6732 Jun 10 2011 12 30 30 R 0006d09h56m10 656s URControl C10140 Real Robot Connected R 0006d09h56m10 664s URControl C100A3 Robot changed mode INITIALIZING R 0006d09h56m12 688s SafetySys C69A0 R 0006d09h56m13 096s URControl C100A5 Robot changed mode EMERGENCY STOPPED R 0006d09h56m13 144s URControl C100A7 Robot changed mode ROBOT POWER OFF T 0006d09h56m10 648s PolyScope Connected to Controller T 0006d09h57m07 096s RTMachine Cannot drive robot program stopped R 0006d09h57m09 816s URControl C100A3 Robot changed mode INITIALIZING R 0006d09h57m56 976s URControl C100A0 Robot changed mode OK M P H Clear The Installation Tab is an advanced setup which will be explained later and is not necessary to worry about yet In the next chapter we will focus on the Move Tab 19 Universal Robots UR 6 85 5 A hints and tips www mrs 4aCObria 7 The Move Screen Press the Move Tab and you will see this Move screen Robot Feature Program Installation Move I O Log amp 8 u View Move Tool Robot Feature iew QAR V
112. nt Voltage Current 0 12 24 j ap 24 018 mA Notice that after an Over current Security stops the voltage is reset to OV This has to manually be set back at the desired output voltage 24 V in this case by pulling the bar after the short circuit condition has been removed The voltage for the I O on the tool head can be adjusted to 0 or 12V or 24V from this I O Tab ocreen 33 UNIVERSAL ROBOTS Universal Robots UR 6 85 5 A hints and tips 11 The Log Tab The log Screen can be reach by pressing the Log tab The log screen provides useful information s about the status of the robot and controller Information s for controller temperature consumption power supply output and joint status is available Program installation Move 1 0 Log Robot Health Readings Joint Load s Controller Temp 36 7 C Base OK 48 0 V Re adi ngs Main Voltage 48 6 V Shoulder OK 48 0 V AvgRobotPower 8 W Elbow OK 479 V Controller Tem p 36 7 C Robot Current 0 2 A Wrist 1 OK 47 6 V eee E eee oa Main Voltage 48 6 V Tool Current 18mA Wrist 3 OK 47 9 V Eao oE 3 Avg Robot Power 8 W oe Robot Current 0 2 A I PT pep IO Current 1 mA aT Tool Current 18 mA 0A ee 45 0 V LiA e 45 0 V LA s 47 9 V Ton ue 47 6 V DDA 47 9 V Ton 45 0 V T 0006d10h50n03 992s5 nA COTOUL ISTINU gt ALO UE UI a MUUUL Lge MUHE SACRUARL I SUPP T 0006d10hs0n03 2165 RIMachine Cannot drive robot program stopped R O
113. nt on the Init Variables line and this screen appear Program Installation Move 1 0 Log eil init variables Command Graphics Structure Init Variables a Y BeforeStart ap M CU Linken Initial Variable Values e Action DO 9 Off V Robot Program 9 V Move emt e 0 he pose_2 has no specific initial value e Action DO 9 Of Action DO 8 On var_l 1 yar_l var_1 1 P Call SubProgram_1 P SubProgram 1 ee Pallet 9 e Pattern Square e 1st Corner 1 e 2nd Corner 1 e 3rd Corner 1 e 4th Corner 1 9 ee PalletSequence PatternPoint_1 Action DO 8 4 Variable Expression Action DO 9 2 Q Wait 1 0 cnt_2 a 0 e Waypoint_1 _ Prefer value from previous run a amn p Clear Expression f x ais gt P tad ke gt b B Speed 100 Previous ll Next gt In the centre screen the actual value of the variables are instantly shown and these variables used in the program can be set to an initial value desirable for the main program The value can also be set to an expression or to the Value from the last run of the program by ticking the Preferred value from previous run This is especially useful when using the Pattern templates for picking or placing items in an array and therefore continue from the point from where the robot left from the last program run In this case the program comprises o
114. o Wait 0 5 Action DO 8 Off Assi ism Action DO 8 2 Off Assignment If else ssignment If else After v Theat g After zj selected e lt empty gt selected Script Code Event Script Code Event Thread N Pattern Thread d Pattern Edit Edit T Move Copy Paste After t selected T Move Copy Paste After x selected Move Cut Delete Suppress Move Cut Delete Suppress a 1 q 4 s 3 Simulation Q Simulation x TT Y 9o i 2 i Samain MAE OMM spees Hors emere news Gamin had MEUM spesa Droo rrevous ent Now a Thread statement has entered our program It is shown below our Main program which is slightly confusing because we got told before that it should be at top level However it is more correct to say that the Thread is at the side of our Main program because it twill run in parallel with our main program The Thread can be programmed exactly in the same way as our main program and we can even have Waypoints inside the Thread but then make sure that is intended in relation to the main program otherwise the Waypoint action inside the Thread might conflict with the Waypoint action in the Main program The robot cannot be a two positions at the same time 82 Universal Robots UR 6 85 5 A hints and tips universan meos lt acobria Program Installation Move 1 0 Log lAl Thread Command Graphics Structure Variables
115. o on but when we reach var 1 0 in the IF statement then we actually change the condition of the IF expression check which now becomes false and therefore the program jumps out of this IF routine already and the digital output 7 will never go on 71 Universal Robots UR 6 85 5 A hints and tips universan meos 1 4aCODria Sometimes we will use Subroutines but the effect will be the same Check expression continuously Init Variables a j Y Robot Program 4 WV Move If e Waypoint_1 re Hadad am 1 Depending on the state of the given sensor input a Wayooint_2 or program variable the following lines will be a Waypoint_2 executed exwar 1 1 P SubProgram 1 If var 1 1 Action OO 2 On exwar 1 20 Wait 2 0 e Action DO On s This program will do exactly like the previous program but we have used SubProgram method and same thing the Digital Output 7 will never go on although it says clearly so in the SubProgram but the IF expression is already False Here we have used a variable to show the effect but it could as well have been a Digital Input we have used for the IF expression check and the same will happen if the Digital Input state change while the program are executing the IF program lines if the IF expression becomes False during this time the rest of the program lines will not be executed If such state changes right at the moment the IF was true but now false none of the line in the I
116. og lt unnamed gt Command Graphics Structure fal lt unnamed gt Command Graphics Structure tobot Program a Ee a Mov 1 yy MOVE Amt Program Structure Editor Waypoint Action e vir digital _in 0 True V if digital in 0 True Action Insert Action DO 1 On Select the action you wish the robot to perform at this point in the Basie Advanced KWizards ORN program You can also specify changes in the robot s payload O No Action Move Waypoint E Q Set Digital Output digital ou Off Wait N 1 0 Action After Set Analog Output An Outp 4 0 mA FR xim i selected deme Popup Halt O Set Output MI f x ie 0 0 ka zE Pci dco Folder _ Set the total payload to 0 0 kg E Perform action now Edit j 4 Move Copy Paste After selected te ue amp Move Cut Delete Suppress E ILI IT ee 4 d nm Simulation Md o PI B Speed 100 Previous Next gt G Simulation rm gt P Speed 7100 i 4 Previ Next 3 7 Q Real Robot 1 bi Bh Q Real Robot Spee revious Nex Below the IF statement program lines is to be inserted that will be executed if the IF statement is True This can also be considered a program inside the IF statement and it can be as big as our main program but often this is short and to set outputs that is dependant of the IF condition In this case we choose to set a outpu
117. on z Dn Output gt Select the action you wish the robot to perform at this point in the di gital out program You can also specify changes in the robot s payload di igital out digital out 2 digita Taut digital_out digital out 5 digital out t O No Action Q Set Digital Output Di Outpu gor E Q Set Analog Output Set Output Ed A Set the total payloz Perform action now We need to choose the output number to set In this case we choose digital output 6 File Program Installat My_first_prograr Y Robot Program Set Digital Output Di Outpu v P V Move e Wayooint_ 1 Action Do 6 n 3 Set Analog Output An Outp v e Waypoint _2 P _ z Along with the output number we have to define the status we want to output to be set to High or Low On or OFF Try and choose On which will set the output high Notice that the Action statement line turn green and the output name and action associated with it which means it is now defined 60 Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria File Program My first prograr Y Robot Program File Program Installat My_first_progral Installat T Robot Program e WV Move rr pc l i Waypoints E DO 6 On Action bu e un Waypoint 2 Action Waypoint 2 Continue programming we wish to control the s
118. ons So we define the positions the robot has to go through rather than the actual path In other words we choose a position e g A and next position e g B and then the robot will calculate how to come from A to B Not to be confused with that the robot records the path we moved the robot by hand or by control 12 2 1 Start programming Let s get started to program and now choose a Waypoint Pres the Waypoint button Waypoint 3 Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria Ups we already got an error messages that says Waypoint has to be under a Move 0 Waypoint has to be under a Move i Waypoint has to be under a Move So we need to go back to the program screen Press OK to acknowledge the messages Program zunnamed Y Robot Program sempe We need to be in the section where we can insert program lines so point and press on the empty word so it becomes highlighted Program Insta lt unnamed gt Robot Program lt empty Now again Press the Waypoint button Insert Advanced Wizards Waypoint I O Action Program Insta Popup lt Uunnamed gt Y Robot Program Comment V Mowe a Waypoint Notice how a MoveJ and Waypoint has been inserted and it starts looking like a program tree The statements are still yellow because we have not defined the position of this Waypoint Moved is the default and that s wh
119. ool Position Move Robot into Position Hold down Auto to perform the movement shown Release the button to abort Push Manual to move the robot into position manually X 178 08 mm Y 69 07 mm z 284 02 mm RX 1 0090 Base Gl umm T gt 68 760 Shoulder ENNI 1 Elbow Psi mi 104 374 Wrist 1 ENNHI 31 145 130 Wrist 2 Cr 0 017 Wrist 3 E BS oon Speed 71009 te Speed 1 100 22 Universal Robots UR 6 85 5 A hints and tips __universntrosots ZACOD A 8 1 Move screen Moving the joints individually Base Emm gt 0 001 i Shoulder i EEE E 20 00 Elbow Gl EE E _ 0 0011 Wrist 1 Gl 1 gt 20 010 Wrist 2 Gl gt 0017 Wrist 3 Gl a gt __0 0071 Now the robot is fully stretched is a nice position to start moving each joint to see how the robot moves Start with the base joint and press the Arrow bar left or right and see how only the base joint moves Base q Shoulder mE 7 EE 0 Elbow lt Wrist 1 gt 90 010 Wris 2 Gl o ood Wrist 3 mp EBD ox Bar 30 00 0 00 234 TETTE You can monitor the position of the joints by observing the digits degree indication next to the arrow bar After turning the base joint around this is a good opportunity to fit our last bolts in the base if you have not already done so
120. or is moving the robot is long moved on in its cycle in the main program 95 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria If a small Wait statement is inserted before the var 1 1 in the main program the conveyor has a delay before it starts and let the robot gripper get out of the way Init Variables Y Robot Program e V Move Waypoint 1 Waypoint 2 e Action DO 3 2 Off es Wait 0 5 Action DO S5 2 On e Waypoint s e Waypoint 4 Action Do 3 2 On es Wait Q5 e Action DO S s Off Wait 1 0 exwar l 1 b Y Thread 1 Wait 0 01 e W If var 121 Action DO 2 2 On es Wait 1 35 e Action DO z2 2 Off Wait 1 0 war 1 0 96 Universal Robots UR 6 85 5 A hints and tips universan Rogos P4aCODria 23 1 Placing the work pieces in rows on the conveyor If you wish to place the work pieces in rows on the conveyor maybe 2 rows or 4 rows etc So in this example will show 4 rows Maybe in a pattern something like this Basket i Robot The sequence the work pieces has been put on the conveyor is like this Basket Robot This means the Conveyor only have to move a notch forward in between 2 and 3 And again in between 4 and 1 A way to program this is just to use variables and IF statements to keep track of the sequences of placing work pieces in this pattern in the Main program And then let the Thread take care of the moving the conveyor a notch forward
121. osition 3 and finally at position 4 and move the belt a little forward In the program now call the waypoints 4 1 4 2 4 3 4 4 just to illustrate that it is Waypoint 4 we are working with There can be more Waypoints at these position e g an up and down and back up again for nice placement of the part So before programming any further we will define the Waypoint 4 1 Waypoint 4 2 Waypoint 4 3 Waypoint 4 4 where we want them to be at the conveyor 9 V ifvar2 2 e Waypoint 4_2 Depending on the state of the given sensor input aes el or program variable the following lines will be Action DO 8 s Off executed Wait 1 0 T E If var 2 4 n aS C Check expression continuously Y VW If var 2 1 e Waypoint_4_1 Action Do 3 20n Wait 0 5 Action DO 8 s Off Wait 1 0 war 2 2 V Thread 1 Wait 0 01 V If var 121 Action DO 2 On fo HE Wait 1 35 Wow x AddElself RemoveElself weet rr L add else peq Qum He ic e LI Speed 7100 Previous Next S After the 4 Waypoints have been defined we will introduce 4 IF statements because we need to check where the next work piece have to be placed We introduced the variable var 2 for this purpose The var 2 can in this case have 5 different values i e 0 1 2 3 and 4 The value 0 is to tell that we start all over again At the first run the var 2 will have the value O which is very quickly changed to 1
122. ossible to have almost as many extra Emergency Stop as you want only limit is the resistance in the wire and contacts 128
123. ots UR 6 85 5 A hints and tips universa mos 1 4aCODria 25 Installation Features screen The Features screen in the Installation screen is a option to define the robots movement to user defined relative points These points can be used in the Move screen as from where the robot should move relative to when using the Arrow keys in the Move screen iR Program RRENEENER Move 1 0 Log Program Installation Move 1 0 Log Move Tool Robot Feature TCP Position Features SAS 7 Mounting 1 0 Setup ie ace P X Too i Modbus Def Program Load Save eatures Base G Simulation 9 32 Real Rabat Speed 100 Before we define any new relative points or patterns lets checkout the Move screen On the top right hand corner is a Feature control And the robot has already three predefined relative points i e View Base and Tool By default the View is active To explain how the Robot move relative to this point the Up and Down arrow keys are used because they are easy to understand If the robot is mounted like on a table top mounting the View feature relative is like you see observe view the robot and when pressing the Up the robot moves straight up and when pressing Down the robot moves straight down Choosing Base feature will be the same in this cas
124. ounting Mounting 1 O Setup 1 O Setup Modbus Modbus Def Program Def Program Load Save Load Save Features Features Base lt Base Tool TM X Point 1 3 i x Eoin k Joggable Notice under features is already Base and Tool which are the build in default relative point Below press Point which will insert a red X under Base called Point_1 It is red because it is not yet defined Point on the red X and pres sit which brings this screen from where you can define Set this point like setting a waypoint Program Installation Move 1 0 Log Program Installation Move 1 0 Log Move Tool Robot Feature TCP Position r Point 1 Rename Delete Tool Mounting Tool Position 1 O Setup x 0 01 mm Modbus Yy 0 000mm Def Program 3 Somm Load Save RX 0 0000 ry 0 0000 Features Rz 0 0000 t X Point_1 Move Joints Home Base 4a 7m 19 080 Shoulder Ems ED 91 322 a Elbow 3 pu ES _ 93 974 vo Wrist 1 132 876 Wrist 2 30 818 r Wrist 3 q u 31164 wi Show axes Move robot here Change this point v Joggable QO Simulation SM eo a Speed 100 X cancel V OK When the relative point has been set can be a corner of a table or a machine part e g a CNC chuck then press OK
125. out any error messages in MoveJ mode because it is allowed to take a bended route from Waypoint 1 and Waypoint 2 58 Universal Robots UR 6 85 5 A hints and tips universan Rogos P4aCODria 15 Programming Lesson 2 Inputs and Outputs 15 1 Reading Inputs and Setting Outputs When using the robot the movements is important but evenly important is to be able to handle inputs and outputs so the robot can react to external conditions and grab and hold items and feed back when the robot finish its task Therefore the controller software also can handle such I O interface and this chapter will explain how to set an output and how to read an input and take an action based on such inputs status We will continue to use our program we already started on or you might wish to start a brand new user program This example starts with a program that already has two simple Waypoint position like our My first program urp 15 1 1 Setting an Output Insert Advanced Wizards Waypoint File r 1 0 Action Program Installation Move I O Log lal My first program Command Graphics Structure V Robot Program a Popup V Move i RENEI Waypoint_1 Rename e Waypoint_2 Comment Move robot Since we already have to program lines then we need to decide where we want to have out action In this case we want it in between the two Waypoints so we place the cursor by pressing t
126. point 4 2 and Waypoint 4 4 100 UNIVERSAL ROBOTS The entire program looks like this Universal Robots UR 6 85 5 A hints and tips Init Variables Y Robot Program e V Move 9 amp If var 2 0 E2ar Jj 1 a Waypoint 1 Waypoint 2 Action Dio 9 2 Off Es Wait 0 5 Action Do 8 2n a Waypoints e V If var 224 a Waypoint 4 4 Action DO S On es Wait 0 5 e Action DO 85 2 Off es Wait 1 0 war 2 e war l 1 If var 223 e Waypoint 4 3 Action DO S On es Wait 0 5 e Action DO 85 2 Off es Wait 1 0 yar2i 4 If var 2242 e Waypoint 4 Action DO S On Wait 0 5 Action DO 8 2 Off Wait 1 0 yari 3 Wait 1 0 evar 1 If var 221 a Waypoint 4 1 Action DO S On Wait 0 5 e Action DO amp 8 2 Off Wait 1 0 yari A Y Thread 1 Wait 0 01 e V if var_l 1 e Action Do 2 0n e Wait 1 35 e Action DO 2 2 Off e Wait 1 0 war 1 101 Zacobria Universal Robots UR 6 85 5 A hints and tips __universntrosots ZACOD A 23 2 Variables Prefer to keep value from last run Here comes a beautiful function So far the robot program will start at position 1 Waypoint_4 1 every time we start up the Robot program also is this was after a safety stop But in the Init Variables screen there is a feature called Prefer value from previous run If this one Is clicked for the intended variable then the robot can remember which position is nex
127. r PC Another advantage by doing this is that the program can be further developed edited and tidy up while the robot is running production Then when there is a break in the production the new modified program can be activated and control the robot right away provided the programmer did not make any programming errors in the new version The differences in using the teaching pendant and the remote scripting method is that when editing with the teaching pendant the program execution has to be stopped while editing and thereby interrupt the actual production whereas editing in the host application can be done aside from the running version and thereby not disturb the production Another advantage is that the host application programmer can make new functions and features by himself and basically create a complete new user interface and functionalities to the robot and handling of his data and interfacing with even other computer systems to his creativity abilities The Universal Robot offers such possibilities to make remote script programming with its build in script interpreter The choice of programming environment on the host computer is up to the programmer and typically programming languages such as C Java Visual Basic and Python or similar is the choice but even Notepads can be used as an editor But before jumping into the remote script programming there is also an alternative script programming method provide by the teaching pendan
128. ram V Move Program Structure Editor a Waypoint 1 E script B script sc1 script a Waypoint Advanced Wizards B script sc2 script Loop SubProg Assignment If else After selected Insert Script Code Event Thread Pattern Edit G Simulation MARNE specs D100 Previous Next In the Advanced program menu under Structure section the Script Code object is located This object will insert at Script entry into the program Note it is still yellow which means we have to define it To define the Script entry in the program point on the Script line to define and choose Command on top of the menus 104 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria However before we proceed with the programming we need to prepare our Script file otherwise there is nothing to load so let s step a little back to the point where we have no Script entries in the program tree and just two simple Waypoints Program Installation Move I O Log Import script befo Command Graphics Structure V Robot Program a V Move Program e Waypoint_1 Waypoint_2 e The window on the left shows the program tree e Use the Next and Previous buttons to navigate through the program tree e Use the Structure tab to modify the program tree Add BeforeStart Sequence _ Set Initial Variable Values 4 4
129. re the interval count defines the number of position between the corners In this case the Square has 8 positions which are arranged 4 by 2 This means the Square or Rectangular does not only consists of the 4 corners but also the intermediate points in the Pattern And individual Speed for the Pattern can be defined Program Installation Move 1 0 init variables Init Variables aj V BeforeStart e Action DO 8 2 On Action DO 9 Off V Robot Program V Move 9 Waypoint_2 Action DO 9 Off Action DO 8 2 On yar l var 141 P Call SubProgram_1 P SubProgram 1 ee Pallet amp Pattern Square 2nd_Corner_1 3rd_Corner_1 4th_Corner_1 so Palletsequence PatternPoint 1 1st Corner 1 Rename Command Graphics Structure Log init variables Move robot here Change this Position Command Graphics Structure Init Variables V BeforeStart Action DO 8 On Action DO 9 2 Off V Robot Program V Move 9 Waypoint_2 Action DO 9 2 Off Action DO 8 2 On var 1 var 141 P Call SubProgram 1 P SubProgram 1 amp amp Pallet Pattern Square 9 1st Corner 1 9 3rd Corner 1 9 4th Corner 1 so PalletSequence 9 PatternPoint_1 2nd Corner 1 Rename Move robot here Change this Position
130. refore we insert a Assignment in the Thread where we zero the var 1 variable so it becomes False for the IF check 90 Universal Robots UR 6 85 5 A hints and tips wem meos ZACODT A Program Installation Move 1 0 Log Thread Command Graphics Structure Variables Robot Program Assignment a Waypoint_1 e Waypoint_e Action DO 3 2 Off Wait Q 5 Action DO B On a Waypoint 3 Variable Expression e Waypoint_4 e Action DO 3 2 On C 0 Wait 0 5 Assigns the selected variable with the value of the expression e Action Do 8 Off yar 1 21 YF Thread 1 V if var 1 1 ilL Rename oon Action DO 2 On Wait 1 25 e Action DO z2 3 Off Wait 1 0 e war 1 2 Real Robot We set the var 1 variable to 0 in the property screen for the variable Security Stopped A Security Stopped ValueError ar 1l is lt untinitialized gt Enable Robot If you get this error messages it is because we need to tell the Robot what should the variable var 1 be when we start the program This is uncertain for the robot if we have not explicit set the variable before the program execution o0 we have to put the cursor up on top where it says Robot Program 91 Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria Program nstallation Move Faa Log lel Thread Command Graphics Structure Variables Robot Program e V Move i M P
131. ript programming The format is the same as in previous chapter and as documented in the Script manual but since we are not using the teaching pendant we need to send the Script file to the Robot control through an already prepared open port on the Robot which is TCP port 30002 In this case we are using the program language Python and the Python environment to communicate with the Robot The Script file can still be edited in a Notepad The first program example is just to illustrate how to send a script file through via the Ethernet to the TCP port 300002 on the robot In this case the robot has already been configured to IP address 192 168 0 9 and our host must be in the same subnet e g defined as 255 255 255 0 The first Program 1 just turns digital output number 2 ON and the robot does not move at all and the program looks like this Echo client program import socket HOST 2 192 168 0 9 The remote host PORT 30002 The same port as used by the server S socket socket socket AF_INET socket SOCK STREAM s connect HOST PORT s send set digital out 2 True n data s recv 1024 s close print Received repr data The program is run from the host computer and will only have one passage because there is no loop in the program The library socket in imported into the program so the Socket connection is available The Host in this case is the Robot and PORT is the open port on the Robot that li
132. rnal Emergency stop is active the one on the display which is wired internally in the Robot TA feeds EA and TB feeds EB and the same on the second set of TA EEA TB EEB EA EB and EEA EEB are Emergency Stop approved inputs and at any place this serial connection is open we detect an Emergency Stop So actually what you see is that TA EA and TB EB is logical short circuit because of the red wires mounted and same goes with T A EEA and TB EEB That s what the internal circuit likes when there is no Emergency Stop as soon TA EA or TB EB or TA EEA or TB EEB is no longer logical short circuit we detect an Emergency Stop Any of the four open will trigger an Emergency stop On the top right figure you see a configuration of an external push button applied This is an extra Emergency Stop Push button not the one on the CNC machine in case you would like to have an Emergency Stop push button somewhere else than on the Robot Monitor Notice how there is two sets of contacts according to highest Class of safety and if just one of the contacts open we detect an Emergency Stop and the robot Stops Please note that you still need the jumper TA EEA and TB EEB not show on the drawing otherwise there would be an Emergency Stop triggered One important thing to be aware of is that if TA EA or TB EB is open then the internal Emergency Stop relay is open i e E01 E02 and E03 E04 contacts opens Whereas if TA EEA or TB EEB is open then the
133. robot has been used and programmed before after a cold reboot this initialization is necessary for the robot to find the position of the joints Notice that the screen say Power OFF and all six lamps for the joints are yellow The controller has power ON of cause but the robot is still Power OFF Push Auto until all lights turn green Rotate joints individually if necessary n i ti al ize Ro bot eorr Robot Power o Push Auto until all lights turn green Rotate joints individually Robot Auto ROBOT POWER OFF D OFF Re Base m mb Auto POWER OFF o Robot Auto ROBOT POWER OFF Shoulder 4m E Auto POWER OFF Elbow lt Ej Aute POWER OFF d Base 4H E Auto POWER OFF Wrist 1 Auto POWER OFF d 9 Shoulder m ED Auto POWER OFF Wrist 2 lt a Ej Auto POWER OFF Wrist 3 m m Auto POWER OFF m Elbow E E gt AiG POWER OFF Wrist 1 Auto POWER OFF Tool POWER OFF D gt WT oe o Wrist 2 m ED Auto POWER OFF NT Wrist 3 m ED Auto POWER OFF Press the ON button to turn on the power to the robot Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria The status will go to READY for each joint but the lamps are still yellow because the position of
134. rogram e Wayooint_2 e Action DO 9 Off The window on the left shows the program tree Wait 9 5 e Use the Next and Previous buttons to navigate through m the program tree Waoribiht 4 e Use the 5Structure tab to modify the program tree e Action DO S 2 On es Wait 0 5 e Action DO s8 2 Off Exwar li 1 Y Thread 1 e V If var 1 1 e Action DO 2 On Wait 1 35 Action DO z2 2 Off Wait 1 0 war 1 20 Add BeforeStart Sequence H O Set Initial Variable Values T gram Loops Forever Samen MA eB speca nos Q Real Robot And then tick Set Initial Variable Values This will insert a line op top of the program called Init Variables Program Installation Move 1 0 Log H Thread Command Graphics Structure Variables Init Variables N 20g ak Initial Variable Values e V Move a Wayooint_1 e Waypoint z e Action DO 9 Off Wait Q 5 Action Do 8 2 Gn a Waypoint_s a Waypoint_4 Action OO S On Wait 0 5 Action DO 8 2 Off yar 1 1 Y Thread 1 var 1 has no specific initial value e V if var 1 1 Action Do 2 20n Wait 1 35 e Action DO z2 Off e Wait 1 0 yar 1 20 Variable Expression L Prefer value from previous run Clear Expression 3 Simulation 7 Q Real Robot bi Speed 1100 Previous Next gt The Init Variables screen shows that the var 1 has no Initial Value 92 Universal Robots UR 6 85 5 A hints and tips
135. rograms M t4 ux 250MB SILVE NANO NANO 1G F32 Put into box2 urp Save As El Save As Initialize Initialize About About M 2 E x j t z E x i t Filter Universal Robots Program files l ave ance Be current Directory programs NANO M t 4 tilename TM WAN O 1 i F z f ilter Universal Robots Program files ES Save Cancel A Screen with file structure and files already present on the Hard drive Flashcard appears and the USB drive is already shown as a Directory The controller recognizes the USB drive automatically In this case the USB drive has the name NANO 1G F32 which was a name give it while it was sitting on my office computer but this can be any legal computer file name Sometimes a USB drive has a default name when it is purchased and sometimes it is just without a name so you might see other names or even unknown This is not important as long you know it is the USB drive you inserted to the robot controller Press on the name NANO 1G F32 to go into that directory i e go to the drive 47 Universal Robots UR 6 85 5 A hints and tips universa mes ZACODT A im Delete B 4x Rename Backup to USB If the USB drive is empty there are no directories on the USB drive and you can use the scissor symbol to create a directory If there is already directories from where it was in your o
136. s __universatrogors Zacobria Command Graphics Structure Variables Program Structure Editor Advanced Wizards Assignment Ux Ater m 0 Thread must be at the top level selected Insert Basic Script Code Event Here we got an error messages because the Thread has to be at top level So we have to move the cursor position up and highlight Robot Program in our program tree And then click Thread Program Installation Move 1 0 Log Program Installation Move 1 0 Log Hl Thread Command Graphics Structure Variables zThread i _ Command Graphics Structure Variables V Robot Program 2 V Robot Program a y Mae Program Structure Editor UMS on Program Structure Editor 9 Wawypoint 1 9 Waypoint_1 9 Waypoint_2 9 Waypoint_2 Action DO 9 2 Off Insert Action DO 9 Off Insert Wait 0 5 1 Wait 0 5 or Advanced Aca Booth Basic Advanced Wizards c Aciin DOLBIGOR Basic Advanced Wizards 9 Waypoint_3 f 9 Waypoint 3 f o Waypoint_4 Loop SubProg e Waypoint 4 Loop SubProg Action DO 9 On Action DO 9 On Wait 0 5 F J
137. s can be useful especially in Script programming mode 29 Universal Robots UR 6 85 5 A hints and tips Zacobria UNIVERSAL ROBOTS 8 7 Move screen simulator view Robot Feature Feature Q Robot ISA Base v _ 0 1973 i RY 0 0000 2 1233 RZ 0 0000 In the middle of the move screen is a graphic representation of the robot position which is useful as a guide for the robot posture You can choose between two different views Base view or Tool view i e angles of the graphic representation 30 Universal Robots UR 6 85 5 A hints and tips www mrs ZaCobria 9 The Help function If a screen has a in the top right hand corner means that a help screen is available Press the and the screen will be divided into boxes Point and press on the boxes you where you wish to read some help information s Program Installation Move 1 0 Log ove Too Robot asl ch T e Tanl Q Real Robot Speed 0100 X Cancel Move Joints Base m Shoulder I ENS Elbow eI z H Wrist 1 EE wis 2 Gl 3 gt gt is 5 ea gt gt Move Tab Move Tool Feature and tool position At the top right part of the screen the feature selector can be found The features selector defines which feature to control the robot relative to while below it the boxes display the full coordinat
138. stens for Script code Then the Script code necessary to connect and send on the Socket The s send command send that actual script code for the robot to execute which in the case IS set_digital_out 2 True Which is like previous chapter The n at the end of the line is a linefeed because the Robot need a linefeed after each command The Socket connection needs to be closed again with the s close command The print Received repr data command prints the output from the robot on the Host or PC monitor in this case acknowledgement code The second Program 2 is similar and just turn digital out number 2 OFF again and the robot does not move at all Echo client program import socket HOST 2 192 168 0 9 The remote host PORT 30002 The same port as used by the server S socket socket socket AF_INET socket SOCK_STREAM s connect HOST PORT s send set digital out 2 False n data s recv 1024 s close print Received repr data 111 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria 24 3 Script program for Socket connection Host computer to UR robot 2 Echo client program import socket import time HOST 192 168 0 9 The remote host PORT 30002 The same port as used by the server print Starting Program count 0 while count lt 1 S socket socket socket AF_INET socket SOCK STREAM s connect HOST PORT time sleep 0 05 s send s
139. t Auto OK 9 SHUT DOWN Robot ol 2 2 OK Press the OK button at the bottom of the screen which takes you to a Main Menu screen Please select About Legal User Interface PolyScope 1 4 6732 Jun 10 2011 12 54 05 URControl 1 4 6732 Jun 10 2011 12 30 30 Robot Controller T ur 2011203264 Hostname 192 168 0 9 R O BO S UNIVERSAL IP Address www universal robots com Copyright 2008 Universal Robots ApS Try and press the About button A screen with software version information appears and if an IP address has been assigned it is also shown in this screen We will learn later how to set an IP address so this is properly blank on your screen 14 Universal Robots UR 6 85 5 A hints and tips __universatrosors Zacobria Please select RUN Program Copyright 2008 Universal Robots ApS ROBOTS PROGRAM Robot SETUP Robot About SHUT DOWN Robot I Press OK and you will return to the Main menu For training purpose the shortcut method for initializing the robot will be explained now because the robot is already up and free So shut down the robot by pressing the SHUT DOWN Robot button SHUT DOWN button pressed 2 Shut down robot Confirm the Shutdown by pressing Yes button After a few seconds the robot and controller are turned off Notice how the six clicks could be heard because the mechanical breaks engage
140. t as well which is also very useful With this method it is possible to Import Script statements or whole Script files into the robot program created by the teaching pendant so this method is something in between using only the teaching pendants program objects and the fully remote Script programming This method will be explained first It is also important to mention the separate document and manual for Universal Robot script programming called scriptmanual enx x where the commands with their parameters are explained 103 Universal Robots UR 6 85 5 A hints and tips wem meos ZACODT A 24 1 Script programming from the teaching pendant In this method of script programming you still need the teaching pendant but this function is very helpful and makes it possible to edit part or entire program on another computer while the robot is running production This function can be used extensive script programming but also just as a method to manipulate variables input output states and especially timers This makes the programming very elegant i e the program tree is the overall pattern and flow of the program whereas things that can change such as variables I O and timers are kept in separate blocks In this way the commissioning and adjustment can be done in these blocks without touching the program flow Program Installation Move 1 0 Log zi Import script after Command Graphics Structure Ww Robot Prog
141. t for lt An Input gt 0 0 volts Wait 2 0 Wait O Wait for f x 2s A wait can also be defined as a Wait for a condition to happen e g a change in an input status Press Structure tab and insert one more wait instruction Wait Please select what should trigger the robot s next action 3 No Wait 3 Wait 0 01 seconds Q wait for Digital Input lt Aninput gt lagi O Wait for O Wait for Q Wait for Digital Input Dice Wait for lt An input gt 0 08 O Wait for i Press the Command tab in order to define the Wait but this time choose Wait for Digital input Select digital input 1 and select the status Hi This means the program will wait until this condition occurs This could be a signal from an external machine we are interacting with Program Structure Editor File Insert Basic Advanced Wizards Program Installat Move Waypoint My first pro m ey My _Pregral Wait I O Action Afer v Y Robot Program a WV Move Popup Halt e Waypoint 1 Action Do e 22on Comment Folder a Waypoint 2 arr e Action Dio 6 2 Off Wait 2 0 Move Copy Paste ARer v selected Wait DI 1 HI Y Move Cut Delete Suppress In our program block the second Wait statement also turned green because it is defined although this Wait behaviour is different as the first
142. t high wait 2 seconds and set it low again e g starting a conveyor for 2 seconds 70 Universal Robots UR 6 85 5 A hints and tips universa mos 4aCODria 16 1 Check expression continuously This is an explanation for what happens if the Check expression continuously is not handled carefully Instead of an Input we will check on a variable instead because then it is easy to see the meaning and difference Consider this small program Program Installation Move IF Expression continuesly Init Variables V Robot Program e V Move a Wawvynaint 1 9 9 If var 1 1 Action DO 2 2 On exwar 1 Wait 2 0 Action DO 7 2 0n a Waypoint_2 a Waypoint_s exwar 1 1 Initially the variable var 1 is set to 0 which means the IF statement is false and will not be executed until we reach after Waypoint 3 then the var 1 is set to 1 and therefore the IF statement is true and we be started to be executed But in this case we have set the Check expression continuously checked Init Variables Y Robot Program V Move If a Waypoint_1 ah ENS mor Depending on the state of the given sensor input oe or program variable the following lines will be e Wait 2 0 executed Action DO 7 Gn a Waypoint z If var 1 21 amp waypoint 3 TBI UE Check expression continuously n s What happens now is that the first few lines under the IF statement will be executed e g the Digital output 2 will g
143. t stopped Please note that the Green and Red light you see at the reset button are controlled by the relay on the light guard i e not by the robot When the light guard output is high a relay is activated and when the output is low the relay is deactivated and the contact associated with the relay controls the red and green light 125 Universal Robots UR 6 85 5 A hints and tips universa Rogos 3 GACOD 1a 32 Connection of External Emergency stop When connecting an external Emergency Stop or interconnects the Emergency Stop circuit with another machine there is something about potential free connections we need to consider In this example we consider a CNC machine as the other machine to interconnect the Robot Emergency circuit with We actually don t want to mix the power voltage on the CNC with the Power voltage on the robot nor do we want to mix the GND on the two machines Because if we mix the Power voltages on the machines the internal Power supplies could start fighting and there could be a risk of damage if there for some reason was a difference in the voltage levels So in a case where there is 12 Volt DC on one machine and 24 Volt DC on the other machine is a good example where we do not want to mix such power levels because then we could damage the electronic circuits and then it is good we have a method to overcome that Another fundamental thing that is important to know is that we normally say that Emergency s
144. t to be delivered to on the conveyor so we do not stack to work piece on top of each other or leaves any location unoccupied Program Installation Move I O Log el Thread Command Graphics i structure Variables V Robot Program V Move 9 If var_2 0 4 e Waypoint 1 yar a Waypoint var 2 prefers to keep value from last run Action DO 3 Off Wait 5 Action DO s8 2 Gn e Waypoint_3 e V F If war_2 4 e Wayooint_4_4 Wait 1 0 yar 2 0 yar 1 If war z223 a Waypnint 4 3 Variable Expression es Wait 0 5 Yar 2 i 0 Wait 1 0 ear 2j 4 If war 222 W Prefer value from previous run i i A T Clear Expression diis onc Speed 100 Previous Next gt 102 Universal Robots UR 6 85 5 A hints and tips universa Rogos 3 GACOD 1a 24 Programming Lesson 10 Advanced Script Programming So far we have used the touch screen teaching pendant on the Universal Robot to make our robot programs which is very convenient and easy to build up programs But sometimes it can be desirable to be able to make the robot program on a host computer and just communicating and sending commands from the host computer or PC via an Ethernet socket connection directly to the robot motion and action control without using the teaching pendant For example if the robot is part of a big complex installation where all equipment are controlled from the host computer o
145. th a check box Check it Shared Parameters Shared Parameters Move Tool Linearly HA Move Tool Linearly Joint Speed 60 0 deg s i Tool Speed 250 0 mm s i Joint Acceleration 80 0 deg s 2 Tool Acceleration 1200 0 mm s ce Reset to defaults Reset to defaults File Program My first progr Y Robot Program Install Waypoint 2 Go back to the Program tree Screen and notice how the MoveJ statement has changed to a MoveL statement Hemember that the Waypoint 1 and Waypoint 2 is the exact same as in the previous chapter Now we can compare the different movement for these two programs The programming environment and object to choose in MoveJ and MoveL are the same which is already explained in the previous chapter so how to start and run the program is the same Run these two programs after each other to compare now press start for this MoveL program move the robot to the Home position and Press start again and see the movement Reload the MoveJ program and Run that program See the difference See next page OO Universal Robots UR 6 85 5 A hints and tips wwemsw mrs aCObria MoveL MoveJ MoveL MoveJ Notice the difference for a MoveL to a MoveJ movement The middle picture for the Moved shows the tool head out fro the centre line Whereas the tool head stays at the centreline during the MoveL move In pick and place the Moved is advisable only rarely a MoveL is
146. the UR we have the IF statement to use Program Installation wor zunnamed Command Graphics Structure T Robot Program P V Move Program Structure Editor e Waypoint_1 e V IP empty Insert Advanced Wizards Assignment De After n selected Edit move cut Delete suppress Grea robo MAU PEL speed D100 erreious Nee Insert an IF statement into the program Define the IF statement by clicking on the formula button digital_in O True X and or xor not True HI and or xor not True HI ee E i gt z gt False LO lt gt x gt E False LO ri 4 lt Output gt z lt Input gt v lt Output gt v lt Pose gt v lt Variable gt v lt Pose gt v 1 OK E Function 0 digital_in 6 3 Cancel SHIFT 3 Cancel 69 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria This will bring up a screen where we can choose conditions for the IF statement to check on In this case we choose an Input to check on In this case it means that if Input O is true the IF statement is true and the lines in the IF statement will be executed Program Installation Move
147. then it is very difficult to reach and grab the coin But when you can move you body posture then it is very easy to pick the coin oimilar situation can occur during programming the robot where it will be impossible for the robot to take a linear move from where it was to reach and grab the coin The robot will attempt and you will se a rapid increase in speed and very fast thereafter the robot stop with joint error messages in order not to spoil the robot Just reposition the robot posture and waypoints and the robot can reach the target 124 Universal Robots UR 6 85 5 A hints and tips wem meos ZACODT A 30 Force feed back and Safety stop The UR robot is equipped with a Safety stop when the robot meets a force that is 150 Newton approximate 15 Kg oince there is a safety margin the value is actually lower than 150 Newton in order to ensure that the robot complies with this ISO standard On the other hand the robot has a lifting capacity of 5 Kg approximate 50 Newton so the safety stops cannot be lower than 50 Newton So the actual value is between 50 Newton and 150 Newton 31 Connection of Light Guard This You tube video shows how the light guard can be applied http www youtube com watch v U6 Hk9v XSs Note that when the person enters through the light guard the robot stops Only when the person leaves the area and press the reset button which is outside the area the robot continues from the position i
148. they did a very good job For example when two far away waypoints has been made then the robot will take a mathematically and physically possible shortest way from point A to point B which is maybe not always what you expected To control the path you need more waypoints in between to force the robot to go through The shortest way is also correct in most cases but not always the case Because the movement can be influenced by the position of the joint The joints can turn 360 degrees and 360 degrees if the joint is in its zero position as seen on the move screen i e total 720 degrees So how the robot move to next waypoint can be dependent on this One way to explain this is Consider the joint happen to be in the zero position at beginning of programming and if you have made several waypoints by only turning the base joint in only one direction e g left so point A 0 degree point B 45 degree point C 90 degree point D 135 degree and so on all the way up to 359 degree Now you want a point that is actually at position 361 degree it is possible to make and continue programming BUT when you run the program the robot will start nicely to turn around as you expected but when moving from 359 degrees to 361 degrees it will swing all the way back and go to degree 1 always keep a hand on the E stop when test running This is because the joints can turn 360 degrees The UR robot is a 6 axis robot which means it ca
149. top is to protect humans from danger so when we see a danger we can press an Emergency stop and the machine stops And the Safety stop as explained in previous chapter is a controlled method to protect the machine and humans form a potential damage This fact is very important to remember when we are working with these two different safety functions and why there are different level of severity to these circuits because we can easy understand that the Emergency Stop circuit has the highest and most severe rules to comply to because it deals with protection of humans However the basic of the circuits and how they work are very similar principle which is the principle of Serial connection of switches that all have to be closed to have a normal operational condition As soon as the loop i e the Serial connection is open at any place the Safety circuit detects that and we activate the Emergency Stop or Safety stop Next important thing to know is that Emergency stop circuit has to be hardwired i e it cannot be programmed for example sending a Emergency stop switch to a PLC input and then the PLC program perform the Emergency Stop routine this is not allowed because then there would be two main risk either the risk that the programmer made an error so the program does not detects the input change or there is the possibility of a PLC error and if someone presses the Emergency Stop but the PLC is in error then the Emergency stop routine will
150. vanced options K Show advanced options Move to this position Move to this position Time q Time 2 0 5 Joint Speed 3 Joint Speed Joint Acceleration Joint Acceleration Use shared parameters 3 Use shared parameters This is used to define how fast the robot should move Each Waypoint can be defined for how fast the robot should reach there from previous Waypoint This setting can be defined as pure time as a formula of the joint speed and acceleration Be aware of that if the speed is set low in relation to how far the two Waypoints are from each other then the robot might try to speed up and run too fast which will cause a Security stop to be activated 53 Universal Robots UR 6 85 5 A hints and tips __universatrosors Zacobria 14 3 MoveL Linear movements To learn about the MoveL linear movements we will just continue using the program we created in the last chapter called My first program urp Maybe you need to Load the program into the controller as described above or simply make a new small MoveJ program as explained in previous chapter Because we will just change the Moved program into a MoveL program o0 you will have this small program on the Screen File File Program Install Program Instal My_first_progr My first progi Robot Program Y Robot Program e V Move e V a Wawnaint 1 Lynnint 1 a Waypoint_2 e Waypoint_2 Point on the MoveJ statement and Press so it is highlighted nt Y
151. vi Show axes Move robot here 115 Universal Robots UR 6 85 5 A hints and tips UNIVERSAL ROBOTS Zacobria Go back to the Move screen and notice how these three relative points Line Plane has been added the Feature menu Try to choose each of the new relative objects Program Installation Move 1 o Log Qa Move Joints Move Tool Robot Feature Base Gl m gt 2 se Shoulder i EEE gt 4 y Elbow Qu gt 99 993 es Wrist 1 Qui E 116 550 Wrist 2 eum gt 23 69 Wrist 3 Qe gt 233 G Simulation Q Real Robot Speed 100 Program Installation Move 1 0 Log Move Tool Robot Feature 2897 Move Joints pa e Tool Position X 0 00 mm Y 0 00 mm z 0 00 mm RX 1827 RY 0 7160 v RZ 1 0749 o Base CG m ESP ee Shoulder Ep IS 84813 lt y Elbow i m 99 994 i Wrist 1 Gl BS ssd Wrist 2 Ep E 23 ca wrist 3 Gl o 233 3 Simulation Q Real Robot Speed 100 Program Installation Move 1 0 Log Move Tool 25 D Robot Feature Tool Position X 32 98 mm Y 24 06 mm z 126 47 mm RX 0 4394 RY 0 1
152. when finis typing Notice after pressing OK the file name is listed below on the Screen In Progress Please wait 0 Press Save to save the file and a popup messages appear to confirm the save of file Program Installation Move 1 O Log My first program Command Graphics Structure V Robot Program a V Move E 9 Waypoint_1 Program 9 Waypoint_2 The window on the left shows the program tree Use the Next and Previous buttons to navigate through the program tree Use the Structure tab to modify the program tree Add BeforeStart Sequence Set Initial Variable Values 4 gt lt gt K Program Loops Forever dpi d l gt PR B Speed 66 Previous Next gt After the controller finish the save it returns to the Program tree we were working on and we can continue programming which will be explained in the next chapters 90 Universal Robots UR 6 85 5 A hints and tips __universatrogors Zacobria 14 Programming Load a program from USB drive Save As Initialize About i Exit ER NANO 1G F32 To load back a program that we previously have saved on the USB drive press the File menu choose Load Press on the name for the USB drive in my case NANO 1G F32 If you choose to create sub directories then go all the way down to
153. y this is automatically chosen for us here Later MoveL will be explained 38 Universal Robots UR 6 85 5 A hints and tips universa mos 1 4aCODria 12 2 2 Program Home position This first Waypoint is also what becomes this user program Home position and this can be anywhere and therefore different as to the robot home position discussed in the Move Screen Program lt unnamed gt lt unnamed gt Y Robot Program Robot Program VW Move V Move 2 hifasmoin a Waypoint mnint Progran We need to define each Waypoint we insert into out program Point and press on the Waypoint we want to define in this case there is only one because we just started programming Press the Command tab Program Installation Move I O Log B lt unnamed gt Command Graphics Structure rograi Y Noe p j SS Fixed position v i Km Waypoint Rename p Please specify the robot position for this waypoint gt Waypolnt Rename Set this waypoint Please specify the robot posit Show advanced options stop at this point Blend with radius nn n Set this waypoint Remove this waypoint Add waypoint before Add waypoint after lt gt err hed 5 b B8 Speed 7100 Previous Next gt Because we have pointed out the W

Download Pdf Manuals

image

Related Search

Related Contents

PRO FIX HIGH TACK - ATN Diffusion LPF SA  ダブルセット  Bedienungsanleitung  Quantum Kettle - Yardley Hospitality  Nikon 1532 Digital Camera User Manual  Tristar MW-2706 microwave  Media-Tech MT4029R webcam  取扱説明書 SHO-BOND GROUP  BGH Joy Smart A6d Mobile Phone User Manual  デジタルビデオ カメラモジュール  

Copyright © All rights reserved.
Failed to retrieve file