Texteditoren
Die Texteditoren (der Anweisungslisteneditor und der Editor für Strukurierten Text) von TwinCAT PLC Control verfügen über die üblichen Funktionalitäten von Windows Texteditoren. Die Implementierung in den Texteditoren wird durch Syntaxcoloring unterstützt.
Wenn Sie im Überschreibmodus arbeiten, wird in der Statusleiste 'ÜB' schwarz angezeigt. Sie können zwischen dem Überschreib- und dem Einfügemodus wechseln, durch Betätigen der Taste <Einfg>.
Texteditoren für Anweisungsliste und Strukturierter Text
Die wichtigsten Befehle finden Sie im Kontextmenü (rechte Maustaste oder <Strg>+<F10>. Folgende Menübefehle benutzen speziell die Texteditoren:
'Einfügen''Operator'
Mit diesem Befehl werden in einem Dialog alle Operatoren angezeigt, die in der aktuellen Sprache verfügbar sind. Wird einer der Operatoren ausgewählt, und die Liste mit OK geschlossen, dann wird der markierte Operator an die aktuelle Cursorposition eingefügt.
'Einfügen''Operand'
Mit diesem Befehl werden in einem Dialog alle Variablen angezeigt. Sie können wählen, ob Sie eine Liste der globalen, der lokalen oder der Systemvariablen dargestellt haben wollen. Wird einer der Operanden ausgewählt, und der Dialog mit OK geschlossen, dann wird der markierte Operand an die aktuelle Cursorposition eingefügt.
'Einfügen''Funktion'
Mit diesem Befehl werden in einem Dialog alle Funktionen angezeigt. Sie können wählen, ob Sie eine Liste der benutzerdefinierten oder der Standardfunktionen dargestellt haben wollen. Wird eine der Funktionen ausgewählt, und der Dialog mit OK geschlossen, dann wird die markierte Funktion an der aktuellen Cursorposition eingefügt. Wurde im Dialog die Option Mit Argumenten angewählt, so werden die erforderlichen Eingabevariablen der Funktion mit eingefügt.
'Einfügen''Funktionsblock'
Mit diesem Befehl werden in einem Dialog alle Funktionsblöcke angezeigt. Sie können wählen, ob Sie eine Liste der benutzerdefinierten oder der Standardfunktionsblöcke dargestellt haben wollen. Wird einer der Funktionsblöcke ausgewählt, und der Dialog mit OK geschlossen, dann wird der markierte Funktionsblock an die aktuelle Cursor-position eingefügt. Wurde im Dialog die Option Mit Argumenten angewählt, so werden die erforderlichen Eingabevariablen des Funktionsblocks mit eingefügt.
Bausteinaufruf mit Ausgangsparametern
Die Ausgangsparameter eines aufgerufenen Bausteins können in den textuellen Sprachen AWL und ST bereits direkt im Aufruf zugewiesen werden.
Beispiel: Ausgangsparameter out1 von afbinst wird Variable a zugewiesen.
AWL: CAL afbinst(in1:=1, out1=>a)
ST: afbinst(in1:=1, out1=>a);
Die Texteditoren im Online Modus
Die Onlinefunktionen in den Editoren sind Breakpoint Setzen und Einzelschrittabarbeitung (Steppen). Zusammen mit dem Monitoring hat der Anwender so die Debugging-Funktionalität eines modernen Windows-Hochsprachendebuggers.
Im Online Modus wird das Texteditor-Fenster vertikal zweigeteilt. Auf der linken Seite des Fensters befindet sich dann der normale Programmtext, auf der rechten Seite finden Sie die Variablen dargestellt, deren Werte in der jeweiligen Zeile geändert werden.
Die Darstellung ist dieselbe, wie im Deklarationsteil. D.h. wenn die Steuerung läuft, dann werden die momentanen Werte der jeweiligen Variablen dargestellt.
Beim Monitoring von Ausdrücken oder Bit-adressierten Variablen ist folgendes zu beachten: Bei Ausdrücken wird stets der Wert des gesamten Ausdrucks dargestellt.
Beispiel: a AND b wird als blau bzw. mit ":=TRUE" angezeigt, wenn a und b TRUE sind). Bei Bit-adressierten Variablen wird immer der angesprochene Bit-Wert gemonitort (z.B. wird a.3 blau bzw. mit :=TRUE dargestellt, wenn a den Wert 4 hat).
Wenn Sie den Mauszeiger eine kurze Zeit über einer Variablen halten, wird der Typ, die Adresse und der Kommentar der Variablen in einem Tooltip angezeigt.
'Extras' 'Monitoring Einstellungen'
Mit diesem Befehl können Sie Ihr Monitoring-Fenster konfigurieren. In den Texteditoren wird beim Monitoring das Fenster aufgeteilt in eine linke Hälfte, in der das Programm steht, und eine rechte Hälfte, in der alle Variablen, die in der entsprechenden Programmzeile stehen, gemonitort werden. Sie können einstellen, welche Breite der Monitoring-Bereich im Textfenster bekommen soll, und welchen Abstand zwei Monitoring-Variablen in einer Zeile haben sollen. Die Abstandsangabe 1 entspricht dabei einer Zeilenhöhe in der gewählten Schriftart.
Monitoring Einstellungen-Dialog
Breakpointpositionen im Texteditor
Da intern in TwinCAT PLC Control mehrere AWL-Zeilen zu einer C-Code-Zeile zusammengefaßt werden, können nicht in jeder Zeile Breakpoints gesetzt werden. Breakpointpositionen sind alle Stellen im Programm, an denen sich Variablenwerte ändern können oder an denen der Programmfluß verzweigt (Ausnahme: Funktionsaufrufe. Hier muss gegebenenfalls ein Breakpoint in der Funktion gesetzt werden). An den dazwischenliegenden Positionen ist ein Breakpoint auch nicht sinnvoll, da sich an den Daten seit der vorhergehenden Breakpointposition nichts geändert haben kann. Damit ergeben sich folgende Breakpointpositionen in der AWL:
- Am Anfang des Bausteins
- Auf jedem LD, LDN (oder falls ein LD direkt nach einer Marke steht, auf dieser)
- Bei jedem JMP, JMPC, JMPCN· Bei jeder Marke
- Bei jedem CAL, CALC, CALCN
- Bei jedem RET, RETC, RETCN
- Am Ende des Bausteins
Für Strukturierten Text ergeben sich folgende Breakpointpositionen:
- Bei jeder Zuweisung
- Bei jeder RETURN und EXIT-Anweisung
- in Zeilen, in denen Bedingungen ausgewertet werden (WHILE, IF, REPEAT)
- Am Ende des Bausteins
Breakpoint Positionen sind dadurch gekennzeichnet, dass das Zeilennummernfeld in einem dunkleren Grau dargestellt ist.
AWL-Editor mit möglichen Breakpointpositionen (dunklere Nummernfelder)
Wie setzt man einen Breakpoint?
Um einen Breakpoint zu setzen, klickt der Anwender mit der Maus das Zeilennummernfeld der Zeile an, in der er den Breakpoint setzen möchte. Ist das ausgewählte Feld eine Breakpointposition, so wechselt die Farbe des Zeilennummernfeldes von dunkelgrau nach hellblau und der Breakpoint wird in der Steuerung aktiviert.
Löschen von Breakpoints
Entsprechend wird, um einen Breakpoint zu löschen, das Zeilennummernfeld der Zeile mit dem zu löschenden Breakpoint angeklickt. Setzen und Löschen von Breakpoints kann auch über Menü ('Online' 'Breakpoint an/aus'), über Funktionstaste <F9> oder das Symbol in der Funktionsleiste ausgewählt werden.
Was passiert an einem Breakpoint?
Ist in der Steuerung ein Breakpoint erreicht, so wird am Bildschirm der Ausschnitt mit der entsprechenden Zeile dargestellt. Das Zeilennummernfeld der Zeile, in der die Steuerung steht, ist rot.
In der Steuerung stoppt die Bearbeitung des Anwenderprogramms. Steht das Programm auf einem Breakpoint, so kann die Bearbeitung mit 'Online' 'Start' fortgesetzt werden.
Außerdem kann mit 'Online' 'Einzelschritt über' bzw. 'Einzelschritt in' nur bis zur nächsten Breakpointposition gegangen werden. Ist die Anweisung, auf der man steht, ein CAL-Befehl oder steht in den Zeilen bis zur nächsten Breakpointposition ein Funktionsaufruf, so wird dieser mit 'Einzelschritt über' übersprungen, mit 'Einzelschritt in' wird in den aufgerufenen Baustein verzweigt.
Zeilennummern des Texteditors
Die Zeilennummern des Texteditors geben die Nummer jeder Textzeile einer Implementierung eines Bausteins an. Im Offline Modus markiert ein einfacher Klick auf eine spezielle Zeilennummer die gesamte Textzeile. Im Online Modus zeigt die Hintergrundfarbe der Zeilennummer den Breakpoint-Zustand jeder Zeile an:
- dunkelgrau: Diese Zeile ist eine mögliche Position für einen Breakpoint.
- hellblau: in dieser Zeile wurde ein Breakpoint gesetzt.
- rot: die Programmabarbeitung befindet sich an diesem Punkt.
Im Online Modus wechselt ein einfacher Mausklick den Breakpointzustand dieser Zeile.