A client that had us previously expand their plant asked me come back and add an
enhancement to their HMI. The client wanted a new HMI screen to show them in
'Near Real-time' their Giardia Inactivation Ratio. This ratio is based
on multiple variables including chlorine feed location, number of structures
in-service and analytical data like pH and water temperature.
The problem was not creating a program to find the different detention times as
the screen on Page D1 might indicate. It was the calculation behind the scenes
of the 'CT'. To get the ratio you need to calculate the provided CT, of which
detention time is a part of, divided by the required CT. The required CT is a
set of tables that use pH, water temperature and chlorine residual that have to
be interpolated. The State of Utah Division of Drinking Water created an Excel
spreadsheet where the three parameters could be entered and output the CT value.
This was created using cell reference data and in-cell formulas. To be able to
use this inside the Intellution iFIX HMI software I needed to rewrite it in
Visual Basic. It took about a week to go through every cell reference and first
figure out what it was doing, and then write code to duplicate it's
functionally. From the information I have from the Division of Drinking Water I
am the only person to ever calculate CT in a code based language.
The functions to calculate CT, Detention Time and
Ratio are automatically executed every five minutes or when the
operator presses the 'Re-Calculate' button.
CT Ratio Screen (.jpg 98)
VBA Module 1 (.pdf 5k)
VBA Module 2 (.pdf 5k)