Ask user to enter number that sets a register

  • Hi everyone, I'm looking for a way to set a register value via a sort of menu. Basically ask user to set register in a user friendly way. Situation: The robot always runs a MAIN program. The user places a jig in front of the robot and connects a connector. This connector is used to automatically select the correct program that belongs to that jig. (using 24v DI inputs for that).

    This works perfectly for jigs that can only do 1 program. But I now have a jig for flat plates (wood, EPS, foam, etc). So I want to place the jig, put in the connector and start. The robot knows via the connector it's the flat plates jig so in that program it will then ask the user something like:
    Enter corresponding program number and press ENTER:
    1. Program name 1
    2. Program name 2
    3. etc. etc

    It then waits until it receives a number and the enter. The number is written to a registry. Next step in the program is look at the registry, see number 1 is sub program 11 or what ever and runs that program. At the end it sets registry back to 0 so no error is made.

    Is there a way to ask the user this way?

  • The easiest way would be to purchase the menu utility (Option R577). With it you can quickly create menus where the operator can type in numbers, select from a list, stuff like that.


    I am not sure how much it runs, but knowing Fanuc, probably $550.

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

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

  • I concur with Nation

    I'm relatively new to Fanuc and learning, and my client has various systems in place, they've tasked me to improve the current interface and usability.


    At present they only use a simple 'register' entry method, but this method is very exposed to incorrect values being entered and also being changed during the cycle due to random button pushers.

    They also use multiple EOAT and also have several programs allocated to a specific EOAT.


    They use stand alone cells without PLC and HMI and I have shown my client, that there are some 'good functions' under the bonnet of Fanuc that a lot of integrators do not use/promote and choose to install a separate PLC and HMI instead (for which offer more complexed solutions).


    My clients operation is very simple and totally stand alone, therefore I have proposed to utilize the built in HMI and Menu Utility to provide a more flexible, usable and modern type of interfacing but keeping it simple and offering the operator a more of a 'prompted' type of interface without the requirements of any PLC or HMI peripherals.


    The key is, if you have access to Roboguide, then you can explore these options BEFORE purchasing the option for your robot.

    You could go as far as designing/coding in a final solution too, which you could just load into the robot should the option be decided on and purchased.


    So I would recommend:

    - Get Roboguide

    - Explore what is under the bonnet of standard systems and see if there is a better/alternative solution available.


    Attached is a small video clip of an interface I'm currently playing around with - just to give you an example of what the 'Menu Utility' can deliver.

    I've yet to discover it's limitations, but I think the amount of 'choices' maybe limited per window.......but not 100% sure.

  • Hello!


    Thanks a lot for your reply’s. The menu utility isn’t a available option in this robot. I do have Roboguide and serialized the robot, there this R577 isn’t in the list.

    It also doesn’t have a iPendant, just a regular.

    (Robot is a R2000iA 125L with a RJ3ib controller)


    I got some help today, we went for a main program that calls a Karel program. It shows a full screen message on screen asking to choose program and press corresponding F1, F2, F3 etc button. This sets a register to a value. Next button gives a next screen for more options. Once the Karel program has ended the main prog looks at the register and jumps to a corresponding label, there it calls the correct program.

    I can use Roboguide to change the values shown, luckily that isn’t often.


    Anyway, thanks again!

  • Hi

    if i understood you well it should go programmed through macro (user key).


    Main program PNS0001:

    1: LBL[99] ;

    2: IF DI[1]=ON,JMP LBL[1] ;

    3: IF DI[2]=ON,JMP LBL[2] ;

    4: IF DI[3]=ON,JMP LBL[3] ;

    5: IF DI[4]=ON,JMP LBL[4] ;

    6: JMP LBL[99] ;

    7: ;

    8: LBL[1] ;

    9: CALL PROGRAM1 ;

    10: END ;

    11: LBL[2] ;

    12: CALL PROGRAM2 ;

    13: END ;

    14: LBL[3] ;

    15: CALL PROGRAM3 ;

    16: END ;

    17: LBL[4] ;

    18: CALL PROGRAM4 ;

    19: END ;


    PROGRAM1 :

    1: MESSAGE[variant ??? 1 or 2 or 3] ;

    2: LBL[99] ;

    3: RO[8]=ON ;

    4: IF R[1]=1,JMP LBL[1] ;

    5: IF R[1]=2,JMP LBL[2] ;

    6: IF R[1]=3,JMP LBL[3] ;

    7: JMP LBL[99] ;

    8: ;

    9: LBL[1] ;

    10: CALL ... ;

    11: JMP LBL[100] ;

    12: ;

    13: LBL[2] ;

    14: CALL ... ;

    15: JMP LBL[100] ;

    16: ;

    17: LBL[3] ;

    18: CALL ... ;

    19: JMP LBL[100] ;

    20: ;

    21: LBL[4] ;

    22: CALL ... ;

    23: JMP LBL[100] ;

    24: ;

    25: LBL[100] ;

    /END


    Macro program VARIANT1 :

    1: IF RO[8]=OFF,JMP LBL[99] ;

    2: ;

    3: R[1]=1 ;

    4: ;

    5: WAIT 2.00(sec) ;

    6: R[1]=0 ;

    7: RO[8]=OFF ;

    8: ;

    9: LBL[99] ;

    /END


Advertising from our partners