Kontaktplanprogrammierung (LD)
Die am häufigsten verwendete Sprache zum Programmieren von SPS ist Kontaktplan (LD), auch bekannt als Relais-Kontaktplanlogik (RLL).
Dies ist eine grafische Sprache, die die logischen Beziehungen zwischen Eingängen und Ausgängen zeigt, als wären sie Kontakte und Spulen in einem fest verdrahteten elektromechanischen Relaisschaltkreis.
Diese Sprache wurde mit dem ausdrücklichen Ziel entwickelt, die SPS-Programmierung für Elektriker, die mit relaisbasierten Logik- und Steuerschaltkreisen vertraut sind, „natürlich“ erscheinen zu lassen. Obwohl Kontaktplanprogrammierung viele Mängel aufweist, ist sie in der Automatisierungsbranche nach wie vor äußerst beliebt.
Jedes Kontaktplanprogramm ist so aufgebaut, dass es einem elektrischen Diagramm ähnelt, was es zu einer grafischen (und nicht textbasierten) Programmiersprache macht.
Kontaktpläne sind als virtuelle Schaltkreise zu betrachten, bei denen virtueller „Strom“ durch virtuelle „Kontakte“ (wenn geschlossen) fließt, um virtuelle „Relaisspulen“ zu aktivieren und logische Funktionen auszuführen.
Keiner der Kontakte oder Spulen, die in einem SPS-Programm mit Kontaktplan zu sehen sind, ist real; sie wirken vielmehr auf Bits im Speicher der SPS, wobei die logischen Wechselbeziehungen zwischen diesen Bits in Form eines Diagramms ausgedrückt werden, das einem Schaltkreis ähnelt und auf einem PC bearbeitet wird:
Programmierung mit Kontaktplan
Der folgende Computer-Screenshot zeigt ein typisches Programm mit Kontaktplan.
Kontakte erscheinen genauso wie in einem Logikdiagramm eines elektrischen Relais – als kurze vertikale Liniensegmente, die durch einen horizontalen Zwischenraum getrennt sind.
Normalerweise offene Kontakte sind innerhalb des Zwischenraums zwischen den Liniensegmenten leer, während normalerweise geschlossene Kontakte eine diagonale Linie haben, die diesen Zwischenraum durchquert.
Spulen sind etwas anders und erscheinen entweder als Kreise oder Klammerpaare. Andere Anweisungen erscheinen als rechteckige Kästen.
Jede horizontale Linie wird als Sprosse bezeichnet, genau wie jede horizontale Stufe auf einer Trittleiter als „Sprosse“ bezeichnet wird.
Ein gemeinsames Merkmal von Kontaktplan-Programmeditoren, wie auf diesem Screenshot zu sehen, ist die Möglichkeit, jene virtuellen „Komponenten“ im virtuellen „Schaltkreis“, die bereit sind, virtuellen „Strom“ zu „leiten“, farblich hervorzuheben.
In diesem speziellen Editor ist die Farbe, die zur Anzeige von „Leitung“ verwendet wird, hellblau.
Eine andere Form der Statusanzeige, die in diesem SPS-Programm zu sehen ist, sind die Werte bestimmter Variablen im Speicher der SPS, die in rotem Text angezeigt werden.
Sie können beispielsweise in der oberen rechten Ecke des Bildschirms Spule T2 unter Spannung sehen (hellblau ausgefüllt), während Spule T3 nicht unter Spannung steht.
Dementsprechend erscheint jeder normalerweise offene T2-Kontakt farbig, was seinen „geschlossenen“ Status anzeigt, während jeder normalerweise geschlossene T2-Kontakt farblos ist.
Im Gegensatz dazu ist jeder normalerweise offene T3-Kontakt farblos (da Spule T3 nicht mit Strom versorgt wird), während jeder normalerweise geschlossene T3-Kontakt farblich dargestellt wird, um seinen leitenden Status anzuzeigen.
Ebenso werden die aktuellen Zählwerte der Timer T2 und T3 als 193 bzw. 0 angezeigt. Der Ausgabewert des mathematischen Befehlsfelds ist zufällig 2400, ebenfalls in rotem Text dargestellt.
Die farbliche Hervorhebung von Komponenten des Kontaktplans funktioniert natürlich nur, wenn der Computer, auf dem die Programmbearbeitungssoftware läuft, mit der SPS verbunden ist und sich die SPS im „Ausführen“-Modus befindet (und die Funktion „Status anzeigen“ der Bearbeitungssoftware aktiviert ist).
Andernfalls besteht der Kontaktplan nur aus schwarzen Symbolen auf weißem Hintergrund.
Die Statushervorhebung ist nicht nur sehr nützlich beim Debuggen von SPS-Programmen, sondern dient auch einem unschätzbaren Diagnosezweck, wenn ein Techniker ein SPS-Programm analysiert, um den Status realer Eingabe- und Ausgabegeräte zu überprüfen, die an die SPS angeschlossen sind.
Dies gilt insbesondere dann, wenn der Status des Programms über ein Computernetzwerk aus der Ferne angezeigt wird, sodass Wartungspersonal Systemprobleme untersuchen kann, ohne sich auch nur in der Nähe der SPS aufhalten zu müssen!