SPS-Programmierkonventionen

In der Welt der Programmiersprachen gibt es verschiedene Konventionen, die abhängig vom Tooling, Fokus und Ursprung der Programmiersprache sowie von der Branche, in der die Anwendung verwendet wird, Beachtung finden.

In Anlehnung an allgemein anerkannte Programmierrichtlinien (zum Beispiel die MISRA C++ 2008 – Guidelines[…], die Java Code Conventions, den C# Programming Guide oder PLCopen) finden Sie im Folgenden Programmierhinweise, die die Erstellung von optimalem und funktionstüchtigem SPS-Programmcode erleichtern.

Beachten Sie die SPS-Programmierkonventionen, um die folgenden Vorteile zu erreichen:

Neue Beckhoff TwinCAT 3 SPS Bibliotheken, Programmbeispiele und Applikationen richten sich nach diesen „TwinCAT 3 SPS-Programmierkonventionen“.

Ausnahmen:

Klassifizierung

Die SPS-Programmierkonventionen sind in die folgenden Kapitel unterteilt:

Innerhalb jedes Kapitels gibt es Unterkapitel, welche wiederum eine Auflistung von Themenpunkten beinhalten.

Die einzelnen Themenpunkte sind klassifiziert als

Als Vorschrift klassifizierte Themenpunkte müssen Sie zwingend umsetzen. Empfehlungen sollten möglichst immer umgesetzt werden, weil sie aus verschiedenen Gründen ratsam sind.

Statische Codeanalyse

Um das Risiko von Laufzeitfehlern zu reduzieren, sollte der Code mindestens mithilfe der kostenfreien Variante der statischen Codeanalyse (Static Analysis Light) überprüft werden. Diese ist ab TwinCAT 3.1 Build 4018 enthalten und enthält einen minimalen Umfang zur Codeüberprüfung. Mit Hilfe des vollen Funktionsumfangs von TE1200 PLC Static Analysis ist darüber hinaus eine detailliertere Überprüfung der Programmierkonventionen möglich (siehe folgenden Abschnitt).

Überprüfung der Programmierkonventionen mit Hilfe von TE1200 PLC Static Analysis

TE1200 PLC Static Analysis bietet die Möglichkeit zu vielseitigen Prüfungen des SPS-Programmcodes. Mit Hilfe dieser Funktionalitäten kann die Einhaltung vieler Vorschriften, Empfehlungen und Namenskonventionen der SPS-Programmierkonventionen überprüft werden.

Unterkapitel Programmierung

Soweit vorhanden wird zu jeder Vorschrift/Empfehlung die entsprechende Regel seitens Static Analysis genannt, mit Hilfe derer die Einhaltung der Vorschrift/Empfehlung überprüft werden kann.

Siehe auch:

Unterkapitel Namenskonventionen

Soweit vorhanden wird zu jeder Namenskonvention die ID des Static Analysis Konfigurationsfeldes genannt, in das der jeweilige empfohlene Namenspräfix eingetragen werden muss. Dadurch kann ein Großteil der empfohlenen Präfixe für POUs, DUTs, Variablen und Instanzen vom Static Analysis überprüft werden.

Siehe auch:

Pragmas und Attribute

Beachten Sie auch die Möglichkeit, Static Analysis Regeln und Namenskonventionen für überprüfte Stellen, an denen eine bestimmte Regel/Namenskonvention nicht mehr gemeldet werden soll, lokal per Pragma oder Attribut zu deaktivieren (siehe auch: Kapitel Pragmas und Attribute in TE1200 PLC Static Analysis). Eine lokale Deaktivierung kommentieren Sie optimalerweise mit entsprechender Begründung.

Download Static Analysis Konfigurationsdatei

1) Vorschriften und Empfehlungen

Über den folgenden Link können Sie eine vorgefertigte Static Analysis Konfigurationsdatei herunterladen, in der die Vorschriften [++] und Empfehlungen [+] der Programmierkonventionen als Regeln aktiviert sind. Ein Verstoß gegen eine Vorschrift wird nach Ausführung des Static Analysis als Fehler ausgegeben, ein Verstoß gegen eine Empfehlung ist als Warnung klassifiziert.

TE1200_PrgConv_Rules.zip

2) Vorschriften, Empfehlungen und Namenskonventionen

Über den folgenden Link können Sie eine vorgefertigte Static Analysis Konfigurationsdatei herunterladen, in der die Vorschriften [++], Empfehlungen [+] und Namenskonventionen der Programmierkonventionen als Regeln aktiviert sind. Ein Verstoß gegen eine Vorschrift oder eine Namenskonvention wird nach Ausführung des Static Analysis als Fehler ausgegeben, ein Verstoß gegen eine Empfehlung ist als Warnung klassifiziert.

TE1200_PrgConv_RulesPlusNamingConv.zip

Weitere Regeln

Zusätzlich zu den Regeln, die innerhalb der folgenden Programmierkonventionen explizit erwähnt werden, bietet das TE1200 viele weitere nützliche Regeln, mit denen Flüchtigkeitsfehler oder allgemeine Programmierfehler frühzeitig aufgedeckt werden können. Dazu zählen u.a. die folgenden Regeln.