"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
pyvcp-dro.hal
Description: Binary data
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
