Hurco BMC20 Dynomotion Retrofit - Page 20


Page 20 of 20 FirstFirst ... 1017181920
Results 381 to 397 of 397

Thread: Hurco BMC20 Dynomotion Retrofit

  1. #381
    Member
    Join Date
    Jun 2004
    Location
    Scotland
    Posts
    348
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Quote Originally Posted by Need TECH Help! View Post
    Hi m_C,
    The other day i was looking at flow control valves and found one that has an exhaust built into it. Need to check if they are one way. Also noticed the gauge on my machine pressure regulator was reading about 85-90psi and shop pressure is 100-110. Did a quick test and lowered pressure regulator to about 60psi on gauge this helped more and i did not notice any speed reduction. Going to swap out the gauge today and see if its bad.
    Just had a quick search, and this is the kind of valve I'm thinking off - https://www.airlines-pneumatics.co.u...ush-in/S070132
    They work by allowing a free flow of air into the cylinder, but restrict the exhausting, so the venting air acts as a cushion, however too high a pressure could also cause the problem you're having, so probably wise to check the pressure first.



  2. #382
    Member Need TECH Help!'s Avatar
    Join Date
    Dec 2007
    Location
    United States
    Posts
    471
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Hi Tom,
    I have tool 8 that i typed into text file and saved. When i do a tool change, say M6T5, the print out says "Tool Changed to Tool 8"

    http://www.homecncstuff.elementfx.com/


  3. #383
    Member Need TECH Help!'s Avatar
    Join Date
    Dec 2007
    Location
    United States
    Posts
    471
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Hi m_c,
    My gauge is only off about 5psi maybe. So it wasnt the issue. I would think that the cylinders are designed to work off of 90 psi. The manufacture sticker is worn off so i dont know for sure.
    Thanks for the link, if i cant get the built in air cushion to work i will try that valve.
    Troy

    http://www.homecncstuff.elementfx.com/


  4. #384
    Member TomKerekes's Avatar
    Join Date
    May 2006
    Location
    USA
    Posts
    3248
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Hi Troy,

    I have tool 8 that i typed into text file and saved. When i do a tool change, say M6T5, the print out says "Tool Changed to Tool 8"
    Obviously it should print 5 not 8.

    Please post the M6 Tool change C program that you are using with all the latest changes.

    Also show us how you have the M6 Action configured.

    Regards
    TK http://dynomotion.com


  5. #385
    Member Need TECH Help!'s Avatar
    Join Date
    Dec 2007
    Location
    United States
    Posts
    471
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Hi Tom,
    So when i was trouble shooting i had these 2 lines commented out in the M6 tool change C code keeping it from writing to text file.

    Code:
    persist.UserData[157] = persist.UserData[6];	// Update current tool number
    persist.UserData[161] = 0;	// toolchanger finished
    Now tool change is writing to text file as it should. In KMotionCNC Tool Setup the M6 is set to Exec./Wait.
    Also have a working C code for Referencing machine axis and the Tool Changer. The Tool Changer reference sequence rotates carousel to limit switch which is at tool 16 slot. Then it opens a text file called Tool_16.txt that has tool 16 saved in it and sets KmotionCNC as active tool 16. After this, Ccode opens the KFlopData.txt file that has last used tool, and sets KMCNC active tool to whats in this file, then rotates TC carousel to this tool slot. So far it seems to be working correctly.
    Attached are the C codes iam currently using. Iam sure its fairly sloppy coding but thats the extent of my understanding of Ccode.

    Troy

    Attached Files Attached Files
    http://www.homecncstuff.elementfx.com/


  6. #386
    Member
    Join Date
    May 2012
    Location
    canada
    Posts
    443
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Glad to hear you got it all working!

    FWIW most CNC's simply save the last position of the toolchanger and thats it, no referencing the toolchanger on each start up. Id probably set that up as an M code to recover from possible lost position rather then have the toolchanger going nuts every time you start the machine. But im sure what you have will work fine too if you dont mind the extra toolchanges every morning.

    The only point of saving the tool number to file was for the next start up. Since your using referencing the tool changer, you really didnt need to mess with saving or loading files at all. Just do your thing to find pocket 16, then set persist.UserData[157] = 16 and your good to go.



  7. #387
    Member Need TECH Help!'s Avatar
    Join Date
    Dec 2007
    Location
    United States
    Posts
    471
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Hi mmurray,

    The only point of saving the tool number to file was for the next start up. Since your using referencing the tool changer, you really didn't need to mess with saving or loading files at all. Just do your thing to find pocket 16, then set persist.UserData[157] = 16 and your good to go.
    I thought of this, but the sort of redundancy eliminates more human error on my part. It doesnt actually do a tool change, just rotates carousel to position.The limit switch on carousel is Hurco's original setup. They still calibrate there tool changer today, at least on there swing arm style. Haas carousel does a calibration at first machine start up also.
    Was going to ask how i could set tool 16 instead of calling on another text file, thanks, will give this a try. persist.UserData[157] = 16

    Troy

    http://www.homecncstuff.elementfx.com/


  8. #388
    Member
    Join Date
    May 2012
    Location
    canada
    Posts
    443
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Be careful moving carousel only. Things could get messed up if theres a tool left in spindle and it doesnt get put away in the right place. Wouldn't want to end up in some kind of situation where its trying to do a tool change with a tool in spindle, and current carosel pocket too. Might be safer to go through all the toolchange steps while referencing the carousel.

    I guess all machines are different. My Fadal has nothing to reference toolchanger, pockets are not even numbered. At my last shop we had a Fanuc with side mount toolchanger and that had nothing to reference as well, just relied on memory. We also had a Mazak 510 but that had a little different, it had a servo driven drum, and the servo drive had a battery backup for position so it always knew where it was. Seemed like the battery would always go dead at worst possible time, and was a pain to recover lol.



  9. #389
    Member Need TECH Help!'s Avatar
    Join Date
    Dec 2007
    Location
    United States
    Posts
    471
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Be careful moving carousel only. Things could get messed up if theres a tool left in spindle and it doesnt get put away in the right place. Wouldn't want to end up in some kind of situation where its trying to do a tool change with a tool in spindle, and current carosel pocket too. Might be safer to go through all the toolchange steps while referencing the carousel.
    This was my thought if machine was shut off with tool in spindle. If TC reference was allowed to do a tool change at position 16 and there is a tool in spindle and carousel that would cause a crash also. At least if it is not actually doing a tool change, just rotating carousel in position, and for some reason tool in spindle and tool slot in carousel did not match up, user would have an opportunity to see that tool slot has a tool in it without a tool change happening.

    Ya, i ran some Bridgeports/Fanuc that where a pain to get tool changer back into position if something failed. Sometimes had to reset all the tool locations. If there was a referencing for TC it would have made things a lot easier.

    http://www.homecncstuff.elementfx.com/


  10. #390
    Member
    Join Date
    May 2012
    Location
    canada
    Posts
    443
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    If you know of an issue, better to fix it properly so there cant be any problem. If you leave it to an operator to potentially see the problem and stop it, it will certainly cause a problem eventually. Probably the first or second time it happens lol. You really cant trust us operators with much lol.

    It should be really easy to do everything you want to reference safely. Just create a copy of your M6toolchange program, and use this as a starting point. Change step "9. Rotate Carousel" to simply rotate until you find that sensor and locate pocket 16. Then at the end of that program set the current tool, persist.UserData[157] = 16 and you should be good. If theres a tool in the spindle, it will put it in the right place before moving anything else. If its empty, no big deal.



  11. #391
    Member Need TECH Help!'s Avatar
    Join Date
    Dec 2007
    Location
    United States
    Posts
    471
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Did some more tests and found some Ccode issues.
    1. After i run my machine/ToolChanger reference Ccode.Then do a MDI tool change, the tool change sequence faults out at the point where the tool changer should move out to spindle. After i run my main INIT code to reset fault, the tool change sequence works fine.

    2. I did a simple Gcode test like this....
    G53G0Z0.
    M6T5
    G53G0Z-2.
    G53G0Z0.
    M30

    And after tool change i get a Following error on z axis when the G53G0Z-2. trys to execute. So i did a test by commenting out the Z axis position move in my M6ToolChange Ccode. And G code ran fine. Of course Z axis did not position for tool change.
    This is the Z axis move in the M6ToolChange code that i commented out....

    Code:
    // 4. Move to toolchange position Z-1.01inches from Reference Position
    	{
    		Move(Z, -20528);
    		while (!CheckDone(2))
    		WaitNextTimeSlice();	// wait until we are stopped
    	}


    Also tried using the below command to move Z axis but still had same issue of Following Error on Z axis.

    Code:
    MoveAtVel(2, -20528, 20000);
    	while (!CheckDone(2)) WaitNextTimeSlice(); // wait until we are stopped

    Any ideas what am i missing in my M6Tool change code?

    Code:
    #include "KMotionDef.h"
    #define TMP 10					// which spare persist to use to transfer data
    #include "KflopToKMotionCNCFunctions.c"
    //#define Z 2
    
    
    
    main()
    {
    	if (!ReadBit(137))
    		return 0;				// if in Estop, Exit program
    
    
    // 1. Determine how many pockets to rotate
    
    	int pockets = persist.UserData[6] - persist.UserData[157];	// pockets = requested tool - current tool
    
    	if (pockets == 0)
    		return 0;				// No toolchange needed, End
    	if (pockets >= 8)
    		pockets = -16 + pockets;	// If more then halfway CW, reverse
    	if (pockets <= -8)
    		pockets = 16 + pockets;	// If more then halfway CCW, reverse
    
    
    	persist.UserData[161] = 1;	// Toolchanger active disable feedhold button
    	ResumeCoordinatedMotion();	// Clear feedhold
    
    
    
    // 3. Turn off spindle
    
    	if (ReadBit(147) || ReadBit(148))	//check if spindle is running forward or reverse
    	{
    		SetBit(147);			// turn off spindle clockwise
    		SetBit(148);			// turn off spindle counterclockwise
    		while(fast_fabs(Spindle.TrueSpeedRPS)*60.0>5.0);//wait untiless than 5RPM
    		Delay_sec(.2);
    		ClearBit(147);
    		ClearBit(148);
    	}
    
    
    
    // 4. Move to toolchange position Z-1.01inches from Reference Position
    	{
    		MoveAtVel(2, -20528, 20000);
    	    while (!CheckDone(2)) 
            WaitNextTimeSlice(); // wait until we are stopped
    		//Move(Z, -20528);
    		//while (!CheckDone(2))
    		//WaitNextTimeSlice();	// wait until we are stopped
    	}
    
    // 5. Orientate
    
    	if (!ReadBit(1035) || !ReadBit(1037))		// if toolchanger slide is not home estop
    	{
    		MsgBox("E-Stop TC not Home",MB_OK|MB_ICONEXCLAMATION);
    		printf("E-stop Toolchanger not Home");
    		DoPC(PC_COMM_ESTOP);			// E-stop
    		
    	}
    
    
    	{
    		persist.UserData[155] = 1;	// Enable orientate speed override
    		SetBit(156);			// Kanalog Switch4 to turn on SpindleOrientateProxSensor
    		Delay_sec(0.1);			// Delay 0.1s
    		DAC(7, -16);			// set motor rpm approx 30
    		SetBit(147);			// spindle on CW        
    		Delay_sec(0.2);			// wait for spindle to reach speed  
    		while (!ReadBit(1038))
    			WaitNextTimeSlice();	// wait for SpindleOrientateProx signal
    		SetBit(48);				// Signal to VFD, set VFD to ZeroServoCommand
    		Delay_sec(0.90);		// Delay for spindle to stop at orientation that is set in VFD parameter
    	}
    
    
    	{
    
    		persist.UserData[155] = 0;	// Spindle speed normal
    		Delay_sec(0.75);		// wait before checking if successfull
    	}
    
    
    	while (!ReadBit(1035) || !ReadBit(1037))
    		WaitNextTimeSlice();	// Check TC is at home position.
    
    
    // 6. Tool Chnager OUT
    
    	SetBit(63);					// TC_OUT solenoid
    	Delay_sec(1.1);
    	ClearBit(63);				//TC_OUT solenoid
    	double TF = Time_sec() + 2;	// timeout in 2 seconds
    
    	while (!ReadBit(1034))		// Wait for TC_OUT limit switch
    	{
    		WaitNextTimeSlice();
    
    		if (Time_sec() > TF)	// Timed out?
    		{
    			if (MsgBox("E-Stop TC Not OUT", MB_OK | MB_ICONEXCLAMATION))
    			{
    	
    				DoPC(PC_COMM_ESTOP);//Estop
    				
    				persist.UserData[161] = 0;	// toolchanger finished
    				
    				return 0;		//exit program
    			}
    			else
    			{
    				TF = Time_sec() + 3;	// continue and timeout after 3 seconds
    			}
    		}
    
    	}
    
    
    // 7. Unclamp Tool
    
    	SetBit(59);					//Tool Release Solenoid
    	Delay_sec(.6);
    
    	double TF = Time_sec() + 2;	// timeout in 2 seconds    
    
    	while (!ReadBit(1039))		// Wait for ToolReleaseProxSensor
    	{
    		WaitNextTimeSlice();
    
    		if (Time_sec() > TF)	// Timed out?
    		{
    			if (MsgBox("E-Stop Tool Unclamp Failed",MB_OK|MB_ICONEXCLAMATION))
    			{
    				DoPC(PC_COMM_HALT);
    				persist.UserData[161] = 0;	// toolchanger finished
    				DoPC(PC_COMM_ESTOP);//Estop
    				return 0;		//exit program
    			}
    			else
    			{
    				TF = Time_sec() + 3;	// continue and timeout after 3 seconds
    			}
    		}
    
    	}
    
    
    // 8. Move Tool Changer DOWN
    
    	SetBit(61);					// TC_DOWN Solenoid
    	Delay_sec(0.9);
    	ClearBit(61);				//TC_DOWN solenoid
    
    	double TF = Time_sec() + 2;	// timeout in 2 seconds    
    
    	while (!ReadBit(1036))		// Wait for TC_DOWN Limit Switch
    	{
    		WaitNextTimeSlice();
    
    		if (Time_sec() > TF)	// Timed out?
    		{
    			if (MsgBox("E-Stop TC not DOWN",MB_OK|MB_ICONEXCLAMATION))
    			{
    				DoPC(PC_COMM_HALT);
    				persist.UserData[161] = 0;	// toolchanger finished
    				DoPC(PC_COMM_ESTOP); //Estop
    			
    				return 0;		//exit program
    			}
    			else
    			{
    				TF = Time_sec() + 3;	// continue and timeout after 3 seconds
    			}
    		}
    
    	}
    // 9. Rotate Carousel 
    
    	while (pockets >= 1)		// Rotate Turret CW whatever number of pockets
    	{
    		SetBit(49);				// TC Carousel Motor On CW
    		while (!ReadBit(1033))
    			WaitNextTimeSlice();	// Wait for CarouselMotorProxSensor
    		Delay_sec(.4);
    		ClearBit(49);			// TC_Carousel CW Motor Off
    		pockets = pockets - 1;
    	}
    
    	while (pockets <= -1)		// Rotate Turret CCW whatever number of pockets
    	{
    		SetBit(50);				// TC Carousel Motor On CCW
    		while (!ReadBit(1033))
    			WaitNextTimeSlice();	// Wait for CarouselMotorProxSensor
    		Delay_sec(.4);
    		ClearBit(50);			// TC_Carousel CCW Motor Off
    		pockets = pockets + 1;
    	}
    
    
    // 10. Move Tool Changer UP
    
    	SetBit(60);					// TC_UP Solenoid
    	Delay_sec(0.9);
    	ClearBit(60);				//TC_UP solenoid
    	double TF = Time_sec() + 2;	// timeout in 2 seconds    
    
    	while (!ReadBit(1037))		// Wait for TC_UP Limit Switch
    	{
    		WaitNextTimeSlice();
    
    		if (Time_sec() > TF)	// Timed out?
    		{
    			if (MsgBox("E-Stop TC not UP",MB_OK|MB_ICONEXCLAMATION))
    			{
    				DoPC(PC_COMM_HALT);
    				persist.UserData[161] = 0;	// toolchanger finished
    				DoPC(PC_COMM_ESTOP);//Estop
    				
    				return 0;		//exit program
    			}
    			else
    			{
    				TF = Time_sec() + 3;	// continue and timeout after 3 seconds
    			}
    		}
    
    	}
    
    // 11. Clamp tool
    
    	ClearBit(59);				//Tool Release Solenoid
    
    	double TF = Time_sec() + 2;	// timeout in 2 seconds
    
    	while (ReadBit(1039))		// Wait for Tool Release Proximity Sensor
    	{
    		WaitNextTimeSlice();
    
    		if (Time_sec() > TF)	// Timed out?
    		{
    			if (MsgBox("E-Stop Tool Clamp Failed",MB_OK|MB_ICONEXCLAMATION))
    			{
    				DoPC(PC_COMM_HALT);
    				persist.UserData[161] = 0;	// toolchanger finished
    				DoPC(PC_COMM_ESTOP);//Estop
    				
    				return 0;		//exit program
    			}
    			else
    			{
    				TF = Time_sec() + 3;	// continue and timeout after 3 seconds
    			}
    		}
    
    	}
    
    
    // 12. Tool Changer IN
    	SetBit(62);					// TC_IN solenoid
    	Delay_sec(0.7);
    	ClearBit(62);				// TC_IN solenoid
    
    
    	double TF = Time_sec() + 2;	// timeout in 2 seconds
    
    	while (!ReadBit(1035))		// Check TC_IN limit switch
    	{
    		WaitNextTimeSlice();
    
    		if (Time_sec() > TF)	// Timed out?
    		{
    			if (MsgBox("E-Stop TC not IN",MB_OK|MB_ICONEXCLAMATION))
    			{
    				DoPC(PC_COMM_HALT);
    				persist.UserData[161] = 0;	// toolchanger finished
    				DoPC(PC_COMM_ESTOP);//Estop
    				
    				return 0;		//exit program
    			}
    			else
    			{
    				TF = Time_sec() + 3;	// continue and timeout after 3 seconds
    			}
    		}
    
    	}
    
    
    
    // 13. Set Variables
    
    	persist.UserData[157] = persist.UserData[6];	// Update current tool number
    	persist.UserData[161] = 0;	// toolchanger finished
    
    	printf("Tool changed to T%d\n", persist.UserData[157]);	// send message to console
    
    
    // 14. Write current tool # disk
    
    	FILE *f;
        	char s[256];
        	
        	float CTool = persist.UserData[157]; // s value from g code       
        	
        	f=fopen("c:\\KMotionFiles\\KFlopData.txt","wt");
        	fprintf(s,"%f\n",CTool);
        	fclose(f);
    
    //15.
    ClearBit(156);
    ClearBit(48);
    ClearBit(147);
    ClearBit(148);
    //SetBit(147);
    //SetBit(148);
    Delay_sec(.3);
    }
    Thanks,
    Troy

    http://www.homecncstuff.elementfx.com/


  12. #392
    Member
    Join Date
    May 2012
    Location
    canada
    Posts
    443
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Quote Originally Posted by Need TECH Help! View Post
    Now tool change is writing to text file as it should. In KMotionCNC Tool Setup the M6 is set to Exec./Wait.Troy
    Try setting it to Exec/Wait/Sync. I think any time the C-program causes axis motion you are supposed to use the Sync option. That might be causing part of your problem



  13. #393
    Member Need TECH Help!'s Avatar
    Join Date
    Dec 2007
    Location
    United States
    Posts
    471
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Setting to Exec/Wait/Sync fixed the issue when running Gcode. Thanks.
    Still looking at what is causing first tool change fail after running my referencing program.

    http://www.homecncstuff.elementfx.com/


  14. #394
    Member Need TECH Help!'s Avatar
    Join Date
    Dec 2007
    Location
    United States
    Posts
    471
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Found problem to tool change fail after referencing. For some reason the IN and UP solenoid bits are not clearing. It is in the code after the limit switch for each solenoid is active then i ClearBit for each solenoid. Work around i found was simply adding the ClearBit for each solenoid at end of referencing program. Tests ok so far.

    http://www.homecncstuff.elementfx.com/


  15. #395
    Member Need TECH Help!'s Avatar
    Join Date
    Dec 2007
    Location
    United States
    Posts
    471
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Here is a video of tool changer. Still need to fine tune the pneumatics.


    http://www.homecncstuff.elementfx.com/


  16. #396
    Member
    Join Date
    May 2012
    Location
    canada
    Posts
    443
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Thats awesome, nice work! I like how your toolchanger has an up and down movement too. I thought that was odd at first, why not just use Z axis?? But your machine stores the tools up higher, and out of the way. And I like how the toolchange position is at the end of the travel, not 4 inches away from it like mine. I almost crashed once because of that.

    Pneumatics seem fine to me. I love those iscar ER32 holders with the flush bearing nut too, my favorite holders



  17. #397
    Member TomKerekes's Avatar
    Join Date
    May 2006
    Location
    USA
    Posts
    3248
    Downloads
    0
    Uploads
    0

    Default Re: Hurco BMC20 Dynomotion Retrofit

    Hi Troy,

    Love the video. Tool change in ~ 5sec! Excellent work as always for you.

    Regards
    TK http://dynomotion.com


Page 20 of 20 FirstFirst ... 1017181920

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

Hurco BMC20 Dynomotion Retrofit

Hurco BMC20 Dynomotion Retrofit

Hurco BMC20 Dynomotion Retrofit