Using Teach Pendant on/off in programs

  • Hello,


    I'm new to the forum, and somewhat new to programming, so I'll probably be posting a few questions over the next few days.


    The first question I have is, is there a way to use the state of the teach pendant on/off switch in a program.


    The application is a robot welding cell in which an operator managed to find a hard to repeat method of getting the robot to weld a part without the flash screen down.


    The flash screen is controlled by the PLC, which I do not have access to.


    My plan is to add a few lines to the program such as

    • LBL [1]
    • IF TP=ON, JMPLBL [2]
    • IF DI[11](ARC ENABLE)=ON AND DI[17](SCREEN CLOSED)=OFF, THEN
      • UALM[3](SCREEN OPEN)
      • PAUSE
      • JMPLBL [1]
    • ENDIF
    • LBL [2]


    To clarify, the reason the robot can move with the screen open, which it is only supposed to be able to do in teach or with the weld turned off, is for one of our engineers who likes to check weld paths in auto, and for me who likes to make program adjustments with the weld on in teach. We have a light curtain in front of the cell which will stop the robot if it is running in auto with the screen opened.


    I have done something similar to this with the weld enable button by using the system address, but I don't know where to find the system address for the teach pendant switch.


    Thank you

  • UO[8] = TP enabled or SO[7].


    You can simplify your program to the following:


    LBL[1]

    If (!UO[8] AND DI[11] AND !DI[17]), Then

    UALM[3]

    JMP LBL[1]

    ENDIF



    Label 2 is unnecessary as that is what the endif does. Pause ins unnecessary as that is what UALM does.

  • Hey Rex,


    HawkME simplified instruction the exclamation point ! in front of UO[8] & DI[17] = OFF

    no exclamation point in front DI[11] =ON

  • Just out of curiosity, I have seen a lot of topics relating to BGLogic, which is something I'm not yet familiar with. Is this something that could work as BGLogic program so that it can check continuously instead of at a single point in the program?

  • I'm pretty sure you can't use UALM in BG logic. You could use BG Logic to issue a UOP hold but would need another way to indicate the issue to the operator.


    A system level condition monitor would work for a continuous check and allow UALM.


    Probably best to keep it simple how you have it now.

Advertising from our partners