Scripts, tips and fixes for Foxboro's IA series DCS

Programs, tools and resources for industrial process control using Foxboro's I/A series DCS. Specific examples from a large gold mill in interior Alaska.

  • DCS Stuff Home

  • Scripts & tools

  • Historian

  • Helpful Hints

  • Process control at this gold mill

  • Links to other resources

  • My personal home page

  • Questions & Suggestions


    Or instant messenger:

    My name is Kevin FitzGerrell. I've worked with Foxboro's I/A series DCS for a number of years. The first DCS I worked with was at a large gold mill in interior Alaska. There we had a two node system, one node at the primary crushing plant, and the other at the main mill. The crusher node included a PW and an AB station, while the mill node consisted of an AW51B, a WP51B, 4 terminals (two of them PCs, one on Windows and the other on NT) and a fault tolerant CP30 pair with 18 FBMs and 5 AB stations. After that I moved to Auckland to work as a systems engineer for Foxboro New Zealand, where I worked for a variety of plants including a methane refinery, a pulp and paper mill, an air plant, an energy cogen plant, and an iron and steel mill. After a few years as a with Foxboro I went to work full time for Carter Holt Harvey as a Senior Control Systems engineer. I've just recently moved to Indonesia to take a position with PT Freeport as Technical Expert, Industrial Automation.

    Over the years I've learned some things about working with Foxboro I/A systems that may be helpful to you. I've written a lot of small shell scripts and programs to help administer this system. I've got opinions on a variety of topics such as alarm management, control loop tuning, mill process control and other topics that I'll be presenting here as this site develops. For now, mostly I just have some administrative tools and some industry links. Follow the navigation links to the left to get around my site.

    What's new:
    I've put a new script on the scripts page to cycle a series of display graphics to a workstation, stopping when the operator picks a graphic. This will let an operator monitor a series of graphics without having to manually call them up. See on the scripts page:
    Scripts and utilities for Foxboro I/A systems.

    I've got an HTML viewer for ICC data in it's early stages. To try the viewer with some sample data use the following link. It will open the viewer in a new page. The default frame sizes are good for my AW51B with screen resolution of 1152x900. If you are using a lower resolution and the data is not clear, just drag and drop the frame separators to better locations.
    IA View -- HTML ICCPRT file viewer
    As of yet undocumented PERL code to process raw ICCPRT output is at:

    For some routines for working with the I/A (Legacy) Historian, see the "Historian" link to the left, or follow this link:
    Fun and games with the I/A series Historian.

    Although it's not particularly new anymore, I'm still getting together a "Foxboro Utilities" page for this web site. If you've got a favorite one feel free to email me and tell me about it. On a fairly regular basis I've written a program or script only to find that Foxboro had already provided me with a utility that addresses my needs. Many of these utilities are not well referenced in the documentation.

    cpdup -- One of the most convenient Foxboro utilities I've used recently is cpdup (in ver 4.3 and up). Foxboro apparently feels this utility needs more recognition, mentioning it in HH962. With this utility you can take a saveall diskette from one control station and make a saveall for another station. It uses a two column substitution list file you build, and whenever it locates a string from the first column on the saveall disk, it replaces it with the string from the second column. This makes it very easy to replicate an existing control scheme on a new control station -- just build your substitution list file with the compound names, block names, letterbugs, etc. Care must be taken in building the substitution list -- don't use any I/A block names, and remember that the substitution will be performed on all occurrences of original string (some substitutions may be unexpected). Because of the file format of the parameters file on saveall disks, traditional UNIX tools like grep, sed and vi weren't effective. In the past I've used PERL to make substitutions like this (particularly for binary files), but this new utility is handy. The utility is located at /opt/fox/bin/tools/ and documentation is in the file

    show_win, pos_win and move_win -- I've just recently used these to open and position iconified windows on a user's screen. Handy for de-iconifying the alarm manager (or any other DM) and moving it to the front. Also can be used with annunciators to make sure the screen called by an annunciator key is not called behind another screen. These are in /usr/fox/wp/bin/tools. For info on pos_win run "pos_win -h", for info on move_win run "move_win -h", for info on move_win, run with no parameters. In 4.3 and later versions you should find in the same directory -- this is a Foxboro script that simplifies the use of these tools.

    Foxboro and I/A Series are registered trademarks of The Foxboro Company. The information presented here is neither sponsored nor endorsed by The Foxboro Company.