Problem where Different OPC tags are displaying the same value

I have an issue where every onw and then different OPC tags are displaying the same value, even though the actual PLC files contain different values. Another way of describing this issue is the OPC tags are not displaying the correct value. Below is a screen shot of the client display.
DT tags

Here is one of the OPC tag property definitions.

Here is a screen shot of the Label Component’s Text Property Binding.

The PLC being read is a Allen Bradley 5069-L330ERM CompactLogix 5380 Controller.
The tags are DINT.

The last time this happened it corrected itself and I was unable to trouble shoot.

Anyone else ever encounter anything like this?

Here is a screen shot of the PLC controller tags that are being read. It appears that the first address in the array (TimeDisplay[0].Hrs, .Mins and .Secs) is what is being displayed for all other TimeDisplay ignition OPC tags.

If you go into the tag browser at the time this is happening, do the values match the PLC? Expand the tag to see all the sub members, and see how much is right/wrong.

All the tags I am browsing are displaying the same values.
They do not match the PLC. Appears that they are displaying the value from first tag in the array.
See the screen shot below.

What firmware version on the PLC?
If it is an older firmware the OPC address for those tags should be

ns=1;s=[Cartoner]TimeDisplay.TimeDisplay[12].Mins

Note the extra TimeDisplay

Controller properties says it’s Revision 32.012

Why are the Tags Float8? I thought you were using Int4 (DINTs) in the PLC? I don’t know enough about Ignition yet to know if that has any effect, but it appears odd.

That is what appears when you select “Double” from Data Type drop down list.

When I made this change to the Tag's OPC Item path the tag reading faulted / errored.

 ns=1;s=[Cartoner]TimeDisplay.TimeDisplay[12].Mins

32 isn’t ‘older firmware’, which as Mike said, would require that syntax. ‘older’ is any thing below 21 (or 20.15… I’m still not sure where this line is) that use the older legacy driver

32 is newer so not the problem.
Change each tag to data type Int, the main tag in the PLC is double but the individual tags should be Int.

Made the changes to each tag’s Data Type and no change.

Now here is something strange.
I went into the PLC program and added a rung that moves TimeDisplay[2].Hrs, TimeDisplay[2].Mins and TimeDisplay[2].Secs into separate files. Eaxample: TimeDisplay[2].Hrs into Panel_dtHrs[2].
I then changed the Tag properties to display the new tag.

Not only does the changed tag now read and display properly but all of them (even though unchanged) are displaying properly.
Any ideas?

No idea, sounds like something got stuck in the OPC server?
@Kevin.Herron might have some ideas but it’s above my pay grade now.

1 Like

Call support next time you notice this and before you do anything to make the values come in again :man_shrugging:

I doubt this has anything to do with the datatype in Ignition but to clarify the correct Ignition datatype for a DINT in the PLC would be an Int4 / Integer in Ignition. It should be set to that automatically when you drag and drop it in.

As described it sounds like a bug, but without being able to poke around it at I can’t really narrow it down - PLC firmware, OPC, tag system, bindings, who knows…

1 Like

Excellent. I will make sure and contact support when it happens again.
Thank you.

Worked with Aaron Palas, an Inductive tech. After looking my setup over he suggested trying to upgrade my ignition platform to a higher version of 7.9 to see if the OPC server upgrade will solve the issue.
I will try to get this done as soon as I can and let you all know what the results are.
Thank you for all your help.