Shared RPC

Every driver has a SharedRPC value that you can set in the advanced mode of the Edit Properties dialog. Each is named after its driver: ABSharedRPC, DNP3SharedRPC. drivernameSharedRPC properties are stored in Settings.Startup, not Settings.Dynamic. Changes require a restart of the application in order to take effect.

 

When set TRUE (1) and if your application runs on multiple servers, you only have to declare a single entry in the application server list for all drivers of that type, rather than create an entry for each driver. All drivers of that type will switch between client and server modes together.

SharedRPC mode is not compatible with DriverMUX tags.

In many cases, there is an advantage to creating Driver Server Lists rather than configure shared RPC.

Do not set if:

  • You have set NoSoftDriverFailure = 0.
    Soft driver failure means that certain errors in drivers can cause the ‘driver service’ to switch to the alternate server. Therefore, this would mean even a correctly functioning driver could be ‘switched’ based on errors in a poorly operating instance.
  • You wish to share the driver load on different I/O servers. To share load you would have to assign each driver to a server list entry that you create.
  • You have a small application with few drivers.
  • You have a basic server list, common to all services and workstations.
  • You are using a Driver Multiplexer tag with your drivers.

 

Possibly set if:

  • All driver instances of the same type share a resource that would be adversely affected by drivers attempting to poll from different workstations at the same time. For example, a radio or other intervening hardware.
  • You are concerned about and wish to reduce system resources such as memory, CPU, and synchronization time, that are associated with multiple RPC services.