:Revision=29
:HTML
<<
128.10
System-Objekt|System
--
Das IP-Objekt <!RW>System stellt Methoden zur Verfgung um mit dem Prfsystem als Ganzes zu kommunizieren. 

ber das System-IP-Objekt kann der Zustand des Systems abgefragt werden, systemweite Werte gesetzt und Prfungen gesteuert werden.

Es ist das Default-IP-Objekt, daher kann <!CW>'System.' vor den Prozedur- und Funktionsnamen entfallen.
>>

<<
128.10.2
Funktionen des System-Objekts|Funktionen
--
>>

<<
128.10.2.1
System.StepContinue|StepContinue
!128.10.2.4  - IsSBS
!128.10.2.10  - SingleStepContinue
--
<!DEF>
function <!TW>System.StepContinue : real;
<!TXT>
Liefert <!RW>TRUE, wenn:
<ol type="a">
<li>der Test im Automatikmodus luft <i>oder</i></li>
<li>der Test im Step-by-Step luft und von Hand ein anderer Step aufgerufen wurde</li>
</ol>

Einfacher gesagt: wenn der Step verlassen werden sollte

<!CODE>
repeat
  // messen und anzeigen
until Stepcontinue;
<!TXT>
>>

<<
128.10.2.2 
System.GetStepResult|GetStepResult
!128.10.2.3 - GetTestResult
!128.10.3.5 - SetStepResult
!128.10.3.29
--
<!DEF>
function <!TW>System.GetStepResult (rDUTNr : real) : real;
<!TXT>
Liefert das Ergebnis des aktuellen Prfschrittes fr den mit der <!PW>rDUTNr ausgewhlten Prfling.

Im Simultanprfmodus <!SW>Single kann fr <!PW>rDUTNr <!SW>0 (zustzlich zu den echten DUT-Nummern 1..Anzahl Prflinge) angegeben werden, dann wirkt der Befehl wie ein normaler <!RW>GetStepResult Befehl.
In den anderen Simultanprfmodi muss <!PW>rDUTNr im Bereich 1..Anzahl der Prflinge liegen.
Ist der mit <!PW>rDUTNr ausgewhlte Prfling momentan nicht aktiv, so ist das Ergebnis immer 0.

Rckgabewerte
<!STBL>
<!+>Wert<!+>Bedeutung<!>
<!c>0<!>(noch) keines<!>
<!c>1<!>Pass<!>
<!c>2<!>Fail<!>
<!c>3<!>Ungltig<!>
<!ETBL>

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

Die nur im Simultanprfmodus <!SW>Single erlaubte Sonderform
<!DEF>
function <!TW>System.GetStepResult : real;
<!TXT>
wirkt wie
<!CODE>
System.GetStepResult (0);
<!TXT>
>>

<<
128.10.2.3
System.GetTestResult|GetTestResult
!128.10.2.2 - GetStepResult
--
<!DEF>
function <!TW>System.GetTestResult : real;
<!TXT>
Liefert das Ergebnis des aktuellen Prflings. Diese Aufrufform ist nur im Simultanprfmodus <!SW>Single erlaubt.

<!DEF>
function <!TW>System.GetTestResult (rDUTNr : real) : real;
<!TXT>
Liefert das Ergebnis des mit <!PW>rDUTNr (1..Anzahl Prflinge) ausgewhlten Prflings. Diese Aufrufform ist in allen Simultanprfmodi erlaubt.
Im Simultanprfmodus <!SW>Single kann zustzlich fr <!PW>rDUTNr <!SW>0 angegeben werden, dann wird das Ergebnis des aktuellen Prflings geliefert.

<!DEF>
function <!TW>System.GetTestResult (rContactPos, rTestPos : real) : real;
<!TXT>
Liefert das Ergebnis des Prflings in der Kontaktierposition <!PW>rContactPos und TestPosition <!PW>rTestPos. Diese Aufrufform ist in allen Simultanprfmodi erlaubt.
Im Simultanprfmodus <!SW>Single kann zustzlich fr <b>beide</b> Parameter <!SW>0 angegeben werden, dann wird das Ergebnis des aktuellen Prflings geliefert.

Rckgabewerte:
<!STBL>
<!+>Wert<!+>Bedeutung<!>
<!c>0<!>(noch) keines<!>
<!c>1<!>Pass<!>
<!c>2<!>Fail<!>
<!c>3<!>Break - Test wurde abgebrochen<!>
<!c>4<!>Prfling ist inaktiv und wurde nicht getestet<!>
<!ETBL>

Sinnvoll in den Ende-Steps einsetzbar, etwa zum Ausdruck eines Fehlerlabels.

Whrend des Prfablaufes kann naturgem nur ein Zwischenergebnis geliefert werden. Insbesondere kann der Wert 3 (Break) nicht auftreten.

<!CODE>
if GetTestResult<>1 then begin
  // Fehlerlabel drucken
end;
<!TXT>
>>

<<
128.10.2.4
System.IsSBS|IsSBS
!128.10.2.1 - StepContinue
--
<!DEF>
function <!TW>System.IsSBS : real;
<!TXT>
Liefert <!RW>TRUE, wenn der Test im Einzelschrittmodus (Step-By-Step) abluft.

<!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>
Liefert <!RW>TRUE, wenn der Loopstep zyklisch ausgefhrt wird und der Benutzer 'von Hand' starten will. Im Loopstep kann dann <!RW>System.StartTest aufgerufen werden. Auerhalb des Loopsteps immer <!RW>FALSE.

<!CODE>
// im Loopstep
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>
Holt den Barcode fr den <!PW>rTestPos-ten Prfling in Kontaktreihe <!PW>rContactPos. In Systemen mit nur einem Prfling mssen <!PW>rTestPos und <!PW>rContactPos nicht angegeben werden. (Default fr <!PW>rTestPos und <!PW>rContactPos dann jeweils 1)

Kann z.B. in Endesteps eingesetzt werden, um die richtigen Barcodes auf Label zu drucken 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>
Holt den zuvor mit <!RW>System.SetTypeCode gesetzten Typcode fr den <!PW>rTestPos-ten Prfling in Kontaktreihe <!PW>rContactPos. 
 
In Systemen mit nur einem Prfling mssen <!PW>rTestPos und <!PW>rContactPos nicht angegeben werden. (Default fr <!PW>rTestPos und <!PW>rContactPos dann jeweils 1)
Zurckgegeben wird der zuvor mit <!RW>System.SetTypeCode gesetzte Wert.

Werden <!PW>rTestPos und <!PW>rContactPos mit 0 angegeben, dann wird der Typcode des aktuell geladenen Typs geliefert.

Der Aufruf
<!CODE>
r:=System.GetTypeCode(0,0);
<!TXT>
ist nur noch aus Grnden der Abwrtskompatibilitt im Programm. Er kann ersetzt werden durch den Ausdruck:
<!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>
Prft, ob der Typcode des <!PW>rTestPos-ten Prflings in Kontaktreihe <!PW>rContactPos mit einem bekannten Typcode in der Typliste bereinstimmt und liefert im Erfolgsfall die Typ-Familie zurck, bei Misserfolg ''.

 Der Typcode muss natrlich zuvor gesetzt worden sein. 

In Systemen mit nur einem Prfling mssen die Positionen nicht angegeben werden. (Default fr <!PW>rTestPos und <!PW>rContactPos jeweils 1).
>>

<<
128.10.2.9
System.IsBarcodeActive|IsBarcodeActive
--
<!DEF>
function <!TW>System.IsBarcodeActive : real;
<!TXT>
Liefert <!RW>TRUE, wenn in den Grundeinstellungen die Option &quot;Testablauf / Barcode vorhanden&quot; eingeschaltet ist
>>

<<
128.10.2.10
System.SingleStepContinue|SingleStepContinue
!128.10.2.4  - IsSBS
!128.10.2.1  - SingleStepContinue
--
<!DEF>
function <!TW>System.SingleStepContinue : real;
<!TXT>
Liefert <!RW>TRUE, wenn der Test im Step-by-Step luft und von Hand ein anderer Step aufgerufen wurde.

Kann immer dann eingesetzt werden, wenn im Automatikablauf auf einen bestimmten Zustand gewartet werden muss, whrend im SBS-Modus die Warteschleife verlassen werden muss.

<!CODE>
repeat
  // Auf Benutzereingabe warten
  rButton:=Screen.LastButton;
until (rButton<>0) or (SingleStepcontinue);
<!TXT>
Ersetzt den Ausdruck 
<!CODE>
(IsSBS and StepContinue).
>>
<<
128.10.2.11
System.GetSystemNumber|GetSystemNumber
--
<!DEF>
function <!TW>System.GetSystemNumber : real;
<!TXT>
Liefert die System-Nummer des Messplatzes (Grundgertenummer) wie in der Grundeinstellung eingestellt.
>>

