Community Tip - Learn all about the Community Ranking System, a fun gamification element of the PTC Community. X
My system consists of two Control Logix L83 CPUs and one OPCDA server.
I use advanced tags between these systems with both reads and writes to all of the devices.
The issue I am encountering is this:
When we first start up the system, the links do not synchronize between the systems.
I have groups of boolean values in the PLC that have a value of 1 but in the OPCDA server, they remain 0.
If i manually change the state in the PLC from 1 to 0 and then back to 1, the OPCDA server will then show the change.
I have tried opening the quick client and performing an async refresh of the cache and device but this does not seem to help.
Is there a way to tell the whole system to sync up and ensure the linked tag destination matches the source?
Solved! Go to Solution.
As a follow up to this question.
There does not appear to be a solution but the cause was identified and there are some troubleshooting steps to help in this situation.
For our application, we make occasional changes to the systems outside of Kepserver. (We use kepserver to keep these two systems sync'd up)
When we make changes to these external systems, certain points in these systems are set to default values.
If these points happen to be a destination tag in a linked tag group, there will be a mismatch in the values.
This is because the source value and status did not change so a write is not triggered.
The easiest way to discover if there is a mismatch in your source and destination is to open the quick client and look at the value column in the advanced tags group. This will show either "source = destination" or "source != destination"
For us, the fastest way to resolve this mismatch is to disable the network adapter for one source and then reconnect, disable the adapter for the other source and then reconnect.
This gets all of the points synchronized and the exception based updates work normally.
Try setting the Link Tag to 'On interval' instead of 'On data change'. That will write the input values down regardless of the data change notification from the runtime.
-Andy
Andy Servetas
Principal Technical Support Engineer | Kepware Technologies
Andy,
I have a few concerns with this approach but perhaps they are unfounded.
The first concern is that I have 8941 linked tags and I would like to keep them exception based as I suspect there will be a performance penalty for keeping them active all the time. It would also become cumbersome to cherry pick which tags needs to be exception vs interval.
The other concern has to do with where the linked tags gets the new value from. For example, if i set the linked tag to "On interval" will this trigger a read from the source device or will it simply retrieve the cached value and write that?
My concern is that if the source of the problem is that the values in the device are not being read and subsequently updating the cache, then I would just be continually writing the cached value rather than the current value in the source.
Are these concerns legitimate?
Thanks in advance.
As a follow up to this question.
There does not appear to be a solution but the cause was identified and there are some troubleshooting steps to help in this situation.
For our application, we make occasional changes to the systems outside of Kepserver. (We use kepserver to keep these two systems sync'd up)
When we make changes to these external systems, certain points in these systems are set to default values.
If these points happen to be a destination tag in a linked tag group, there will be a mismatch in the values.
This is because the source value and status did not change so a write is not triggered.
The easiest way to discover if there is a mismatch in your source and destination is to open the quick client and look at the value column in the advanced tags group. This will show either "source = destination" or "source != destination"
For us, the fastest way to resolve this mismatch is to disable the network adapter for one source and then reconnect, disable the adapter for the other source and then reconnect.
This gets all of the points synchronized and the exception based updates work normally.