Definition und Bedeutung:
Eine Instanz (engl. Instance) ist in der objektorientierten Programmierung und in der SPS-Programmierung das konkrete, ausführbare Exemplar eines Funktionsbausteins (FB). Wenn ein Funktionsbaustein definiert wird, beschreibt er eine bestimmte Funktionalität (z.B. einen Timer, einen Motor, einen PID-Regler).
Um diese Funktionalität in einem Programm zu nutzen, muss man eine oder mehrere Instanzen dieses Funktionsbausteins erstellen. Jede Instanz ist dabei völlig unabhängig von den anderen Instanzen desselben Funktionsbausteins und hat ihren eigenen, separaten Datenspeicher (Instanz-Datenbaustein – Instanz-DB).
Beispiel:
Wenn Sie drei Motoren in einer Maschine haben, die alle die gleiche Steuerungslogik benötigen, können Sie einen Funktionsbaustein „Motorsteuerung“ definieren. Anschließend erstellen Sie drei Instanzen dieses FBs im Programm:
Motor_1_Steuerung : Motorsteuerung;Motor_2_Steuerung : Motorsteuerung;Motor_3_Steuerung : Motorsteuerung;
Jede dieser Instanzen (Motor_1_Steuerung, Motor_2_Steuerung, Motor_3_Steuerung) hat dann ihren eigenen Satz von Variablen (z.B. Drehzahl-Sollwert, aktueller Zustand, Fehler-Flag), die nur für diese spezifische Motorinstanz gültig sind. Die Logik im FB wird mit den Daten der jeweiligen Instanz ausgeführt.
Relevanz in der SPS-Programmierung:
Das Konzept der Instanz und des Funktionsbausteins ist fundamental für die moderne, strukturierte SPS-Programmierung:
- Wiederverwendbarkeit: Einmal erstellte und getestete Funktionsbausteine können mehrfach im Programm verwendet werden, ohne dass der Code dupliziert werden muss. Dies spart Entwicklungszeit und reduziert Fehler.
- Modularität: Fördert die Gliederung von Programmen in überschaubare, logische Einheiten.
- Kapselung: Die internen Details eines Funktionsbausteins sind von außen nicht sichtbar, was die Komplexität reduziert.
- Übersichtlichkeit und Wartbarkeit: Programme werden leichter zu lesen und zu verstehen, da komplexe Funktionalität in gekapselten Bausteinen liegt. Änderungen an der Logik eines FBs wirken sich auf alle Instanzen aus, müssen aber nur einmal im FB selbst vorgenommen werden.
Instanzen sind das Kernprinzip, das die SPS-Programmierung objektorientierten Konzepten annähert und sie für komplexe Maschinen und Anlagen effizient macht.
→ Siehe auch: FB (Funktionsbaustein), Instanz-DB, Baustein, Datenbaustein (DB), Objektorientierte Programmierung

