Roland's homepage

My random knot in the Web

Computer control, mature nor secure?

Computer control of machinery has several problems;

  • immature
  • bad user interface
  • insecure


A significant upside and downside in the PC world is the rapid development of CPU and peripherals. And while CPU’s generally implement an instruction set which is generally stable and backwards compatible, peripherals as a rule don’t. That’s a lot of effort writing drivers for hardware that will not be available anymore in a year or two. It must be said here that the open source community has generally been a lot better at supporting older hardware than most commercial hardware suppliers.

And the question is in how far all these changes were beneficial. I’m writing this on an intel core2 machine with a Radeon X1650 graphics card. And you know what? It’s fast enough for me. I will replace this thing when it breaks, but not sooner.

Both increasing the clock speed and the number of cores have hit diminishing returns. And for laptops and especially smartphones the focus seems to be on decreasing power consumption, which is a good thing. The fact that we can fit a reasonably powerful computer in approximately the same size as a deck of cards is amazing. But I would be happy when hardware design matures and parts are still available in a 20 years.


Don’t get me wrong, I think computers are wonderful tools. The FreeBSD UNIX system that I preferably use is like a giant toolbox that enables me to perform a variety of tasks. It has a long history, a stable environment, a simple programming model and lots of freely and easily available software. And it is open source, meaning that everything is open to inspection.

Programs compiled for FreeBSD 7 still run on my FreeBSD 11 machine. But that hardly even matters because source code that is decades older will still compile on this machine.

Operating systems like the BSD variants and Linux have a stability and maturity of their (programming) interfaces that is phenomenal.

Computer control

My experiences with computer control are slightly different, however.

A tale of two PU machines

At work we have to polyurethane machines. They are practically identical from a hardware perspective. The big difference is that one is controlled by hardware relay logic, while the other uses a Simatic S5 PLC. Both date to around the mid of the nineties and generally work well.

There are some differences, though.

On the machine with relay controls, all settings that can be changed are visible on the control board. With one look you can see what the settings are, and changing them is as easy as flipping a switch or setting a timer. On the PLC operated machine you have to dig into the menu system on the display the size of a smartphone to change most of the settings. This is much more cumbersome. And the display is slowly failing, producing more and more blank lines. Unfortunately it is integrated with the keyboard and so not easy to replace, assuming a replacement is still available.

Another difference is that if there is a problem with the relay control, it’s generally relatively easy to find and repair. A blown relay, timer, switch or light are usually quite visible and easily replaced even if you don’t have the schematics. Parts for S5 are somewhat harder to find. And worse is that the only “backup” that still exists of the controller program is a printout the size of an old telephone directory. And of the software produces an error, it is often unclear what it means or what the consequences are.

Newer PU machines are often equipped with touch-screens. But when you’re setting up or repairing such a machine you unavoidably come in contact with materials like isocyanate, polyol and hydraulic fluid. Which means that you’re wearing gloves and those will be dirty. Operating a touch screen (even with a “pen”) while wearing 0.5 mm butyl rubber gloves is an exercise in frustration, I can tell you.

Another advantage of the older relay control is feedback. With these high-pressure mixing machines the mixing head is fixed to a mould which is generally on a press a couple of meters from the control cabinet of the machine. However the lights on the control board clearly tell you which part of the moulding cycle the machine is in, even from several meters away. Reading the display on the PLC controlled machine from the same distance is impossible.

Both from the viewpoints of user-interface and maintainability, I prefer the relay control machine.

Luckily both of these machines are so old that they don’t have a network connection. Which brings me to my next point.

CNC milling

A CNC milling machine can make parts that are impossible to make on a conventional machine (except maybe a tracer mill). And it will do it generally much faster than a conventional machine can. It is fair to say that 5-axis simultaneous machining would be practically impossible without computer control. (Although a tracer mill comes close.)

We have a CNC mill at work. However, without the computer to control it, CNC machines are basically useless. Which is not a comforting thought considering the PC controlling it is running MS-windows XP! And it was delivered as part of the machine, so we don’t have install media for all special software it runs nor drivers for the interface hardware that controls the motors.

Given the fact that we cannot upgrade the OS on this computer, and the almost certainty that XP still has exploitable holes I have so far resisted efforts to connect this PC to our internal computer network. Vulnerable machines like these need protection by isolation.

While hacking this machine might do a lot of damage the chance of someone getting hurt is small. Although I do hope that the emergency stop buttons physically interrupt the power circuits and cannot be overridden by software.

But for these machines security seems to have been an afterthought.

For comments, please send me an e-mail.

←  Modifying pelican Windows 8: the infinite yak-shaving  →