On Tue, 22 Dec 2009, Chuck Guzis wrote:
On 22 Dec 2009 at 10:36, Ray Arachelian wrote:
So, what is this thing you're trying to
build? You've got my
curiosity up. :-)
There's a ton of old CNC equipment out there--not just machine tools,
but other things such as embroidery machines. All are your basic
gray iron casting with a computer attached. Many have been adapted
to make use of floppy disks instead of punched paper tape. One
aspect is that there is a plethora of differing formats out there,
not to mention filesystems.
Neat! I remember using one of these, with paper tape back in high school.
Was a drill that behaved as a plotter and we gave it commands like drill
up, drill down, move up, move left, move right, move down, could even do
diagonals together.
The problem is that floppies are getting harder to
deal with. I was
surprised to find that the local computer reuse/recycler will no
longer accept diskettes--not even if they are new and in unopened
original packaging. Seems that they've gone from obsolescent to
obsolete.
Just a couple of years ago, I was able to find floppies... time flies. :(
So other people who own the very expensive pieces of
equipment are
wondering what's next after floppies.
I'm trying to come up with a convincing solution. The technical
solution is fairly straightforward, thanks to modern microcontroller
technology, but there are practical decisions to be made.
I'm a bit suprised that floppies were used, I imagine that this would be a
harsh environment for floppies, so as long as static electricity isn't too
much of an issue, most kinds of flash storage should work just fine.
I wonder if there's another possibility though, how about a network
interface? If you can get an ethernet interface, anything with an RJ45
plug will do, even 10mbps, and set up some way to transfer the
instructions, say over tftp or ftp, you'd have removed the obsolecense
factor by quite a bit.
That way you can use almost any machine to store the instructions and
could build a nice menu system that lets the end user pick the file to
send to the machine, as well as which machine to send it to.
Add some sort of backup system to this machine, and you're all set.
If the machine runs some sort of live CD and stores its data on flash and
has a way to clone itself, you don't need to worry about backups.
Keep the code to something scriptable (i.e. python, perl, bash, ksh), and
it can run on future platforms as well without too much hassle.
It doesn't have to be anything too fancy or modern, anything capable of
booting off a CD and has USB ports, that you can get Linux or FreeBSD to
run on should work nicely. You'd have to modify the startup scripts to
run the menu software, and read the configs from flash, and possibly
automatically back up changes to a 2nd flash drive.
If you get a bit more modern, you can have the whole thing on a thumb
drive and have it actively look for other thumb drives inserted, if it
sees them, it can clone itself over to the other drive. Add in some sort
of self checking MD5 hash to check itself to make sure there's no
file system errors on the config files, menu system, and saved programs,
and you're set.
A bit of work, but it can be quite robust.
(Just don't limit the thing to checking for actual flash drives, but
rather anything removeable that can be written to, and it can be
compatible with whatever replaces USB thumb drives in the future, so long
as the boot OS is replaced along with it.)