:Revision=29
:html
<<
128.10
System-Object|System
--
The IP-Object System provides methods for the communication with the test system as a whole. 

The System-IP-Object can be used to enquire the status of the system, to set values at system level and to control the tests.

This object is the Default-IP-Object, therefore the prefix <!CW>'System.' can be omitted from the procedure- and function names.
>>

<<
128.10.2
Functions of the System-Object|Functions
--
>>

<<
128.10.2.1
System.StepContinue|StepContinue
!128.10.2.4  - IsSBS
!128.10.2.10  - SingleStepContinue
--
<!DEF>
function <!TW>System.StepContinue : real;
<!TXT>
Returns <!RW>TRUE, if:
<ol type="a">
<li>the test is running in automatic mode <i>or</i></li>
<li>the test is running in step-by-Step mode and another step is called manually</li>
</ol>

More simply said: if the step should be finished 

<!CODE>
repeat
  // measurement and display
until Stepcontinue;
<!TXT>
>>

<<
128.10.2.2 
System.GetStepResult|GetStepResult
!128.10.2.3 - GetTestResult
!128.10.3.5 - SetStepResult
--
<!DEF>
function <!TW>System.GetStepResult (rDUTNr : real) : real;
<!TXT>
Returns the result of the active test step of the DUT selected with <!PW>rDUTNr.

In the simultaenous test mode <!SW>Single <!PW>rDUTNr may be <!SW>0 (additionally to the real DUT numbers 1..NumberOfDUTs), In that case the command works like the standard command <!RW>GetStepResult.
In the other simultaneous modes, <!PW>rDUTNr has to be in the range 1..NumberOfDUTs.
If the DUT selected by <!PW>rDUTNr is not active in the current step, the result will be always 0.

Return values:
<!STBL>
<tr bgcolor=f0f0f0 align=center><TD width=31><b>Value</b><!+>Meaning<!>
<!c>0<!>None (yet)<!>
<!c>1<!>Pass<!>
<!c>2<!>Fail<!>
<!c>3<!>Invalid<!>
<!ETBL>

<!CODE>
rLoops:=0;
repeat
  rValue:=....
  SetValue (rValue);
  inc (rLoops);
until (GetStepResult=1) or (rLoops>5);
<!TXT>

The (old) syntax:
<!DEF>
function <!TW>System.GetStepResult : real;
<!TXT>
is allowed only in the simultaneous test mode <!SW>Single and works like:
<!CODE>
System.GetStepResult (0);
<!TXT>
>>

<<
128.10.2.3
System.GetTestResult|GetTestResult
!128.10.2.2 - GetStepResult
--
<!DEF>
function <!TW>System.GetTestResult : real;
<!TXT>
Returns the test result of the active DUT (device under test). This syntax is allowed only in the simultaneous test mode <!SW>Single.

<!DEF>
function <!TW>System.GetTestResult (rDUTNr : real) : real;
<!TXT>
Returns the test result of the DUT selected by the <!PW>rDUTNr (1..Number of DUTs). This syntax is allowed in all simultaneous test modes.
In the simultaneous test mode <!SW>Single, <!PW>rDUTNr may be <!SW>0, this will return the result of the active DUT.

<!DEF>
function <!TW>System.GetTestResult (rContactPos, rTestPos : real) : real;
<!TXT>
Returns the test result of the DUT in the contact position <!PW>rContactPos and the test position <!PW>rTestPos. This syntax is allowed in all simultaneous test modes.
In the simultaneous test mode <!SW>Single, the parameters might be given as (0, 0), this will return the test result of the active DUT.

Return values:
<!STBL>
<tr bgcolor=f0f0f0 align=center><TD width=31><b>Value</b><!+>Meaning<!>
<!c>0<!>none (yet)<!>
<!c>1<!>Pass<!>
<!c>2<!>Fail<!>
<!c>3<!>Break - Test was aborted<!>
<!c>4<!>DUT is inactive and has not been tested<!>
<!ETBL>

Especially usefull in the end-steps (Device End, Row End, Test End), e.g. for printing an errorlabel.

While a test is tstill running (inside a test sequence) only an intermediate result can be calculated. 

<!CODE>
if GetTestResult<>1 then begin
  // print error label 
end;
<!TXT>
>>

<<
128.10.2.4
System.IsSBS|IsSBS
!128.10.2.1 - StepContinue
--
<!DEF>
function <!TW>System.IsSBS : real;
<!TXT>
Returns <!RW>TRUE, if the test is running in step-by-step mode.

<!CODE>
if IsSBS then begin
  Debug.Info (...);
end;
<!TXT>
>>

<<
128.10.2.5
System.MenuStart|MenuStart
!128.10.3.10 - StartTest
--
<!DEF>
function <!TW>System.MenuStart : real;
<!TXT>
Returns <!RW>TRUE, if the loop step is executedt cyclically and the user wants to start 'manually'. A strat from the loop step is done with <!RW>System.StartTest. Outside of the loop step (in any other step) the result is always <!RW>FALSE.

<!CODE>
// in the loop step
if MenuStart then begin
  StartTest;
end;
<!TXT>
>>

<<
128.10.2.6
System.GetBarCode|GetBarCode
!128.10.2.7 - GetTypeCode 
!128.10.3.6 - SetBarCode
--
<!DEF>
function <!TW>System.GetBarCode [(rContactPos, rTestPos : real)]) : string;
<!TXT>
Gets the barcode for the <!PW>rTestPos-th DUT in the contact row <!PW>rContactPos. If the system has only one DUT, the positions can be ommitted.

Can be used e.g. in end steps in order to print the correct bar codes on a label etc.
>>

<<
128.10.2.7
System.GetTypeCode|GetTypeCode
!128.10.2.6 - GetBarCode
!128.10.3.7 - SetTypeCode
!128.124.1.5
!128.10.2.36
--
<!DEF>
function <!TW>System.GetTypeCode [(rContactPos, rTestPos : real)] : string;
<!TXT>
Returns the type code for the <!PW>rTestPos-th DUT in the contact row <!PW>rContactPos. 
 
In case of systems with only one DUT, the positions can be ommitted. (Default is 1)
The type code has to set before by <!RW>System.SetTypeCode.

If <!PW>rContactPos and <!PW>rTestPos are 0, then the type code of the currently loaded type (variant) is returned.

The call
<!CODE>
r:=System.GetTypeCode(0,0);
<!TXT>
is in the program out of compatibility reasons only. It should be replaced by:
<!CODE>
TypeList.Select ('');
r:=TypeList.TypeCode;
<!TXT>
>>

<<
128.10.2.8
System.CheckTypeCode|CheckTypeCode
!128.10.2.7 - GetTypeCode 
!128.10.3.7 - SetTypeCode
--
<!DEF>
function <!TW>System.CheckTypeCode [(rContactPos, rTestPos : real)] : string;
<!TXT>
Checks whether the type code of the <!PW>rTestPos-th DUT in the contact row <!PW>rContactPos matches a known type code in the type list. If there is a, it returns the type-family. If there is no match, it will return ''. 

The type code had to be set previously. 

In systems with only one DUT, the positions can be ommitted.
>>

<<
128.10.2.9
System.IsBarcodeActive|IsBarcodeActive
--
<!DEF>
function <!TW>System.IsBarcodeActive : real;
<!TXT>
Returns <!RW>TRUE, if the option "bar code available" is switched on in the basic setup.
>>

<<
128.10.2.10
System.SingleStepContinue|SingleStepContinue
!128.10.2.4  - IsSBS
!128.10.2.1  - SingleStepContinue
--
<!DEF>
function <!TW>System.SingleStepContinue : real;
<!TXT>
Returns <!RW>TRUE, if the test is running in step-by-step mode and another step has been called manually. 

