[Home]MazakToolChange

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org

Difference (from prior major revision) (minor diff)

Added: 90a91,122

1. Tool changer sensor truth table



The bits are ordered from the outermost sensor to the innermost. Bit 0 = outermost ... bit 4 = innermost.
Looking at the index plate, a "hole" = 0, no hole = 1.

||Tool Position||bit 4||bit 3||bit 2||bit 1||bit 0||
||0||0||0||0||0||0||
||1||0||0||0||0||1||
||2||0||0||0||1||0||
||3||0||0||0||1||1||
||4||0||0||1||0||0||
||5||0||0||1||0||1||
||6||0||0||1||1||0||
||7||0||0||1||1||1||
||8||0||1||0||0||0||
||9||0||1||0||0||1||
||10||0||1||0||1||0||
||11||0||1||0||1||1||
||12||0||1||1||0||0||
||13||1||0||0||0||0||
||14||1||0||0||0||1||
||15||1||0||0||1||0||
||16||1||0||0||1||1||
||17||1||0||1||0||0||
||18||1||0||1||0||1||
||19||1||0||1||1||0||
||20||1||0||1||1||1||
||21||1||1||0||0||0||
||22||1||1||0||0||1||
||23||1||1||0||1||0||
||24||1||1||0||1||1||

So, this is basically a binary sequence, except that bit 4 has a weight of 13 instead of 16.

The M5 Mazak Tool Changer Logic

Contents

1. Tool Change Sequence
2. Tool Transfer Arm Solenoid and Limit Switch Table
3. Tool changer sensor truth table

1. Tool Change Sequence

The following flow chart assumes that the spindle has been moved or is moving to tool change position. Tool change position is commanded by an M6 code if there is a line in the [EMCIO] section of the INI file that reads.

TOOL_CHANGE_POSITION = "xpos" "ypos" "zpos"

I've tested this code and it does work to move the machine each time a tool is changed. I seem to remember something where you can put a placeholding character so that only one axis need to move.

We will need to figure out the actual z position. The Fanuc M6 control does this by reading a parameter.

 *Spindle decel started
 *Gear shift speed established
 *Gear shift ready
 *Gear shift started
 *Neutral gear established
 *Spindle orient started
 *Spindle orient completed
 *Arm rotate 60 CW started
 *Arm rotate 60 CW completed
 *Tool unclamp command
 *Tool unclamp started
 *Tool unclamp completed
 *Tool unclamped
 *0.3 sec delay
 *Arm extend command
 *Arm extension started
 *Arm extension completed
 *Arm 180 CCW started
 *Arm 180 CCW rotation completed
 *RTTC on
 *EXTC off
 *Y = ARXT off
 *RETC on
 *Arm Retraction started
 *Arm retraction completed
 *Tool clamp command
 *Tool clamp started
 *Tool clamp completed
 *Y = 60 CW  off
 *Y= 180 CCW off
 *60 CCW = LS 
 *180 CW = LS

concurrent ops
tool unload to magazine spindle TC = M8? off Spindle unorient command

				Spindle unorient started	
				Spindle unorient completed
				Spindle motor start(actually
				must happen after 0.3 delay)
				Gear shift ready
				Gear shifting time
				0.3 sec delay
				Gear shift to low  or high
				( if speed <= 1000 gear = low
				else if speed >1000 gear = high
				if gear = low then multiply spindle speed by 4. 
				Spindle speed up
				Return control to EMC

2. Tool Transfer Arm Solenoid and Limit Switch Table

DescriptionSOL1SOL2SOL3SOL4 LS1LS2LS3LS4LS5LS6

DOWNUP60 CW180 CCW 60 CW60 CCW180 CCW180 CCWUPDOWN
ARM INITIAL POSITIONXOXX XOOXOX
ARM 60 ROTATION COMMANDXOOX XOOXOX
STARTXOOX |XXOXOX
ARM 60 ROTATION COMPLETEDXOOX OXOXOX
ARM EXTENSION COMMANDOXOX OXOXOX
STARTOXOX OXOXXX
ARM EXTENSION COMPLETEDOXOX OXOXXO
ARM 180 ROTATION COMMANDOXOO OXOXXO
STARTOXOO OXXXXO
ARM EXTENSION COMPLETEDOXOO OXXOXO
ARM RETRACTION COMMANDXOOO OXXOXO
STARTXOOO OXXOXX
ARM RETRACTION COMPLETEDXOOO OXXOOX
ARM 60 ROTATION COMMANDXOXX OXXOOX
STARTXOXX XXXXOX
ARM 60 ROTATION COMPLETEDXOXX XOOXOX

3. Tool changer sensor truth table

The bits are ordered from the outermost sensor to the innermost. Bit 0 = outermost ... bit 4 = innermost. Looking at the index plate, a "hole" = 0, no hole = 1.

Tool Positionbit 4bit 3bit 2bit 1bit 0
000000
100001
200010
300011
400100
500101
600110
700111
801000
901001
1001010
1101011
1201100
1310000
1410001
1510010
1610011
1710100
1810101
1910110
2010111
2111000
2211001
2311010
2411011

So, this is basically a binary sequence, except that bit 4 has a weight of 13 instead of 16.


LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org
This page is read-only. Follow the BasicSteps to edit pages. | View other revisions
Last edited May 17, 2006 8:46 pm by SWPadnos (diff)
Search:
Published under a Creative Commons License