Hardinge CHNC4 Retrofit

All things related to Centroid Oak, Allin1DC, MPU11 and Legacy products

Moderator: cnckeith

dpascucci_support
Posts: 93
Joined: Thu Sep 21, 2023 9:24 am
Acorn CNC Controller: No
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: No
Hickory CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: No
CNC11: No
CPU10 or CPU7: No

Re: Hardinge CHNC4 Retrofit

Post by dpascucci_support »

As long as your homing file homes towards X+ and not X- (m92 not m91), sure. Allin1DC soft limits can be set up in the Jog page of the machine configuration menu (Setup>Config>Mach>Jog).
Domenic

When requesting support READ THIS POST first.

Please ALWAYS post a FRESH report.

(We pride ourselves on providing timely solid technical support but, without good information we may not be able to help and/or reply until such information is posted.)
lavrgs
Posts: 529
Joined: Sat Aug 11, 2018 11:22 pm
Acorn CNC Controller: Yes
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: Yes
Hickory CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Location: Oregon

Re: Hardinge CHNC4 Retrofit

Post by lavrgs »

I was able to home manually M92/Z M26/Z M92/X M26/X. This is what my .hom script will do so it appears to be working. A bit more testing will be done.
My next issue is with the turret - after making a tool change the ALT I diag does not seem to show the proper tool, although it is shown on screen T0505 in this case. This agrees with the number on the turret. I am getting an error 311 waiting for memory #305 (M100)
Attachments
report_0008DC111213-0821233001_2024-02-21_09-19-15.zip
(849.15 KiB) Downloaded 7 times
after turret tool change.png
cncsnw
Posts: 3855
Joined: Wed Mar 24, 2010 5:48 pm

Re: Hardinge CHNC4 Retrofit

Post by cncsnw »

I would guess that the magnet rotor on your turret encoder assembly is out of alignment, so that it continues past the point where it reads the next tool, to where all four sensors are again inactive.

I assume that you have INP19 - INP22 wired as current-sourcing inputs, because that would match up with the negative logic in your PLC program. That is consistent with Centroid factory-suggested wiring and PLC programming, and works fine. If I were doing it, I would connect the turret encoder to current-sinking inputs and use different PLC logic, so that the binary count from the turret encoder read with positive logic.

What I mean by "negative logic" and "positive logic" is this:
You have four bits of tool number information. They form a simple binary counter. In binary:
1 = 0001
2 = 0010
3 = 0011
4 = 0100
5 = 0101
6 = 0110
7 = 0111
8 = 1000

Those four bits are read as INP19 "TurretPosA_I" (least significant bit, right-most in the above patterns) through INP22 "TurretPosD_I" (most significant bit, left-most in the above patterns). But, if you look at your factory PLC logic, ca, lines 3059-3066, you see:

Code: Select all

IF !TurretPosA_I && TurretPosB_I && TurretPosC_I && TurretPosD_I THEN TurretPosition_W    = 1 
IF TurretPosA_I && !TurretPosB_I && TurretPosC_I && TurretPosD_I THEN TurretPosition_W    = 2
IF !TurretPosA_I && !TurretPosB_I && TurretPosC_I && TurretPosD_I THEN TurretPosition_W   = 3 
IF TurretPosA_I && TurretPosB_I && !TurretPosC_I && TurretPosD_I THEN TurretPosition_W    = 4 
IF !TurretPosA_I && TurretPosB_I && !TurretPosC_I && TurretPosD_I THEN TurretPosition_W   = 5
IF TurretPosA_I && !TurretPosB_I && !TurretPosC_I && TurretPosD_I THEN TurretPosition_W   = 6
IF !TurretPosA_I && !TurretPosB_I && !TurretPosC_I && TurretPosD_I THEN TurretPosition_W  = 7
IF TurretPosA_I && TurretPosB_I && TurretPosC_I && !TurretPosD_I THEN TurretPosition_W    = 8 
Taking T5 as an example: the binary pattern would be 0101. But if you wire the turret encoder to current-sourcing inputs, the sense of each input is effectively reversed, so the four inputs would read 1010. That matches up with the line that says:

Code: Select all

IF !TurretPosA_I && TurretPosB_I && !TurretPosC_I && TurretPosD_I THEN TurretPosition_W   = 5
... which is 1010 because you have to read the line right-to-left to see the bit values from most-significant to least-significant.

