How to pop up a message on the FLEXPENDANT IRC5 CONTROLLER

RicardoM
RicardoM Barcelona
Hello,

I am preparing a project by offline programming to run several paths in only one file interpolated with a Stop program execution followed with a message. I would like to display a message as the one that is shown in the following image below:


Any suggestions on how to pop up a message of this type on the flexpendant? 
Your help is very much appreciated. 
Kind regards.
Ric M.

Best Answer

Answers

  • RicardoM
    RicardoM Barcelona
    Thanks Lemster68
  • lemster68
    lemster68 United States ✭✭✭
    You are quite welcome.
    Lee Justice
  • RicardoM
    RicardoM Barcelona
    Following my previous request,  I am preparing a project to run several paths in only one file interpolated with the UIMessageBox, which @lemster68 told me and is working fine. I am looking for a way to split the file into XX lines and interpolate these partitions with the UIMessageBox mentioned before

    Can someone tell me any suggestions on How to call another file from the same partition?
    Your help is very much appreciated. 
    Kind regards.
    Ric M.
  • lemster68
    lemster68 United States ✭✭✭
    I am kind of understanding what you are asking,  I think.  Does file mean module?  If you want to run different paths, then you should make a Proccall to those routines based on the user selection.  And for this example I would recommend UIListView instead.
    Lee Justice
  • RicardoM
    RicardoM Barcelona
    Yes, @lemster68, file mean Module. I am checking Proccall and UIListView and letting you know.
    Thank you very much

  • RicardoM
    RicardoM Barcelona
    Hello @lemster68

    I am quite new to robotic programming and rapid. I am wondering how to implement the PROCCALL to those routines based on the user selection and use the UIListView. Here I am sharing with you what I am trying:

    MODULE DrawingCircle_T_ROB1
    VAR extjoint extj := [9E9,9E9,9E9,9E9,9E9,9E9];
    VAR confdata conf := [0,0,0,0];
    *****all PERS tooldata here*****; 
    *****all TASK PERS here*****;
    ProcCall Main()
    ConfL \Off;
    ProcCall Cirle1();
    UIMsgBox "CIRCLE_1_FINISHED";
    ProcCall Cirle2();
    UIMsgBox "CIRCLE_2_FINISHED";
    ENDPROC
    ENDMODULE

    can you give me a general idea of how a Proccall and UIListView instruction needs to be set?

    Your help would be much appreciated
    Thanks in advance
    Best
    Ricardo M.
  • lemster68
    lemster68 United States ✭✭✭
    The following are a couple snippets of one of our programs.  It allows for the operator to make a variety of choices.
    As indicated by the example from the manual shared by Xerim, the Proccall is not written out, it is merely the name of the routine followed by the semicolon, as are most rapid instructions and declarations.

        LOCAL CONST listitem SprayDistance{4}:=[["","330_MM"],["","380_MM"],["","410_MM"],["","350 mm"]];
        LOCAL CONST listitem Shift{3}:=[["","3"],["","5"],[stEmpty,"Stop"]];
        LOCAL CONST listitem Speed{4}:=[["","400"],["","550"],["","700"],["","Stop"]];
        LOCAL VAR num nSpeed:=0;
        LOCAL VAR num nShift;

            ! allow operator to choose spray distance        
            itemSelected:=UIListView(\Result:=buttonAnswer,\Header:="Tool Standoff",SprayDistance,\Buttons:=btnOKCancel,\Icon:=iconInfo,\DefaultIndex:=1);
            IF buttonAnswer=resOK THEN
                IF itemSelected=1 THEN
                  currentTool:=HVOF_330;
                ELSEIF itemSelected=2 THEN
                  currentTool:=HVOF_380;
                ELSEIF itemSelected=3 THEN
                  currentTool:=HVOF_410;
                ELSEIF itemSelected=4 THEN
                  currentTool:=HVOF_350;
                ELSE
                GOTO SKIP;
                ENDIF
            ELSE
                ! if user selects cancel then stop cycle
              GOTO SKIP;
            ENDIF

            ! allow operator to choose spray shift        
            itemSelected:=UIListView(\Result:=buttonAnswer,\Header:="Spray Shift",Shift,\Buttons:=btnOKCancel,\Icon:=iconInfo,\DefaultIndex:=1);
            IF buttonAnswer=resOK THEN
                IF itemSelected=1 THEN
                  nShift:=3;
                ELSEIF itemSelected=2 THEN
                  nShift:=5;
                ELSE
                GOTO SKIP;
                ENDIF
            ELSE
                ! if user selects cancel then stop cycle
              GOTO SKIP;
            ENDIF

            ! allow operator to choose spray speed        
            itemSelected:=UIListView(\Result:=buttonAnswer,\Header:="Robot Speed",Speed,\Buttons:=btnOKCancel,\Icon:=iconInfo,\DefaultIndex:=1);
            IF buttonAnswer=resOK THEN
                IF itemSelected=1 THEN
                  nSpeed:=400;
                ELSEIF itemSelected=2 THEN
                  nSpeed:=550;
                ELSEIF itemSelected=3 THEN
                  nSpeed:=700;
                ELSE
                GOTO SKIP;
                ENDIF
            ELSE
                ! if user selects cancel then stop cycle
              GOTO SKIP;
            ENDIF

    Lee Justice
  • RicardoM
    RicardoM Barcelona
    Thank you @xerim and @lemster68.

    I appreciate your efforts but I think that I was not clear with my question.
    I am trying to explain to you with an example of offline programming working with KUKA | PRC in grasshopper. Kuka PRC offers you the possibility to split your file into a number of specific lines each, as you can see here in the image below. Later, when you run the first file, from the initial one is jumping to the following one and so one. My interest is to run a similar procedure in which at the end of one module is jumping to the successive after confirming with a message type UIMessageBox.

    Can you tell me any suggestions on How to run this procedure type on the Flexpendant IRC5 controller?

    Your help would be much appreciated
    Thanks in advance
    Best
    Ricardo M.
  • lemster68
    lemster68 United States ✭✭✭
    Basically, you put your Proccalls in the order in which you want them to be executed.

    Path_1;
    Path_2;
    And so on...
    In between each you can put the Messagebox.
    Also, you can call routine from other modules so long as they are not declared LOCAL in scope.
    Lee Justice
Sign In or Register to comment.