Blog post by Howard Huffman, PE
Howard Huffman

Although PLCs and other control equipment have evolved over the years, the approach to developing high-quality control systems programs has not changed.   During the design phase of a project the project engineers at Huffman Engineering Inc. need to consider the customer, the customer need and the abilities of the equipment.  Using the CSIA System Development Lifecycle, our team of engineers considers and answers a uniform set of questions.

Recently, on a difficult start-up, the Huffman Engineering Inc. team was forced to back up and begin again by answering these questions.  Once established, the programming continued in a smooth fashion and the team was able to deliver a system that met the specifications of the customer.  This was as true 30 years ago, when Huffman Engineering Inc. began, as it is today. We commonly answer the following questions before programming:

1)      How does the equipment start?

  1. The start will have both permissives (must be on to allow it to start but can drop out once the system is started – ex a pushbutton) and interlocks (when an interlock drops out the piece of equipment will stop.
  2. Will the piece of equipment have a manual start function?  Can it run without upstream and downstream equipment running?  How is it started and what are the permissives and interlocks for manual operation?  Will the manual operation include partial operation (jog mode), single cycle mode, or continuous operation?
  3. Will the equipment have an automatic start function?  What will be the reason for the automatic start?  Will there be an automatic restart?  What are the permissives for an auto start and auto re-start.  What interlocks will shut down the equipment when in auto mode.

2)      What is the normal function of the piece of equipment/module?  What do we want it to do when everything is working correctly?

3)      What information is needed by the operator when the system is running and how will they get this information?  Some examples are flow rate, level, temperature, speed, units/time, etc.

4)      What are critical abnormal operations/conditions and what is the control system required to do?  This can be a failure of a component, out of boundary condition etc. – these are typically the interlocks.

5)      What causes the piece of equipment to stop?  This will involve a normal stop, manual stop, automatic stop and stop due to something going wrong.  How is the reason communicated to the operator so they have the information they need to determine what happened?

6)      During an abnormal situation – what information is communicated?  What are the alarms (items that the operator can act to correct) and what are the faults (reason the piece of equipment shut down)?

7)      What information is required by production, scheduling, and maintenance?  How is that information formatted and delivered?

8)      How will the control program be tested and documented?

Many engineers are eager to begin programming, disregarding the need to answer these design programming questions in advance. Failure to answer any of the questions can result in re-working the program in the middle of the development phase of programming.  Instead, the Huffman Engineering Inc. team takes the time to follow the V model to develop specifications, including answers to these programming questions above.   Customers who already know the answers to the questions are able to contribute to the accuracy and speed of our control system development.

Because of the experience of the Huffman Engineering Inc. team, customers can be sure the system delivered to them will work in the way they expect.