6 axis wire edm

Moderators: TomKerekes, dynomotion

Rasta
Posts: 41
Joined: Fri Mar 08, 2019 8:24 pm

Re: 6 axis wire edm

Post by Rasta » Thu Dec 02, 2021 7:19 am

Thank you very much for the prompt reply, the issue is fixed now .
However there is another problem that I have ,and if you are so kind to give me some advice.
I want to start the wire motor from the kmotionCnc screen , (easy enough using a button ) however I would like to have a
DRO that would display the speed of the wire in meters per minute ,
Can you please give us some guidance?
Thank you
Mariano

User avatar
TomKerekes
Posts: 2676
Joined: Mon Dec 04, 2017 1:49 am

Re: 6 axis wire edm

Post by TomKerekes » Thu Dec 02, 2021 3:55 pm

Hi Mariano,

You might look at this.

Regards,

Tom Kerekes
Dynomotion, Inc.

Rasta
Posts: 41
Joined: Fri Mar 08, 2019 8:24 pm

Re: 6 axis wire edm

Post by Rasta » Thu Dec 02, 2021 6:18 pm

Hi Tom, thank you for your reply,
Sorry that I may hav not explained properly .The speed of the wire is taken by turning a pulley that is coupled
To a motor , in which there is a index mark ,( similar to a lathe speed indicator , )
Sorry about the misunderstanding
Regards
Mariano

User avatar
TomKerekes
Posts: 2676
Joined: Mon Dec 04, 2017 1:49 am

Re: 6 axis wire edm

Post by TomKerekes » Thu Dec 02, 2021 6:28 pm

Hi Mariano,

Measure the time between index marks and compute the speed.
Regards,

Tom Kerekes
Dynomotion, Inc.

Rasta
Posts: 41
Joined: Fri Mar 08, 2019 8:24 pm

Re: 6 axis wire edm

Post by Rasta » Thu Dec 02, 2021 6:39 pm

Hi Tom, can you please provide guidance on how to implement this measurement of time and translate
It in the screen? , including diagram of circuit ,and c program
Regards
Mariano

User avatar
TomKerekes
Posts: 2676
Joined: Mon Dec 04, 2017 1:49 am

Re: 6 axis wire edm

Post by TomKerekes » Thu Dec 02, 2021 7:21 pm

Hi Mariano,

We charge $250/hr with a 2 hr minimum to do custom programming and custom circuit design. If you would like us to send an invoice contact our support.

Aren't you able to do some research and try it on your own? Then ask specific questions?
Regards,

Tom Kerekes
Dynomotion, Inc.

Rasta
Posts: 41
Joined: Fri Mar 08, 2019 8:24 pm

Re: 6 axis wire edm

Post by Rasta » Tue Mar 29, 2022 8:08 am

Hi Tom;
The machine outputs are almost working properly at the moment , the reason I say almost is because I have
Observed a couple of issues with the Kanalog optho outputs, these are:
When I turn the Kflop on ,the outputs turn on for about 15 sec , then turn themselves off after the kflop boots up ,
Also if I turn the outputs on with the KmotionCNC ( have a few buttons in the screen to turn them on ) , and if for any reason communication is lost between the Kflop and the Pc , the outputs are still on until the kflop is reset , and it could be meters away inside a cabinet.
My question is , : are there any way to get Kflop to poll the computer and if there is no communication , to turn off all the outputs , or at least the , important ones,
In regard to the 15 seconds turn on of the outputs before the kflop boots , I guess that I can fit a timer that will disable those outputs during that 15 seconds period, unless there is a more elegant way of doing it
Thank you for your help

User avatar
TomKerekes
Posts: 2676
Joined: Mon Dec 04, 2017 1:49 am

Re: 6 axis wire edm

Post by TomKerekes » Tue Mar 29, 2022 4:50 pm

When I turn the Kflop on ,the outputs turn on for about 15 sec , then turn themselves off after the kflop boots up
It should be more like 3-4 seconds not 15 but yes, Kanalog outputs are indeterminate until after KFLOP boots. There is a SWE output that is guaranteed to remain off until after KFLOP is booted and configures Kanalog. This should be used to keep anything critical disabled. See here and here.
Also if I turn the outputs on with the KmotionCNC ( have a few buttons in the screen to turn them on ) , and if for any reason communication is lost between the Kflop and the Pc , the outputs are still on until the kflop is reset , and it could be meters away inside a cabinet.
My question is , : are there any way to get Kflop to poll the computer and if there is no communication , to turn off all the outputs , or at least the , important ones,
KFLOP maintains a counter StatusRequestCounter that increments each time the PC request status. This can be monitored and if it doesn't change for a period of time assume the PC, App, or Communication has failed and take some action. See the example WatchdogStatusRequests.c
Regards,

Tom Kerekes
Dynomotion, Inc.

Rasta
Posts: 41
Joined: Fri Mar 08, 2019 8:24 pm

Re: 6 axis wire edm

Post by Rasta » Wed Mar 30, 2022 9:49 am

Thank you so much, Tom, that will do it,
Regards
Mariano

gui_marchioro
Posts: 59
Joined: Sun Aug 21, 2022 11:22 pm

Re: 6 axis wire edm

Post by gui_marchioro » Fri Nov 04, 2022 6:16 pm

Hello Tom,
KFLOP maintains a counter StatusRequestCounter that increments each time the PC request status. This can be monitored and if it doesn't change for a period of time assume the PC, App, or Communication has failed and take some action. See the example WatchdogStatusRequests.c
I have implemented the routine from the WatchdogStatusRequests.c example inside the init loop, expecting that when the Kflop board is disconnected from the PC, the code of function WatchdogTripped would be executed immediately (see below). But what happens is that the function is executed only when the board is reconnected to the PC. There is a way to overcome this situation?

Code: Select all

// Watchdog Trips after all host applications stop requesting status
// Watchdog OK is called when communication and status requests Resume

void ServiceWatchdogStatus(void)
{
	static int Alive=FALSE;
	static int PrevStatusRequestCounter=-1;
	static double WatchdogTime=0;
	double T=Time_sec();
	
	// check if Host is requesting Status
	if (StatusRequestCounter != PrevStatusRequestCounter)
	{
		// yes, save time 
		WatchdogTime = T + WATCHDOG_DELAY;
		PrevStatusRequestCounter=StatusRequestCounter;
		if (!Alive) WatchdogOK();
		Alive=TRUE;
	}
	else
	{
		if (T > WatchdogTime)  // time to trigger?
		{
			if (Alive) WatchdogTripped();
			Alive=FALSE; 
		}
	}
}

void WatchdogTripped(void)
{
	ClearDrillOutputs();
    MDI("M5");
    SetEmergencyState();
    MsgBox("DISCONNECTED", MB_ICONEXCLAMATION);
}
Sincerely,
Guilherme

Post Reply