Posts by dohlfhauldhagen

    I just wanted to update this thread so that others can know what the issue was. Fanuc got back to me finally after looking at my backup, and here is their response:

    "Our investigation has concluded that your robot is loaded with the enhanced stopping option which is also known as a Stop Pattern type B. enhanced Stopping option J692 option installed. Which from what I see in the DCS manual means all stops whether initiated by Controlled stop or estop are treated as full power off stop. This option will require a re-burn of software to remove."

    So it is an option for the robots apparently. Hope this can help others with the same issue!

    Is stop prediction enabled and causing this? Do you get an alarm?

    It is enabled in the CPC zone settings, but under the Stop Position Prediction setup menu, it is disabled. The only error message that I get is SRVO-402 DCS Cart. pos. limit

    Do you have alarm 'SRVO-199 Controlled stop' during the breaking light curtain? If yes, then Controlled stop works right.
    I will say try to change your DCS to Power-off and compare result. Because Controlled stop reacts immediately and stop not always gentle.

    No, I do not get that alarm. The only alarm that I get is SRVO-402 DCS Cart. pos. limit. I can try testing it out with power-off stop and see what it looks like.

    I have been talking to Fanuc, and they say that this behavior is normal, which might be true. I only raise the question because I work a lot more with ABB robots and safemove, and in my experience under the same conditions, the robot stops a LOT more gently compared to what the Fanuc is doing.

    I have a DCS CPC zone setup with a light curtain set up as a disabling input for it. The light curtain signal is fed through a CPI signal from a CompactLogix safety PLC. I have it setup so that if the robot is in the zone and the LC is broken, it will do a controlled stop. However, whenever these conditions are met, the robot instantly jerks HARD like an ESTOP instead of the quick deceleration before applying the brakes. I know that I don't have anything in the PLC overriding this zone and estopping it because 1. the robot does not enter an ESTOP state, and 2. I tested setting up the stop type as "no stop" and breaking the LC, and the robot kept moving along. Has anyone here run into something like this before?

    Hi all. I am trying to get a 4 robots to talk to a CompactLogix 1769-L33ERMS PLC with CIP safety. I have set up the module in the PLC and also the robots exactly like this document says here:…ion=dlattach;attach=16558

    I can ping the robots fine. The safety network numbers match between the robot and the PLC module. I made sure the RPIs are all >= 20ms. The error code that I get in the PLC module is: Code 16#0010 mode or state of module does not allow object to perform requested service. I should also note that the standard IO is working between the robot/PLC. Just not the safe IO.

    Has anyone run into this before? I have seen other cells set up communication like this successfully, and I have even tried copying over all of the settings from that cell's robots and ethernet module, but it still gives me this error. Any advice or help on this would be greatly appreciated!

    Hey all. So the last two days I have been banging my head against the wall trying to set up a servo gun on an R-2000ic 165f, with an r-30ib A-style cabinet. The servo gun is hooked up to an 80amp amplifier in the cabinet, and the table is hooked up to a 160amp amplifier. The gun is on amplifier 2, and the table is on amplifier 3. Here's a picture of the cabinet:

    The table was already working when I started working on this robot, and the gun still needed to be configured. I have already successfully configured and welded with an identical servo gun on another robot in this cell that doesn't have a table. So I know I am configuring the gun correctly. However, when I go into a controlled start and go to the maintenance screen, the table shows up as group 2 and the servo gun shows up as group 3, as shown here:

    What is strange is that when I go into the configuration of the table group, it says that it is assigned to amplifier 2:

    When I hold down the deadman to jog the table however, ampifier #3, which is the table amplifier, turns on. So the table appears to be mapped to amplifier 2 even though it is the third one, and it still works. Now when I try to add the servo gun, I get all sorts of issues. If I try to reconfigure the table to use amplifier 2, and the servo gun as amp 3, or even vice versa, both amplifiers turn on when I hold down the deadman. But when I try to jog the servo gun axis, it doesn't move. If jog the robot, it will move, but then randomly the actual servo motor on the weld gun will make a loud buzz sound. Same with when I try to jog the table. The motor buzzes.

    I tried reloading the software on the robot to maybe try to get the robot to detect the servo gun amplifier as group 2 instead of three, but the same thing happened. The table always automatically gets assigned to group 2 and amplifier 2. I'm kind of at a loss on where to go from here.

    Does anyone have any suggestions on things I could try? I greatly appreciate any help!

    Hello all. So the customer I am working with would like me to use the intelligent interference function on three separate controllers to set up fixtures and critical zones. All of the robots have been updated to the exact same version. I've got all three robots communicating with RIPE on their own VLAN, and I have them all calibrated with each other. They can all see each other in the 4D graphics display and the check combinations between all of them are working. My issue is with the fixtures. If I draw in a fixture for one robot, none of the other robots can see it. Is this intended? The manual states that for the check combination setup for this, you can only set the robot's own controller as a host name when doing a combination check with a fixture. So I can't have Robot 2 have a check combination with a fixture on Robot 1 and vice versa. The manual ALSO states that the robots should be able to see each other's fixtures as quoted here:

    "The position of a fixture has to refer to the world frame of a robot, so interference check can establish the spatial relationship between the fixture and all robots. Since all robots are calibrated within the cell, even if a fixture uses robot 1 as its reference, Interference Check still can check possible collision between the fixture and robot 2, for example."

    But there is ZERO indication for robot 1 that robot 2 is in its fixtures that I set up. If I set up a critical zone box on robot 1, and set up a check combination between robot 1 + hand and that CZ, if robot 2 is in that fixture and I tell robot 1 to move into that same fixture, Robot 1 doesn't care at all that robot 2 is sitting there already, and it will drive into the fixture until it get's close enough to trigger the robot to robot interference check.

    What am I doing wrong here? Am I supposed to draw in the same fixture for robot 2 manually and then set up cross connections between the two robots that tell each robot when they are in a zone? If so, doesn't that completely defeat the purpose of IIC doing that work for you? Shouldn't each robot know when the other robot's are in their fixtures without setting up a cross connection IO bit with a PLC? I appreciate any help I can get on this. It's been driving me crazy the last few days haha. Thanks!

    In solid works, you have to setup a coordinate system to match the faceplate coordinate system, then output the COG and the moments of inertia about the COG in that coordinate system. You only need the principal axis, boxed in red in the attached image. You also need to convert solid work's output from grams*mm2 to kg*m2.

    If you want to do it by hand, the HandlingTool manual goes over how to calculate moments of inertia in the payload section.

    Thank you so much! I will definitely forward this to my design guys. Cheers.

    Greetings all. I have been doing robotics and simulations for a few years now, and something that no one in my field ever seems to know how to do is calculate the payload inertia. I have the Fanuc Excel sheet where you can enter in the mass, inertia, and the center of gravity of your robot tool. Whenever our design agency gives us their 3D models from Solid Works, they only give us the mass and the location of the center of gravity. If I inquire about the moments of inertia, no one ever seems to know what I'm talking about or how to calculate it. So I always just kind of let it slide and just hope that the tool will work out based on just what I've seen work in the past. I've tried googling and looking through the manuals, but I can never really find anything that explicitly tells me how to do this, and I really would love to know how so that I can do my job better and more accurately! So does anyone have anything that I could reference that would help out in this regard? Is this something that Solid Works is supposed to calculate for me? I appreciate any info that anyone can shed on this topic!

    Hello. I'm working on a job where my Fanuc robots M20-iB 25 robots have many different stations and TCPs to switch between on the fly. My main style program calls maybe 5 programs in a row for example, each with its own user frame and tool, since each robot has two grippers on it's end of arm tool. However, any time it changes user frames or tools, the program pauses for a split second then resumes again like it can't calculate the positions ahead of time. I've never had this problem before, but at the same time, I can't think of a job in the past that I've worked on where the robot is going to so many stations with different user frames in one program. Is this normal for Fanuc robots? to remedy this, do I need to make it so that all programs go off of one frame? Or is there another way? Thanks.

    Hey all. I'm about to pull all my hair out, because Roboguide keeps randomly breaking. Here is what is happening:

    I'll be working on a robot cell. All is fine and dandy. I'll close the program, shut down my computer, and then then next time I boot it, the program will start booting up the virtual robots. When the second robot starts booting (it's always the second robot no matter if it's a new cell and I'm adding a second robot, or just opening a save with two+ robots), it hangs on the FRS:VOLATIL.PC file. Every time. And it's not just me. It has happened on three of our computers running both windows 7 and windows 10. The only fix is to completely wipe and reformat our computers. We've tried uninstalling and reinstalling, installing on a new user, running in compatibility mode. Nothing works. We've tried contacting support. Their only suggestion was that we didn't have enough RAM. We have 24gb of RAM in our PCs.

    Has anyone else run into this problem? This is happening every week. We can't keep reformatting our computers every week. It's just not an option. I would try running it on a virtual machine, but of course, Roboguide won't work on one.

    Any help or suggestions would be greatly appreciated. Thanks!

    Hello. Recently I started using roboguide for robot simulation. I have a lot of experience using ABBs robotstudio, which has generally been pretty good. I can't help but notice that the performance in roboguide is quite dreadful, however. I've tried everything in the help guide, such as checking all the performance boxes, making the cad import less detailed, using my dedicated graphics card instead of my integrated card, etc. Nothing works, and the program always becomes very laggy and slow after importing just a few cad fixtures. I know there probably isn't a way around this, but I thought I would ask here to see if you guys had any ideas on how to speed this program up. It's a shame that graphic wise, it looks very sub par compared to robot studio, and it runs at a quarter of the framerate. My specs are as follows:

    i5 2.4ghz
    24gb RAM
    770m gtx video card

    Please let me know if you have any ideas. Thanks!

    Thank you for the reply. I'm not sure I understand what you mean by calling the mov_ref1 program again. I can't even get to the point in the tool adjust manual function to change my tcp frame. I have moved to the reference position and compared it to the position register. It is to the thousandth at the exact same spot. As for adjusting the precision, the robot compares it's position to a position register, not a reference position. I know that you can set the precision of a ref position, but as far as I know, you can't adjust it for a position register. And as I said, the robot was at the same spot to the thousandth. If there is a way to set the precision, then please inform me!

    Thank you for the reply. I appreciate it.

    Hello all. I am working on a project that consists of four Fanuc RJ3I robots. I have been trying to set up the tool adjust manual function for the customer so that they can have an easier time touching up points in the event of a robot crash. I have been following the manual step by step. I make a program called MOV_REF1, I make it move to my reference position, and I record the reference position to a position register using LPOS after it reaches the point. However, I run into an issue when I try to actually run the tool adjust manual function. The robot will move down to the reference position fine, but when I try to move on to the next step, it says that the robot is not at the reference position! I get this error on 3 out of the 4 robots. Only one of them works. I have verified that I have the correct PR and tool selected when I start the manual function, and I have also compare the coordinates of my position to the PR to make sure that they are the same. I have talked to Fanuc a little bit about this as well, but they have been of little help. I was wondering if anyone else has run into a similar issue, and if there is a remedy if so.

    Thank you for your time on this matter. I appreciate it!

    Hello all. This is my first time working on ABB robots, and I was wondering if you could help me out. I have 3 mechanical units: two trunnions which are mounted on a ferris wheel. All three can rotate. I need a way to monitor the angle of each of these units and send out a digital output to the PLC when the trunnions are at a certain angle. I have tried world zones with WZHomeJointDef, WZLimJointDef, and WZDOSet. These work for as long as the mechanical units are activated, but only one may be activated at a time.

    The ferris wheel is kind of the master of the other two, and as long as that is activated, then the other two can be monitored by the WZ. However, when it is activated, it is not masked from the robot. In other words, there have to be values in the axis data, otherwise the controller will give me an error telling me to put data in the mechanical unit axis. Now I could manually edit every single point in my programs and make sure that they are all at the correct angle for each point, but there are hundreds all at different angles.

    On Fanuc robots, there is an option just to mask out an axis for each program while still monitoring the angle. You can also set reference positions very easily that send out a signal when the trunnion is at a certain angle. Is there any easy way I can mask out the mechanical units from a program but still monitor the angle they are at? Please let me know if you have any ideas. I appreciate it! The controller is an IRC5 if that helps. Thanks!