Determine NI SwitchBlock Relay Operate Times

Updated Apr 28, 2023

Reported In

Hardware

  • Matrix Module for SwitchBlock

Issue Details

How do I determine relay operation speeds on the NI SwitchBlock? 

Solution

You can find the typical relay operate/release times in the NI 28xx specification sheets. These speeds are empirical and were obtained using a PXI-8106 controller with NI-SWITCH API calls. Overall relay execution time consists of the following components:
  • Software overhead per Relay Close or Relay Open API call
  • A small software overhead per additional relay in the same API call
  • Hardware overhead to execute each relay command
  • A small hardware overhead per additional relay in the same command
  • The actual relay operate or release time

NI SwitchBlock is capable of operating multiple relays simultaneously with the same NI-Switch API call. This reduces software overhead time, which leaves just a small increase in total time per additional relay in the same Relay Close or Relay Open call.  Empirical data obtained using a PXI-8106 controller running Windows XP SP3 shows that increasing the number of relays operated on as part of the same API call improves overall test time as follows:


NI 2810/2811/2812/2813/2814

Relays Connected at OnceTime to Cycle Through 10,000 Relays (s)Time per Relay Cycle (ms)Total Relay Operate Time (ms)
114.8751.48750.74375
27.68750.768750.76875
44.093750.4093750.81875
53.3750.33750.84375
82.265630.2265630.906252
101.921880.1921880.96094
161.359380.1359381.087504
201.203130.1203131.20313
251.031250.1031251.2890625
400.8281250.08281251.65625
500.750.0751.875
800.6406250.06406252.5625
 

NI 2815/2816/2817

Relays Connected at OnceTime to Cycle Through 10,000 Relays (s)Time per Relay Cycle (ms)Total Relay Operate Time (ms)
114.46871.446870.723435
27.484380.7484380.748438
43.984380.3984380.796876
53.296880.3296880.82422
82.234380.2234380.893752
101.890630.1890630.945315
161.343750.1343751.075
201.18750.118751.1875
251.015630.1015631.2695375
400.81250.081251.625
500.7343750.07341.8359375

Relays Connected at Once (RCO) is the total number of relays connected as part of the same API command to close or open relays.

Time to Cycle Through 10,000 Relays is the time required to connect 10,000 relays, RCO at a time (e.g. it took 2.23438 seconds to connect 8 random relays 1250 times).

Time per Relay Cycle is the effective time required to connect and disconnect a single relay, highlighting SwitchBlock's ability to address multiple relays simultaneously.  
Note: This is NOT the time required to close or open a single relay connection, but rather a method to show that closing multiple relays simultaneously (versus one after the next) reduces overall test time to connect N relays if you operate multiple relays in parallel.

Total Relay Operate Time is the time required to send a single request to close/open a group of relays (e.g. the amount of time it takes to simultaneously close or open RCO relays as part of the same API call).