Posts by white_raven

    Here's what is going on. We are setting up an old ES165N robot with a NX100 controller offline for testing new hand designs before implementation. The problem I am having is that the controller has an XFB04 board installed but it is not connected to any outside devices and is causing a communication error (I/O Module) subcode 6. How do I remove the I/O module so that this error doesn't occur or is there a way to make a jumper of the CC-Link connector so that it doesn't create an error condition? I have tried booting up into maintenance mode and modifying it, but it doesn't allow me to change it.

    Well, that definitely seems like a badly designed program. This is a bin-picking application, then? It's true that bin-picking needs to give the vision system more control over the robot path.


    Is the problem Keyence, or the way the original integrator set up the Keyence/robot control? I'll admit I've never used Keyence's bin-picking solution, but their other products I've used in the past have always been servicable. Having the vision system dictate robot speed is downright bizarre, for certain.

    Oh, dear. Yes, that's always a recipe for disaster, regardless of what they're buying. Systems designed by salesmen, I have PTSD flashbacks about them....

    Yes, it is a bin picking application and yes it is poorly designed. For instance, their robotics expert who wrote the programs used joint motions for tool changes which require linear movement to chuck the tool changer and depart the tool stand. This resulted in collisions at every tool change and when i tried to explain that the motion was incorrect for the application he doubted me and wouldn't let me make that simple change until i explained how linear and joint motions worked. I am just speechless. :rolleyes: Honestly, I think it is a combination of keyence and this "robotics expert" as to why we are fighting this system every day as he seems to have limited robotics experience for being a so called "expert". The keyence system seems overcomplicated for the application, and doesn't perform well even in the best environment. We are only getting about 15% successful picks even with a high image score above 80%. We cannot touch up the pick positions from the robot and have to do touch ups from what is essentially a CAD drawing with no real idea of how accurate the cad calibration is to the actual tool. I have reached out to keyence, but since the integrators have not released the rights to the equipment, they cannot assist. I am just hoping once the line is released and we can get keyence in here to assist, things will improve. Until then, i am left fantasizing about running the robot into the cameras and ripping them off the stand. :D

    My opinion: always use the integrated vision unless it isn't capable of doing what you need. But in my experience iRvision is plenty capable. I looked into using 3rd party a couple of times and it was more trouble than it was worth. Not that they didn't work, it was just extra effort.

    Thank you. This is exactly what i thought and after using irvision for years, there aren't many things i have seen it incapable of doing. For some reason production wanted the keyence system after speaking with their salesmen and sort of went behind my back and purchased it without consulting the lead robotics engineer who would be in charge of maintaining the system.

    I'm confused on this, though. When I've used Keyence vision in the past, re-teaching the Vision-controlled points was no big deal. It did require some careful setup up-front to enable easy re-teaching, but there's seldom anything in the vision system that precludes doing so. What is it about your Keyence that's causing this difficulty?

    This would require completely rewriting every program the robot uses as the integrator has every single motion programmed as PR1 with an offset established by the keyence system except for the home position which is PR2. Every single motion the robot makes is PR1 and even the speed of the motion is programmed as a register value dictated by the keyence system so it enters the bin at 100% speed and causes a collision which bends the tool and results in miss picks. It is a nightmare and i have recommended every new vision system installation be quoted with the fanuc system going forward. Keyence must just have good salesmen because in my opinion, after working exclusively with the fanuc system, it is an expensive piece of junk and does not do enough, or is as user friendly to justify the cost. Our maintenance guys cannot work on it, or do simple touch ups, or even correct a failed image so we cannot maintain it through 3 shifts without them needing to call me in as well as the integrator to recalibrate on an almost daily basis. In my years of working with fanuc, i have never had as much trouble as i have with this system.

    Any "internal" vision system (that is, one built into the robot, usually by the robot manufacturer) generally gives you less control, in favor of easier setup and use. It's a bit like Windows vs Linux, if that makes sense.

    So basically we just shot ourselves in the foot and handcuffed ourselves to the integrator. I have years of experience with the FANUC vision system and today, what would have been a simple 5 minute touch up on iRvision, resulted in hours of downtime because the motions are dictated by the keyence system and nothing can be done from the robot side. I highly doubt in our bin picking application, there are enough features to make it worth installing a system that is more difficult for the end user.

    Hello, i was just wanting opinions on Keyence 3D Vision-Guided robotics vs FANUC's iRvision 3D area sensor. We recently installed a keyence system but all of my experience is with fanuc's system. To me it seams as though the fanuc system is much easier to maintain and correct when there is an issue. All of the robot motions are dictated by the keyence system for example which makes touch ups extremely difficult considering I have no prior experience with their system, whereas with the fanuc system using vision offsets and a defined position touchups are relatively simple. What are your opinions if you have experience with both and why would integrators favor the keyence system over the fanuc?

    If your PLC and Robot are both using Ethernet/IP then there is an Explicit Message configuration in the PLC that you can use to read the Alarm. I believe this topic is addressed in one of the Ethernet/IP manuals.

    We only use discrete IO, and do not have ethernet connectivity between the robots and PLC.

    Short answer. No.


    The robot type must match the controller type. The DX100 has a selection for an HP20D, however this robot must have the DX100 motors that your NX does not. As well, the B and T gear boxes are different between the HP20 and the HP20D.

    I have a similar question. We recently had a fire that destroyed a controller and only have a single NX100 controller in stock. The issue is that we have an ES165N manipulator installed but the controller is set for a HP50 manipulator. Is it possible to change the manipulator type in the controller as long as the servopacks are replaced to match the corresponding motors?

    none of that worked and I still get a fault that simply states "relay number" with no detail whatsoever. The relay isn't being used anywhere else and I just give up at this point. Getting the alarm information sent to a plc isn't going to happen I guess. Here are pictures for reference.

    The error was probably when you compiled. If you set the output as a relay word, it is going to be 16 bit. You need to make sure the group you are using as the output and the next group are not used in the ladder.


    The outputs need to be on your CC-Link network.

    Ok thanks for the reply, however, virtually all of the outputs are being used somewhere in the ladder. For example: it will show a universal output # in a GRP instruction then an external output # on the bottom. I don't really understand what the point of this is or if it will destroy anything if I delete the instruction so that I can utilize the output. This is my first time actually modifying the ladder portion and it has been almost a decade since I took the class. My manual also doesn't clarify things very well so any help with this is greatly appreciated. Here is an example of the instruction I'm referring to. Ladder.png

    Use the MOV instruction in the ladder to move the contents of the M-register to a relay word.

    I tried this but I get an error when I save. Where do I move the contents to so I don't get an error and so the PLC can read the information? Which outputs should I move the contents of the register to?

    Not knowing what generation you are on, it is possible. There are M-registers that contain the alarm number. If you look in the Concurrent IO manual for your generation it will have the address. This could be passed to the External Outputs and on to the plc.

    I am on an NX100 right now and the M registers for alarm information are M340-M342. How would I write that into the ladder edit to send the M registers to a PLC? I've read through the concurrent IO manual but I can't quite figure out how to get the M registers output to a PLC. I'm using CC-link connectivity to the robot so it would most likely have to be binary correct? I'm just not sure how to write the instructions to output that information. Any help or clarification of my misunderstandings would be greatly appreciated.

    How to change user ladder n system ladder..
    After a good experience in multiple robots am looking more n more options in robots.
    All robots r same n some r gud features like in Fanuc background logic , Kuka interrupts n many more..
    Pls help me abt Motoman ladder edit

    You cannot edit system ladder, only user ladder.

    I was just wondering if it is possible to send specific alarms to a PLC for monitoring purposes. Like lets say we have a 1325 Communication Alarm. Is there a way for the robot send that alarm code to the PLC or will I have to get crafty and write some type of background logic to run and send the information for each individual alarm in a binary system?

    For example, robot 1 lost its image and we do not have a complete image backup, but we do have the original TP files on a flash drive. Robot 2 performs a similar job but has fewer doors to enter so there are slight differences in the actual program even though they share the same name for the same job (the pathing is also slightly different.) Instead of trying to distinguish between which programs were robot 1 and which ones were robot 2 after loading the image, it would be easier to delete the TP files from robot 2 image, then copy the TP files I have from robot 1 to robot 2 image. My question is if this would even work, and would the password protect software option move with the image to robot 1?

    There isn't really a need to load the TPs onto the image. Just load the image, then delete the unused TPs, and reload the TPs that you want. Why do you think you need to add them to the image?

    To save time. There are a ton of programs on these robots (almost 150) and they are named the same for similar jobs, but there are differences and distinguishing between the two to delete the correct one will be too time consuming.

    I guess what i'm asking is, can i copy TP files to another robots image as long as i remove the TP files from that image first and then use that image in an identical robot. Also, would the Password protect option of the software copy over to the new robot? We do not need the password option on this robot, but since it is already enabled would we need to log in to the TP in order to modify programs?

    1. Do you have the original load media (USB software install) for your robot?


    2. Is the other robot the exact same robot model, controller model, and software options that you need?

    1.) The original load media was lost a while back when contractors were moving the robot controllers into a newly built electrical room and was just found missing when this issue arose.


    2.) the robots are identical excpet for the password protection software option on the robot that i will be taking the image from.

    Just a quick question. We have a R30iB that lost its image, but has all of the TP files saved to a USB. Is it possible using windows, to copy the TP files to the image of another robot, then remove the unused TP files and dump the image into the controller of the robot that lost its image? Basically i'm trying to move the image from one robot to another but delete the TP files and insert the original TP files. Will the controller accept the image or will it fault?