<<
128.10.2.12
System.GetPasswordLevel|GetPasswordLevel
--
<!DEF>
function <!TW>System.GetPasswordLevel : real;
<!TXT>
Holt den aktuellen Passwordlevel.

<!STBL>
<!+>Wert<!+>Level<!>
<!c>0<!>Benutzer<!>
<!c>1<!>Meister<!>
<!c>2<!>Service<!>
<!c>3<!>Administrator<!>
<!c>4<!>MCD<!>
<!c>5<!>Entwickler<!>
<!ETBL>
>>

<<
128.10.2.13
System.AdapterCode|AdapterCode
--
<!DEF>
function <!TW>System.AdapterCode : real;
<!TXT>
Holt den Adaptercode des aktuell geladenen Typs.

<!REM>
Hinweis:
Diese Funktion ist nur noch aus Grnden der Abwrtskompatibilitt im System-IP-Objekt vorhanden und wurde durch die <!RW>TypeList.Adapter ersetzt.
>>

<<
128.10.2.14
System.GetContactColumns|GetContactColumns
--
<!DEF>
function <!TW>System.GetContactColumns : real;
<!TXT>
Liefert die Anzahl an Kontaktierpositionen (Spalten) des aktuellen Nutzens.

<!REM>
Hinweis:
Diese Funktion ist nur noch aus Grnden der Abwrtskompatibilitt im System-IP-Objekt vorhanden und wurde durch die <!RW>TypeList.ContactColumns ersetzt.
>>

<<
128.10.2.15
System.GetTestRows|GetTestRows
--
<!DEF>
function <!TW>System.GetTestRows : real;
<!TXT>
Liefert die Anzahl an Prfpositionen (Zeilen) einer Kontaktierposition des aktuellen Nutzens.

<!REM>
Hinweis:
Diese Funktion ist nur noch aus Grnden der Abwrtskompatibilitt im System-IP-Objekt vorhanden und wurde durch die <!RW>TypeList.TestRows ersetzt.
>>

<<
128.10.2.16
System.FileExists|FileExists
--
<!DEF>
function <!TW>System.FileExists (sFileName : string) : real;
<!TXT>
Liefert <!RW>TRUE, wenn die angegebene Datei existiert.

<!REM>
Hinweis:
Diese Funktion ist nur noch aus Grnden der Abwrtskompatibilitt im System-IP-Objekt vorhanden und wurde durch die <!RW>File.Exists ersetzt.
>>

<<
128.10.2.17
System.DUTEnabled.Get|DUTEnabled.Get
!128.10.3.14
--
<!DEF>
function <!TW>System.DutEnabled.Get (rContactPos, rTestPos : real) : real;
<!TXT>
Liefert <!RW>TRUE, wenn der Prfling an der angegebenen Kontaktierposition (Spalte, <!PW>rContactPos) und Prfposition (Zeile, <!PW>rTestPos) fr den nchsten bzw. aktuellen Test freigegeben ist.
>>

<<
128.10.2.18
System.GetContactColumn|GetContactColumn
--
<!DEF>
function <!TW>System.GetContactColumn : real;
<!TXT>
Liefert die aktuelle Kontaktierposition (Spalte) des laufenden Tests, bzw. 0, wenn kein Test luft.
>>

<<
128.10.2.19
System.GetTestRow|GetTestRow
--
<!DEF>
function <!TW>System.GetTestRow : real;
<!TXT>
Liefert die aktuelle Prfpositionen (Zeile) des laufenden Tests, bzw. 0, wenn kein Test luft.
>>

<<
128.10.2.20
System.CheckTestSequence|CheckTestSequence
--
<!DEF>
function <!TW>System.CheckTestSequence (rTests : real) : real;
<!TXT>
Prft den aktuell geladenen Prfablauf auf verschiedene Punkte ab.

<!PW>rTests whlt aus, welche Tests durchgefhrt werden. Es kann eine Kombination folgender Flags sein:

<!STBL>
<!+>Wert<!+>Bedeutung<!>
<!c>1<!>Prft, ob die Systemnummer explizit mindestens einmal in der Ablaufliste vorhanden ist (also nicht nur die 'Nullnummern' geladen wurden)<!>
<!c>1<!>Prft, ob der Typcode mindestens einmal explizit in der Ablaufliste als Variantenfilter vorhanden ist (also nicht nur die '*?' oder ein anderer Wildcard verwendet wurde)<!>
<!c>3<!>Kombiniert die Tests fr 1 und 2<!>
<!ETBL>

<!STBL>
<tr bgcolor=f0f0f0 align=center><TD colspan=2><b>Rckgabewerte</b><!>
<!+>Value<!+>Bedeutung<!>
<!c>0<!>Test(s) ok<!>
<!c>1<!>Systemnummer nicht explizit da<!>
<!c>2<!>Typcode nicht explizit da<!>
<!c>3<!>weder Systemnummer noch Typcode da<!>
<!ETBL>
>>

<<
128.10.2.21
System.ExeInfo|ExeInfo
--
<!DEF>
function <!TW>System.ExeInfo (sItem : string) : string;
<!TXT>
Liefert Informationen ber das Prfprogramm.

<!PW>sItem whlt aus, welche Information geliefert wird:

<!STBL>
<!+>sItem<!+>Bedeutung<!>
<!>'VERSION'<!>Programmversion in der Form : '0.7.3.835'<!>
<!>'VERSIONMAJOR'<!>Haupt-Programmversion : '0'<!>
<!>'VERSIONMINOR'<!>Neben-Programmversion : '7'<!>
<!>'VERSIONRELEASE'<!>Programm Release : '3'<!>
<!>'VERSIONBUILD'<!>Build-Nummer : '835'<!>
<!>'VERSIONSTATE'<!>Zusatzinfos, z.B. 'BETA'<!>
<!>'CompanyName'<!>Firmenname<!>
<!>'FileDescription'<!>Beschreibung<!>
<!>'FileVersion',<!>Dateiversion<!>
<!>'InternalName'<!>Interne Bezeichnung<!>
<!>'LegalCopyright'<!>Copyright<!>
<!>'OriginalFilename'<!>Original Dateiname<!>
<!>'ProductName'<!>Produkt Name<!>
<!>'ProductVersion'<!>Product Version<!>
<!>'Comments'<!>Kommentar<!>
<!ETBL>

Die Eintrge, die mit <!CW>VERSION beginnen, sind in jedem Fall vorhanden. Die anderen Eintrge knnen vorhanden sein, mssen aber nicht. Ist ein Eintrag nicht vorhanden, ist das Ergebnis ein leerer String.

Zustzlich knnen weitere Eintrge vorhanden sein.
>>

<<
128.10.2.22
System.GetFailGotoCounter|GetFailGotoCounter
--
<!DEF>
function <!TW>System.GetFailGotoCounter : real;
<!TXT>
Liefert den Wert des Zhlers, der fr den aktuellen Step zhlt, wie oft ein FailGoto versucht wurde
>>

<<
128.10.2.23
System.GetRecoveryCounter|GetRecoveryCounter
--
<!DEF>
function <!TW>System.GetRecoveryCounter : real;
<!TXT>
Liefert den Wert des Zhlers, der zhlt, wie oft bereits versucht wurde, den Recovery-Step fr den aktuellen Step auszufhren.
>>
<<
128.10.2.24
System.GetFailRepeatCounter|GetFailRepeatCounter
--
<!DEF>
function <!TW>System.GetFailrepeatCounter : real;
<!TXT>
Liefert den Wert des Zhlers, der zhlt, wie oft bereits fr den aktuellen Step der Failrepeat ausgefhrt wurde.
>>

<<
128.10.2.25
System.ChangeTypeCode|ChangeTypeCode
!128.10.3.7
--
<!DEF>
function <!TW>System.ChangeTypeCode (sNewTypeCode : string [;iNewECCode : integer]) : real;
<!TXT>
<h3>1. Typwechsel whrend der Prfung</h3>
Dieser Befehl erlaubt - unter gewissen Umstnden - den Wechsel des Typs und damit des Testablaufes whrend der Prfung. 

Hat nur unter folgenden Umstnden eine Auswirkung:
<ul indent=12>
<li>Der Aufruf erfolgt in einem echten Test-Step, nicht in einem System-Step!</li>
<li>Der Aufruf erfolgt whrend des Tests des ersten Prflings eines Nutzens</li>
<li>Der gewnschte Typcode <!PW>sNewTypecode/<!PW>iNewECCode muss vorhanden sein</li>
<li>Der automatischer Typwechsel muss in der Grundeinstellung aktiviert sein</li>
<li>Das Programm muss im Automatikmodus laufen, nicht in Step-By-Step</li>
</ul>

