:Revision=8
:html
<<
128.178
MeasData-Objekt|MeasData
--
Das IP-Objekt MeasData liefert Informationen ber bereits ausgefhrte Prfschritte. 
Die meisten Funktionen sind daher nur in echten Prfschritten sinnvoll, nicht jedoch in System-Schritten, mit Ausnahme der Ende-Schritte!

Der Zugriff erfolgt in Form einer Liste, wobei mit First der erste Datensatz gewhlt wird und danach jeweils mit Next der nchste Datensatz gewhlt wird. ber EOF kann abgefragt werdem, ob das Ende der Liste erreicht ist. Zustzlich ist eine Filterung auf bestimmte Prfschrittergebnisse mglich.

Beispiel:
<!CODE>
MeasData.First;                  // Wichtig muss zur initalisierung als erstes aufgerufen werden
MeasData.Filter (12);            // Fail + Invalid Steps
while not MeasData.EOF do begin
  Printer (1, MeasData.Name);    // Namen ausgeben
  MeasData.Next;                 // nchster Datensatz
end;
<!TXT>
>>

<<
128.178.1
Funktionen des MeasData-Objekts|Funktionen
--
>>
<<
128.178.1.1
MeasData.Number|Number
--
<!DEF>
function <!TW>MeasData.Number : real;
<!TXT>
Liefert die Prfschritt-Nummer des selektierten Messdatensatzes.
>>
<<
128.178.1.2
MeasData.Name|Name
--
<!DEF>
function <!TW>MeasData.Name : string;
<!TXT>
Liefert den Prfschritt-Namen des selektierten Messdatensatzes.
>>
<<
128.178.1.3
MeasData.IPName|IPName
--
<!DEF>
function <!TW>MeasData.IPName : string;
<!TXT>
Liefert den Namen des Interpreterschrittes des selektierten Messdatensatzes.
>>
<<
128.178.1.4
MeasData.Precision|Precision
--
<!DEF>
function <!TW>MeasData.Precision : real;
<!TXT>
Liefert die Anzahl der Nachkommastellen fr Ergebnisse des selektierten Messdatensatzes.
>>
<<
128.178.1.5
MeasData.Unit|Unit
--
<!DEF>
function <!TW>MeasData.Unit : string;
<!TXT>
Liefert die Maeinheit des selektierten Messdatensatzes.
>>
<<
128.178.1.6
MeasData.LowerLimit|LowerLimit
--
<!DEF>
function <!TW>MeasData.LowerLimit : real;
<!TXT>
Liefert den unteren Grenzwert des selektierten Messdatensatzes.
>>
<<
128.178.1.7
MeasData.UpperLimit|UpperLimit
--
<!DEF>
function <!TW>MeasData.UpperLimit : real;
<!TXT>
Liefert den oberen Grenzwert des selektierten Messdatensatzes.
>>
<<
128.178.1.8
MeasData.Parameter|Parameter
--
<!DEF>
function <!TW>MeasData.Parameter (rParaNr : real) : string;
<!TXT>
Liefert fr den selektierten Messdatensatz den Prfschritt - Parameter <!PW>rParaNr (1..32) als String, wie er in der Datenbank eingetragen ist.
>>
<<
128.178.1.9
MeasData.GetStepResult|GetStepResult
--
<!DEF>
function <!TW>MeasData.GetStepResult : real;
<!TXT>
Liefert das Step-Ergebnis des selektierten Messdatensatzes.

Rckgabewerte:
<!STBL>
<!>0<!>keines<!>
<!>1<!>Pass<!>
<!>2<!>Fail<!>
<!>3<!>Ungltig<!>
<!ETBL>
>>
<<
128.178.1.10
MeasData.GetTypeCode|GetTypeCode
--
<!DEF>
function <!TW>MeasData.GetTypeCode : real;
<!TXT>
Liefert die Art des Messwertes fr den selektierten Messdatensatz.

Rckgabewerte:
<!STBL>
<!>1<!>Real<!>
<!>2<!>String<!>
<!>-1<!>undefiniert<!>
<!ETBL>
>>
<<
128.178.1.11
MeasData.GetValue|GetValue
!128.178.1.16
--
<!DEF>
function <!TW>MeasData.GetValue : real|string;
<!TXT>
Liefert den Messwert fr den selektierten Messdatensatz. 

