Professional OPC
Development Tools

logos

Online Forums

Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.

Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.

Do not use the Contact page for technical issues.

subscription onwrites

More
03 Dec 2015 16:46 #3715 by support
Replied by support on topic subscription onwrites
Dear Sir/Madam,
thank you for your interest in our products.

Ad 1. Yes, this is normal behavior. In "Classic" OPC, the server is only expected to send the values that have changed (even if it has collected the value anew and it has not changed). This, of course, is sub-optimal for some applications (trending). The new OPC (Unified Architecture) allows the client to specify a "trigger" (value, value/status, value/status/timestamp). Some OPC "Classic" servers can also send unchanged values - but that's server-specific.

You can, however, rely on the fact that if you don't receive values, that they have not indeed changed. There are checks on the connection presence, so e.g. if the connection to the server is lost, you would receive a notification with an error (and will not wait "forever", thinking that the value is still as it was before).

Ad 2. Yes, subscriptions are more efficient and should be used (in place of repeated reads) whenever possible for the purpose.

Ad 3. We internally split the requests into each server. And, the operations that have to do with different server will be performed in parallel by our component. Therefore it is recommended that you *do* "mix" multiple servers, if that's what your app needs to do.

Ad 4. OPC-DA Version 3.0 has a notion of server-side buffer, but few servers support it, and QuickOPC does not support it.

Ad 5. There is no such method, but what you are doing should be fine.

Best regards

Please Log in or Create an account to join the conversation.

More
03 Dec 2015 11:24 #3713 by guidodb
dear support,

I am developing a VB .NET application to integrate with OPC DA servers and have following simple questions :

1. I am reading data using the SubscribeMultiple method. In the underlying EasyDAItemSubscriptionArguments, I have passed a RequestedUpdateRate. However, I dont get always updates in the requested period. I guess this is because the underlying data did not change. Is it correct to say that I wont get any callback if the underlying data in the OPC server does not change ?? Is there a way to get a callback, even if the root data did not change ?

2.
Is the subscription mechanism better or more performant than regularly reading the data ?

3.
It seems that I can request data from multiple OPC servers using one single SubscribeMultiple call. Does this affect performance in any way - is it better to group data together - same OPC server, same update frequency ?

4.
I read about a buffer on the OPC side. is there a way how an OPC DA client can control reading from buffer and/or device. Also, is there a way the upodate frequency from device to buffer on the OPC server can be controlled ?

5.
To write data, I am now using the WriteMultipleItemValues mechanism. However, I have to manually do this again and again from my application using a timer. Is there no way to write values into teh OPC server in some subscribed method, similar to the sunscription used to write data.

thanks from a OPCLabs beginner,

guido

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.041 seconds