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.
When you add an I/O module to a Studio 5000 Logix Designer project, you define the type of Electronic Keying used for the I/O module. In this edition of Learn Logix, we will learn what Electronic Keying is and how the Electronic Keying configuration affects the behaviour of a module.
Electronic Keying is a software technique used to reduce the probability that someone will accidentally use the wrong module in a Logix 5000 system. It is quite common that an incorrect module is installed in a system during system installation or maintenance of the system so Electronic Keying provides an important check that a system doesn't operate with an incorrect module installed.
When you connect a module to a Logix 5000 system, the controller checks if the "key" for the module is correct. If the module's key is not correct, then a fault occurs in the controller.
So what makes up a module's key?
The controller automatically checks that the physical module that has been installed matches the module that is configured for that slot in the project that is running on the controller. Specifically, the following attributes are compared:
The actual key that is used by the controller is a combination of these attributes that is defined by the type of Electronic Keying that is selected. The three types of Electronic Keying that are available are:
Let's look at how the key is structured with each type of Electronic Keying.
Exact Match Electronic Keying requires that all of the keying attributes of the physical I/O module installed match the configured I/O module in the project.
Exact Match keying, as the name suggests, requires that all the keying attributes of the expected module configuration in the project match with those of the actual configuration of the physical module.
For example, the controller would not establish communication with a 1756-IB16D input module with firmware revision 3.2 if the project was configured with a 1756-IB16D module with firmware revision 3.1. Because the minor revisions are different, the physical and expected modules are not an Exact Match and the key is not correct.
Compatible Keying Electronic Keying requires that the installed module can emulate the module that is defined in the controller's project.
In practice, this means that a controller configured for compatible keying will accept any physical module with the same part number and a newer firmware revision.
For example, the controller would establish communication with a 1756-IB16D input module with firmware revision 3.2 if the project was configured with a 1756-IB16D module with firmware revision 2.0. Since the physical module has newer firmware than the expected module and can emulate the behaviour of the expected module, the controller can establish communication with the module.
When Disabled Keying is activated, the controller establishes communication with an I/O module without checking any of the keying attributes of the physical module.
This means that not only could the controller establish communications with an older I/O module than the one defined, but that the controller could establish communications with a completely different I/O module than what is defined in the project.
This can result in unexpected results and it is very rarely recommended to use Disabled Keying.
For example, the controller would establish communication with a 1756-OB16D output module with any firmware revision even if the project was configured with a 1756-IB16D input module. In this case, the controller would attempt to read data from the output module which could lead to strange behaviour of the control system.
In this edition of Learn Logix, we learned what Electronic Keying is and how the type of Electronic Keying configured for a module affects a controller establishing communication with a new module. This information is summarized in the table below.
Typically, if you are working in a non-regulated industry, you will use Compatible Keying since it is easier to maintain a system when you can replace faulty modules with compatible ones without updating the projects.
In 10 years of working as an automation engineer, I have never come across a genuine use case for Disabled Keying and I do not recommend that you ever use it in your systems.
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.
Learn how to write, test, and simulate your first PLC program for free.Enroll Free
Sign up to the mailing list to get a new post about industrial automation and controls engineering delivered to your inbox every week.
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.