Kludge
GUEST POST BY G. SPILLER – http://theleaninnovator.net
kludge
[klooj]
noun – Computer Slang
1. a software or hardware configuration that, while inelegant, inefficient, clumsy, or patched together, succeeds in solving a specific problem or performing a particular task.
*definition from Dictionary.com
Whoever came up with this term must have been assigned to marry legacy IoT (Internet of Things) digital controls. Lots of ones and zeros show on the logic analyzer, with obscure or forgotten protocols for interpreting what they mean. In the arms race to stay ahead of the newest start-up, many of the companies who built the previous generation equipment with embedded internet communication no longer exist. However, even the first internet connected device is still a part of our IoT infrastructure. At the blinding communication speed of two bits per week, the transmitter shuts off the water feed pump every Sunday when the water tower is full.
I used to worry about terrorists gaining control of our infrastructure using the internet. It is theoretically possible to inflict some serious damage and injury. My concern was based on the fact that early IoT devices have very little access protection. Now that I have integrated some legacy systems I realize the lack of standardization will be our saving grace. It is next to impossible to apply experimentally the right combination of ones and zeros without a guide.
I was discussing the evolution of CNC position encoders with the technician who was upgrading the control on one of our CNC machining centers. In mold making, the cutter path software that converts 3D models (3D printing) into physical shapes, originally used a layer by layer contour line approach. We would like to use the more modern climb milling software because it eliminates the contour lines. (and the hours of hand draw polishing to remove them) The upgraded control will position X Y and Z at high speed instead of just X and Y which is all the contour line method requires. The embedded computer in each axis position encoder sends a high speed serial data stream including error correcting bits back to the control. This is a far cry from the first GE (now Fanuc) CNC control retrofitted to a Buffalo milling machine that I first programmed – yes, there is still a lot of legacy stuff in operation out there. This control also had position encoders without the local embedded computer. It only lost about 2500 count per shift (about 1/4 inch of position) and it came with a switch to shut off the Z axis so that you did not mill too deep. We evolved through resolvers and glass scales and back to a smart encoder. Don’t expect to do “big data” analysis of this type of IoT real time data stream. Bad things happen if the transmission of position is interrupted.
On the hardware side it is very convenient to connect the 10/100 port of my laptop to the ethernet switch. In my latest control I added ethernet cables so that it can be used in convenient locations without exposing it to the open internet. The generation gap became painfully obvious on the software side.
The desire of the Windows operating system coders to download daily changes exceeds the ability of any custom low volume application software creator to keep up. We are finding that the latest version of custom application software is obsolete before it is sold. In the short term we will keep the systems synchronized by isolating them from the internet once we solve the inter-connectivity issues. This solution does not work for every IoT software mismatch issue. In my mileage trakker IoT connected car application, it is necessary to have a staff who continuously monitors the functionality of the links and keeps up with interfacing with each model and car maker as they evolve. This becomes part of the monthly charge which enables our trakkers to obtain a couple thousand dollars in annual savings. Many of my mileage trakker competitors have gone out of business because they got caught continuously rewriting their cell phone based code in order to keep up with a rapidly changing software platform.
The IoT is evolving like the power grid. New IoT applications emerge based on the cost and performance drivers. Each implementer chooses a variation that matches the application without regard for the broader inter-connectivity issues. This will generate employment for the people with the STEM skills to link users to the vast data pool.