Posts by EBri

    I found the System Variable that is responsible for the behaviour described above:

    The system variable $USEUFRAME defines whether the current value of
    $MNUFRAMENUM[group_no] will be assigned to the position's user frame when it is being
    recorded or touched up.
    • When $USEUFRAME = FALSE , the initial recording of positions and the touching
    up of positions is done with the user frame number equal to 0, regardless of the value of
    $MNUFRAMENUM[group_no].
    • When $USEUFRAME = TRUE , the initial recording of positions is done with the positionís
    user frame equal to the user frame defined by $MNUFRAMENUM[group_no]. The touching up
    of positions must also be done with the positionís user frame equal to the user frame defined by
    $MNUFRAMENUM[group_no].


    Remaining issue: On my RJ3 there is no such variable installed. Any idea how to solve this issue?

    In the beginning of the program there is a line UFRAME_NUM = 4.
    When I check with buttons Shift+COORD I see the active uframe is 4.
    Also $MNUFRAMENUM[ ] indicates that the active frame is 4.
    At touchup I would expect the question about the frame number but it is not there.

    Hi Guys,

    I'm started with a robot M-6i and controller R-J3.
    The current UF=4. When I Touchup a point and look in the Position screen I see that for that point UF=0.

    I think I once saw a way (a System variable) that can be used to make sure that every new point that you Touchup will be in a specific UF (and TF?).

    I guess this System variable has been set for this robot but I don't remember which variable it is. Who can help me out here?

    Best regards,
    Emile

    Hi,

    Great detailed descriptio, thanks!

    I mapped the UI's to flags 1-18 and started a BGLogic prog that sets UI's 1, 3 and 8 and sets the Hold flag (2) as desired.

    UI[2] and Flag[2] behave as expected but the robot can be started when Hold is high and when Hold is low. So the logic seems to work fine but the robot does not stop yet.

    What can be the reason for that?

    Thanks for the answers!
    (Actually the logic is reversed in the system: When Tacho DI = true, the spindle speed is OK. If the DI is false (e.g. wire broken), the spindle speed is too low. Like you write, in this way the signal is fail safe).
    At this moment I know how to 'read' the SI[3] (Hold button) but I don't know how to Set / command a Hold instruction. So I need to find a way how to map the 'hold command' to a flag. I'm afraight it's clear I never worked with Flags before :o) (Suggestions are appreciated of course ;o)

    Thanks for your fast reply. When I map Hold and the Tacho DI, the robot will always Hold when the tacho signal goes high. This would mean that the robot would be able to move 'only' if the spindle is running. This would make it impossible to i.g. change tools.

    During milling I will give some Register a value 1. When milling stops this register gets value 0.

    How can I stop/hold the robot when the register value is 1 (milling) and the tacho DI goes high ?

    Hi,

    I have a RJ3iB controller controlling a robot with a spindle used for milling.

    If the spindle would stop for some reason (error) I want to stop/hold/pause the robot. I added a tachometer with an output that goes high if the spindle speed goes below a certain speed.

    Since the milling program has been generated by RoboDK and consists of many points I don't think it is easy to use the SKIP instruction here.

    I am looking for a possibility to RUN a parallel program that runs while milling is active. This parallel program (or background logic) should stop or better 'pause/hold' the robot motion as soon as the digital input from the tachometer goes high.

    As far as I know a parallel program that can be started with the RUN statement cannot be in group 1 and therefore cannot stop the motion of the robot (?)

    In what way can I make the robot stop as soon as the DI goes high?

    Thanks in advance!

    Thanks for the info!
    1. How can I do an "all software installation" myself? I mean, I don't have the OS and all the options on a flash-card. How should this installation be done?

    2. If I would reload the image on the 32Mb module and wouldn't mind that I still have access to 16Mb FROM, would the increased SRAM work ok? Increasing the SRAM from 1Mb to 3Mb is my main aim (in order to increase the TPP memory).

    Hi guys,
    So far, thanks for the encouraging info ;o)
    I hope things will go smooth but I'm not counting on it... I expect trouble when I try to place the 16 Mb image in the new 32Mb memory. I'll let you know.

    Emile

    Hi JG,
    I'm having a similar problem. The current memory module is 16mb and we want to install a 32mb module. Was it possible to load a 16mb image on a 32mb FROM? How did you solve is?

    Thanks in advance!

    Emile

    Thanks guys. In order to save time I stopped investigating the (im)possibilities of the RJ3iB controller. In the configuration of an extra axis there is no setting for an angle, other than X, Y, Z. I think it's safe to conclude that the controller accepts an orthogonal setup only.

    Today we rotated the robot, mastered joint-1 in such a way that the X-axis is parallel with the rail (so no correction angle is required anymore).

    The RoboDK configuration, RoboGuide configuration and the real robot setup match and it all works.

    Weekend!

    Thanks Nation, this morning I spoke someone of Fanuc but not yet the right person... to be continued.
    HawkME: the solution you describe is the cause of the problem I have at this moment ;o) The robot is placed with it's back to the product that must be milled by the robot (as a result of some historical moves). In order 'fix' this issue I mastered the robot as far as possible to the mechanical end-stop. The maximum angle the robot can rotate 'in the desired direction' is 80 degrees. Now I need to compensate for the remaining 10 degrees... which is the problem I'm dealing with. ['the desired direction' is because I want the J1=0 at a that side].


    All in all:

    I think that rotating the robot over 180 degrees can be a solution. The result (of quite some work) is:

    - the robot is facing the product,
    - the J1=0.0 can be mastered in such a way it matches the X-direction of the rail.

    - then, the robot (frame)position corresponds with the RoboDK project and no correction (of 10 degrees) is needed in the controller.

    Hi,

    I'm using a Fanuc R-2000iA on a track. Parallel with the track I have a User Frame for the product. This User Frame is NOT attached to the robot but to a static object.

    The real robot is mounted on the wagon of the track, rotated 10 degrees around the (vertical) Z-axis. I'm building the same situation in RoboGuide, therefor I rotate the robot 10 degrees on the wagon. Next, I notice that also the User Frame has rotated 10 degrees.

    Why is this happening and how can I avoid this?

    Thanks in advance,
    Emile

Advertising from our partners