Can be used, when the automatic mode has to wait for a certain state, while in SBS mode the step has to be left immediately.

<!CODE>
repeat
  // waiting for user input
  rButton:=Screen.LastButton;
until (rButton<>0) or (SingleStepcontinue);
<!TXT>
Replaces the expression:
<!CODE>
(IsSBS and StepContinue).
>>
<<
128.10.2.11
System.GetSystemNumber|GetSystemNumber
--
<!DEF>
function <!TW>System.GetSystemNumber : real;
<!TXT>
Returns the system-number of the measuring station (basic device number) as it was set in the basic setup.
>>

<<
128.10.2.12
System.GetPasswordLevel|GetPasswordLevel
--
<!DEF>
function <!TW>System.GetPasswordLevel : real;
<!TXT>
Returns the active password level.

<!STBL>
<!+>Value<!+>Level<!>
<!c>0<!>User<!>
<!c>1<!>Master<!>
<!c>2<!>Service<!>
<!c>3<!>Administrator<!>
<!c>4<!>MCD<!>
<!c>5<!>Developer<!>
<!ETBL>
>>

<<
128.10.2.13
System.AdapterCode|AdapterCode
--
<!DEF>
function <!TW>System.AdapterCode : real;
<!TXT>
Gets the adapter code of the currently loaded type.

<!REM>
Remark:
This function is present for compatibility reasons only. It has been replaced by <!RW>TypeList.Adapter.
>>

<<
128.10.2.14
System.GetContactColumns|GetContactColumns
--
<!DEF>
function <!TW>System.GetContactColumns : real;
<!TXT>
Returns the number of contact positions (columns) currently used.

<!REM>
Remark:
This function is present for compatibility reasons only. It has been replaced by <!RW>TypeList.ContactColumns.
>>

<<
128.10.2.15
System.GetTestRows|GetTestRows
--
<!DEF>
function <!TW>System.GetTestRows : real;
<!TXT>
Returns the number of test positions (rows) currently used.

<!REM>
Remark:
This function is present for compatibility reasons only. It has been replaced by <!RW>TypeList.TestRows
>>

<<
128.10.2.16
System.FileExists|FileExists
--
<!DEF>
function <!TW>System.FileExists (sFileName : string) : real;
<!TXT>
Returns <!RW>True, if the specified file exists.

<!REM>
Remark:
This function is present for compatibility reasons only. It has been replaced by <!RW>File.Exists
>>

<<
128.10.2.17
System.DUTEnabled.Get|DUTEnabled.Get
--
<!DEF>
function <!TW>System.DutEnabled.Get (rContactPos, rTestPos : real) : real;
<!TXT>
Returns <!RW>TRUE, if the DUT at the specified contact position (column, rContactPos) and test position (row, rTestPos) is activated for the next, resp. actual test.
>>

<<
128.10.2.18
System.GetContactColumn|GetContactColumn
--
<!DEF>
function <!TW>System.GetContactColumn : real;
<!TXT>
Returns the current contact position (column) of the running test, resp. 0 if the test is not running.
>>

<<
128.10.2.19
System.GetTestRow|GetTestRow
--
<!DEF>
function <!TW>System.GetTestRow : real;
<!TXT>
Returns the current test positions (row) of the running test, resp. 0 if the test is not running.
>>

<<
128.10.2.20
System.CheckTestSequence|CheckTestSequence
--
<!DEF>
function <!TW>System.CheckTestSequence (rTests : real) : real;
<!TXT>
Checks the currently loaded test sequence against some standards.

<!PW>rTests selects the tests which are carried out. It can be a combination of the following flags:

<!STBL>
<!+>Value<!+>Test<!>
<!c>1<!>checks whether the system number is explicitely stated at least once in the test sequence (so not only 'zero numbers' are loaded)<!>
<!c>1<!>checks wether the type code is explicitely stated at least once in the test sequence as a variant filter (so not only the '*?' or another wildcard are used)<!>
<!c>3<!>combines both tests<!>
<!ETBL>

<!STBL>
<tr bgcolor=f0f0f0 align=center><TD colspan=2><b>Return value</b><!>
<!+>Value<!+>Meaning<!>
<!c>0<!>Test(s) ok<!>
<!c>1<!>System number not stated explicitly<!>
<!c>2<!>Typcode not stated explicitly<!>
<!c>3<!>both tests failed<!>
<!ETBL>
>>

<<
128.10.2.21
System.ExeInfo|ExeInfo
--
<!DEF>
function <!TW>System.ExeInfo (sItem : string) : string;
<!TXT>
Returns information about the test program.

<!PW>sItem selects the information that will be returned:

<!STBL>
<!+>sItem<!+>Meaning<!>
<!>'VERSION'<!>Program version formatted as: '0.7.3.835'<!>
<!>'VERSIONMAJOR'<!>Major program version: '0'<!>
<!>'VERSIONMINOR'<!>Minor program version: '7'<!>
<!>'VERSIONRELEASE'<!>Program release: '3'<!>
<!>'VERSIONBUILD'<!>Build number: '835'<!>
<!>'VERSIONSTATE'<!>Additional information, e.g. 'BETA'<!>
<!>'CompanyName'<!>Company name<!>
<!>'FileDescription'<!>Description<!>
<!>'FileVersion',<!>File version<!>
<!>'InternalName'<!>Internal name<!>
<!>'LegalCopyright'<!>Copyright<!>
<!>'OriginalFilename'<!>Original file name<!>
<!>'ProductName'<!>Product name<!>
<!>'ProductVersion'<!>Product version<!>
<!>'Comments'<!>Comments<!>
<!ETBL>

Entries which begin with <!CW>VERSION are always available. The other entries are only optional and may be missing. If an entry is not available, the result is an empty string.

Other, additional entries may be available. 
>>

<<
128.10.2.22
System.GetFailGotoCounter|GetFailGotoCounter
--
<!DEF>
function <!TW>System.GetFailGotoCounter : real;
<!TXT>
Returns the value of the counter which counts the number of FailGoto retires for the active step 
>>

<<
128.10.2.23
System.GetRecoveryCounter|GetRecoveryCounter
--
<!DEF>
function <!TW>System.GetRecoveryCounter : real;
<!TXT>
Returns the value of the counter which counts the number of attempts to execute the recovery-step for the active step.
>>
<<
128.10.2.24
System.GetFailRepeatCounter|GetFailRepeatCounter
--
<!DEF>
function <!TW>System.GetFailrepeatCounter : real;
<!TXT>
Returns the value of the counter which counts the number of already executed failrepeats for the active step.
>>

