Variable to keep the error message

  • Almost a year later, I'm bringing more questions about $ALM_IF



    I guess there are a couple of ways to read the last alarm (explicit messaging or Karel).

    Any idea how to read the other ones.


    I've been reading about it in the last couple of days (without actually programming) and I can't find anything that can take me directly to $ALM_IF.$CURR_STAT for example


    Any ideas ?


    BTW, the reason that I'm is because we are buying lets say 4 robot for a system with only one pendant. 3 pendants are basically the price of one robot. That makes my life hell and I want to send the PLC-HMI all the info that I can

    Retired but still helping

  • I'm pulling the alarm out of a system right now.


    Setup an explicit message with the following parameters, and it will be the current error.


    If the message faults, its because there is no fault active.



    The tag it is writing to is a normal string tag.

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

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

  • Doesn't look like there is a way to pull out a system var with Ethernet/IP explicit messaging.


    However, you could write a Karel routine that pulls out the $ALM_IF structure, and dumps them into some string registers. Those can be read via explicit messaging.


    EDIT: there is also Explicit Data Access, which allows reads of system vars, but it is also an option.

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

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

  • 1) NO pull out system var


    2) THis is the only Karel command that resembles what I want


    GET_VAR Built-In Procedure


    Purpose: Allows a KAREL program to retrieve the value of a specified variable
    Syntax : GET_VAR(entry, prog_name, var_name, value, status)
    Input/Output Parameters:
    [in,out] entry :INTEGER
    [in] prog_name :STRING
    [in] var_name :STRING
    [out] value :Any valid KAREL data type except PATH
    [out] status :INTEGER



    and I have this



    I'm going to try to read it


    3) Fanuc mentioned the EDA but I don't have that option, even that I have EIP


    Thanks Nation

    Retired but still helping

  • I've not used explicit msg a lot. But I use KAREL to read sys vars and based on matches/conditions set a bit or send an error code over GO[*] and another one GO[*] for error type SRVO/MTN/etc. As an option...

  • Hi I'm home now, but I was having a hard time implementing the GET_VAR to read the CURR_STAT. I'm having a compilation error. The examples in the Karel manual are not helping me much

    I'll try again tomorrow morning, so, scotty, if you don't mind check the thread and give me a hand

    Retired but still helping

  • Hey,Fabian:

    about the sample,i have a question,I tried it on robotguide, but I couldn't get this parameter well. In addition, I can't find these three parameters in the variables: $ALM_IF.$CURR_PROG, $ALM_IF.$CURR_STAT, $ALM_IF.$CURR_LINE.

  • Hi,sir.Thanks for the reply. Your program is well written, and I can successfully load it. But I did not find in my robot parameters: 1, $ALM_IF.$CURR_PROG; 2, $ALM_IF.$CURR_STAT; 3. $ALM_IF.$CURR_LINE. It should be that the version of my robot and the application are inconsistent with the version you are using.

  • BTW, the reason that I'm is because we are buying lets say 4 robot for a system with only one pendant. 3 pendants are basically the price of one robot. That makes my life hell and I want to send the PLC-HMI all the info that I can

    Hi,Fabian.

    what options you install, to not use the pendant?

Advertising from our partners