home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   rec.crafts.metalworking      Metal working and metallurgy      215,319 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 213,853 of 215,319   
   Bob La Londe to Jim Wilkins   
   Re: Yet Another New Machine (1/2)   
   05 Nov 24 11:35:45   
   
   From: none@none.com99   
      
   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.   
      
   [continued in next message]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca