Rod
Member
Mike,
I've some experience with plasma cutter controls, but not PLC driven, true motion control cards. Part of our retrofit kit.
However, this intrigues me.
Unless I'm mistaking, you only need to calc one quadrant, store the 'step' values in a LUT (look up table) and flip X/Y axis values relative to center as required.
Quick idea, operator enters an X/Y center point and OUTSIDE radius value. Subtracting 1/2 the torch’s kerf value, the PLC does math for 16 points of ONE quadrant (3 degrees of resolution), probably adequate for holes up to 30 millimeter switches – a 64 side polygon.
Using engineering degrees (0 being right and 90 top), the torch moves in X+ , with Y equal to the hole center. This is Q1 (quadrant #1)
Torch down, assist gas on, torch is on, move to the next position in the LUT .
Meanwhile, (cool part here) the PLC swaps X+ to X-, relative to center and stores it in the same memory location (hang on).
As the torch steps through the LUT swapping values it reaches position 16.
At this point the PLC reverses looking at the LUT from Top-Down to Bottom-Up reusing the SAME memory space. (Cool Huh?)
Upon reaching position 16 the control tosses out position 1 of the next quadrant, as it is the same as the LAST position of Q1, BUT stores it anyway.
The next quadrant (Q2 – upper left): Swap X+ to X-. Y values are the same.
Repeat for Q3 and Q4 swapping the +- X/Y values
If a circle/arc is greater than preset radii then add more points/quadrant, IE 16 up to 1”dia and 32 up to 2”. Memory starts to go away REAL quickly.
Time to fire up Excel and start graphing. I’ll check my bench DL06 for mem space – see what I can see – used to write VERY tight code on the old Apple ][.
I would not build recipes unless you have a way to store them offline from the PLC – just do pre-calcs – it’s what we do anyway.
Any three non-linear points on a plane describe an arc, and by interpolation a circle - look up non-linear simultaneous equation. I had it but the 'puter died and I don't have hard copy - 5 lines of Basic code
Rod (The CNC Dude)
I've some experience with plasma cutter controls, but not PLC driven, true motion control cards. Part of our retrofit kit.
However, this intrigues me.
Unless I'm mistaking, you only need to calc one quadrant, store the 'step' values in a LUT (look up table) and flip X/Y axis values relative to center as required.
Quick idea, operator enters an X/Y center point and OUTSIDE radius value. Subtracting 1/2 the torch’s kerf value, the PLC does math for 16 points of ONE quadrant (3 degrees of resolution), probably adequate for holes up to 30 millimeter switches – a 64 side polygon.
Using engineering degrees (0 being right and 90 top), the torch moves in X+ , with Y equal to the hole center. This is Q1 (quadrant #1)
Torch down, assist gas on, torch is on, move to the next position in the LUT .
Meanwhile, (cool part here) the PLC swaps X+ to X-, relative to center and stores it in the same memory location (hang on).
As the torch steps through the LUT swapping values it reaches position 16.
At this point the PLC reverses looking at the LUT from Top-Down to Bottom-Up reusing the SAME memory space. (Cool Huh?)
Upon reaching position 16 the control tosses out position 1 of the next quadrant, as it is the same as the LAST position of Q1, BUT stores it anyway.
The next quadrant (Q2 – upper left): Swap X+ to X-. Y values are the same.
Repeat for Q3 and Q4 swapping the +- X/Y values
If a circle/arc is greater than preset radii then add more points/quadrant, IE 16 up to 1”dia and 32 up to 2”. Memory starts to go away REAL quickly.
Time to fire up Excel and start graphing. I’ll check my bench DL06 for mem space – see what I can see – used to write VERY tight code on the old Apple ][.
I would not build recipes unless you have a way to store them offline from the PLC – just do pre-calcs – it’s what we do anyway.
Any three non-linear points on a plane describe an arc, and by interpolation a circle - look up non-linear simultaneous equation. I had it but the 'puter died and I don't have hard copy - 5 lines of Basic code
Rod (The CNC Dude)