Wenn ein Typwechsel durchgefhrt werden kann, dann wird der gerade laufende Test nach Ende des Test-Steps abgebrochen, alle Messdaten werden gelscht, die neuen Typdaten werden geladen und der Prfablauf beginnt fr den Prfling mit der neuen Testsequenz von vorn.

<h3>2. Typwechsel mit sofortigem Laden auerhalb einer Prfung</h3>
Auerhalb einer Prfung eingesetzt, wird mit diesem befehl der gewhlte Typcode gendert (wie mit <!RW>SetTypeCode) und die Typdaten werden <b>sofort</b> geladen.

Hat nur unter folgenden Umstnden eine Auswirkung:
<ul indent=12>
<li>Der Aufruf erfolgt in einem <!SW>LOOP-Step oder einem <!SW>User-Step, aber nicht whren einer Prfung</li>
<li>Der gewnschte Typcode <!PW>sNewTypecode/<!PW>iNewECCode muss vorhanden sein</li>
<li>Der automatischer Typwechsel muss in der Grundeinstellung aktiviert sein</li>
</ul>
Der Typwechsel erfolgt erst nach dem Ende des Steps.

Mgliche Ergebnisse:
<!STBL>
<!+>Ergebnis<!+>Bedeutung<!>
<!c>-1<!><!PW>sNewTypeCode/<!PW>iNewECCode ist schon der aktuelle Typcode, es passiert nichts<!>
<!c>0<!>alles iO. der Typwechsel wird stattfinden<!>
<!c>1<!>Aufruf erfolgte nicht aus dem richtigen Step (Test Step whrend einer Prfung, bzw Loop/User Step auerhalb einer Prfung)<!>
<!c>2<!>es ist nicht der erste Prfling des Nutzens<!>
<!c>3<!><!PW>sNewTypeCode/<!PW>iNewECCode nicht gefunden<!>
<!c>4<!>automatischer Typwechsel nicht erlaubt<!>
<!c>5<!>Step-By-Step Modus<!> 
<!ETBL>

In allen Fllen auer Result=0 passiert nichts, ein evtl. laufender Test luft weiter. 

In allen Fllen mit Result>0 ist der weiterhin geladene Typ nicht der Typ, zu dem gewechselt htte werden sollen.

Der neue Prfablauf ist auch bei erfolgreichem Aufruf dieses Befehls noch nicht geladen. Ein Zugriff, etwa auf Parameter, erfolgt noch auf die alten Daten. Das Laden des neuen Ablaufes erfolgt erst nach Beendigung des Steps.

<!REM>
Hinweis:
Der EC-Code <!PW>iNewECCode ist zwar aus kompatibilittsgrnden optinal. Ist er aber nicht gesetzt, wird der EC-Code "0" verwendet! Bei der Verwendung dieses Befehls kann nicht mit unterschiedlichen EC-Code fr einzelne DUTs gearbeitet werden.
>>

<<
128.10.2.26
System.GetStartNumber|GetStartNumber
--
<!DEF>
function <!TW>System.GetStartNumber [(rContactPos, rTestPos : real)] : real;
<!TXT>
Holt die Startnummer, die vom System fr den <!PW>rTestPos-ten Prfling in Kontaktreihe <!PW>rContactPos ermittelt wurde. 
 
In Systemen mit nur einem Prfling mssen <!PW>rTestPos und <!PW>rContactPos nicht angegeben werden. 
(Default fr <!PW>rTestPos und <!PW>rContactPos dann jeweils 1)

Eine Startnummer existiert nur dann, wenn auch ein Test luft. 
Andernfalls wird -1 zurckgegeben.
>>

<<
128.10.2.27
System.Action.Trigger (Funktion)|Action.Trigger
!128.10.3.16.1
!128.10.3.16
--
<!DEF>
function <!TW>Action.Trigger (rActionCode : real; [sParameter : string]) : string;
<!TXT>
Stt die Aktion mit dem Aktionscode <!PW>rActionCode an und bergibt
den String <!PW>sParameter. Falls die Aktion einen String zurckliefert ist dieser das Ergebnis des Aufrufs, ansonsten ist das Ergbnis ein Leerstring.

Diese Routine kann auch als <a href="128.10.3.16">Prozedur</a> aufgerufen werden, wenn die Aktion keinen Wert zurckgibt oder dieser Wert nicht interessiert. 

Die mglichen Werte fr <!PW>rActionCode <a href="128.10.3.16.1">sind nach Sparten aufgeteilt</a> beschrieben.
>>

<<
128.10.2.28
System.ActiveDUTs|ActiveDUTs
!128.10.2.29
--
<!DEF>
function <!TW>ActiveDUTs [(rFormat : real)] : vector;
<!TXT>
Liefert eine Liste der Prflinge (bzw. deren Nummern), die in dem gerade laufenden Step aktiv sind.

Dieser Befehl ist speziell in den Simultanprfmodi <!SW>ContactPos und <!SW>Panel notwendig, um feststellen zu knnen, welche der Prflinge berhaupt in dem Step getestet werden sollen.

Der <!PW>rFormat Parameter bestimmt die Form der Rckgabe:
<!STBL>
<!+>rFormat<!+>Rckgabeformat<!+>Beispiel (siehe unten)<!>
<!c>1 (Default)<!>Liste der Nummern der aktiven Prflinge<!>[2,3,4,5]<!>
<!c>2<!>Flagliste, enthlt fr jeden Prfling 0 oder 1<br /> je nachdem, ob inaktiv oder aktiv<!>[0,1,1,1,1,0]<!>
<!ETBL>
Die Beispiele in der Tabelle beziehen sich auf einen 6-fach Nutzen, in dem die Prflinge 1 und 6 nicht aktiv sind.

Welche Prflinge eines Nutzens berhaupt in einem Step aktiv sein knnen, hngt von dem Simultanprfmodus ab. Im Modus <!SW>Single kann immer nur ein Prfling aktiv sein, in den anderen Modi mehrere.

Beipiele:
<!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>
Der Ausdruck 
<!CODE>
  if <b>ActiveDUTs (2)[rDUTNr]</b> then begin
<!TXT>
ist syntaktisch korrekt und wird problemlos ausgefhrt, sollte jedoch ersetzt werden durch den schnelleren Ausdruck:
<!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>
Liefert <!RW>TRUE oder <!RW>FALSE zurck, je nach dem, ob der mit <!PW>rDUTNr ausgewhlte Prfling im gerade laufenden Step aktiv ist oder nicht.

Dieser Befehl ist speziell in den Simultanprfmodi <!SW>ContactPos und <!SW>Panel notwendig, um feststellen zu knnen, welche der Prflinge berhaupt in dem Step getestet werden sollen.

Beipiel:
<!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>
Der Ausdruck 
<!CODE>
  if <b>DUTActive (rDUTNr)</b> then begin
<!TXT>
ist funktionsgleich mit dem Ausdruck
<!CODE>
  if <b>ActiveDUTs (2)[rDUTNr]</b> then begin
<!TXT>
jedoch ist <!RW>DUTActive wesentlich schneller und sollte daher bevorzugt werden.
>>

<<
128.10.2.30
System.GetProfile|GetProfile
--
<!DEF>
function <!TW>System.GetProfile : string;
<!TXT>
Gibt das ausgewhlte Profil zurck.
>>

<<
128.10.2.31
System.GetSimultanMode|GetSimultanMode
--
<!DEF>
function <!TW>System.GetSimultanMode : real;
<!TXT>
Gibt den Simultanmodus zurck.

Mgliche Rckgabewerte:

<!STBL>
<!+>Wert<!+>Bedeutung<!>
<!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>
Liefert den benutzerdefinierten Wert <!PW>sName fr den Prfling in der Kontaktierposition <!PW>rContactPos und TestPosition <!PW>rTestPos. Ist der Wert nicht vorhanden, wird - falls angegeben - der Wert in <!PW>sDefault zurckgegeben. In Systemen mit nur einem Prfling, mssen <!PW>rTestPos und <!PW>rContactPos nicht angegeben werden. (Default fr <!PW>rTestPos und <!PW>rContactPos dann jeweils 1).
>>

<<
128.10.2.33
System.GetSyncName|GetSyncName
--
<!DEF>
function <!TW>System.GetSyncName : string;
<!TXT>
Liefert den Systemnamen (aus den Grundeinstellungen) fr die automatische Synchronisation der globalen Variablen.
>>

<<
128.10.2.34
System.GetSyncList|GetSyncList
--
<!DEF>
function <!TW>System.GetSyncList : string;
<!TXT>
Liefert die Namen der Partnerinstanzen (aus den Grundeinstellungen) fr die automatische Synchronisation der globalen Variablen. 
>>

<<
128.10.2.35
System.IsSyncActive|IsSyncActive
--
<!DEF>
function <!TW>System.IsSyncActive : real;
<!TXT>
Liefert <!RW>True, wenn die Synchronisation der globalen Variablen aktiviert ist.
>>

