Professional OPC
Development Tools

logos

Random Disconnect from OPC server

More
15 Oct 2013 08:41 #1479 by support
If what you subscribed is about the total of what is happening, I would consider it a fairly small load. With such load, performance should not really differ between the suggested approaches.

Can you please figure out whether the EASYOPCL process is running at (=right after) the time the errors occur.

And, what OPC server are you connecting to, and is it a local or remote connection? Are there other OPC clients connecting to it?

Thank you

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

More
14 Oct 2013 12:43 #1476 by dlbrown06
I have a heartbeat at each of the 6 services that is changing every 5 seconds which triggers a write to another tag. Also at each service I have 'data collect' bit that triggers a readmultipletag of roughly 15 different tags, insert into a mssql database and then a write to a tag. That transaction occurs about once every 30 seconds at each service.

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

More
14 Oct 2013 11:35 #1475 by support
On the side of our component and the OPC server, with the default setting (Isolated = False), the load would be roughly the same, regardless of whether you use 6 services or just one.

With setting Isolated = True form all services, we would create 6 separate connections to the OPC server, which means somewhat higher load.

But, unless we are speaking of large number of variables changing very quickly, the differences should not matter. What are you numbers?

The reason I am asking to watch for the presence of EASYOPL process is because I want to determine whether it has "fully" crashed (and terminated), or just stopped responding.

Best regards

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

More
13 Oct 2013 21:17 #1474 by dlbrown06
I've noticed that with the 6 services that I run, it appears that when I run them all, it looks like it start missing events in all the services (too much load on the one dll?) Overall performance looks like it really suffers.

I went with this approach (6 services) because for this application there are six separate operations that all require their own high priority for heartbeating and performing handshakes with the PLC. Would it be better to have one service that is subscribed to all the heartbeats and handshaking for all operations? Logically I guess that never made much sense to me so I didn't give it any thought. I'd like to hear what you think though.

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

More
13 Oct 2013 20:52 #1473 by dlbrown06
I'll keep an eye out for this. I wasn't watching the easy opc process. It looks like I can just restart my php services and they start functioning again for a limited time. I'll keep an eye on the easyopc service/process though now and let you know.

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

More
12 Oct 2013 19:15 #1472 by support
When this happens, is there EASYOPCL process in the Task Manager, or not?
Thank you

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

More
11 Oct 2013 21:25 #1471 by dlbrown06
Nevermind, it's still not working. Just took longer to crash this time...

All the services crashed in about 3 hours with this error when writing one bit:
exception 'com_exception' with message 'Error [0x800706be] The remote procedure call failed

I've done what you recommended to do earlier, but it doesn't look like it has solved the problem.

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

More
11 Oct 2013 18:51 #1470 by dlbrown06
Okay that seems to have taken care of it. I've had them all running over 3+ hrs and it seems to have not skipped a beat which is great.

However, now the heartbeat seems so slow. The heartbeat I am doing with the PLC is the PLC increments an integer tag that I'm subscribed to. On change I simply set a different integer tag equal to what the PLC set. I'm noticing that sometimes after the PLC changes, it takes sometimes 3 seconds for the other tag to update.

Is this Isolated mode causing performance issues? Is there a setting in the EasyOpc Options to make this more responsive?

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

More
09 Oct 2013 16:26 #1462 by support
The Isolated property is also available in EasyDAClient, but it is currently (a bit non-consistently) a property of the ClientMode which itself is a property on the EasyDAClient.

What I meant by using two separate objects was that instead of using $opcSender for "WriteItemValue" call, you would use a separate, second EasyDAClient, which you will keep just for the purpose of operations done form inside the "item changed" event handlers. And, set its Isolated to 'true'.

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

More
08 Oct 2013 21:31 #1458 by dlbrown06
I guess I'm a little confused on setting isolated to true on the EasyDAClient. Isn't that only available on the EasyUAClient?

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

Moderators: support
Time to create page: 0.208 seconds

      

 Recommend this on Google