Tom
I used the program in 435.d. The line I am referring to is not shown in what you posted. I will try to get a screenshot of where I found the issue and post it this evening.
Thanks
Ben
Sent from my E6910 using Tapatalk
Hi Ben,
Thanks for posting. But I don't see a problem in the lastest Version:
<>\C Programs\ToolChanger\Linear4ToolHolders\Linear4Too lHolders Rev2.c
I see this which looks correct.
Code:// - Load new Tool (Spindle must be empty) int LoadNewTool(int Tool) { // - Move to position of requested tool // - Rapid move to absolute position of new tool only in X and Y if (MoveXY(ToolPositionX(Tool),HOLDER_Y,SlowSpeed)) return 1; // - Move to tool Z position at TOOL_RETRACT_SPEED_Z if (MoveZ(HOLDER_Z,SlowSpeed)) return 1;
Regards
TK http://dynomotion.com
Tom
I used the program in 435.d. The line I am referring to is not shown in what you posted. I will try to get a screenshot of where I found the issue and post it this evening.
Thanks
Ben
Sent from my E6910 using Tapatalk
I copied this from the wiki and it shows the error I was referring to.
// Move Axis XY at specified Speed and wait until complete
// return 0 = success, 1 if axis disabled
int MoveXY(float x, float y, float Speed)
{
MoveAtVel(AXISX, x * CNT_PER_MM_X, Speed * CNT_PER_MM_X);
MoveAtVel(AXISZ, y * CNT_PER_MM_Y, Speed * CNT_PER_MM_Y);
You will see the y move calls axisz but determines the move based on y.
Ben
Sent from my E6910 using Tapatalk
Tom
I am having a few issues I need to address concerning my linear atc program and other safety features with a tool changer. I was running a program and it went to make a tool change and it errored out because it didn't release the claw because I had not turned on the air. That is great because it prevents things from being destroyed. Unfortunately I ran the program a bit later and didn't require a tool change. Once things started running I realized the air still wasn't on so no air seal. I hit the air valve and realized a moment later the tool ejected from the spindle while running. The vfd shut down and was protected but the spindle was locked up hard and I believed probably destroyed. Luckily when I got up the nerve to start taking the spindle apart I found the problem and the spindle is fine. All my fault but I need to make sure it can't happen again.
First when the tool changer program errors out because the claw doesn't eject it leaves the tool release bit on. I looked at the program but am not sure how to tell it to turn that bit back off when it sends the error message.
I would also like to have kmotion cnc check that the tool release bit is off before it will run a program.
Last I would like to tell the bit to turn off any time m3 is executed. I think that should just be a matter of putting a clear bit command in the spindle on program but I'm not sure if that is appropriate or the best way to do it.
Any help would be appreciated and i am open to any better suggestions to accomplish the same outcome.
Thank you
Ben
Sent from my E6910 using Tapatalk
Hi Ben,
Please post your Tool Change Program and your M3 Program.
What do you mean by: "I hit the air valve"?
Which bit is the "tool Release Bit"?
Regards
TK http://dynomotion.com
Thanks for getting back with me. The files you requested should be attached.
The air to the machine is turned off with a manual ball valve. I had it turned off when I ran the program. When I noticed it was off I turned the valve on because of the bearings air seal. The worst part is I new that this whole senerio could happen and did it anyway.
The tool release bit is 12. Spindle on is 10.
My goal is to somehow make sure both bits are never on at the same time. If 10 is on it would be good to not allow 12 for at least 5 seconds. I even thought maybe they could be watched from a forever loop in the initiation file and stop all motion and send a error message while also keeping them from both being on. Maybe force them both off. I don't know really what would be the best way or how to accomplish it.
Thank you
BenOnCWJog.txtMySpindleDefs.txtLinear4ToolHolders Rev 2 .txt
Sent from my E6910 using Tapatalk
From what I understand this code detected the Claw was not "loose"
So if you want the claw re-engaged I think you would add:Code:// - Read CLAW_LOOSE bit to see whether the tool is loose, to make a safe Z move without // destroying tool holder // - If CLAW_LOOSE bit is high, something has gone wrong; // halt everything and display message indicating failure if (!ReadBit(CLAW_LOOSE)) { printf("Claw Loose Error\n"); MsgBox("Claw Loose Error\n", MB_ICONHAND | MB_OK); return 1; }
ClearBit(CLAW_EJECT);
Before printing the error message.
To watch for both on in a forever loop I think the test would be:
Code:if (ReadBit(SPINDLECW_BIT) && ReadBit(CLAW_EJECT)) { ClearBit(SPINDLECW_BIT); DoPC(PC_COMM_ESTOP); printf("EStop - Spindle active with Claw Released\n"); }
Regards
TK http://dynomotion.com
Thank you Tom. I think that will do exactly what I want. I will test it out and let you know how it goes.
Ben
Sent from my E6910 using Tapatalk