In today’s article (and video) I walk through how to add ControlNet Flex I/O to a ControlLogix system:

NOTE: This article is not a comprehensive ControlNet tutorial, so if you’re not already familiar with ControlNet you’ll likely want to learn about it prior to reading this article.

Step 1) To start, open your RSLogix 5000 or Studio 5000 project and find your ControlNet communications module under I/O Configuration.

Once you find it, expand it by clicking on the plus sign (+) so you can see the “ControlNet” network underneath it.

NOTE: While some CompactLogix controllers have ControlNet port(s) built-in, ControlLogix controllers will require you to add one to your project before you can add Distributed ControlNet I/O like Flex I/O.

Step 2) Next, right click on “ControlNet” and select “New Module”:

Step 3) Now in the “Select Module Type” window, type in the part number of your Flex I/O ControlNet Adapter, then select it from the list and click on “Create” (in this example I’m using a 1794-ACN15):

Step 4) In the “New Module” window, check the default “Revision” and “Chassis Size” to see if they match your actual Adapter and application. If not, click on “Change” to edit either or both fields:

Note: If your Adapter is already powered and wired to the network, you can check it’s revision by first finding it in RSLinx and then right clicking on it and selecting “Device Properties”:

Step 6) If you need to make a change to the module definition, click on the “Change” button and update the “Revision” and/or the “Chassis Size” to match what you have installed and then click on “OK.” Note that most Flex I/O Adapters support up to 8 modules, which is a chassis size of 8:

Step 7) After your “Module Definition” matches your physical hardware, you’ll need to “Name” your adapter and give it an “ControlNet Address” before clicking on “OK”:

NOTE: It’s important to understand that your Flex I/O Tags will show up in Controller Tags using the name you give your adapter. In our example we used the name, “CFIO.”

Step 8) Once you’re finished adding all your ControlNet adapters and other devices, click on “Close”:

Step 9) With your Flex I/O ControlNet Adapter added to the I/O Configuration, the next step is to add your Flex I/O Modules to the Adapter. To do this, click on the plus sign and then right click on the Adapter’s Flex Bus and select “New Module”:

Step 10) Now find and “Create” each of the Flex I/O modules connected to the Adapter:

Step 11) Just like with the Adapter, you can also find a module’s “Revision” in RSLinx Classic by right clicking on the module and selecting “Device Properties”:

Step 12) As you add each module, confirm the “Module Definition” and “Slot” is correct before clicking on “OK”:

Step 13) Once all your modules have been added, you’ll find their I/O Tags under “Controller Tags” using the “Name” you gave your Flex I/O Adapter.

In this case we used “CFIO” as our adapter’s name, and below you can see our new “CFIO” Flex I/O Tags:

NOTE: With ControlNet I/O we have the additional step of “Scheduling” the network. While there are many ways to do this (and many considerations you must make prior to doing it,) below we’ll walk through the simple steps we took in our project to schedule our I/O.

Step 14) The first step was to find the ControlNet Module in our I/O Configuration and right click on it to access its “Properties”:

Step 15) Next we selected RSNetworx on the left, and insured there is either a ControlNet file listed, or that you enter a new ControlNet file name:

Note: For the following steps to work you’ll need to have RSNetwox for ControlNet installed.

Step 16) Next we select “Schedule the ControlNet Network”:

Step 17) And finally we click on the RSNetworx Icon:

Step 18) At this point RSNetworx for ControlNet will launch, and you may be prompted to choose between online and offline data:

Step 19) One final note on scheduling a ControlNet network:

All Controllers on the same ControlNet Network which also have Scheduled I/O on that same Network MUST be put into program mode for the Network’s schedule to be updated in each and every Controller.

Put another way, there is only one (1) Network Schedule per ControlNet Network, so if multiple Controllers have I/O that’s part of that Network’s “Schedule,” then those Controllers need to be put in the Program Mode so they can receive and begin using the updated copy of the Network’s Schedule:

Step 20) Once our network was scheduled, and our controller was returned to “Run,” our ControlNet Flex I/O worked as expected:

The Automation Show, Episode 22:
Adding ControlNet Flex I/O To ControlLogix

I hope you found today’s article (and video) about how to add ControlNet Flex I/O to your ControlLogix helpful!

If you have any comments or questions, please don’t hesitate to post it using the “comment” link found below my signature.

Until next time, Peace ✌️ 

Shawn M Tierney
Technology Enthusiast & Content Creator

Have a question? Join my community of automation professionals and take part in the discussion! You'll also find my PLC, HMI, and SCADA courses at

If you found this content helpful, consider buying me a coffee here.

Shawn Tierney



Please enter your comment!
Please enter your name here