What is our Industry Missing?

I’m just amazed. Completely amazed. Last time I looked it’s 2011. Soon to be 2012. I don’t like to talk about my age much – who does – but I actually started programming on an IBM mainframe with Fortran in 1976. To do that you had to know JCL (Job Control Language). JCL was the wrapper that enclosed your Fortran card deck. Yes, I said CARD DECK. For you young’uns in the audience you sat down at a key punch machine and entered your Fortran program line by line and each line was punched out on a IBM punched card. (This sounds so silly as I write it) You then carried that stack of cards over to a window into the computer room and handed your cards to the “computer operator” who sometime later, depending how much he liked you, submitted them into the machine. An hour or so later you found your results at the output window. Many, many times you had a single letter mistyped so you replaced that card and did it all again. 1 minute update – another 2 hour wait for results. What nonsense but in those days it was prestigious to say you programmed a computer. A few years later, as a first year Electrical Engineering student I got to enter MACHINE CODE into a DEC PDP something by toggling each line of machine code into the machine. I won’t tell you what debugging that code was like. Which brings me to Ladder Logic. Not sure how I feel about Ladder. I understand it. I understand why it is the way it is. I understand its advantages. All that’s a given. I just don’t understand why the tools for programming industrial automation devices aren’t better than they are. If programming computers has gone from my entering machine code line by line to Windows Web Services why aren’t automation tools also that much better? Today again we had two calls on our 435NBX product. That’s the one that moves ASCII Barcodes into PLCs. The ladder for these products is really, really simple. In the PLC there is a string that you designate to receive the ASCII barcode, scale data or other text. That string always has a length. If the length is zero, we move the barcode into the string and the length becomes non-zero. The Ladder guy detects a non-zero length, processes the barcode and sets the length back to zero. We then send the next one. This is really simple. It requires about two lines of ladder but we have a number of customers that are sometimes challenged by even this minor amount of programming. Now I know that there are other things going on here. One is that the most junior guy on the project is assigned to this part of the project. It’s not glamorous or fun so he gets it. So, we are talking to the most inexperience guy. But still, why can’t the people who build these kinds of controllers and the software that programs them make them easier to use? It just amazes me over and over again. It’s 2011. Almost 2012. When can we get better tools?