...
A core feature of the ProCoDA software is the user programmable feature that facilitates customization of the control logic for specific tasks. The rule editor provides a programming environment for setting up states, control logic, set points, variables defined by links to external code, and selecting which user defined parameter controls each output in each state.
States
Wiki Markup |
---|
{float:right|border=2px solid black|width=300px} {anchor:control settings for each state}[!ProcessProCoDA Controller^stateoutputsoftware^stateoutput.jpg|width=300px!|ProcessProCoDA Controller^stateoutputsoftware^stateoutput.jpg] h5. View of the controls used to set all of the Stamp® Microprocessor outputs. These controls can have different values for every state. The "output settings" in the middle column are drop down menus containing a list of all the defined constants and variables. {float} |
Rules
Wiki Markup |
---|
{float:right|border=2px solid black|width=300px} {anchor:exit rule}[!ProcessProCoDA Controller^variabledefinitionsoftware^variabledefinition.jpg|width=300px!|ProcessProCoDA Controller^variabledefinitionsoftware^variabledefinition.jpg] h5. Rule that ends the state named "BW filter after challenge" when the time in that state exceeds the set point "backwash (filter) time". The rule also indicates that the next state will be "Acid wash". {float} |
External logic
Wiki Markup |
---|
{float:right|border=2px solid black|width=300px} {anchor:math functions} [!ProcessProCoDA Controller^addfunctionvisoftware^addfunctionvi.gif|width=300px!|ProcessProCoDA Controller^addfunctionvisoftware^addfunctionvi.gif] h5. LabVIEW block diagram showing the external code that adds two variables or set points and returns the result. {float} |
Wiki Markup |
---|
{float:right|border=2px solid black|width=300px} {anchor:coagulant dose} [!ProcessProCoDA Controller^variabledefinitionsoftware^variabledefinition.jpg|width=300px!|ProcessProCoDA Controller^variabledefinitionsoftware^variabledefinition.jpg] h5. Screen shot from the Process Controller showing how inputs are sent to external code. In this case the external code estimates an alum dose based on measured raw water turbidity and a simple model that relates turbidity and alum dose. {float} |
...
The parameter, x, is an integer that increments from zero to a maximum value set by the user. The output parameters, ylinear and ypower could be used to vary a flow rate, a chemical dose, or any other parameter.
Wiki Markup |
---|
{float:right|border=2px solid black|width=300px} {anchor:increment functions} [!ProcessProCoDA Controller^incrementfunctionsoftware^incrementfunction.gif|width=300px!|ProcessProCoDA Controller^incrementfunctionsoftware^incrementfunction.gif] h5. Increment functions showing how the parameter varies as a function of the state. In this example the state cycled between states 1, 2, and 3. The increment state was 2, the number of replicates was 2, the reset state was 0, the y intercept was 200, the slope was 50, and the maximum value of x was 4. The power law relationship used a coefficient of 100 and a base of 1.5. {float} |
...
Filter Test Apparatus
Wiki Markup |
---|
{float:right|border=2px solid black|width=300px} {anchor:photo}[!ProcessProCoDA Controller^photofiltrationapparatussoftware^photofiltrationapparatus.jpg|width=300!|ProcessProCoDA Controller^photofiltrationapparatussoftware^photofiltrationapparatus.jpg] h5. Photo of the filter test apparatus. {float} |
Results and Discussion
Over the past 10 years ProCoDA software and hardware have been used by students to automate bench scale drinking water treatment plants, activated sludge sequencing batch reactors, temperature controllers, flow controllers, pH controllers, and a large number of other experimental configurations. These experiments were conducted as part of the Cornell University undergraduate curriculum in Environmental Engineering including the AguaClara program. In addition, the ability to automatically vary a parameter over a range of values has significantly increased our ability to characterize performance in research on unit processes for water treatment. As an example of this capability we present data from an experiment that was conducted to determine the effect of an aluminum hydroxide coating on porous media to enhance the removal of kaolin clay. The aluminum concentration in the feed during the pretreatment step was 2.5×10^-4^ mole/liter. The amount of aluminum applied to the filter was varied using the power law increment function to adjust the duration of the pretreatment state. Each of the pretreatment conditions was replicated and the results from the two tests were almost identical. The #data surface is from the particle challenge state from the 6 treatment levels and a replicate for a total of 12 tests.
...