Switch Hardware and Software

cancel
Showing results for 
Search instead for 
Did you mean: 

Low level control of SCXI 1127 relays

Hi,
How can I close or open switches HLSELECT and 1WIRE of SCXI-1127 manually? There is a VI(1WireINDEP) which uses CIN to activate these switches. This VI allows to activate HLSELECT and 1WIRE relays when the SCXI 1127/1128 is used in 1 wire mode as a 64x1 multiplexer. The 1WIRE relay will always connect to 1wirelowref signal. The HLSELECT will connect to Com0+ when H-L Channels is set to Channels 0-31 and to Com0- when H-L Channels is set to Channels 32-63.
I need to control 1WIRE relay just like this VI controls HLSELECT relay. I have attached this VI. Can you please modfiy it or write a different VI to allow controlling 1WIRE relay. I should be able to open and close these two relays (HLSELECT and 1WIRE) manually thro
ugh the VI. If this is not possible, can we modify this VI so that the 1WIRE relay will always connect to com0- signal instead of 1wirelowref signal.

Thanks
0 Kudos
Message 1 of 8
(8,327 Views)
The 1wireINDEP.vi was created for NI-SWITCH 1.6 customers using NI-DAQ 6.9 (or earlier). Since then we released NI-SWITCH 2.0, 2.1, and 2.2 bundled with NI-DAQ 7.0, 7.1 and 7.2 respectivelly.
HLSELECT and 1WIRE relays are now fully supported under these versions.

You do not need any special low level VI to control these 2 relays. All you need to do is:
- Create a chassis under DAQmx devices
- Use the NI-SWITCH shipping example "niSwitch Controlling an Individual Relay.vi".
- Enter a DAQmx descriptor (like SC1Mod4)
- Choose "1127/Independent" for the topology
- Enter HLSELECT or 1WIRE as the relay name
- Select the relay action

Additional help is available in the NI Switches help under devices>>SCXI-1127/1128
0 Kudos
Message 2 of 8
(8,325 Views)
Thanks for your reply. My problem is not that simple.I am using NI-SWITCH1.6 and need to continue using it. Can't I just use this VI as sub VI and call it? Here is my problem:

I am building a system to test cables that are open at both ends. A cable can have 4, 6, 8, 10, or 20 wires in it. I wish to test the resistance of each individual wire in a cable and insulation between wires. I have four SCXI 1127 modules with SCXI -1331 in a SCXI 1000 chassis. The switches are controlled by a PCI-4060 DMM.
I have written a VI ( in Labview 6.1, NI-SWITCH 1.6, NI DMM 1.6), which configures DMM for multipoint measurement and SCXI 1127 modules in scanner mode. I connect 1_WIRE_LOW_REF of all SCXI-1331s to a common point, which connects all wires in a cab
le/s under test. So, by using SCXI in scanner mode and generating scanlist, I can measure the resistance of individual wires. I use 1127 in 64 x1 multiplexer mode. This takes care of one requirement.

Now for insulation testing, I keep all wires of cables connected to switch channels and need to connect them in combinations. I can generate the combinations and pass it in a loop to close or open switches. I need help in creating correct paths and route the measurements to DMM.
For example:
Let�s say, we have a four wire cable, I need to test the insulation between them in pairs. There are six possible combinations: 1-2, 1-3, 1-4, 2-3, 2-4, 3-4. Let�s say these wire are connected to ch0, ch32, ch1, ch33 of module 4, the VI may need to close the switches as per the paths required (attached in word document).
I just don't know how can it be done.
0 Kudos
Message 3 of 8
(8,326 Views)
I understand your setup. There is a small problem. You will not be able to test insulation between wires connected to channels 0 to 31 because they are all routed to COM0+ (check the diagram). You can only test channels 0-31 with any channels 32-63. When closing channels 0 and channel 1, the signal on ch0+ will be routed to COM+ and signal on CH1+ will also be routed to COM+ and can never be routed to COM0-.

The SCXI-1127 is a 64x1 1 wire mux where the "1" can be any of the 64 channels but the reference signal can only be a reference signal common to all input channels. What you trying to do with your setup is 2x64 (2 rows, 64 columns) 1-wire matrix where any of the 64 inputs (connected to the columns) can be routed to any of the 2 rows.
0 Kudos
Message 4 of 8
(8,326 Views)
Thanks Gug F,
I don't quite understand your reply. Can you please explain it in detail especially the first paragraph. I'm sorry.
0 Kudos
Message 5 of 8
(8,326 Views)
Use the diagram of the SCXI-1127 to follow these explanations.
Let's use your example and assume that you want to measure insulation between the pair 1-3. Wire 1 is connected to ch0+ (see switch diagram, in a 64x1 topology it is called ch0) and wire 3 is connected to ch1+ (see switch diagram, in a 64x1 topology it is called ch1)
When you close relay CH0: ch0+ (or ch0 in a 64x1) will be routed to COM0+ (see diagram) and ch0- (or ch32 in a 64x1) will be routed to COM0- (see diagram). When you close relay CH1: ch1+ (ch1 in a 64x1) will be routed to COM+ (the same COM0+ that already has ch0+) and ch1- will be routed to COM0-. You will not be able to route ch0+ to AB0+ and CH1+ to AB0- even with the help of HLSELECT and 1WIRE relay.


In the diagram all "+" leads of every channel (channel 0 to 31 in a 64x1) can ONLY be routed to COM0+ and then to AB0+. All "-" leads of every channel (channel 32 to 63 in 64x1) can be routed to either AB0+ or AB0- by using the HLselect relay.

See in the diagram, when you actuate the relay called CH0, you actually close ch0+ and ch0- (2 Form A relays) which will cause Ch0+ to connect to COM0+ and ch0- to connect to COM0-.

Follow the traces on the diagram and you will find that none of the "+" leads can connect to AB0-. It is just not possible. The SCXI-1127 was designed as a 2-wire MUX and with the help of 2 single relays (HLSELECT and 1WIRE), you can also use it as a 64x1 1wire mux but it cannot be used as a 2x64 1-wire matrix.

I Hope this helps.
0 Kudos
Message 6 of 8
(8,326 Views)
Thanks for your detailed reply. Now, I understand it completely. I was just trying to manipulate HLSELECT and 1WIRE to achieve the desired functionality.
Anyway, now I can test the insulation between wires 1 and 2 (connected to ch0+ and ch0-),and 3 and 4(connected to ch1+ and ch1-) independently by closing Ch0 and ch1 along with AB0. This puts two wires connected to a relay (ch0 or ch1) in series, so I can get the low reading if a short circuit exists between 1 & 2 or 3&4 when the respective switch is closed.

You are right that i can't measure insulation between the wires connected to '+' leads or '-' leads (e.g. i can't test insulation between 1&3 and 2&4).

But, if I close ch0,ch1 and AB0 before taking a measureme
nt, the reading can basically detect shorts between either 1&4 or 2&3 too. I have verified this using resistors. But, I will never know where the short is as closing ch0 and ch1 simultaneously, can create paths between 1&2, 1&4, 2&3, and 3&4. So, the DMM will read a low value if any one of these wire combinations have shorts.
Does it make sense? Am I doing the right thing?
Regards
Ateem
0 Kudos
Message 7 of 8
(8,326 Views)
Yes it does make sense. If you have a short between 1 and 2, or 3 and 4, you will read a short when closing ch0 and ch1.
0 Kudos
Message 8 of 8
(8,327 Views)