"James Reed" <[EMAIL PROTECTED]> wrote:

> I try to be an open minded person. SInce I don't understand pyVCP yet, and 
> I know a little about Qt3, I thought trying both would be a good learning 
> experience. I haven't heard much about what the 2 minutes with pyVCP would 
> entail, either. I think I have soemwhat of a grasp on HAL, but that is 
> because of the good documentation EMC has provided. 

Both approaches have their own strong points.  As Jeff demonstrated, the
Qt code can easily make a nice DRO style display when EMC is running.
http://axis.unpy.net/01167918097

But it does require EMC to be running - it uses NML to get its data, and
the NML data comes from EMC.  That in turn means that a number of EMC 
specific requirements need to be met.  For example, if you are trying to
make a DRO for a manual machine, EMC will trip on a following error as 
soon as you turn the crank.

If you want a plain DRO for a manual machine, you'll either need to do
some programming to make the Qt stuff work without EMC, or you can use
the HAL+PyVCP approach.

The simplest HAL+PyVCP approach is simply to route the position from the
encoders to PyVCP "number" widgets for display.  However, that gives you
the raw position.  Wherever the axis was when you powered up will be zero,
and you can't change that.

A nicer DRO has a "zero" button (either one for each axis, or one that
controls all three axes).  When you push it, the display is zeroed and
all subsequent measurements are made from that point.  That is quite easy
to do in HAL.  Use a sample/hold block to capture the present position,
and subtract the captured position from the live position for display.
HAL doesn't have a sample/hold block (yet), but the mux2 block works
as a sample/hold if you feed its output back to one of its inputs.

I've attached a pair of files, pyvcp-dro.xml and pyvcp-dro.hal, which
(should) implement a 3 axis DRO with one "zero" button for each axis.
I say "should" because I'm away from my Linux box and can't test it.

To use, you need CVS HEAD (that's the only version with PyVCP at the
moment).  Put the attached files in the top level directory of the
checkout, open a shell, and run:

scripts/halrun -I pyvcp-dro.hal

To quit, type "exit" at the halcmd prompt.

Regards,

John Kasunich






Attachment: pyvcp-dro.hal
Description: Binary data

Attachment: pyvcp-dro.xml
Description: Binary data

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to