3 ms·
Is there any reason why CNC machines aren't directly controlled by CAM software, beyond it always having been done that way? I'd think it would be useful to in
by juliangoldsmith 8y ago
Is there any reason why CNC machines aren't directly controlled by CAM software, beyond it always having been done that way?
I'd think it would be useful to integrate the two, instead of the CAM software just firing-and-forgetting toolpaths.
- kazinator 8y agoWild assed guesses: Damage/safety issues: operating the milling machines incorrectly, or in an untimely manner. Related to latter point: lack of hard real-time processing in the upstream software?
- DannyBee 8y ago1. You can do SIL-* in software. 2. See, e.g., beckhoff :) (Both are these are solvable, it's interfacing with the machine in any standardized way that is not)
- semi-extrinsic 8y agoThe gcode emitted by CAM software is quite literally the assembly code of CNC machines. Your question is somehow similar to "why can't the C code directly control the CPU"?
- rmu09 8y agoCAM can take a lot of time and need considerable computing resources. Not that much of issue today, but still, why do the same computations over and over again? Also, you will want to inspect the toolpaths before running them on real hardware.
- juliangoldsmith 8y agoYeah, you'd still definitely want to look at the toolpaths. As far as recalculating everything, it could still calculate most of it ahead of time. What I'm thinking of is something like a CAM workspace in FreeCAD. That is, something like would let you take your model, generate and inspect a toolpath (or flip through possible toolpaths), and produce a part. The CAM software would get feedback from the controller, so it could follow what was going on. It might also be possible to make adjustments, or pause the run, based on sensors. For instance, if you could detect chatter, you could slow down the feed rate; if you could detect a broken tool, you could pause the run and ping the operator.
- rmu09 8y agoIt should not be that hard to export current axis positions and get it into FreeCAD. Look at machinekit, they have remote control and toolpath display. Pause/run/start, override of feed and spindle speeds also is easy. Detecting chatter is not that easy. Slowing down may be wrong, sometimes it is better to speed up. Doing on-the-fly adjustments of toolpaths in CAM integrated into a machine control would be a major research project.
- DannyBee 8y ago"Detecting chatter is not that easy. Slowing down may be wrong, sometimes it is better to speed up." Errr? Detecting chatter is easy, and in fact, the latest spindles output the current tool vibration rate over your choice of fieldbus. That's fairly basic, much more advanced things are done. "Doing on-the-fly adjustments of toolpaths in CAM integrated into a machine control would be a major research project." Why? Toolpaths are already adjusted on the fly. Integrating CAM does not make this particularly harder - any of these machines have hardware motion planning anyway. Adding another FPGA or two to accelerate 5 axis movement calculation would not materially change their cost.
- DannyBee 8y ago(I have built and worked on a lot of CNC mills, routers, etc) In some cases, it is. There are integrated CAM + Machines depending on industry and price point. (see woodwop, etc, which are the interface to the machine) The motion planning aspects can be taken care of (despite other comments), beckhoff, for example, does real time plc on windows machines by isolating cpus away from windows. i have no problem using it as a plc. They also support CNC control. Outside of software like that, it's usually being taken care of by an FPGA card and that's a pain in the butt. Assume you can solve this. You still have the next problem: Actually driving the machine. First, the low level Most of the servos in these machines are using pulse train inputs of some sort. That's what the FPGA cards are doing, generating the pulse outputs, etc. It's only in the past 5 years that things like "drive my servo over ethercat instead" became viable. They use simple relays, etc to control safety/limit switches/you name it. Now i could use an ethernet based field-io. So i'd say they are actually now there (in the past 5 years) for the low level. I can run all my field io/spindles/servos off ethercat now, for example. I do, in fact, outside of servos (my cnc software can't drive them over ethercat yet)! 5 years ago i couldn't do this. Okay, so that's one level up. Now i can at least drive it from the CAM software in some standardized way if i knew what was what. Which is your next problem - knowing what anything does. Which io's are the limit switches. How do you home the machine or execute a tool change? How do i turn on the vacuum? Which drives go with what axes? There is no standardized way of describing this, such that a piece of CAM software could actually do anything. We'll get there, mind you, but it'll be a while.
- rmu09 8y agoLow-level control your machine from your CAM workstation in the office building will never make much sense (where the CAM software directly talks to servos). I would prefer my (probably expensive) machine to kind of "know" what it's physical limits are and guarantee that executed commands adhere to them.
- DannyBee 8y agoIt depends on what you are talking about here. CNC is used for a lot. The assumption that there is a cam workstation, and that it's in an office building, is certainly not one i would make. I wouldn't also say "will never make much sense". You seem to have some particular set of users in mind for which you believe it wouldn't make sense. Okay - i'm not sure that changes that there are plenty of sets of users for which it will? I even gave you examples of high end wood machines that have CAM directly integrated. There are many. (They can also be programmed offline, but) As for "knowing" the physical limits. That's not actually possible since it there is no way to self-configure it even if everything did talk to each other. They don't know their own physical orientations (and it would be very expensive/hard to do that, and you'd still be guessing in the end) Most of the non-safety/accessory programming is essentially explaining enough of the physical orientation and placement of things to the motion control that it can do something.
- nraynaud 8y agono, it's mostly historic, I did a project on that topic in the past: https://github.com/nraynaud/webgcode https://github.com/nraynaud/webgcode
- jcoffland 8y agoThe upcoming version of CAMotics talks directly to the Buildbotics CNC controller. The path planning code is shared. So there's no reason why the CAM software and controller cannot be tightly integrated.