Achtung: der Ausdruck kann vom Typ Real oder String sein, je nach dem, was der Prfschritt abgeliefert hat. 

Im Zweifelsfall mit <!RW>GetTypecode die Art des Ergebnisses prfen.
>>
<<
128.178.1.12
MeasData.Count|Count
--
<!DEF>
function <!TW>MeasData.Count : real;
<!TXT>
Liefert die Anzahl der Messdatenstze, die zum gewhlten Filter passen.
>>
<<
128.178.1.13
MeasData.EOF|EOF
--
<!DEF>
function <!TW>MeasData.EOF : real;
<!TXT>
Liefert <!RW>true, wenn das Ende der Liste erreicht ist.
>>
<<
128.178.1.14
MeasData.Comment|Comment
--
<!DEF>
function <!TW>MeasData.Comment : string;
<!TXT>
Liefert den Kommentar der fr den selektierten Messdatensatz gespeichert wurde.
>>
<<
128.178.1.15
MeasData.TestTime|TestTime
--
<!DEF>
function <!TW>MeasData.TestTime : real;
<!TXT>
Liefert die Dauer des Schrittes (in Sekunden), der den selektierten Messdatensatz erzeugte.
>>
<<
128.178.1.16
MeasData.GetValue.String|GetValue.String
!128.178.1.11
--
<!DEF>
function <!TW>MeasData.GetValue.String : string;
<!TXT>
Liefert den Messwert fr den selektierten Messdatensatz als <!RW>String. 
>>
<<
128.178.1.17
MeasData.User.Count|User.Count
--
<!DEF>
function <!TW>MeasData.User.Count : real;
<!TXT>
Liefert die Anzahl Benutzerdefinierter Messdatenfelder. 
>>
<<
128.178.1.18
MeasData.User.Name|User.Name
!128.178.1.17
--
<!DEF>
function <!TW>MeasData.User.Name (rIndex : real) : string;
<!TXT>
Liefert den Namen des <!PW>rIndex-ten Benutzerdefinierten Messdatenfeldes. <!PW>rIndex beginnt bei 1. 
>>
<<
128.178.1.19
MeasData.User.Get|User.Get
!128.178.2.7
!128.178.1.17
--
<!DEF>
function <!TW>MeasData.User.Get (rIndex : real) : string;
<!TXT>
Liefert den Wert des <!PW>rIndex-ten Benutzerdefinierten Messdatenfeldes. <!PW>rIndex beginnt bei 1. 

<!DEF>
function <!TW>MeasData.User.Get (sName : string) : string;
<!TXT>
Liefert den Wert des Benutzerdefinierten Messdatenfeldes mit dem Namen <!PW>sName. 
>>

<<
128.178.1.20
MeasData.Field|Field
--
<!DEF>
function <!TW>MeasData.Field (sField : String) : string;
<!TXT>
Liefert fr den selektierten Messdatensatz den Inhalt des benutzerdefinierten Feldes <!PW>sField als String, wie er in der Datenbank eingetragen ist. Ist das Feld nicht vorhanden, wird eine Fehlermeldung ausgegeben.
>>
<<
128.178.1.21
MeasData.MDA|MDA
--
<!DEF>
function <!TW>MeasData.MDA : real;
<!TXT>
Liefert true wenn fr den selektierten Messdatensatz das Feld MDE (in Englisch MDA) aktiv ist.
MDE steht fr Mess Daten Erfassung (Meas Data Acquisition) und speichert die Messdaten bei aktivierten feld in die Datenbank.
>>
<<
128.178.1.22
MeasData.TestStartTime|TestStartTime
--
<!DEF>
function <!TW>MeasData.TestStartTime : real;
<!TXT>
Liefert die Start Zeit des Testschrittes fr den selektierten Messdatensatz.
>>
<<
128.178.1.22
MeasData.TestEndTime|TestEndTime
--
<!DEF>
function <!TW>MeasData.TestEndTime : real;
<!TXT>
Liefert die Endzeit des Testschrittes fr den selektierten Messdatensatz.
>>

<<
128.178.2
Prozeduren des MeasData-Objekts|Prozeduren
--
>>
<<
128.178.2.1
MeasDataist.First|First
--
<!DEF>
procedure <!TW>MeasData.First (rDUTNr : real);
<!TXT>
Setzt den internen Listenzeiger auf den ersten Messdatensatz des Prflings <!PW>rDUTNr, der zu dem eingestellten Filter passt.

