From: B.
Sent: Thursday, August 28, 2014 3:42 PM
To: Zbynek Zahradnik
Subject: "Long call time" to execute EasyDAClient.Dispose()
Zbynek,
S. have encountered a behavior with EasyDAClient.Dispose method we cannot understand.
[...] we have three channels in the [...] OPC-server we sample each 30 seconds.
Each channel is sampled in this way:
• Create a new thread to sample the channel.
• The thread has an own instance of the EasyDAClient class.
• Reading the tags for the channel.
• When the channel is sampled I call the EasyDAClient.Dispose method.
When this is done we do the same for the second channel and at last the third channel.
After the third channel is sampled, the EasyDAClient.Dispopse method always take about 3-5 seconds to execute. The two earlier calls take only a few milliseconds.
S. would like your opinion on this. Is this an issue or something we should just ignore.
S. have managed to reproduce the behavior “somewhat”. In the picture below he has print the times before and after he call of the EasyDAClient. Dispose method. Notice the time between is about 4 seconds. Hope this is a way to reproduce it.
You can run my test for yourself, please see attached code. I use QuickOPC V5.23.1052.1 for this test.
Make sure your OPC-server IS NOT running when you start this.
/S.
Today we got an report from a customer and S. made a TeamViewer connection. Sometimes dispose can take there more than one minute before it’s ready???
Something is wrong here. In the future we will have the possibility to have a sample rate on one second or shorter. To have a dispose which take so long time make this impossible. As S. say in version 3 of QuickOPC we didn’t need to use dispose but in version 5 we have to [...].
What do you think about all this?
Best regards
/B.
File Attachment:
File Name:
Code.txt
File Size:3 KB