<<
128.10.2.36
System.GetECCode|GetECCode
!128.10.3.37
!128.10.2.7
--
<!DEF>
function <!TW>System.GetECCode [(rContactPos, rTestPos : real)]) : real;
<!TXT>
Holt den zuvor mit <!RW>System.SetECCode gesetzten EC-Code fr den <!PW>rTestPos-ten Prfling in Kontaktreihe <!PW>rContactPos. 
 
In Systemen mit nur einem Prfling mssen <!PW>rTestPos und <!PW>rContactPos nicht angegeben werden (Default fr <!PW>rTestPos und <!PW>rContactPos dann jeweils 1). Zurckgegeben wird der zuvor mit <!RW>System.SetECCode gesetzte Wert.

Werden <!PW>rTestPos und <!PW>rContactPos mit 0 angegeben, dann wird der EC-Code des aktuell geladenen Typs geliefert.
>>

<<
128.10.2.37
System.GetDUTHorizFirst|GetDUTHorizFirst
!128.10.2.38
--
<!DEF>
function <!TW>System.GetDUTHorizFirst : real;
<!TXT>
Gibt den Wert aus der Grundeinstellung fr die Anzeige der Kontaktier-/Testreihen bezglich des Nutzenaufbaus (Nummerierung) zurck.

<!STBL>
<!+>Wert<!+>Bedeutung<!>
<!c>0<!>Kontaktierpositionen waagrecht, Testpositionen darin senkrecht (default)<!>
<!c>1<!>Kontaktierpositionen senkrecht, Testpositionen darin waagrecht<!>
<!ETBL>
>>

<<
128.10.2.38
System.GetDUTNumbering|GetDUTNumbering
!128.10.2.37
--
<!DEF>
function <!TW>System.GetDUTNumbering : real;
<!TXT>
Gibt den Wert aus der Grundeinstellung fr die Position des ersten Prflings bezglich des Nutzenaufbaus (Nummerierung) zurck.

<!STBL>
<!+>Wert<!+>Bedeutung<!>
<!c>0<!>rechts unten (default)<!>
<!c>1<!>rechts oben<!>
<!c>2<!>links unten<!>
<!c>3<!>links oben<!>
<!ETBL>
>>

<<
128.10.2.39
System.GetSyncPort|GetSyncPort
--
<!DEF>
function <!TW>System.GetSyncPort : real;
<!TXT>
Liefert die lokalen Port (aus den Grundeinstellungen) fr die automatische Synchronisation der globalen Variablen. 
>>


<<
128.10.3
Prozeduren des System-Objekts|Prozeduren
--
>>

<<
128.10.3.1
System.Beep|Beep
--
<!DEF>
procedure <!TW>System.Beep;
<!TXT>
Gibt einen Piepser aus.
>>

<<
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>
Zeigt den Wert <!PW>MeasValue (String oder Real) im Messwertfenster an, setzt ihn aber nicht als Ergebniswert des Steps.

Auch geeignet zur Ausgabe von Zwischenwerten oder Texten bei lngeren Messungen.

Die Farbe der Ausgabe wird vom bisherigen Step-Ergebnis bestimmt. Da ein <!RW>Showvalue alleine das Step-Ergebnis nicht ndert, kann durch ein <!RW>SetStepResult quasi eine Farbe erzwungen werden:
<!STBL>
<!+>Stepergebnis<!+>Farbe der Anzeige<!+>
<!c>None</td><td align=center bgcolor=#000000><font color=#ffff00><b>gelb</b></font><!>
<!c>Pass</td><td align=center bgcolor=#000000><font color=#00ff00><b>grn</b></font><!>
<!c>Fail</td><td align=center bgcolor=#000000><font color=#ff0000><b>rot</b><!>
<!c>Invalid</td><td align=center bgcolor=#000000><font color=#0000ff><b>blau</b><!>
<!ETBL>
Selbstverstndlich muss dann wieder das &quot;echte&quot; Stepergebnis gesetzt werden.

Dieser Befehl kann nur benutzt werden, wenn der Simultanprfmodus <!SW>Single (nur jeweils ein Prfling pro Testdurchlauf) aktiv ist. Fr die anderen Simultanprfmodi muss <!RW>ShowValueEx benutzt werden.
>>

<<
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>
Setzt den Wert <!PW>MeasValue (String oder Real) als Ergebniswert des Steps, zeigt ihn aber nicht im Messwertfenster an. 

Bei numerischem Wert werden die Grenzen geprft und es ergibt sich ein Stepergebnis (Pass/Fail) bei einem Stringwert ergibt sich das Stepergebnis als ungltig (invalid). 
Das Stepergebnis muss in diesem Fall ber <!RW>System.SetStepResult gesetzt werden.

 <!PW>sComment wird (falls angegeben) als Kommentar zu dem Messwert gespeichert. Das System selber benutzt den Kommentar nicht, er kann jedoch ber das <!RW>MeasData IP Objekt abgerufen und ausgewertet werden.

Dieser Befehl kann nur benutzt werden, wenn der Simultanprfmodus <!SW>Single (nur jeweils ein Prfling pro Testdurchlauf) aktiv ist. Fr die anderen Simultanprfmodi muss <!RW>InitValueEx benutzt werden.
>>

<<
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>
Kombination aus <!RW>ShowValue und <!RW>InitValue.

Setzt den Wert <!PW>MeasValue (String oder Real) als Ergebniswert des Steps, und zeigt ihn im Messwertfenster an. 

Bei numerischem Wert werden die Grenzen geprft und es ergibt sich ein Stepergebnis (Pass/Fail) bei einem Stringwert ergibt sich das Stepergebnis als ungltig (invalid). Das Stepergebnis muss in diesem Fall ber <!RW>System.SetStepResult gesetzt werden.

 <!PW>sComment wird (falls angegeben) als Kommentar zu dem Messwert gespeichert. Das System selber benutzt den Kommentar nicht, er kann jedoch ber das <!RW>MeasData IP Objekt abgerufen und ausgewertet werden.

Dieser Befehl kann nur benutzt werden, wenn der Simultanprfmodus <!SW>Single (nur jeweils ein Prfling pro Testdurchlauf) aktiv ist. Fr die anderen Simultanprfmodi muss <!RW>SetValueEx benutzt werden.
>>
<<
128.10.3.5
System.SetStepResult|SetStepResult
!128.10.3.4 - SetValue
!128.10.3.29
--
<!DEF>
procedure <!TW>System.SetStepResult (rValue : real);
<!TXT>
Setzt das Stepergebnis direkt und berschreibt ein evtl. vorhandenes Ergebnis. 

<!STBL>
<!+>Wert<!+>Bedeutung<!>
<!c>0<!>keines (None)<!>
<!c>1<!>Pass<!>
<!c>2<!>Fail<!>
<!c>3<!>Ungltig (Invalid)<!>
<!ETBL>

Dieser Befehl kann nur benutzt werden, wenn der Simultanprfmodus <!SW>Single (nur jeweils ein Prfling pro Testdurchlauf) aktiv ist. Fr die anderen Simultanprfmodi muss <!RW>SetStepResultEx benutzt werden.
>>
<<
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>
Setzt den Barcode fr den <!PW>rTestPos-ten Prfling in Kontaktreihe <!PW>rContactPos auf <!PW>sBarCode. In Systemen mit nur einem Prfling mssen <!PW>rContactPos und <!PW>rTestPos nicht angegeben werden. 
>>

<<
128.10.3.7
System.SetTypeCode|SetTypeCode
!128.10.2.7 - GetTypeCode 
!128.10.3.6 - SetBarCode
!128.10.2.25
!128.10.3.37
--
<!DEF>
procedure <!TW>System.SetTypeCode (sBarCode : string; [rContactPos, rTestPos : real]);
<!TXT>
Setzt den Typcode fr den <!PW>rTestPos-ten Prfling in Kontaktreihe <!PW>rContactPos auf <!PW>sBarCode. In Systemen mit nur einem Prfling mssen <!PW>rTestPos und <!PW>rContactPos nicht angegeben werden. 

Bei Start der Prfung wird der Typecode der Prflinge mit dem Typcode des aktuell eingestellten Typs verglichen. Bei Gleichheit wird gestartet. Bei Ungleichheit wird, wenn erlaubt, ein automatischer Typwechsel durchgefhrt oder eine Fehlermeldung ausgegeben.

Der gesetzte Type wird nicht sofort geladen, sondern erst dann, wenn ein Test gestartet wird. Fr eine sofortige Aktivierung kann <!RW>System.ChangeTypeCode verwendet werden.
>>

<<
128.10.3.8
System.AbortTest|AbortTest
--
<!DEF>
procedure <!TW>System.AbortTest;
<!TXT>
Bricht den Testvorgang ab (wirkt wie der Abbruch-Knopf). 

