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 Once | Time to Cycle Through 10,000 Relays (s) | Time per Relay Cycle (ms) | Total Relay Operate Time (ms) |
1 | 14.875 | 1.4875 | 0.74375 |
2 | 7.6875 | 0.76875 | 0.76875 |
4 | 4.09375 | 0.409375 | 0.81875 |
5 | 3.375 | 0.3375 | 0.84375 |
8 | 2.26563 | 0.226563 | 0.906252 |
10 | 1.92188 | 0.192188 | 0.96094 |
16 | 1.35938 | 0.135938 | 1.087504 |
20 | 1.20313 | 0.120313 | 1.20313 |
25 | 1.03125 | 0.103125 | 1.2890625 |
40 | 0.828125 | 0.0828125 | 1.65625 |
50 | 0.75 | 0.075 | 1.875 |
80 | 0.640625 | 0.0640625 | 2.5625 |
NI 2815/2816/2817
Relays Connected at Once | Time to Cycle Through 10,000 Relays (s) | Time per Relay Cycle (ms) | Total Relay Operate Time (ms) |
1 | 14.4687 | 1.44687 | 0.723435 |
2 | 7.48438 | 0.748438 | 0.748438 |
4 | 3.98438 | 0.398438 | 0.796876 |
5 | 3.29688 | 0.329688 | 0.82422 |
8 | 2.23438 | 0.223438 | 0.893752 |
10 | 1.89063 | 0.189063 | 0.945315 |
16 | 1.34375 | 0.134375 | 1.075 |
20 | 1.1875 | 0.11875 | 1.1875 |
25 | 1.01563 | 0.101563 | 1.2695375 |
40 | 0.8125 | 0.08125 | 1.625 |
50 | 0.734375 | 0.0734 | 1.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).