Forum Migration Notice
We're transitioning to a more modern community platform by the end of this year. Learn about the upcoming changes and what to expect.

What is the best way to mirror messages from the Flex Pendant to a Siemens HMI?

Dave37568
Dave37568
edited November 17 in RobotStudio
We have a 7600 Robot and a IRC5 Controller. I need to mirror the existing messages we see on the Flex Pendant to the PLC/HMI. We are using a Siemens S7 1500 PLC with TIA and a Siemens HMI. Is there an efficient way of doing this without writing a lot of robot and PLC code? Where do I find where the messages are written in Robot Studio? Thanks

Answers

  • Messages are stored in controller but not RobotStudio. You can use PCSDK or RWS to get messages and then send to PLC or HMI.
  • I need to use the existing setup we have. IRC5 > Profinet > Siemens S7 1500 TIA > Siemens HMI. The company I work for will not allow us to use non-approved software.
  • What messages?  User defined messages like TPWrites or system messages?
    Lee Justice
  • I am flexible as to how we could do it, except for using extra software. We need to report things like Robot not on Path, low vacuum, cylinder jams, Keyence camera faults, etc. Anything attached to the gripper that causes the robot to stop. Things we can actually see in EVENTS. Management doesn't like the idea of production operators touching the flex pendant. That's why they want us to show some of the common events on the HMI.
  • It could be that whoever your integrator was programmed it such that faults get written into the event log, but that is not so common.  More common is that when a condition is not being met that a message appears on the operator log.  Which is it in your installation?
    Lee Justice
  •      Regardless, I will go on explaining how I set up a robot before to send fault messages to the PLC for it to display robot faults.  I wrote up a list of fault numbers of any and all faults that I would have to display on the teach pendant.  The numbers each had the appropriate text to explain what was wrong.  The PLC programmer took the list and put those codes into the PLC program to display the fault messages.  We used a group output to send those fault codes from the robot to the PLC and it would take that group input and display the appropriate fault text on the HMI.  
    Lee Justice
  • The Controller properties show 7600-1063688, RobotWare version 6.15.01.00 . I have a screenshot I can send but I don't see where I can attach it here. It shows the Event Log open on Robot Studio. To the right it shows the following. 

    119136: Robot not on path.

    Description: The robot has left the path or the program pointer has been moved.

    Consequences: The action may cause unexpected behavior. Potentially the start in the automatic mode will be blocked. (A16)

    Actions: Left intentionally blank in this example.

    In this example, I would only want to tell the plc, "119136: Robot not on path." The events have already written by the integrator. I just need to know how to connect that event to an output to the plc. Can an event like this be cross connected? And if so, how?
  • For that particular item, I believe that there is a system output which could be mapped to the PLC.  Just as execution error and motors on, quite a few others as well.
    Lee Justice
  • Thanks! I will take another look. 
  • Hi lemster68,

    How to know a pre-defined robot event code (such as a format like 10009) is generated?
    How to map any pre-defined robot event code to a group output signal sending to the PLC?
    Is it possible to filter the information level events and map only warning and error codes to the group output?
  • lemster68
    lemster68 ✭✭✭
    edited November 19
         Let us start with the datatypes.  Errdomain will list the error domain, much like they are sorted into different categories in the event log itself.  Then there is Errnum, which contains all of the predefined errors and can contain user defined errors as well.  Whenever there is an error, the value of the error is written into the predefined ERRNO.  Knowing this is useful in finding an unanticipated error.  Match the value of ERRNO with the predefined errors and you have found the specific error which has occurred.
    Then, one would want to know what is the Errtype, state change, warning or error.  Going back to your question of how to transmit that number to the PLC, one would SetGO goMyErrorGroup, ERRNO in the error handler.  Please find these datatypes in the Technical manual, Instructions, Functions and Datatypes.
    I still strongly suggest using system outputs whenever possible, as they will work even if the rapid program is not executing.
    Lee Justice
  • DenisFR
    DenisFR ✭✭✭
    Hello,
    And you can find texts in your RobotWare folder in:
    For 6: language\<LNG>\controller\elog\domain_elogtitles.xml
    For 7: language\<LNG>\controller\elog\<Domain>_elogtext_X.xml

    ☑️2024 - RobotStudio® User Group

  • Thanks for the information! I noticed in the Controller Configuration that some of the installed modules are checked as Hidden. Maybe this is why I've been having so much trouble finding things? One example is a MAIN.sys module. It is necessary for the robot to run but it is not saved with the backup. I've learned to right click on it and save to the backup as a 2nd step. Another example is TASK.mod. This appears to be where the Integrator set up the FB Background Logic to run because it has a separate program pointer that loops all of the time. It is never displayed in the program tree. The only way to find it is to open Robot Studio and then go to the program pointer before opening anything else. I should mention that we have a Volkswagen specific option running with RobotWare. It is called VWKS-BASIS, version 1.07.02 Build 2025. 
  • This option was written by ABB?
    Lee Justice
  • We have VW specific software for 1000+ Fanuc Robots and for three ABB Robots in our plant. This information is listed in Robot Studio under Configuration > Properties > System Properties > RobotWare Version 6.1501.00 > Additional Options > VWKS-BASIS Version 1.07.02 Build 2025.
  • There's also an option called VWKS-G, Version 1.07.02 Build 2000.
  • Have you any documentation for this option?  This could be a pretty deep rabbit hole.
    Lee Justice
  • Ironically...no I don't. I'm going to request that my manager looks into getting it. It was probably decided upon in Germany.
  • Let us start with the datatypes.  Errdomain will list the error domain, much like they are sorted into different categories in the event log itself.  Then there is Errnum, which contains all of the predefined errors and can contain user defined errors as well.  Whenever there is an error, the value of the error is written into the predefined ERRNO.  Knowing this is useful in finding an unanticipated error.  Match the value of ERRNO with the predefined errors and you have found the specific error which has occurred.
    Then, one would want to know what is the Errtype, state change, warning or error.  Going back to your question of how to transmit that number to the PLC, one would SetGO goMyErrorGroup, ERRNO in the error handler.  Please find these datatypes in the Technical manual, Instructions, Functions and Datatypes.
    I still strongly suggest using system outputs whenever possible, as they will work even if the rapid program is not executing.
    @lemster68
    Thank you very much for the insight. I tried your method and it worked!

    And you can find texts in your RobotWare folder in:
    For 6: language\<LNG>\controller\elog\domain_elogtitles.xml
    For 7: language\<LNG>\controller\elog\<Domain>_elogtext_X.xml

    @DenisFR
    I tried C:\Users\UserName\AppData\Local\ABB\DistributionPackages\ABB.RobotWare-RWVersion, but cannot find the language folder. Am I looking for the wrong directory?
  • You are quite welcome.
    Lee Justice
  • DenisFR
    DenisFR ✭✭✭
    I tried C:\Users\UserName\AppData\Local\ABB\DistributionPackages\ABB.RobotWare-RWVersion, but cannot find the language folder. Am I looking for the wrong directory?
    Yes, they are here:
    %LOCALAPPDATA%\ABB\RobotWare\RobotControl_7.XX.Y\language
    %LOCALAPPDATA%\ABB\RobotWare\RobotWare_6.XX.YYYY\language

    ☑️2024 - RobotStudio® User Group

  • @DenisFR
    Found the directory. Thank you very much.