setting alarm lights to error codes

  • Ive been trying to set up a way to turn on a light in any program I write that if the safety circuit is broken, a light will pulse or flash, indicating to the operator there needs to be something to reset. I know it sounds silly, but is there a way to write an IF statement that can reflect that action or is it something that needs to be hard wired into the safety circuit itself?


    I'm sure it's an obvious answer, but just wanted to make sure


    Thanks!


    Zack

  • I dont have the condition monitor list in front of me, but this would have to be done as a background program task , not in a main motion group program. I do monitoring programs like this in KAREL, not TPE. Maybe someone can chime in here and say.. does TPE programming have the ability to keep a program running, even on an abort all command? In Karel, you modify the compiler directives and can force the program to keep running indefinately , even on a Estop. Only a power cycle would stop the program.


    Others are fans of the BG Logic (background logic) and I would think maybe this could be accomplished in it too.

  • I always recommend PMC for these kind of tasks, it's pretty cheap and it has great functionality.


    Bglogic is pretty doable but doing the blinking there makes the code pretty unintentive since you can't use delays out of the box. Imho :winking_face:


    Sent from my GT-N8000 using Tapatalk 4

  • If you just want to use a solid light, you can use the interconnect screen under IO to connect various safety signals up to outputs. Simple and clean.


    Menu ->IO -> Interconnect -> [Select] (F3) -> "ES -> DO"



    I dont have the condition monitor list in front of me, but this would have to be done as a background program task , not in a main motion group program. I do monitoring programs like this in KAREL, not TPE. Maybe someone can chime in here and say.. does TPE programming have the ability to keep a program running, even on an abort all command? In Karel, you modify the compiler directives and can force the program to keep running indefinately , even on a Estop. Only a power cycle would stop the program.


    Others are fans of the BG Logic (background logic) and I would think maybe this could be accomplished in it too.


    Yes there is a way to do this. In the header of a .ls program, change it to the following:

    Code
    TCD:  STACK_SIZE	= 0,
          TASK_PRIORITY	= 50,
          TIME_SLICE	= 0,
          BUSY_LAMP_OFF	= 1,
          ABORT_REQUEST	= 3,
          PAUSE_REQUEST	= 7;


    This will make a tp program impossible to abort, pause, and will not light up the cycle light. It will not honor this if there is a group assigned to the program though.

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

Advertising from our partners