Strukturierung von Programmelementen
Jede neue Anweisung/Deklaration sollte in einer neuen Zeile beginnen.
Im Folgenden wird die Strukturierung von Programmelementen (u.a. POUs, DUTs, GVLs) mithilfe von Textblöcken, Textabschnitten und Textregionen erläutert.
Textblöcke
- In Textblöcken werden thematisch zusammenhängende Deklarationen, Zuordnungen oder Aufrufe mit jeweils einem bzw. keinem Parameter gebündelt.
- Aufrufe mit mehr als einem Parameter, Anweisungen (wie z. B. IF oder CASE) und Schleifen werden jeweils in separaten Textblöcken dargestellt.
- Jeder Textblock beginnt und endet mit einer Leerzeile.
- Textblöcke können innerhalb einer Textregion mithilfe der Tabulatortaste um eine Ebene eingerückt werden, sofern Sie den Vorteil nutzen möchten, den Code unterhalb des Regionenkommentars einklappen zu können. Falls Sie die Einrückung verwenden, sollte dies innerhalb der POU durchgängig umgesetzt werden.
Textabschnitte
- In Textabschnitten werden thematisch zusammenhängende Textblöcke gebündelt.
- Jeder Textabschnitt beginnt und endet mit einer Leerzeile.
- Die erste Zeile eines Textabschnitts kommentiert die folgenden Textblöcke.
- Textabschnitte können innerhalb einer Textregion mithilfe der Tabulatortaste um eine Ebene eingerückt werden, sofern Sie den Vorteil nutzen möchten, den Code unterhalb des Regionenkommentars einklappen zu können. Falls Sie die Einrückung verwenden, sollte dies innerhalb der POU durchgängig umgesetzt werden.
Textregionen
- In Textregionen werden thematisch verwandte Textabschnitte gebündelt.
- Jede Textregion beginnt und endet mit einer Trennlinie innerhalb eines Kommentars.
- Die erste Zeile unterhalb der Trennlinie kommentiert die folgenden Textabschnitte und damit die Textregion. Dieser Regionenkommentar befindet sich auf einer Ebene mit den darüber liegenden Kommentarzeichen.
- Regionenkommentare werden nicht eingerückt. Falls die in der Region enthaltenen Textblöcke und -abschnitte eingerückt sind, können so bis auf den Regionenkommentar alle Zeilen der Textregion ein- bzw. ausgeklappt werden.
Beispiel
Es gibt 2 Textregionen („Drill settings“ und „Conveyor settings“) mit jeweils 2 Textabschnitten (jeweils: „Positions“ und „Velocities“). In der Textregion „Drill settings“ besteht der Textabschnitt „Velocities“ aus 2 Textblöcken (thematisch zusammenhängende Zuordnungen und eine IF-Anweisung).
Programmcode:
//=========================================================
// Drill settings
// Positions
fbDrill.nPositionLower := 100;
fbDrill.nPositionTop := 500;
// Velocities
fbDrill.fVelocityRated := 40.0;
fbDrill.fVelocityMax := 100.0;
IF fbDrill.fVelocityAverage > fbDrill.fVelocityRated THEN
bWarning := TRUE;
sWarning := 'Drill velocity: Average exceeded rated';
END_IF
//=========================================================
// Conveyor settings
// Positions
fbConveyor.nPositionFilling := 50;
fbConveyor.nPositionDrill := 200;
fbConveyor.nPositionDischarge := 300;
// Velocities
fbConveyor.fVelocityRated := 75.5;
//=========================================================
Ausgeklappte Textregionen:
Eingeklappte Textregionen:
Siehe auch:
- Alternative Möglichkeit zur Realisierung einer Einklappbarkeit: Region-Pragma