Sollte nur bei schwerwiegenden Fehlern eingesetzt werden.
>>
<<
128.10.3.9
System.StartTest|StartTest
!128.10.2.5 - MenuStart
--
<!DEF>
procedure <!TW>System.StartTest;
<!TXT>
Startet den Test (nur im Loop-Step sinnvoll, wird sonst ignoriert).

Der Testablauf wird nicht im Sinne eines Prozeduraufrufes gestartet. Vielmehr wird nur ein Flag gesetzt, das das System dazu bringt, bei der nchsten Gelegenheit (also nach Ende des Loop-Steps) den Test zu starten.
>>

<<
128.10.3.10
System.SetSystemNumber|SetSystemNumber
--
<!DEF>
procedure <!TW>System.SetSystemNumber (rSysNr : real);
<!TXT>
Setzt die System-Nummer des Messplatzes (Grundgertenummer). 

Der Befehl hat nur Loop-Step eine Auswirkung und wird in allen anderen Steps ignoriert.

Alle Module werden ber die nderung der Systemnummer informiert und reagieren darauf.

Die Typdatenverwaltung erzwingt z.B. beim nchsten Test-Start ein Neuladen des aktuellen Typs, um den Prfablauf an die neuen Systemnummer anzupassen.
>>

<<
128.10.3.11
System.EnableJump|EnableJump
--
<!DEF>
procedure <!TW>System.EnableJump;
<!TXT>
Gibt den berechneten Sprung frei.

Wenn fr den aktuellen Ablaufschritt als Sprungbedingung 'C' - Calculated angegeben ist, so wird der Sprung nach Angabe dieses Befehls ausgefhrt. 

Wird der Befehl <!RW>EnableJump nicht ausgefhrt, so wird auch kein Sprung durchgefhrt.

<!DEF>
procedure <!TW>System.EnableJump (rStepNo : real);
<!TXT>
Gibt den berechneten Sprung frei und setzt <!PW>rStepNo als Sprungziel.

Wenn fr den aktuellen Ablaufschritt als Sprungbedingung 'C' - Calculated angegeben ist, so wird der Sprung nach Angabe dieses Befehls ausgefhrt. 

Mit Hilfe dieses Befehls kann ein beliebiger Step angesprungen werden. Der Zielstep wird zuerst vorwrts gesucht, danach (falls nicht gefunden)wird rckwrts gesucht. Falls immer noch nichts gefunden wurde, wird einfach der nchste Schritt ausgefhrt, es erfolgt keine Fehlermeldung. 
>>

<<
128.10.3.12
System.DUTEnabled.Set|DUTEnabled.Set
!128.10.2.17
--
<!DEF>
procedure <!TW>System.DUTEnabled.Set (rContactPos, rTestPos, rCanBeTested : real);
<!TXT>
Macht den Prfling an der Position <!PW>rContactPos, <!PW>rTestPos (Spalte/Zeile) aktiv (<!PW>rCanBeTested=<!RW>TRUE) bzw. inaktiv (<!PW>rCanBeTested=<!RW>FALSE) fr den nchsten Test.
>>
<<
128.10.3.13
System.ClearMenuStart|ClearMenuStart
--
<!DEF>
procedure <!TW>System.ClearMenuStart;
<!TXT>
Lscht ein gesetztes <!RW>MenuStart Flag, macht aber einen StartTest NICHT rckgngig.

Kann verwendet werden, wenn ein Start manuell gewnscht wird, aber aufgrund von Mechanik-Problemen o.. nicht ausgefhrt werden kann.

<!CODE>
if MenuStart then begin
  if <i>it_is_okay_to_start_now</i> then begin
    StartTest;
  end
  else begin
    ClearMenuStart;
  end;
end;
<!TXT>
>>
<<
128.10.3.14
System.Action.Trigger (Prozedur)|Action.Trigger
!128.10.3.16.1
!128.10.2.27
--
<!DEF>
procedure <!TW>Action.Trigger (rActionCode : real; [sParameter : string]);
<!TXT>
Stt die Aktion mit dem Aktionscode <!PW>rActionCode an und bergibt
den String <!PW>sParameter.

Diese Routine kann auch als <a href="128.10.2.27">Funktion</a> aufgerufen werden fr solche Aktionen, die einen String zurckliefern.

Manche der Aktionen wirken sich erst nach dem Ende des aktuellen Schrittes aus und nicht alle Aktionen sind wirklich von Interpreter heraus sinnvoll nutzbar. Fr einige existieren auch spezielle Interpreterbefehle.
>>
<<
128.10.3.16.1
Action-Codes nach Sparten aufgeteilt|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
Aktionscodes fr Menufunktionen|Menufunktionen
!128.10.3.16.1
--
Diese Funktionen sind fr den Interpreter normalerweise weniger interessant, da sie vom Benutzer aufgerufen werden und zumeist Editoren oder hnliches starten und durch eigene Interpreterbefehle abgedeckt werden.
<!STBL>
<!+>Code<!+>Beschreibung<!>
<!c>0001<!>Typauswahlfenster ffnen<!>
<!c>0002<!>Messwerte der letzten Prfung anzeigen - Optionaler Parameter der eine FastReport Datei angibt. Dann werden die Messwerte als Report gedruck ansonsten im Dialog angezeigt.<!>
<!c>0003<!>Lokale Statistik anzeigen<!>
<!c>0004<!>Anmeldefenster anzeigen<!>
<!c>0005<!>Grundeinstellungen aufrufen<!>
<!c>0006<!>Typ- und Varianteneditor aufrufen<!>
<!c>0007<!>Editor fr den Prfablauf aufrufen<!>
<!c>0008<!>Editor fr die Interpeterschritte aufrufen<!>
<!c>0009<!>Umschaltung Automatik / Schritt-fr-Schritt Modus<!>
<!c>0010<!>Positionen im Nutzen aktiv / inaktiv setzen<!>
<!c>0011<!>Prfung starten (MenuStart Flag setzen)<!>
<!c>0012<!>Passworteingabe aufrufen<!>
<!c>0013<!>Sprachauswahl aufrufen<!>
<!c>0014<!>Programmreset durchfhren<!>
<!c>0015<!>Programm verlassen<!>
<!c>0016<!>Windows NT System herunterfahren - Parameter siehe <a href="128.10.3.16.1.4">Spezielles</a><!>
<!c>0018<!>Berechtigungen/Passwrter verwalten<!>
<!c>0019<!>Lizensierungsinformationen<!>
<!c>0020<!>Messdaten DBF Pflege starten<!>
<!c>0021<!>Dauerlauf starten - entspricht <!RW>Autorun.Mode (1)<!>
<!c>0022<!>Dauerlauf beenden - entspricht <!RW>Autorun.Mode (0)<!>
<!c>0101<!>IP-Hilfe<!>
<!c>2010<!>UpLoad/DownLoad Dialog zeigen<!>
<!c>2220<!>nderungsverzeichnis anzeigen<!>
<!c>2223<!>Enumerierte Daten - Report anzeigen<!>
<!ETBL>
>>
<<
128.10.3.16.1.2
Aktionscodes fr Tool-Monitore|Monitore
!128.10.3.16.1
--
Alle Monitor Aktionen untersttzen folgende Parameter:
 <!SW>[SHOW|HIDE|TOGGLE]
 <!SW>SHOW - Monitor ffnen (dies ist der Defaultbefehl, wenn nichts angegeben ist)
 <!SW>HIDE - Monitor schlieen
 <!SW>TOGGLE - Sichtbarkeit des Monitors umschalten

<!STBL>
<!+>Code<!+>Beschreibung<!>
<!c>2020<!>Kurven - Monitor<br>
Parameter: (zustzlich zu den normalen)
 <!SW>LOAD=Dateiname - Datei in Kurvenmonitor laden
 <!SW>SAVE=Dateiname - Datei aus Kurvenmonitor speichern<!>
