Operator's Manual Model SMX4032 35 Channel PXI Instrumentation Relay Multiplexer Model SMX4030 35 Channel PXI Relay Multiplexer Signametrics Corporation June, 2010
CAUTION In no event shall Signametrics or its Representatives be liable for any consequential damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other loss) arising out of the use of or inability to use Signametrics’ products, even if Signametrics has been advised of the possibility of such damages.
TABLE OF CONTENTS 1.0 INTRODUCTION .................................................................................................................................................5 1.1 SAFETY CONSIDERATIONS ..........................................................................................................................5 1.2 MINIMUM REQUIREMENTS .........................................................................................................................5 1.3 DESCRIPTION ...............
5.0 SMX4032 SCANNER FAMILY WINDOWS INTERFACE ...............................................................................29 5.1 DISTRIBUTION FILES ................................................................................................................................29 5.2 USING THE SMX4032 DRIVER WITH C++ OR SIMILAR SOFTWARE ..........................................................30 5.2.1 Multiple Card Operations under Windows....................................................................
1.0 Introduction Congratulations! You have purchased a PXI/CompactPCI switching instrument with analog and systems performance that rivals the best, all-in-one box, instruments. The SMX4032/30 relay scanner/multiplexer is easy to setup and use, have sophisticated analog and digital circuitry to provide very repeatable switching. Please take a few moments and review this manual before installing and using this instrument. This manual describes the SMX4032.
1.3 Description The SMX4030/32 are 35 channel models that can be arranged in up to four groups of 8:1 differential channels. The SMX4032 is a high reliability instrumentation quality scanner specifically designed for switching in applications requiring precision low noise and low leakage. The most outstanding feature of this model is a very low Thermal EMF, resulting is highly accurate Ohms, low Voltage, temperature and other sensitive applications requiring low high precision and low noise.
1.4 Configuration Relays In addition to the channel switching relays, the SMX4032 includes two sets of relays used for configuring of the scanner. The configuration switches facilitate inter-group connections and the Tree relays provide isolation of each of the group’s buses from their respective channel relays. These relays are automatically configured on the fly when the scanner receives configuration commands or while a channel is being selected, which requires routing via these relays.
2.0 Specifications and Feature Table Function Number of differential channels Number of 8:1 groups Scanning Arrangement Thermal EMF offset Maximum Switching DC Voltage Maximum Switching AC Voltage Maximum Switching Current Maximum Switching Current Typical inter-channel Capacitance Insulation between open contacts Insulation; contacts to coils Insulation; adjacent channels No Load Life Loaded Life @ 50Vdc, 0.
Figure 2-1. Trigger input equivalent circuit. 2.1.2 External Hardware Trigger Output Output Characteristics Output Circuit Open collector of a NPN transistor (nominal 0.4V saturation voltage) in series with 1k resistor. Collector Emiter Voltage < 30 V Output Current < 4 mA Reverse Voltage < 7V Isolation Optically Isolated from all other circuitry. Common line with Trigger Input. Figure 2-2. Trigger Output Optical Isolator NPN circuit. 2.1.
positive edge indicating data is ready. The Trigger output is selected using S4, S5, and S6 DIP switch located near the PXI connector. The trigger pulse can be set to be output to any of the following lines. Switch Settings S6 S5 S4 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Trigger Output Routing Disables trigger output PXI_TRIG1 PXI_TRIG2 PXI_TRIG3 PXI_TRIG4 PXI_TRIG5 PXI_TRIG6 PXI_STAR 2.1.3.
2.2 Other Specifications Hardware Interface PXI Bus, occuping a single 3U slot. Safety Designed to IEC 1010-1, Installation Category I. Temperature Range -40C to 70C, operating -40C to 80C, storage Relative Humidity Operating Relative Humidity Storage to 80% at 37C to 95% at 37C Altitude Operating 10,000’ Storage 50,000’ MTBF 100,000 hours (not including relays) Size Standard 3U PXI 5.07” X 8.
3.3 Installing the Scanner Module Warning To avoid shock hazard, install the Scanner only into a personal computer that has its power line connector connected to an AC receptacle with an Earth Safety ground.
20 21 22 23 24 25 26 27 28 29 30 31 32 Trig_Com Ch2Lo Ch4Lo Ch5Lo Ch7Lo Ch10Lo Ch12Lo Ch13Hi Ch15Hi Ch17Hi Ch19Hi Ch21Hi Ch23Hi Trigger common Channel 2 Low Channel 4 Low Channel 5 Low Channel 7 Low Channel 10 Low Channel 12 Low Channel 13 High Channel 15 High Channel 17 High Channel 19 High Channel 21 High Channel 23 High 52 53 54 55 56 57 58 59 60 61 62 63 64 Ch22Lo Ch24Lo Ch25Lo Ch27Lo Ch29Lo Ch31Lo DLo Comm Ch1Lo Ch3Lo AHi Ch6Hi Ch9Lo 13 Channel 22 Low Channel 24 Low Channel 25 Low Channel 27 Low
Pin Number 65 66 67 68 69 70 71 Label Ch11Lo BHi Ch14Hi Ch16Hi Ch18Hi Ch20Hi Ch22Hi Pin Number Channel 11 Low 72 B-bus/Ch33 High 73 Channel 14 High 74 Channel 16 High 75 Channel 18 High 76 Channel 20 High 77 Channel 22 High 78 Description Label Description Ch24Hi Ch25Hi Ch27Hi Ch29Hi Ch31Hi DHi +5V Channel 24 High Channel 25 High Channel 27 High Channel 29 High Channel 31 High D-Bus/Ch35 High [1] +5V unregulated supply [1] D-Bus is not available when using an Isothermal Terminal Block (SMX40T).
Figure 3-2. The trigger input and output lines are isolated by an optical isolators. TrigIn - This is the trigger input signal. It requires TTL or CMOS level (at least 2.5V) to activate the trigger input. A series 1k removes the need to add external resistor and allows direct connection to a TTL or CMOS logic source. It is referenced to the TrigComm line. TrigOut - This is the trigger output signal. It is an open collector signal with 1k resistor in series.
Figure 3-2. The Control Panel for the SMX4032. The three main groups include the relays buttons, the configuration selection options, and the main menu. Note: All of the controls described below correspond to their respective software function, which can be invoked within your control software or as objects in a visual programming environment. Using the software command language of the SMX4000 allows additional capabilities and functions that are not included in the control panel above.
Configuration Option Checks - This section of the main panel allows the selection of one out of all of the possible pre defined configurations. On power up, the configuration is set to Disabled. Possible selections include Disabled, TwoWire, FourWire, SixWire, Universal, TwoGroups, and FourGroups. Edit Menu - This menu item has three selections, setting all parameters to their default value, opening the Edit Scanner Parameter sub-panel, and opening the Scan List Editor sub-panels.
4.1.1 Two Wire Multiplexing In the TwoWire multiplexed configuration, the SMX4000 family first opens all channels, than it connects the Hi and Lo terminals of the selected channel, to the Hi and Lo terminals of the A-bus. Ch1 to Ch35 are routed to the A-bus. Selecting Ch1 will result in Ch1Hi connected to A-bus Hi and Ch1Lo connected to A-bus Lo. When making very low level DCV measurements (<1 mV), you should use copper wires.
Figure 4-2. To perform 4-Wire resistance measurement with the SMX4032, connect Ch1 and Ch21 to a resistor, maintaining correct polarity. 4.1.3 Six Wire Multiplexing In SixWire configuration, the SMX4030 and SMX4032 simultaneously connect one channel to the A-bus, one to the B-bus and one to the C-bus. Selecting a channel automatically closes three channel relays. For instance, selecting channel 2 results in the opening of all currently closed channel relays, followed by the closure of Ch2, Ch10, and Ch18.
4.1.5 Four Groups Configuration In the FourGroup configuration, the SMX4030/32 provide four independent multiplexing groups. The groups function as independent two wire multiplexers. When a channel is selected, any closed channel within the selected group is opened, than the selected channel is closed. They route Ch1 to Ch8 to the A-bus forming the first group. Ch9 to Ch16 are routed to the B-bus forming the second group. Ch17 to Ch24 are routed to the C-bus forming the third group.
Figure 4-4. The trigger input maybe set for polarity and be enabled or disabled. 4.2.2 Trigger Input The trigger input line, TrigIn, maybe set for a positive or negative polarity using the SCANTriggerInState() command. Under normal operation, the TrigIn line has no effect on the operation of the scanner. It maybe used to synchronize other test equipment such as in the Triggered Auto Scan and Triggered Scan, where an external event initiates scanning operation.
Figure 4-7. Positive edge Triggered AutoScan is a hardware initiated automatic scanning process. 4.2.5 Triggered Scan Operation This operation requires that the Scanner be in one of the following configurations: TwoWire, FourWire, SixWire, TwoGroups, and FourGroups. The Triggered Scan operation is a hardware driven scanning process. Each step through the Scan List table is initiated by hardware trigger event. The trigger input signal edge polarity can be selected.
Figure 4-9. Single Step operation requires a SCANSetupStep() then SCANStep() command. 4.2.7 Scan List Operations The Scan List table resides on board the scanner. It contains 192 locations, allowing a scan made up of up to 192 channels. Two DLL functions provide means to write and read to this table. The table contains channel numbers associated with the scanner channels. The Scanner may have entries with values between 1 and 32, representing the available channel numbers.
Channel relays, Configuration relays and Treeing relays are cleaned by this function. The test connector must be in place in order to perform this operation. This function returns an error if the test connector is abscent. Cleaning takes about 13 seconds. 4.2.10 Integrity Test The Integrity test is a quick verification tool. The SCANTestChanIntegrity() function tests the integrity of the specified channel relay, by verifying that the currently set actuation and release times are adequate.
SCANGetStepTime() to read it. When enabled during Auto Scan, the trigger output signal will have a period equal to the Step Time, and depending on trigger polarity, a negative or positive pulse corresponding to the Actuation time. The trigger can be used to provide means for triggering external devices with the desired delay. For example, consider a case where the Actuation time has been set to 50ms, but the relays actually settle within 10ms.
4.4.1 Triggering the SMX2040 DMMs The SMX2040, SMX2042, and SMX2044 can be triggered to measure selected Scanner channels. The interface requires a single jumper between the SMX4033/30 TrigComm and Common lines, and two interface wires connected to the SMX2040 series Trigger input. Once connected, the Scanner can be setup to produce a trigger signal for each relay selection operation.
Figure 4-13. Triggered reading process and timing of SMX4032 Scanner and SMX2044 DMMs. Unlike the previous example, DMMSetBuffTrigRead() is not time critical since the DMM saves all measurements to it’s on-board buffer, which is read after the scan is complete. SCANTriggerOutState(iScan, Enabled, PosEdge) ‘ Set trigger output to Positive edge.
Closed channel relay Ch1 Ch32 Ch1 Ch32 Ch1 Ch32 Ch1 Ch32 Ch1,Ch32 Ch1 Ch1 Closed Bus relay A-to-A A-to-A C-to-C C-to-C B-to-B B-to-B D-to-D D-to-D A-to-A ,D-to-D A-to-A, D-to-D C-to-C, B-to-B Closed Configuration relay NONE D-to-A C-to-A D-to-C B-to-A D-to-A, B-to-A D-to-A D-to-A C-to-A, B-to-A DMM Low terminal (Bhi & Dlo) NC NC NC NC Ch1Hi Ch32Hi Ch1Lo Ch32Lo Ch32Lo Ch1Lo Ch1Hi DMM High terminal (Ahi & Clo) Ch1Hi Ch32Hi Ch1Lo Ch32Lo NC NC NC NC Ch1Hi Ch1Hi Ch1Lo Figure 4-14.
5.0 SMX4032 Scanner Family Windows Interface The windows release supports Windows 9X/ME/2000/XP®. The primary means of controlling the scanners is a DLL file that interfaces with the PCI bus via a .VXD file for Windows 9X/ME or .SYS driver for Windows 2000/XP. All of these components are placed at the appropriate directories, and registry entries are made automatically during Setup. 5.
SMX4032.exe Visual Basic Scanner control panel executable Msvcrt.dll System file. Installs in your C:\WINDOWS\SYSTEM directory. Windrvr.vxd Win98/95 Virtual Device Driver. Installs in your C:\WINDOWS\SYSTEM\VMM32 directory. Windrvr.sys Win NT/Win 2000 Virtual Device Driver. Installs in your C:\WINNT\SYSTEM32\DRIVERS directory. SMX4032.INF Plug-and-Play driver Install.
of the executables will run independently, making calls to the respective DLL. This can provide an execution throughput advantage over the method mentioned above. If using VisualBasic, the MultiExeA.exe source code should define iScan = 0, and MultiExeB.exe should define iScan = 1. In addition, the first EXE should declare the SM4040A.DLL and the second should declare SM4040B.DLL: /*********************************************************************** * Exmp4032.C Exmp4032.EXE * * A simple Windows .
Global.bas module file contents: Option Explicit 'function declarations Declare Function SCANInit Lib "smX4032.dll" _ (ByVal nScanner As Long) As Long Declare Function SCANSetConfig Lib "SMX4032.DLL" _ (ByVal nScanner As Long, ByVal Config As Long) As Long Declare Function SCANErrString Lib "SMX4032.DLL" _ (ByVal nError As Long, ByVal errString As String, ByVal stringlen As Long) As Long Declare Function SCANSelectChannel Lib "SMX4032.
End Sub Private Sub Option6W_Click() ShowFault SCANSetConfig(0, SixWire) End Sub 5.4 Windows DLL Default Modes and Parameters After initialization, the Windows DLL default modes and parameters on your Scanner are set up as follows: Configuration is set to Disabled Trigger output is disabled Actuation time is set to 10ms Step time is set to 100ms 5.5 Using the SMX4032 DLL with LabWindows/CVI When using the SMX4032 DLL with LabWindows/CVI, you should read the LabWin.
Description Initiate AutoScan operation. #include “SMX4032.H” int SCANAutoScan(int iScan, int iPoints) Remarks Run Auto Scan procedure from the Scanner's stored ScanList. This operation is carried out by the scanner’s on-board processor. It uses the Scan List table and timing parameters to perform a complete scan sequence. If necessary, the scan may be terminated by sending the SCANAbort() command.
Remarks This function Cleans all relays. The test connector must be present to clean all contacts. This function verifies that the test connector is present. Cleaning takes about 13 seconds. Vibrating of the contacts at varying switching patterns, while sourcing a high voltage/low current signal, causes deposits of contaminants as well as oxidations to bounce off or be pinched through, thus resulting in cleaner contacts. Doing this on a regular basis will prolong the contacts’ life.
Remarks Delay of dTime seconds. dTime must be a positive double floating point number between 0.0 and 100.0 seconds. Parameter Type/Description dTime double Delay time in seconds. Return Value The return value is one of the following constants. Value Meaning SCAN_OKAY Operation successfully terminated Negative Value Error code Example SCANDelay(1.2); /* wait for 1.2 Sec */ SCANErrString H/W access Command Polled Command Description Return the string describing the error.
SCANGetActuationTime H/W access Command Polled Command Description Return the currently set actuation time. #include “SMX4032.H” int SCANGetActuationTime(int iScan, double FAR *lpdAct) Remarks This function returns a double floating value that is the currently set relay actuation time for the selected scanner. Parameter Type/Description iScan int Identifies the Scanner. Scanners are numbered starting with zero. lpdAct double FAR * Pointer where t-Actuation value is to be saved.
Value Meaning SCAN_OKAY Operation was successful. Negative number Error code Example int bus, slot; // Find on which bus, and slot the DMM is at SCANGetCalDate(3, &bus, &slot); // SCANNER#3 SCANGetConfig H/W access Command Polled Command Description Read the current configuration of the scanner. int SCANGetConfig(int iScan) Remarks This function reads the current configuration settings from the Scanner hardware. The configurations are defined in the ScanUser.H file.
Positive Value Version Negative Value Error code Example firmware_ver = SCANGetGrdVer(0); SCANGetHwVer H/W access Command Polled Command Description Get the hardware version of the Scanner. #include “SMX4032.H” int SCANGetHwVer(int iScan) Remarks This function returns the Scanner hardware version. A returned value of 0 corresponds to Rev_, 1 corresponds to Rev_A, 2 to Rev_B etc. Parameter Type/Description iScan int Identifies the Scanner. Scanners are numbered starting with zero.
Positive Value Scanner ID code Negative Value Error code Example int id = SCANGetID(0); SCANGetManDate H/W access Command Polled Command Description Get Manufacturing date stamp from the Scanner hardware #include “SMX4032.H” int SCANGetManDate(int iScan, int *month, int *day, int *year) Remarks This function returns the Scanner’s manufacturing date, which is read from the hardware. The month, day and year are returned as integers.
Remarks This function returns an integer value corresponding to the iAddress entry to the Scanner’s on-board scan list. This value should be 0 to 35 corresponding to an open channel or channel 1 to 35. This value is written to the table by SCANSetScanList(). Parameter Type/Description iScan int Identifies the Scanner. Scanners are numbered starting with zero. iAddress int The address of the scan list to be read. Return Value Integer error code..
Description Get the currently set Auto Scan step time. #include “SMX4032.H” int SCANGetStepTime(int iScan, double FAR *lpdTstep) Remarks This function returns a double floating value that is the currently set step time. Parameter Type/Description iScan int Identifies the Scanner. Scanners are numbered starting with zero. lpdTstep double FAR * Pointer where the Step time value is to be saved. Return Value Integer error code.. Value Meaning SCAN_OKAY Operation successfully completed.
#include “SMX4032.H” int SCANGetType(int iScan) Remarks This function returns the Scanner type. Parameter Type/Description iScan int Identifies the Scanner. Scanners are numbered starting with zero. Return Value Scanner type Integer or an error code.
Description Initialize the scanner. #include "SMX4032.H" int SCANInit(int iScan) Remarks This function must be the first function to be executed. It loads the driver and opens the specified Scanner on the PCI bus. The first one being 0, the second 1, etc. It also initializes the hardware and software and sets the scanner to Disabled configuration. Parameter Type/Description iScan int Identifies the Scanner. Scanners are numbered starting with zero.
Description Open all channel relays. #include “SMX4032.H” int SCANOpenAllChannels(int iScan) Remarks This function opens all channel relays. It does not effect the configuration of the Scanner. It may be used following one of the scanning operations, to make sure all channels are left open. Or it can be used any time when it is necessary to open all channels. This function is not applicable while in Universal or Disabled configurations.
Negative Value Example Error code int status = SCANOpenPCI(0); SCANReady H/W access Command Polled Command Description Return the ready state of the Scanner following a polled operation. #include “SMX4032.H” int SCANReady(int iScan) Remarks Following the completion of long or complex polled commands, the scanner indicates it is ready to accept a new command by issuing a task complete message.
required for accessing the selected channel. This command is applicable in the following configurations: TwoWire, FourWire, SixWire, TwoGroups, and FourGroups. It opens and closes all relays within one t-Actuation. Issuing this command will prevent the execution of any other function for a time specified in the currently set Actuation time, tActuation. Type/Description Parameter iScan int Identifies the Scanner. Numbered starting with zero.
Value Meaning SCAN_OKAY Operation successfully completed. Negative Value Error code Example SCANSelectChannelCmd(0, 3); // Select a channel. DMMSetRange(0,300mV) //Set DMM to appropriate range DMMRead(0, &Val); //Flush a reading or two While( ! SCANReady(0)); // Wait for Scanner to be ready DMMRead(0, &reading); // Read input SCANSetActuationTime H/W access Command Polled Command Description Set relay actuation time value #include “SMX4032.
multiple channel relays can be closed. With iState set to OPEN, open the iChan relay. Close it if iState is set to CLOSE. See ScanUser.H for definitions. See also SCANSetConfigRelay function. Parameter Type/Description IScan int Identifies the Scanner. Numbered starting with zero. IState int Closes a channel relay if equal to CLOSE, opens it if OPEN. (OPEN = ‘O’ or 0X4F and CLOSE = ‘C’ or 0X43) IChan int Channel number Range: 1 to 35 depending on selected configuration.
SCAN_OKAY Operation successfully completed. Negative Value Error code Example SCANSetConfig(0, TwoWire) //configuration // Set scanner to 2-Wire SCANSetConfigRelay H/W access Command Polled Command Description Set one of the configuration relays. #include “SMX4032.H” #include “ScanUser.H” int SCANSetConfigRelay(int iScan, int iState, int iRelay) Remarks This function opens or closes the selected configuration and tree relays.
Parameter Type/Description iScan int Identifies the Scanner. Scanners are numbered starting with zero. iAddress int Identifies the address to write to. It can be a value between 0 and 191. iChannel int Channel number maybe a value between 0 to 32 (0 for all open) Return Value Integer error code. Value Meaning SCAN_OKAY Operation successfully completed.
Description Set the Scanner Trigger output signal level. #include “SMX4032.H” #include “ScanUser.H” int SCANSetTriggerOut(int iScan, int iLevel) Remarks This function forces the Scanner’s trigger output line to a high or a low level. With iLevel set to one (1), the level is set high. Zero (0) forces it low. This setting is independent of the trigger enable line, and may be used as a control line. Parameter Type/Description iScan int Identifies the Scanner being addressed. iLevel int Level indicator.
SCANStep H/W access Command Polled Command Description Step to the next channel in the Scan List. #include “SMX4032.H” int SCANStep(int iScan) Remarks Switch to the next point in the scan table. This is software triggered switching function. It is similar to SCANTriggerScan except the scanner steps to the next channel in the scan list due to a command rather than by hardware event. The number of points is the actual number of times SCANStep is issued following SCANSetupStep command.
Parameter Type/Description iScan int Identifies the Scanner being addressed. Return Value The return value is one of the following constants. Value Meaning SCAN_OKAY Operation successfully completed.
Description Test a channel relay for integrity. #include “SMX4032.H” int SCANTestChanIntegrity(int iSca, int iChan) Remarks This function tests a single channel relay. The procedure closes a single relay, waits for tActuation, and then checks that both contacts are closed. Next it opens the relay, waits for 1/2 of tActuation, and then checks if the relay is open. A bounce following contact closure and opening is not verified. This test operation is fast, but it is very thorough.
lpdBounce Doulbe * Pointer where the bounce time value is to be saved. iChan int Identifies the Channel relay to be tested (1 to 32) Return Value Example Integer error code. Value Meaning SCAN_OKAY Operation successfully completed. Negative Value Error code SCANTestChannelRelay(0, 4); // test Chan4 SCANTestConfigRelay H/W access Command Polled Command Description Set the RTD parameters. #include “SMX4032.H” #include “ScanUser.
Example SCANTestConfigRelay(0, BtoA); // test the BtoA relay SCANTrigAutoScan H/W access Command Polled Command Description Set Scanner for Triggered Auto Scan operation. #include “SMX4032.H” int SCANTrigAutoScan(int iScan, int iPoints) Remarks This is the externally triggered version of SCANAutoScan operation. Following acceptance of this command, the Scanner enters a wait state, whereby it waits for a trigger edge to start an Auto Scan operation.
iState int Indicates the enabled state of the trigger input line. May be set to ENABLED or DISABLED. iEdge int Indicates the active trigger edge for the trigger input line. May be set to POSITIVE or to NEGATIVE. Return Value The return value is one of the following constants. Value Meaning SCAN_OKAY Function succeeded.
Description Set Scanner for trigger driven step scanning. #include “SMX4032.H” int SCANTrigScan(int iScan, int iPoints) Remarks Setup for a hardware-triggered step scanning operation. iPoints is the number of points in the scan. The ScanList must be pre-loaded prior to issuing of this command. After receiving this command, the Scanner enters a wait state whereby each selected edge on the trigger input line, selects the next channel from the scan list table.
5.7 Error Codes Operation of the DMM may be impaired; therefore it should be aborted following an Error. Use the SCANErrString() function, to retrieve the string describing the error. There definitions are included in the SMX4032.h file in the release package installed on your computer.
6.0 Accessories Several accessories are available for the SM4000 relay Scanners, which may be purchased directly from Signametrics or one of its distributors or representatives. Please see the ‘Accessories’ section on our web-site for the current accessories available: http://www.signametrics.com The following D-Subminiature 78 position Female connectors are sourced by a large number of manufactureres, and are all competible with the SMX4030/32 Scanner. Signametrics SMX40 - Terminal Block.