David Pierce - Consultant -
I was hired by Steger & Bizzell, an engineering and surveying
firm, to debug a water-treatment plant that had been causing
problems for the better part of a year after it was delivered from
contractor to customer. The instrumentation contractor had
created the control program by copying and tweaking an existing program
and had done no systematic tests when bringing the plant online.
To solve the problem, I performed the following steps:
- Performed an exhaustive failure-mode analysis to determine how
the plant could fail and what could be done to minimize the risk of
- Analyzed and documented the existing code.
- Found and fixed bugs in the existing code.
- Designed and implemented a set of shakedown tests to prove that
the plant would operate as designed.
The project was a success and the customer was happy with the
For this project, I had to quickly learn the following:
- Principles of water-treatment plants.
- RSLogix, the development environment used to program
Allen-Bradley PLCs (programmable logic controllers).
- Ladder Logic, the language used by the PLC.
By this I mean the development of procedures and templates on which
subsequent developers build. Examples:
- Developing a method for failure-mode analysis in a
- Providing an exhaustive set of shakedown tests to demonstrate the
correct operation of the station under both normal and alarm
conditions. The test document will serve as the template for
future test documents.
Diplomacy was required because of the lack of communication between the
higher-ups who asked for the testing and those who actually ran the
plant and were skeptical of having an outsider troubleshoot it.