I first “cut my teeth” on PLCs at Rochester Products Division of General Motors in Rochester, New York, when I was asked to modify logic in some of its manufacturing machines in 1977. The first one I was given was an in-line machining center that performed drilling and tapping at various angles on automotive carburetor housings in stages. There were 65 stations in this one system controlled by four Modicon 084 programmable logic controllers (PLCs).
If you are not familiar with the 084 PLCs, these dinosaurs had core memory of about 1 k of toroid donuts per card, with one bit per donut; and the logic consisted of four contacts and a coil for every rung. The contacts could be normally open (NO) or normally closed (NC) and could be logically ORed (or not) with the left power rail. It was programmed using a Zero case enclosed programming panel using thumb wheels, push buttons and indicator lights.
We “saved” the programs by calling the central computer room and then connecting the phone to a modem, using a different Zero case, where the computer room would capture the program with a DEC PDP-8 minicomputer and then punch a paper tape for storage on a shelf. We had to hand-draw all of the logic on D-size sheets and update the drawings when the logic was changed.
Then in 1979 I worked at Delco Products, also in Rochester, where we used a lot of Texas Instruments 5TI controllers that were programmed in Boolean statements using a handheld programmer. This program logic had to be hand-drawn to document it, as well.
We discovered a funny quirk about the 5TI controller while I was there. The PLC used an optocoupler from the 60 Hz waveform of the 120 Vac power supply as the CPU clock, and, if that optocoupler failed, the PLC stopped.
It was serious when a 5TI was used on a dial-index assembling machine for an “antenna sensor” safety system that used a capacitive antenna around the machine to shut it down if an operator got too close. When the optocoupler failed during a dial index cycle, the dial just kept indexing, in spite of an engineer actually grabbing ahold of the sensing antenna. Oops.
Improving control, mostly
It wasn’t until the mid 1980s that I first got involved with Allen-Bradley (A-B) PLCs, specifically the Mini PLC and then the PLC-2 family. We had bought a programming package from Icom, a new company that was started by a couple of A-B engineers that quit A-B with the idea they could come up with a PC-based programming package that would do more than just show coils and contacts like the A-B T1, T2 and T3 programming terminals.
Icom developed T3-emulator software. It was a terrific improvement over the A-B terminals because it could run on any PC, but, most importantly, it programmed using symbols instead of addresses. The symbols were only eight characters long, but we could also add annotation, which was shown right over the coils and contacts on the screen.
We were enjoying the DOS-based T3 Emulator software so much that when Icom sent us a beta version of its new AI Series software, also DOS-based, we shelved it for a year. Then one day we pulled it down and installed it, and we couldn’t believe how incredibly great this software was.
To date, there has never been PLC programming software that includes the most useful features of this software. The modern RSLogix Windows-based software that is derived from the AI Series is excellent but still falls short in its search function.
The AI Series software was being sold through A-B distributors, and A-B began to get envious, so they tried to purchase Icom, but the company wouldn’t sell. So A-B came out with its own DOS-based software called AB 6200, which was horrible. They undercut Icom also by offering that only one site license was required for a factory and that everyone at that site could load the software on their computers and use it. Icom required a license for every application.
The problem with this was that, when we had to go into a large factory, the penny-pinching accountants for the company would look at the single upgrade fee for the 6200 software, vs. about 20 upgrade fees for the AI software, so of course they would only buy the 6200 stuff and deprive everyone in the trenches of incredibly wonderful software in lieu of inferior software.
When I was asked to upgrade a PLC 2 system to a PLC 5 system in early 1992, I refused unless the company would buy a new package of PLC 5 AI software for the supporting electrician first. The 6200 software was that bad.
In the end, after Rockwell had bought A-B and it had become Rockwell Automation (RA), Icom finally bit the bullet and sold out to RA. Thus, the RSLogix uses much of the philosophy of the AI Series software but now in a drag-and-drop Windows operating system.
The company I was working for, beginning in the mid-’80s, has machinery in 59 countries, so many of these customers required we use Siemens PLCs instead of Allen-Bradley. In the beginning, Siemens had its S5 series of PLCs, which was a good introduction to the PLC world back in the 1970s, but it was very cumbersome to work with. Also, it became apparent that most European controls engineers would rather program in instruction list (IL), which is really just Boolean, as opposed to ladder diagram (LD). Note, the IL and LD terms were defined in IEC61131-3, a PLC standard, first published in 1993.
When I was at a site in İzmir, Turkey, in 1994, working alongside some engineers out of Venice, Italy, I noticed the engineer was using IL. I said, “Glencarlos, you know you can use ladder diagram instead if you want?”
I used the Siemens software to change the displayed view to ladder, and he exclaimed, “Don’t like. Don’t like.” And then he flipped it back. I was surprised he felt that way.
In the mid ’90s Siemens came out with the new S7 series of PLCs, which was leaps and bounds better than the S5, except Siemens kept the same silly time function of the S5. The S5 used a preset value of “bbbb nnnn nnnn nnnn,” where the 16 bits meant “bbbb” as four different time bases and the “nnnn nnnn nnnn” as a three-digit BCD preset time value.
In the beginning, Siemens didn’t have any conversion for integers, or reals, to this silly S5 time-complex number, so I had to program conversions for entries made by the operators in the HMI to change presets in the timers.
We were asked to modify a machine in Grudziądz, Poland, in the late ’90s that had been built by that same Italian company in Venice and was controlled by a Siemens S5 PLC.
The Italians were too busy that year to do the job, so it fell on us. I got a copy of the PLC program from the customer and ordered that latest DOS-based Siemens software for this job, which was up to about version 5.5.
A few years earlier a company called Greysoft, now called FasTrak SoftWorks, was solicited by Siemens to write DOS-based ladder software for the S5 since the dumb Americans refuse to program in statement list, and they couldn’t sell in the United States without ladder.
So a marriage began between Greysoft and Siemens. Greysoft released its own version around 1990 under its name, along with a version under the Siemens name called version 3.1.
Somewhere in the mid-1990s this happy union with Siemens came to a close, and Siemens decided to advance the DOS software itself, which brings me to the job in Poland. When I opened this newest version of the Siemens software, I found that I could not even edit a rung, let alone insert a new rung, because it was so cumbersome to comprehend. So, even though it claimed no returns after breaking the seal, Siemens was nice enough to take it back and refund us the money, and I went back to the Greysoft stuff we had on our shelf.
Fortunately, we owned two copies because it required parallel printing port “dongles” to run the software. I’ll bet you’ll never see one of them again. Our field technician took one with him to Poland, and I used the other one at the home base.
Instruction list purge
I got someone to convert the program to the 1990 Greysoft format, and, when I opened it, I realized it was a typical European style, with thousands of simple rungs. When you program in statement list, it is nearly impossible to comprehend rungs that have multiple branches when troubleshooting, so instead statement list programmers make a new rung for every branch required. This makes the program much longer and requires much more searching to understand the whole of a subject you are researching.
In ladder, for instance, I had a rung that had 13 branches in it to control decelerating a transfer car under a variety of conditions, and you could see instantly where any problems were in the flow of the power through the graphics of the ladder rung. There is no way you would know what was going on with that rung in statement list. I did the only reasonable thing; I tossed the program and wrote my own from scratch.
The S5 controllers have another issue. When you modify a program, you must load the modified version in a new area of controller memory. This means that very quickly you will use up all of the controller memory. To get around this, occasionally you must perform a purge to clear out the older versions of your program and make the memory available again.
Decades of support
In 1998, a Kenya customer requested that a system installed in 1992 be updated to support Windows software for the PLC. The original job was a Square D Symax PLC with only DOS software. The customer told us it had better support for Siemens than Allen-Bradley in Kenya, so we changed to a Siemens S7 PLC, our first S7 project.
Our field technician had the toughest time trying to get the PLC to load. Searching through all of the CDs of documentation from Siemens, he finally concluded the problem was that the PLC calendar setting didn’t match the calendar on his laptop. Why should this have even been an issue?
In 2014 I went back to the same customer and upgraded the system to Ethernet, changed the 120 Vac I/O to 24 Vdc and added a modern Siemens 15-inch touchscreen. I could not get any help in Kenya from Siemens because whenever Siemens hired an engineer to provide local support, the customers would hire them away from Siemens for more money. If Siemens paid its field application engineers a higher wage to retain them, Siemens could sell more product in Kenya.
I had so much trouble trying to program all the features into that job that I had to finish it after I got home and sat down with a Siemens person to answer the 10 issues I could not resolve while there. I would have been much better off, especially the customer, too, if I had ripped out the S7 system and started from scratch with a Rockwell Automation CompactLogix PLC system.
Programming is visual
It is important how the ladder logic appears in the development software's programming window. Rockwell Automation and almost everyone else over the years, such as GE, Modicon, Greysoft, Taylor, Westinghouse, Mitsubishi, Omron, Square D and Telemecanique, recognized at an early stage that the annotation for an element in the ladder rung belongs right over the element, but that's not how Siemens displayed it.
The original S7 Windows-based software only showed the annotation under the rung in a list, and only when requested. Consequently, it is necessary to create lengthy element symbol names to know what they are. Otherwise, when you have a rung with a large number of elements, it is impractical to think you can comprehend what everything is from a list of annotations at the bottom.
Eventually, I got my way. When Siemens Step 7, version 4.2, came out in the early 2000s, the annotations finally appeared over each rung element. Consequently, the Step 7, which is up to version 5.5 now, is still pretty usable software, but there is still no drag-and-drop.
A few years ago Siemens issued its new Totally Integrated Automation (TIA) Portal software that is drag-and-drop, which is a greatly improved software package compared to its Step 7.