Re: [Emc-users] classic ladder examples

2019-09-27 Thread andy pugh
On Sat, 28 Sep 2019 at 04:54, andrew beck  wrote:

>
> 1 move z axis to toolchange position
> 2 orient spindle
> 3 spin carousel component to correct pocket
> 4 lower piston down
> 5 spin piston changing tool
> 6 raise piston placing tool inside spindle
> 7 lower piston again without tool and return toolchanging bar to neutral
> position.
>
>
> Can the carousel component do all that


No, the carousel component only does step 3.

But the rest can be fairly easily done with a G-code subroutine if you
remap M6 to call that routine.

Start up the sample config sim/axis/vismach/vmc-toolchange to see it in
action.

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is designed
for the especial use of mechanical geniuses, daredevils and lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916

___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] classic ladder examples

2019-09-27 Thread andrew beck
ok thanks andy

Here are the steps I need to go through to do a toolchange I think.  I
don't actually know exactly how it works.  But I understand most of it
there is just some timing cams that I need to get my head around.

1 move z axis to toolchange position
2 orient spindle
3 spin carousel component to correct pocket
4 lower piston down
5 spin piston changing tool
6 raise piston placing tool inside spindle
7 lower piston again without tool and return toolchanging bar to neutral
position.


Can the carousel component do all that or will I need to use something else
as well.

Regards

Andrew


On Sat, Sep 28, 2019 at 3:25 PM andy pugh  wrote:

> On Sat, 28 Sep 2019 at 02:39, andrew beck 
> wrote:
>
>  and wondering if I should change to 2.8 so that I don't have to upgrade in
> > the future for any 5 axis stuff.
>
>
> You can do 5-axis with conventional kinematics just as well in 2.7 as 2.8.
> 2.8 is much better for complex kinematics.
>
> The 2.8 version of "carousel" is also rather improved, with better support
> for certain lathe toolchangers that need to reverse on to a pawl.
>
> "carousel" is just a HAL component that specialises in reading toolchanger
> feedback, picking the shortest route to the requested pocket and outputting
> motor direction commands. That really is all it does, but then that's often
> all you need.
>
> If you just need to pulse a pneumatic cylinder until some sensors say you
> are at the right point, then it could be all you need,
>
> --
> atp
> "A motorcycle is a bicycle with a pandemonium attachment and is designed
> for the especial use of mechanical geniuses, daredevils and lunatics."
> — George Fitch, Atlanta Constitution Newspaper, 1916
>
> ___
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>

___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] classic ladder examples

2019-09-27 Thread andy pugh
On Sat, 28 Sep 2019 at 02:39, andrew beck  wrote:

 and wondering if I should change to 2.8 so that I don't have to upgrade in
> the future for any 5 axis stuff.


You can do 5-axis with conventional kinematics just as well in 2.7 as 2.8.
2.8 is much better for complex kinematics.

The 2.8 version of "carousel" is also rather improved, with better support
for certain lathe toolchangers that need to reverse on to a pawl.

"carousel" is just a HAL component that specialises in reading toolchanger
feedback, picking the shortest route to the requested pocket and outputting
motor direction commands. That really is all it does, but then that's often
all you need.

If you just need to pulse a pneumatic cylinder until some sensors say you
are at the right point, then it could be all you need,

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is designed
for the especial use of mechanical geniuses, daredevils and lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916

___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] classic ladder examples

2019-09-27 Thread andrew beck
also I am currently running 2.7  I think it is the stretch iso but am not
100 percent on that.  will have to check somehow?

 and wondering if I should change to 2.8 so that I don't have to upgrade in
the future for any 5 axis stuff.

On Sat, Sep 28, 2019 at 1:34 PM andrew beck 
wrote:

