# OPC Tags Case Sensitivity - AB ControlLogix

**URL:** <https://forum.inductiveautomation.com/t/opc-tags-case-sensitivity-ab-controllogix/14043>\
**Category:** Ignition\
**Created:** [April 13, 2017, 4:39pm UTC](https://forum.inductiveautomation.com/t/opc-tags-case-sensitivity-ab-controllogix/14043 "2017-04-13T16:39:16Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![john.furby](https://avatars.discourse-cdn.com/v4/letter/j/e9bcb4/32.png) [@john.furby](https://forum.inductiveautomation.com/u/john.furby)\
**Post date:** [April 13, 2017, 4:39pm UTC](https://forum.inductiveautomation.com/t/opc-tags-case-sensitivity-ab-controllogix/14043/1 "2017-04-13T16:39:16Z")

</div>

Both the new and legacy drivers for ControlLogix are case sensitive and I have no idea why or if you can turn it off. The PLC itself is not case sensitive, you cannot make tags of the same name with a different case, so why is the driver? I’ve never had a driver that was case sensitive before. It is causing problems because our programmers have been inconsistent with their naming cases so some PLCs need:  
[{Node}]{ProgramName}{InstanceName}\_Steps.{TagName}  
while others will need:  
[{Node}]{ProgramName}{InstanceName}\_STEPS.{TagName}

Is there a way around this ‘feature’? If not, could this be added in future updates?

---

<div class="post-metadata">

**Author:** ![patrixmith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/patrixmith/32/75926_2.png) [@patrixmith](https://forum.inductiveautomation.com/u/patrixmith)\
**Post date:** [April 13, 2017, 6:12pm UTC](https://forum.inductiveautomation.com/t/opc-tags-case-sensitivity-ab-controllogix/14043/2 "2017-04-13T18:12:28Z")

</div>

I agree, John.

I’ve always found this strange as well. It took me awhile to troubleshoot several bad quality tags in the past for this very same reason. I haven’t been able to find a workaround and would love to have something added in future updates as well.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 14, 2017, 1:17am UTC](https://forum.inductiveautomation.com/t/opc-tags-case-sensitivity-ab-controllogix/14043/3 "2017-04-14T01:17:57Z")

</div>

Hmmm. Arguably this is a bug. The Ethernet/IP encoding of symbol names uses “ANSI Symbolic Path Segments”, type code 0x91, which are called out in the CIP Spec as case-insensitive.  
Kevin?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 14, 2017, 1:46am UTC](https://forum.inductiveautomation.com/t/opc-tags-case-sensitivity-ab-controllogix/14043/4 "2017-04-14T01:46:20Z")

</div>

EtherNet/IP symbolic segments and Logix tag names may be case insensitive, but OPC UA NodeIds and Browse Names certainly are not, and you’re interacting with the OPC UA server, not directly with the driver/controller.

It could probably be modified to work in a case-insensitive manner but the way it behaves now is intentional.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 14, 2017, 2:42am UTC](https://forum.inductiveautomation.com/t/opc-tags-case-sensitivity-ab-controllogix/14043/5 "2017-04-14T02:42:49Z")

</div>

Understood, but violates the principle of least surprise. Conflicting specs sucks. /-:

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 14, 2017, 2:59am UTC](https://forum.inductiveautomation.com/t/opc-tags-case-sensitivity-ab-controllogix/14043/6 "2017-04-14T02:59:59Z")

</div>

Because all the Nodes that matter in this case are dynamically looked up based on the incoming NodeId, I think I could make this work, just need to consider how risky it would be to make this kind of change mid-cycle. In a more traditional situation where actual Node instances were created on startup, by a browse, or by some other static means, it wouldn’t be possible.

Whether this change happens or not, I maintain the position that case-insensitivity is for savages 😆

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 14, 2017, 12:08pm UTC](https://forum.inductiveautomation.com/t/opc-tags-case-sensitivity-ab-controllogix/14043/7 "2017-04-14T12:08:45Z")

</div>

> [@Kevin.Herron](#):
>
> Whether this change happens or not, I maintain the position that case-insensitivity is for savages

Indeed. Switching from Windows to Linux years ago was a great joy in that respect. Yes, Windows is for savages. (-:

---

<div class="post-metadata">

**Author:** ![michael2](https://avatars.discourse-cdn.com/v4/letter/m/3e96dc/32.png) [@michael2](https://forum.inductiveautomation.com/u/michael2)\
**Post date:** [February 24, 2020, 11:06pm UTC](https://forum.inductiveautomation.com/t/opc-tags-case-sensitivity-ab-controllogix/14043/8 "2020-02-24T23:06:04Z")

</div>

Apologies for the necro, but this is a major headache for anyone doing a system upgrade where there has previously been no concern for case sensitivity. Is there any update on the possibility of making the AB driver case insensitive?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [May 6, 2021, 8:29pm UTC](https://forum.inductiveautomation.com/t/opc-tags-case-sensitivity-ab-controllogix/14043/9 "2021-05-06T20:29:57Z")

</div>

I made a ticket to look into this a bit more in an upcoming sprint. If we do end up tackling this it’s probably only going to be for the Logix v21+ driver, not the legacy ControlLogix/CompactLogix drivers.

---

<div class="post-metadata">

**Author:** ![framebuilder](https://avatars.discourse-cdn.com/v4/letter/f/96bed5/32.png) [@framebuilder](https://forum.inductiveautomation.com/u/framebuilder)\
**Post date:** [February 6, 2023, 8:26pm UTC](https://forum.inductiveautomation.com/t/opc-tags-case-sensitivity-ab-controllogix/14043/10 "2023-02-06T20:26:32Z")

</div>

Apologies for another necro. Is there any update on this? It still seems to be case sensitive for the highest version Logix driver in 8.1.21. We're trying to get away from Kepware AB drivers to use Ignition drivers and the PLC engineers are so inconsistent that it's causing issues.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 6, 2023, 9:23pm UTC](https://forum.inductiveautomation.com/t/opc-tags-case-sensitivity-ab-controllogix/14043/11 "2023-02-06T21:23:21Z")

</div>

My new alternate client driver is not case sensitive, fwiw:

> [@Automation Professionals' EtherNet/IP Communication Suite V2](https://forum.inductiveautomation.com/t/automation-professionals-ethernet-ip-communication-suite-v2/68190/27):
>
> New Beta is now available: v2.0.2.230360000 See comment below Regarding the list a few comments back: Aliases within AOIs work. Turns out that parameter aliases into local tags take on the external access of that local tags, but creating the alias in Studio 5000 automatically switches "None" to "Read Only" for that local tag. That means that many "sealed" AOIs that don't show any of their local tags (and cannot be fixed), do show them to my probe, and any local tags that have readable al…

You'll just have multiple nodes, different node IDs, pointing at the same PLC tag.
