:Revision=2
:html
<<
128.151
SM2044-Object|SM2044
$NoSort
--
The IP object <!RW>SM2044 gives access to the Signametrics SM2044 multi meter card.
It is theretically possible to have more than one card in a system, although at the moment, only one card is supported. Nevertheless, the card number (always 1) has to be given as the first parameter to allow future anhancements.
>>

<<
128.151.1
Functions of the SM2044 object|Functions
--
>>

<<
128.151.1.1
SM2044.Read|Read
--
<!DEF>
function <!TW>SM2044.Read (rNr : real) : real;
<!TXT>
Make a measurement and return the value.

The card is selected by <!PW>rNr (has to be 1).

The returned value is always in the base unti of the measured function:
<!STBL>
<!+>Function<!+>Unit<!>
<!>Voltage<!c>V<!>
<!>Current<!c>A<!>
<!>Resistance<!c>Ohm<!>
<!>Board-Temperature<!c>C<!>
<!>Inductivity<!c>H<!>
<!>Capacity<!c>F<!>
<!ETBL>

In special cases the following values are returned:
<!STBL>
<!+>Value<!+>Meaning<!>
<!c>-1E35<!>Underrange<!>
<!c>1E35<!>Overrange<!>
<!c>9E99<!>Error dureing measuring<!>
<!c>8E88<!>unknown range<!>
<!ETBL>
>>

<<
128.151.1.2
SM2044.IsActive|IsActive
--
<!DEF>
function <!TW>SM2044.IsActive (rNr : real) : real;
<!TXT>
Returns <!RW>TRUE, if the card is active.

The card is selected by <!PW>rNr (has to be 1).
>>

<<
128.151.1.3
SM2044.Error|Error
!128.151.3
--
<!DEF>
function <!TW>SM2044.Error (rNr : real) : real;
<!TXT>
Returns the error code of the last action on the card.

The card is selected by <!PW>rNr (has to be 1).
>>

<<
128.151.2
Procedures of the SM2044 object|Procedures
--
>>

<<
128.151.2.1
SM2044.Setup|Setup
--
<!DEF>
procedure <!TW>SM2044.Setup (rNr, rFunction, rRange : real [; rAuto : real]);
<!TXT>
Select a measuring function and a range.

The card is selected by <!PW>rNr (has to be 1).

 <!PW>rFunction selects the measuring fnction:
<!STBL>
<!+>Value<!+>Function<!>
<!c>0<!>last selected function<!>
<!c>1<!>DC voltage<!>
<!c>2<!>AC voltage<!>
<!c>3<!>DC current<!>
<!c>4<!>AC current<!>
<!c>5<!>2-wire resistance<!>
<!c>6<!>4-wire resistance<!>
<!c>7<!>Diode Ufwd/Urev<!>
<!c>8<!>Board Temperature<!>
<!c>9<!>Capazity<!>
<!c>10<!>Inductivity<!>
<!ETBL>

 <!PW>rRange selects the range, <!PW>rRange depends on the function selected:
<!STBL>
<!+>Funktion</TD>
<TD rowspan=2>V<sub>DC</sub></TD>
<TD rowspan=2>V<sub>AC</sub></TD>
<TD rowspan=2>I<sub>DC</sub></TD>
<TD rowspan=2>I<sub>AC</sub></TD>
<TD rowspan=2>Resist.<br>2 Wire</TD>
<TD rowspan=2>Resist.<br>4 Wire</TD>
<TD rowspan=2>Diode<br>*</TD>
<TD rowspan=2>Board<br>Temp.</TD>
<TD rowspan=2>Capa-<br>city</TD>
<TD rowspan=2>Induc-<br>tivity<!>
<!+>rRange<!>
<!+>0</TD><TD colspan=10 align=center>keep the last selected range<!>
<!+>1<!r>300 mV<!r>300 mV<!r>  3 mA<!r>  3 mA<!r> 30 Ohm <!r> 30 Ohm <!r>100 nA<!r>35 C<!r> 10 nF<!r> 33 H<!>
<!+>2<!r>  3 V<!r>  3 V <!r> 30 mA<!r> 30 mA<!r>300 Ohm <!r>300 Ohm <!r>  1 A<!c>-    <!r>100 nF<!r>330 H<!>
<!+>3<!r> 30 V<!r> 30 V <!r>300 mA<!r>300 mA<!r>  3 kOhm<!r>  3 kOhm<!r> 10 A<!c>-    <!r>  1 F<!r>3.3 mH<!>
<!+>4<!r>300 V<!r>250 V <!r>2.5 A <!r>2.5 A <!r> 30 kOhm<!r> 30 kOhm<!r>100 A<!c>-    <!r> 10 F<!r> 33 mH<!>
<!+>5<!c>-    <!c>-     <!c>-     <!c>-     <!r>300 kOhm<!r>300 kOhm<!r>  1 mA<!c>-    <!r>100 F<!r>330 mH<!>
<!+>6<!c>-    <!c>-     <!c>-     <!c>-     <!r>  3 MOhm<!c>-       <!r> 10 mA<!c>-    <!r>  1 mF<!r> 3.3 H<!>
<!+>7<!c>-    <!c>-     <!c>-     <!c>-     <!r> 30 MOhm<!c>-       <!c>-     <!c>-    <!r> 10 mF<!c>-     <!>
<!+>8<!c>-    <!c>-     <!c>-     <!c>-     <!r>300 MOhm<!c>-       <!c>-     <!c>-    <!c>-     <!c>-     <!>
<!ETBL>
*) in the function, it doesn't select the range but the stimulation voltage.

 <!PW>rAuto selects the auto range function of the card.

