On 2020-02-17 04:49, Les Newell wrote:
One issue jumps to mind that is different. The tiny shop I have
doesn't have room for a Keyboard, Mouse and Display by the lathe. I
currently have a nice work triangle set up for the lathe toolbench and
tool cabinet. It would require a lot of work to change that at a cost
of space lost somewhere else.
Monitor on the wall behind the lathe? Support arm bolted to the wall for
the keyboard? If you wanted these things you'd make room. As you don't
want them you won't make the room. I'm not saying that's a bad thing. We
just have different requirements.
And that's really, from my perspective all I am talking about. If
have to add an external intelligence of some sort to do faster
stepping or PWM then the sky's the limit on what is added because that
3GHz 1GB PC isn't fast enough to do what can be done with a small 32
bit ARM if the dedicated $250 CNC boxes from China are to be believed.
Go for it. If you design the board the LinuxCNC developers would be very
willing to help you integrate it with LinuxCNC. Of course you'll have to
be able to produce it at a price that makes it attractive to buyers.
This is not "start from scratch" situation! We don't live in a vacuum!
SBCs are popping up all over the place:
http://linuxgizmos.com/category/boards/
One sysadmin motto I learned long time ago: "Be a lazy sysadmin. Do
whatever it takes to simplify or minimize your tasks. Just don't tell to
your boss or you'll get even more work to do" ;-)
If you can do it for the right price and if it has the I/O capability I
need I'll buy one for my next machine. The display stuff is of no
interest to me but keypads are always handy. I use modbus for my keypads
at the moment.
First thing to look for is what others are doing using with embedded
systems. Most COTS manufacturers support their products for 5 or even 10
years. And there are alternative HW sources. That should be good for CNC
also.
I guess what I am suggesting is that it's time for LinuxCNC to be
broken apart and a standardized interface for Ethernet control be
developed. Once that could talk to dumb FPGA devices like the 7i92H
or to full blown standalone CNC controllers that can act as simple
DRO/Power Feed or even simple G-Code like the 3D printers. Or be
connected to the much more powerful LinuxCNC to add, in addition to
G-Code the fancy tool changing apparatus along with robotic cells that
load and unload the parts.
You are completely missing the point. You don't need to 'break apart'
LinuxCNC. It is designed from the ground up to be modular. The
'break apart' is architectural change just like it happened to so many
GNU-Linux services or programs. Robotics is one of the closest functions
to CNC. Some robots depend on RT kernel but do not have or need GUI on
top of it.
Medical robotics is the most critical example of a device that needs to
work as planned and programmed. What do they use to write programs or
configure the OS? According to one job posting, INTUITIVE SURGICAL uses
something like:
https://www.openembedded.org/wiki/Main_Page
https://www.yoctoproject.org/
Yocto Project works on any architecture. "...You are not locked down to
any one supplier as Yocto Project is both open source and supports many
architectures" except freaky old parallel port!
"...More and more, these types of devices are prototyped (and sometimes
implemented) with easily available consumer hardware devices such as the
Raspberry Pi or the BeagleBone, or MinnowBoard"
trajectory planner is just another module. Want to run an external box
with it's own TP and I/O? No problem. Write a module to replace it that
talks to your TP and you're off to the races. If you have the knowledge
to write your own 6 axis TP on an external board, writing the HAL module
to talk to it will be a piece of cake.
Les
examples of embedded system customization:
https://wiki.st.com/stm32mpu/wiki/OpenEmbedded
http://wiki.openmoko.org/wiki/OpenEmbedded
To naysayers; there's gold in those hills:
https://www.crunchbase.com/hub/hardware-companies#section-recent-activities
One more comment on application distribution. It's based on my
experience from few years ago where "cloud service" was designed on
Centos distribution. Programs, libraries, and configuration files were
packed as RPMs and installed as such. I proposed much simpler and more
flexible packaging, tar files as in Slackware. The advantage would be in
architecture where more than one version of service could be installed
in parallel without interfering with another one.
Active service would be a link 'from the top directory'. Switching from
one version to another one would be simple:
- service <app> stop,
- relink top directory,
- service <app> start.
What we were doing was order pizza, stop services, install RPMs on top
of old ones, start services. That process took about 3 hours on all
servers in the evenings when the network traffic was low across the USA.
In some instances QA requested we roll back. Argghhh! Obviously, same
install process that lasted another 3 hours or so ... My proposed
architecture would be done in less than 15 minutes in my estimation.
Think about LinuxCNC and it's packages. Using Slackware method you could
try to use different version of LCNC to see if it's good for your CNC
setup. If the new version fails (breaks your tool?) you could run
"cnc-admin script" to roll back, i.e. relink the app to previous version
and start it.
/opt/linuxcnc-v2.6/bin <- binaries or scripts
/opt/linuxcnc-v2.6/etc <- config files
/opt/linuxcnc-v2.6/lib <- libraries
/opt/linuxcnc-v2.6/man <- manual pages
/opt/linuxcnc-v2.8/log <- log files
/opt/linuxcnc-v2.7/bin
/opt/linuxcnc-v2.7/etc
/opt/linuxcnc-v2.7/lib
/opt/linuxcnc-v2.7/man
/opt/linuxcnc-v2.7/log
/opt/linuxcnc-v2.8/bin
/opt/linuxcnc-v2.8/etc
/opt/linuxcnc-v2.8/lib
/opt/linuxcnc-v2.8/man
/opt/linuxcnc-v2.8/log
Latest release would be:
/opt/linuxcnc -> link to /opt/linuxcnc-v2.8.
Your path to LinuxCNC binaries or scripts would always be
/opt/linuxcnc/bin etc.
--
Rafael Skodlar
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users