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
- The server stops due to an error
The server stops due to an error
Please Log in or Create an account to join the conversation.
- peter.eidsvik@siemens.com
- Offline
- Junior Member
- Posts: 3
- Thank you received: 0
I have solved the case. It was a license and a program bug which I have solved. There are no problems with the OPCClient software. (I got a demo license from Software Toolbox).
Now I poll 50 values from an OPC server, and it has run for 24 hours without errors
I use the ReadMultipleItemValues().
Is there a limit on how many items I can poll when using ReadMultipleItemValues ?
Thanks for excellent support
Peter
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
You can safely call EasyDAClient.ReadItemValue every 5 seconds or so, that's one of the usage cases we have designed for. With the default settings (when the Isolated property of the EasyDAClient instance is set to false), there would be very little difference whether you use a single EasyDAClient instance, or a new instance each time - in both cases a common connection will be shared.
You are seeing connections and disconnections because the time between the operations is longer than our "hold period" - the time we keep the connection when it's not in use. The hold period can be configured to be longer, in which case you should start seeing a steady, uninterrupted OPC connection.
You should place exception handling around the ReadItemValue call, and catch OpcException. In it, there will be an InnerException with details.
It is true that the trial license only gives valid data for 30 minutes since the process was started. We often issue an evaluation license to customers who need it, typically with 30 days validity and no further limitations. I can do the same for you, but would like to see a confirmation from your side that you have caught the exception and the exception indicates a licensing problem - pls post the message text of the outer and inner exception here.
Best regards
Please Log in or Create an account to join the conversation.
- peter.eidsvik@siemens.com
- Offline
- Junior Member
- Posts: 3
- Thank you received: 0
On the client side (IE) there are no errors. I only restart server-side and all clients start working again.
Server-side:
When I look at the OPC server side (which is on a separate server) I see that the instance of the
OPCclient() is connecting and disconnecting every time it reads values...
I think from a performance view I should create global declaration and use that instance of the client to read every 5 seconds?
Peter.
I see that Live Binding is only for Windows Forms so that is not an approach.
Please Log in or Create an account to join the conversation.
- peter.eidsvik@siemens.com
- Offline
- Junior Member
- Posts: 3
- Thank you received: 0
Some explanation: By Server-side I mean ASP.NET 4.5 c# code running on IIS 8.0. And by Client-side I mean code (JavaScripts+++) running on the IE on a client pc.
On the server-side have I installed QuickOPC.Net for use with ASP.NET 4.5. So the two functions is running on the server-side (IIS) using a Timer for triggering. Then I use SignalR to push data read by EasyDAClient() to the clients. NO QuickOPC.Net code is used on the client-side (Forms etc).
OPC server is running on another server,and is working fine and there are no errors on this side.
Can You please answer this question first:
Can I call this code every 5 seconds? (Code is triggered by a Timer)
var client = new EasyDAClient();
object value = client.ReadItemValue(“ArchestrA.FSGateway.3”,”OPC.Devicegroup.Value”);
OOps!!! I use the demo license and that stops every 30 minutes I think? Is it possible to send a demo license that runs for 7 days?
Peter.
Please Log in or Create an account to join the conversation.
I am missing details (and I do not quite understand) to this part of your explanation:
Does it mean that something happens on the OPC server side? What? Is there a specific error message? Is the OPC client side (your program) also affected? How?"Then the server stops due to an error."
Thank you
BTW, which programming language is this in?
Best regards
Please Log in or Create an account to join the conversation.
Sent: Monday, March 23, 2015 8:56 AM
To: Zbynek Zahradnik
Subject: RE: OPC Labs Contact Form - Demo license EasyOPC.NEt
Hi,
I’m using v5.32 and it works fine.
My goal is to have an OPC Client installed on the server side updating a local object.
Then I use SignalR to push this object out to the clients.
On my ASP.NET server side I made a procedure (ProcessValues.cs) with a Timer that trigger every 5 second.
First I call this:
function TryUpdateProcessValues(oeevalues oeevalues)
var client = new EasyDAClient();
object value = client.ReadItemValue(“ArchestrA.FSGateway.3”,”OPC.Devicegroup.Value”);
oeevalues.value01 = Int32.Parse(value.ToString());
function BroadcastProcessValues(oeevalues)
Clients.All.updateProcessValues(oeevalues);
When I run this it runs fine for about 10 minutes. Then the server stops due to an error.
The problem is the “function TryUpdateProcessValues(oeevalues oeevalues)” because of the code:
var client = new EasyDAClient();
object value = client.ReadItemValue(“ArchestrA.FSGateway.3”,”OPC.Devicegroup.Value”);
which trigger every 5 seconds.
So, maybe I must use LiveBinding or ???
Else I have to rewrite the code in such a way that the “var client = new EasyDAClient();” runs only once in an initial code segment.
Please give me feedback or suggestion – Thanks
With best regards,
P.
Please Log in or Create an account to join the conversation.
- Forum
- Discussions
- QuickOPC-Classic in .NET
- Reading, Writing, Subscriptions, Property Access
- The server stops due to an error