Systems Integration

Roll Your Own APC

Vendors' Powerful Programming Environments When Mixed With Good Engineering Principles Can Yield Excellent Results

By Dan Hebert

AOC Resins says canned APC doesn't work well with its batch processes, but it is using Emerson Process Management's DeltaV APC software for certain functions and supplementing Emerson's software with custom code.

"We use fuzzy blocks in certain loops that have changing process gains," says Dan Cox, director of engineering at AOC Resins. "However, we don't use them in loops with long dead times. DeltaV Fuzzy works well with changing process gains as long as the dead time is under around 30 seconds. When control is more complicated, it is simply easier to figure out stuff about the process. It's hard to replace an engineer that can do a mass balance and has good APC programming skills."

AOC develops its own programming. "Typically we just use Math block within DeltaV," he explains. "The structured text programming language has most common functions you would need, but their variation on an array is weak. If it is too complex, we will send an OPC request to a stored procedure in SQL, have SQL crunch the number and send the result back. From the SQL stored procedure we may invoke a VB script. Basically once we get out to SQL via OPC, we will use any means available in the modern computing world."

Most of the work AOC has done involves curve fitting to model acid value and viscosity relationships in products as they build molecules. "If we are off the expected curve, we adjust by using models to get us back on the curve by adding acids or glycols," he explains. "The math involved here is beyond what makes sense to do in DeltaV. Because of this we use model data stored in SQL with stored procedures to send results to the control system."

Cox would like to see some improvements in APC software data exchange. "Once data can be pushed and pulled with SQL commands, you no longer need to have the Emerson guy come in and spend hours on setup," he notes. "Pushing and pulling via OPC is OK, but why not embed database functions in the programming environment? Flagging data as valid with an IF statement in the control system as it goes to the database would be easier than all the tools that are currently offered to slice the right piece of data."

The math is not that complex, he says.  "I expect to see more canned packages for equipment that is common in our industry. Every chemical plant has thermal oxidizers, scrubbers, columns and so on. This equipment usually comes from a handful of vendors. So I should be able to choose an Alfa Laval model XXX, for example, and have an MPC block almost configured to optimize the unit."

The powerful programming environments provided by vendors mixed with good engineering principles can yield excellent results, but a high degree of end user expertise is required.