Setzt <!RW>EOF auf <!RW>true, wenn gar kein Datensatz passt.

Im Simultanprfmodus <!SW>Single (es wird immer nur ein Prfling geprft), kann fr rDUTNr <!SW>0 angegeben werden, es wird dann die Messwertliste des aktuell geprften Prflings ausgewertet.

In den anderen Simultanprfmodi muss die Nummer des Prflings zwingend angegeben werden (1..Anzahl der Prflinge). 

<!DEF>
procedure <!TW>MeasData.First;
<!TXT>
Diese Sonderform ist nur im Simultanprfmodus <!SW>Single erlaubt. Sie wirkt wie ein Aufruf von:
<!CODE>
MeasData.First (0);
<!TXT>
>>

<<
128.178.2.2
MeasData.Next|Next
--
<!DEF>
procedure <!TW>MeasData.Next;
<!TXT>
Setzt den internen Listenzeiger auf den nchsten Messdatensatz, der zu den eingestellten Filterkriterien passt. Setzt <!RW>EOF auf <!RW>true, wenn kein weiterer Datensatz passt.
>>

<<
128.178.2.3
MeasData.Filter|Filter
--
<!DEF>
procedure <!TW>MeasData.Filter (rArt : real);
<!TXT>
Setzt den Filter fr die 'Sichtbarkeit' der Messwertdatenstze. <!PW>rArt ist ein Bitmuster.

Bedeutung der einzelnen Bits, wenn gesetzt:
<!STBL>
<!>1<!>PASS<!>Messwertstze sind sichtbar<!>
<!>2<!>Invalid<!>Messwertstze sind sichtbar<!>
<!>4<!>Fail<!>Messwertstze sind sichtbar<!>
<!>8<!>None<!>Messwertstze sind sichtbar<!>
<!ETBL>

<!CODE>
MeasData.Filter (1);
<!TXT>
Es erscheinen nur gute Prfschritte

<!CODE>
MeasData.Filter (14);
<!TXT>
Es erscheinen alle nicht guten Prfschritte

<!CODE>
MeasData.Filter (4);
<!TXT>
Es erscheinen alle echten Fehler-Prfschritte

<!CODE>
MeasData.Filter (10);
<!TXT>
Es erscheinen alle Prfschritte, die kein sinnvolles Ergebnis haben (Invalid oder gar keins)

<!CODE>
MeasData.Filter (0);  IST NICHT ERLAUBT !!!
<!TXT>
>>

<<
128.178.2.4
MeasData.New|New
!128.178.2.5 - MeasData.Set
!128.178.2.6 - MeasData.Add
--
<!DEF>
procedure <!TW>MeasData.New;
<!TXT>
Erzeugt einen neuen, synthetischen Messwert.

Der Messwert erhlt alle Attribute des aktuellen Prfschrittes (Beschreibung, Grenzen, Einheit etc.).

Die Attribute mssen mit <!RW>MeasData.Set gesetzt werden.

Sollte bereits zuvor ein synthetischer Messwert erzeugt worden sein, so wird dieser verworfen und ein neuer erzeugt.

Beispiel siehe <!RW>MeasData.Set;
>>
<<
128.178.2.5
MeasData.Set|Set
!128.10.3.5 - SetStepResult
!128.10.3.4 - SetValue
!128.178.2.4 - MeasData.New
!128.178.2.6 - MeasData.Add
--
<!DEF>
procedure <!TW>MeasData.Set (sIdent : string; .Wert : real|string);
<!TXT>
Setzt ein Attribut eines synthetischen Messwertes. 

Zuvor muss ein synthetischer Messwert mit <!RW>MeasData.New; erzeugt worden sein.

Die Attribute werden ber ihren Namen angesprochen. Der Datentyp von Wert muss zu der Art des Attributes passen.

