Hi Benny,
#1 "Stop" will issue an immediate hardware feedhold to KFlop so the motion will begin to stop immediately without a need to flush the motion buffer. "Reset" will also cause Mach3 to disable the amplifier enables so the motion will also begin to stop immediately. However because MS Windows is not real-time responsive, pushing any button on a Windows Screen is not 100% reliable in stopping motion. On most Windows systems the response to a button press is usually nearly instant 99% of the time. To get 100% reliability instant feedhold you must wire an external switch directly to KFlop that can initiate hardware feed hold.
#2 Yes issuing a hardware feedhold to KFlop either through an externally wired button or a custom Mach3 Screen button will cause KFlop to stop immediately along the current path. Releasing the feedhold will resume motion smoothly along the same path. However with hardware feedhold Mach3 is not really aware that the machine has stopped, so it is not possible to issue other Mach3 commands such as Jogs or changing offsets. You must first depress "Stop" in Mach3.
#3 This is a common misunderstanding. When defined as inputs the pins ARE floating. KFlop uses MOSFET inputs which have extremely high input resistance (> 10 Meg Ohms). That is why they change more or less randomly and possibly track the signals closest to them due to parasitic resistance and capacitance. This is normal. Inputs that are not connected to anything are not defined and may have any value high or low. If nothing is connected to the input then nothing should care what the state is. We used to apply weak pull down resistors to avoid this confusion but this caused problems using pins in "open collector" mode as the pin would never go fully "open".
I hope this helps
Regards
TK
| Group: DynoMotion |
Message: 942 |
From: likleong |
Date: 3/6/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi TK,
Thanks for your reply, for question 3, it is okay, I understanding, if we use the pin, we should not put it in floating state. However, for Q1 and Q2, I am a little but confuse, could you please elaborate more on following area?
1. there are 3 sec of motion buffer in Mach3, is it store in mach3 or downloaded to kflop hardware buffer?
2. If I press the "feedhold" button in Mach3, mach3 will stop to feed the instruction to kflop and the buffered motions will continue running until the buffer empty, right after I press the "start" button again in mach3, the motion will continue and there should no missed step or instruction, right?
3. If I press the "stop" button in mach3, the mach3 and kflop will stop immediatly, then how about the content in the buffer? Are they being erase?
4. You said there is a hardware feedhold in kflop, how can we make use of it? If we use this hardware feedhold, how can we keep mach3 and kflop syncronized (make mach3 and flop stop at the same time)
5. What is the difference if I press "stop" and "reset" in mach3?
6. From kflop point of view, is there any concept of "reset", "emergency, "stop" and "feed"? Or just received instruction from Mach3 ?
Best regards,
Benny
--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Benny,
>
> #1 "Stop" will issue an immediate hardware feedhold to KFlop so the motion will
> begin to stop immediately without a need to flush the motion buffer. "Reset"
> will also cause Mach3 to disable the amplifier enables so the motion will also
> begin to stop immediately. However because MS Windows is not real-time
> responsive, pushing any button on a Windows Screen is not 100% reliable in
> stopping motion. On most Windows systems the response to a button press is
> usually nearly instant 99% of the time. To get 100% reliability instant
> feedhold you must wire an external switch directly to KFlop that can initiate
> hardware feed hold.
>
> #2 Yes issuing a hardware feedhold to KFlop either through an externally wired
> button or a custom Mach3 Screen button will cause KFlop to stop immediately
> along the current path. Releasing the feedhold will resume motion smoothly
> along the same path. However with hardware feedhold Mach3 is not really aware
> that the machine has stopped, so it is not possible to issue other Mach3
> commands such as Jogs or changing offsets. You must first depress "Stop"
> in Mach3.
>
> #3 This is a common misunderstanding. When defined as inputs the pins ARE
> floating. KFlop uses MOSFET inputs which have extremely high input resistance
> (> 10 Meg Ohms). That is why they change more or less randomly and possibly
> track the signals closest to them due to parasitic resistance and capacitance.Â
> This is normal.  Inputs that are not connected to anything are not defined and
> may have any value high or low. If nothing is connected to the input then
> nothing should care what the state is. We used to apply weak pull down
> resistors to avoid this confusion but this caused problems using pins in "open
> collector" mode as the pin would never go fully "open".
>
> I hope this helps
> Regards
> TKÂ
>
>
>
>
> ________________________________
> From: likleong <likleong@...>
> To: DynoMotion@yahoogroups.com
> Sent: Sun, March 6, 2011 5:59:27 AM
> Subject: [DynoMotion] Buffer issue in mach3
>
> Â
> Hi TK,
>
> I have the following questions regarding to mach3 and kflop:
>
> 1. There are 3 sec buffer in mach3 plugin, is it meaning that, there will be 3
> sec of motion command will be download to kflop's motion buffer? that means even
> mach3 stopped with "stop" or "reset" button, the kflop will keep running for 3
> sec until buffer empty, right?
>
>
> 2. In case of some emergency situation, in spit of hardware EMG stop, is there
> any way to stop the mach3 and kflop immediately but keep the contents in motion
> buffer so that it can resume within mache?
>
> 3. I found that, some IO pins (eg, IO42, IO43), if I define them as Input and
> keep them floating, normally, they will read as low, however, if I put One of
> them high, both of them will read high, until I ground the another one, is it
> normal? Is it not possible to put the input pin floating?
>
> Bes reagrds,
> Benny
>
|
|
| Group: DynoMotion |
Message: 943 |
From: Tom Kerekes |
Date: 3/7/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi Benny,
Regarding:
#1 - some of both actually.
#2 - Yes the normal Mach3 feedhold works like that. However Mach3 doesn't really stop feeding instructions, rather it changed the instructions to a decelerated motion along the path and then a fixed location.
#3 - Yes, Stop flushes all the buffers.
#4 - Below is a simple program (ExternalFeedhold.c example) to watch an I/O bit and perform hardware feedhold when the input goes high. Mach3 naturally stays in sync because it doesn't even know it happened. From its perspective the motion is just taking a long time to execute and the buffer pipeline remains full.
#include "KMotionDef.h"
main()
{
for (;;) // loop forever
{
WaitNextTimeSlice();
if (ReadBit(46)) // Watch an external input switch
{
StopCoordinatedMotion(); //feedhold
}
}
}
#5 - Basically Stop - stops the motion, Reset - disables al the axes and requires a re-initialization.
#6 - KFlop basically receives instructions from Mach3
Regards
TK
| Group: DynoMotion |
Message: 944 |
From: likleong |
Date: 3/7/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi TK,
Is it meaning that,
1. Only "feedhold" button in mach3 can stop the running code without lost step and motion instruction and then continue after the pause.
2. The hardware feedhold in kflop is actually monitor the input pin by c program and then call a routine to stop/disable all the axis,and all the contents in motion buffer will also be erase.
3. Both hardware feedhold and "stop" button in mach3 will immediately motion the motion, however the buffered instruction will be lost. If we use hardware feedhold, there is no way to notify mach3 when hardware feedhold enabled in kflop.
Best regards,
Benny
--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Benny,
>
> Regarding:
>
> #1 -Â some of both actually.
>
> #2 - Yes the normal Mach3 feedhold works like that. However Mach3 doesn't
> really stop feeding instructions, rather it changed the instructions to a
> decelerated motion along the path and then a fixed location.
>
> #3 - Yes, Stop flushes all the buffers.
>
> #4 - Below is a simple program (ExternalFeedhold.c example) to watch an I/O bit
> and perform hardware feedhold when the input goes high. Mach3 naturally stays
> in sync because it doesn't even know it happened. From its perspective the
> motion is just taking a long time to execute and the buffer pipeline remains
> full. Â
> #include
> main()
> {"KMotionDef.h"   for(;;) // loop forever   {
> Â Â Â Â Â Â WaitNextTimeSlice();Â Â Â Â Â Â if(ReadBit(46)) // Watch an external input
> switch      {
>          StopCoordinatedMotion(); //feedhold      }
> Â Â Â }
> }
>
>
> #5 - Basically Stop - stops the motion, Reset - disables al the axes and
> requires a re-initialization.
>
> #6 - KFlop basically receives instructions from Mach3
>
> Regards
> TK
>
>
>
>
> ________________________________
> From: likleong <likleong@...>
> To: DynoMotion@yahoogroups.com
> Sent: Sun, March 6, 2011 11:41:08 PM
> Subject: [DynoMotion] Re: Buffer issue in mach3
>
> Â
> Hi TK,
>
> Thanks for your reply, for question 3, it is okay, I understanding, if we use
> the pin, we should not put it in floating state. However, for Q1 and Q2, I am a
> little but confuse, could you please elaborate more on following area?
>
> 1. there are 3 sec of motion buffer in Mach3, is it store in mach3 or downloaded
> to kflop hardware buffer?
>
> 2. If I press the "feedhold" button in Mach3, mach3 will stop to feed the
> instruction to kflop and the buffered motions will continue running until the
> buffer empty, right after I press the "start" button again in mach3, the motion
> will continue and there should no missed step or instruction, right?
>
> 3. If I press the "stop" button in mach3, the mach3 and kflop will stop
> immediatly, then how about the content in the buffer? Are they being erase?
>
>
> 4. You said there is a hardware feedhold in kflop, how can we make use of it? If
> we use this hardware feedhold, how can we keep mach3 and kflop syncronized (make
> mach3 and flop stop at the same time)
>
> 5. What is the difference if I press "stop" and "reset" in mach3?
>
> 6. From kflop point of view, is there any concept of "reset", "emergency, "stop"
> and "feed"? Or just received instruction from Mach3 ?
>
> Best regards,
> Benny
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Benny,
> >
> > #1 "Stop" will issue an immediateÃÂ hardware feedhold to KFlop so the motion
> >will
> >
> > begin to stop immediately without a need to flush the motion buffer.ÃÂ "Reset"
>
> > will also cause Mach3 to disable the amplifier enables so the motion will also
>
> > begin to stop immediately.ÃÂ However because MS Windows is not real-time
> > responsive, pushing any button on a Windows Screen is not 100% reliable in
> > stopping motion.ÃÂ On most Windows systems the response to a button press is
> > usually nearly instant 99% of the time.ÃÂ To get 100% reliability instant
> > feedhold you must wire an external switch directly to KFlop that can initiate
> > hardware feed hold.
> >
> > #2 Yes issuing a hardware feedhold to KFlop either through an externally wired
>
> > button or a custom Mach3 Screen button will cause KFlop to stop immediately
> > along the current path.ÃÂ Releasing the feedhold will resume motion smoothly
> > along the same path.ÃÂ However with hardware feedhold Mach3 is not really aware
> >
> > that the machine has stopped, so it is not possible to issue other Mach3
> > commands such as Jogs or changing offsets.ÃÂ You must first depress "Stop"
> > inÃÂ Mach3.
> >
> > #3 This is a common misunderstanding.ÃÂ When defined as inputs the pins ARE
> > floating.ÃÂ KFlop uses MOSFET inputs which have extremely high input resistance
> >
> > (> 10 Meg Ohms).ÃÂ That is why they change more or less randomly andÃÂ possibly
>
> > track the signals closest to them due to parasitic resistance and
> >capacitance.ÃÂ
> >
> > This is normal.ÃÂ ÃÂ Inputs that are not connected to anything are not defined
> >and
> >
> > may have any value high or low.ÃÂ If nothing is connected to the input then
> > nothing should care what the state is.ÃÂ We used to applyÃÂ weak pull down
> > resistors to avoid this confusion but this caused problems using pins in "open
>
> > collector" mode as the pin would never go fully "open".
> >
> > I hope this helps
> > Regards
> > TKÃÂ
> >
> >
> >
> >
> > ________________________________
> > From: likleong <likleong@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Sun, March 6, 2011 5:59:27 AM
> > Subject: [DynoMotion] Buffer issue in mach3
> >
> > ÃÂ
> > Hi TK,
> >
> > I have the following questions regarding to mach3 and kflop:
> >
> > 1. There are 3 sec buffer in mach3 plugin, is it meaning that, there will be 3
>
> > sec of motion command will be download to kflop's motion buffer? that means
> >even
> >
> > mach3 stopped with "stop" or "reset" button, the kflop will keep running for 3
>
> > sec until buffer empty, right?
> >
> >
> > 2. In case of some emergency situation, in spit of hardware EMG stop, is there
>
> > any way to stop the mach3 and kflop immediately but keep the contents in motion
> >
> > buffer so that it can resume within mache?
> >
> > 3. I found that, some IO pins (eg, IO42, IO43), if I define them as Input and
> > keep them floating, normally, they will read as low, however, if I put One of
> > them high, both of them will read high, until I ground the another one, is it
> > normal? Is it not possible to put the input pin floating?
> >
> > Bes reagrds,
> > Benny
> >
>
|
|
| Group: DynoMotion |
Message: 945 |
From: Tom Kerekes |
Date: 3/8/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi Benny,
#1 - No. It is also possible to resume instant hardware feedhold without lost steps.
#2 - No. The hardware does not disable the axes or erase the buffer. Basically KFlop slows down to a stop and stops taking motion from the buffer. The buffer remains full. To resume Kflop again starts taking motion from the buffer.
#3 - No. Buffered instructions will not be lost. Mach3 is always waiting for there to be space in the buffer. Whenever there becomes space available it fills the buffer. After KFlop stops consuming motion the buffer will remain full and Mach3 will wait.
The only problem with hardware feedhold is with issuing other commands while in feedhold. For example the tool breaks. You hit hardware feedhold and the machine instantly stops. But now you want to Jog the machine, change the tool, adjust a work offset, etc.., then resume. Before doing this you must push Stop in Mach3.
Regards
TK
| Group: DynoMotion |
Message: 947 |
From: likleong |
Date: 3/8/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi TK,
Okay, for kflop HW feedhold, there is no step lost. for mach2 feedhold, there is also no step lost, but need to waiting for couple of sec until buffer empty, and may be risk of slow respond from windows, right?
Then, how about the "stop" in mach3? you said the buffer contents will be erase in last reply. Is it related to kflop HW feedhold or just use another way to stop immedately?
Finally, if I ignore the respond issue from windows and just use the feedhold in mach3, is there any way to make the mach 3 issue a feedhold command to kflop immedately(StopCoordinatedMotion) without waiting the buffer to empty?
Best regards,
Benny.
--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Benny,
>
> #1 - No. It is also possible to resume instant hardware feedhold without lost
> steps.
>
> #2 - No. The hardware does not disable the axes or erase the buffer. Basically
> KFlop slows down to a stop and stops taking motion from the buffer. The buffer
> remains full. To resume Kflop again starts taking motion from the buffer.
>
> #3 - No. Buffered instructions will not be lost.  Mach3 is always waiting for
> there to be space in the buffer. Whenever there becomes space available it
> fills the buffer. After KFlop stops consuming motion the buffer will remain
> full and Mach3 will wait.
>
>
> The only problem with hardware feedhold is with issuing other commands while in
> feedhold. For example the tool breaks. You hit hardware feedhold and the
> machine instantly stops. But now you want to Jog the machine, change the
> tool, adjust a work offset, etc.., then resume. Before doing this you must push
> Stop in Mach3.Â
>
> Regards
> TK
>
>
>
> ________________________________
> From: likleong <likleong@...>
> To: DynoMotion@yahoogroups.com
> Sent: Mon, March 7, 2011 11:38:26 PM
> Subject: [DynoMotion] Re: Buffer issue in mach3
>
> Â
> Hi TK,
>
> Is it meaning that,
>
> 1. Only "feedhold" button in mach3 can stop the running code without lost step
> and motion instruction and then continue after the pause.
>
> 2. The hardware feedhold in kflop is actually monitor the input pin by c program
> and then call a routine to stop/disable all the axis,and all the contents in
> motion buffer will also be erase.
>
> 3. Both hardware feedhold and "stop" button in mach3 will immediately motion the
> motion, however the buffered instruction will be lost. If we use hardware
> feedhold, there is no way to notify mach3 when hardware feedhold enabled in
> kflop.
>
> Best regards,
> Benny
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Benny,
> >
> > Regarding:
> >
> > #1 -ÃÂ some of both actually.
> >
> > #2 - Yes the normal Mach3 feedhold works like that.ÃÂ However Mach3 doesn't
> > really stop feeding instructions, rather it changed the instructions to a
> > decelerated motion along the path and then a fixed location.
> >
> > #3 - Yes, Stop flushes all the buffers.
> >
> > #4 - Below is a simple programÃÂ (ExternalFeedhold.c example)ÃÂ to watch an I/O
> >bit
> >
> > and perform hardware feedhold when the input goes high.ÃÂ Mach3 naturally stays
> >
> > in sync because it doesn't even know it happened.ÃÂ From its perspective the
> > motion is just taking a long time to execute and the buffer pipeline remains
> > full.ÃÂ ÃÂ
> > #include
> > main()
> > {"KMotionDef.h"ÃÂ ÃÂ ÃÂ for(;;) // loop foreverÃÂ ÃÂ ÃÂ {
> > ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ WaitNextTimeSlice();ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ if(ReadBit(46)) // Watch an
> >external input
> >
> > switchÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ {
> > ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ StopCoordinatedMotion(); //feedholdÃÂ ÃÂ ÃÂ ÃÂ ÃÂ ÃÂ }
> > ÃÂ ÃÂ ÃÂ }
> > }
> >
> >
> > #5 - Basically Stop - stops the motion, Reset - disables al the axes and
> > requires a re-initialization.
> >
> > #6 - KFlop basicallyÃÂ receives instructions from Mach3
> >
> > Regards
> > TK
> >
> >
> >
> >
> > ________________________________
> > From: likleong <likleong@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Sun, March 6, 2011 11:41:08 PM
> > Subject: [DynoMotion] Re: Buffer issue in mach3
> >
> > ÃÂ
> > Hi TK,
> >
> > Thanks for your reply, for question 3, it is okay, I understanding, if we use
> > the pin, we should not put it in floating state. However, for Q1 and Q2, I am a
> >
> > little but confuse, could you please elaborate more on following area?
> >
> > 1. there are 3 sec of motion buffer in Mach3, is it store in mach3 or
> >downloaded
> >
> > to kflop hardware buffer?
> >
> > 2. If I press the "feedhold" button in Mach3, mach3 will stop to feed the
> > instruction to kflop and the buffered motions will continue running until the
> > buffer empty, right after I press the "start" button again in mach3, the motion
> >
> > will continue and there should no missed step or instruction, right?
> >
> > 3. If I press the "stop" button in mach3, the mach3 and kflop will stop
> > immediatly, then how about the content in the buffer? Are they being erase?
> >
> >
> > 4. You said there is a hardware feedhold in kflop, how can we make use of it?
> >If
> >
> > we use this hardware feedhold, how can we keep mach3 and kflop syncronized
> >(make
> >
> > mach3 and flop stop at the same time)
> >
> > 5. What is the difference if I press "stop" and "reset" in mach3?
> >
> > 6. From kflop point of view, is there any concept of "reset", "emergency,
> >"stop"
> >
> > and "feed"? Or just received instruction from Mach3 ?
> >
> > Best regards,
> > Benny
> >
> > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > >
> > > Hi Benny,
> > >
> > > #1 "Stop" will issue an immediateÃâàhardware feedhold to KFlop so the motion
> >
> > >will
> > >
> > > begin to stop immediately without a need to flush the motion buffer.ÃâÃÂ
> >"Reset"
> >
> >
> > > will also cause Mach3 to disable the amplifier enables so the motion will
> >also
> >
> >
> > > begin to stop immediately.ÃâàHowever because MS Windows is not real-time
> > > responsive, pushing any button on a Windows Screen is not 100% reliable in
> > > stopping motion.ÃâàOn most Windows systems the response to a button press
> >is
> >
> > > usually nearly instant 99% of the time.ÃâàTo get 100% reliability instant
> > > feedhold you must wire an external switch directly to KFlop that can initiate
> >
> > > hardware feed hold.
> > >
> > > #2 Yes issuing a hardware feedhold to KFlop either through an externally
> >wired
> >
> >
> > > button or a custom Mach3 Screen button will cause KFlop to stop immediately
> > > along the current path.ÃâàReleasing the feedhold will resume motion
> >smoothly
> >
> > > along the same path.ÃâàHowever with hardware feedhold Mach3 is not really
> >aware
> >
> > >
> > > that the machine has stopped, so it is not possible to issue other Mach3
> > > commands such as Jogs or changing offsets.ÃâàYou must first depress "Stop"
>
> > > inÃâàMach3.
> > >
> > > #3 This is a common misunderstanding.ÃâàWhen defined as inputs the pins ARE
> >
> > > floating.ÃâàKFlop uses MOSFET inputs which have extremely high input
> >resistance
> >
> > >
> > > (> 10 Meg Ohms).ÃâàThat is why they change more or less randomly
> >andÃâàpossibly
> >
> >
> > > track the signals closest to them due to parasitic resistance and
> > >capacitance.ÃâÃÂ
> > >
> > > This is normal.ÃâàÃâàInputs that are not connected to anything are not
> >defined
> >
> > >and
> > >
> > > may have any value high or low.ÃâàIf nothing is connected to the input then
> >
> > > nothing should care what the state is.ÃâàWe used to applyÃâàweak pull down
> >
> > > resistors to avoid this confusion but this caused problems using pins in
> >"open
> >
> >
> > > collector" mode as the pin would never go fully "open".
> > >
> > > I hope this helps
> > > Regards
> > > TKÃâÃÂ
> > >
> > >
> > >
> > >
> > > ________________________________
> > > From: likleong <likleong@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Sun, March 6, 2011 5:59:27 AM
> > > Subject: [DynoMotion] Buffer issue in mach3
> > >
> > > ÃâÃÂ
> > > Hi TK,
> > >
> > > I have the following questions regarding to mach3 and kflop:
> > >
> > > 1. There are 3 sec buffer in mach3 plugin, is it meaning that, there will be
> >3
> >
> >
> > > sec of motion command will be download to kflop's motion buffer? that means
> > >even
> > >
> > > mach3 stopped with "stop" or "reset" button, the kflop will keep running for
> >3
> >
> >
> > > sec until buffer empty, right?
> > >
> > >
> > > 2. In case of some emergency situation, in spit of hardware EMG stop, is
> >there
> >
> >
> > > any way to stop the mach3 and kflop immediately but keep the contents in
> >motion
> >
> > >
> > > buffer so that it can resume within mache?
> > >
> > > 3. I found that, some IO pins (eg, IO42, IO43), if I define them as Input and
> >
> > > keep them floating, normally, they will read as low, however, if I put One of
> >
> > > them high, both of them will read high, until I ground the another one, is it
> >
> > > normal? Is it not possible to put the input pin floating?
> > >
> > > Bes reagrds,
> > > Benny
> > >
> >
>
|
|
| Group: DynoMotion |
Message: 948 |
From: Tom Kerekes |
Date: 3/9/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi Benny,
Regarding question #1 - Exactly Correct.
Regarding question #2 - I'm not sure exactly what you are asking - but I think the Mach3 manual states that "Stop" is likely to loose steps as it abruptly stops generating motion and flushes its buffers. In our plugin we attempt to issue a hardware feedhold, then after coming to a stop, flush our buffers, then re-sync the position with Mach3. So it should be instant and with no loss of steps, but not necessarily resume-able.
Regarding question #3 - Yes. To issue a hardware feedhold from a Mach3 screen you will need to modify a Mach3 screen to add or change the functionality of a button to issue a NotifyPlugins(XX) message. This will cause your Notify C program to execute in KFlop and pass it the message XX. (Message numbers 10000 - 10999 will be passed to KFLOP). You can then code your Notify C program to issue the StopCoordinatedMotion().
Regards
TK
| Group: DynoMotion |
Message: 949 |
From: likleong |
Date: 3/9/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi TK,
Do you have any idea how to modify the existing "feedhold" button in mach3, on top of the existing function, also make it issue a NotifyPlugins(XX) message to klop. On the other hand, how to handle the resume after the above feedhold? Thanks.
Best regards,
Benny
--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Benny,
>
> Regarding question #1 - Exactly Correct.
>
> Regarding question #2 -Â I'm not sure exactly what you are asking - but I think
> the Mach3 manual states that "Stop" is likely to loose steps as it abruptly
> stops generating motion and flushes its buffers. In our plugin we attempt to
> issue a hardware feedhold, then after coming to a stop, flush our buffers, then
> re-sync the position with Mach3. So it should be instant and with no loss of
> steps, but not necessarily resume-able.
>
> Regarding question #3 - Yes. To issue a hardware feedhold from a Mach3 screen
> you will need to modify a Mach3 screen to add or change the functionality of a
> button to issue a NotifyPlugins(XX) message. This will cause your Notify C
> program to execute in KFlop and pass it the message XX.  (Message numbers 10000
> - 10999 will be passed to KFLOP). You can then code your Notify C program to
> issue the StopCoordinatedMotion().
>
> Regards
> TKÂ
>
>
>
>
> ________________________________
> From: likleong <likleong@...>
> To: DynoMotion@yahoogroups.com
> Sent: Tue, March 8, 2011 11:02:52 PM
> Subject: [DynoMotion] Re: Buffer issue in mach3
>
> Â
> Hi TK,
>
> Okay, for kflop HW feedhold, there is no step lost. for mach2 feedhold, there is
> also no step lost, but need to waiting for couple of sec until buffer empty, and
> may be risk of slow respond from windows, right?
>
> Then, how about the "stop" in mach3? you said the buffer contents will be erase
> in last reply. Is it related to kflop HW feedhold or just use another way to
> stop immedately?
>
> Finally, if I ignore the respond issue from windows and just use the feedhold in
> mach3, is there any way to make the mach 3 issue a feedhold command to kflop
> immedately(StopCoordinatedMotion) without waiting the buffer to empty?
>
> Best regards,
> Benny.
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Benny,
> >
> > #1 - No.ÃÂ It is also possible to resume instant hardware feedhold without lost
> >
> > steps.
> >
> > #2 - No.ÃÂ The hardware does not disable the axes or erase the buffer.ÃÂ
> >Basically
> >
> > KFlop slows down to a stop and stops taking motion from the buffer.ÃÂ The
> >buffer
> >
> > remains full.ÃÂ To resume Kflop again starts taking motion from the buffer.
> >
> > #3 -ÃÂ No.ÃÂ Buffered instructions will not be lost.ÃÂ ÃÂ Mach3 is always waiting
> >for
> >
> > there to be space in the buffer.ÃÂ Whenever there becomes space available it
> > fills the buffer.ÃÂ AfterÃÂ KFlop stopsÃÂ consuming motion the buffer will remain
> >
> > full and Mach3 will wait.
> >
> >
> > The only problem with hardware feedhold is with issuing other commands
> >whileÃÂ in
> >
> > feedhold.ÃÂ For example the tool breaks.ÃÂ You hit hardware feedhold and the
> > machine instantly stops.ÃÂ But now you want to Jog the machine, change the
> > tool,ÃÂ adjust a work offset, etc.., then resume.ÃÂ Before doing this you must
> >push
> >
> > Stop in Mach3.ÃÂ
> >
> > Regards
> > TK
> >
> >
> >
> > ________________________________
> > From: likleong <likleong@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Mon, March 7, 2011 11:38:26 PM
> > Subject: [DynoMotion] Re: Buffer issue in mach3
> >
> > ÃÂ
> > Hi TK,
> >
> > Is it meaning that,
> >
> > 1. Only "feedhold" button in mach3 can stop the running code without lost step
>
> > and motion instruction and then continue after the pause.
> >
> > 2. The hardware feedhold in kflop is actually monitor the input pin by c
> >program
> >
> > and then call a routine to stop/disable all the axis,and all the contents in
> > motion buffer will also be erase.
> >
> > 3. Both hardware feedhold and "stop" button in mach3 will immediately motion
> >the
> >
> > motion, however the buffered instruction will be lost. If we use hardware
> > feedhold, there is no way to notify mach3 when hardware feedhold enabled in
> > kflop.
> >
> > Best regards,
> > Benny
> >
> > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > >
> > > Hi Benny,
> > >
> > > Regarding:
> > >
> > > #1 -Ãâàsome of both actually.
> > >
> > > #2 - Yes the normal Mach3 feedhold works like that.ÃâàHowever Mach3 doesn't
> >
> > > really stop feeding instructions, rather it changed the instructions to a
> > > decelerated motion along the path and then a fixed location.
> > >
> > > #3 - Yes, Stop flushes all the buffers.
> > >
> > > #4 - Below is a simple programÃâà(ExternalFeedhold.c example)Ãâàto watch an
> >I/O
> >
> > >bit
> > >
> > > and perform hardware feedhold when the input goes high.ÃâàMach3 naturally
> >stays
> >
> > >
> > > in sync because it doesn't even know it happened.ÃâàFrom its perspective
> >the
> >
> > > motion is just taking a long time to execute and the buffer pipeline remains
>
> > > full.ÃâàÃâÃÂ
> > > #include
> > > main()
> > > {"KMotionDef.h"ÃâàÃâàÃâàfor(;;) // loop foreverÃâàÃâàÃâà{
> > > ÃâàÃâàÃâàÃâàÃâàÃâàWaitNextTimeSlice();ÃâàÃâàÃâàÃâàÃâàÃâÃÂ
> >if(ReadBit(46)) // Watch an
> >
> > >external input
> > >
> > > switchÃâàÃâàÃâàÃâàÃâàÃâà{
> > > ÃâàÃâàÃâàÃâàÃâàÃâàÃâàÃâàÃâàStopCoordinatedMotion();
> >//feedholdÃâàÃâàÃâàÃâàÃâàÃâà}
> > > ÃâàÃâàÃâà}
> > > }
> > >
> > >
> > > #5 - Basically Stop - stops the motion, Reset - disables al the axes and
> > > requires a re-initialization.
> > >
> > > #6 - KFlop basicallyÃâàreceives instructions from Mach3
> > >
> > > Regards
> > > TK
> > >
> > >
> > >
> > >
> > > ________________________________
> > > From: likleong <likleong@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Sun, March 6, 2011 11:41:08 PM
> > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > >
> > > ÃâÃÂ
> > > Hi TK,
> > >
> > > Thanks for your reply, for question 3, it is okay, I understanding, if we use
> >
> > > the pin, we should not put it in floating state. However, for Q1 and Q2, I am
> >a
> >
> > >
> > > little but confuse, could you please elaborate more on following area?
> > >
> > > 1. there are 3 sec of motion buffer in Mach3, is it store in mach3 or
> > >downloaded
> > >
> > > to kflop hardware buffer?
> > >
> > > 2. If I press the "feedhold" button in Mach3, mach3 will stop to feed the
> > > instruction to kflop and the buffered motions will continue running until the
> >
> > > buffer empty, right after I press the "start" button again in mach3, the
> >motion
> >
> > >
> > > will continue and there should no missed step or instruction, right?
> > >
> > > 3. If I press the "stop" button in mach3, the mach3 and kflop will stop
> > > immediatly, then how about the content in the buffer? Are they being erase?
> > >
> > >
> > > 4. You said there is a hardware feedhold in kflop, how can we make use of it?
> >
> > >If
> > >
> > > we use this hardware feedhold, how can we keep mach3 and kflop syncronized
> > >(make
> > >
> > > mach3 and flop stop at the same time)
> > >
> > > 5. What is the difference if I press "stop" and "reset" in mach3?
> > >
> > > 6. From kflop point of view, is there any concept of "reset", "emergency,
> > >"stop"
> > >
> > > and "feed"? Or just received instruction from Mach3 ?
> > >
> > > Best regards,
> > > Benny
> > >
> > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > >
> > > > Hi Benny,
> > > >
> > > > #1 "Stop" will issue an immediateÃÆ'ââ¬Å¡Ãâàhardware feedhold to KFlop so the
> >motion
> >
> > >
> > > >will
> > > >
> > > > begin to stop immediately without a need to flush the motion
> >buffer.ÃÆ'ââ¬Å¡ÃâÃÂ
> >
> > >"Reset"
> > >
> > >
> > > > will also cause Mach3 to disable the amplifier enables so the motion will
> > >also
> > >
> > >
> > > > begin to stop immediately.ÃÆ'ââ¬Å¡ÃâàHowever because MS Windows is not
> >real-time
> >
> > > > responsive, pushing any button on a Windows Screen is not 100% reliable in
>
> > > > stopping motion.ÃÆ'ââ¬Å¡ÃâàOn most Windows systems the response to a button
> >press
> >
> > >is
> > >
> > > > usually nearly instant 99% of the time.ÃÆ'ââ¬Å¡ÃâàTo get 100% reliability
> >instant
> >
> > > > feedhold you must wire an external switch directly to KFlop that can
> >initiate
> >
> > >
> > > > hardware feed hold.
> > > >
> > > > #2 Yes issuing a hardware feedhold to KFlop either through an externally
> > >wired
> > >
> > >
> > > > button or a custom Mach3 Screen button will cause KFlop to stop immediately
> >
> > > > along the current path.ÃÆ'ââ¬Å¡ÃâàReleasing the feedhold will resume motion
>
> > >smoothly
> > >
> > > > along the same path.ÃÆ'ââ¬Å¡ÃâàHowever with hardware feedhold Mach3 is not
> >really
> >
> > >aware
> > >
> > > >
> > > > that the machine has stopped, so it is not possible to issue other Mach3
> > > > commands such as Jogs or changing offsets.ÃÆ'ââ¬Å¡ÃâàYou must first depress
> >"Stop"
> >
> >
> > > > inÃÆ'ââ¬Å¡ÃâàMach3.
> > > >
> > > > #3 This is a common misunderstanding.ÃÆ'ââ¬Å¡ÃâàWhen defined as inputs the
> >pins ARE
> >
> > >
> > > > floating.ÃÆ'ââ¬Å¡ÃâàKFlop uses MOSFET inputs which have extremely high input
> >
> > >resistance
> > >
> > > >
> > > > (> 10 Meg Ohms).ÃÆ'ââ¬Å¡ÃâàThat is why they change more or less randomly
> > >andÃÆ'ââ¬Å¡Ãâàpossibly
> > >
> > >
> > > > track the signals closest to them due to parasitic resistance and
> > > >capacitance.ÃÆ'ââ¬Å¡ÃâÃÂ
> > > >
> > > > This is normal.ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâàInputs that are not connected to anything
> >are not
> >
> > >defined
> > >
> > > >and
> > > >
> > > > may have any value high or low.ÃÆ'ââ¬Å¡ÃâàIf nothing is connected to the
> >input then
> >
> > >
> > > > nothing should care what the state is.ÃÆ'ââ¬Å¡ÃâàWe used to
> >applyÃÆ'ââ¬Å¡Ãâàweak pull down
> >
> > >
> > > > resistors to avoid this confusion but this caused problems using pins in
> > >"open
> > >
> > >
> > > > collector" mode as the pin would never go fully "open".
> > > >
> > > > I hope this helps
> > > > Regards
> > > > TKÃÆ'ââ¬Å¡ÃâÃÂ
> > > >
> > > >
> > > >
> > > >
> > > > ________________________________
> > > > From: likleong <likleong@>
> > > > To: DynoMotion@yahoogroups.com
> > > > Sent: Sun, March 6, 2011 5:59:27 AM
> > > > Subject: [DynoMotion] Buffer issue in mach3
> > > >
> > > > ÃÆ'ââ¬Å¡ÃâÃÂ
> > > > Hi TK,
> > > >
> > > > I have the following questions regarding to mach3 and kflop:
> > > >
> > > > 1. There are 3 sec buffer in mach3 plugin, is it meaning that, there will
> >be
> >
> > >3
> > >
> > >
> > > > sec of motion command will be download to kflop's motion buffer? that means
> >
> > > >even
> > > >
> > > > mach3 stopped with "stop" or "reset" button, the kflop will keep running
> >for
> >
> > >3
> > >
> > >
> > > > sec until buffer empty, right?
> > > >
> > > >
> > > > 2. In case of some emergency situation, in spit of hardware EMG stop, is
> > >there
> > >
> > >
> > > > any way to stop the mach3 and kflop immediately but keep the contents in
> > >motion
> > >
> > > >
> > > > buffer so that it can resume within mache?
> > > >
> > > > 3. I found that, some IO pins (eg, IO42, IO43), if I define them as Input
> >and
> >
> > >
> > > > keep them floating, normally, they will read as low, however, if I put One
> >of
> >
> > >
> > > > them high, both of them will read high, until I ground the another one, is
> >it
> >
> > >
> > > > normal? Is it not possible to put the input pin floating?
> > > >
> > > > Bes reagrds,
> > > > Benny
> > > >
> > >
> >
>
|
|
| Group: DynoMotion |
Message: 950 |
From: Tom Kerekes |
Date: 3/9/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi Benny,
Read this and see if you still have questions. Look for information on the Mach3 site on how to change the screens. We recommend the one written by Klaus Dietz.
If you change the Cycle Start button to do:
NotifyPlugins(11000)
The Cycle Start button should resume if KFlop is in the Hardware Feedhold state, otherwise it will do a normal Cycle Start.
Let me know if it isn't clear.
Regards
TK
| Group: DynoMotion |
Message: 951 |
From: likleong |
Date: 3/10/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi TK,
Thanks, I will try it out. I have another question regarding to the IO pins in kflop, can I define a general IO pin as output and in open collector at the same time? If I want to use the IO pin to drive a relay, any suggestion? Thanks.
Best regards,
Benny
--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Benny,
>
> Read this and see if you still have questions. Look for information on the
> Mach3 site on how to change the screens. Â We recommend the one written by Klaus
> Dietz.Â
>
>
> http://www.dynomotion.com/Help/Mach3Plugin/Mach3Encoders.htm
>
> If you change the Cycle Start button to do:
>
> NotifyPlugins(11000)Â
>
> The Cycle Start button should resume if KFlop is in the Hardware Feedhold state,
> otherwise it will do a normal Cycle Start.
>
> Let me know if it isn't clear.
>
> Regards
> TK
>
>
>
>
>
> ________________________________
> From: likleong <likleong@...>
> To: DynoMotion@yahoogroups.com
> Sent: Wed, March 9, 2011 5:31:06 PM
> Subject: [DynoMotion] Re: Buffer issue in mach3
>
> Â
> Hi TK,
>
> Do you have any idea how to modify the existing "feedhold" button in mach3, on
> top of the existing function, also make it issue a NotifyPlugins(XX) message to
> klop. On the other hand, how to handle the resume after the above feedhold?
> Thanks.
>
> Best regards,
> Benny
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Benny,
> >
> > Regarding question #1 - Exactly Correct.
> >
> > Regarding question #2 -ÃÂ I'm not sure exactly what you are asking - but I think
> >
> > the Mach3 manual states that "Stop" is likely to loose steps as it abruptly
> > stops generating motion and flushes its buffers.ÃÂ In our plugin we attempt to
>
> > issue a hardware feedhold, then after coming to a stop, flush our buffers, then
> >
> > re-sync the position with Mach3.ÃÂ So it should be instant and with no loss of
>
> > steps, but not necessarily resume-able.
> >
> > Regarding question #3 - Yes.ÃÂ To issue a hardware feedhold from a Mach3 screen
> >
> > you will need to modifyÃÂ a Mach3 screen to add or change the functionality of a
> >
> > button to issue a NotifyPlugins(XX) message.ÃÂ This will causeÃÂ your Notify C
> > program to execute in KFlop and pass it the message XX.ÃÂ ÃÂ (Message numbers
> >10000
> >
> > - 10999 will be passed to KFLOP).ÃÂ You can then code your Notify C program to
>
> > issue the StopCoordinatedMotion().
> >
> > Regards
> > TKÃÂ
> >
> >
> >
> >
> > ________________________________
> > From: likleong <likleong@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Tue, March 8, 2011 11:02:52 PM
> > Subject: [DynoMotion] Re: Buffer issue in mach3
> >
> > ÃÂ
> > Hi TK,
> >
> > Okay, for kflop HW feedhold, there is no step lost. for mach2 feedhold, there
> >is
> >
> > also no step lost, but need to waiting for couple of sec until buffer empty,
> >and
> >
> > may be risk of slow respond from windows, right?
> >
> > Then, how about the "stop" in mach3? you said the buffer contents will be erase
> >
> > in last reply. Is it related to kflop HW feedhold or just use another way to
> > stop immedately?
> >
> > Finally, if I ignore the respond issue from windows and just use the feedhold
> >in
> >
> > mach3, is there any way to make the mach 3 issue a feedhold command to kflop
> > immedately(StopCoordinatedMotion) without waiting the buffer to empty?
> >
> > Best regards,
> > Benny.
> >
> > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > >
> > > Hi Benny,
> > >
> > > #1 - No.ÃâàIt is also possible to resume instant hardware feedhold without
> >lost
> >
> > >
> > > steps.
> > >
> > > #2 - No.ÃâàThe hardware does not disable the axes or erase the buffer.ÃâÃÂ
>
> > >Basically
> > >
> > > KFlop slows down to a stop and stops taking motion from the buffer.ÃâàThe
> > >buffer
> > >
> > > remains full.ÃâàTo resume Kflop again starts taking motion from the
> buffer.
> > >
> > > #3 -ÃâàNo.ÃâàBuffered instructions will not be lost.ÃâàÃâàMach3 is always
> >waiting
> >
> > >for
> > >
> > > there to be space in the buffer.ÃâàWhenever there becomes space available
> >it
> >
> > > fills the buffer.ÃâàAfterÃâàKFlop stopsÃâàconsuming motion the buffer
> >will remain
> >
> > >
> > > full and Mach3 will wait.
> > >
> > >
> > > The only problem with hardware feedhold is with issuing other commands
> > >whileÃâàin
> > >
> > > feedhold.ÃâàFor example the tool breaks.ÃâàYou hit hardware feedhold and
> >the
> >
> > > machine instantly stops.ÃâàBut now you want to Jog the machine, change the
>
> > > tool,Ãâàadjust a work offset, etc.., then resume.ÃâàBefore doing this you
> >must
> >
> > >push
> > >
> > > Stop in Mach3.ÃâÃÂ
> > >
> > > Regards
> > > TK
> > >
> > >
> > >
> > > ________________________________
> > > From: likleong <likleong@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Mon, March 7, 2011 11:38:26 PM
> > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > >
> > > ÃâÃÂ
> > > Hi TK,
> > >
> > > Is it meaning that,
> > >
> > > 1. Only "feedhold" button in mach3 can stop the running code without lost
> >step
> >
> >
> > > and motion instruction and then continue after the pause.
> > >
> > > 2. The hardware feedhold in kflop is actually monitor the input pin by c
> > >program
> > >
> > > and then call a routine to stop/disable all the axis,and all the contents in
>
> > > motion buffer will also be erase.
> > >
> > > 3. Both hardware feedhold and "stop" button in mach3 will immediately motion
>
> > >the
> > >
> > > motion, however the buffered instruction will be lost. If we use hardware
> > > feedhold, there is no way to notify mach3 when hardware feedhold enabled in
> > > kflop.
> > >
> > > Best regards,
> > > Benny
> > >
> > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > >
> > > > Hi Benny,
> > > >
> > > > Regarding:
> > > >
> > > > #1 -ÃÆ'ââ¬Å¡Ãâàsome of both actually.
> > > >
> > > > #2 - Yes the normal Mach3 feedhold works like that.ÃÆ'ââ¬Å¡ÃâàHowever Mach3
> >doesn't
> >
> > >
> > > > really stop feeding instructions, rather it changed the instructions to a
> > > > decelerated motion along the path and then a fixed location.
> > > >
> > > > #3 - Yes, Stop flushes all the buffers.
> > > >
> > > > #4 - Below is a simple programÃÆ'ââ¬Å¡Ãâà(ExternalFeedhold.c
> >example)ÃÆ'ââ¬Å¡Ãâàto watch an
> >
> > >I/O
> > >
> > > >bit
> > > >
> > > > and perform hardware feedhold when the input goes high.ÃÆ'ââ¬Å¡ÃâàMach3
> >naturally
> >
> > >stays
> > >
> > > >
> > > > in sync because it doesn't even know it happened.ÃÆ'ââ¬Å¡ÃâàFrom its
> >perspective
> >
> > >the
> > >
> > > > motion is just taking a long time to execute and the buffer pipeline
> >remains
> >
> >
> > > > full.ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ
> > > > #include
> > > > main()
> > > > {"KMotionDef.h"ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡Ãâàfor(;;) // loop
> >foreverÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡Ãâà{
> > > > ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ
> >WaitNextTimeSlice();ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ
> >
> > >if(ReadBit(46)) // Watch an
> > >
> > > >external input
> > > >
> > > > switchÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡Ãâà{
> > > > ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ
> >ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâàStopCoordinatedMotion();
> >
> > >//feedholdÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡Ãâà}
> > > > ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'ââ¬Å¡Ãâà}
> > > > }
> > > >
> > > >
> > > > #5 - Basically Stop - stops the motion, Reset - disables al the axes and
> > > > requires a re-initialization.
> > > >
> > > > #6 - KFlop basicallyÃÆ'ââ¬Å¡Ãâàreceives instructions from Mach3
> > > >
> > > > Regards
> > > > TK
> > > >
> > > >
> > > >
> > > >
> > > > ________________________________
> > > > From: likleong <likleong@>
> > > > To: DynoMotion@yahoogroups.com
> > > > Sent: Sun, March 6, 2011 11:41:08 PM
> > > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > > >
> > > > ÃÆ'ââ¬Å¡ÃâÃÂ
> > > > Hi TK,
> > > >
> > > > Thanks for your reply, for question 3, it is okay, I understanding, if we
> >use
> >
> > >
> > > > the pin, we should not put it in floating state. However, for Q1 and Q2, I
> >am
> >
> > >a
> > >
> > > >
> > > > little but confuse, could you please elaborate more on following area?
> > > >
> > > > 1. there are 3 sec of motion buffer in Mach3, is it store in mach3 or
> > > >downloaded
> > > >
> > > > to kflop hardware buffer?
> > > >
> > > > 2. If I press the "feedhold" button in Mach3, mach3 will stop to feed the
> > > > instruction to kflop and the buffered motions will continue running until
> >the
> >
> > >
> > > > buffer empty, right after I press the "start" button again in mach3, the
> > >motion
> > >
> > > >
> > > > will continue and there should no missed step or instruction, right?
> > > >
> > > > 3. If I press the "stop" button in mach3, the mach3 and kflop will stop
> > > > immediatly, then how about the content in the buffer? Are they being erase?
> >
> > > >
> > > >
> > > > 4. You said there is a hardware feedhold in kflop, how can we make use of
> >it?
> >
> > >
> > > >If
> > > >
> > > > we use this hardware feedhold, how can we keep mach3 and kflop syncronized
>
> > > >(make
> > > >
> > > > mach3 and flop stop at the same time)
> > > >
> > > > 5. What is the difference if I press "stop" and "reset" in mach3?
> > > >
> > > > 6. From kflop point of view, is there any concept of "reset", "emergency,
> > > >"stop"
> > > >
> > > > and "feed"? Or just received instruction from Mach3 ?
> > > >
> > > > Best regards,
> > > > Benny
> > > >
> > > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Hi Benny,
> > > > >
> > > > > #1 "Stop" will issue an immediateÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡Ãâàhardware feedhold to
> >KFlop so the
> >
> > >motion
> > >
> > > >
> > > > >will
> > > > >
> > > > > begin to stop immediately without a need to flush the motion
> > >buffer.ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâÃÂ
> > >
> > > >"Reset"
> > > >
> > > >
> > > > > will also cause Mach3 to disable the amplifier enables so the motion will
> >
> > > >also
> > > >
> > > >
> > > > > begin to stop immediately.ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâàHowever because MS Windows
> >is not
> >
> > >real-time
> > >
> > > > > responsive, pushing any button on a Windows Screen is not 100% reliable
> >in
> >
> >
> > > > > stopping motion.ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâàOn most Windows systems the response
> >to a button
> >
> > >press
> > >
> > > >is
> > > >
> > > > > usually nearly instant 99% of the time.ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâàTo get 100%
> >reliability
> >
> > >instant
> > >
> > > > > feedhold you must wire an external switch directly to KFlop that can
> > >initiate
> > >
> > > >
> > > > > hardware feed hold.
> > > > >
> > > > > #2 Yes issuing a hardware feedhold to KFlop either through an externally
>
> > > >wired
> > > >
> > > >
> > > > > button or a custom Mach3 Screen button will cause KFlop to stop
> >immediately
> >
> > >
> > > > > along the current path.ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâàReleasing the feedhold will
> >resume motion
> >
> >
> > > >smoothly
> > > >
> > > > > along the same path.ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâàHowever with hardware feedhold
> >Mach3 is not
> >
> > >really
> > >
> > > >aware
> > > >
> > > > >
> > > > > that the machine has stopped, so it is not possible to issue other Mach3
>
> > > > > commands such as Jogs or changing offsets.ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâàYou must
> >first depress
> >
> > >"Stop"
> > >
> > >
> > > > > inÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâàMach3.
> > > > >
> > > > > #3 This is a common misunderstanding.ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâàWhen defined as
> >inputs the
> >
> > >pins ARE
> > >
> > > >
> > > > > floating.ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâàKFlop uses MOSFET inputs which have
> >extremely high input
> >
> > >
> > > >resistance
> > > >
> > > > >
> > > > > (> 10 Meg Ohms).ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâàThat is why they change more or less
> >randomly
> >
> > > >andÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡Ãâàpossibly
> > > >
> > > >
> > > > > track the signals closest to them due to parasitic resistance and
> > > > >capacitance.ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâÃÂ
> > > > >
> > > > > This is normal.ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâÃÂ ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâàInputs that are
> >not connected to anything
> >
> > >are not
> > >
> > > >defined
> > > >
> > > > >and
> > > > >
> > > > > may have any value high or low.ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâàIf nothing is
> >connected to the
> >
> > >input then
> > >
> > > >
> > > > > nothing should care what the state is.ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâàWe used to
> > >applyÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡Ãâàweak pull down
> > >
> > > >
> > > > > resistors to avoid this confusion but this caused problems using pins in
>
> > > >"open
> > > >
> > > >
> > > > > collector" mode as the pin would never go fully "open".
> > > > >
> > > > > I hope this helps
> > > > > Regards
> > > > > TKÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâÃÂ
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > ________________________________
> > > > > From: likleong <likleong@>
> > > > > To: DynoMotion@yahoogroups.com
> > > > > Sent: Sun, March 6, 2011 5:59:27 AM
> > > > > Subject: [DynoMotion] Buffer issue in mach3
> > > > >
> > > > > ÃÆ'Ã'âââ¬Ã
Â¡ÃÆ'ââ¬Å¡ÃâÃÂ
> > > > > Hi TK,
> > > > >
> > > > > I have the following questions regarding to mach3 and kflop:
> > > > >
> > > > > 1. There are 3 sec buffer in mach3 plugin, is it meaning that, there will
> >
> > >be
> > >
> > > >3
> > > >
> > > >
> > > > > sec of motion command will be download to kflop's motion buffer? that
> >means
> >
> > >
> > > > >even
> > > > >
> > > > > mach3 stopped with "stop" or "reset" button, the kflop will keep running
>
> > >for
> > >
> > > >3
> > > >
> > > >
> > > > > sec until buffer empty, right?
> > > > >
> > > > >
> > > > > 2. In case of some emergency situation, in spit of hardware EMG stop, is
>
> > > >there
> > > >
> > > >
> > > > > any way to stop the mach3 and kflop immediately but keep the contents in
>
> > > >motion
> > > >
> > > > >
> > > > > buffer so that it can resume within mache?
> > > > >
> > > > > 3. I found that, some IO pins (eg, IO42, IO43), if I define them as Input
> >
> > >and
> > >
> > > >
> > > > > keep them floating, normally, they will read as low, however, if I put
> >One
> >
> > >of
> > >
> > > >
> > > > > them high, both of them will read high, until I ground the another one,
> >is
> >
> > >it
> > >
> > > >
> > > > > normal? Is it not possible to put the input pin floating?
> > > > >
> > > > > Bes reagrds,
> > > > > Benny
> > > > >
> > > >
> > >
> >
>
|
|
| Group: DynoMotion |
Message: 952 |
From: Tom Kerekes |
Date: 3/11/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi Benny,
I assume you are trying to drive something like the +5V input of a SSR (Solid State Relay) in open collector mode and NOT something like a 12V relay.
From a User Program to drive an I/O pin low set the Bit low and set it as an Output with:
ClearBit(XX);
SetBitDirection(XX,1);
To set an I/O pin "open" set the pin as an input.
SetBitDirection(XX,0);
As an input the Pin will be able to "float" up to ~3.9V because it is diode clamped to the 3.3V supply.
Regards
TK
| Group: DynoMotion |
Message: 953 |
From: likleong |
Date: 3/11/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi TK,
May be my question is not clear enough, I want to use the kflop IO pin as an output to drive a 3v relay directly, but I am afraid the current is not enough, because the relay need 50 mA to operate. Is there any way to solve this problem? How about set the IO pin in open collector mode?
Best regards,
Benny
--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Benny,
>
> I assume you are trying to drive something like the +5V input of a SSR (Solid
> State Relay) in open collector mode and NOT something like a 12V relay.
>
> From a User Program to drive an I/O pin low set the Bit low and set it as an
> Output with:
>
> ClearBit(XX);
> SetBitDirection(XX,1);
>
> To set an I/O pin "open" set the pin as an input.
>
> SetBitDirection(XX,0);
>
> As an input the Pin will be able to "float" up to ~3.9V because it is diode
> clamped to the 3.3V supply.
>
> Regards
> TK
>
>
>
>
>
> ________________________________
> From: likleong <likleong@...>
> To: DynoMotion@yahoogroups.com
> Sent: Thu, March 10, 2011 11:28:57 PM
> Subject: [DynoMotion] Re: Buffer issue in mach3
>
> �
> Hi TK,
>
> Thanks, I will try it out. I have another question regarding to the IO pins in
> kflop, can I define a general IO pin as output and in open collector at the same
> time? If I want to use the IO pin to drive a relay, any suggestion? Thanks.
>
> Best regards,
> Benny
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Benny,
> >
> > Read this and see if you still have questions.�� Look for information on the
> > Mach3 site on how to change the screens. ��We recommend the one written by
> >Klaus
> >
> > Dietz.��
> >
> >
> > http://www.dynomotion.com/Help/Mach3Plugin/Mach3Encoders.htm
> >
> > If you change the Cycle Start button to do:
> >
> > NotifyPlugins(11000)��
> >
> > The Cycle Start button should resume if KFlop is in the Hardware Feedhold
> >state,
> >
> > otherwise it will do a normal Cycle Start.
> >
> > Let me know if it isn't clear.
> >
> > Regards
> > TK
> >
> >
> >
> >
> >
> > ________________________________
> > From: likleong <likleong@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Wed, March 9, 2011 5:31:06 PM
> > Subject: [DynoMotion] Re: Buffer issue in mach3
> >
> > ��
> > Hi TK,
> >
> > Do you have any idea how to modify the existing "feedhold" button in mach3, on
>
> > top of the existing function, also make it issue a NotifyPlugins(XX) message to
> >
> > klop. On the other hand, how to handle the resume after the above feedhold?
> > Thanks.
> >
> > Best regards,
> > Benny
> >
> > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > >
> > > Hi Benny,
> > >
> > > Regarding question #1 - Exactly Correct.
> > >
> > > Regarding question #2 -��斾寉啱'm not sure exactly what you are asking - but I
> >think
> >
> > >
> > > the Mach3 manual states that "Stop" is likely to loose steps as it abruptly
> > > stops generating motion and flushes its buffers.��斾寉 In our plugin we attempt
> >to
> >
> >
> > > issue a hardware feedhold, then after coming to a stop, flush our buffers,
> >then
> >
> > >
> > > re-sync the position with Mach3.��斾寉 So it should be instant and with no loss
> >of
> >
> >
> > > steps, but not necessarily resume-able.
> > >
> > > Regarding question #3 - Yes.��斾寉 To issue a hardware feedhold from a Mach3
> >screen
> >
> > >
> > > you will need to modify��斾寉乸 Mach3 screen to add or change the functionality
> >of a
> >
> > >
> > > button to issue a NotifyPlugins(XX) message.��斾寉 This will cause��斾寉∂our
> >Notify C
> >
> > > program to execute in KFlop and pass it the message XX.��斾寉ó钊�斾寉 (Message
> >numbers
> >
> > >10000
> > >
> > > - 10999 will be passed to KFLOP).��斾寉 You can then code your Notify C program
> >to
> >
> >
> > > issue the StopCoordinatedMotion().
> > >
> > > Regards
> > > TK��斾寉
> > >
> > >
> > >
> > >
> > > ________________________________
> > > From: likleong <likleong@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Tue, March 8, 2011 11:02:52 PM
> > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > >
> > > ��斾寉
> > > Hi TK,
> > >
> > > Okay, for kflop HW feedhold, there is no step lost. for mach2 feedhold, there
> >
> > >is
> > >
> > > also no step lost, but need to waiting for couple of sec until buffer empty,
>
> > >and
> > >
> > > may be risk of slow respond from windows, right?
> > >
> > > Then, how about the "stop" in mach3? you said the buffer contents will be
> >erase
> >
> > >
> > > in last reply. Is it related to kflop HW feedhold or just use another way to
>
> > > stop immedately?
> > >
> > > Finally, if I ignore the respond issue from windows and just use the feedhold
> >
> > >in
> > >
> > > mach3, is there any way to make the mach 3 issue a feedhold command to kflop
>
> > > immedately(StopCoordinatedMotion) without waiting the buffer to empty?
> > >
> > > Best regards,
> > > Benny.
> > >
> > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > >
> > > > Hi Benny,
> > > >
> > > > #1 - No.��â�¬Å¡Ã钊�斾寉 It is also possible to resume instant hardware feedhold
> >without
> >
> > >lost
> > >
> > > >
> > > > steps.
> > > >
> > > > #2 - No.��â�¬Å¡Ã钊�斾寉 The hardware does not disable the axes or erase the
> >buffer.��â�¬Å¡Ã钊�斾寉
> >
> >
> > > >Basically
> > > >
> > > > KFlop slows down to a stop and stops taking motion from the
> >buffer.��â�¬Å¡Ã钊�斾寉 The
> >
> > > >buffer
> > > >
> > > > remains full.��â�¬Å¡Ã钊�斾寉 To resume Kflop again starts taking motion from the
>
> > buffer.
> > > >
> > > > #3 -��â�¬Å¡Ã钊�斾寉嘅o.��â�¬Å¡Ã钊�斾寉脷uffered instructions will not be
> >lost.��â�¬Å¡Ã钊�斾寉ó纱黒¢ââ\Å¡��斾寉嗰ach3 is always
> >
> > >waiting
> > >
> > > >for
> > > >
> > > > there to be space in the buffer.��â�¬Å¡Ã钊�斾寉 Whenever there becomes space
> >available
> >
> > >it
> > >
> > > > fills the buffer.��â�¬Å¡Ã钊�斾寉 After��â�¬Å¡Ã钊�斾寉嗱Flop stops��â�¬Å¡Ã钊�斾寉氲onsuming
> >motion the buffer
> >
> > >will remain
> > >
> > > >
> > > > full and Mach3 will wait.
> > > >
> > > >
> > > > The only problem with hardware feedhold is with issuing other commands
> > > >while��â�¬Å¡Ã钊�斾寉湶n
> > > >
> > > > feedhold.��â�¬Å¡Ã钊�斾寉 For example the tool breaks.��â�¬Å¡Ã钊�斾寉 You hit hardware
> >feedhold and
> >
> > >the
> > >
> > > > machine instantly stops.��â�¬Å¡Ã钊�斾寉 But now you want to Jog the machine,
> >change the
> >
> >
> > > > tool,��â�¬Å¡Ã钊�斾寉乸djust a work offset, etc.., then resume.��â�¬Å¡Ã钊�斾寉 Before
> >doing this you
> >
> > >must
> > >
> > > >push
> > > >
> > > > Stop in Mach3.��â�¬Å¡Ã钊�斾寉
> > > >
> > > > Regards
> > > > TK
> > > >
> > > >
> > > >
> > > > ________________________________
> > > > From: likleong <likleong@>
> > > > To: DynoMotion@yahoogroups.com
> > > > Sent: Mon, March 7, 2011 11:38:26 PM
> > > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > > >
> > > > ��â�¬Å¡Ã钊�斾寉
> > > > Hi TK,
> > > >
> > > > Is it meaning that,
> > > >
> > > > 1. Only "feedhold" button in mach3 can stop the running code without lost
> > >step
> > >
> > >
> > > > and motion instruction and then continue after the pause.
> > > >
> > > > 2. The hardware feedhold in kflop is actually monitor the input pin by c
> > > >program
> > > >
> > > > and then call a routine to stop/disable all the axis,and all the contents
> >in
> >
> >
> > > > motion buffer will also be erase.
> > > >
> > > > 3. Both hardware feedhold and "stop" button in mach3 will immediately
> >motion
> >
> >
> > > >the
> > > >
> > > > motion, however the buffered instruction will be lost. If we use hardware
> > > > feedhold, there is no way to notify mach3 when hardware feedhold enabled in
> >
> > > > kflop.
> > > >
> > > > Best regards,
> > > > Benny
> > > >
> > > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Hi Benny,
> > > > >
> > > > > Regarding:
> > > > >
> > > > > #1 -���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉澵ome of both actually.
> > > > >
> > > > > #2 - Yes the normal Mach3 feedhold works like that.���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> >However Mach3
> >
> > >doesn't
> > >
> > > >
> > > > > really stop feeding instructions, rather it changed the instructions to a
> >
> > > > > decelerated motion along the path and then a fixed location.
> > > > >
> > > > > #3 - Yes, Stop flushes all the buffers.
> > > > >
> > > > > #4 - Below is a simple program���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 (ExternalFeedhold.c
> > >example)���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉濳o watch an
> > >
> > > >I/O
> > > >
> > > > >bit
> > > > >
> > > > > and perform hardware feedhold when the input goes
> >high.���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 Mach3
> >
> > >naturally
> > >
> > > >stays
> > > >
> > > > >
> > > > > in sync because it doesn't even know it happened.���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> >From its
> >
> > >perspective
> > >
> > > >the
> > > >
> > > > > motion is just taking a long time to execute and the buffer pipeline
> > >remains
> > >
> > >
> > > > > full.���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 ���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> > > > > #include
> > > > > main()
> > > > >
> >{"KMotionDef.h"���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> >for(;;) // loop
> >
> > >forever���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 {
> > > > > ���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> >���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> >
> >>WaitNextTimeSlice();���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> >� ���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> >
> > >
> > > >if(ReadBit(46)) // Watch an
> > > >
> > > > >external input
> > > > >
> > > > > switch���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> >���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 {
> > > > > ���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> >���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> >
> > >���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> >StopCoordinatedMotion();
> >
> > >
> > > >//feedhold���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> >���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 }
> > > > > ���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 }
> > > > > }
> > > > >
> > > > >
> > > > > #5 - Basically Stop - stops the motion, Reset - disables al the axes and
>
> > > > > requires a re-initialization.
> > > > >
> > > > > #6 - KFlop basically���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉澑eceives instructions from Mach3
> > > > >
> > > > > Regards
> > > > > TK
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > ________________________________
> > > > > From: likleong <likleong@>
> > > > > To: DynoMotion@yahoogroups.com
> > > > > Sent: Sun, March 6, 2011 11:41:08 PM
> > > > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > > > >
> > > > > ���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> > > > > Hi TK,
> > > > >
> > > > > Thanks for your reply, for question 3, it is okay, I understanding, if we
> >
> > >use
> > >
> > > >
> > > > > the pin, we should not put it in floating state. However, for Q1 and Q2,
> >I
> >
> > >am
> > >
> > > >a
> > > >
> > > > >
> > > > > little but confuse, could you please elaborate more on following area?
> > > > >
> > > > > 1. there are 3 sec of motion buffer in Mach3, is it store in mach3 or
> > > > >downloaded
> > > > >
> > > > > to kflop hardware buffer?
> > > > >
> > > > > 2. If I press the "feedhold" button in Mach3, mach3 will stop to feed the
> >
> > > > > instruction to kflop and the buffered motions will continue running until
> >
> > >the
> > >
> > > >
> > > > > buffer empty, right after I press the "start" button again in mach3, the
>
> > > >motion
> > > >
> > > > >
> > > > > will continue and there should no missed step or instruction, right?
> > > > >
> > > > > 3. If I press the "stop" button in mach3, the mach3 and kflop will stop
> > > > > immediatly, then how about the content in the buffer? Are they being
> >erase?
> >
> > >
> > > > >
> > > > >
> > > > > 4. You said there is a hardware feedhold in kflop, how can we make use of
> >
> > >it?
> > >
> > > >
> > > > >If
> > > > >
> > > > > we use this hardware feedhold, how can we keep mach3 and kflop
> >syncronized
> >
> >
> > > > >(make
> > > > >
> > > > > mach3 and flop stop at the same time)
> > > > >
> > > > > 5. What is the difference if I press "stop" and "reset" in mach3?
> > > > >
> > > > > 6. From kflop point of view, is there any concept of "reset", "emergency,
> >
> > > > >"stop"
> > > > >
> > > > > and "feed"? Or just received instruction from Mach3 ?
> > > > >
> > > > > Best regards,
> > > > > Benny
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > > > >
> > > > > > Hi Benny,
> > > > > >
> > > > > > #1 "Stop" will issue an
> >immediate���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉温ardware feedhold to
> >
> > >KFlop so the
> > >
> > > >motion
> > > >
> > > > >
> > > > > >will
> > > > > >
> > > > > > begin to stop immediately without a need to flush the motion
> > > >buffer.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> > > >
> > > > >"Reset"
> > > > >
> > > > >
> > > > > > will also cause Mach3 to disable the amplifier enables so the motion
> >will
> >
> > >
> > > > >also
> > > > >
> > > > >
> > > > > > begin to stop immediately.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> >However because MS Windows
> >
> > >is not
> > >
> > > >real-time
> > > >
> > > > > > responsive, pushing any button on a Windows Screen is not 100% reliable
> >
> > >in
> > >
> > >
> > > > > > stopping motion.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 On most
> >Windows systems the response
> >
> > >to a button
> > >
> > > >press
> > > >
> > > > >is
> > > > >
> > > > > > usually nearly instant 99% of the
> >time.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 To get 100%
> >
> > >reliability
> > >
> > > >instant
> > > >
> > > > > > feedhold you must wire an external switch directly to KFlop that can
> > > >initiate
> > > >
> > > > >
> > > > > > hardware feed hold.
> > > > > >
> > > > > > #2 Yes issuing a hardware feedhold to KFlop either through an
> >externally
> >
> >
> > > > >wired
> > > > >
> > > > >
> > > > > > button or a custom Mach3 Screen button will cause KFlop to stop
> > >immediately
> > >
> > > >
> > > > > > along the current path.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> >Releasing the feedhold will
> >
> > >resume motion
> > >
> > >
> > > > >smoothly
> > > > >
> > > > > > along the same path.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 However
> >with hardware feedhold
> >
> > >Mach3 is not
> > >
> > > >really
> > > >
> > > > >aware
> > > > >
> > > > > >
> > > > > > that the machine has stopped, so it is not possible to issue other
> >Mach3
> >
> >
> > > > > > commands such as Jogs or changing
> >offsets.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 You must
> >
> > >first depress
> > >
> > > >"Stop"
> > > >
> > > >
> > > > > > in���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉嗰ach3.
> > > > > >
> > > > > > #3 This is a common
> >misunderstanding.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 When defined as
> >
> > >inputs the
> > >
> > > >pins ARE
> > > >
> > > > >
> > > > > > floating.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 KFlop uses MOSFET
> >inputs which have
> >
> > >extremely high input
> > >
> > > >
> > > > >resistance
> > > > >
> > > > > >
> > > > > > (> 10 Meg Ohms).���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 That is why
> >they change more or less
> >
> > >randomly
> > >
> > > > >and���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉漤ossibly
> > > > >
> > > > >
> > > > > > track the signals closest to them due to parasitic resistance and
> > > > > >capacitance.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> > > > > >
> > > > > > This is
> >normal.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> > Inputs that are
> >
> > >not connected to anything
> > >
> > > >are not
> > > >
> > > > >defined
> > > > >
> > > > > >and
> > > > > >
> > > > > > may have any value high or
> >low.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 If nothing is
> >
> > >connected to the
> > >
> > > >input then
> > > >
> > > > >
> > > > > > nothing should care what the state
> >is.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 We used to
> >
> > > >apply���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉烀eak pull down
> > > >
> > > > >
> > > > > > resistors to avoid this confusion but this caused problems using pins
> >in
> >
> >
> > > > >"open
> > > > >
> > > > >
> > > > > > collector" mode as the pin would never go fully "open".
> > > > > >
> > > > > > I hope this helps
> > > > > > Regards
> > > > > > TK���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > ________________________________
> > > > > > From: likleong <likleong@>
> > > > > > To: DynoMotion@yahoogroups.com
> > > > > > Sent: Sun, March 6, 2011 5:59:27 AM
> > > > > > Subject: [DynoMotion] Buffer issue in mach3
> > > > > >
> > > > > > ���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉
> > > > > > Hi TK,
> > > > > >
> > > > > > I have the following questions regarding to mach3 and kflop:
> > > > > >
> > > > > > 1. There are 3 sec buffer in mach3 plugin, is it meaning that, there
> >will
> >
> > >
> > > >be
> > > >
> > > > >3
> > > > >
> > > > >
> > > > > > sec of motion command will be download to kflop's motion buffer? that
> > >means
> > >
> > > >
> > > > > >even
> > > > > >
> > > > > > mach3 stopped with "stop" or "reset" button, the kflop will keep
> >running
> >
> >
> > > >for
> > > >
> > > > >3
> > > > >
> > > > >
> > > > > > sec until buffer empty, right?
> > > > > >
> > > > > >
> > > > > > 2. In case of some emergency situation, in spit of hardware EMG stop,
> >is
> >
> >
> > > > >there
> > > > >
> > > > >
> > > > > > any way to stop the mach3 and kflop immediately but keep the contents
> >in
> >
> >
> > > > >motion
> > > > >
> > > > > >
> > > > > > buffer so that it can resume within mache?
> > > > > >
> > > > > > 3. I found that, some IO pins (eg, IO42, IO43), if I define them as
> >Input
> >
> > >
> > > >and
> > > >
> > > > >
> > > > > > keep them floating, normally, they will read as low, however, if I put
>
> > >One
> > >
> > > >of
> > > >
> > > > >
> > > > > > them high, both of them will read high, until I ground the another one,
> >
> > >is
> > >
> > > >it
> > > >
> > > > >
> > > > > > normal? Is it not possible to put the input pin floating?
> > > > > >
> > > > > > Bes reagrds,
> > > > > > Benny
> > > > > >
> > > > >
> > > >
> > >
> >
>
|
|
| Group: DynoMotion |
Message: 954 |
From: Tom Kerekes |
Date: 3/11/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi Benny,
The 3.3V outputs can only source/sink 16ma. You would need some form of a driver. Or use a 3V Solid state relay.
Regards
TK
| Group: DynoMotion |
Message: 955 |
From: Lee Studley |
Date: 3/11/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi Benny,
I admire tom his patience: His support of his product cannot include
teaching of electronics or full design of your application.
You need to investigate this on you own. Otherwise he will go insane
and none of us will get supported :-)
In this case you need to use the IO to drive and N channel
transistor( BJT or Mosfet ) that will then be able to supply the
current control of your
external device.
Please read:
http://www.scienceprog.com/interfacing-microcontrollers-to-external-devices/
http://www.diodes.com/_files/products_appnote_pdfs/zetex/an10.pdf
http://www.dnatechindia.com/index.php/Tutorials/8051-Tutorial/Relay-Interfacing.html
On 3/11/2011 10:16 AM, likleong wrote:
Hi TK,
May be my question is not clear enough, I want to use the
kflop IO pin as an output to drive a 3v relay directly,
but I am afraid the current is not enough, because the
relay need 50 mA to operate. Is there any way to solve
this problem? How about set the IO pin in open collector
mode?
Best regards,
Benny
--- In DynoMotion@yahoogroups.com,
Tom Kerekes <tk@...> wrote:
>
> Hi Benny,
>
> I assume you are trying to drive something like the
+5V input of a SSR (Solid
> State Relay) in open collector mode and NOT something
like a 12V relay.
>
> From a User Program to drive an I/O pin low set the
Bit low and set it as an
> Output with:
>
> ClearBit(XX);
> SetBitDirection(XX,1);
>
> To set an I/O pin "open" set the pin as an input.
>
> SetBitDirection(XX,0);
>
> As an input the Pin will be able to "float" up to
~3.9V because it is diode
> clamped to the 3.3V supply.
>
> Regards
> TK
>
>
>
>
>
> ________________________________
> From: likleong <likleong@...>
> To: DynoMotion@yahoogroups.com
> Sent: Thu, March 10, 2011 11:28:57 PM
> Subject: [DynoMotion] Re: Buffer issue in mach3
>
> �
> Hi TK,
>
> Thanks, I will try it out. I have another question
regarding to the IO pins in
> kflop, can I define a general IO pin as output and in
open collector at the same
> time? If I want to use the IO pin to drive a relay,
any suggestion? Thanks.
>
> Best regards,
> Benny
>
> --- In DynoMotion@yahoogroups.com,
Tom Kerekes <tk@> wrote:
> >
> > Hi Benny,
> >
> > Read this and see if you still have
questions.�� Look for information on
the
> > Mach3 site on how to change the screens.
��We recommend the one written by
> >Klaus
> >
> > Dietz.��
> >
> >
> > http://www.dynomotion.com/Help/Mach3Plugin/Mach3Encoders.htm
> >
> > If you change the Cycle Start button to do:
> >
> > NotifyPlugins(11000)��
> >
> > The Cycle Start button should resume if KFlop is
in the Hardware Feedhold
> >state,
> >
> > otherwise it will do a normal Cycle Start.
> >
> > Let me know if it isn't clear.
> >
> > Regards
> > TK
> >
> >
> >
> >
> >
> > ________________________________
> > From: likleong <likleong@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Wed, March 9, 2011 5:31:06 PM
> > Subject: [DynoMotion] Re: Buffer issue in mach3
> >
> > ��
> > Hi TK,
> >
> > Do you have any idea how to modify the existing
"feedhold" button in mach3, on
>
> > top of the existing function, also make it issue
a NotifyPlugins(XX) message to
> >
> > klop. On the other hand, how to handle the
resume after the above feedhold?
> > Thanks.
> >
> > Best regards,
> > Benny
> >
> > --- In DynoMotion@yahoogroups.com,
Tom Kerekes <tk@> wrote:
> > >
> > > Hi Benny,
> > >
> > > Regarding question #1 - Exactly Correct.
> > >
> > > Regarding question #2
-��斾寉啱'm
not sure exactly what you are asking - but I
> >think
> >
> > >
> > > the Mach3 manual states that "Stop" is
likely to loose steps as it abruptly
> > > stops generating motion and flushes its
buffers.��斾寉 
In our plugin we attempt
> >to
> >
> >
> > > issue a hardware feedhold, then after
coming to a stop, flush our buffers,
> >then
> >
> > >
> > > re-sync the position with
Mach3.��斾寉 
So it should be instant and with no loss
> >of
> >
> >
> > > steps, but not necessarily resume-able.
> > >
> > > Regarding question #3 -
Yes.��斾寉 
To issue a hardware feedhold from a Mach3
> >screen
> >
> > >
> > > you will need to
modify��斾寉乸
Mach3 screen to add or change the functionality
> >of a
> >
> > >
> > > button to issue a NotifyPlugins(XX)
message.��斾寉 
This will
cause��斾寉∂our
> >Notify C
> >
> > > program to execute in KFlop and pass it the
message
XX.��斾寉ó钊�斾寉 
(Message
> >numbers
> >
> > >10000
> > >
> > > - 10999 will be passed to
KFLOP).��斾寉 
You can then code your Notify C program
> >to
> >
> >
> > > issue the StopCoordinatedMotion().
> > >
> > > Regards
> > >
TK��斾寉 
> > >
> > >
> > >
> > >
> > > ________________________________
> > > From: likleong <likleong@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Tue, March 8, 2011 11:02:52 PM
> > > Subject: [DynoMotion] Re: Buffer issue in
mach3
> > >
> > >
��斾寉 
> > > Hi TK,
> > >
> > > Okay, for kflop HW feedhold, there is no
step lost. for mach2 feedhold, there
> >
> > >is
> > >
> > > also no step lost, but need to waiting for
couple of sec until buffer empty,
>
> > >and
> > >
> > > may be risk of slow respond from windows,
right?
> > >
> > > Then, how about the "stop" in mach3? you
said the buffer contents will be
> >erase
> >
> > >
> > > in last reply. Is it related to kflop HW
feedhold or just use another way to
>
> > > stop immedately?
> > >
> > > Finally, if I ignore the respond issue from
windows and just use the feedhold
> >
> > >in
> > >
> > > mach3, is there any way to make the mach 3
issue a feedhold command to kflop
>
> > > immedately(StopCoordinatedMotion) without
waiting the buffer to empty?
> > >
> > > Best regards,
> > > Benny.
> > >
> > > --- In DynoMotion@yahoogroups.com,
Tom Kerekes <tk@> wrote:
> > > >
> > > > Hi Benny,
> > > >
> > > > #1 -
No.��â�¬Å¡Ã钊�斾寉 
It is also possible to resume instant hardware feedhold
> >without
> >
> > >lost
> > >
> > > >
> > > > steps.
> > > >
> > > > #2 -
No.��â�¬Å¡Ã钊�斾寉 
The hardware does not disable the axes or erase the
>
>buffer.��â�¬Å¡Ã钊�斾寉 
> >
> >
> > > >Basically
> > > >
> > > > KFlop slows down to a stop and stops
taking motion from the
>
>buffer.��â�¬Å¡Ã钊�斾寉 
The
> >
> > > >buffer
> > > >
> > > > remains
full.��â�¬Å¡Ã钊�斾寉 
To resume Kflop again starts taking motion from the
>
> > buffer.
> > > >
> > > > #3
-��â�¬Å¡Ã钊�斾寉嘅o.��â�¬Å¡Ã钊�斾寉脷uffered
instructions will not be
>
>lost.��â�¬Å¡Ã钊�斾寉ó纱黒¢ââ\Å¡��斾寉嗰ach3
is always
> >
> > >waiting
> > >
> > > >for
> > > >
> > > > there to be space in the
buffer.��â�¬Å¡Ã钊�斾寉 
Whenever there becomes space
> >available
> >
> > >it
> > >
> > > > fills the
buffer.��â�¬Å¡Ã钊�斾寉 
After��â�¬Å¡Ã钊�斾寉嗱Flop
stops��â�¬Å¡Ã钊�斾寉氲onsuming
> >motion the buffer
> >
> > >will remain
> > >
> > > >
> > > > full and Mach3 will wait.
> > > >
> > > >
> > > > The only problem with hardware
feedhold is with issuing other commands
> > >
>while��â�¬Å¡Ã钊�斾寉湶n
> > > >
> > > >
feedhold.��â�¬Å¡Ã钊�斾寉 
For example the tool
breaks.��â�¬Å¡Ã钊�斾寉 
You hit hardware
> >feedhold and
> >
> > >the
> > >
> > > > machine instantly
stops.��â�¬Å¡Ã钊�斾寉 
But now you want to Jog the machine,
> >change the
> >
> >
> > > >
tool,��â�¬Å¡Ã钊�斾寉乸djust
a work offset, etc.., then
resume.��â�¬Å¡Ã钊�斾寉 
Before
> >doing this you
> >
> > >must
> > >
> > > >push
> > > >
> > > > Stop in
Mach3.��â�¬Å¡Ã钊�斾寉 
> > > >
> > > > Regards
> > > > TK
> > > >
> > > >
> > > >
> > > > ________________________________
> > > > From: likleong <likleong@>
> > > > To: DynoMotion@yahoogroups.com
> > > > Sent: Mon, March 7, 2011 11:38:26 PM
> > > > Subject: [DynoMotion] Re: Buffer issue
in mach3
> > > >
> > > >
��â�¬Å¡Ã钊�斾寉 
> > > > Hi TK,
> > > >
> > > > Is it meaning that,
> > > >
> > > > 1. Only "feedhold" button in mach3 can
stop the running code without lost
> > >step
> > >
> > >
> > > > and motion instruction and then
continue after the pause.
> > > >
> > > > 2. The hardware feedhold in kflop is
actually monitor the input pin by c
> > > >program
> > > >
> > > > and then call a routine to
stop/disable all the axis,and all the contents
> >in
> >
> >
> > > > motion buffer will also be erase.
> > > >
> > > > 3. Both hardware feedhold and "stop"
button in mach3 will immediately
> >motion
> >
> >
> > > >the
> > > >
> > > > motion, however the buffered
instruction will be lost. If we use hardware
> > > > feedhold, there is no way to notify
mach3 when hardware feedhold enabled in
> >
> > > > kflop.
> > > >
> > > > Best regards,
> > > > Benny
> > > >
> > > > --- In DynoMotion@yahoogroups.com,
Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Hi Benny,
> > > > >
> > > > > Regarding:
> > > > >
> > > > > #1
-���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉澵ome
of both actually.
> > > > >
> > > > > #2 - Yes the normal Mach3
feedhold works like
that.���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >However Mach3
> >
> > >doesn't
> > >
> > > >
> > > > > really stop feeding instructions,
rather it changed the instructions to a
> >
> > > > > decelerated motion along the path
and then a fixed location.
> > > > >
> > > > > #3 - Yes, Stop flushes all the
buffers.
> > > > >
> > > > > #4 - Below is a simple
program���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 (ExternalFeedhold.c
> >
>example)���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉濳o
watch an
> > >
> > > >I/O
> > > >
> > > > >bit
> > > > >
> > > > > and perform hardware feedhold
when the input goes
>
>high.���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
Mach3
> >
> > >naturally
> > >
> > > >stays
> > > >
> > > > >
> > > > > in sync because it doesn't even
know it
happened.���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >From its
> >
> > >perspective
> > >
> > > >the
> > > >
> > > > > motion is just taking a long time
to execute and the buffer pipeline
> > >remains
> > >
> > >
> > > > >
full.���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> > > > > #include
> > > > > main()
> > > > >
>
>{"KMotionDef.h"���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >for(;;) // loop
> >
> >
>forever���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
{
> > > > >
���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
>
>���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >
>
>>WaitNextTimeSlice();���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >�
���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >
> > >
> > > >if(ReadBit(46)) // Watch an
> > > >
> > > > >external input
> > > > >
> > > > >
switch���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
>
>���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
{
> > > > >
���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
>
>���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >
> >
>���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >StopCoordinatedMotion();
> >
> > >
> > >
>//feedhold���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
>
>���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
}
> > > > >
���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
}
> > > > > }
> > > > >
> > > > >
> > > > > #5 - Basically Stop - stops the
motion, Reset - disables al the axes and
>
> > > > > requires a re-initialization.
> > > > >
> > > > > #6 - KFlop
basically���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉澑eceives
instructions from Mach3
> > > > >
> > > > > Regards
> > > > > TK
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > ________________________________
> > > > > From: likleong <likleong@>
> > > > > To: DynoMotion@yahoogroups.com
> > > > > Sent: Sun, March 6, 2011 11:41:08
PM
> > > > > Subject: [DynoMotion] Re: Buffer
issue in mach3
> > > > >
> > > > >
���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> > > > > Hi TK,
> > > > >
> > > > > Thanks for your reply, for
question 3, it is okay, I understanding, if we
> >
> > >use
> > >
> > > >
> > > > > the pin, we should not put it in
floating state. However, for Q1 and Q2,
> >I
> >
> > >am
> > >
> > > >a
> > > >
> > > > >
> > > > > little but confuse, could you
please elaborate more on following area?
> > > > >
> > > > > 1. there are 3 sec of motion
buffer in Mach3, is it store in mach3 or
> > > > >downloaded
> > > > >
> > > > > to kflop hardware buffer?
> > > > >
> > > > > 2. If I press the "feedhold"
button in Mach3, mach3 will stop to feed the
> >
> > > > > instruction to kflop and the
buffered motions will continue running until
> >
> > >the
> > >
> > > >
> > > > > buffer empty, right after I press
the "start" button again in mach3, the
>
> > > >motion
> > > >
> > > > >
> > > > > will continue and there should no
missed step or instruction, right?
> > > > >
> > > > > 3. If I press the "stop" button
in mach3, the mach3 and kflop will stop
> > > > > immediatly, then how about the
content in the buffer? Are they being
> >erase?
> >
> > >
> > > > >
> > > > >
> > > > > 4. You said there is a hardware
feedhold in kflop, how can we make use of
> >
> > >it?
> > >
> > > >
> > > > >If
> > > > >
> > > > > we use this hardware feedhold,
how can we keep mach3 and kflop
> >syncronized
> >
> >
> > > > >(make
> > > > >
> > > > > mach3 and flop stop at the same
time)
> > > > >
> > > > > 5. What is the difference if I
press "stop" and "reset" in mach3?
> > > > >
> > > > > 6. From kflop point of view, is
there any concept of "reset", "emergency,
> >
> > > > >"stop"
> > > > >
> > > > > and "feed"? Or just received
instruction from Mach3 ?
> > > > >
> > > > > Best regards,
> > > > > Benny
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com,
Tom Kerekes <tk@> wrote:
> > > > > >
> > > > > > Hi Benny,
> > > > > >
> > > > > > #1 "Stop" will issue an
>
>immediate���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉温ardware
feedhold to
> >
> > >KFlop so the
> > >
> > > >motion
> > > >
> > > > >
> > > > > >will
> > > > > >
> > > > > > begin to stop immediately
without a need to flush the motion
> > >
>buffer.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> > > >
> > > > >"Reset"
> > > > >
> > > > >
> > > > > > will also cause Mach3 to
disable the amplifier enables so the motion
> >will
> >
> > >
> > > > >also
> > > > >
> > > > >
> > > > > > begin to stop
immediately.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >However because MS Windows
> >
> > >is not
> > >
> > > >real-time
> > > >
> > > > > > responsive, pushing any
button on a Windows Screen is not 100% reliable
> >
> > >in
> > >
> > >
> > > > > > stopping
motion.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
On most
> >Windows systems the response
> >
> > >to a button
> > >
> > > >press
> > > >
> > > > >is
> > > > >
> > > > > > usually nearly instant 99%
of the
>
>time.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
To get 100%
> >
> > >reliability
> > >
> > > >instant
> > > >
> > > > > > feedhold you must wire an
external switch directly to KFlop that can
> > > >initiate
> > > >
> > > > >
> > > > > > hardware feed hold.
> > > > > >
> > > > > > #2 Yes issuing a hardware
feedhold to KFlop either through an
> >externally
> >
> >
> > > > >wired
> > > > >
> > > > >
> > > > > > button or a custom Mach3
Screen button will cause KFlop to stop
> > >immediately
> > >
> > > >
> > > > > > along the current
path.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >Releasing the feedhold will
> >
> > >resume motion
> > >
> > >
> > > > >smoothly
> > > > >
> > > > > > along the same
path.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
However
> >with hardware feedhold
> >
> > >Mach3 is not
> > >
> > > >really
> > > >
> > > > >aware
> > > > >
> > > > > >
> > > > > > that the machine has
stopped, so it is not possible to issue other
> >Mach3
> >
> >
> > > > > > commands such as Jogs or
changing
>
>offsets.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
You must
> >
> > >first depress
> > >
> > > >"Stop"
> > > >
> > > >
> > > > > >
in���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉嗰ach3.
> > > > > >
> > > > > > #3 This is a common
>
>misunderstanding.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
When defined as
> >
> > >inputs the
> > >
> > > >pins ARE
> > > >
> > > > >
> > > > > >
floating.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
KFlop uses MOSFET
> >inputs which have
> >
> > >extremely high input
> > >
> > > >
> > > > >resistance
> > > > >
> > > > > >
> > > > > > (> 10 Meg
Ohms).���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
That is why
> >they change more or less
> >
> > >randomly
> > >
> > > >
>and���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉漤ossibly
> > > > >
> > > > >
> > > > > > track the signals closest to
them due to parasitic resistance and
> > > > >
>capacitance.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> > > > > >
> > > > > > This is
>
>normal.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã
;纱黒¢ââ\Å¡��斾寉 
> > Inputs that are
> >
> > >not connected to anything
> > >
> > > >are not
> > > >
> > > > >defined
> > > > >
> > > > > >and
> > > > > >
> > > > > > may have any value high or
>
>low.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
If nothing is
> >
> > >connected to the
> > >
> > > >input then
> > > >
> > > > >
> > > > > > nothing should care what the
state
>
>is.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
We used to
> >
> > >
>apply���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉烀eak
pull down
> > > >
> > > > >
> > > > > > resistors to avoid this
confusion but this caused problems using pins
> >in
> >
> >
> > > > >"open
> > > > >
> > > > >
> > > > > > collector" mode as the pin
(Message over 64 KB, truncated)
|
|
| Group: DynoMotion |
Message: 956 |
From: Tom Kerekes |
Date: 3/11/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi Lee,
Those are great links. Thanks.
(I have no problem trying to answer questions on the group as other users probably have the same issues)
TK
| Group: DynoMotion |
Message: 957 |
From: Lee Studley |
Date: 3/11/2011 |
| Subject: Re: Buffer issue in mach3 |
Hi Tom and Benny,
That's true. I was surprised at the lengths needed to find good
examples as I searched today. I have books
from way back when I learned that stuff. Steve Ciarcia's books on
building you own Z80
was classic! Had good thermal managment primer inside also.
WOW just found it in downloadable form( dated but highly
recommended!!!):
http://www.scribd.com/doc/13388965/Build-Your-Own-Z80-Computer
Benny,
Look especially at figure10 page6 of this appnote. It's simple and
will be perfect for
most reasonable open collector drive requirements.
http://www.diodes.com/_files/products_appnote_pdfs/zetex/an10.pdf
On 3/11/2011 12:08 PM, Tom Kerekes wrote:
Hi Lee,
Those are great links. Thanks.
(I have no problem trying to answer questions on
the group as other users probably have the same
issues)
TK
| | | | | | | | | | | | | | | | | |