Sujet : Re: Yet Another New Machine
De : none (at) *nospam* none.com99 (Bob La Londe)
Groupes : rec.crafts.metalworkingDate : 05. Nov 2024, 19:35:45
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vgdohv$16n6e$1@dont-email.me>
References : 1 2 3 4 5
User-Agent : Mozilla Thunderbird
On 11/4/2024 7:13 PM, Jim Wilkins wrote:
"Bob La Londe" wrote in message news:vgbl3p$15ami$1@dont-email.me...
First off I have "built up" a couple CNC control systems. Designed might be a strong word, but assembled from assorted "black boxes" would not. The thing is the Masso G3 control does "almost" everything in one finished unit for not much more than I could buy the parts, and it appears to be code compatible with what I am already using so the post processor would need little or no modification. Yes I have modified the post processors for all of my different machines. Most are just minor tweaks. Actually I rewrote the macros more than modified the post on the Mach controlled machines, so except for physical capability the code is cross compatible on all of those.
>
Well if I was cheap I could build a controller a lot cheaper, but I'm tired of tweaking machines for weeks to get them to run right.
I was warned to expect 3-4 weeks to ship as they build machines to
order. I got notice this morning my machine is shipping today. I guess
I'll be desperately be trying to build a base and table for it in the
next couple days before it arrives.
Most OS/PC based controllers would appear more to interpret g-Code rather than compile it. Mach 3/4, LinuxCNC/PathPilot, UCNC, GRBL, Acorn, Edding, etc etc. There are features of the interpreters that do more than just interpret such as do a look ahead and deliberately introduce a rounding error (constant velocity mode) in the trajectory planner in order to improve machine time. They do a look ahead in the code to see what's coming next.
Anyway, they act like interpreters (with some extra features and to provide some environmental settings (to specify the machine capabilities)) rather than a compiler. G-code is a simple text file. I think of them as an interpreter sending instructions to a multiplexer via a port or ports. Probably not exactly accurate, but close enough for generalization.
Most of the G-Code execution programs use some, but not necessarily all, of the Fanuc standard instruction set, and some (HAAS among others) add or modify them to suit their own applications more directly. Some interpret them slightly differently or require some minor variations in syntax.
I suspect "most" modern G-code execution programs are interpreters/controllers running under an overlying operating system. There might be some that are an interpreter/controller and their own operating system in one, but I do not know enough to determine that, and I expect anybody running something like that would not tell me.
There is some grey area, as most do calculate the entire tool path for the entire job prior to being able to execute. In Mach 3 you will see every single line on the tool path display if it is turned on. In LinuxCNC it will display up to whatever calculation limit you set on the screen. I leave it at the default because it uses less processor power and less graphics processor memory in LinuxCNC. On older machines running Mach 3, after making sure the tool path display didn't show me anything obviously wrong I would turn off the tool path display on large files (800K to a few million lines of code).
It also gets grey when running some external motion controllers. Many of them store several lines of machine instructions (pulse stream, tachometer, external feedback information) to prevent or reduce issues from the controller computer getting busy. This can be an issue with Windows for example because it is not a real time operating system. Or rather it does not by default give real time control to programs running under its overhead. Not sure I said that right, but I am sure you get the idea.
So is it a compiler? Well at some point it turns text into pulse streams, voltage levels, and other final data and signals that goes to the drivers and the motors, relays, and voltage regulators (0-10VDC for spindle control for example) but it executes the code one line at a time even if the output is stored in memory or an external device for the next several/many lines interpreted. It does not create an executable file that runs directly under the OS either standalone like a little .COM file created by CHASM or with a range of supporting libraries like a C outputted .EXE file. No I think its best described as a specialized interpreter.
I'm far from an expert, but I did eventually drop out of college while working on my degrees in business and computer information systems. (originally computer programming) LOL. In my defense I had all the core credits for two degrees, but they played games with the qualification of some of my non core credits. Classes that they changed from a humanities to a social science after I had taken them. Things like that. I got up and walked out when they told me my Introduction to Computer Programming no longer qualified and I had to pay more to take Introduction to Data Processing. A class where I had taught at least a third of the students how to pass in the computer lab, and instructors actually came to me to ask permission to copy some of my lessons (for more advanced classes usually) and examples in class. Sorry, there is more to it than that and a few decades later I still have a lot of heartburn over it. At least the worthless low down no good yellow bellied scum sucking bastards finally stopped sending me Alumni solicitations.
As a side note. I took a couple geology classes in College. I wanted hard sciences, but openings were always full from nursing and engineering students. I got stuck with geology, and it really is as easy as other fields joke it is. I think below 300 level geology should be taught in high school. Anyway, one of my instructors who obviously was not a jock who took geology in order to not get disqualified from football was doing computer models for ground water saturation studies for the Bureau of Reclamation. He was running a basic interpreter on an old (new back then, we only had one in the computer lab) 386 and it was taking a day or two to execute. Sometimes a lot more. I introduced him to Quick Basic V4.5 and wrote some simple programs to clean up his code so Quick Basic would compile it, and an execution from data entry to result took just a couple hours at most after that.
I have not written an actual computer program in probably 20-25 years. It was a simple screen saver and program execution menu for PC-Dos 7.0. in order to prevent monitor burn in it would randomly flash the date and time around the screen. When you hit any key it brought up an executable menu. Not as fancy as Deskview on the menuing side, but it kept monitors readable. I used that particular computer for remote programming alarm panels and some phone switches via modem. Technically entering parameters, and reading activity logs. Not really programming, but people call it that.
-- Bob La LondeCNC Molds N Stuff-- This email has been checked for viruses by AVG antivirus software.www.avg.com