PLC Programming, Simplified

Figure 1: MTI PLC Programming Example
Figure 2: Typical PLC Ladder Logic Programming

If you listen to detention facility administrators and maintenance personnel long and hard enough, you’ll find that one of the ongoing security and cost concerns that they have relates to a single device that has a unique role in the security of their facilities: the Programmable Logic Controller (PLC). Maintenance personnel particularly speak a great deal about this device because it is the brains of almost all detention control systems, so if there are problems with this one device, then there can be system-wide problems for security in the jail or prison.

These PLCs come in three basic types: Industrial PLCs, Access Controllers, and High-Output PLCs. Industrial PLCs are primarily designed for industrial production purposes, such as controlling a robot arm or a conveyor belt on an assembly line. These devices are great for a repetitive process with a few inputs and outputs. Access Controllers are almost exclusively intended for Card Access scenarios in which a user will scan his card or fingerprint to obtain access through a door. These devices are great for a distributed security system that only controls doors, but when asked to control lights, intercoms, and more, these devices often fall short. The final category is the High-Output PLC (like MTI’s Embedded Controller). These devices are designed specifically for a large number of inputs and outputs, as in the case of detention facility with its doors, intercoms, lights, utilities, fire alarm, perimeter detection systems, video surveillance, and more.

The Illogical Logic of PLC Programming

One of the primary concerns for maintenance personnel when considering which device to use in a detention facility is whether the method used for programming the device is easily understood. It is often argued by design consultants that this concern is best addressed by the Industrial PLC device because these devices adopt a standard for programming known as “Ladder Logic” (see Figure 2). Ladder Logic is a programming method which uses standard electrical and electronic symbols and “rungs” of progression to lay out the logic for a PLC. In Ladder Logic, the programmer has to designate each and every input and output that the PLC will utilize. The programmer then has to arrange logic between these inputs and outputs which will take into consideration all of the behaviors of the security system.

This method of programming makes a great deal of sense and is easy to follow when there are a few inputs and outputs. However, when the inputs and outputs number in the hundreds, as is typical even on a small detention control system, you can imagine that the ladder logic diagram can become unbearably complex. Troubleshooting the programming (or even comprehending it) can become an insurmountable task for a maintenance engineer who does not work on Ladder Logic programming on a regular basis.

Method or Madness

Another challenge for understanding a large-scale ladder logic program is following the reasoning of the programmer that laid out the logic. As is true of most programmers, each one has his own rhyme and reason to his programming. Because of this, following behind a programmer can be a difficult task. Even other programmers within the same company may find it too difficult. MTI has heard testimonies from facilities who sought out support for their industrial PLC programming, only to be told by a technician that they would have to wait for the engineer who programmed the system to return from vacation because it would be too difficult to follow behind him.

Simplicity and Order in PLC Programming

The second way to address PLC programming is through the method used by those High-Output PLC devices like MTI’s Embedded Controller. Figure 1 provides a screenshot of MTI’s PLC Software, which is used to program the MTI Embedded Controller. Since MTI’s inception in 1987, we have consistently used a “spreadsheet” method of programming our PLCs. This spreadsheet style provides a standard format for all of our programming, arranging the inputs and outputs of our system into 64 address blocks called “sheets”. Each sheet automatically has 64 rows and numerous columns for organizing the logic of the PLC. Within each row, the programmer can designate the behavior that each address should have by entering predesigned macros. For example, if you wish to program the switch input on address 00 to provide a one second output to the door landed on address 00, you would simply enter the macro “PLS1”, which stands for “Pulse for one second”.

An added benefit to this order and simplicity of programming is the fact that it standardizes the programming method so that the customer or service provider is not dependent upon the inner workings of the mind of the original programmer. The standard macros and the template for addressing ensures that all programmers are forced to program the same way. So, if you need tech support for your MTI system, any of our project managers or service technicians can look at the programming, understand it, change it, and program the PLC with it.

Prohibiting the Better Method

Even though MTI’s method of programming addresses the concerns of the maintenance staff in being able to support the equipment they purchased for their detention facility, some design consultants still choose to exclude MTI’s programming and PLC in an effort to provide the end-user with a programming method that is more widely accepted by electrical contractors. Unfortunately, although ladder logic programming is widely accepted in the broader world of the industrial PLC, the particulars of programming high-output security systems found in jails and prisons eliminates most PLC service providers to the point that detention facilities are left dependent on a handful of security electronics contractors located in distant cities. Even worse, often times the facility staff is left completely dependent on the original contractor because of the complexity of the programming and other practices some contractors use, like password protecting the PLC programming.

The express design consideration for MTI’s spreadsheet programming method was to make the PLC programming accessible to the facility owner. This way the facility staff is not dependent on a distant service provider, but instead they can provide the support they need for themselves. Additionally, MTI provides to the owner the full suite of software needed to maintain the system, including all of the PLC programming, and none of it is protected in such a way that the customer is locked out.

While the industrial PLC may be a great product and ladder logic a great programming method for its intended use, these devices and programming methods fall short when it comes to high-output scenarios like the security system in a detention facility. Instead, maintenance personnel need a programming method that is easily understood and accessible. MTI’s Embedded Controller and corresponding PLC Software provide the solution that enables the facility to perform its own maintenance and support. As MTI founder, Tim Skipper, has said for over 30 years, “we provide you with the keys to your kingdom.”