background image

Signametrics                                                       

28 

 

Install the 

SM4040.H 

and 

ScanUser.H

 header files in a directory that will be searched by your C/C++ compiler for 

header files. These header files are known to work with Microsoft Visual C++™.To compile using Borland, you 
will need to convert the 

SM4040.DEF

 and 

SM4040.LIB

 using 

ImpDef.exe

 and 

ImpLib.exe

, provided with the 

compiler. Install 

SM4040.LIB

 in a directory that will be searched by the linker for import libraries. The SM2040 

software must be installed prior to running any executable code. Install the 

SM4040.DLL

 in a location where either 

your program will do a 

LoadLibrary

 call to load it, or on the 

PATH

 so that Windows will load the DLL 

automatically. A common place for the DLL is at C:\WINDOWS\SYSTEM directory for Win98/95 or at 
C:\WINNT\SYSTEM32 directory for NT and Windows 2000. 
 
In using the SM4040 driver, first call 

SCANInit

 to initialize the scanner hardware and software.  This function 

should only be used once. Call 

SCANSetConfig

 to set the Scanner to a desired configuration, be it 

TwoWire

FourWire

 etc. The Scanner function constants are defined in the 

ScanUser.H

 header file, and have names that 

clearly indicate the function they invoke. 
 
Two functions are provided to set channel-relays, 

SCANSelectChannel 

and

 SCANSetChannelRelay

. The first 

opens all channels in a group, and closes the specified channel. The second function is usable while the scanner is in 
the 

Universal

 configuration, and opens or closes a specified channel relay,. 

 
Most functions accept a Scanner number parameter, which must be set to the 

iScan

 value when initializing the 

scanner with the

 SCANInit.

 For multiple Scanners this 

iScan

 value will be 0,1,2..n. Most functions return an error 

code that can be retrieved as a string using 

SCANErrStr. 

 

5.2.1 Multiple Card Operations under Windows 

 

Single .EXE operation 

 

Accessing multiple Scanners from a single executable is the most common way for running up to 10 Scanners using 
the Windows DLL. A combination of several SM404X can be controlled, as long as the single .EXE (Thread) is 
used to control all of the units. Make sure that prior to issuing commands to any Scanner, it is initialized using 

SCANInit

. The 

iScan

 parameter is passed with each DLL command to define the unit to be accessed.  Since this 

