Re: EMC: why do I have so many problems?
Posted by
Ray
on 2001-10-13 07:52:06 UTC
Hi Doc.
sounds like you are getting to the point of frustration with Linux/BDI/EMC
and this is not all bad. Most of the irritation comes from the fact that
this huge pile of software is all "open" and configurable. The remainder
seems to be caused by a couple of serious bugs in the system that you are
trying to run.
Bug 1. The initial BDI shipped before we were able to find a glitch in
the buffers that had been frustrating several of us for more than a year.
This has been found. The newer releases fix this. Most folk find that
running freqmod rather than steppermod with BDI-2.04 makes a passable
system. It will run your machine a little slower and will cause some
frustration while you tune it. Or you can get one of the upgrades. See
linuxcnc.org.
Bug 2. For some reason that I haven't found yet, the new six axis
interpreter doesn't report its error messages to the correct place for
them to popup on screen. Someday we will get to the bottom of this but it
isn't my highest priority.
What I do is set ini's DEBUG = 0x7FFFFFFF and start the emc in a terminal
window so that errors get reported there. Load up the program and press
verify. When it reports an error, fix it and verify again. Repeat to m2,
m30, or % and you're home free. Then I run it using the backplotter under
the view menu. If I haven't drilled a hole through the virtual bed or
milled a pocket in my imaginary vise, I put a part in there, put my
nomex/kevlar suit on, and run it.
Bug 3. This one is a biggie -- though not nearly as big as any one of the
windows oss from some commercial companies. The real-time extensions WILL
cause the system to crash. NMT is the breed of real-time extensions for
Linux that are currently used by most EMC releases. NMT is NOT approved
by Linus. My guess is that it will never be approved by Linus. It will
not become a part of the real Linux kernel. Something like it will, but
there are several companies, concerns, groups, writing competing versions
of real-time extensions. Right now, all of these systems weaken the
integrity of Linux. (Yes, I clicked on the *.exe that I received from a
certain gentleman member of this list the other day. And grinned!)
Linus and the kernel development team are studying this real-time issue
and it will become a regular feature of Linux. One of these days you will
be able to run the EMC with a Linus approved kernel. Right now you can
not. BDI-Paul and the NIST folk are working on a version of the EMC that
will run on a real-time system that appears to be somewhat more stable
than NMT. We should have reports before long.
Since others have answered several specific questions, I'll try those they
didn't. And add a couple comments
to it by name in your g-code program and find the pinouts on the first
parport. There are some display/hmi/gui issues. These are addressed in
the tarball called raytk1.tgz in the linuxcnc.org dropbox. Read the text
file with the similar name. Some other issues are addressed in the full
experimental release there but there are some additional problems that
have been found with it. I'll soon have another up there for folk to find
problems with.
If you want to add coolant, lube, spindle, and such you will need a second
parport and the bridgeport values in your ini file. The pin numbers and
polarities are defined in the I/O section.
that I define several resolutions for my best monitors and can do some
testing of the appearance by switching between them with <control><alt>
and the number pad (+) without serious problems. But you should be sure
that you test each resolution definition as you create them.
I wrote one of the guis in raytk1.tgz in order to run my Grizzlies using
the old ViewSonic 1 monitors that I have in the basement. (they seem to
reproduce themselves) This monitor only allows 640x480. The display
is called tkemcex and it's a full featured gui. It automatically displays
the number of axes(sp?) that you have defined in your ini. It will popin
all of the currently available view, edit, test, and configuration stuff.
And in manual mode you can jog any focussed axis using +,-. Arrows and pg
up/dn still jog the first three. Multiple popins are allowed and you can
toggle between using <alt>spacebar. There is also a feedhold bound to the
keyboard pause key.
(Now if this isn't blatent selling!)
HTH
Ray
> From: whollid1@...Kudos for your work on this project. Sounds like a good setup. It also
sounds like you are getting to the point of frustration with Linux/BDI/EMC
and this is not all bad. Most of the irritation comes from the fact that
this huge pile of software is all "open" and configurable. The remainder
seems to be caused by a couple of serious bugs in the system that you are
trying to run.
Bug 1. The initial BDI shipped before we were able to find a glitch in
the buffers that had been frustrating several of us for more than a year.
This has been found. The newer releases fix this. Most folk find that
running freqmod rather than steppermod with BDI-2.04 makes a passable
system. It will run your machine a little slower and will cause some
frustration while you tune it. Or you can get one of the upgrades. See
linuxcnc.org.
Bug 2. For some reason that I haven't found yet, the new six axis
interpreter doesn't report its error messages to the correct place for
them to popup on screen. Someday we will get to the bottom of this but it
isn't my highest priority.
What I do is set ini's DEBUG = 0x7FFFFFFF and start the emc in a terminal
window so that errors get reported there. Load up the program and press
verify. When it reports an error, fix it and verify again. Repeat to m2,
m30, or % and you're home free. Then I run it using the backplotter under
the view menu. If I haven't drilled a hole through the virtual bed or
milled a pocket in my imaginary vise, I put a part in there, put my
nomex/kevlar suit on, and run it.
Bug 3. This one is a biggie -- though not nearly as big as any one of the
windows oss from some commercial companies. The real-time extensions WILL
cause the system to crash. NMT is the breed of real-time extensions for
Linux that are currently used by most EMC releases. NMT is NOT approved
by Linus. My guess is that it will never be approved by Linus. It will
not become a part of the real Linux kernel. Something like it will, but
there are several companies, concerns, groups, writing competing versions
of real-time extensions. Right now, all of these systems weaken the
integrity of Linux. (Yes, I clicked on the *.exe that I received from a
certain gentleman member of this list the other day. And grinned!)
Linus and the kernel development team are studying this real-time issue
and it will become a regular feature of Linux. One of these days you will
be able to run the EMC with a Linus approved kernel. Right now you can
not. BDI-Paul and the NIST folk are working on a version of the EMC that
will run on a real-time system that appears to be somewhat more stable
than NMT. We should have reports before long.
Since others have answered several specific questions, I'll try those they
didn't. And add a couple comments
>5: How do I modify EMC to accept the 4th axis after I install theYou need not modify anything from the BDI to add a 4'th. You simply refer
>parallel card #2, can I use the other outputs on the 2nd parallel to
>control coolant etc
to it by name in your g-code program and find the pinouts on the first
parport. There are some display/hmi/gui issues. These are addressed in
the tarball called raytk1.tgz in the linuxcnc.org dropbox. Read the text
file with the similar name. Some other issues are addressed in the full
experimental release there but there are some additional problems that
have been found with it. I'll soon have another up there for folk to find
problems with.
If you want to add coolant, lube, spindle, and such you will need a second
parport and the bridgeport values in your ini file. The pin numbers and
polarities are defined in the I/O section.
> 9: is emc finicky about monitor resolution, because when I changed toPaul pointed out that this is probably a real-time glitch. I'll add here
> a lower resolution setting it went to a 100% lockup rate, that was
> right before I Fragged the system running xconfigurator
that I define several resolutions for my best monitors and can do some
testing of the appearance by switching between them with <control><alt>
and the number pad (+) without serious problems. But you should be sure
that you test each resolution definition as you create them.
I wrote one of the guis in raytk1.tgz in order to run my Grizzlies using
the old ViewSonic 1 monitors that I have in the basement. (they seem to
reproduce themselves) This monitor only allows 640x480. The display
is called tkemcex and it's a full featured gui. It automatically displays
the number of axes(sp?) that you have defined in your ini. It will popin
all of the currently available view, edit, test, and configuration stuff.
And in manual mode you can jog any focussed axis using +,-. Arrows and pg
up/dn still jog the first three. Multiple popins are allowed and you can
toggle between using <alt>spacebar. There is also a feedhold bound to the
keyboard pause key.
(Now if this isn't blatent selling!)
HTH
Ray