<!c>2030<!>Globale Daten Monitor<!>
<!c>2040<!>UMS - Monitor<!>
<!c>2050<!>IP - Monitor<!>
<!c>2060<!>IP Aliasse<!>
<!c>2070<!>DDE - Monitor<!>
<!c>2080<!>CAN - Monitor<!>
<!c>2090<!>IC - Monitor<!>
<!c>2100<!>Virtuelles Keyboard<!>
<!c>2110<!>KeyWord2000 - Monitor<!>
<!c>2120<!>LIN - Monitor<!>
<!c>2130<!>ME3000 - Monitor<!>
<!c>2140<!>Mechanik 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 anzeigen<!>
<!c>2222<!>IMeas x4 - Monitor<br>
<!c>2224<!>RCMeas - Monitor<br>
<!c>2225<!>ExacqDA High-Speed AD Karten Monitor<!>
<!c>2226<!>AngeloRTV Monitor aufrufen<!>
<!c>2227<!>ME4000 Monitor<br>
<!c>2228<!>SM2044 - Monitor<!>
<!c>2229<!>FrequenzzhlerIO - Monitor<!>
<!ETBL>
>>
<<
128.10.3.16.1.3
Aktionscodes fr die Anzeige von Logbchern|Logbcher
!128.10.3.16.1
--
<!STBL>
<!+>Code<!+>Beschreibung<!>
<!c>3000<!>UpLoad / DownLoad Logbuch anzeigen<!>
<!c>3010<!>Fehlerlogbuch anzeigen<!>
<!c>3020<!>Programmlogbuch anzeigen<!>
<!c>3030<!>Messdaten DBF Logbuch anzeigen<!>
<!c>3040<!>Interpreter-Debug Logbuch anzeigen<!>
<!c>3050<!>Ausnahmefehlerlogbuch anzeigen<!>
<!c>3060<!>SerIO-Logbuch anzeigen<!>
<!c>3080<!>Socket-Logbuch anzeigen<!>
<!ETBL>
>>
<<
128.10.3.16.1.4
Aktionscodes fr spezielle Aktionen|Spezielles
!128.10.3.16.1
--
<!STBL>
<!+>Code<!+>Beschreibung<!>
<!c>0014<!>Programmreset durchfhren<!>
<!c>0015<!>Programm verlassen<!>
<!c>0016<!>Windows NT System herunterfahren<br>Parameter:<!SW>[SHUTDOWN|REBOOT|POWEROFF] <!SW>[FORCE] <!SW>[DIALOG] <!SW>[NOCONFIRM]<br>
 <!SW>SHUTDOWN - System herunterfahren
 <!SW>REBOOT - System neu starten
 <!SW>POWEROFF - abschalten
 <!SW>FORCE - auch herunterfahren, wenn Programme sich querstellen
 <!SW>DIALOG - Auswahlmenu anzeigen
 <!SW>NOCONFIRM - keine Besttigung beim Benutzer anfordern<!>
<!c>0017<!>Systemfehler auslsen<br>Parameter: <!SW>Kommentar<!>
<!c>0020<!>Messdaten DBF Pflege starten<!>
<!ETBL>
>>
<<
128.10.3.16.1.5
Aktionscodes zum Starten von Interpreterschritten|IP-Steps
!128.10.3.16.1
--
Erlaubt das Starten eines Interpreterschrittes.
Die Aktionen knnen nur auerhalb eines Prfablaufes gestartet werden.
Der aufgerufene Interpreterschritt wird erst <b>nach</b> Beendigung eines evtl. laufenden Interpreterschrittes gestartet, nicht parallel dazu.

<!STBL>
<!+>Code<!+>Beschreibung<!>
<!c>1000<!>Interpreterschritt starten (jeder)<!>
<!c>1001<!>Interpreterschritt starten (ab Meister)<!>
<!c>1002<!>Interpreterschritt starten (ab Service)<!>
<!c>1003<!>Interpreterschritt starten (ab Administrator)<!>
<!ETBL>

Parameter (fr alle Interpreterschritt Start-Aktionen):
<!DEF>
IP-Step
<!TXT>
Die einzelnen Aktionscodes unterscheiden sich nur darin, ab welchem Passwortlevel sie ausfhrbar sind.
>>
<<
128.10.3.16.1.6
Aktionscodes zum Starten von Shellaktionen|Shellaktionen
!128.10.3.16.1
--
ber die Shellaktionen knnen externe Programme gestartet oder Shell-Aktivitten auf Dateien angewendet werden (Beispiel: Aktion 'Drucken' auf die Datei 'xyz.txt').
<!STBL>
<!+>Code<!+>Beschreibung<!>
<!c>1100<!>Shellaktion starten (jeder)<!>
<!c>1101<!>Shellaktion starten (ab Meister)<!>
<!c>1102<!>Shellaktion starten (ab Service)<!>
<!c>1103<!>Shellaktion starten (ab Administrator)<!>
<!ETBL>

Parameter (fr alle Shell-Aktionen):
<!DEF>
[Action] File[; Parameter[; Path]]
<!TXT>
 <!SW>Action ist die auszufhrende Shell-Aktion, default ist <!SW>'ffnen' (open)
 <!SW>File ist die Datei mit der etwas gemacht werden soll.
 <!SW>Parameter sind optionale Parameter, die z.B. an ein gestartetes Programm bergeben werden.
 <!SW>Path ist der Pfad, in dem die Aktion gestartet wird.
Die einzelnen Aktionscodes unterscheiden sich nur darin, ab welchem Passwortlevel sie ausfhrbar sind.
>>
<<
128.10.3.16.1.7
Aktionscodes fr den Zugriff auf Zusatz-DLLs|Zusatz-DLLs
!128.10.3.16.1
--
<!STBL>
<!+>Code<!+>Beschreibung<!>
<!c>0050<!>Passwort DLL - Report anzeigen<!>
<!c>0051<!>Passwort DLL - Kommando an die DLL senden<br>
Art und Syntax der Kommandos sind von der DLL abhngig. Die DLL muss eine der Routinen <!SW>TriggerAction oder <!SW>TriggerActionEx untersttzen. Wenn die DLL die Routine <!SW>TriggerActionEx untersttzt, kann sie Werte zurckgeben.<!>
<!c>2000<!>MeasData DLL - Report anzeigen<!>
<!c>2001<!>MeasData DLL - Kommando an DLL senden<br>
Art und Syntax der Kommandos sind von der DLL abhngig. Die DLL muss eine der Routinen <!SW>TriggerAction oder <!SW>TriggerActionEx untersttzen. Wenn die DLL die Routine <!SW>TriggerActionEx untersttzt, kann sie Werte zurckgeben.<!>
<!ETBL>
>>
<<
128.10.3.17
System.Doze|Doze
--
<!DEF>
procedure <!TW>System.Doze;
<!TXT>
Versetzt den Interpreter (nicht das System!) in einen kurzen Schlummer (doze (engl.) =  dsen).

Entspricht dem Aufruf von:
<!CODE>
DateTime.Sleep (1);  // ganz kurz schlummern (1ms)
DateTime.Sleep (0);  // Rest der Zeitscheibe freigeben
<!TXT>

Das restliche System erhlt durch den Aufruf von Doze mehr Zeit fr andere Prozesse und Threads. Insbesondere sinkt die CPU-Belastung durch den Interpreter.

Doze macht nur in Schleifen Sinn. Es sollte vor allem in jeder Warteschleife, in der ohnehin auf ein Ereignis gewartet wird, eingebaut werden:

<!CODE>
// statt:
while RS232.ByteAvailable ('PortX') &lt; 5 do ;

// besser:
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>
Lst einen Interpreter-Laufzeitfehler aus und hlt damit den Step / das System an.

Kann benutzt werden, um whrend der Prgrammentwicklung Fehler zu finden. 

 <!PW>rErrorNr gibt den Fehler an, der ausgelst werden soll. Siehe IP.INI.

Fr 'echte selbstgemachte' Fehler ist die Nummer 99 vorgesehen.
>>
<<
128.10.3.19
System.SelectTestSequence|SelectTestSequence
--
<!DEF>
procedure <!TW>System.SelectTestSequence (rSysNr : real);
<!TXT>
Setzt den Test-Ablauf, der benutzt wird.

Der Befehl hat nur im Loop-Step eine Auswirkung und wird in allen anderen Steps ignoriert.
>>
<<
128.10.3.20
System.BringToFront|BringToFront
--
<!DEF>
procedure <!TW>System.BringToFront;
<!TXT>
Bringt das Programm auf dem Bildschirm ganz nach vorne.

Ntzlich, falls andere Applikationen sich nach vorne drngeln.

Funktioniert unter Umstnden nicht mit neueren Versionen von Windows (2000, XP) da diese es Programmen verbieten, sich selbst in den Vordergrund zu schieben.
>>
<<
128.10.3.21
System.ClrFailGotoCounter|ClrFailGotoCounter
--
<!DEF>
procedure <!TW>System.ClrFailGotoCounter;
<!TXT>
Lscht den Zhler, der fr den aktuellen Step zhlt, wie oft ein FailGoto versucht wurde.
>>
<<
128.10.3.22
System.ClrRecoveryCounter|ClrRecoveryCounter
--
<!DEF>
procedure <!TW>System.ClrRecoveryCounter;
<!TXT>
Lscht den Zhler, der zhlt, wie oft bereits versucht wurde, den Recovery-Step fr den aktuellen Step auszufhren.
>>
<<
128.10.3.23
System.ClrFailRepeatCounter|ClrFailRepeatCounter
--
<!DEF>
procedure <!TW>System.ClrFailRepeatCounter;
<!TXT>
Lscht den Zhler, der zhlt, wie oft fr den aktuellen Step der Failrepeat ausgefhrt wurde.
>>