> Hey Andy
>
> I am very interested in other options.  from what I have seen there is
> very little support for classic ladder around.  could you expand on the
> carousel component please.  I will also do a google search for it.
>
> I have almost got to the point to just getting a small click PLC and
> sending it a toolchange signal input.  Then a toolchange signal completion
> output.  But it would be good to be able to get the toolchanger to fail
> gracefully and then manually trigger it if needed.  With all the cnc mills
> that get retrofitted I am surprised that there is not more info around.
> But I am probably looking in the wrong place.
>
> regards
>
> Andrew
>
> On Sat, Sep 28, 2019 at 12:58 PM Andy Pugh  wrote:
>
>>
>>
>> > On 28 Sep 2019, at 01:35, andrew beck  wrote:
>> >
>> > my VMC doesn't require axis moment when toolchanging.  It is a random
>> > position toolchanger that is a side mount thing with 24 tools and a air
>> > cylinder that drops down and switches the tools.
>>
>> Ladder might well be the right solution here. But you could look at using
>> the carousel component in unidirectional mode driving a siggen component to
>> step the changer.
>>
>>
>>
>> ___
>> Emc-users mailing list
>> Emc-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/emc-users
>>
>

___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] classic ladder examples

2019-09-27 Thread andrew beck
Hey Andy

I am very interested in other options.  from what I have seen there is very
little support for classic ladder around.  could you expand on the carousel
component please.  I will also do a google search for it.

I have almost got to the point to just getting a small click PLC and
sending it a toolchange signal input.  Then a toolchange signal completion
output.  But it would be good to be able to get the toolchanger to fail
gracefully and then manually trigger it if needed.  With all the cnc mills
that get retrofitted I am surprised that there is not more info around.
But I am probably looking in the wrong place.

regards

Andrew

On Sat, Sep 28, 2019 at 12:58 PM Andy Pugh  wrote:

>
>
> > On 28 Sep 2019, at 01:35, andrew beck  wrote:
> >
> > my VMC doesn't require axis moment when toolchanging.  It is a random
> > position toolchanger that is a side mount thing with 24 tools and a air
> > cylinder that drops down and switches the tools.
>
> Ladder might well be the right solution here. But you could look at using
> the carousel component in unidirectional mode driving a siggen component to
> step the changer.
>
>
>
> ___
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>

___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] classic ladder examples

2019-09-27 Thread Andy Pugh



> On 28 Sep 2019, at 01:35, andrew beck  wrote:
> 
> my VMC doesn't require axis moment when toolchanging.  It is a random
> position toolchanger that is a side mount thing with 24 tools and a air
> cylinder that drops down and switches the tools.  

Ladder might well be the right solution here. But you could look at using the 
carousel component in unidirectional mode driving a siggen component to step 
the changer. 



___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] classic ladder examples

2019-09-27 Thread andrew beck
Hi guys

I have to set up a toolchanger on my VMC and am looking for some sample
ladder logic stuff to have a look at and get some ideas.  I can't find any
good simple info on this so anything you have would be great.

my VMC doesn't require axis moment when toolchanging.  It is a random
position toolchanger that is a side mount thing with 24 tools and a air
cylinder that drops down and switches the tools.  Any help would be
appreciated.

Eventually I hope to have a the new Probe basic GUI on this with a working
toolchanger and a 4th axis.  maybe also a 5th axis.  I already have the
parts for a 4th axis right now  (really big harmonic drive and brand new
250 mm OD 80 mm ID angular contact bearings  etc.  But first of all I need
the tool changer going.

___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] G-Code issue with IJ

2019-09-27 Thread Gene Heskett
On Friday 27 September 2019 15:39:52 Ken Strauss wrote:

