Various OPC calls explicitly require the use of synchronous communication. When an OPC Client application issues a synchronous call, it will wait for the OPC Server to provide the required result. This functionality makes it easier for developers to implement interlocks that necessitate a specific sequence of events. For example, when a specific operating procedure necessitates opening a valve before turning on a pump, developers can first use a synchronous call to open the valve, and then use a synchronous call to turn on the pump. The synchronous operation ensures that the first action (opening the valve) executes completely before the second action (turning on the pump). By contrast, an asynchronous call does not ensure that one action is complete before another action is taken. Integrators can also use synchronous communication when they must implement interlocks.
Synchronous calls can also cause OPC products to slow down. This is because synchronous calls will be implemented in sequence. Therefore, if applications use synchronous communications when End-Users do not require a specific order of operations, the associated products will perform unnecessarily slow.
Integrators often use synchronous communication to get around poor configuration of DCOM security. This will cause an unnecessarily high load on OPC Servers, as well as poor performance of OPC Client applications.
See also: Asynchronous, Callback