Wertetabellen
- Aktualisiert2026-07-22
- 5 Minute(n) Lesezeit
Eine Wertetabelle ist ein Container-Datentyp in PAtools. Sie können jeden beliebigen Datentyp in Wertetabellen verwenden. Sie können in jeder Zeile einen anderen Datentyp verwenden.
Folgendes gilt für den Lese- und Schreibzugriff in Wertetabellen.
- PAscript unterstützt die folgenden Datentypen für den Lesezugriff:
- Integer: int32
- Fließkommazahl:real64
- Text: text
- PAscript unterstützt die folgenden Datentypen in Zellen für den Lesezugriff:
- Tasks: task
- Ereignisse: event
- Schritttabellen: stepTable
- Ablauftabellen: sequenceTable
- PAbasic: pabasic
- Die Elemente für den Lesezugriff können konstante Werte oder Namen sein.
- Mit Typfunktionen können Sie Text oder Zahlen in den Zellen eingeben. Variablen oder Konstanten des entsprechenden Datentyps sind als Übertragungsparameter zulässig. Verwenden Sie die folgenden Typfunktionen für den Schreibzugriff:
- setText
- setInt32
- setReal64
- Mit der Typfunktion setText können keine Namen in eine Wertetabelle geschrieben werden.
Typfunktionen von Wertetabellen
Mit Hilfe von Typfunktionen können Sie Wertetabellen löschen, kopieren, aufziehen und beschriften.
Beispiel für clear
program
variant[2,2] table
table:clear() // after execution the content is [KWE,KWE;KWE,KWE]
endprogram
Beispiel für clearCell
program
variant[2,2] table
table:clearCell(0,0)
endprogram
Beispiel für copyFrom
program
variant[2,2] target
variant[3] source[1,2,3]
target:copyFrom(source)
endprogram
Beispiel für getCellType
program
section globals
variant[] table
end section
int32 row index
for rowIndex = 0,rowIndex<tab:rows -1
switch table:getCellType(rowIndex, 0)
case variant:ce11Type:real64
sys:loginfo(sys:ui,"element is integer")
case variant:ce11Type:int32
sys:loginfo( sys:ui,"element is float") case variant:cellType:text
sys:loginfo(sys:ui,"value is text")
end switch
endfor
endprogram
Beispiel für getColumnLabel
program
int32 columnIndex = 0
text columnsText(10)
variant[2,2] table
columnText = table:getColumnLabel(columnIndex)
endprogram
Beispiel für getPageLabel
program
int32 pageIndex = 1
text pagesText(10)
variant[2,2,2] table
pageText = table:getPageLabel(pageIndex)
endprogram
Beispiel für getRowLabel
program
int32 rowIndex = 1
text linesText(10)
variant[2,2] table
rowText = table:getRowLabel(rowIndex)
endprogram
Beispiel für resize
program
text pagesText(10)
int32 status
variant[2,2] table = (1,2;3,4]
status = table:resize(3) //the result is a 1 x 3 array with the content [1,2,0]
if status < 0 then
sys:logError(sys:ui,"Error %d while increasing array", status)
endif
endprogram
Beispiel für setColumnLabel
program
int32 columnIndex = 1
text columnsText(20) = "Label Column 2"
variant[2,2] table
table:setColumnLabel(columnIndex,columnText)
endprogram
Beispiel für setPageLabel
program
int32 pageIndex = 1
text pagesText(20) = "Label Page 2"
variant[2,2,2] table
table:setPageLabel(pageIndex,pageText)
endprogram
Beispiel für setRowLabel
program
int32 rowIndex = 1
text linesText(20) = "Label Line 2"
variant[2,2] table
table:setRowLabel(rowIndex,rowText)
endprogram
Beispiel für toCSV
program
section globals
variant[] table
end section
int32 status
status = table:toCSV("Array.csv",";")
if status < 0 then
sys:logError(sys:ui,"Error %d writing CSV file", status)
endif
endprogram
Definitionsoptionen
Definieren Sie PAscript-Werttabellen lokal oder global.
Definition von Wertetabellen
Das folgende Muster wird zur Definition von Wertetabellen verwendet:
variant[] variable_name
Globale Definition von Wertetabellen
Wenn Sie eine globale Wertetabelle in PAscript deklarieren möchten, geben Sie den Datentyp variant[] in einem section globals-Codeblock ein. Geben Sie dann den Variablennamen ein.
Beispiel
program
section globals
variant[] AKS_Parameter.WTB
endsection
...
endprogram
Lokale Definition von Wertetabellen
Das folgende Muster wird für lokale Wertetabellen verwendet:
variant[array dimensions] identifier
Definieren von Array-Dimensionen
Sie können eine, zwei oder drei Dimensionen für Array-Dimensionen auswählen.
variant [n] identifier // Value table with n elements variant [n,m] identifier // Value table with n rows and m columns variant [n,m,p] identifier // Value table with p pages, n rows and m columns
Der Zelleninhalt der erstellten Wertetabelle lautet KWE.
Beispiel
program
variant[2,3] table
...
endprogram
Zugreifen auf Wertetabellen
Greifen Sie auf ein Element einer Wertetabelle mit Hilfe von Zugriffsmethoden zu. Zugriffsmethoden weisen den Datentyp zu und haben den relevanten Index für Spalte, Zeile und Seite als Übertragungsparameter.
Regel für Dimensionsangaben
Sie können die Zugriffsmethoden aufrufen, indem Sie weniger Dimensionen angeben, als für die Wertetabelle selbst definiert sind.
Sie definieren beispielsweise eine Wertetabelle mit drei Dimensionen. In diesem Fall ist es nicht notwendig, den Seitenindex, Zeilenindex oder Spaltenindex anzugeben. Sie können nur einen Index angeben. Die Werte der ersten Zeilen auf der ersten Seite und der übertragenen Spalte werden berechnet.
Ebenso können Sie nur Zeile und Spalte angeben. In diesem Fall wird immer auf die erste Seite zugegriffen.
Referenzieren von Wertetabellen
Der Operator = bewirkt, dass die Tabelle links die Tabelle rechts referenziert.
Die Dimensionen des Ziels passen sich an die Dimensionen der Quelle an.
Eine nachträgliche Änderung der Dimension oder des Werts in einer Tabelle ändert die Dimension oder die Werte in der anderen Tabelle.
Beispiel
program variant [2,3] source variant [3,3,2] target // causes redimensioning of the target target = source endprogram
Die Dimensionen des Ziels passen sich an die Dimensionen der Quelle an.
Eine Änderung der Quelle führt zu einer identischen Änderung des Ziels. Eine Änderung des Ziels führt zu einer identischen Änderung der Quelle.