ABB controller with home made external track

  • Hi everyone.

    I'm a software engineer so robotics is not my field, but as i'm the guy that uses the pc, they asked to me to improve their working system.

    In my new working company, we have 4 irb4600 robots. One of this robots is installed on a home made track ( they wanted to build something like the irbt 2005 ).

    At the moment the track is moved with two buttons by the user, one moving track front and one back.

    Rapid is programmed to wait until the operator moves the track in the next position and push a button.

    Now they asked to me to investigate if the track can be modified in order to be piloted by the controller using the I/O system but i have no deep knowledge of the controller.

    If you should achieve this and modify the already existing track, what would you do ?

    Thanks in advance


    p.s. i've already tried to throw away the track and buy the official one but reply was a big big big no :(;(

  • At absolute minimum, you would have to add outputs to the robot that could be wired in to replace the current operator buttons. However, this would be "blind" -- the robot would have no knowledge of what position the track is in.


    You could also add sensors to the track, that would be activated when the track is at Position A, Position B, etc, and wire them into inputs on the robot (which would also have to be added). But this is liable to not be very accurate, unless you have the track move slowly using an input-based interrupt in the program. How accurate does the positioning need to be?


    Your best option, in my opinion, would be to replace the motor that currently drives the track with an ABB servo motor, and add that servo motor to the ABB controller. It's been several years, so I don't recall exactly what the hardware requirements are to do this, but once the hardware is in place, I usually found it quite simple to configure a 3rd-party track as a 7th axis on an IRC5.

  • What robot controller do you have? I agree with what has been mentioned already. There are several ways this can be done. If you have a I/O card you can map a do-Output to a Allen Bradley 700-HLT1Z24 Series A Relay Base w/ 700-TBR24 Series A Relay, 24VDC and then wire your relay to your on/off switch. Add the signal in your rapid program...

  • Y'all are looking at this way to complicated.... just relocate the push-buttons to the base of the carriage and add a finger to the robot gripper, that way the robot can just push it's own buttons ;)



    If that's too much of a bush-hack then what others already have said, but you're probably looking at ~$5-7,000 just adding a drive, the motor and cables at least if you go the official route and buy "spare parts" from ABB.


    Given that the operator is positioning the track I can only assume that you're using two locations (all the way to either end), or do you have positions halfway as well and in that case how do they determine the location ?

    If it's the ends then LEC's option would work (doesn't have to be AB relays) and just have the robot pulse the respective output for a certain time.

  • Hi everyone and thanks all for the replies.

    My controller is a IRC5 with already installed I/O cards, so my first tought was to replace the buttons with two of those and make the robot move the external axis when required, forward and back.

    The next step i'd like to achieve is to add the ability to move this external track ( which is 11 meters long) a variable distance ( ex. go to 1.28 meters ).

    My doubts now are:

    Supposed that the track is commanded by a plc and a encoder how can i output something from my controller that says : hey, move 1280 mm left.

    I tought to add a analog output to my controller and use the 4-20 mA output, but i'm not a big fan of this.

    Other option is use time and, in rapid, set the digital output to 1 for the required time, and with this solution the motor controller would be simplier

    Thanks all for the ideas

    Edited once, last by e-tip ().

  • I get it to a certain extent, but at the same time I really don't...

    I get that everyone is on a tight budget and wants to spend as little as possible, but you're not talking about a whole lot if you do it as a parts project (which you already are).


    Assuming you have the silver colored drives - https://www.ebay.com/sch/i.htm…313&_nkw=DSQC664&_sacat=0

    https://www.ebay.com/itm/ABB-R…e9c15d:g:5tsAAOSwTmpcZSOp


    You already have the motor power cable, and the resolver you'd take from the robot so maybe another $500 in material for an adapter plate, etc.


    You should be able to get it done for less than $4,000 in parts which is a lot compared to two 24v relays, I get it... but the functionality / increased productivity should be able to pay for the $4K in a year or two.



    But no, there's only so many ways you can skin this cat....

    You can pulse an output for x seconds and hope that you come reasonably close to the same spot each time.

    You can set an analog or bit register (group output) either via an i/o board or connected directly to the PLC.

    One longshot if the gearratio is big enough (slow motion) is to tie an encoder in to an encoderboard on the robot and read the distance of the track that way.

    Still an ugly hack but might be worth it.

    Then, of course, last but not least... get a proper drive, get a proper motor and integrate it as a proper track.

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