cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Your Friends List is a way to easily have access to the community members that you interact with the most! X

Kepware 6.12 not refreshing OPC client

AT_9493596
7-Bedrock

Kepware 6.12 not refreshing OPC client

I have an OPC DA client (Citect) writing a value to a PLC via Kepware. The value written is 1, 2 or 3 and once the PLC has seen this, it resets the value back to 0. This works fine.

The problem I have is that Citect never sees the value reset to 0 and the value in Citect 'sticks' at 1, 2 or 3. I can however see that in Kepware (via Quick Client) the value is 0. It appears that Kepware is not giving an update to the Citect OPC client.

If I restart Citect, the value is successfully read as 0 (presumably because Kepware will then provide a general refresh of all tags to Citect). 

Is it possible for Kepware to get confused when a tag has two new values in quick succession? (0 to 1 and then 1 to 0) i.e. It sends the first change to the OPC client but not the second change.

I have seen something similar with another OPC server in the past where it would forget to send the second update. 

ACCEPTED SOLUTION

Accepted Solutions

Hi rajskumar,

Thank-you very much for taking the time to reply. My assumption was that the tag in question would be refreshed when it changed (like all the other tags that are read from the PLC). Therefore, when the PLC changed the tag back to 0, Kepware would pick this up and Citect would be notified. What I found was that Kepware does pick up the change but Citect isn't notified. 

I'm still surprised by this. However, I discovered a Citect OPC parameter that goes in the OPC section of the Citect ini file - "ReadAfterWrite" - and this solves it.      

AT_9493596_0-1714037982598.png

You suggestion pointed me to look for this so thank-you again!

 

View solution in original post

3 REPLIES 3
rajskumar
14-Alexandrite
(To:AT_9493596)

Hello,

Kepware itself acts as middleware and cannot directly perform read/write(A client is needed) operations and send them to the Citect DA client. Instead, the Citect DA client must perform a read after write to determine the final value (in this case, 0).

 

Regarding the Quick Client, it is important to note that it has a default update rate of 1000 ms. If the scan mode in the Kepware driver is set to “Respect Client specified Scan rate,” the Quick Client will read after each 1000 ms and update the value.

 

For further troubleshooting, I recommend trying a Sync/Async read in the Citect client to observe whether it updates the value to 0.

Feel free to reach out if you have any additional questions or need further assistance.

Hi rajskumar,

Thank-you very much for taking the time to reply. My assumption was that the tag in question would be refreshed when it changed (like all the other tags that are read from the PLC). Therefore, when the PLC changed the tag back to 0, Kepware would pick this up and Citect would be notified. What I found was that Kepware does pick up the change but Citect isn't notified. 

I'm still surprised by this. However, I discovered a Citect OPC parameter that goes in the OPC section of the Citect ini file - "ReadAfterWrite" - and this solves it.      

AT_9493596_0-1714037982598.png

You suggestion pointed me to look for this so thank-you again!

 

@AT_9493596 

 

I wanted to follow up with you on your post to see if your question has been answered.

 

 

If so, please mark the appropriate reply as the Accepted Solution for the benefit of other members who may have the same question.

 

 

If not, our industry expert is also reviewing the replies and may accept one of them as solution on your behalf.

 

 

Of course, if you have more to share on your issue, please let the Community know.

 

Best regards,

*Chris 

Announcements


Top Tags