New EOAT same as old....but not.

  • Greetings, it's been a while.


    We have a new PZN+200-1-AS-SD, it is replacing a PZN+200-1-IS. They were made to be interchangeable incase we needed to substitute one for the other. There are differences in diameters due to the dust shrouds and an 8.55 mm difference in the Z of the TCP. I tried using the defined TCP of the old unit for the new one while only changing the Z of the TCP, the height was correct. However, I found that the robot did not go to the proper pick up place. next, I defined a new TCP using the same tools as used for the older one, they were different. I again tried to go to the intended target with the new TCP, it did not go to the correct place. Why?

    What is the best way to setup the new PZN without having change the program, as I want to be able to use either EOAT to get the job done? I was hoping that I could set a register up for TP selection to determine what EOAT was on. The registers would change the data that defines the EOAT and then just run that program using either head with no change to the program. Is this possible? If so can anyone help me overcome this first part of the robot going to the correct location so that I can move forward with the minor adjustments to compensate for the change in diameter.



  • Place your Ad here!
  • The product area that is concentrically grabbed in three places is round with a slight taper, I guess technically its a cone. The fingers are cut to compensate for this with a taper. Load tables position 1 is the only grab that matters/no regrip. We are using ATI QC-71 Quick tool changer heads. Built new same as old. Put new head on, change Z offset and go to Pos. 1, Robot is shifted in Y+ by a couple of millimeters +/-.5 also slightly in +X by maybe .5mm Z is correct. Not that much but it causes the part to shift in the cradle upon gripping, which throws the rest of the program off.

    Tried new tcp calculated by robot with manual Z corrections again Height is correct but when attempting to grab the part was shifting.

    I very crudely checked orientation against Tool0 between the two EOATs an hour ago and found a very minuscule difference, about .87mm ish arc length on the OD. I do not think that should be making this big of a difference but I may be wrong. I have a feeling I will need to calculate the QUATERNION and make a small change if I want to do this the way I was thinking.

    I would like to manually adjust the TCP to compensate so that I can run either EOAT without editing the program, just adjusting the tcp, depending on the which head is on. Is it possible?

    • Helpful

    It sounds like you know what you need to do to tweak the TCP values to make a good pick. From there you can just declare a variable tooldata, tMyCurrentTool, for example. The you could just use a switch, as you suggested a register.

      IF reg1 = 1 THEN 
        tMyCurrentTool := tOldTool;
      ELSEIF reg1 = 2 THEN
        tMyCurrentTool := tNewTool;
        ! something is wrong

    Then you substitute tMyCurrentTool in all your move instructions.

  • Lemster68 , Thanks for the Snippet. Wish it was actually that easy to just drop in like that, but definitely a point in the right direction. As for the positioning and why it wasn't working, I calculated everything and put in but went the wrong way the first time. With the gripper fingers I had on, this made dimples in the wrong spot. After correcting for the right position the griper pads wanted to go back to the original spot, this kept moving the castings. :thumbs_down: :gaah: So my calculated was not matching the setting that was keeping the castings in place.

    I took the head off the robot and did an inspection, I found an alignment pin that was about .1 above the surface of the face plate of the quick change tool plate. I ground it down and started to check the rest of the program cause I was sick of working at the load station and getting nowhere. Started with the sander because I knew I needed some new clearance here.

    Later in testing, at the router, I was able to more accurately measure where in space I was and checked back in on those offsets. I set them to the new measurements and they looked familiar. Looking back at my notes the were identical to my calculated ones from the beginning! :loudly_crying_face: Wasted hours trying to figure out what was wrong, because nothing was really wrong with the code, it was that stupid pin and the dimples! On the positive side, I have a better understanding of how TCP interacts with world, and that the robot is really accurate after that calibration we did back in January.

    Thanks again Lee!

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

Advertising from our partners