Hi Kevin,
CS0_TimeExecuted contains the sum of the times of all the completed segments for Coordinated Motion System 0. CS0_t is the time variable for the currently executing segment (starts at zero for the segment).
The Script command ExecTime returns CS0_TimeExecuted + CS0_t
From within KFLOP you can call:
ClearStopImmediately()
To stop coordinated motion that is in a feedhold state.
HTH
TK
| Group: DynoMotion |
Message: 3935 |
From: fireup_kev |
Date: 2/19/2012 |
| Subject: Re: CoordMotionInKFLOP |
Thanks Tom.
I'm also trying to implement SetBitBuf and ClearBitBuf. I have the following and seem to work but was not sure...
void SetBitBuf(unsigned char bit)
{
PARAMETRIC_COEFF *pCoordSys = &ParametricCoeffs[ParametricIndex];
pCoordSys->x_axis = 1; // 1 = set, 0 = clear
pCoordSys->y_axis = bit;
pCoordSys->t = 0;
pCoordSys->trajectory_mode = TRAJECTORY_SPECIAL;
if (++ParametricIndex == MAX_SEGMENTS)
ParametricIndex=0;
ParametricCoeffs[ParametricIndex].trajectory_mode =
TRAJECTORY_OFF;
}
How do I set/clear Virtual bits range (1024-2047)?
Thanks,
Kevin
--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Kevin,
> Â
> CS0_TimeExecuted contains the sum of the times of all the completed segments for Coordinated Motion System 0. CS0_t is the time variable for the currently executing segment (starts at zero for the segment).
> Â
> The Script command ExecTime returns  CS0_TimeExecuted +  CS0_t
> Â
> From within KFLOP you can call:
> Â ClearStopImmediately()
> Â
> To stop coordinated motion that is in a feedhold state.
> Â
> HTH
> TK
>
> From: fireup_kev <kliboon@...>
> To: DynoMotion@yahoogroups.com
> Sent: Saturday, February 18, 2012 1:56 PM
> Subject: [DynoMotion] CoordMotionInKFLOP
>
>
> Â
> How do I get status of the buffer being executed?
>
> Is CS0_TimeExecuted the same as ExecTime?
>
> What is CS0_t?
>
> How do I flush the buffer if I want to abort a move after I do a Feed Hold?
>
> Thanks,
> Kevin
>
|
|
| Group: DynoMotion |
Message: 3936 |
From: Tom Kerekes |
Date: 2/19/2012 |
| Subject: Re: CoordMotionInKFLOP |
Hi Kevin,
Looks like you can't reach them with the current 8-bit field. There are 16 virtual bits 48-63 can't you just use those?
Your routine looks correct to me.
Regards
TK
| Group: DynoMotion |
Message: 3937 |
From: fireup_kev |
Date: 2/19/2012 |
| Subject: Re: CoordMotionInKFLOP |
Ok, thanks Tom. The 16 virtual should be enough for me. I just thought there might me something hidden that I don't see.
One more questions :)
Can you describe how does the low pass filter works?
KLP = exp(-TIMEBASE/Tau);
Does it blend small line segments so they perform like arcs?
Thanks,
Kevin
--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Kevin,
> Â
> Looks like you can't reach them with the current 8-bit field. There are 16 virtual bits 48-63 can't you just use those?
> Â
> Your routine looks correct to me.
> Â
> Regards
> TK
>
> From: fireup_kev <kliboon@...>
> To: DynoMotion@yahoogroups.com
> Sent: Sunday, February 19, 2012 9:09 AM
> Subject: [DynoMotion] Re: CoordMotionInKFLOP
>
>
> Â
> Thanks Tom.
>
> I'm also trying to implement SetBitBuf and ClearBitBuf. I have the following and seem to work but was not sure...
>
> void SetBitBuf(unsigned char bit)
> {
> PARAMETRIC_COEFF *pCoordSys = &ParametricCoeffs[ParametricIndex];
>
> pCoordSys->x_axis = 1; // 1 = set, 0 = clear
> pCoordSys->y_axis = bit;
> pCoordSys->t = 0;
> pCoordSys->trajectory_mode = TRAJECTORY_SPECIAL;
>
> if (++ParametricIndex == MAX_SEGMENTS)
> ParametricIndex=0;
> ParametricCoeffs[ParametricIndex].trajectory_mode =
> TRAJECTORY_OFF;
> }
>
> How do I set/clear Virtual bits range (1024-2047)?
>
> Thanks,
> Kevin
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Kevin,
> > ÃÂ
> > CS0_TimeExecuted contains the sum of the times of all the completed segments for Coordinated Motion System 0.ÃÂ CS0_t is the time variable for the currently executing segment (starts at zero for the segment).
> > ÃÂ
> > The Script command ExecTime returnsÃÂ ÃÂ CS0_TimeExecuted +ÃÂ ÃÂ CS0_t
> > ÃÂ
> > From within KFLOP you can call:
> > ÃÂ ClearStopImmediately()
> > ÃÂ
> > To stop coordinated motion that is in a feedhold state.
> > ÃÂ
> > HTH
> > TK
> >
> > From: fireup_kev <kliboon@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Saturday, February 18, 2012 1:56 PM
> > Subject: [DynoMotion] CoordMotionInKFLOP
> >
> >
> > ÃÂ
> > How do I get status of the buffer being executed?
> >
> > Is CS0_TimeExecuted the same as ExecTime?
> >
> > What is CS0_t?
> >
> > How do I flush the buffer if I want to abort a move after I do a Feed Hold?
> >
> > Thanks,
> > Kevin
> >
>
|
|
| Group: DynoMotion |
Message: 3938 |
From: Tom Kerekes |
Date: 2/19/2012 |
| Subject: Re: CoordMotionInKFLOP |
Hi Kevin,
Regarding KLP: This is a very simple low pass filter function that would be much like adding a resistor/capacitor to an analog signal to smooth out the signal. It is computed independently for each axis in the coordinated motion system (like one capacitor for each axis). The result will be slightly rounded corners. It is described here in the second section:
Regards
TK
| | | | | |