Advertising

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.

    • New
    • Helpful

    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!

  • 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 :)



    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!

  • You can also turn on write protection on your programs, most of the people never find out how to turn it off... at least here :)

    Agree. This has been the most successful method for me as well.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now