ATC persistent position

More
01 Aug 2015 03:35 #61079 by bobobo
I have an carousel tool changer that does not have any sensor at all for pocket number neither binary code nor "0-pocket index".
The carousel is rotated by a Geneva Wheel and there is a sensor on the motor that signals that it has made one increment (or decrement).

In the old control (Meldas M0) the actual pocket number were stored in a persistent memory block.
Can this be made in Linuxcnc? How?
Or should I fit sensors to the carousel to be able to read position or at least a home switch to be able to home the carousel after restart?

I am also considering if i should make the ATC sequence with classicladder or remap?
In the old control each motion valve was tied to a M-code, and M6 executed a sequence of M codes. But I think classicladder would be easier to make a robust sequence with sensor feedback and timeouts for each motion? Any thoughts on pros/cons of ladder vs remap for a carousel changer?

Please Log in or Create an account to join the conversation.

More
01 Aug 2015 10:11 - 01 Aug 2015 10:11 #61089 by sspeed33317
Replied by sspeed33317 on topic ATC persistent position
Does Z axis have to move during your tool change?

Or does the carousel move up and own?

AndyPugh and TKamsker have been the ones working on tool changer solutions.

But from what I have seen if you don't have to move your axis during a tool change is the easier to set up.
Last edit: 01 Aug 2015 10:11 by sspeed33317.

Please Log in or Create an account to join the conversation.

More
01 Aug 2015 17:12 #61093 by ArcEye
Replied by ArcEye on topic ATC persistent position
Hi

There are 3 toolchangers I wrote here,
wiki.linuxcnc.org/cgi-bin/wiki.pl?Contri...oolchanger_component

plus 2 adaptations of the Orac toolchanger specifically for Emco's

The Boxford does not have a home sensor and you tell it what tool is current by doing a dummy M6TN to set it and it is automatic thereafter.

The Orac reads the tool and sets it, the Triac likewise, just by a different method.

If you have a knowledge of C, they are adaptable, as the Emco variants demonstrate.
A change to iocontrol is necessary to trigger the dummy toolchange, or you could just use M61

AndyPugh and TKamsker have been the ones working on tool changer solutions


Andy and Thomas has been discussing Thomas's specific caroussel toolchanger which required the orient component
to align the spindle for toolchanges, don't know if that is relevant to you?

In the old control (Meldas M0) the actual pocket number were stored in a persistent memory block.
Can this be made in Linuxcnc? How?


Any parameter in the .vars file is persistent, applies to ones added to it too.

So could just be as simple as issuing M61 Q#5999 after startup for instance

regards

Please Log in or Create an account to join the conversation.

More
01 Aug 2015 18:51 #61097 by bobobo
Replied by bobobo on topic ATC persistent position
I found this in ladder section of integrators manual:
Note
When you assign a value to a variable with the variable assignment block the value is retained until you assign a new value
using the variable assignment block. The last value assigned will be restored when LinuxCNC is started.


I do not need to move any axis during tool change, only need to check that Z is in top Before changing.

So I guess I can make the full change by ladder logic. I will try and see what problems I encounter...

Please Log in or Create an account to join the conversation.

More
02 Aug 2015 05:48 #61114 by andypugh
Replied by andypugh on topic ATC persistent position

Andy and Thomas has been discussing Thomas's specific caroussel toolchanger which required the orient component
to align the spindle for toolchanges, don't know if that is relevant to you?


I have also written what I hope is a generally-applicable HAL component for the most common forms of tool change carousel / turret.

Hopefully it will be released with 2.7, but unfortunately the demo config shows up a bug in remap with MDI and so might not get in.

Please Log in or Create an account to join the conversation.

More
04 Aug 2015 18:44 #61155 by akb1212
Replied by akb1212 on topic ATC persistent position
I'm also about to try to tackle the ATC on my Maho MH600E.

So bobobo, I hope to be able to use your config for inspiration if you do it before I do.

BTW, what exact mill do you have? I'd like to learn exactly what kind of ATC it has and how much it differs from mine.