Auto range is not possible with the diode function.
>>

<<
128.151.2.2
SM2044.SetRate|SetRate
--
<!DEF>
procedure  <!TW>SM2044.SetRate (rNr, rRate : real);
<!TXT>
Select the measurement speed.

The card is selected by <!PW>rNr (has to be 1).

 <!PW>rRate selects the rate in Hz. If the rate can't be selected exactly, the next faster rate will be selected.
Possible rates:
<!STBL>
<!r>0.1 Hz<!r>0.2 Hz<!>      <!>      <!r>0.5 Hz<!>
<!r>  1 Hz<!r>  2 Hz<!>      <!>      <!r>  5 Hz<!>
<!r> 10 Hz<!r> 20 Hz<!r>25 Hz<!r>30 Hz<!r> 50 Hz<!r>60 Hz<!r>80 Hz<!>
<!r>100 Hz<!r>200 Hz<!>      <!>      <!r>500 Hz<!>
<!ETBL>

Some functions are fixed on a certain rate or select the rate themself.
>>

<<
128.151.2.3
SM2044.Relative|Relative
--
<!DEF>
procedure  <!TW>SM2044.Relative (rNr, rRelative : real);
<!TXT>
Activates (<!PW>rRelative = <!RW>TRUE) or deavtivates (<!PW>rRelative = <!RW>FALSE) the relative measurement.

The card is selected by <!PW>rNr (has to be 1).
>>

<<
128.151.2.4
SM2044.Calibration|Calibration
--
<!DEF>
procedure  <!TW>SM2044.Calibration (rNr, rWhichOne : real);
<!TXT>
Triggers an OnBoard-Calibration of the card.

The card is selected by <!PW>rNr (has to be 1).

 <!PW>rWhichOne selects the calibration to be done:
<!STBL>
<!+>rWhichOne<!+>Funktion<!>
<!c>1<!>Open Terminal Calibration<!>
<!ETBL>
>>

<<
128.151.3
SM2044.Error codes|Error codes
!128.151.1.3
--
<!STBL>
<!+>Value<!+>Meaning<!+>
<!c>0<!>no error<!>
<!c>-1<!>cannot find valid calibration file<!>
<!c>-2<!>DMM number invalid (not configured)<!>
<!c>-3<!>DMM overrange error<!>
<!c>-4<!>DMM error occurred during operation<!>
<!c>-5<!>Invalid rate value used<!>
<!c>-6<!>Invalid function value used<!>
<!c>-7<!>Cannot find valid configuration file<!>
<!c>-8<!>Card ID in error, could be H/W fault<!>
<!c>-9<!>Invalid range value used<!>
<!c>-10<!>Dmm not initialized<!>
<!c>-11<!>DMM not responding<!>
<!c>-12<!>DMM counter out of range<!>
<!c>-13<!>Trigger buffer count error<!>
<!c>-14<!>Trigger disarm error<!>
<!c>-15<!>DMM Not found on PCI bus<!>
<!c>-16<!>Cannot find valid calibration record<!>
<!c>-17<!>Dmm already initialized: in use<!>
<!c>-18<!>Fail H/W init<!>
<!c>-19<!>Can't change rate in Cap mode.<!>
<!c>-20<!>can't open dmm.cfg file<!>
<!c>-21<!>can't access H/W, wrong address of fail<!>
<!c>-22<!>can't find calibration record for DMM<!>
<!c>-23<!>Illegal function selection<!>
<!c>-24<!>Not defined<!>
<!c>-25<!>Wrong rate parameter, see rate definition<!>
<!c>-26<!>Can't read ID from DMM<!>
<!c>-27<!>Trigger circuit error<!>
<!c>-28<!>wrong value in the number of samples<!>
<!c>-29<!>wrong parameter value<!>
<!c>-31<!>Function can not be selected, or not available<!>
<!c>-32<!>Cal record error<!>
<!c>-40<!>Overrange reading<!>
<!c>-41<!>Underrange reading<!>
<!c>-42<!>Type missmatch between Cal file and H/W<!>
<!c>-43<!>Serial number missmatch between Cal file and H/W<!>
<!c>-44<!>Controller version does not suppor this function<!>
<!c>-45<!>DMM Requires calibration by (more than just self cal)<!>
<!c>-46<!>Can't open PCI device. Already open ?<!>
<!c>-47<!>Temperature too low<!>
<!c>-48<!>Temperature too high<!>
<!c>-49<!>Wrong TC type<!>
<!c>-50<!>Card does not have all PCI items.<!>
<!c>-1001<!>DLL not found<!>
<!c>-1002<!>Procedure not found in DLL<!>
<!c>-1003<!>DLL not open<!>
<!ETBL>
>>

