RobotStudio event

How to detect when robot program is changed?

Hi everyone.
I want to use PC SDK to write a C# application that can monitor and raise notification when Robot program is changed (not Robot data, just code).
I am developing an app and use the below method to detect program change:
-Create a backup after a time interval (now I set interval=5minutes)
-Seperate robot code and  robot data then write them to 2 text files
-Generate MD5 code for the Code text file
-Compare MD5, if program is changed, MD5 code will change.

My company has many robots.
Most of them need only 4s for creating backup. But some of them need much longer (40s, 100s, 3min...).
And some of those robots (that need long backup time) encountered error when my application runs. The Flex pendant and IRC5 compact controller were suspended
 and sometimes auto restarted.
I replace a new memory card but that didn't help, they still need longtime to backup and transfer backup from controller to PC.

So what can be reason for this problem? Is there any other simpler solution to detect when program is changed.

Please give me some advices if you know. Thank you .

Best Answer

  • matti
    matti
    Answer ✓
    Hallo,
    instead of comparing the code, you might load down the event log from the controller and search for a entry like "a module has been modified " etc. A kind of this message is generated no matter if the code is changed via RSO or FP.
    Also, there is a function ModTimeDnum, which gives the time when a modul has changed.
    You would have to integrate that in a routine, running on each controller, maybe with an automatic start on each power up etc. (I never used this)

Answers

  • Thank you matti for your advice :smiley:
    Nice to hear this solution, I will try this tomorrow and update testing result.
  • matti said:
    Hallo,
    instead of comparing the code, you might load down the event log from the controller and search for a entry like "a module has been modified " etc. A kind of this message is generated no matter if the code is changed via RSO or FP.
    Also, there is a function ModTimeDnum, which gives the time when a modul has changed.
    You would have to integrate that in a routine, running on each controller, maybe with an automatic start on each power up etc. (I never used this)
    Hi matti.
    I encountered a problem when applying your advice.
    I tried editting RAPID program on 2 robots.
    One generated an event log like what you mentioned (Robotware is 6.05). But the other didn't generate any event log (Robotware is 6.04)
    Do you know the reason? Thank you.
  • Hallo,
    So far as I know you cannot dectivate logging and user log is a basic function and always there.
    Maybe you ask your ABB representative (or update to 6.05?)

  • thank you, I will try. That robot still logs many things but not log when module is changed