RobotStudio event

UIMSGBox

I have recently tried using a message box to display routine data ie: routine string name, part being processed, etc.  This did not work as it suspended the program whilst wating for a response from the operator.  This was a dissapointing start to what seemed like may have been a useful new tool, I was hoping to be able to use this function instead of the old TPWrite & erase functions.  Does anybody have some suggestions on a simmilar function to use as it would be great to use the header message ind icons for a commonality to the look of various screens.

 

Russ 

RUSSELLgee
Director

1/118 Connaught St Sandgate QLD Australia 4017
ph +61738694298
fax +61738693284
mob +61418116644
email russell@manmac.com.au

Comments

  • If you use the UIMsgBox instruction with the argument Buttons:=btnNone, no interaction of the user is needed.

    Example from the reference manual:


    UIMsgBox Header:= "Cycle step 4", "Robot moving to load position"Buttons:=btnNone Icon:=iconInfo MaxTime:=60 DIBreak:=di5BreakFlag:=err_var;
    In this case the message disappears as soon as the dig. input is set to 1, but you may skip that...
    regards
    Christian
  • I had allready tried the code from the reference manual before posting, in my program the points are programmed very closley together, less than 1mm.  It seems that when the message box appears the ans the robot finishes the movement it waits inpos until the maxtime switch elapses and the program goes to error. 

    How would I define a new instruction simmilar to the UIMsgBox that I can use purely as an information screen?

    RUSSELLgee
    Director

    1/118 Connaught St Sandgate QLD Australia 4017
    ph +61738694298
    fax +61738693284
    mob +61418116644
    email russell@manmac.com.au
  • There is no way to get the UIMsgBox, or any similar instruction, to stay on the FP when the RAPID program execution continues. Your options would be:

    1. Stick with TPWrite...

    2. Put the UIMsgBox in a dedicated RAPID background  task, and use global PERS to communicate with it from your motion task. I think the message box may take focus on FP and not let you do anything else while displayed though. Haven't tested.

    3. Write a RAB application that displays your information on FP the way you like it. Use RAPID variables in the program to tell what info to display and when to remove it etc.

     

    Magnus Larsson
    ABB Robotics development engineer
  • You can also use the maxtime switch and an error handler.  Catch the maxtime error in your handler and use the TRYNEXT; command.  Then when the maxtime is reached for the uismsgbox it will go to error, then go out of the error by trying the next line.

    Of course, if you need the maxtime error to be handled elsewhere differently this will foul you up.  You could then use a boolean switch to tell where you are and whether you should trynext or do something else.

  • I have finished by putting the message box in a bacground task.  This is not the ideal as the forground task will take the focus and you have to reslelct the screen but it works OK for this application.  I probably need to check out RAB

    Russ

    RUSSELLgee
    Director

    1/118 Connaught St Sandgate QLD Australia 4017
    ph +61738694298
    fax +61738693284
    mob +61418116644
    email russell@manmac.com.au