Mine has a hydraulically driven arm to change the tool, so no movement of the axes during change. But I do need to set it in a specific position before I start to do the tool change, in particular the head position is important (as the head moves in and out on a ram, and the ATC position isn't adjustable).

I have been looking at your general component Andy, but there are several reasons for me not to use it AFAIK. The most important one is the error handling. I did once (through work) attend a one week PLC course with some ladder programming. And the teacher there had long experience from industrial use of PLC's. And he was very clear that your main program should be about 10 percent of your code. The rest should be error and exception handling.
And as far as I understand this is where the step by step component by Andy comes short. How do you program inn all the different error scenarios? I'm not saying it doesn't handle them, as I'm not an experienced programmer. But that means I'm not able to do this part as I don't know how to "program" all the error checking in to that sequence.

My changer is quite complicated to use, and have different modes of working. One (the normal) is to bring out the next tool to be inserted in one position of the arm, remove the one in the spindle with the second hand of the arm, twist the arm and insert the tool in the first hand and then move back to put the removed tool in to the carousel.

The alternative is when the tool is above 80 mm in diameter (up to 100 I think it was). There is not enough space between the two hands on the arm and it needs to swing the arm out to remove the first tool, then swing back in and park it (in a slot with no tools in the neighbouring spots due to space limitations), then get the new tool from the carousel and swing out to the spindle and insert it.

That means the steps needed will change dynamically. Did you make the sequencer able to change the steps as needed Andy?
I'm not preppared to give up the posibility to use 100 mm dia tools..... so I do have to use a method that will allow the different methods to be used. And I don't think it's a good idea to use the last scenario only.... the time for a tool change would be so long it would be a nightmare.

I just wanted to hightlight these potential issues for you when deciding what route to take as far as what method to use for controlling your ATC's.

Anders

Please Log in or Create an account to join the conversation.

More
04 Aug 2015 19:59 #61156 by andypugh
Replied by andypugh on topic ATC persistent position

I have been looking at your general component Andy, but there are several reasons for me not to use it AFAIK. The most important one is the error handling.


I think we are talking about different things.
The "carousel" component only provides a way to determine carousel position, (optionally) home it to an index sensor and provide a motor direction signal.
In the sample config the rest of the sequencing is done in a G-code routine. This is where the error handing happens.

The generic sequencer component is now largely abandoned (especially as I lost my HDD recently), though even that provided an error signal output if the required completion signal of a step wasn't received inside the programmed timeout period.

Please Log in or Create an account to join the conversation.

More
05 Aug 2015 18:42 #61159 by akb1212
Replied by akb1212 on topic ATC persistent position
You are correct, we are talking about different things. I wasn't talking about the carousel component but the sequencer.

And if you tell us it's abbandoned I guess there is no point in even consider using it.

At first I was thinking of using the carousel component. My carousel doesn't have individual position sensors (although I'm considering implementing that to simplify things), only index at position 1.

But I will use ladder anyway, so there might not be a good idea to combine a component in to the mix? I will need to have logic to control the positioning of the large tools (make sure both of the neighboroughing spots are free) too. And that's not so easy to do in the original carousel component.

Anders

Please Log in or Create an account to join the conversation.

More
05 Aug 2015 18:51 #61160 by andypugh
Replied by andypugh on topic ATC persistent position

You are correct, we are talking about different things. I wasn't talking about the carousel component but the sequencer.
And if you tell us it's abbandoned I guess there is no point in even consider using it.

I will polish it up and push it, it might find uses. But it lacks conditional execution and that seems to limit applications. I could add that, but then I am creating a programming language even less friendly than G-code...

At first I was thinking of using the carousel component. My carousel doesn't have individual position sensors (although I'm considering implementing that to simplify things), only index at position 1.


Is that _all_ it has? The carousel comp can cope with index + a pulse as each tool goes past (two sensors), but not index and absolute rotation. The main point of the comp is to handle typical carousel feedback. Index + absolute rotations looks a lot like a rotary machine axis, and is probably best configured that way.

Please Log in or Create an account to join the conversation.

More
05 Aug 2015 18:58 #61161 by BigJohnT
Replied by BigJohnT on topic ATC persistent position
I use Classicladder to control my tool turret with an absolute encoder.

JT

Please Log in or Create an account to join the conversation.

Time to create page: 0.186 seconds
Powered by Kunena Forum