In repeat mode- It is possible Pg

  • Hai ,


    In Kawasaki robot - When we made robot to repeat mode & robot running in repeat mode & due to some reason we are making to HOLD & robot gng to hold.

    If I click directory & change program it is possible to change program also.

    If anybody changes the robot program , then collision would happen


    Is the any setting thr to arrest in repeat mode only ?


    Currently I’m hiding the directory in level 3 & using .


    In addition to that I found in dedicated output signal we have option for program output.


    Using this can we create any autostart PC.


    Is thr any command to monitor for particular step or particular program

    Im new to AS language, So pls support for any idea

  • There are many options... now it depends how you did the starting procedure.


    1. You can hide all other programs and keep only the start program.


    For each program, at the beginning you can have a "watchdog" that is checking that the program was called by the robot or not. For example:


    .PROGRAM main ()

    .....

    .....

    watchdog = 12345

    ....

    ....

    ....

    CALL program1

    ....

    ....

    .END

    .PROGRAM program1 ()

    CALL check_watchdog

    ....

    ....

    .END

    .PROGRAM check_watchdog

    IF watchdog == 12345 THEN

    watchdog = 0

    RETURN

    END

    ; if the watchdog is not the value

    PRINT "error"

    HALT

    .END


    In this way if the operator will select the wrong program, the watchdog will not allow the robot to continue.


    If you have any automatic homming procedure, when the robot is in home position you can use the MC PRIME in order to prepare the start program automatically.


    Please describe how the starting procedure is done with your robot.

  • Thanks for your valuable reply …


    I’m using automatic main program calling autostart PC … when we are making teach to repeat


    Please clear me in main pg I watchdog ==0

    & every sun program I should use call watch dog & I should create separate watch dog program … right ???

  • Also in addition My auto start PC is getting off immediately after control power off & on


    In system switch autostart PC setting was on only & also kept repeat cycle to be -1


    Is thr any other setting or method to keep auto start PC continuously on even after power off & on ???

  • Please provide some source code from your programs. You can send via conversation in private mode if You dont want to post here.


    You need to create only one watchdog program and call it every tine when You begin a new program.

  • Any program executes from step 1 to last step and finish.

    If autostart program does not contain infinite/conditional loop, then it will only execute once.


    PCEXECUTE autostart.pc,-1 is the specific command to execute PC Task infinitively.


    You must study AS Language Manual for best way to achieve for your application using variations of:

    LABEL and GOTO LABEL

    WHILE DO

    DO UNTIL

    IF (condition match or condition does not match) GOTO LABEL


    Also you must study PC Control commands in AS Language Manual for:

    PCEXECUTE

    PCABORT

    PCEND

    PCKILL

    PCCONTINUE

    PCSTATUS

    PCSCAN


    For instance you could use simple instructions like:

    1.

    again:

    IF (condition match) THEN

    'running code goes here'

    GOTO again

    END


    2.

    WHILE (condition match) DO

    'running code goes here'

    END


    3.

    DO

    'running code goes here'

    UNTIL (condition match)

  • Hai ,


    I have checked the program which u given

    .PROGRAM check_watchdog

    IF watchdog == 12345 THEN

    watchdog = 0

    RETURN

    END

    ; if the watchdog is not the value

    PRINT "error"

    HALT

    .END


    But i'm facing same issue only


    Im sending the pg structure which m using


    Main pg:


    .PROGRAM pg0()#0

    HOME

    WAIT SIG(2001)

    TWAIT 0.2

    watchdog = 12345

    pg.no = BITS(1002,4); pg selection from plc

    IF pg.no==1 THEN

    CALL pg1

    END

    IF pg.no==2 THEN

    CALL pg2

    END

    IF pg.no==5 THEN

    CALL pg5

    END

    .END


    Subprogram :


    .PROGRAM pg1()#0

    CALL check_watchdog

    JOINT SPEED9 ACCU1 TIMER0 TOOL1 WORK0 CLAMP1 (OFF,0,1,0) OX= WX= CL1=0.000,0.0,0.0,0.0,0.0,0.0,0.0 #[1.1755,-2.0094,-2.1277,-0.40315,-0.71972,-2.3181,-2000] ;

    JOINT SPEED9 ACCU1 TIMER0 TOOL1 WORK0 CLAMP1 (OFF,0,1,0) OX= WX= CL1=0.000,0.0,0.0,0.0,0.0,0.0,0.0 #[1.1554,-1.6068,0.17737,-0.10318,-2.6231,-2.595,-2000] ;

    JOINT SPEED9 ACCU1 TIMER0 TOOL1 WORK0 CLAMP1 (OFF,0,1,0) OX= WX= CL1=0.000,0.0,0.0,0.0,0.0,0.0,0.0 #[0.51831,-1.7927,-8.4439,16.004,4.1989,-3.1629,-2000] ;

    JOINT SPEED9 ACCU1 TIMER0 TOOL1 WORK0 CLAMP1 (OFF,0,1,0) OX= WX= CL1=0.000,0.0,0.0,0.0,0.0,0.0,0.0 #[0.38768,-1.7919,-8.409,16.193,-44.515,-3.5097,-2000] ;

    JOINT SPEED9 ACCU1 TIMER0 TOOL1 WORK0 CLAMP1 (OFF,0,1,0) OX= WX= CL1=0.000,0.0,0.0,0.0,0.0,0.0,0.0 #[0.33723,1.0078,8.1834,13.397,-57.862,1.0008,-2000] ;

    JOINT SPEED9 ACCU1 TIMER0 TOOL1 WORK0 CLAMP1 (OFF,0,1,0) OX= WX= CL1=0.000,0.0,0.0,0.0,0.0,0.0,0.0 #[-1.4304,2.373,9.6189,26.365,-63.589,-17.317,-2000] ;

    .END


    I'm running the main pg & By signal condition it calling to pg1

    If i made robot hold & changed the pg in directory - Then its directly calling to main pg only

    Not making robot to HALT!!:frowning_face:

  • When are you doing the hold and change the program?


    If it is calling back the pg0 maybe you have a background program that is doing this.


    I would suggest to have something like this:


    .PROGRAM pg0()#0

    HOME

    WAIT SIG(2001)

    TWAIT 0.2

    pg.no = BITS(1002,4); pg selection from plc

    IF pg.no==1 THEN

    watchdog = 12345

    CALL pg1

    END

    IF pg.no==2 THEN

    watchdog = 12345

    CALL pg2

    END

    IF pg.no==5 THEN

    watchdog = 12345

    CALL pg5

    END

    .END

  • Instead of outputs you can use SWITCH functions, for example:


    SWITCH(POWER) = motor ON

    SWITCH(REPEAT) = robot in repeat mode

    SWITCH(CS) = Cycle start ON


    Are you sure that the robot can move with that autostart program? You are checking all the time if the Motors are ON and not in teach mode, i think that it will PRIME the pg0 all the time when the robot is in repeat mode.

  • Yes


    When robot not in teach & Motor power is on => it automatically call to Main program.


    Instead is thr any way to hide all program ?


    Im using protect data using command Uprotect => But if i change to level 3 again i can assess all program.

  • Yes


    When robot not in teach & Motor power is on => it automatically call to Main program.

    Yes, but it calls the main program all time because your background program is looping.


    Instead is thr any way to hide all program ?


    Im using protect data using command Uprotect => But if i change to level 3 again i can assess all program.

    The operator should not have access to level 3. But if the operator will select the wrong program, then the watchdog program will HALT the robot.


    You can create a button with the homming part if you want.

  • I took Home signal has in auto start PC & checked => Your pg is working.


    Thanks for your support :grinning_squinting_face::thumbs_up:.


    Sorry for asking another question.


    Now we arrested the program changing , Is thr any way to arrest of changing step ?:confused_face:

Advertising from our partners