The story of 6 minutes

  • Thread starter Ariel Burbaickij
  • Start date
A

Thread Starter

Ariel Burbaickij

Hello forum participants,
As it is specified DCOM client sends ping messages to the server every 2 minutes, as soon as 3 of them do not reach server (this is the reason for the title) it surmises that client is dead. Now my questions:

1) Is it true that it is impossibel to set ping interval to another value?

2) Provided the first question is answered in affirmative: I would say that delay of 6 minutes is often inacceptable for field devices that communicates with operator station via OPC. So the question is: How OPC tackles this issue?
 
> 1) Is it true that it is impossibel to set ping interval to another value?

The ping interval cannot be easily changed, nor should it be. See discuss.microsoft.com's DCOM list archives, where this issue was beat to
death about four years ago.

> 2) Provided the first question is answered in affirmative: I would say
> that delay of 6 minutes is often inacceptable for field devices that
> communicates with operator station via OPC. So the question is: How OPC
> tackles this issue?

The 6 minute timeout seems excessive, but its purpose is to clean up orphaned references to remote servers rather than provide applications with a way to detect dead or unreachable servers. A serious OPC client can watchdog its servers by calling IOPCServer::GetStatus every few seconds. If it fails for suspicious reasons, then the client can drop and attempt to re-create it's server references.

(IOPCServer::GetStatus is covered in OPCDA10A.doc, downloadable for free from opcfoundation.org)

Best regards,

Joe Manns
Arden Environmental Engineering Inc.
3550 Lexington Ave. N
Shoreview, MN 55126
Ph 651-484-5415
Fax 651-484-5568
 
R

Ralph Mackiewicz

One of the many reasons why you should not use DCOM for field communications. Use a protocol that is well suited for field communications (there are probably a hundred of them). Use an OPC server in the operator station that supports one of these field robust protocols. Which protocol to use will depend on the equipment you are using. OPC itself does not address this issue because OPC is an API, not a protocol.

Regards,
Ralph Mackiewicz
SISCO, Inc.
 
Top