<<
128.10.2.25
System.ChangeTypeCode|ChangeTypeCode
!128.10.3.7
--
<!DEF>
function <!TW>System.ChangeTypeCode (sNewTypeCode : string [;iNewECCode : integer) : real;
<!TXT>
<h3>1. Type change while a test is running</h3>
Permits - under certain circumstances - the changing of the type and thus the modification of the test run during the test. 

Will work only if:
<ul indent=12>
<li>it is called in a real Test-Step, not in a System-Step!</li>
<li>it is called while the first DUT of panel is tested</li>
<li>the requested type code <!PW>sNewTypecode/<!PW>iNewECCode exists</li>
<li>the automatic type change is allowed in the basic setup</li>
<li>the test is running in automatic mode, not in SBS</li>
</ul>

If a type change can be made, the current test is interrupted after the end of the active test step, all the measured data is deleted, the new type data is loaded and the test run starts for the DUT from the start of the new test sequence.

<h3>2. Type change with immediate loading of the data (no test must be running)</h3>
Used outside of a test, this command will select the new typecode (similar to <!RW>SetTypeCode) and the type data will beloades <b>immediately</b>.

Will only work, if:
<ul indent=12>
<li>The call is made in the <!SW>LOOP-Step or a <!SW>User-Step, but not while a test is running</li>
<li>the requested type code <!PW>sNewTypecode/<!PW>iNewECCode exists</li>
<li>the automatic type change is allowed in the basic setup</li>
</ul>
The type will be changed when the step has finished.

Possible results:
<!STBL>
<!+>Result<!+>Meaning<!>
<!c>-1<!><!PW>sNewTypeCode/<!PW>iNewECCode is already the current type code, nothing happens<!>
<!c>0<!>everything is OK - the type change will happen<!>
<!c>1<!>the active step is not a test step<!>
<!c>2<!>the active DUT is not the first DUT<!>
<!c>3<!><!PW>sNewTypeCode/<!PW>iNewECCode not found<!>
<!c>4<!>automatic type change is not allowed<!>
<!c>5<!>Step-By-Step mode<!> 
<!ETBL>

Whenever Result<>0, nothing happens and the current test continues running. 

When Result>0, the type that is continued with is not the type that was supposed to be changed into.                                       

The new test run is not loaded immediately, even if this command is called successfuly. The old data, e.g. the parameter will still be accessed. The new test run is loaded only after the end of the active step.

<!REM>
Hint:
<!PW>iNewECCode is optional for compatibility reasons. If iNewECCode is not specified "0" is used.
>>

<<
128.10.2.26
System.GetStartNumber|GetStartNumber
--
<!DEF>
function <!TW>System.GetStartNumber [(rContactPos, rTestPos : real)] : real;
<!TXT>
Returns the start number that has been assigned by the system to the DUT on test position <!PW>rTestPos in contact row <!PW>rContactPos. 
 
In case of systems with only one DUT, the positions can be ommitted.
(Default is 1)

A start number exists only during a running test. 
When no test is running, the function will alway return -1.
>>

<<
128.10.2.27
System.Action.Trigger (Function)|Action.Trigger
!128.10.3.16.1
!128.10.3.16
--
<!DEF>
function <!TW>Action.Trigger (rActionCode : real; [sParameter : string]) : string;
<!TXT>
Triggers the action with the action code<!PW>rActionCode with the string in <!PW>sParameter as parameter. The return value ist the string returned by the action (if any).

This routine can also be called as <a href="128.10.3.16">procedure</a>, if the action doesn't return a value or this value will be ignored anyway.

The possible values for <!PW>rActionCode are documented <a href="128.10.3.16.1">sorted by categories</a>.
>>

<<
128.10.2.28
System.ActiveDUTs|ActiveDUTs
!128.10.2.29
--
<!DEF>
function <!TW>ActiveDUTs [(rFormat : real)] : vector;
<!TXT>
Returns a list of the DUTs (resp. their DUT numbers), that are active in the current step.

This command is especially useful in the simultaneous test modes <!SW>ContactPos and <!SW>Panel to detect, which DUTs should be tested in the step.

The <!PW>rFormat parameter controls the structure of the returned data:
<!STBL>
<!+>rFormat<!+>Structure<!+>Example (see below)<!>
<!c>1 (Default)<!>List of the numbers of the active DUTs<!>[2,3,4,5]<!>
<!c>2<!>Flag list, holds a boolean flag for every DUT<br />dependingon the activity of the DUT<!>[0,1,1,1,1,0]<!>
<!ETBL>
The examples in the table are in regard of a 6 DUT panel, where DUTs 1 and 6 are inactive.

Which DUTs might be active in a panel depends on the simultaneous test mode. In mode <!SW>Single only one DUT may be active at a time, in other modes more than one.

Example:
<!CODE>
var
  r, rDUTNr : real;
  vDUTs : vector;
step
  vDUTs:=<b>ActiveDUTs</b>;
  for r:=1 to len(vDUTs) do begin
    rDUTNr:=vDUTs[r];
    //... Evaluate DUT rDUTNr
    SetValueEx (rDUTNr, ...);
  end;
end.
<!TXT>
<!CODE>
var
  rDUTNr : real;
  vDUTs : vector;
step
  vDUTs:=<b>ActiveDUTs (2)</b>;
  for rDUTNr:=1 to len(vDUTs) do begin
    if vDUTs[rDUTNr] then begin
      //... Evaluate DUT rDUTNr
      SetValueEx (rDUTNr, ...);
    end;
  end;
end.
<!TXT>
The expression
<!CODE>
  if <b>ActiveDUTs (2)[rDUTNr]</b> then begin
<!TXT>
is syntacticaly correct and will be executed, but it should be replaced with the faster expression
<!CODE>
  if <b>DUTActive (rDUTNr)</b> then begin
<!TXT>
>>
<<
128.10.2.29
System.DUTActive|DUTActive
!128.10.2.28
--
<!DEF>
function <!TW>DUTActive (rDUTNr : real) : real;
<!TXT>
Returns <!RW>TRUE if the DUT selected with <!PW>rDUTNr is active in the actual step.

This command is especially useful in the simultaneous test modes <!SW>ContactPos and <!SW>Panel to detect, which DUTs should be tested in the step.

Example:
<!CODE>
var
  rDUTNr : real;
step
  for rDUTNr:=1 to len(vDUTs) do begin
    if DUTActive (rDUTNr) then begin
      //... Evaluate DUT rDUTNr
      SetValueEx (rDUTNr, ...);
    end;
  end;
end.
<!TXT>
The expression
<!CODE>
  if <b>DUTActive (rDUTNr)</b> then begin
<!TXT>
returns the same value as
<!CODE>
  if <b>ActiveDUTs (2)[rDUTNr]</b> then begin
<!TXT>
but <!RW>DUTActive is much faster and should be used.
>>

<<
128.10.2.30
System.GetProfile|GetProfile
--
<!DEF>
function <!TW>System.GetProfile : string;
<!TXT>
Returns the selected profile.
>>

<<
128.10.2.31
System.GetSimultanMode|GetSimultanMode
--
<!DEF>
function <!TW>System.GetSimultanMode : real;
<!TXT>
Returns the simultaneous test mode.

Posible return values:

<!STBL>
<!+>Value<!+>Meaning<!>
<!c>0<!>Single<!>
<!c>1<!>ContactPos<!>
<!c>2<!>Panel<!>
<!ETBL>
>>

<<
128.10.2.32
System.GetUserInfo|GetUserInfo
--
<!DEF>
function <!TW>System.GetUserInfo (sName : String [; sDefault : String [; rContactPos, rTestPos ]] ) : string;
<!TXT>
Returns the user defined value <!PW>sName for the DUT in the contact row <!PW>rContactPos and test position <!PW>rTestPos. If the system has only one DUT, the positions can be ommitted. If the user defined value does not exists, the value in <!PW>sDefault is used.
>>

<<
128.10.2.33
System.GetSyncName|GetSyncName
--
<!DEF>
function <!TW>System.GetSyncName : string;
<!TXT>
Returns the system name (from the basic setup) for the automatic synchronization of the global variables.
>>

<<
128.10.2.34
System.GetSyncList|GetSyncList
--
<!DEF>
function <!TW>System.GetSyncList : string;
<!TXT>
Returns the list of peer nodes (from the basic setup) for the automatic synchronization of the global variables.
>>

<<
128.10.2.35
System.IsSyncActive|IsSyncActive
--
<!DEF>
function <!TW>System.IsSyncActive : real;
<!TXT>
Returns <!RW>True, if the synchronization of the global Variabels is activated.
>>

<<
128.10.2.36
System.GetECCode|GetECCode
!128.10.3.36
!128.10.2.7
--
<!DEF>
function <!TW>System.GetECCode [(rContactPos, rTestPos : real)] : real;
<!TXT>
Returns the type EC code for the <!PW>rTestPos-th DUT in the contact row <!PW>rContactPos. 
 
In case of systems with only one DUT, the positions can be ommitted. (Default is 1)
The EC code has to set before by <!RW>System.SetECCode.

If <!PW>rContactPos and <!PW>rTestPos are 0, then the EC code of the currently loaded type (variant) is returned.
>>

<<
128.10.2.37
System.GetDUTHorizFirst|GetDUTHorizFirst
!128.10.2.38
--
<!DEF>
function <!TW>System.GetDUTHorizFirst : real;
<!TXT>
Retruns the value from the basic setup for the test panel structire (numbering).

<!STBL>
<tr bgcolor=f0f0f0 align=center><TD width=31><b>Value</b><!+>Meaning<!>
<!c>0<!>Contact positions horizontal, test positions vertical within (default)<!>
<!c>1<!>Contact positions vertical, test positions horizontal within<!>
<!ETBL>
>>

<<
128.10.2.38
System.GetDUTNumbering|GetDUTNumbering
!128.10.2.37
--
<!DEF>
function <!TW>System.GetDUTNumbering : real;
<!TXT>
Retruns the value from the basic setup for the position of DUT 1.

<!STBL>
<tr bgcolor=f0f0f0 align=center><TD width=31><b>Value</b><!+>Meaning<!>
<!c>0<!>lower right corner (default)<!>
<!c>1<!>upper right corner<!>
<!c>2<!>lower left corner<!>
<!c>3<!>upper left corner<!>
<!ETBL>
>>

<<
128.10.2.39
System.GetSyncPort|GetSyncPort
--
<!DEF>
function <!TW>System.GetSyncPort : real;
<!TXT>
Returns the local Port (from the basic setup) for the automatic synchronization of the global variables.
>>



<<
128.10.3
Procedures of the System-Object|Procedures
--
>>

<<
128.10.3.1
System.Beep|Beep
--
<!DEF>
procedure <!TW>System.Beep;
<!TXT>
Produce a system beep.
>>

<<
128.10.3.2
System.ShowValue|ShowValue
!128.10.3.4 - SetValue
!128.10.3.3 - InitValue
--
<!DEF>
procedure <!TW>System.ShowValue (.MeasValue : real|string);
<!TXT>
Displays the value <!PW>MeasValue (<!RW>String or <!RW>Real) in the "measured values panel", but it does not set it as a result value of the step.

Usefull for displaying of intermediate values or texts in case of livelong measurements.

The color of the display is determinated by the current step result. Since a <!RW>Showvalue doesn't change the step result, a color can be forced by using<!RW>SetStepResult:
<!STBL>
<!+>Step result<!+>Colour of output<!+>
<!c>None</td><td align=center bgcolor=#000000><font color=#ffff00><b>yellow</b></font><!>
<!c>Pass</td><td align=center bgcolor=#000000><font color=#00ff00><b>green</b></font><!>
<!c>Fail</td><td align=center bgcolor=#000000><font color=#ff0000><b>red</b><!>
<!c>Invalid</td><td align=center bgcolor=#000000><font color=#0000ff><b>blue</b><!>
<!ETBL>
The real step result has to be set again - of course.

This command can only be used in the simultaneous test mode <!SW>Single. In other modes, use the -Ex command version.
>>

<<
128.10.3.3
System.InitValue|InitValue
!128.10.3.4 - SetValue
!128.10.3.2 - ShowValue
!128.10.3.5 - SetStepResult
!128.10.3.27
--
<!DEF>
procedure <!TW>System.InitValue (.MeasValue : real|string; [sComment : string]);
<!TXT>
Sets the value <!PW>MeasValue (<!RW>String or <!RW>Real) as result value of the step, but it does not display it in the "measured values panel". 

In case of numeric values the value is checked against the step limits and a step result is calculated (Pass/Fail); in case of a string value the step result is invalid. 
In this case the step result has to be set with <!RW>SetStepResult.

If specified, <!PW>sComment is stored as comment to the measured value. The system itself does not use the comment, but it can be requesteded and analyzed with the MeasData IP Object.

This command can only be used in the simultaneous test mode <!SW>Single. In other modes, use the -Ex command version.
>>

<<
128.10.3.4
System.SetValue|SetValue
!128.10.3.5 - SetStepResult
!128.10.3.2 - ShowValue
!128.10.3.3 - InitValue
!128.10.3.28
--
<!DEF>
procedure <!TW>System.SetValue (.MeasValue : real|string; [sComment : string]);
<!TXT>
Combination of <!RW>ShowValue and <!RW>InitValue.

Sets the value <!PW>MeasValue (<!RW>String or <!RW>Real) as result value of the step, and displays it in the "measured values panel".

In case of numeric values the value is checked against the step limits and a step result is calculated (Pass/Fail); in case of a string value the step result is invalid. In this case the step result has to be set with <!RW>SetStepResult.

If specified, <!PW>sComment is stored as comment to the measured value. The system itself does not use the comment, but it can be requesteded and analyzed with the MeasData IP Object.

This command can only be used in the simultaneous test mode <!SW>Single. In other modes, use the -Ex command version.
>>
<<
128.10.3.5
System.SetStepResult|SetStepResult
!128.10.3.4 - SetValue
!128.10.3.29
--
<!DEF>
procedure <!TW>System.SetStepResult (rValue : real);
<!TXT>
Sets the step result directly and overwrites any previous result. 

<!STBL>
<!+>rValue<!+>Meaning<!>
<!c>0<!>None<!>
<!c>1<!>Pass<!>
<!c>2<!>Fail<!>
<!c>3<!>Invalid<!>
<!ETBL>

This command can only be used in the simultaneous test mode <!SW>Single. In other modes, use the -Ex command version.
>>
<<
128.10.3.6
System.SetBarCode|SetBarCode
!128.10.2.6 - GetBarCode
!128.10.3.7 - SetTypeCode
--
<!DEF>
procedure <!TW>System.SetBarCode (sBarCode : string; [rContactPos, rTestPos : real]);
<!TXT>
Sets the barcode for the <!PW>rTestPos-th DUT in the contact row <!PW>rContactPos to <!PW>sBarCode. In systems with only one DUT, the positions can be ommitted.
>>
<<
128.10.3.7
System.SetTypeCode|SetTypeCode
!128.10.2.7 - GetTypeCode 
!128.10.3.6 - SetBarCode
!128.10.2.25
!128.10.3.36
--
<!DEF>
procedure <!TW>System.SetTypeCode (sBarCode : string; [rContactPos, rTestPos : real]);
<!TXT>
Sets the type code for the <!PW>rTestPos-th DUT in the contact row <!PW>rContactPos to <!PW>sBarCode. In systems with only one DUT, the positions can be ommitted.

When the test is started, the type codes of the DUTs is compared against the type code of the currently loaded type. If equal, the test is started. If not equal - and if allowed - an automatic type change is executed or an error message is displayed.

The type data will not be loaded immediately, but only if a test is started. For an immediate loading of the new type data, use <!RW>System.ChangeTypeCode.
>>
<<
128.10.3.8
System.AbortTest|AbortTest
--
<!DEF>
procedure <!TW>System.AbortTest;
<!TXT>
Aborts the test process (works like the abort button). 

Should be used only in case of serious errors.
>>
<<
128.10.3.9
System.StartTest|StartTest
!128.10.2.5 - MenuStart
--
<!DEF>
procedure <!TW>System.StartTest;
<!TXT>
Starts the test (only for the loop step, otherwise ignored).

The test is not started like a procedure call. In fact only a flag is set, which makes the system start the test with next arising opportunity (so when the Loop-Step is finished).
>>

<<
128.10.3.10
System.SetSystemNumber|SetSystemNumber
--
<!DEF>
procedure <!TW>System.SetSystemNumber (rSysNr : real);
<!TXT>
Sets the system number of the measuring station (basic device number). 

The command has an effect only on the loop step and will be ignored in all other steps.

All modules are informed about the modification of the system number and the modules react to this modification.

The type data managment forces (eg. on the next test start) a reload of the type data to realize the new system numbers.
>>

<<
128.10.3.11
System.EnableJump|EnableJump
--
<!DEF>
procedure <!TW>System.EnableJump;
<!TXT>
Enables the calculated jump.

In case the jump condition of the active step is <!SW>C (i.e. calculated), the jump will be executed after end of step.

If the active step has any other jump condition, nothing happens.

<!DEF>
procedure <!TW>System.EnableJump (rStepNo : real);
<!TXT>
Enabled the calculated jump and assigns <!PW>rStepNo as target.

In case the jump condition of the active step is <!SW>C (i.e. calculated), the jump will be executed after end of step.

This command allows to jump to any step in the sequence. The target is first search forwards, then backwards. If it can't be found at all, the next step is executed without any error message.
>>

<<
128.10.3.12
System.DUTEnabled.Set|DUTEnabled.Set
!128.10.2.17
--
<!DEF>
procedure <!TW>System.DUTEnabled.Set (rContactPos, rTestPos, rCanBeTested : real);
<!TXT>
Makes the DUT at the position <!PW>rContactPos, <!PW>rTestPos (column/row) active (<!PW>rCanBeTested=<!RW>true) resp. inactive (<!PW>rCanBeTested=<!RW>false) for the next test.
>>
<<
128.10.3.13
System.ClearMenuStart|ClearMenuStart
--
<!DEF>
procedure <!TW>System.ClearMenuStart;
<!TXT>
Resets the flag set that can be read by <!RW>MenuStart, but it does NOT cancel the effect of a <!RW>StartTest. 

Can be used, if a Start was requested manually, but can not be made because of mechanical or other problems.

<!CODE>
if MenuStart then begin
  if <i>ItIsOkayToStartNow</i> then begin
    StartTest;
  end
  else begin
    ClearMenuStart;
  end;
end;
<!TXT>
>>
<<
128.10.3.14
System.Action.Trigger (Procedure)|Action.Trigger
!128.10.3.16.1
!128.10.2.27
--
<!DEF>
procedure <!TW>Action.Trigger (rActionCode : real; [sParameter : string]);
<!TXT>
Triggers the action with the action code <!PW>rActionCode and transfers the string <!PW>sParameter as the parameter of the action.

This routine can be called as <a href="128.10.2.27">function</a>, if the action returns a value.

Some of the actions will be exceuted only after the end of the catual step and not all of the actions are usefull from the interpreter. For some of them exist special interpreter commands.
>>
<<
128.10.3.16.1
Action-Codes by categories|ActionCodes
!128.10.3.16.1.1
!128.10.3.16.1.2
!128.10.3.16.1.3
!128.10.3.16.1.4
!128.10.3.16.1.5
!128.10.3.16.1.6
!128.10.3.16.1.7
!128.10.3.16
!128.10.2.27
--
>>
<<
128.10.3.16.1.1
Action codes for menu functions|Menu functions
!128.10.3.16.1
--
This actions are normally triggered by the operator as they open editors etc. Some of them can be called directly with an interpreter command.
<!STBL>
<!+>Code<!+>Description<!>
<!c>0001<!>Open type selection dialog<!>
<!c>0002<!>Measured results of the last test<!>
<!c>0003<!>Local statistics dialog<!>
<!c>0004<!>Registration dialog<!>
<!c>0005<!>Basic setup<!>
<!c>0006<!>Type and variant editor<!>
<!c>0007<!>Test sequence editor<!>
<!c>0008<!>Interpreter source editor<!>
<!c>0009<!>Switch between SBS and Automatic mode<!>
<!c>0010<!>DUT activity dialog<!>
<!c>0011<!>Start test<!>
<!c>0012<!>Password dialog<!>
<!c>0013<!>Language select dialog<!>
<!c>0014<!>Program reset<!>
<!c>0015<!>Program end<!>
<!c>0016<!>Shutdown Windows - for parameter see <a href="128.10.3.16.1.4">Specials</a><!>
<!c>0018<!>Manage access levels<!>
<!c>0019<!>License information<!>
<!c>0020<!>Start measdata dbf data care<!>
<!c>0021<!>Start auto run - similar to <!RW>Autorun.Mode (1)<!>
<!c>0022<!>Stop auto run - similar to <!RW>Autorun.Mode (0)<!>
<!c>0101<!>IP-Help<!>
<!c>2010<!>Show UpLoad/DownLoad dialog<!>
<!c>2220<!>Show Change Log<!>
<!c>2223<!>Show Enumerated Data - Report<!>
<!ETBL>
>>
<<
128.10.3.16.1.2
Action codes for tool monitors|Monitors
!128.10.3.16.1
--
All monitor actions support the following parameters:
 <!SW>[SHOW|HIDE|TOGGLE]
 <!SW>SHOW - Show the monitor (this is the default action, if no parameter is given)
 <!SW>HIDE - Hide the monitor
 <!SW>TOGGLE - Toggle visibility of the monitor

<!STBL>
<!+>Code<!+>Description<!>
<!c>2020<!>Curve - Monitor<br>
Parameter: (additional)
 <!SW>LOAD=Filename - Load file into curve monitor
 <!SW>SAVE=Filename - Save file from curve monitor<!>
<!c>2030<!>Globale Data Monitor<!>
<!c>2040<!>UMS - Monitor<!>
<!c>2050<!>IP - Monitor<!>
<!c>2060<!>IP Aliasses<!>
<!c>2070<!>DDE - Monitor<!>
<!c>2080<!>CAN - Monitor<!>
<!c>2090<!>IC - Monitor<!>
<!c>2100<!>Virtual Keyboard<!>
<!c>2110<!>KeyWord2000 - Monitor<!>
<!c>2120<!>LIN - Monitor<!>
<!c>2130<!>ME3000 - Monitor<!>
<!c>2140<!>Mechanic IO - Monitor<br>
<!c>2150<!>IEC Bus - Monitor<!>
<!c>2160<!>RS232 - Monitor<!>
<!c>2170<!>Sockets - Monitor<!>
<!c>2210<!>DAS4020/12 - Monitor<!>
<!c>2221<!>SQL - Monitor<!>
<!c>2222<!>IMeasx4 - Monitor<br>
<!c>2224<!>RCMeas - Monitor<br>
<!c>2225<!>ExacqDA High-Speed AD Card Monitor<!>
<!c>2226<!>AngeloRTV Monitor<!>
<!c>2227<!>ME4000 Monitor<br>
<!c>2228<!>SM2044 - Monitor<!>
<!c>2229<!>FrequencycounterIO - Monitor<!>
<!ETBL>
>>
<<
128.10.3.16.1.3
Action codes for log files|Log files
!128.10.3.16.1
--
<!STBL>
<!+>Code<!+>Description<!>
<!c>3000<!>UpLoad / DownLoad Log<!>
<!c>3010<!>Errorlog<!>
<!c>3020<!>Programlog<!>
<!c>3030<!>Measdata DBF Log<!>
<!c>3040<!>IP-Debug Log<!>
<!c>3050<!>Exception Log<!>
<!c>3060<!>SerIO Log<!>
<!c>3080<!>Socket-Log<!>
<!ETBL>
>>
<<
128.10.3.16.1.4
Action codes fr special tasks|Specials
!128.10.3.16.1
--
<!STBL>
<!+>Code<!+>Description<!>
<!c>0014<!>Program reset<!>
<!c>0015<!>Program end<!>
<!c>0016<!>Shutdown Windows<br>Parameter:<!SW>[SHUTDOWN|REBOOT|POWEROFF] <!SW>[FORCE] <!SW>[DIALOG] <!SW>[NOCONFIRM]<br>
 <!SW>SHUTDOWN - Shutdown system
 <!SW>REBOOT - reboot the system
 <!SW>POWEROFF - shutdown and power off
 <!SW>FORCE - shutdown, even if programs reject it
 <!SW>DIALOG - show user dialog
 <!SW>NOCONFIRM - don't ask for user confirmation<!>
<!c>0017<!>Set the system into error state<br>Parameter: <!SW>Comment<!>
<!c>0020<!>Start measdata dbf data care<!>
<!ETBL>
>>
<<
128.10.3.16.1.5
Action codes to start IP steps|IP steps
!128.10.3.16.1
--
Will start an IP step.
IP steps can only be started outside of a running test sequence.
The called IP step will start <b>after</b> an actually running one is finished, not parallel.

<!STBL>
<!+>Code<!+>Description<!>
<!c>1000<!>Start IP-step (everyone)<!>
<!c>1001<!>Start IP-step (master or higher)<!>
<!c>1002<!>Start IP-step (Service or higher)<!>
<!c>1003<!>Start IP-step (Administrator or higher)<!>
<!ETBL>

Parameter (for all IP actions):
<!DEF>
IP-Step
<!TXT>
The difference between the action codes is only the password level that is needed to activate the action.
>>
<<
128.10.3.16.1.6
Aktion codes to starten a shell action|Shell actions
!128.10.3.16.1
--
Shell actions can be used to start an external program or to execute a special task with a file (e.g. task 'print' with the file 'xyz.txt').
<!STBL>
<!+>Code<!+>Description<!>
<!c>1100<!>Shell Action (everyone)<!>
<!c>1101<!>Shell Action (Meister or higher)<!>
<!c>1102<!>Shell Action (Service or higher)<!>
<!c>1103<!>Shell Action (Administrator or higher)<!>
<!ETBL>

Parameter (for all shell actions):
<!DEF>
[Action] File[; Parameter[; Path]]
<!TXT>
 <!SW>Action is the task to be executed, default is <!SW>'open'
 <!SW>File is the file to be executed
 <!SW>Parameter are optional parameters (e.g that will be given to an executed program)
 <!SW>Path is the folder where the action will be started
The difference between the action codes is only the password level that is needed to activate the action.
>>
<<
128.10.3.16.1.7
Action codes for external DLLs|External DLLs
!128.10.3.16.1
--
<!STBL>
<!+>Code<!+>Description<!>
<!c>0050<!>Show Password DLL - Report<!>
<!c>0051<!>Send command to Passwort DLL<br>
Type and syntax of the commands depend on the DLL. The DLL must implement one of the routines <!SW>TriggerAction or <!SW>TriggerActionEx. If the routine <!SW>TriggerActionEx is implemented, the DLL may return values.<!>
<!c>2000<!>Show MeasData DLL - Report<!>
<!c>2001<!>Send command to MeasData DLL<br>
Type and syntax of the commands depend on the DLL. The DLL must implement one of the routines <!SW>TriggerAction or <!SW>TriggerActionEx. If the routine <!SW>TriggerActionEx is implemented, the DLL may return values.<!>
<!ETBL>
>>
<<
128.10.3.17
System.Doze|Doze
--
<!DEF>
procedure <!TW>System.Doze;
<!TXT>
Gives the Interpreter (not the system!) a short doze.

Corresponds to the call of:
<!CODE>
DateTime.Sleep (1);  // very short doze (1ms)
DateTime.Sleep (0);  // release the remainder of the timeslice
<!TXT>

By calling <!RW>Doze, the system get more time for other processes and threads. Especially the CPU-load is reduced.

 <!RW>Doze makes sense only if used in loops. It should be integrated in every loop that waits for an external event:

<!CODE>
// bad: (100% CPU Load only for waiting)
while RS232.ByteAvailable ('PortX') &lt; 5 do ;

// good: (reduced CPU load)
while RS232.ByteAvailable ('PortX') &lt; 5 do begin
  doze;
end;
<!TXT>
>>

<<
128.10.3.18
System.Error|Error
--
<!DEF>
procedure <!TW>System.Error (rErrorNr : real);
<!TXT>
Triggers an interpreter runtime error and thus stops the step resp. the test.

Can be used for detecting errors during the program development. 

 <!PW>rErrorNr indicates the error to be triggered. See IP.INI.

For 'real self-made' errors, number 99 is reserved.
>>
<<
128.10.3.19
System.SelectTestSequence|SelectTestSequence
--
<!DEF>
procedure <!TW>System.SelectTestSequence (rSysNr : real);
<!TXT>
Sets the test sequence number to be used.

The command is procvessed in the loop step only and will be ignored in all other steps.
>>
<<
128.10.3.20
System.BringToFront|BringToFront
--
<!DEF>
procedure <!TW>System.BringToFront;
<!TXT>
Puts the program in front of all other programs on the screen.

Useful in case other applications push themselves on top of the program.

Might not work in newer versions of Windows (2000 or XP) since these versions don't allow programs to bring themselves to the top.
>>
<<
128.10.3.21
System.ClrFailGotoCounter|ClrFailGotoCounter
--
<!DEF>
procedure <!TW>System.ClrFailGotoCounter;
<!TXT>
Resets the counter which counts the number of FailGoto attempts for the active step.
>>
<<
128.10.3.22
System.ClrRecoveryCounter|ClrRecoveryCounter
--
<!DEF>
procedure <!TW>System.ClrRecoveryCounter;
<!TXT>
Resets the counter which counts the number of recovery step attempts for the active step.
>>
<<
128.10.3.23
System.ClrFailRepeatCounter|ClrFailRepeatCounter
--
<!DEF>
procedure <!TW>System.ClrFailRepeatCounter;
<!TXT>
Resets the counter used for counting the number of fail repeat attempts for the active step.
>>

<<
128.10.3.24
System.SetTestResult|SetTestResult
!128.10.2.3 
--
<!DEF>
procedure <!TW>System.SetTestResult (rValue : real);
<!TXT>
Sets the test result of the active DUT. This syntax is allowed only in the simultaneous test mode <!SW>Single.

<!DEF>
procedure <!TW>System.SetTestResult (rDUTNr, rValue : real);
<!TXT>
Sets the test result of the DUT selected by the <!PW>rDUTNr (1..Number of DUTs). This syntax is allowed in all simultaneous test modes.

In the simultaneous test mode <!SW>Single, <!PW>rDUTNr may be <!SW>0, this will set the result of the active DUT.


<!DEF>
procedure <!TW>System.SetTestResult (rContactPos, rTestPos, rValue : real);
<!TXT>
Sets the test result of the DUT in the contact position <!PW>rContactPos and the test position <!PW>rTestPos. This syntax is allowed in all simultaneous test modes.
In the simultaneous test mode <!SW>Single, the parameters might be given as (0, 0), this will return the test result of the active DUT.


Permitted values for <!PW>rValue:
<!STBL>
<!+>Value<!+>Meaning<!>
<!c>0<!>none - the result calculated by the system will be used<!>
<!c>1<!>Pass<!>
<!c>2<!>Fail<!>
<!c>3<!>Break<!>
<!ETBL>
>>

<<
128.10.3.25
System.Application|Application
--
>>
<<
128.10.3.25.1
System.Application.Name|Name
!128.10.3.25.2
--
<!DEF>
procedure <!TW>System.Application.Name (sName : string);
<!TXT>
Sets <!PW>sName as the name of the program. The name of the progrram is shown in teh task bar of Windows.

This command will not affect the caption bar of the program window. The caption bar can be changed with <a href="128.10.3.25.2"><!RW>System.Application.Caption</a>. 
>>
<<
128.10.3.25.2
System.Application.Caption|Caption
!128.10.3.25.1
--
<!DEF>
procedure <!TW>System.Application.Caption (sName : string);
<!TXT>
Sets the caption bar of the program window to <!PW>sName. 

This command does not affect the program name, that is shown in the task bar of Windows. The program name can be changed with <a href="128.10.3.25.1"><!RW>System.Application.Name</a>. 

In <!PW>sName, the following variables may be used:
<!STBL>
<!+>Variable<!+>Meaning<!>
<!c>%1<!>Program name (cPCI)<!>
<!c>%2<!>Program edition (pure)<!>
<!c>%3<!>Program version (V1.2.3.123 BETA)<!>
<!c>%4<!>Type family of the loaded variante<!>
<!c>%5<!>Type info of the loaded variant<!>
<!c>%6<!>Type code of the loaded variant<!>
<!ETBL>

If <!PW>sName is an empty string, the program will use the defautl caption bar.
I.e.: <tt>' %1/%2  %3 - Typ: %4 - %5  -  %6'</tt>
>>

<<
128.10.3.26
System.ShowValueEx|ShowValueEx
--
<!DEF>
procedure <!TW>System.ShowValueEx (rDUTNr : real; .MeasValue : real|string);
<!TXT>
Displays the value <!PW>MeasValue (<!RW>String or <!RW>Real) for the DUT selected with <!PW>rDUTNr in the measured values window, but it does not set it as a result value of the step.

Usefull for displaying of intermediate values or texts in case of livelong measurements.

In the simultaenous test mode <!SW>Single <!PW>rDUTNr may be <!SW>0 (additionally to the real DUT numbers 1..NumberOfDUTs), In that case the command works like the standard command <!RW>ShowValue.

In the other simultaneous modes, <!PW>rDUTNr has to be in the range 1..NumberOfDUTs.

The color of the display is determinated by the current step result. Since a <!RW>ShowValueEx doesn't change the step result, a color can be forced by using<!RW>SetStepResultEx:
<!STBL>
<!+>Step result<!+>Colour of output<!+>
<!c>None</td><td align=center bgcolor=#000000><font color=#ffff00><b>yellow</b></font><!>
<!c>Pass</td><td align=center bgcolor=#000000><font color=#00ff00><b>green</b></font><!>
<!c>Fail</td><td align=center bgcolor=#000000><font color=#ff0000><b>red</b><!>
<!c>Invalid</td><td align=center bgcolor=#000000><font color=#0000ff><b>blue</b><!>
<!ETBL>
The real step result has to be set again - of course.

If the selected DUT is not active in the actual step, the command has no effect.
>>

<<
128.10.3.27
System.InitValueEx|InitValueEx
!128.10.3.3
!128.10.3.26
!128.10.3.28
!128.10.3.29
--
<!DEF>
procedure <!TW>System.InitValueEx (rDUTNr : real; .MeasValue : real|string; [sComment : string]);
<!TXT>
Sets the value <!PW>MeasValue (<!RW>String or <!RW>Real) for the DUT selected with <!PW>rDUTNr as result value of the step, but it does not display it in the measured values window. 

In the simultaenous test mode <!SW>Single <!PW>rDUTNr may be <!SW>0 (additionally to the real DUT numbers 1..NumberOfDUTs), In that case the command works like the standard command <!RW>ShowValue.
In the other simultaneous modes, <!PW>rDUTNr has to be in the range 1..NumberOfDUTs.

In case of numeric values the value is checked against the step limits and a step result is calculated (Pass/Fail); in case of a string value the step result is invalid. 
In this case the step result has to be set with <!RW>SetStepResultEx.

If specified, <!PW>sComment is stored as comment to the measured value. The system itself does not use the comment, but it can be requesteded and analyzed with the MeasData IP Object.

If the selected DUT is not active in the actual step, the command has no effect.
>>

<<
128.10.3.28
System.SetValueEx|SetValueEx
!128.10.3.26
!128.10.3.27
!128.10.3.29
!128.10.3.4
--
<!DEF>
procedure <!TW>System.SetValueEx (rDUTNr : real; .MeasValue : real|string; [sComment : string]);
<!TXT>
Combination of <!RW>ShowValueEx and <!RW>InitValueEx.

Sets the value <!PW>MeasValue (<!RW>String or <!RW>Real) of the DUT selected with <!PW>rDUTNr as result value of the step, and displays it in the measured values window.

In the simultaenous test mode <!SW>Single <!PW>rDUTNr may be <!SW>0 (additionally to the real DUT numbers 1..NumberOfDUTs), In that case the command works like the standard command <!RW>ShowValue.
In the other simultaneous modes, <!PW>rDUTNr has to be in the range 1..NumberOfDUTs.

In case of numeric values the value is checked against the step limits and a step result is calculated (Pass/Fail); in case of a string value the step result is invalid. In this case the step result has to be set with <!RW>SetStepResultEx.

If specified, <!PW>sComment is stored as comment to the measured value. The system itself does not use the comment, but it can be requesteded and analyzed with the MeasData IP Object.

If the selected DUT is not active in the actual step, the command has no effect.
>>
<<
128.10.3.29
System.SetStepResultEx|SetStepResultEx
!128.10.3.28
!128.10.3.5
--
<!DEF>
procedure <!TW>System.SetStepResultEx (rDUTNr, rValue : real);
<!TXT>
Sets the step result for the DUT selected with <!PW>rDUTNr directly and overwrites any previous result. 

In the simultaenous test mode <!SW>Single <!PW>rDUTNr may be <!SW>0 (additionally to the real DUT numbers 1..NumberOfDUTs), In that case the command works like the standard command <!RW>ShowValue.
In the other simultaneous modes, <!PW>rDUTNr has to be in the range 1..NumberOfDUTs.

If the selected DUT is not active in the actual step, the command has no effect.

<!STBL>
<!+>rValue<!+>Meaning<!>
<!c>0<!>None<!>
<!c>1<!>Pass<!>
<!c>2<!>Fail<!>
<!c>3<!>Invalid<!>
<!ETBL>
>>

<<
128.10.3.30
System.SetProfile|SetProfile
--
<!DEF>
procedure <!TW>System.SetProfile (sProfileName : string);
<!TXT>
Activates the profile <!PW>sProfileName and implement a RESET. If the profile is missing, an error is released. 
>>

<<
128.10.3.31
System.SetSimultanMode|SetSimultanMode
--
<!DEF>
procedure <!TW>System.SetSimultanMode (rSimultanMode : real);
<!TXT>
Activates the simultaneous test mode in<!PW>rSimultanMode and implement a RESET.

Permitted values for <!PW>rSimultanMode:

<!STBL>
<!+>Value<!+>Meaning<!>
<!c>0<!>Single<!>
<!c>1<!>ContactPos<!>
<!c>2<!>Panel<!>
<!ETBL>
>>

<<
128.10.3.32
System.SetUserInfo|SetUserInfo
--
<!DEF>
procedure <!TW>System.SetUserInfo (sName : String; sValue : String [; rToShow : real [; rContactPos, rTestPos ]] );
<!TXT>
Sets the user defined value <!PW>sName to the value <!PW>sValue for the DUT in the contact row <!PW>rContactPos and test position <!PW>rTestPos. If the system has only one DUT, the positions can be ommitted. if <!PW>rToShow is <!RW>True, the value will also displayed.
>>

<<
128.10.3.33
System.ResetTypeCodes|ResetTypeCodes
--
<!DEF>
procedure <!TW>System.ResetTypeCodes;
<!TXT>
Resets all type codes (only for the loop step, otherwise ignored).
>>

<<
128.10.3.34
System.ResetBarCodes|ResetBarCodes
--
<!DEF>
procedure <!TW>System.ResetBarCodes;
<!TXT>
Resets all barcodes.
>>

<<
128.10.3.35
System.ResetUserInfo|ResetUserInfo
--
<!DEF>
procedure <!TW>System.ResetUserInfo;
<!TXT>
Resets all user defined values.
>>

<<
128.10.3.36
System.ResetECCodes|ResetECCodes
--
<!DEF>
procedure <!TW>System.ResetECCodes;
<!TXT>
Resets all EC code (only for the loop step, otherwise ignored).
>>

<<
128.10.3.37
System.SetECCode|SetECCode
!128.10.2.36
!128.10.3.7
!128.10.2.25
--
<!DEF>
procedure <!TW>System.SetECCode (sECCode : string; [rContactPos, rTestPos : real]);
<!TXT>
Sets the EC code for the <!PW>rTestPos-th DUT in the contact row <!PW>rContactPos to <!PW>sBarCode. In systems with only one DUT, the positions can be ommitted.

When the test is started, the EC codes of the DUTs is compared against the EC code of the currently loaded type. If equal, the test is started. If not equal - and if allowed - an automatic type change is executed or an error message is displayed.

The type data will not be loaded immediately, but only if a test is started. For an immediate loading of the new type data, use <!RW>System.ChangeTypeCode.
>>

<<
128.10.3.38
System.SetMacro|SetMacro
--
<!DEF>
procedure <!TW>System.SetMacro (sName : String; sValue : String)
<!TXT>
Set the macro <!PW>sName in the interpreter step to the value <!PW>sValue. The macro format is: '{$MACRO:Name}'.
>>

<<
128.10.3.39
System.InitNetObject|InitNetObject
--
<!DEF>
procedure <!TW>System.InitNetObject (noInstance : NetObject; sNetClass : String);
procedure <!TW>System.InitNetObject (noInstance : NetObject; sNetClass : String; sSorceCodePath : String);
procedure <!TW>System.InitNetObject (noInstance : NetObject; sNetClass : String; sSorceCodePath : String; sInstanceName : String);
procedure <!TW>System.InitNetObject (noInstance : NetObject; sNetClass : String; sSorceCodePath : String; sInstanceName : String; sNetReference : string);
<!TXT>
This function initiated the NetObject variable <!PW>noInstance with the .Net class <!PW>sNetClass(use the complete name namespace and class name). The initiation could be already done through the creation of the NetObject variable (Datentype <a href="1.1.2.6">NetObject</a>). If a NetObject variable isn't initated with a .Net class, the NetObject variable could not used.
The string <!PW>sSorceCodePath specify the file with the .Net Klasse.
The string <!PW>sInstanceName specify a name for the .Net class instance, which is used in the GlobalData Monitor too. If no instance name is used the class name with the namespace name is used as name. A created .Net class instance would be destroyed about different ways, the new creation of the same instance name (over this function or the <a href="1.1.2.6">NetObject</a> creation) or directly with the procedure <a href="128.10.3.40">FreeNetObject</a> or in the GlobalData Monitor.
The string <!PW>sNetReference specify .Net Reference files which are needed to compile the sourcecode (e.g. System.xml.DLL, for xml functions from .net).

Beispiele:
<!CODE>
  System.InitNetObject( noInstance, 'NameSpace.Class');
  System.InitNetObject( noInstance, 'NameSpace.Class','c:\SourceCode\Class.CS');
  System.InitNetObject( noInstance, 'NameSpace.Class','c:\SourceCode\Class.CS', 'ClassInstance');
  System.InitNetObject( noInstance, 'NameSpace.Class','c:\SourceCode\Class.CS', 'ClassInstance', 'System.xml.dll');
<!TXT>
>>

<<
128.10.3.40
System.FreeNetObject|FreeNetObject
--
<!DEF>
procedure <!TW>System.FreeNetObject (sInstanceName : String)
<!TXT>
The string <!PW>sInstanceName specify the .Net instance which could be destroyed.
>>

<<
128.10.3.41
System.ClearDesktop|ClearDesktop
--
<!DEF>
procedure <!TW>System.ClearDesktop
<!TXT>
This function clears the main desktop and shows the configured picture.
>>

<<
128.10.3.42
System.SetValueRound|SetValueRound
!128.10.3.5 - SetStepResult
!128.10.3.2 - ShowValue
!128.10.3.3 - InitValue
!128.10.3.28
--
<!DEF>
procedure <!TW>System.SetValueRound (.MeasValue : real|string; [sComment : string]);
<!TXT>
This command rounded the value with the current number of step precision.
The value will also be stored rounded. 
Warning: The value can lost the origin precision of measurement.

Combination of <!RW>ShowValue and <!RW>InitValue.


Sets the value <!PW>MeasValue (<!RW>String or <!RW>Real) as result value of the step, and displays it in the "measured values panel".

In case of numeric values the value is checked against the step limits and a step result is calculated (Pass/Fail); in case of a string value the step result is invalid. In this case the step result has to be set with <!RW>SetStepResult.

If specified, <!PW>sComment is stored as comment to the measured value. The system itself does not use the comment, but it can be requesteded and analyzed with the MeasData IP Object.

This command can only be used in the simultaneous test mode <!SW>Single. In other modes, use the -Ex command version.
>>

<<
128.10.3.43
System.SetValueExRound|SetValueExRound
!128.10.3.26
!128.10.3.27
!128.10.3.29
!128.10.3.4
--
<!DEF>
procedure <!TW>System.SetValueExRound (rDUTNr : real; .MeasValue : real|string; [sComment : string]);
<!TXT>
This command rounded the value with the current number of step precision.
The value will also be stored rounded. 
Warning: The value can lost the origin precision of measurement.

Combination of <!RW>ShowValueEx and <!RW>InitValueEx.

Sets the value <!PW>MeasValue (<!RW>String or <!RW>Real) of the DUT selected with <!PW>rDUTNr as result value of the step, and displays it in the measured values window.

In the simultaenous test mode <!SW>Single <!PW>rDUTNr may be <!SW>0 (additionally to the real DUT numbers 1..NumberOfDUTs), In that case the command works like the standard command <!RW>ShowValue.
In the other simultaneous modes, <!PW>rDUTNr has to be in the range 1..NumberOfDUTs.

In case of numeric values the value is checked against the step limits and a step result is calculated (Pass/Fail); in case of a string value the step result is invalid. In this case the step result has to be set with <!RW>SetStepResultEx.

If specified, <!PW>sComment is stored as comment to the measured value. The system itself does not use the comment, but it can be requesteded and analyzed with the MeasData IP Object.

If the selected DUT is not active in the actual step, the command has no effect.
>>