Zur Zeit definierte Attribute und die Datentypen
<!STBL>
<!+>Name<!+>Datentyp(en) <!+>Beschreibung<!>
<!>Number<!>Real<!>Prfschrittnummer<!>
<!>Info<!>String<!>Bezeichnung<!>
<!>LowerLimit<!>Real<!>Untergrenze<!>
<!>UpperLimit<!>Real<!>Obergrenze<!>
<!>Unit<!>String<!>Einheit<!>
<!>Precision<!>Real (0..9)<!>Nachkommastellen<!>
<!>SaveData<!>Real (bool)<!>Messwert speichern ?<br>0 / <!RW>false : nein<br>1 / <!RW>true  : ja<!>
<!>Duration<!>Real<!>Dauer des Prfschrittes<!>
<!>MeasValue<!>String/Real<!>Messwert<!>
<!>StepResult<!>Real (0..3)<!>Ergebnis<br>0 : keines<br>1 : Pass<br>2 : Fail<br>3 : Ungltig<!>
<!>Comment<!>String<!>Kommentar<!>
<!ETBL>

Die Attribute knnen beliebig oft berschrieben werden. Die Namen knnen in Klein- oder Grobuchstaben angegeben werden.

Werden die Attribute 'LowerLimit', 'UpperLimit' oder 'MeasValue' gesetzt, so wird automatisch der StepResult berechnet, wenn der MeasValue ein Zahlwert ist.

Beipiel:
<!CODE>
  // Messwert erzeugen
  MeasData.New;
  // Attribute setzen
  MeasData.Set ('Info',       'Nur ein Beispiel!');
  MeasData.Set ('UpperLimit',  55);
  MeasData.Set ('LowerLimit',  45);
  MeasData.Set ('MeasValue',   50);
  // Messwert speichern
  MeasData.Add;
<!TXT>
>>

<<
128.178.2.6
MeasData.Add|Add
!128.178.2.4 - MeasData.New
!128.178.2.5 - MeasData.Set
--
<!DEF>
procedure <!TW>MeasData.Add (rDUTNr : real);
<!TXT>
Schreibt den zuvor erzeugten und attributisierten synthetischen Messwert in die Messwertliste des Prflings mit der angegebenen DUT-Nummer.

Im Simultanprfmodus <!SW>Single (es wird immer nur ein Prfling geprft), kann fr rDUTNr <!SW>0 angegeben werden, der synthetische Messwert wird dann dem aktuell geprften Prfling zugeordnet.

In den anderen Simultanprfmodi muss die Nummer des Prflings zwingend angegeben werden (1..Anzahl der Prflinge). Der Messwert wird dann dem gewhlten Prfling zugeordnet.

Der Messwert wie ein normal erzeugter behandelt und ausgewertet. Der Prfschritt erzeugt auf jeden Fall noch einen 'normalen' Messwert pro aktuellem Prfling.

Zuvor muss ein synthetischer Messwert mit <!RW>MeasData.New; erzeugt worden sein.

Nach diesem Befehl ist kein synthetischer Messwert mehr vorhanden. Soll ein weiterer angelegt werden, so muss dieser wieder mit <!RW>MeasData.New; erzeugt werden.

<!DEF>
procedure <!TW>MeasData.Add;
<!TXT>
Diese Sonderform ist nur im Simultanprfmodus <!SW>Single erlaubt. Sie wirkt wie ein Aufruf von:
<!CODE>
MeasData.Add (0);
<!TXT>
>>
<<
128.178.2.7
MeasData.User.Set|User.Set
!128.178.1.19
--
<!DEF>
procedure <!TW>MeasData.User.Set (rIndex : real; sValue : string);
<!TXT>
Setzt den Wert des <!PW>rIndex-ten Benutzerdefinierten Messdatenfeldes auf <!PW>sValue. <!PW>rIndex beginnt bei 1. 

<!DEF>
function <!TW>MeasData.User.Set (sName, sValue : string|real) : string;
<!TXT>
Setzt den Wert des Benutzerdefinierten Messdatenfeldes mit dem Namen <!PW>sName auf <!PW>sValue.

Die mit <!RW>MeasData.User.Set angegebenen Werte werden in den jeweiligen Messwert bertragen, sobald dieser in die Messwertliste des prfling eingetragen wird. Dies geschieht bei 'normalen' Messwerten bei Verlassen des Prfschrittes, bei synthetischen Messwerten mit dem Aufruf von <!RW>MeasData.Add.

Die Felder selber behalten ihren Wert solange, wie in der Grundeinstellung festgelegt. 
>>

