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

ThingWorx Navigate is now Windchill Navigate Learn More

Translate the entire conversation x

Issue with OPC UA Subscription Updates and Diagnostic Logging — Kepware Version: 6.15.132.0

CM_10617182
3-Newcomer

Issue with OPC UA Subscription Updates and Diagnostic Logging — Kepware Version: 6.15.132.0

Hello,

We are currently facing a challenge with our MES system's interaction with the Kepware OPC UA server, and I would like some guidance or clarification regarding logging and troubleshooting capabilities.

Setup:

  • Kepware Version: 6.15.132.0
  • Kepware ServerEX 6 with multiple channels configured for MODBUS devices.

  • MES system is connected to the Kepware OPC UA server.

  • MES subscribes to specific device tags, but values do not automatically update in MES as expected.

  • MES is configured to read/update these tags every 60 seconds.

Problem:

  • Without any other client connected, MES does not consistently receive updated tag values.

  • However, when I open the Kepware Quick Client (or connect another OPC UA client such as OPC Router or UaExpert) to the same tags, the MES system suddenly starts receiving updated values again.

  • This behavior suggests that connecting a third-party client somehow triggers or "wakes up" the tag updates.

Investigation So Far:

  • We have consulted our MES supplier, and they insist that their system is correctly configured to read the tag values at 60-second intervals.

  • They requested evidence — specifically logs showing whether the MES actually requested updates or not.

Challenge:

  • I attempted to use the Kepware OPC Diagnostics and log files (*.opcclog) to gather this evidence.

  • However, the current Kepware tools only allow exporting or viewing .opcdiag snapshot files — the .opcclog files created automatically by Kepware are not directly viewable, making it difficult to confirm or deny MES read activity for specific tags over time.

  • We require reliable logging that shows read requests (or lack thereof) from the MES client, including timestamps, NodeId, and client session details.

Request:

  • How can I accurately log OPC UA client read requests (especially for specific tags) over an extended period to validate whether the MES is polling the server as expected?

  • Is there a recommended way within Kepware to monitor and export such detailed read/subscription request activity?

  • If not, are there best practices to address situations like this (e.g., external tools, advanced diagnostics, special OPC UA settings)?

Thank you very much in advance for your support!

ACCEPTED SOLUTION

Accepted Solutions

Hi @CM_10617182 ,

 

I think the root cause would be:

Kepware optimizes device polling based on client subscriptions:

  • If no client is actively subscribed to or polling a tag, Kepware stops querying the device.

  • Some MES systems only read the tag on schedule (e.g., every 60 seconds) without subscribing, which can fail silently due to how OPC UA works with tag polling and caching.

Opening Quick Client forces a real subscription, waking the tag group, which triggers real-time device reads again.

Recommended Troubleshooting Steps

1. Force Continuous Polling (Testing Purpose)

To confirm the issue:

  • Go to Channel > Device > Advanced Device Properties in Kepware.

  • Set "Scan Mode" to "Respect Client-Specified Scan Rate" and disable Demand Polling.

  • Also, check the “Scan Rate Override” option to force a device scan every X milliseconds regardless of client request.

Then:

  • Restart Kepware.

  • Observe if MES now receives updates without any third-party client connected.

If yes, then MES is not truly "subscribing" but just polling on intervals, and the device polling is suppressed due to no active subscription.

 

2. Use Kepware’s Built-In OPC UA Diagnostics

Kepware supports advanced diagnostics for OPC UA clients:

Enable UA Diagnostics:

  • Open OPC UA Configuration in Kepware.

  • Go to "Diagnostics" tab.

  • Enable “Client Sessions”, “Subscription Activity”, and “Monitored Items”.

  • You will now see active sessions, subscription requests, intervals, and tag NodeIds per session.

This data is live but can’t be exported natively. For persistent monitoring:

Use Event Logging:

  • Enable Kepware Event Logging to a log file via:

    • Settings > Event Log > Log to File

    • Set verbosity to “Advanced”

    • Enable “OPC UA Server Interface” and “OPC UA Client Activity”

This will create .evl logs in:
C:\ProgramData\Kepware\KEPServerEX 6\LogFiles
These logs can be opened in
Notepad++ and searched for OPC UA Read or Subscription to verify MES behavior.

Thanks,

Shashi Preetham,
+91 8099838001 | shashi@psptechhub.com,
PSPTechHub  ||  World of PTC Thingworx  ||  LinkedIn

View solution in original post

2 REPLIES 2

Hi @CM_10617182 ,

 

I think the root cause would be:

Kepware optimizes device polling based on client subscriptions:

  • If no client is actively subscribed to or polling a tag, Kepware stops querying the device.

  • Some MES systems only read the tag on schedule (e.g., every 60 seconds) without subscribing, which can fail silently due to how OPC UA works with tag polling and caching.

Opening Quick Client forces a real subscription, waking the tag group, which triggers real-time device reads again.

Recommended Troubleshooting Steps

1. Force Continuous Polling (Testing Purpose)

To confirm the issue:

  • Go to Channel > Device > Advanced Device Properties in Kepware.

  • Set "Scan Mode" to "Respect Client-Specified Scan Rate" and disable Demand Polling.

  • Also, check the “Scan Rate Override” option to force a device scan every X milliseconds regardless of client request.

Then:

  • Restart Kepware.

  • Observe if MES now receives updates without any third-party client connected.

If yes, then MES is not truly "subscribing" but just polling on intervals, and the device polling is suppressed due to no active subscription.

 

2. Use Kepware’s Built-In OPC UA Diagnostics

Kepware supports advanced diagnostics for OPC UA clients:

Enable UA Diagnostics:

  • Open OPC UA Configuration in Kepware.

  • Go to "Diagnostics" tab.

  • Enable “Client Sessions”, “Subscription Activity”, and “Monitored Items”.

  • You will now see active sessions, subscription requests, intervals, and tag NodeIds per session.

This data is live but can’t be exported natively. For persistent monitoring:

Use Event Logging:

  • Enable Kepware Event Logging to a log file via:

    • Settings > Event Log > Log to File

    • Set verbosity to “Advanced”

    • Enable “OPC UA Server Interface” and “OPC UA Client Activity”

This will create .evl logs in:
C:\ProgramData\Kepware\KEPServerEX 6\LogFiles
These logs can be opened in
Notepad++ and searched for OPC UA Read or Subscription to verify MES behavior.

Thanks,

Shashi Preetham,
+91 8099838001 | shashi@psptechhub.com,
PSPTechHub  ||  World of PTC Thingworx  ||  LinkedIn

The above procedure (Built-In OPC UA Diagnostics) doesn't available for Kepware version 6.16 above.
At OPC UA Configuraiton, there is no Tab for 'Diagnostics'

Announcements


Top Tags