Basic questions from a brand new person to ABB but very familiar with KUKA

  • Hello everyone. I hope you don't mind some very basic questions. My company builds robotic welding cells for general industry. My next project will be using an ABB IRB 1600 and a 2-axis positioner. I need to learn as much as I can in advance of the delivery of the robot (due in late August). Because I don't have a robot yet, I'm learning what I can from pdf's. In no particular order, here are my questions.


    1) Mastering (calibrating) the arm - KUKA uses an EMD and software on the controller to move each motor into the mastering position. Does ABB have anything like this? What I have seen so far are some marks on the arm that you line up by eye and then update the revolution counters. Are there also some alignment pins or something?
    2) Mastering (calibrating) external motors - When mastering an external motor gear unit with KUKA, we use an EMD. How do you master (calibrate) an ABB MGU?
    3) Virtual PLC - KUKA has a virtual PLC which we use to monitor the state of some pushbutton switches the operator uses to control the robot while running in AUTO mode. Does ABB have a virtual PLC? How do I monitor mechanical pushbuttons while the robot is busy executing a welding program?
    4) Safety chain - KUKA has a built-in Safety Interface Board that I wire up the safety chain (a string of 2-channel switches/outputs). So far in my early ABB education, I've been lead to believe that I need to add my own safety PLC the output of which is wired to the controller (somehow).
    5) Digital I/O - It looks like ABB uses their own DIO modules that communicate with the controller PC using DeviceNet(?) and are setup/configured (mapped into memory?) using RobotStudio. Is this correct? In KUKA, WorkVisual is the configuration software where DIO modules (we have used Beckoff) are mapped into controller memory space.


    Thanks.....Matt

    Building robotic welding systems.

  • AD
  • 1) Mastering (calibrating) the arm - KUKA uses an EMD and software on the controller to move each motor into the mastering position. Does ABB have anything like this? What I have seen so far are some marks on the arm that you line up by eye and then update the revolution counters. Are there also some alignment pins or something?


    ABB robots normally have calibration marks and aligment with eyes. Jog the robot to line up the calibration marks on each axis, then through the service menu update the rev counters. if battery is dead use Fine calibration and type calibration offsets number. (Numbers on manupulator label). Another way you can use Calibration Pendulum.


    https://library.e.abb.com/publ…00559135/3HAC16578-en.pdf



    2) Mastering (calibrating) external motors - When mastering an external motor gear unit with KUKA, we use an EMD. How do you master (calibrate) an ABB MGU?


    Procedure is same. Positioner have calibration mark.




    3) Virtual PLC - KUKA has a virtual PLC which we use to monitor the state of some pushbutton switches the operator uses to control the robot while running in AUTO mode. Does ABB have a virtual PLC? How do I monitor mechanical pushbuttons while the robot is busy executing a welding program?


    You don't need Soft PLC. Buy multitasking option and you can run a few modüle simultaneous. e.g. KUKA using "SPS.sub" or Proconos. If you using complex logic of course you can get Soft PLC option from ABB just like KUKA.



    4) Safety chain - KUKA has a built-in Safety Interface Board that I wire up the safety chain (a string of 2-channel switches/outputs). So far in my early ABB education, I've been lead to believe that I need to add my own safety PLC the output of which is wired to the controller (somehow).


    ABB have panel board and safety signal can connect to interface. E.g GS(General Stop), ES(Emergency Stop), AS (Automatic Stop) etc. already defined on panel board. Make jumper or apply external circuit.



    5) Digital I/O - It looks like ABB uses their own DIO modules that communicate with the controller PC using DeviceNet(?) and are setup/configured (mapped into memory?) using RobotStudio. Is this correct? In KUKA, WorkVisual is the configuration software where DIO modules (we have used Beckoff) are mapped into controller memory space.


    ABB using pre-defined or user defined modüle and bus types. You can define new modüle types or bus with robot studio or Pendant. Bus types is optional and you must select better option. E.g if you using Profinet you must to buy Profinet card from ABB and Profinet option key (Licence Option)

    Edited once, last by fluke ().

  • Thanks for your reply Fluke. Here are my follow-up questions:


    1) So it sounds like the Calibration Pendulum is used to determine the calibration offset numbers recorded on the manipulator label? Is there anyway the numbers on the label can become obsolete and new numbers need to be determined?


    4) By "external circuit" do you mean my string of 2-channel switches (i.e. door switches & safety relays)?


    5) We will be using DeviceNet to communicate with a welding power supply. Does that suggest that we should also be using DIO modules that communicate using DeviceNet?


    Thanks again for your help.

    Building robotic welding systems.

  • Edited once, last by fluke ().


  • 1) So it sounds like the Calibration Pendulum is used to determine the calibration offset numbers recorded on the manipulator label? Is there anyway the numbers on the label can become obsolete and new numbers need to be determined?


    4) By "external circuit" do you mean my string of 2-channel switches (i.e. door switches & safety relays)?


    5) We will be using DeviceNet to communicate with a welding power supply. Does that suggest that we should also be using DIO modules that communicate using DeviceNet?


    Just for added clarification....
    The robot controller itself determines the cal-offset when you fine calibrate the motor, cal pendelum "only" establishes the "0-position" (it basically makes sure that the robot is level).
    With an external axis you don't have any means of using cal pendelum so on a track you determine the 0-pos yourself and on a positioner/orbital I typically used a spirit level to make sure it was somewhat leveled.
    Once the fine calibration is done, updating the revolution counters will compensate for any slight misalignment when eying in the calibration marks.


    Basically the only time you need to use cal pendelum to fine calibrate the robot if you ever change robot hardware, e.g. motors or gearboxes



    If your power source (assuming arc welding, not spot welding?) is interfaced through DNET then I'd stick with DNET for the IO's as well since you'd have to pay for any additional interfaces (EthernetIP, ProfiNet/BUS should you choose those for IO's).
    You don't necessarily have to go with ABB IO modules, you can choose any DNET compliant I/O module, Beckhoff, AB, Wago, etc. but if this is your first ABB system then I'd reccomend using ABB modules and power supplies since they're not that expensive and they're pre-installed/wired which saves you some time/hassle.

  • I saw incorrect information, so some clarification and news:


    1 - ABB robots have two different procedures:
    -Revolution counter update. Update the revolution of the motor in relation to the zero position of the axis. There's a battery that backup this in the manipulator. If this battery is empty you loose revolution counter when you turn off controller. Revolution counter update is a simple and fast procedure, don't need any special equipment. Just align some marks manually by eye and enter in a menu option to update.


    -Calibration. Is the zero fine position. It's made on robot factory and is not normally done at the customer. You only make a new calibration if you disassembly a motor. For calibration you need special equipment (to be done the right way). For older robots, and some paint robots it's some device that lock the axis in position. For IRC5 robots, we use Calibration Pendulum, a special device with sensor that calibrate the robot with a routine. It's not easy like Kuka one. Last year ABB developed a new calibration method, but only for new robot models. I think this method is better than Kuka because it's automatic, fast, simple and cheap. You only need a pin that is put on the robot and the axis touch the pin, no special sensors needed.


    2 - For external motors depends on the kind. Positioners have a built in routine that recalculate the positions for the interchange, track motions have mechanical devices. In resume you need something to lock the axis in position.


    3 - We don't have Soft PLC option, we use multitask for that. It's the same language the robot use, but running in parallel and without motion instructions. With this option you can have up to 20 tasks running in parallel.


    4 - We have a board called Panel board with discrete dual channel safety signals, you can attach any safety device here to stop the robot. There's is two inputs for global stop (GS and SS), one for automatic mode (AS) and one for emergency stop buttons (ES).
    This year ABB launched SafeMove2 with Profisafe and CIPis planned in the future.


    5 - If you buy IO with the robot it will come with a DeviceNet interface card, a harness for DeviceNet inside the controller and a ABB DeviceNet board.
    ABB robots can also have, Ethernet/IP, Profinet and ProfiBus. DeviceNet and Profibus need special inteface card connected to the CPU, Profinet and Ethernet/IP can be connected directly to the the CPU. IO is configured with RobotStudio or in directly in robot using FlexPendant. For Profinet and Profibus you need additional software to configure network.

  • Thanks Roulv.


    I work for a system integrator that builds arc welding cells. Typically, we design and build the cell, install the robot and welding torch, and program the customer's parts to be welded. Once the welding programs are finished, the cell gets disassembled, shipped to the customer's location, and reassembled.


    My main concern is if a robot loses it's calibration for some reason (say during shipping), how does the robot get re-calibrated at the customer's location so that all of the previously programmed robot moves (points) are still correct?


    With KUKA, it is not unusual for 1 or more axis to lose mastering during shipping (the arm moves slightly while powered off). With KUKA, use the EMD at the customer's location to re-establish mastering and all of the previously programmed position (points) are still correct. How is the same thing accomplished with ABB?


    You mentioned that the new robots use pins and some software routines to calibrate the robot. Do you know which robots use pins?


    I don't understand the reason for updating the 'revolution counters'. If all of the robot positions are keyed off of the zero point calibration (done with either with the Calibration Pendulum or with pins), what are the revolution counters used for?

    Building robotic welding systems.

  • My main concern is if a robot loses it's calibration for some reason (say during shipping), how does the robot get re-calibrated at the customer's location so that all of the previously programmed robot moves (points) are still correct?


    I don't understand the reason for updating the 'revolution counters'. If all of the robot positions are keyed off of the zero point calibration (done with either with the Calibration Pendulum or with pins), what are the revolution counters used for?


    Perhaps it makes it more logical if we separate "calibration" v.s. updating reference/0-position.
    Technically there's no need to "calibrate" the robot unless you change hardware on the robot, it's already calibrated from the factory.


    But in the event that an axis moves during shipment the controller will report a loss of revolution counters for that particular axis, all you have to do is to jog the robot back to it's 0-position (by eyeing the notches/calibration marks) and then update the counters.



    Which positoner do you have, an ABB unit (the whole mechanical unit, e.g. 1000K 1000R, 300R, 500C, etc.) or did you buy motors from ABB to build your own positioner ?

  • SAABoholic: So if we update the revolution counters at the customer's location (by lining up some marks by eye), does that mean that all of the previously programmed positions are probably off?


    I believe the robot that is coming has a ABB skyhook positioner.

    Building robotic welding systems.

  • You will not loose any point. This is the main difference between Kuka and ABB.


    In Kuka, if your robot move slight while off you have to put the device in the the robot and master.


    In ABB you don't need it, because you are not calibrating zero, you are just setting the revolution of the motor. You can do that by eye because you have a full revolution of the motor to say that is the revolution zero.
    You only need the special device to recalibrate when you disassemble the robot.


    More technical view:
    All robots have a feedback device in each axis. This devices read the motor position.


    The problem is after motor there's a gear box with some reduction. This mean that one revolution of the motor is not one revolution of the axis.
    When you turn one revolution of the motor you get just a small movement of the axis.


    So to calculate the correct axis position, you need more information, which is the current revolution of the motor.


    Some robot brands use encoders that can give you the current revolution of the motor. ABB and Kuka use one single resolver where we don't have this information. So in ABB and Kuka the controller is continuous monitoring the resolver and every time the motor turn one revolution, the controller increment or decrement a variable with the current revolution. This way the controller know the current position of the axis and is called revolution counter.


    But if you turn off your controller and release brakes, axis motor have been turned one or more revolutions and the controller is not monitoring. Because of that you lose revolution counter when you turn controller on again.


    In ABB you only need to move axis to a mark and say to the controller that this position is within one revolution of the zero position. This is done by eye, there's no problem because if you put axis a bit to one side or to the other side, it's still inside the first revolution.


    In Kuka you have to put the mastering device even if you only lost revolution counter, this means more time.

  • My main concern is if a robot loses it's calibration for some reason (say during shipping), how does the robot get re-calibrated at the customer's location so that all of the previously programmed robot moves (points) are still correct?


    With KUKA, it is not unusual for 1 or more axis to lose mastering during shipping (the arm moves slightly while powered off). With KUKA, use the EMD at the customer's location to re-establish mastering and all of the previously programmed position (points) are still correct. How is the same thing accomplished with ABB?


    Sounds like I did the same as you, building (mostly) robot welding cells, but used mainly ABB robots. A few things to consider:
    Park the robot correctly (folded down) to minimise chance of movement during transport.
    Lift the robot from the correct lifting points if it's not fixed to a chassis/frame.
    If the welding fixture is separate from the robot, fabricate a setting/distance frame/jig from scrap steel box section which allows you to position the fixture & robot correctly on site.
    Unless the fixture & robot are on the same frame or chassis, I've found a bit of fine tuning of the program is normally required once set up on customers site.

  • You can't really do it for shipping, but when I have a robot w/ questionable SMB battery, I try to drive it to the reference/zero position before powering down the controller. If it loses rev counters, they can be immediately updated. When you re-run the Zero program, it will be easy to tell if something has moved - an axis that is out of position will be misaligned by 1/4" (5-6mm).

  • The link below is for a video on YouTube showing a small robot IRB 120 being calibrated. Each axis was manually moved to a position against a hard stop (a pin) and "fine calibration" updated. With all of the fine calibrations updated, the robot is jogged into a position where all of the marks on the axis' line up and then the revolution counters updated.


    Are any of the larger robots calibrated in this way (i.e. using hard stops to indicate the "zero" position)?


    Building robotic welding systems.


  • Are any of the larger robots calibrated in this way (i.e. using hard stops to indicate the "zero" position)?


    To the best of my knowledge it's only the 120 and 1200 that have this feature / ability, worth noting is that these robots use encoders for positioning tracking where all others use resolvers (talking about current models, not S3's :icon_wink: )
    The 340/360 have a similar method but it requires a "ring" and it's not a 6-axis articulated robot either so....

  • Robot models with pin calibration:
    IRB 120, 6620, 6660, 6650S, 6700, 7600 and 8700.


    Only on new robots. Old robots of these models still use Calibration Pendulum. Except 8700 that were launched with new calibration from day 0.


    In this video it shows calibration of the old 120, in new version you can use a automatic process to move the robot. RobotWare 6.03 onwards.


  • Robot models with pin calibration:
    IRB 120, 6620, 6660, 6650S, 6700, 7600 and 8700


    Interesting, when did this change for the older models (all but 8700) ? and are you required to have a certain revision / release of robotware and/or robot serial # ?


    For example, does a 6700 delivered in 2014 with RW5.15 support this calibration method ? Or is it only "new" robots with RW5.6 or even 6.0 ?
    I'm assuming there's some mechanical changes (machined end-stops v.s. casted surfaces ?) so when was this change implemented ?


    Thanks !

  • From RobotWare release manual:
    Axis Calibration is released in RW 6.02 and are supporting following robots
    · IRB 6700
    · IRB 7600
    · IRB 8700
    · IRB 6650S
    Axis Calibration
    Axis Calibration is updated in RW 6.03 and now also support following robots
    · IRB 6660
    · IRB 6620


    Some robots produced at the start of this year and some in the mid of year.
    Produced means when they are manufactured, not when you receive.

    Edited once, last by roulv ().

  • But if you turn off your controller and release brakes, axis motor have been turned one or more revolutions and the controller is not monitoring. Because of that you lose revolution counter when you turn controller on again.

    Is the encoder on the motor relative or absolute? How does it know that axis have been moved while powered off?


    I found gear ratios for 7600:

    219.946

    -418.772

    418.772

    -217.927

    -217.927

    -178.412


    It means that on two axis, one revolution of motor is 360/418.772=0.86 degree rotation of axis, so the axis have to be aligned within less then 1 degree.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now