Robot 1 User Documentation.pdf

download Robot 1 User Documentation.pdf

of 14

Transcript of Robot 1 User Documentation.pdf

  • 8/14/2019 Robot 1 User Documentation.pdf

    1/14

    Robot 1 User Documentation Jialong

    A) Menu structure

    B) Robot points

    C) ProgramD) Mask description on panel PC

    WALTEC Robot -- Auto-Menu

    A) Menu structure

    Waltec Robot Auto-Menuspeed setup

    timing setup

    position setup

    display values

    save positions

    Change P_stiop

    Change LimZ

    Change P_start

    Change acceleration

    Change deceleration

    Change speed

    Change give off time

    Change pick-up time

    Display speed and acc.

    Display positions

    Blow out

    Display timing

    Set off

    Set on

  • 8/14/2019 Robot 1 User Documentation.pdf

    2/14

    User interface of ROBOT is displayed and can be used when robot-program is

    running !!! and key-switch of teach pendant is in position Automatic.To start robot-program switch press (hole punching machine) from manual to

    automatic operating mode and press button initial position.

    - WALTEC Robot 1 -- Auto-Menu -----

    1= position setup

    2= speed setup

    3= timing setup

    4= display actual values

    5= save positions

    6= blowout on/off

    -------- actual values -----------

    t_cycle= 1.34 s

    1. by pressing 1 and enter user enters position setup menu2. by pressing 2 and enter user enters speed setup menu3. by pressing 3 and enter user enters timing setup menu4. by pressing 4 and enter user enters menu for displaying of actual values like

    timers and positions5. by pressing 5 and enter user is saving changed positions6. by pressing 6 and enter user can set variables like speed and LimZ

    Position setup menu ROBOT

    menu position setup

    1= change P_start

    2= change P_stop

    3= change LimZ

    1. by pressing 1 and enter user can change position and orientation of pointP_start (position over hole punching machine mold)

    2. by pressing 2 and enter user can change position and orientation of pointP_stop (position over turning device)

    3. by pressing 3 and enter user can change the upper z axis limit of robotmovement (LimZ)

  • 8/14/2019 Robot 1 User Documentation.pdf

    3/14

  • 8/14/2019 Robot 1 User Documentation.pdf

    4/14

    Save points to file

    After changing positions of points dont forget to save them to file!!!

    Blow out on/off menu ROBOT

    menu blow out

    1= on

    2= off

    1. set parameter BlowOutOn to on -> blow out valve is used2. set parameter BlowOutOn to off -> blow out valve is not used

  • 8/14/2019 Robot 1 User Documentation.pdf

    5/14

    B) Robot points

    Robot is waiting over mould for start-signal from PLC -> P_wait.After getting its start impulse it will move to P_start and wait pickup time and trying tosuck article. If throw-off-condition is active then he will move to P_throw_off and releasearticle, else he will place in article inside hole punching machine (robot 1) or turner(robot 2).If save-condition is active then robot will move to P_save (then throw-off-condition isnot valid anymore).If parking-condition is active then robot will move to P_secure (then throw-off-conditionand save-condition are not valid anymore). This position should be used in press warmupmode or when changing sucking heads.

    If this button is pressed and robot is allowed to place articles inside puncher oder turningdevice then robot will move to P_stop

    If this button is pressed then robots throw off all articles.

  • 8/14/2019 Robot 1 User Documentation.pdf

    6/14

    C) Program

    See actual robot project robot_1_press_x for example and open this project for printingprogram or see below for program description.

    Program consists of 4 tasks which are running parallel (multitasaking):1. main task2. error handling task3. user interface task4. input-output handling task

    C.1. Main task: contains main program and moving instructions for robot 1

    Global Preserve Integer Vel, LimZAxis, Acc, DecGlobal Preserve Real PickUpTimeGlobal Preserve Real GiveOffTimeGlobal Preserve Real GiveOffTime2

    Global Preserve Real BlowOutDelayTimeGlobal Preserve Real BlowOutTimeGlobal Preserve Boolean BlowOutOn

    Global Real CycleTimeGlobal Boolean In_Secure_Pos, In_Wait_Pos

    Function main ' Main function: start of program !!!!!!

    Xqt main_UserInterface Multitasking: starts user interface task Touch Pendant TPXqt main_Error ' Multitasking: starts error handling taskXqt main_BlowOutTimer ' Multitasking: starts input-output handling task

    Power High ' Power set to maximumArch 0, 50, 50 ' defines point to point movement (JUMP) with 50mm

    vertical up and 50mm vertical down movement

    Arch 1, 50, 50LimZ LimZAxis ' height limiting for JUMP instruction -> the lower the fasterAccel Acc, Dec ' defines acceleration and deceleration of robot jointsWeight 1, 250 ' defines weight and inertia settings for robot -> robot will

    ' choose appropriate maximum accelerations for each jointOn EnableTablePress enabling table turning of press and punching machine -> set output

    highOn EnableTablePunchIn_Secure_Pos = False presetting of parametersIn_Wait_Pos = False

    Do endless doloop

    If (Sw(SecurePosition) = 1)And (In_Secure_Pos = False)Then ' If robot should move to parking position and it is not already in parking position then it will move with low speed to parking position -> Point P_secure

    Speed 10 10% of maximum speed! Jump P_secure jump movement to parking position

    If InPosThen ' when in parking position then allow table turning andOn EnableTablePressOn EnableTablePunchOff VacuumOn in parking position switch vacuum offIn_Secure_Pos = TrueIn_Wait_Pos =False memorize that robot is in parking position

    EndIfGoTo End jump to end of program loop

    EndIf

    Defines parameters which are valid all over the program(global) and are always stored inside SRAM memory of robot(preserve) and hence cannot be deleted (after power fail)

    Defines parameters which are valid all over the program(global) and are not stored inside SRAM memory (batterybuffered) of robot and hence will be deleted after power fail

  • 8/14/2019 Robot 1 User Documentation.pdf

    7/14

    If (Sw(SecurePosition) = 0)And (In_Secure_Pos = True)Then ' If robot should move not!!! to parking position and it is already in parking position then it will move with low speed to waiting position over mould

    Speed 10 10% of maximum speed

    ! Jump P_wait jump movement to waiting positionIf InPosThen ' when in waiting position then allow table turning and

    On EnableTablePunchOn VacuumOn in waiting position switch vacuum on

    In_Secure_Pos = FalseIn_Wait_Pos =True memorize that robot is in waiting position

    EndIfGoTo End jump to end of program loop

    EndIf

    If (Sw(SavePosition) = 1)And (Sw(SecurePosition) = 0)Then If robot has to move to save position (for example some article is not pressed) then robot will move up to point P_save

    ! Go P_saveIf InPos Then

    On EnableTablePressOn EnableTablePunchOff VacuumOn in save position switch vacuum off

    EndIfGoTo End jump to end of program loop

    EndIf

    If Sw(Start) = 0Then GoTo End ' waiting for start impulse in automatic modeLimZ LimZAxis height limiting -> value can be changed also in automatic modeAccel Acc, Dec acceleration -> values can be changed also in automatic modeSpeed Vel velocity -> values can be changed also in automatic modeTmReset 0 ' Reset Timer 0 -> start of cycle time measurement

    ! Go P_start! D0; On VacuumOn; D0; Off EnableTablePress! ' move straight toP_Start over mould an immediately switch vacuum on (if notalready on) and dont allow table of press to turn (collisionavoiding)

    Signal 1 ' when in mould send signal 1 to task BlowOutTimer -> startblow out of mould if blow out function is switched on (menu)

    Wait PickUpTime ' wait pick up time

    If Sw(ThrowOff) = 1Then ' if throw off condition is active then move article toP_throw_off and switch vacuum off (use Arch0 definition C0 for jump)

    ! Jump P_throw_off C0 ! D10; OnEnableTablePress; D100; OffVacuumOn !Else if throw off condition is not active then jump to hole

    punching machine (P_stop) and dont allow punching table to move

    ! Jump P_stop C0 ! D10; OnEnableTablePress; D90; OffEnableTablePunch !EndIf

    Wait GiveOffTime ' wait give off timeOff VacuumOn ' switch vacuum off and place article in mould hole puncherWait GiveOffTime2 ' wait give off time 2

    Jump P_wait C(1) ! D10; OnEnableTablePunch; D25; OnVacuumOn!

    On Acknowledge, 0.05 ' tell PLC end of cycle (for measurement of robot cycle time)

    Output Acknowledge is set to high for 50millisecondsCycleTime =Tmr(0) measure cycle time

    Endif

    End:Loop

    Fend end of main function

  • 8/14/2019 Robot 1 User Documentation.pdf

    8/14

    C.2. Error handling task: contains code for error handling

    This task is started at the beginning of the main task and is always running in background(multitasking) and is checking for errors. If any error (for example collision of robot withpress) occurs or robot program is not ready or not running then outputs of robot are

    switched off and tables of press and hole puncher are not allowed to turn (to protectmechanics of robot and press / puncher).

    Robot program has to run, otherwise press and hole punching machine cannot work inautomatic mode !!!!! Check for this conditions. If these conditions are not active thenthere is probably some error still active !!!!Ready-signal is active when robot is switched on.Running-signal is active when robot program is running !!!!!Robot program is started by switching from manual to automatic mode and pressingbutton initial position. One of these two signals should always be active. Ready is activein manual mode and running is active in automatic mode.

    When switching back to manual mode program is stopped for safety reasonsautomatically.

    If control cabinet of robot has no power then all robot outputs are in switched off state.I

    Function main_Error ' Error taskDo DoLoop -> always look for error conditions

    If Oport(3) = 1Then ' oport(3) correspondents to error-signal which is send toPLC

    Off EnableTablePress if Error active then stop tables of press and hole puncherOff EnableTablePunchOff VacuumOn switch off robot outputsOff BlowOut

    EndIf

    If Not (Oport(0) = 1 Or Oport(1) = 1)Then ' oport(0) correspondents to ready-signal andoport(1) to running-signal which are send to PLC to tell stateof robot

    Off EnableTablePress if above condition (no ready or no running signal) is activethen stop tables of press and hole puncher

    Off EnableTablePunchOff VacuumOn switch off robot outputsOff BlowOut

    EndIfLoop

    Fend end of main function

  • 8/14/2019 Robot 1 User Documentation.pdf

    9/14

    C.3. Input Output handling task: contains code for interacting with external

    devices

    This task is started at the beginning of the main task and is always running in background(multitasking) and switches the blow out valve. When signal 1 of main task is send to

    blowout timer task (WaitSig 1) then blowout timer is started.Signal 1 of main task is send to this task when robot arrives in P_start point of pressingmachine.If blowout function is used (parameter BlowOutOn=1) then timer are started and outputsare set else nothing happens.Blowout valve is used to help to lift article out of the mould. Blowing air should bedirected to the rim of the article. Air can flow between mould bottom and article and willlift article for easier sucking by robot.

    Function main_BlowOutTimer ' Input Output handling taskDo DoLoop -> always waiting for Signal 1

    WaitSig 1

    If BlowOutOn= 1Then If BlowOut is used (Set to on with teach pendant) thenOff BlowOut ' defines start state of valve -> offWait BlowOutDelayTime ' wait delay timeOn BlowOut ' set valve on -> blow out active -> valve openWait BlowOutTime ' wait blow out timeOff BlowOut set valve off -> blow out inactive -> valve closed

    Else elseif BlowOut is not used thenOff BlowOut set valve off -> blow out inactive -> valve closed

    EndIfLoop

    Fend end of main function

  • 8/14/2019 Robot 1 User Documentation.pdf

    10/14

    C.4. User interface task: contains program for interacting with user and display text

    and values on teach pendant

    Only an excerpt of the whole code of this task is shown and commented because the restof the code is very similar.

    To display information and to read keys on the teach pendant there are two commandsavailable in SPEL programming language.Print #24,. will write information on the display of teach pendant andInput #24,a$ will wait for user interaction (pressing of keys and entering this information).

    Function main_UserInterface ' User interface taskString a$ parameter is used to store string being typed by user on TPDo

    Cls #24 clear screen of teach pendantPrint #24, "- WALTEC Robot 1 -- Auto-Menu -----" 'port-number #24 defines printing to Touch Pendant displayPrint #24, "1= position setup"Print #24, "2= speed setup"Print #24, "3= timing setup"Print #24, "4= display actual values"Print #24, "5= save positions"

    Print #24, "6= blowout on/off"Print #24, "-------- actual values ----------- "Print #24, "t_cycle=", CycleTime, " s" now menu is printed and

    Input #24, a$ waiting for pressing of key on alphanumeric keyboardIf a$ = "1"Then if key 1 is pressed then position setup menu is displayed

    Cls #24Print #24, "menu position setup"Print #24, "1= change P_start"Print #24, "2= change P_stop"Print #24, "3= change LimZ"Input #24, a$ waiting for pressing of key on alphanumeric keyboardIf a$ = "1" Then if key 1 is pressed then change P_start menu is displayed

    L_P_start: Cls #24Print #24, "change position P_start"Print #24, "1= x+0.2mm ", "2=x-0.2mm "Print #24, "3= y+0.2mm ", "4=y-0.2mm "Print #24, "5= z+0.2mm ", "6=z-0.2mm "Print #24, "7= u+1grad ", "8=u-1grad "Print #24, "0= quit"Input #24, a$ waiting for pressing of key on alphanumeric keyboardIf a$ = "1" Then if key 1 is pressed then P_start x-pos is incr. 0.2mm

    P_start = P_start +X(0.2) ' X-axis + x mmElseIf a$ = "2" Then if key 2 is pressed then P_start x-pos is decr.0.2mm

    P_start = P_start -X(0.2) ' X-axis - x mmElseIf a$ = "3" Then if key 3 is pressed then P_start y-pos is incr.0.2mm

    P_start = P_start +Y(0.2) ' Y-axis + x mmElseIf a$ = "4" Then if key 4 is pressed then P_start y-pos is decr.0.2mm

    P_start = P_start -Y(0.2) ' Y-axis - x mmElseIf a$ = "5" Then if key 5 is pressed then P_start z-pos is incr.0.2mm

    P_start = P_start +Z(0.2) ' Z-axis + x mmElseIf a$ = "6" Then if key 6 is pressed then P_start z-pos is decr.0.2mm

    P_start = P_start -Z(0.2) ' Z-axis - x mm

    ElseIf a$ = "7" Then if key 7 is pressed then P_start u-pos is incr.0.2mmP_start = P_start +U(1) ' U-axis + x grad

    ElseIf a$ = "8" Then if key 8 is pressed then P_start u-pos is decr.0.2mmP_start = P_start -U(1) ' U-axis - x grad

    ElseIf a$ = "0" Then if key 0 is pressed then quitGoTo L_end

    Else else print Wrong inputPrint #24, "Wrong Input!"

    EndIfCls #24Print #24, "actual position P_start:" display actual position P_startPrint #24, "x = ", CX(P_start)

  • 8/14/2019 Robot 1 User Documentation.pdf

    11/14

    Print #24, "y = ", CY(P_start)Print #24, "z = ", CZ(P_start)Print #24, "u = ", CU(P_start)GoTo L_P_start

    ElseIf a$ = "2" Then if key 2 is pressed then other menu is displayed and so on

    .

    Else Print #24, "Wrong Input!"EndIf

    L_end: a$ = ""

    LoopFend

  • 8/14/2019 Robot 1 User Documentation.pdf

    12/14

    D) Mask description on panel PC

    F6 of Basic mask press

    Figure 1: Basic mask robot 1

    DELAY TIME START: defines delay time.

    PICK UP TIME: because PLC dont know programmed timing in robot program, userhas to enter robot timing in this input field for correct timing calculation! If timing ofrobot program is changed, please dont forget to enter changed timing values!GIVE OFF TIME: see above.CYCLE TIME: pleaser enter cycle time of robot 1 (just copy value on the left of thisinput field).

    SIGNALS: displays state of PLC outputs which are connected to robot 1 inputs.Start: active, starts robot programThrowOff: active, when throw off condition is on (robot has to throw off articles).SavePosition: active, when save position condition is on (robot has to move to saveposition to avoid collision).SelProg: not usedStop: when active, stops robot program

  • 8/14/2019 Robot 1 User Documentation.pdf

    13/14

    Pause: when active, sets robot to pause stateContinue: when active, ends pause state, robot is working againReset: when active, resets fault condition of robotSetMotorOn: when active, switch motor power onSetMotorOff: when active, switch motor power off

    Home: when active and home defined moves robot to home position

    STATE: displays state of robot outputs which are connected to PLC inputs.Ready: shows robot is ready to workRunning: robot program is already workingPaused: robot is in pause modeError: robot error active -> reset robotEnableTable: robot is not in collision area with press -> indexing table press is allowedto moveEnableTable2: robot is not in collision area with hole puncher -> indexing table holepuncher is allowed to move

    Acknowledge: robot has finished cycle (is back in waiting position) -> active for 50msfor cycle time measurementSError: robot severe error active -> switch off and then on robot power module.Watch for error number. If after switch on there are still some error numbersactive look inside robot manual.Warning: robot warning active -> check warning number at robot power module andtry to solve problem -> robot is allowed to work if warnings are active.AtHome: robot is in home position

    STEP: Displays the step of the program process. It is Important to search for errors in theprogram. In the case of possible program failures please forward the pertaining numberto the WALTEC Company.

    CYCLE TIME (RESIDUAL): see Screen Description: Cycle time.

  • 8/14/2019 Robot 1 User Documentation.pdf

    14/14

    If you press info button or if you select key F8 you get additional information

    about

    why robot 1 throws off articles or why robot 1 has moved to save position.

    F8 of Basic mask robot 1

    Figure 2: Basic mask robot 1 state

    In this mask you can watch and define conditions for throw off , save position andparking position.

    Use selector buttons to change definitions.

    Priority of conditions (order high > low priority):Highest priority: Robot 1 parking conditionMedium priority: Robot 1 save position conditionLowest priority: Robot 1 throw off condition

    In other words, always the condition with highest priority is active, even if one withlower priority is also active!!!!