<<
128.10.3.24
System.SetTestResult|SetTestResult
!128.10.2.3 
--
<!DEF>
procedure <!TW>System.SetTestResult (rValue : real);
<!TXT>
Setzt das Prfergebnis des aktuellen Prflings. Diese Aufrufform ist nur im Simultanprfmodus <!SW>Single erlaubt.

<!DEF>
procedure <!TW>System.SetTestResult (rDUTNr, rValue : real);
<!TXT>
Setzt das Prfergebnis des Prflings des mit <!PW>rDUTNr (1..Anzahl Prflinge) ausgewhlten Prflings. Diese Aufrufform ist in allen Simultanprfmodi erlaubt.
Im Simultanprfmodus <!SW>Single kann zustzlich fr <!PW>rDUTNr <!SW>0 angegeben werden, dann wird das Ergebnis des aktuellen Prflings gesetzt.

<!DEF>
procedure <!TW>System.SetTestResult (rContactPos, rTestPos, rValue : real);
<!TXT>
Setzt das Prfergebnis des Prflings in der Kontaktierposition <!PW>rContactPos und TestPosition <!PW>rTestPos. Diese Aufrufform ist in allen Simultanprfmodi erlaubt.
Im Simultanprfmodus <!SW>Single kann zustzlich fr <b>beide</b> Parameter <!SW>0 angegeben werden, dann wird das Ergebnis des aktuellen Prflings gesetzt.

Erlaubt Werte fr rValue sind:
<!STBL>
<!+>Wert<!+>Bedeutung<!>
<!c>0<!>keines - es wird das vom System ermittelte Resultat benutzt<!>
<!c>1<!>Pass<!>
<!c>2<!>Fail<!>
<!c>3<!>Break - Test wurde abgebrochen<!>
<!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>
Setzt den Namen des Programmes auf <!PW>sName. Der Programmname wird unter anderem in der Taskleiste von Windows angezeigt.

Dieser Befehl beeinflusst nicht die Kopfzeile des Programmfensters, hierfr kann <a href="128.10.3.25.2"><!RW>System.Application.Caption</a> verwendet werden. 
>>
<<
128.10.3.25.2
System.Application.Caption|Caption
!128.10.3.25.1
--
<!DEF>
procedure <!TW>System.Application.Caption (sName : string);
<!TXT>
Setzt die Kopfzeile des Programmfensters auf <!PW>sName. 

Dieser Befehl beeinflusst nicht den Programmnamen, der in der Taskleiste angezeigt wird. Hierfr kann <a href="128.10.3.25.1"><!RW>System.Application.Name</a> verwendet werden. 

 <!PW>sName kann folgende Platzhalter enthalten:
<!STBL>
<!+>Platzhalter<!+>Funktion<!>
<!c>%1<!>Programmname (cPCI)<!>
<!c>%2<!>Programmedition (pure)<!>
<!c>%3<!>Programmversion (V1.2.3.123 BETA)<!>
<!c>%4<!>Typfamilie der aktuell geladenen Typvariante<!>
<!c>%5<!>Typinfo der aktuell geladenen Typvariante<!>
<!c>%6<!>Typcode der aktuell geladenen Typvariante<!>
<!ETBL>

Wenn <!PW>sName ein Leerstring ist, so wird die Standardkopfzeile gesetzt. 
Diese ist: <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>
Zeigt den Wert <!PW>MeasValue (String oder Real) fr den mit <!PW>rDUTNr ausgewhlten Prfling im Messwertfenster an, setzt ihn aber nicht als Ergebniswert des Steps.

Auch geeignet zur Ausgabe von Zwischenwerten oder Texten bei lngeren Messungen.

Im Simultanprfmodus <!SW>Single kann fr <!PW>rDUTNr <!SW>0 (zustzlich zu den echten DUT-Nummern 1..Anzahl Prflinge) angegeben werden, dann wirkt der Befehl wie ein normaler <!RW>ShowValue Befehl.
In den anderen Simultanprfmodi muss <!PW>rDUTNr im Bereich 1..Anzahl der Prflinge liegen.

Die Farbe der Ausgabe wird vom bisherigen Step-Ergebnis bestimmt. Da ein <!RW>ShowValueEx alleine das Step-Ergebnis nicht ndert, kann durch ein vorheriges <!RW>SetStepResultEx quasi eine Farbe erzwungen werden:
<!STBL>
<!+>Stepergebnis<!+>Farbe der Anzeige<!+>
<!c>None</td><td align=center bgcolor=#000000><font color=#ffff00><b>gelb</b></font><!>
<!c>Pass</td><td align=center bgcolor=#000000><font color=#00ff00><b>grn</b></font><!>
<!c>Fail</td><td align=center bgcolor=#000000><font color=#ff0000><b>rot</b><!>
<!c>Invalid</td><td align=center bgcolor=#000000><font color=#0000ff><b>blau</b><!>
<!ETBL>
Selbstverstndlich muss dann wieder das &quot;echte&quot; Stepergebnis gesetzt werden.

Ist der gewhlte Prfling momentan nicht aktiv (wird noch nicht/nicht mehr getestet) so hat der Befehl keine Auswirkung.
>>

<<
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>
Setzt den Wert <!PW>MeasValue (String oder Real) fr den mit <!PW>rDUTNr ausgewhlten Prfling als Ergebniswert des Steps, zeigt ihn aber nicht im Messwertfenster an. 

Im Simultanprfmodus <!SW>Single kann fr <!PW>rDUTNr <!SW>0 (zustzlich zu den echten DUT-Nummern 1..Anzahl Prflinge) angegeben werden, dann wirkt der Befehl wie ein normaler <!RW>InitValue Befehl.
In den anderen Simultanprfmodi muss <!PW>rDUTNr im Bereich 1..Anzahl der Prflinge liegen.

Bei numerischem Wert werden die Grenzen geprft und es ergibt sich ein Stepergebnis (Pass/Fail) bei einem Stringwert ergibt sich das Stepergebnis als ungltig (invalid). 
Das Stepergebnis muss in diesem Fall ber <!RW>System.SetStepResultEx gesetzt werden.

 <!PW>sComment wird (falls angegeben) als Kommentar zu dem Messwert gespeichert. Das System selber benutzt den Kommentar nicht, er kann jedoch ber das <!RW>MeasData IP Objekt abgerufen und ausgewertet werden.

Ist der gewhlte Prfling momentan nicht aktiv (wird noch nicht/nicht mehr getestet) so hat der Befehl keine Auswirkung.
>>

<<
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>
Kombination aus <!RW>ShowValueEx und <!RW>InitValueEx.

Setzt den Wert <!PW>MeasValue (String oder Real) fr den mit <!PW>rDUTNr ausgewhlten Prfling als Ergebniswert des Steps, und zeigt ihn im Messwertfenster an. 

Im Simultanprfmodus <!SW>Single kann fr <!PW>rDUTNr <!SW>0 (zustzlich zu den echten DUT-Nummern 1..Anzahl Prflinge) angegeben werden, dann wirkt der Befehl wie ein normaler <!RW>SetValue Befehl.
In den anderen Simultanprfmodi muss <!PW>rDUTNr im Bereich 1..Anzahl der Prflinge liegen.

Bei numerischem Wert werden die Grenzen geprft und es ergibt sich ein Stepergebnis (Pass/Fail) bei einem Stringwert ergibt sich das Stepergebnis als ungltig (invalid). Das Stepergebnis muss in diesem Fall ber <!RW>System.SetStepResultEx gesetzt werden.

 <!PW>sComment wird (falls angegeben) als Kommentar zu dem Messwert gespeichert. Das System selber benutzt den Kommentar nicht, er kann jedoch ber das <!RW>MeasData IP Objekt abgerufen und ausgewertet werden.

Ist der gewhlte Prfling momentan nicht aktiv (wird noch nicht/nicht mehr getestet) so hat der Befehl keine Auswirkung.
>>
<<
128.10.3.29
System.SetStepResultEx|SetStepResultEx
!128.10.3.28
!128.10.3.5
--
<!DEF>
procedure <!TW>System.SetStepResultEx (rDUTNr, rValue : real);
<!TXT>
Setzt das Stepergebnis fr den Prfling <!PW>rDUTNr direkt und berschreibt ein evtl. vorhandenes Ergebnis. 

Im Simultanprfmodus <!SW>Single kann fr <!PW>rDUTNr <!SW>0 (zustzlich zu den echten DUT-Nummern 1..Anzahl Prflinge) angegeben werden, dann wirkt der Befehl wie ein normaler <!RW>SetStepResult Befehl.
In den anderen Simultanprfmodi muss <!PW>rDUTNr im Bereich 1..Anzahl der Prflinge liegen.

Ist der gewhlte Prfling momentan nicht aktiv (wird noch nicht/nicht mehr getestet) so hat der Befehl keine Auswirkung.

