Questions & Suggestions
Control at this plant is shared between the Foxboro I/A DCS and a network of Allen Bradley PLC 5/60s. The PLCs handle the bulk of the discrete control: motor start/stop, permissives and interlocks, etc. The DCS handles most of the analog control and is the operator-machine interface. As a result of this architecture, a large amount of information is sent from the PLCs to the DCS just to drive the operator interface graphics. We use Foxboro's AB Stations to get this PLC data to the DCS.
Most of our control is fairly simple. We have a variety of PID loops. Most are for basic control such as flow (45%) and level (30%), with the rest controlling such things as pH, slurry density, mill noise, mill bearing pressure, temperature, crusher amps, etc. We have standardized on the PIDA block type for implementing PID loops -- the PIDA block is very flexible, and we didn't see any advantage in using a variety of the different PID blocks. We also use a few RATIO (ratio control with PID trim), DGAP (differential gap) and PTC (proportional time) controls.
Tuning most of our controls is relatively straight forward. For flow controls (those that use a control valve) we start with settings of: PBAND = 33, INTEGRAL = 0.33 and MODOPT = 4 (no derivative). For level controls we start with PBAND = 50, INTEGRAL = 100 and MODOPT = 4 (no derivative). For initial tuning parameters on other loops we use Ziegler and Nichols open or closed loop tuning methods. After we have established good loop performance, we optimize for minimal valve action. We have used the Foxboro's self tuning (FBTUNE) blocks with the PIDA blocks, however we have had only limited success in establishing and maintaining truely robust loops this way. Our biggest challenges to effective PID control for many of our loops come from the wide process load swings and long dead times and lag times in this type of operation
We make extensive use of CALC and MATH blocks for control, reporting and interface purposes. One CALC block application I particularly like is a "Soft Sensor" flowmeter. We have a number of places where we have a tank with a level indicator and we either know the flow in to or out of the tank. Using the tank volume and the known flow a calc block can sample the level over time and estimate the unknown flow.
We use sequence blocks and HLBL for some more complicated tasks. Sequence logic is well suited to stepping through a startup sequence and automating repetitive batch operations. We also use it for event monitoring and analysis. I am currently putting together an event driven sampling routine using sequence blocks. Our operators have long felt that when the flow of ore from our primary crusher to the mill stockpile is steady, plant throughput is better than when it is intermittant. Quantifying this "feeling" will let us operate the primary crusher in the most cost effective manner.
Below is a basic plant flow sheet and some control screen snapshots.
Images -- Click on images to see full size, use your browser's back button to return.
Foxboro and I/a Series are registered trademarks of The Foxboro Company.
Back to -- DCS Stuff overview