OPC Interop Settings Add Compatibility for Non-Compliant Clients

Flexible OPC compliance options maximize interoperability with the greatest range of OPC clients

The TOP Server has a number of configurable settings to help you connect with the OPC client applications that may not be following the OPC DA specifications 100%. These flexible compliance settings make it possible to work around such quirks and allow those OPC clients to work correctly with TOP Server.

Accessing OPC DA compliance settings in TOP Server

The OPC DA compliance settings in TOP Server are accessed through the Project Properties in the TOP Server Configuration interface.  Simply right-click on Project in the TOP Server configuration as shown to the right and select Properties.

In the Property Editor, go to the OPC DA section and scroll down to the Compliance settings. By default, all of these settings are configured for full OPC Foundation interoperability testing compliance.

When to make changes to TOP Server OPC compliance settings

If you are having problems connecting your OPC DA client to TOP Server, the most likely issue is the DCOM configuration and you can see our DCOM help resources here for more help in editing your DCOM settings. The TOP Server OPC Options can be used to alter certain behaviors from being strictly OPC specification compliant. This is useful if your OPC DA client requires different handling to be compatible with TOP Server.

However, in most cases, it is not required to modify these from the default settings for the majority of OPC DA clients, as most are OPC specification compliant and have been tested for interoperability with compliant OPC DA servers like TOP Server.

OPC DA compliance settings and how they affect TOP Server OPC DA behavior

The following settings affect how TOP Server behaves when connected to an OPC DA client:

  • Reject Unsupported Language IDs: Keep at the default of "Yes" to only allow Language IDs that are natively supported by the server. Set this setting to "No" to disable the compliant feature to force the server to accept any Language ID.
  • Ignore Deadband for Cache Reads: Keep at the default of "No" to respect the deadband specified by the client application. Set to "Yes" to force TOP server to ignore the deadband setting on OPC groups added to the server. This is needed for some OPC clients when passing the correct value for deadband causes problems such as having "good" data even though it does not appear to be updating frequently or at all.
  • Ignore Browse Filter: Keep at the default of "No" to respect browsing filters specified by the client. Set to "Yes" force TOP Server to return all tags to the OPC client application regardless of any browsing filters.
  • Data Type Support for 2.05a: Keep at the default of "Yes" for TOP Server to adhere to the data type requirements and expected behaviors for data type coercion that were added to the 2.05a specification. Set to "No" to revert to data type support pre-2.05a as required by your client.
  • Fail on Bad Quality: Keep at the default of "No" to remain OPC compliant and return success. Set to "Yes" to force TOP Server to return a failure if one or more items for a synchronous device read results in a bad quality read.
  • Group Initial Updates: Keep at the default of "No"  to allow TOP Server to return initial updates as they become available. Set to "Yes" to force TOP Server to return all outstanding initial item updates in a single callback.
    • Setting to "Yes" may result in loss of buffered data when using drivers that support data buffering (Event Playback) for unsolicited device protocols.
  • Respect Client Locale: Keep at the default of "Yes" for TOP Server to use the Locale ID of the OPC client when performing data type conversions. Set to "No" if you need TOP Server to use the Locale ID of the operating system instead.
  • Bad Quality Item as S_FALSE: Keep at the default of "Yes" for TOP Server to return S_FALSE in the item error result for items without good quality to the client. Set to "No" to force TOP Server to use the legacy behavior of returning E_FAIL (0x80004005) as the error result.
  • Return Data ASAP: Keep at the default of "No" to respect group update rate set by the client. Set to "Yes" to force a client update when an active item that experiences a change in value or quality regardless of update rate.
The Defaults button restores the settings to the default values for full OPC DA compliance.

Important Notes:

  • With the "Respect Client Locale" setting, a representative use case example is:
    • A string representing a floating point number such as 1,200 would be converted to One Thousand - Two Hundred if converted using English metrics, but would be One and Two-Tenths if converted using German metrics (because the metric system interprets a comma the same as the Imperial system interprets a decimal).
    • If German software is running on an English OS, users need to determine how the comma is handled. This setting allows for such flexibility. By default, the server respects the Locale ID of the OPC client application.
  • With the "Bad Quality Items as S_FALSE" setting, this should only need to be disabled if you're OPC DA client is an older client that is still expecting the deprecated legacy response of E_FAIL (0x80004005) for items without good quality from TOP Server.

Get Started Now

The demo is the full product once licensed. Once a client application connects to the  TOP Server, the TOP Server runtime will operate for 2 hours at a time. At the end of the 2 hour demo period, the demo timer must be reset by restarting the TOP Server runtime service.

Connect with Us

1-888-665-3678 (US + Canada toll free)
+1-704-849-2773 (Global)
support.softwaretoolbox.com