# Tabellenzellen-Ausführung

Wie bei anderen konventionellen Tabellenkalkulationen wird die Zellenausführungsreihenfolge dynamisch durch die Beziehungen und Abhängigkeiten zwischen Zellfunktionen bestimmt. Die In-Sight-Tabelle bestimmt die Reihenfolge der Zellenausführung primär durch eine Auswertung der Zellen gemäß ihrer Abhängigkeiten und sekundär anhand ihrer Positionen innerhalb der Tabelle.

### Zellenabhängigkeiten

Im folgenden Beispiel ist der Wert der Zellen B2 und A3 direkt vom Wert von A2 abhängig. Zelle A4 hängt indirekt von A2 ab, da sie auf A3 verweist. Wenn sich der Wert in A2 ändert, müssen zunächst die Werte von B2 und A3 und dann der Wert von A4 neu ausgewertet werden. Es wird automatisch eine interne Ausführungsstruktur erstellt, um die Zellenabhängigkeiten zu verfolgen. Diese Struktur wird jedes Mal neu erstellt, wenn die Tabelle bei Offline geschaltetem System geändert wird.

###### Beispiel 1: Einfache Abhängigkeitsstruktur

> A2 = 1
> A3 = A2+1
> A4 = A3+1
> B2 = A2+2

Wenn sich der Wert oder Ausdruck einer Zelle ändert, macht die In-Sight Tabelle die Zelle in der Struktur ausfindig, und überprüft, welche Zellen neu ausgewertet werden müssen. Wenn sich in diesem Beispiel der Wert in A2 ändert, müssen alle abhängigen Zellen (B2, A3 und A4) neu ausgewertet werden. Ändert sich jedoch der Ausdruck in Zelle B2, müssen keine anderen Zellen aktualisiert werden, da keine Zelle von B2 abhängig ist.

### Reihenfolge der Zellenausführung

Nach der Auswertung der Abhängigkeiten werden die Zellen anhand ihrer Position innerhalb der Tabelle ausgewertet. Zellen werden entsprechend ihrer Zeilenkoordinate (von links nach rechts) und dann entsprechend ihrer Spaltenkoordinate (von oben nach unten) sortiert.

### Ausnahmen von der Zellenausführungsreihenfolge

Folgende Beispiele sind Ausnahmen von der normalen Zellenausführungsreihenfolge:

- Datenspeicherfunktionen
- Funktionen mit Zellreferenzen ohne Abhängigkeit

Datenspeicherfunktionen werden immer am Anfang der Ausführungsstruktur platziert, da sie auf die alten Daten in den anderen Zellen zugreifen müssen.

Mehrere Funktionen verwenden Zellreferenzen als Argumente, stellen jedoch keine Abhängigkeiten her. Ein Beispiel hierfür ist die Funktion „Row“, die die Zeilenkoordinate der referenzierten Zeile zurückgibt.

### Wodurch wird die Ausführung ausgelöst?

Zellen werden ausgeführt, wenn:

- eine Zelle mit abhängigen Zellen geändert wurde.
- externe Ereignisse auftreten, z. B. -Trigger.
- grafische Steuerelemente (z. B. Schaltfläche, Kontrollkästchen, EditInt) einen Tabellenereignis-Trigger signalisieren.

Die meisten Vision Tool-Funktionen hängen direkt oder indirekt von der Funktion (Standardzelle A0.) ab. Jedes Mal, wenn ein neues Bild aufgenommen wird, werden diese Funktionen ausgeführt, und sie geben neue Werte zurück. Zudem wird das Arbeitsblatt aktualisiert, wenn eine Bildaufnahme oder ein anderes Arbeitsblatt-Ereignis ausgelöst wird.