Industrial Control System Software issues

Hardwired systems impose physical limitations on the design of a system: one can only connect so many wires, timers, relays etc in a given circuit. In contrast, software has no corresponding physical limits, it therefore becomes possible to build enormously complex software-based systems.

The larger a system gets, the more complicated it becomes. In the past, most relay systems were small and distributed around the plant. Each process unit or piece of equipment typically had its own dedicated shutdown system.

As the control systems in most plants become centralized, the shutdown systems also become more centralized. Rather than keeping multiple, small, hardwired systems, many systems migrated into single, centralized, larger units. Hardwired systems were thus frequently abandoned in favor of small, easier-to-manage, software-based systems.

This centralization introduces a new set of problems, as single failures now may have a much wider impact. Single failures in small, segregated systems will have a limited, localized impact only. Single failures in large centralized systems, however, may have a major impact. For example, if a single PLC is controlling 200 I/O and the CPU fails, one loses control of all 200 I/O. For this reason, many software-based systems are designed with some form of redundancy. The drawback to redundancy is that it usually results in additional system complexity.

Most computerized systems offer some form of serial communication. It is relatively easy to have the process control system read or poll the SIS and display information such as the state of all I/O, bypasses, alarms, etc. It is just as easy to have the process control system write to the SIS, and herein lies the potential danger. The control system must not be allowed to corrupt the memory of the SIS. The control system can read information about the SIS, but one should be very careful about writing information to the SIS.