I am still getting familiar with Connected Components Workbench, and have yet to implement a function block program prior to this article.

In this first program I walk through how to setup and use the IPID instruction to accomplish PID control in a Micro820 controller.

Programming the PID in the Micro820

The first thing I need to do is create a Function Block Diagram by right-clicking on the “Programs” header in the controller organizer and clicking “Add” and then “New FBD: Function Block Diagram” as shown below.

In the toolbox, find the “instruction block” and drag it into the Function Block Diagram. This will bring up all of the available instructions to choose from.

By typing “ip” in the search bar, you can narrow the selection down to just a few instructions and select the IPIDCONTROLLER.

This is a PID Controller with autotune function. I’m not going to cover autotune function here today, but if it works like the EPID in Studio 5000, it is a good feature.

In this manner, you can bring in any needed instructions to the function block diagram. As in the screenshot below, hovering your mouse over each instruction will show all parameters and their data types. This is helpful, because many of the data types need to connect with an “ANY_TO_* ” instruction.

Another important thing to consider is to create any tags that you would like to use in the Panelview 800 as Global Variables. If you create them as Local Variables, the Panelview 800 will not be able to access them.

In this screenshot, I create the “PID_SETPOINT” tag as a Global Variable.

Here, I have downloaded my program to the Micro820 controller and placed the IPID in auto mode.

Panelview 800 Display

Here, I add a new screen called “PID” and begin adding objects such as a bar graph with Connections to the parameters that I wish to view or change with the IPID controller.

I also added a “Numeric Entry” for changing the setpoint.

Finally, I add a Trend object. Double-Click the trend to add the Pens, Colors and Line appearance and the rest of the properties, colors and parameters for the background of the trend are in the right side of the screen in the “properties” window.

I then download my additions to the Panelview 800.


I often tell myself “There has to be an easier way to make a living”, but I know that it just wouldn’t be as fun or challenging as figuring out how to accomplish tasks in a PLC, DCS, network device, server or whatever it is I am working on at the time.

If you are familiar with Studio 5000, then creating a PID in CCW is not that far off, but it will have you going in circles for a little while and take more time than you thought it would. Hope this helps you along the way.

Written by Brandon Cooper
Senior Controls Engineer and Freelance Writer

Have a question? Join our community of pros to take part in the discussion! You'll also find all of our automation courses at TheAutomationSchool.com.

Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.

Brandon Cooper


  1. I would like to know what the Feedback connection does for this IPID instruction. At best the description in the manual is nebulous It appears the result going into the Feedback connection is a scaled version of the Control Variable CV. What effect does this value have on the loop calculation?
    The ControlLogix PIDE Platform has no such variable. Please advise.


Please enter your comment!
Please enter your name here