<!STBL>
<!+>Wert<!+>Bedeutung<!>
<!c>0<!>keines (None)<!>
<!c>1<!>Pass<!>
<!c>2<!>Fail<!>
<!c>3<!>Ungltig (Invalid)<!>
<!ETBL>
>>

<<
128.10.3.30
System.SetProfile|SetProfile
--
<!DEF>
procedure <!TW>System.SetProfile (sProfileName : string);
<!TXT>
Aktiviert das in <!PW>sProfileName angegebene Profil und fhrt ein Reset aus. Ist das Profil nicht vorhanden, wird ein Fehler ausgelt.
>>

<<
128.10.3.31
System.SetSimultanMode|SetSimultanMode
--
<!DEF>
procedure <!TW>System.SetSimultanMode (rSimultanMode : real);
<!TXT>
Aktiviert den in <!PW>rSimultanMode angegebenen Simultanmodus und fhrt ein Reset aus.

Zulssige Werte fr <!PW>rSimultanMode sind:

<!STBL>
<!+>Wert<!+>Bedeutung<!>
<!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>
Setz den benutzerdefinierten Wert <!PW>sName auf den Wert <!PW>sValue fr den Prfling in der Kontaktierposition <!PW>rContactPos und TestPosition <!PW>rTestPos. In Systemen mit nur einem Prfling, mssen <!PW>rTestPos und <!PW>rContactPos nicht angegeben werden. (Default fr <!PW>rTestPos und <!PW>rContactPos dann jeweils 1).<!PW>rToShow kennzeichnet, ob der Wert in der Programmoberflche angezeigt werden soll.
>>

<<
128.10.3.33
System.ResetTypeCodes|ResetTypeCodes
--
<!DEF>
procedure <!TW>System.ResetTypeCodes;
<!TXT>
Lscht alle Typecode. Dieser Befehl ist nur im Loop-Step zulssig.
>>

<<
128.10.3.34
System.ResetBarCodes|ResetBarCodes
--
<!DEF>
procedure <!TW>System.ResetBarCodes;
<!TXT>
Lscht alle Barcode.
>>

<<
128.10.3.35
System.ResetUserInfo|ResetUserInfo
--
<!DEF>
procedure <!TW>System.ResetUserInfo;
<!TXT>
Lscht alle benutzerdefinierten Werte.
>>

<<
128.10.3.36
System.ResetECCodes|ResetECCodes
--
<!DEF>
procedure <!TW>System.ResetECCodes;
<!TXT>
Lscht alle EC-Code. Dieser Befehl ist nur im Loop-Step zulssig.
>>

<<
128.10.3.37
System.SetECCode|SetECCode
!128.10.2.36
!128.10.3.7
!128.10.2.25
--
<!DEF>
procedure <!TW>System.SetECCode (rECCode : string; [rContactPos, rTestPos : real]);
<!TXT>
Setzt den EC-Code fr den <!PW>rTestPos-ten Prfling in Kontaktreihe <!PW>rContactPos auf <!PW>rECCode. In Systemen mit nur einem Prfling mssen <!PW>rTestPos und <!PW>rContactPos nicht angegeben werden. 

Bei Start der Prfung wird der EC-Code der Prflinge mit dem EC-Code des aktuell eingestellten Typs verglichen. Bei Gleichheit wird gestartet. Bei Ungleichheit wird, wenn erlaubt, ein automatischer Typwechsel durchgefhrt oder eine Fehlermeldung ausgegeben.

Der gesetzte EC-Code wird nicht sofort geladen, sondern erst dann, wenn ein Test gestartet wird. Fr eine sofortige Aktivierung kann <!RW>System.ChangeTypeCode verwendet werden.
>>

<<
128.10.3.38
System.SetMacro|SetMacro
--
<!DEF>
procedure <!TW>System.SetMacro (sName : String; sValue : String)
<!TXT>
Setzt das Makro <!PW>sName im Interpreterschritt auf den Wert <!PW>sValue. Das Makro mu durch '{$MACRO:Name}' im Interpreterschritt gekennzeichnet sein.
>>

<<
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>
Diese Funktion initialisiert die NetObject Variable <!PW>noInstance mit der .Net Klasse <!PW>sNetClass(Hier muss die Klasse vollstndig mit namespace identifiziert werden). Dies kann jedoch auch beim erstellen (Datentype <a href="1.1.2.6">NetObject</a>) der Variable gemacht werden. Ist eine NetObject Variable jedoch nicht mit einer .Net Klasse initalisiert, kann die NetObject variable nicht verwendet werden.
Mit <!PW>sSorceCodePath wird angegeben werden in welcher Datei sich die .Net Klasse befindet.
Mit <!PW>sInstanceName wird ein Name fr die .Net Instance vergeben die auch im GlobalData Monitor verwendet wird. Wird hier kein Name angegeben heist die Instance wie die Klasse mit Namespace. Eine einmal erzeugte .Net Instanze bleib bestehen bis entweder sie mit dieser Funktion(gleicher instanze Name ntig) bzw. beim Datentyp erzeugen (<a href="1.1.2.6">NetObject</a>) neu erzeugt wird, mit <a href="128.10.3.40">FreeNetObject</a> oder dem GlobalData Monitor freigegeben wird oder das Programm beendet wird.
Mit <!PW>sNetReference knnen .Net Reference Dateien mit kompilierten Quellcode angegeben werden, die bentigt werden den Quellcode zu kompelieren (z.B. System.DLL).

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>
Mit <!PW>sInstanceName  wird die .Net Instance angegeben die freigegeben werden soll.
>>

<<
128.10.3.41
System.ClearDesktop|ClearDesktop
--
<!DEF>
procedure <!TW>System.ClearDesktop
<!TXT>
Diese Funktion setzt die Anzeigen auf den Hauptbildschirm auf das eingestellte Bild zurck.
>>


<<
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>
Dieser Befehl runded den Messwert bei der bergabe mit den aktuellen Nachkommastellen des Prfschrittes.
Der Messwert wird mit dieser Rundung gespeichert. 
Hinweis: Hier kann ein Verlust der Messgenauigkeit stattfinden.

Kombination aus <!RW>ShowValue und <!RW>InitValue.

Setzt den Wert <!PW>MeasValue (String oder Real) als Ergebniswert des Steps, und zeigt ihn im Messwertfenster an. 

Bei numerischem Wert werden die Grenzen geprft und es ergibt sich ein Stepergebnis (Pass/Fail) bei einem Stringwert ergibt sich das Stepergebnis als ungltig (invalid). Das Stepergebnis muss in diesem Fall ber <!RW>System.SetStepResult gesetzt werden.

 <!PW>sComment wird (falls angegeben) als Kommentar zu dem Messwert gespeichert. Das System selber benutzt den Kommentar nicht, er kann jedoch ber das <!RW>MeasData IP Objekt abgerufen und ausgewertet werden.

Dieser Befehl kann nur benutzt werden, wenn der Simultanprfmodus <!SW>Single (nur jeweils ein Prfling pro Testdurchlauf) aktiv ist. Fr die anderen Simultanprfmodi muss <!RW>SetValueEx benutzt werden.
>>

<<
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>
Dieser Befehl runded den Messwert bei der bergabe mit den aktuellen Nachkommastellen des Prfschrittes.
Der Messwert wird mit dieser Rundung gespeichert. 
Hinweis: Hier kann ein Verlust der Messgenauigkeit stattfinden.

Kombination aus <!RW>ShowValueEx und <!RW>InitValueEx.

Setzt den Wert <!PW>MeasValue (String oder Real) fr den mit <!PW>rDUTNr ausgewhlten Prfling als Ergebniswert des Steps, und zeigt ihn im Messwertfenster an. 

Im Simultanprfmodus <!SW>Single kann fr <!PW>rDUTNr <!SW>0 (zustzlich zu den echten DUT-Nummern 1..Anzahl Prflinge) angegeben werden, dann wirkt der Befehl wie ein normaler <!RW>SetValue Befehl.
In den anderen Simultanprfmodi muss <!PW>rDUTNr im Bereich 1..Anzahl der Prflinge liegen.

Bei numerischem Wert werden die Grenzen geprft und es ergibt sich ein Stepergebnis (Pass/Fail) bei einem Stringwert ergibt sich das Stepergebnis als ungltig (invalid). Das Stepergebnis muss in diesem Fall ber <!RW>System.SetStepResultEx gesetzt werden.

 <!PW>sComment wird (falls angegeben) als Kommentar zu dem Messwert gespeichert. Das System selber benutzt den Kommentar nicht, er kann jedoch ber das <!RW>MeasData IP Objekt abgerufen und ausgewertet werden.

Ist der gewhlte Prfling momentan nicht aktiv (wird noch nicht/nicht mehr getestet) so hat der Befehl keine Auswirkung.
>>