How to Interpret Tags for an I/O Module

A big thank you to our partners who keep this newsletter free to the reader:

Today's issue is brought to you by RealPars. RealPars provides high quality industrial automation courses at an affordable price. Join today for less than €20 a month and get access to RealPars full course catalog including courses for Siemens, Allen-Bradley, and CODESYS control platforms. For even more savings, the first 100 readers who use my discount code "kb-controls" get an additional 10% off the price of their membership.

I would also like to thank my second sponsor - you. If you are enjoying and getting value from Learn Logix then please consider using the Buy Me a Coffee widget on this page to support the newsletter.

After adding an I/O module to your Studio 5000 Logix Designer project, Studio 5000 Logix Designer automatically creates the tags for the I/O module.

To use these tags, you need to understand how the tags for an I/O module are represented in a project and what tags are available for a module. In this edition of Learn Logix, I will explain how to interpret the tags which are created for an I/O module in a project.

Module-Defined Types

Module-Defined Types

When you add an I/O module to a Studio 5000 Logix Designer project, the tags for that I/O module are automatically added to the project. The tags for a module are grouped together in a structure called a module-defined data type. As the name implies, the contents of the structure are defined by the module and each module can have its own module-defined data type.

Module-defined tags are automatically created as Controller scoped tags. This means that the tags are available to use in all of the programs in a Studio 5000 Logix Designer project.

Tag Naming

Naming Structure

The tags in a module-defined type are automatically named by Studio 5000 Logix Designer. The names of the tags in a module-defined type follow a standard format. That format is: Location:Slot:Type.Member.Bit.

The Location element indicates if the module is a local or remote I/O module. Remember that a local I/O module is an I/O module that is installed in the same chassis as the controller.

The Slot element specifies which slot of the chassis the I/O module is mounted in.

The Type element specifies the type of the data. Possible types include "I" for input data, "O" for output data, and "C" for configuration data. The type is labelled from the controller's perspective so Input data is data sent from the I/O module to the controller and Output data is data sent from the controller to the I/O module.

The Member element specifies a logical name for the tag's data such as "Data", "Fault", "CSTTimestamp".

Finally, Bit is an optional element that specifies which bit of the Member element is being access. In a digital I/O module, each I/O point is represented by a Bit in the Data Member of the module-defined type.

The name of a module-defined tag cannot be changed but, as we will see later on, an alias can be used to give a module-defined tag an alternate name that you can use in your application code.

Using Tags

The tags in a module-defined type are used to configure an I/O module, detect faults and diagnostic information, and monitor and control the state of an I/O module.

For example, when we added the 1756-OB16D module to our project, a set of tags were created for the module. We can view the tags that were created by opening the Controller Tags Table in the Studio 5000 Logix Designer project.

In the structure, the Local:0:C tags store the configuration data for the module. We can use these tags to check and edit the configuration of the module. For example, we can use the tag Local:0:C.FaultLatchEn to enable or disabled the Fault Latching feature of the output module.

Configuration Data

The Local:0:I tags contain the data sent from the module to the controller. We can use these tag to to monitor the status of the module. For example, the tag Local:0:I.Fault tag can be used to determine if the module has an active fault.

Input Data

Finally, the Local:0:O tags contain the output data sent from the controller to the module. We could write the value True to the tag Local:0:O.Data.0 to turn on the first output point of the module.

Output Data

We'll see how to use module-defined tags in more detail in a later edition of Learn Logix.

Wrap Up

In this tutorial, we learned what module-defined tags are, how to interpret module-defined tag names, and explored the data that is available in module-defined tags.

Now you can use module-defined tags in a Studio 5000 Logix Designer project to monitor the status of an I/O module, read data from or write data to I/O points, and check and modify the configuration of an I/O module.

When you're ready, I recommend that you learn more about PLC programming by following an affordable course based on free software.

PLC Programming From Scratch teaches you everything you need to know to be an intermediate PLC programmer by developing and testing the software for two industrial automation applications. By the end of the course, you will have two portfolio projects to discuss in interviews and you will know how to approach projects to design good PLC software.

Introduction to PLC Programming with CODESYS teaches you the fundamentals of PLC programming with CODESYS, a hardware independent PLC software development system that is becoming increasingly popular in industry.

PLC Bootcamp

Learn how to write, test, and simulate your first PLC program for free.

Enroll Free

Learn Something New Every Week

Sign up to the mailing list to get a new post about industrial automation and controls engineering delivered to your inbox every week.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Related Content

PLC Bootcamp

Learn the skills you need to start your journey as a PLC programmer. Enroll in PLC Bootcamp to learn how to write and test your first PLC program for free.