Project: Biopharmaceutical filtration automation, 09/27/05
September 27, 2005
The microfiltration (MF) system PLC control code– IO, control modules, interlocks, and equipment modules – is “code complete.” If you’re not familiar with this term, it is because we at Cascade Controls have developed our own terminology to describe different levels of completion. Too often when someone says they are "done," there is still more work to do. To avoid this type of communication error, we developed and defined our own terms for qualifying degrees of done-ness. These are borrowed terms that we have defined to match our normal project execution methodology.
Code Complete– First pass at writing an application where a programmer believes all defined functionality has been included. Nothing is tested at this point.
Alpha Tested– The code has been minimally and informally tested by the programmer. The programmer is comfortable enough with the code to have it reviewed by others and rigorously tested.
Beta Tested– The code has been tested according to written test procedures by someone other than the programmer. This is normally done not only to test the code, but to test the test protocols.
Once Beta Testing is complete and the code is known to pass all test procedures, it is made available for formal testing either by the customer or under supervision by the customer. This stage is called by different names based upon the customer's nomenclature including Factory Acceptance Test (FAT), Customer Acceptance Test (CAT), or Development Test (DT).
Code Complete– Sort Of
Now that I've said the MF skid is Code Complete, I must provide qualification. Our USC (Unit Status Controller– see blog entry from August 30, 2005) control module does not quite meet the customer’s requirements, so we are working on the necessary changes. The function required by this USC includes an In-Use state that is automatically set whenever a recipe is running. When the recipe ends, the USCwill automatically shed to another status depending upon the how the recipe ended. If the recipe is aborted, the USC will shed to the state as it existed just prior to the start of the recipe. If the recipe is completed properly, the USC must automatically shed to a state specifically defined for each USC and recipe.
Also, our standard USC puts no constraint upon transition between states. The new USC must support state transition logic that explicitly defines the states allowed from any given state. For HMI purposes, each state will be paired with a state-enable bit that is set by logic so the user interface can know what states are allowed from any given state.
The final feature change allows a user to immediately expire a state timer without changing the timer target.
The design, documentation, and implementation of these modifications will likely require two more weeks of work. Meanwhile, other team members are aggressively coding the ultrafiltration (UF) skid equipment modules. Also, we await approval of the design for the MF skid. One of the key reviewers was recently on vacation so the review period is extended a little longer than initially planned. Approval (or more changes) should be received by the end of this week.