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.
- Forum
- Discussions
- QuickOPC-Classic in .NET
- Reading, Writing, Subscriptions, Property Access
- Cannot connect Data Access client (timeout) while writing values to tag/item
Cannot connect Data Access client (timeout) while writing values to tag/item
Please Log in or Create an account to join the conversation.
- saravana48
- Topic Author
- Visitor
Please Log in or Create an account to join the conversation.
That's kind of obvious in the OPC world: a connection (represented by DCOM OPCServer and the stuff that gets created from it) is a two-ended "pipe" between a client and a server. There cannot be a pipe that connects one client to multiple servers.
Please Log in or Create an account to join the conversation.
- saravana48
- Topic Author
- Visitor
I am using 10 EasyDAClient object to subscribe from 10 OPC server(each OPC server located in different machine) with the default Isolated property(False) in a client application.
In this case, will there be one (shared) connection establish to connect all the OPC server? orelse will it create 10 different connection?
Please Log in or Create an account to join the conversation.
As to the connections on the client side: Each process (app) that uses QuickOPC assemblies (more precisely, each app domain, but usually there is just one app domain in a process), has its own connections.
And, all the EasyDAClient objects in one app domain will normally create just one (shared) connection to any given OPC server - no matter how many of these EasyDAClient objects you use. You can force a creation of separate connections by setting the Isolated property on each such EasyDAClient object to 'true'. Then, separate connections will be created. There is practical hard-coded limit on the number of such connections to be created on our side (QuickOPC), however it is advised that unless there is true reason, you use just one connection, or a handful of them, but not too many.
Best regards
Please Log in or Create an account to join the conversation.
- saravana48
- Topic Author
- Visitor
Is there any restriction on number of connection to a server(TOP server)?
Please Log in or Create an account to join the conversation.
- Settings made in one application do not affect other applications.
- Increasing the hold period should not negatively affect the performance of Top Server - in fact, it can be expected that it'll have a positive effect. The reason why the default is relatively short is that some servers need to be disconnected from all clients (and shut down) in order to update their address space, if it's dynamic.
- The connections are per server & per machine. Attempting to use the "subscription hold" technique to a local server will not keep the remote server connected.
- I can only guarantee the "subscription hold" technique with the latest QuickOPC version (5.34). Some older versions have functioned differently in this respect; and, we do not support them.
- If you have purchased a license while 5.3x (e.g. 5.30 or 5.31 etc.) was the current version, then you are automatically licensed to all 5.3x version (including the current version 5.34) and do not have to pay anything.
And, last of all, it should be said that it is still weird why the connection should take so long (longer than the default of 1 minute). Anything described above is basically just a workaround, but does not address this issue. It is, however, likely, that the delay is on the server side.
Best regards
Please Log in or Create an account to join the conversation.
- saravana48
- Topic Author
- Visitor
I have set the HoldPeriods value as 30 minutes. The tag/item successfully writes if the subsequent request arrives before 30 minutes(HoldPeriods value), but the write request which arrives after 30 minutes throws the timeout error. So now I increased the HoldPeriods value to 60 minutes.
I have another 3 VB.NET client application running in the same machine which subscripes arround 150 tags/items and writes to 250 tags/items in same Top server.
1)Will increasing the HoldPeriods value affect the subscription and write operation in other applications?
2)Will increasing the HoldPeriods value affect the performance of the Top Server?
Please Log in or Create an account to join the conversation.
- saravana48
- Topic Author
- Visitor
The subscription starts at the beginning of the application and unsubscribe while closing the application. The application running in 24X7.
Note: I made subscription to remote server, while the writing operation performed to the local server(where the client application running). Both subscription and write operation using different EasyDAClient object.
The problem is in establishing connection with the server within the configured timeout during read/write operation. Am I right? If so, then we have to maintain an open connection with the local server(timeout error raising server).
Can we maintain a open connection by any one of the following? If so then which one is feasible?
- subscribing a tag/item from the server(timeout error raising server). As far as I know the subscription maintains the open connection with the server
- configuring HoldPeriods.TopicWrite.
Please Log in or Create an account to join the conversation.
The reason I am asking is because the error you are getting has to do with "initial" connection to the OPC server. But the connection should be kept open as long as there is any subscription in effect. However the matter is a bit more complicated, so I need to gather the facts first.
Anyway, the basic two suggestions to start with are as follows:
1. Increase the "hold period". For individual Reads or Writes, this is the amount of time for which the connection is kept open after the operation. If the problem is in establishing the connection, then having a long hold period would mean that the connection will stay open and will not have to be reestablished again. It can be e.g. a value around half an hour easily, i.e. 30*60*1000 milliseconds. On the EasyDAClient object, it is in HoldPeriods.TopicWrite property.
2. Upgrade to recent version (5.34 as of now).
Best regards
Please Log in or Create an account to join the conversation.
- Forum
- Discussions
- QuickOPC-Classic in .NET
- Reading, Writing, Subscriptions, Property Access
- Cannot connect Data Access client (timeout) while writing values to tag/item