configuration utilizes the DLL to service all units, it must handle one command at a time. For example, when one 
Scanner’s channel is selected (with a non polled command the DLL must finish the operation prior to addressing 
another Scanner. For improved performance, one can use the following: 

 

Multiple .EXE operation 

 

By having several copies of 

SM4040.DLL

, and renaming them, you may multiple Scanners with separate 

executables. For instance, having a copy named 

SM4040A.DLL

 and one named 

SM4040B.DLL

 in 

C:\WINDOWS\SYSTEM (Win98/95), and having two executable files, 

MultiExeA.exe

 and 

MultiExeB.exe

, each 

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

 

/*********************************************************************** 
 * Exmp4040.C Exmp4040.EXE 
 * 
 * A simple Windows .EXE example for demonstrating the SM4040 
 * Scanners using "C"  
 * Sets Configuration to TwoWire, and select a channel.  
 *  
 *********************************************************************** 
 * Make sure SM4040.lib is included in the libraries. For Microsoft 
 * Version 4.0 C++ and above, place under 'Source Files' in the 
 * Workspace, along side with Exmp4040.c 
 *  PROJECT SETTINGS: 
 * 
 *   /nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS"  
 *   /FR"Release/" /Fp"Release/Exmp4040.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c  

Содержание SM4020

Страница 1: ...and may contain references to products or services no longer supported by Agilent For the latest information on Agilent s modular test and measurement products go to www agilent com find modular Or in...

Страница 2: ...0 20 Channels Relay Multiplexer Model SM4022 20 Channels Instrumentation Relay Multiplexer Model SM4040 40 Channels Relay Multiplexer Model SM4042 40 Channels Instrumentation Relay Multiplexer Signame...

Страница 3: ...rising out of the use of or inability to use Signametrics products even if Signametrics has been advised of the possibility of such damages Because some states do not allow the exclusion or limitation...

Страница 4: ...ation 18 4 1 6 Disabled 18 4 2 SCANNER OPERATIONS 18 4 2 1 Trigger Output 18 4 2 2 Trigger Input 19 4 2 3 Auto Scan Operation 19 4 2 4 Triggered Auto Scan Operation 19 4 2 5 Triggered Scan Operation 2...

Страница 5: ...r 37 SCANGetHwVer 38 SCANGetID 38 SCANGetManDate 39 SCANGetScanList 39 SCANGetShortedChannel 40 SCANGetStepTime 40 SCANGetTriggerIn 41 SCANGetType 41 SCANGetVer 42 SCANInit 42 SCANIsInitialized 43 SCA...

Страница 6: ...at the common mode voltage These voltages can be lethal and may KILL During and after installing your Scanner check to see that there are no wires or ribbon cables from your PC trapped inside the Sca...

Страница 7: ...TwoWire configuration the scanner acts like a 20 or 40 channel multiplexer In the FourWire configuration it automatically selects two simultaneous channels allowing a DMM or other device to connect to...

Страница 8: ...n however since it does not offer the protection of the predefined configurations This could result in shorting some hot lines constituting in potential hazard to the user from any thing that is conne...

Страница 9: ...5 106 Trigger input Trigger output Thermocouple Cold Junction Capable Typical Closure Time ms 12 4 12 4 Typical Release Time ms 5 2 5 2 Actuation Time ms 1 15 5 15 5 Actuation Time Settable Range ms 1...

Страница 10: ...Range 0 C to 50 C operating Size 9 2 X 4 4 Power 5 volts 550 mA maximum Note Signametrics reserves the right to make changes in materials specifications product functionality or accessories without n...

Страница 11: ...apply measurement voltages to your computer causing personal injury and or damage to your computer Caution Only install the Scanner module with the power turned OFF to the PC Use extreme care when plu...

Страница 12: ...Ch13Hi Channel 13 High 24A Ch34Lo Channel 34 Low 9C Ch5Lo Channel 5 Low 25C Ch40Hi Channel 40 High 9B Ch13Lo Channel 13 Low 25B Ch37Lo Channel 37 Low 9A Ch14Hi Channel 14 High 25A Ch34Hi Channel 34 Hi...

Страница 13: ...ck the DHi and DLo terminals should not be used and a configuration involving them should not be selected Therefore configurations such as FourGroups or SixWire should not be selected and when selecti...

Страница 14: ...ogic output 3 5 Starting the Control Panel After installing the software you can verify the installation and gain familiarity with the Scanner by exercising its measurement functions using the Windows...

Страница 15: ...control panel above Relay Buttons These buttons are context sensitive Depending on the selected Configuration these buttons allow the closing and opening of the various channel relays In the Universa...

Страница 16: ...ction describes in detail the Scanner s operations and practices To gain familiarity with the SM4000 series Scanners run the Windows SETUP EXE to install the software then run the Scanner control pane...

Страница 17: ...ces for low level voltage measurements as well as for Ohms and temperature It is not unusual to find scanners with very high thermal voltages The following table quantifies the effect of Thermal TEMF...

Страница 18: ...ire guarded connection the A bus is connected to the DMM source leads the B bus to the sense leads and the C bus to the Guarded point Make sure the polarity of the lines is consistent It should e note...

Страница 19: ...are available 4 1 6 Disabled In the Disabled configuration all relays including channel and configuration relays are open This is the default configuration selected on power up or initialization 4 2 S...

Страница 20: ...ANAbort command to the Scanner during the scan Use the SCANOpenAllChannel function at the end of the scan if you wish to open the last selected channel The Trigger output signal can be used to synchro...

Страница 21: ...nated by sending SCANAbort command to the Scanner Use the SCANOpenAllChannel function if you wish to open the last selected channel Figure 4 8 Positive edge Triggered Scan operation is a hardware init...

Страница 22: ...t busy Operations using the Scan List include SCANAutoScan SCANSetupStep SCANStep SCANStepCmd and SCANTrigAutoScan When several Scanners are connected to form a larger channel count a zero entry disab...

Страница 23: ...f the Channel Relays test and the Configuration Relays test They provide the confidence of knowing that the Scanner is in good repair and can continue in its operation The two tests are applied to a s...

Страница 24: ...set for positive sense With these parameters the rising edge of the trigger output is delayed by 40ms 50ms 10ms from the time the relays are closed and settled and the scanning speed is 10 channels p...

Страница 25: ...4 Wire measurements SM4040 SM4042 It is important to consider system settling time when making measurements Time delays exist in any measurement system These delays are contributed by various sources...

Страница 26: ...tion DoEvents Make sure Scanner is ready Wend There are several SM2040 family commands to considered for this operation DMMSetTrigRead DMMSetBuffTrigRead DMMReadTrigVal DMMReady DMMReadBuffer and DMMR...

Страница 27: ...bus Low 5 0 SM4040 Scanner Family Windows Interface The windows release supports Windows98 Windows95 WinNT4 0 and Windows2000 The primary means of controlling the scanners is a DLL file that interface...

Страница 28: ...be used with the various functions Msvbvm50 dll Visual Basic run time interpreter Usually install in your C WINDOWS SYSTEM or equivalent directory If it is not already installed run Msvbvm50 exe for...

Страница 29: ...g SCANErrStr 5 2 1 Multiple Card Operations under Windows Single EXE operation Accessing multiple Scanners from a single executable is the most common way for running up to 10 Scanners using the Windo...

Страница 30: ...rrent configuration The source code file GLOBAL BAS in the installed VisBasic sub directory contains the function declarations and the various ranges rates and other parameters that are required These...

Страница 31: ...with message start Timer While Timer start 2 delay for 1 1 seconds DoEvents Wend End If SimplePanel TextLine Text End If End Sub SimplePanel frm Form file contents Option Explicit Private Sub CommandS...

Страница 32: ...ction of the Windows command language Those commands that pertain to only the SM2040 are indicated Most functions return an error code The code can either be retrieved as a string using SCANErrString...

Страница 33: ...using this command Steptime must be greater than the Actuation time This function is not applicable for the following configurations Universal and Disabled Being a polled function following this comm...

Страница 34: ...oltage 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 co...

Страница 35: ...e Meaning SCAN_OKAY Operation successfully completed Negative Value Error code Example int status SCANClosePCI 0 SCANDelay H W access Command Polled Command Description Wait for a given time include S...

Страница 36: ...r code iErrorCode The error string is placed at lpszError Parameter Type Description iErrorCode int Error code iBuffLength int The maximum available length of the string buffer lpszError LPSTR Points...

Страница 37: ...Act int i SCANGetActuationTime 0 tAct SCANGetBusInfo H W access Command Polled Command Description Returns the PCI Bus and Slot numbers for the selected SCANNER int SCANGetBusInfo int nScan int bus in...

Страница 38: ...are numbered starting with zero Return Value The return value is an integer configuration code or an error code Value Meaning Positive Value Configuration code Negative Value Error code Example int i...

Страница 39: ...anner Scanners are numbered starting with zero Return Value Scanner hardware code or an error code Value Meaning Positive value Hardware version code Negative Value Error code Example int HWVer SCANGe...

Страница 40: ...Month int A pointer to an integer where the month is stored Day int A pointer to an integer where the day is stored Year int A pointer to an integer where the year is stored Return Value Integer erro...

Страница 41: ...hes and detects a shorted channel starting with channel 1 It returns the first channel which is found to be shorted If none is found the returned value is 0 A valid returned value must be 0 to 40 0 in...

Страница 42: ...int status SCANGetStepTime 0 Tstep SCANGetTriggerIn H W access Command Polled Command Description Read the state of the Trigger Input line include SM4040 H int SCANGetTriggerIn int iScan Remarks This...

Страница 43: ...t type SCANGetType 0 SCANGetVer H W access Command Polled Command Description Return the Scanner s DLL software driver version include SM4040 H int SCANGetVer double FAR lpfResult Remarks This functio...

Страница 44: ...sInitialized H W access Command Polled Command Description Return the active status of the Scanner include SM4040 H int SCANIsInitialized int iScan Remarks This function returns the status of the Scan...

Страница 45: ...constants Value Meaning SCAN_OKAY Operation successfully completed Negative Value Error code Example int active SCANOpenAllChannels 0 SCANOpenPCI H W access Command Polled Command Description Open th...

Страница 46: ...iChan Remarks This is the primary channel selection function for the multiplexed configurations of the scanner It opens currently closed channel s in a configured group and then closes channel iChan...

Страница 47: ...lowing the execution of the SCANSelectChannelCmd it should not be assumed the scanner is ready SCANReady must be used and return TRUE to proceed SCANReady not only checks for readiness but it also cle...

Страница 48: ...to 50ms SCANSetChannelRelay H W access Command Polled Command Description Close or open a channel relay include SM4040 H include ScanUser H int SCANSetChannelRelay int iScan int iState int iChan Remar...

Страница 49: ...the ScanUser H file It consumes t Actuation to set the configuration Setting configuration to Universal or Disabled opens all relays Parameter Type Description iScan int Identifies the Scanner Number...

Страница 50: ...nList int iScan int iAddress int iChannel Remarks This function writes a single entry to the Scan List table on board the Scanner iAddress is the location to be written to and iChannel is the channel...

Страница 51: ...resolution is 0 25ms Parameter Type Description iScan int Identifies the Scanner being addressed dStep double Sets the step time Allowed value is between 1ms to 850ms Return Value The return value is...

Страница 52: ...code Value Meaning SCAN_OKAY Operation successfully completed Negative Value Error code Example int status SCANSetupStep 0 Set for step scan operation SCANStep H W access Command Polled Command Descr...

Страница 53: ...like SCANStep it does not wait for completion of the selection operation SCANReady must be used in order to verify the selected channel is closed and the scanner is ready for a new command It is neces...

Страница 54: ...sfully completed Negative Value Error code Example status SCANTerminate 0 Terminate scanner 0 SCANTestChanIntegrity H W access Command Polled Command Description Test a channel relay for integrity inc...

Страница 55: ...e relay including bounce time lpdBounc is returned This value maybe used to fine tune the Scanner for maximum switching performance by setting the Actuation time using SCANSetActuationTime The Channel...

Страница 56: ...es the Scanner being addressed lpdBounce Doulbe Pointer where the bounce time value is to be saved iConf int Identifies the configuration tree relay to be tested Return Value Integer error code Value...

Страница 57: ...et to ENABLED the trigger input line is enabled If iEdge is set to POSITIVE Positive Edge will activate operations See definitions in ScanUser H file Parameter Type Description iScan int Identifies th...

Страница 58: ...t 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 th...

Страница 59: ...cs 58 Return Value The return value is one of the following constants Value Meaning SCAN_OKAY Operation successfully completed Negative Value Error code Example SCANTrigScan 0 150 150 H W driver scan...

Страница 60: ...SMX2044 DMMs It plugs into the scanner s 96 pin DIN connector Signametrics SM40L Loop back test connector Required for self tests and contact cleaning operations Female 96 position mating connector w...

Страница 61: ...Signametrics 60...

Отзывы: