Trigger an DO when any tp program is edited in the background

  • Last night somebody made a change to two of my robots that run essentially the same routines in a cell. So it was not done on accident and really the only reason would be sabotage.

    If it happens again I would like to catch the guy. I am creating a timestamp in the PLC and I now have a camera on the Teach Pendants - that will not help if malicious changes are made in the background. Is there a way to detect that?

  • ...why not just set a password?

    I have thought about that, but at this point I really think it is some disgruntled employee who is sabotaging us. We have a control cabinet that is only used for a backup process where wires were just enough pulled out to not make and a few other things.


    I would really like to catch him/her red-handed.

  • I figured out a way to detect Background edits using a BG logic program. The following program will pulse DO[1] for 1 second as soon as a background edit is started. It uses R[1] and DO[1] so you would have to change those to an unused register and output. I would recommend something down the list a way and to name the bg program something obscure.


    Note: This will not detect foreground edits to a program.


  • I feel like this may be a case of Hanlon's Razor.

    "Never attribute to malice that which is adequately explained by stupidity."


    With that said, Not right out of the box. You would have to write a karel routine to monitor the background variables, then run that in the background.


    There is also the logbook.ls if your robot is setup with it. It captures screen shots and program changes, with time stamps. Just make sure the robot's time is set right, as they are set to Japan time when they ship.


    Another option would be to take a ftp backup every 5 minutes or so, and then run a diff command on the previous vs the current, and see if anything changed.

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

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

  • I figured out a way to detect Background edits using a BG logic program. The following program will pulse DO[1] for 1 second as soon as a background edit is started. It uses R[1] and DO[1] so you would have to change those to an unused register and output. I would recommend something down the list a way and to name the bg program something obscure.


    Note: This will not detect foreground edits to a program.


    I am in the bad position of being the most knowledgeable robot programmer at my company... will check this out as soon as I figure out how to do background edits :smiling_face:



    I never heard of the logbook, but we do have it on the robots. I disabled everything but entering values, that should do the trick it seems.




    Thanks to both of you! I feel like I am a detective!

Advertising from our partners