In your screen shot above, you have messages in the status window that imply your tool-change macro, "cnctch.mac", got the completion signal from the PLC (because it proceeded beyond "311 waiting for memory #305 (M101)" and continued to the point where it waits for the PLC program to remove the completion signal ("311 waiting for memory #305 (M100)"). That suggests that the PLC program completed the turret index without error. The fact that INP19-INP22 are all green (1111, which is the inverted form of 0000) shows that the turret encoder probably proceeded beyond the position where it reads T5. When the Hardinge turret encoders are between positions, they turn off all four bits (which would appear on when they are effectively inverted, as in your wiring).

This is all probably more than you need or want to know.

You need to take the cover plate off the turret encoder, and one way or another you need to get the button-head screw that secures the rotor loose, so you can turn the rotor back just until INP19-INP22 show the correct pattern for the current position. Then tighten it back down.
lavrgs
Posts: 529
Joined: Sat Aug 11, 2018 11:22 pm
Acorn CNC Controller: Yes
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: Yes
Hickory CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Location: Oregon

Re: Hardinge CHNC4 Retrofit

Post by lavrgs »

cncsnw wrote: Wed Feb 21, 2024 5:58 pm I would guess that the magnet rotor on your turret encoder assembly is out of alignment, so that it continues past the point where it reads the next tool, to where all four sensors are again inactive.

I assume that you have INP19 - INP22 wired as current-sourcing inputs, because that would match up with the negative logic in your PLC program. That is consistent with Centroid factory-suggested wiring and PLC programming, and works fine. If I were doing it, I would connect the turret encoder to current-sinking inputs and use different PLC logic, so that the binary count from the turret encoder read with positive logic.

What I mean by "negative logic" and "positive logic" is this:
You have four bits of tool number information. They form a simple binary counter. In binary:
1 = 0001
2 = 0010
3 = 0011
4 = 0100
5 = 0101
6 = 0110
7 = 0111
8 = 1000

Those four bits are read as INP19 "TurretPosA_I" (least significant bit, right-most in the above patterns) through INP22 "TurretPosD_I" (most significant bit, left-most in the above patterns). But, if you look at your factory PLC logic, ca, lines 3059-3066, you see:

Code: Select all

IF !TurretPosA_I && TurretPosB_I && TurretPosC_I && TurretPosD_I THEN TurretPosition_W    = 1 
IF TurretPosA_I && !TurretPosB_I && TurretPosC_I && TurretPosD_I THEN TurretPosition_W    = 2
IF !TurretPosA_I && !TurretPosB_I && TurretPosC_I && TurretPosD_I THEN TurretPosition_W   = 3 
IF TurretPosA_I && TurretPosB_I && !TurretPosC_I && TurretPosD_I THEN TurretPosition_W    = 4 
IF !TurretPosA_I && TurretPosB_I && !TurretPosC_I && TurretPosD_I THEN TurretPosition_W   = 5
IF TurretPosA_I && !TurretPosB_I && !TurretPosC_I && TurretPosD_I THEN TurretPosition_W   = 6
IF !TurretPosA_I && !TurretPosB_I && !TurretPosC_I && TurretPosD_I THEN TurretPosition_W  = 7
IF TurretPosA_I && TurretPosB_I && TurretPosC_I && !TurretPosD_I THEN TurretPosition_W    = 8 
Taking T5 as an example: the binary pattern would be 0101. But if you wire the turret encoder to current-sourcing inputs, the sense of each input is effectively reversed, so the four inputs would read 1010. That matches up with the line that says:

Code: Select all

IF !TurretPosA_I && TurretPosB_I && !TurretPosC_I && TurretPosD_I THEN TurretPosition_W   = 5
... which is 1010 because you have to read the line right-to-left to see the bit values from most-significant to least-significant.

In your screen shot above, you have messages in the status window that imply your tool-change macro, "cnctch.mac", got the completion signal from the PLC (because it proceeded beyond "311 waiting for memory #305 (M101)" and continued to the point where it waits for the PLC program to remove the completion signal ("311 waiting for memory #305 (M100)"). That suggests that the PLC program completed the turret index without error. The fact that INP19-INP22 are all green (1111, which is the inverted form of 0000) shows that the turret encoder probably proceeded beyond the position where it reads T5. When the Hardinge turret encoders are between positions, they turn off all four bits (which would appear on when they are effectively inverted, as in your wiring).

This is all probably more than you need or want to know.

You need to take the cover plate off the turret encoder, and one way or another you need to get the button-head screw that secures the rotor loose, so you can turn the rotor back just until INP19-INP22 show the correct pattern for the current position. Then tighten it back down.
This is stuff I have to read through several times to begin to understand. One thing I can do, is adjust the magnet to get the proper reading when the turret moves. The sourcing-sinking stuff will take some reading. Initial discovery suggests I would reverse the polarity of the supply... does it also require PLC modifications?
I'm fighting compressor problems that limit my functionality...I want to see a new compressor...9-)
cncsnw
Posts: 3855
Joined: Wed Mar 24, 2010 5:48 pm

Re: Hardinge CHNC4 Retrofit

Post by cncsnw »

Reversing the sense of your inputs, from current-sourcing to current-sinking, would require PLC modifications. Right now, that is probably not worth doing.

I only went into all that as a way of explaining why, when you are looking on the Alt-i screen for a given turret value in INP19-INP22, you do not see green dots where you would expect "1" bits and red dots where you would expect "0" bits, if you were looking for a binary count from 1 to 8 with 0 in between positions.
cncsnw
Posts: 3855
Joined: Wed Mar 24, 2010 5:48 pm

Re: Hardinge CHNC4 Retrofit

Post by cncsnw »

One thing I can do, is adjust the magnet to get the proper reading when the turret moves.
That is worth doing. With your wiring, you will get all four inputs green if the rotor is between positions. You need to make sure that it has not gone that far -- i.e. that you still have one, two, or three red inputs -- when the turret is locked down in any of the eight positions.
lavrgs
Posts: 529
Joined: Sat Aug 11, 2018 11:22 pm
Acorn CNC Controller: Yes
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: Yes
Hickory CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Location: Oregon

Re: Hardinge CHNC4 Retrofit

Post by lavrgs »

To confirm; Green is 0 and red is 1? If my turret is aligned to position 5 I should see green-red green-red. This reversed to what I think I read above but follows The truth table from the old Centroid Harding manual
truth table.png
cncsnw
Posts: 3855
Joined: Wed Mar 24, 2010 5:48 pm

Re: Hardinge CHNC4 Retrofit

Post by cncsnw »

There are too many variables involved when you try to translate CNC10 PLC logic into CNC11/CNC12 logic. You do not know for certain whether the old CNC10 logic was written for current-sourcing inputs or current-sinking inputs; and you have to account for the fact that, in CNC10, a closed input was considered "0" and an open input was considered "1" (but, on the Alt-i display, a closed input was still shown as green and an open input was shown as red).

It might be simpler if you just rotate the magnet slowly around the eight positions, and write out your own RED/GREEN truth table for INP19 - INP22.

Then post it here, and we will see where a binary count from 1 to 8 can be found in it.

Any zone where all four inputs are green, or all four are red, is an invalid area between tool positions. You don't need to record those.
lavrgs
Posts: 529
Joined: Sat Aug 11, 2018 11:22 pm
Acorn CNC Controller: Yes
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: Yes
Hickory CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Location: Oregon

Re: Hardinge CHNC4 Retrofit

Post by lavrgs »

Here are the colors and the (number shown on the screen) as I move the arm around.

LEAST SIG>>MOST SIG[My Interpretation]
red grn grn grn (1) [0001]
grn red grn grn (2) [0010]
red red grn grn (3) [0011]
grn grn red grn (4) [0100]
red grn red grn (5) [0101]
grn red red grn (6) [0110]
red red red grn (7) [0111]
grn grn grn red (8) [1000]
Last edited by lavrgs on Fri Feb 23, 2024 9:12 pm, edited 1 time in total.
cncsnw
Posts: 3855
Joined: Wed Mar 24, 2010 5:48 pm

Re: Hardinge CHNC4 Retrofit

Post by cncsnw »

That looks correct. If you translate "red" to "1", and "green" to "0"; then read them from right to left; you will see that those are binary values counting from 1 to 8.

That is consistent with what your current PLC program expects. You just need to position the arm so that it remains on the correct tool position, and does not land in between values, when the turret has locked down.
Post Reply