> (modified KRS 27 Sep 19)
> (Based on: https://gist.github.com/reox/a60c67db53eb563a4f8e)
> #<_pocketDia>= 1.5
> #<_pocketRad> = [#<_pocketDia> / 2]
> #<_pocketX>  = 0.000
> #<_pocketY>  = 0.000
> #<_pocketZ>  = 0.000
> #<_finalZ>   = -0.5
>
>
> #<_toolNum>  = 43
> #<_feedIPM>  = 40
> #<_feedRPM>  = 
> #<_toolDoC>  = 0.1
> #<_WoCfact>  = 0.25 ; max WoC = 25% of tool diameter
>
>
> G20   ; inches rather than metric
> G90   ; absolute coordinates
> G92.1 ; no offsets
> G30   ; ensure in a good place
> G54   ; set coordinate system
> G17   ; active plane is XY
>
> T#<_toolNum> M6 G43 H#<_toolNum>
> #<_toolDia> = #5410
> #<_toolRad> = [#<_toolDia> / 2]
> #<_toolWoC> = [#<_toolDia> * #<_WocFact>]       ; calculate Width of
> Cut ; calculate # turns with allowed maximum WoC
> #<_turns> = [FUP[[#<_pocketRad> - #<_toolRad>] / #<_toolWoC>] ] ;
> number of turns to pocket circle
> ; adjust WoC downwards to get exact total cut
> (debug,#<_toolWoC> is maximum WoC)
> #<_toolWoC> = [[#<_pocketRad> - #<_toolRad> - #<_toolWoc>] /
> #<_turns>] (debug,#<_toolWoC> is adjusted WoC)
> #<_toolWoC> = [[#<_pocketRad> - #<_toolRad> - #<_toolWoc>] /
> #<_turns>] (debug,#<_toolWoC> is actual WoC)
> ; first helix down in the middle of the pocket
> ; the diameter of the helix is the tool diameter + stepover
> #<_helixTurns> = FUP[[#<_pocketZ> - #<_finalZ>]/ #<_toolDoC>]
> ; adjust DoC to get integral number of turns
> #<_toolDoC> = [-[#<_pocketZ> + #<_finalZ>]/#<_helixTurns>]
> (debug,#<_helixTurns> helix turns)
> (debug,#<_toolDoC> adjusted DoC)
> #<_helixFeed> = [#<_feedIPM> / 2] ; feed slower in helix
> M3 S#<_feedRPM>  ; set spindle RPM
> F#<_helixFeed>   ; set feed IPM
> G0 X#<_pocketX> Y#<_pocketY> Z#<_pocketZ>
> G3 I#<_toolWoC> Z#<_finalZ> P#<_helixTurns>
>
> F#<_feedIPM>     ; set feed rate for clearing cuts
> ( we will approximate the desired spiral #<_segments>]segments)
> #<_segments> = 40
> #<_degrees> = [360 / #<_segments>]
> ( so to go #<_turns> requires #<_segments> * #<_turns> moves)
> #<_moves> = [#<_segments> * #<_turns>] ; # turns to clear pocket
> #<_currentZ> = #<_pocketZ>
> (debug,#<_currentZ> initial currentZ)
> o200 repeat [#<_helixTurns>]
> G90
> G0 X#<_pocketX> Y#<_pocketZ>
> #<_currentZ> = [#<_currentZ> - #<_toolDoC>]
> G0 Z#<_currentZ>
> G91 G1 X#<_toolWoC> Y0 ; offset from pocket centre by WoC
> G92 X#<_toolWoC> Y0    ; offset coordinate system
>
> o100 repeat [#<_moves>]
> (we must increase the radius of each segment by [#<_toolWoC> /
> #<_segments>]) (following magic move is in polar coordinates)
> g91 G1 @[#<_toolWoC> / #<_segments>] ^[#<_degrees>]
>
> o100 endrepeat
>
> G92.1 ; reset coordinate offset
> G90   ; absolute coordinates
> G91.1 ; absolute arc mode
>
> (do a real circle at to finish current pocket level)
> G1 X[#<_pocketRad> - #<_toolRad>]
> G3 I[#<_toolRad>-#<_pocketRad>-#<_pocketX>]
>
> o200 endrepeat
>
> G0 Z[#<_finalZ>+.005]        ; move off the pocket bottom to prevent
> marks G0 X#<_pocketX> Y#<_pocketY> ; move to centre of pocket
> M5                           ; spindle off
> G0 Z[#<_pocketZ>]            ; retract to top of pocket
> G30
> M30

Fur some reason, I had to convert the semi-colon's to full comments. 
Wordwrap in my editor of choice probably. But thats downright purty.  
Best looking backplot I've ever seen for a round pocket.  Thank you Ken.

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.
 - Louis D. Brandeis
Genes Web page 


___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] G-Code issue with IJ

2019-09-27 Thread Ken Strauss
I have been following this thread with interest and decided to make try at a 
parametric program to generate circular pockets. It is slightly different from 
some of the others discussed in that it uses polar coordinates to generate the 
desired spiral.

It has been tested extensively (one successful run with one set of parameters 
on one machine) so exercise extreme caution! That said, it sounds smooth on my 
Tormach and I would appreciate any questions, comments or suggestions for 
improvements.

(modified KRS 27 Sep 19)
(Based on: https://gist.github.com/reox/a60c67db53eb563a4f8e)
#<_pocketDia>= 1.5
#<_pocketRad> = [#<_pocketDia> / 2]
#<_pocketX>  = 0.000
#<_pocketY>  = 0.000
#<_pocketZ>  = 0.000
#<_finalZ>   = -0.5


#<_toolNum>  = 43
#<_feedIPM>  = 40
#<_feedRPM>  = 
#<_toolDoC>  = 0.1
#<_WoCfact>  = 0.25 ; max WoC = 25% of tool diameter


G20   ; inches rather than metric
G90   ; absolute coordinates
G92.1 ; no offsets
G30   ; ensure in a good place
G54   ; set coordinate system
G17   ; active plane is XY

T#<_toolNum> M6 G43 H#<_toolNum>
#<_toolDia> = #5410
#<_toolRad> = [#<_toolDia> / 2]
#<_toolWoC> = [#<_toolDia> * #<_WocFact>]   ; calculate Width of Cut
; calculate # turns with allowed maximum WoC
#<_turns> = [FUP[[#<_pocketRad> - #<_toolRad>] / #<_toolWoC>] ] ; number of 
turns to pocket circle
; adjust WoC downwards to get exact total cut
(debug,#<_toolWoC> is maximum WoC)
#<_toolWoC> = [[#<_pocketRad> - #<_toolRad> - #<_toolWoc>] / #<_turns>]
(debug,#<_toolWoC> is adjusted WoC)
#<_toolWoC> = [[#<_pocketRad> - #<_toolRad> - #<_toolWoc>] / #<_turns>]
(debug,#<_toolWoC> is actual WoC)
; first helix down in the middle of the pocket
; the diameter of the helix is the tool diameter + stepover
#<_helixTurns> = FUP[[#<_pocketZ> - #<_finalZ>]/ #<_toolDoC>]
; adjust DoC to get integral number of turns
#<_toolDoC> = [-[#<_pocketZ> + #<_finalZ>]/#<_helixTurns>]
(debug,#<_helixTurns> helix turns)
(debug,#<_toolDoC> adjusted DoC)
#<_helixFeed> = [#<_feedIPM> / 2] ; feed slower in helix
M3 S#<_feedRPM>  ; set spindle RPM
F#<_helixFeed>   ; set feed IPM
G0 X#<_pocketX> Y#<_pocketY> Z#<_pocketZ>
G3 I#<_toolWoC> Z#<_finalZ> P#<_helixTurns>

F#<_feedIPM> ; set feed rate for clearing cuts
( we will approximate the desired spiral #<_segments>]segments)
#<_segments> = 40
#<_degrees> = [360 / #<_segments>]
( so to go #<_turns> requires #<_segments> * #<_turns> moves)
#<_moves> = [#<_segments> * #<_turns>] ; # turns to clear pocket
#<_currentZ> = #<_pocketZ>
(debug,#<_currentZ> initial currentZ)
o200 repeat [#<_helixTurns>]
G90
G0 X#<_pocketX> Y#<_pocketZ>
#<_currentZ> = [#<_currentZ> - #<_toolDoC>]
G0 Z#<_currentZ>
G91 G1 X#<_toolWoC> Y0 ; offset from pocket centre by WoC
G92 X#<_toolWoC> Y0; offset coordinate system

o100 repeat [#<_moves>]
(we must increase the radius of each segment by [#<_toolWoC> / #<_segments>])
(following magic move is in polar coordinates)
g91 G1 @[#<_toolWoC> / #<_segments>] ^[#<_degrees>]

o100 endrepeat

G92.1 ; reset coordinate offset
G90   ; absolute coordinates
G91.1 ; absolute arc mode

(do a real circle at to finish current pocket level)
G1 X[#<_pocketRad> - #<_toolRad>]
G3 I[#<_toolRad>-#<_pocketRad>-#<_pocketX>]

o200 endrepeat

G0 Z[#<_finalZ>+.005]; move off the pocket bottom to prevent marks
G0 X#<_pocketX> Y#<_pocketY> ; move to centre of pocket
M5   ; spindle off
G0 Z[#<_pocketZ>]; retract to top of pocket
G30
M30




___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users