Die folgenden Abfragen sind standardmäßig verfügbar (mit der Installation von EcoStruxure Machine Expert).
Gruppe: Complex Type Name Checks
oPrüfung, ob die anwenderdefinierten Objekte den konfigurierten Regeln entsprechen.
oBeispiel: Enumerationen müssen mit ET_ starten. Beispiel: ET_MyTestEnumeration.
Name |
Präfix |
---|---|
Complex Type Name (Enumeration) |
ET_ |
Complex Type Name (Function) |
FC_ |
Complex Type Name (Function block) |
FB_ |
Complex Type Name (Interface) |
IF_ |
Complex Type Name (Program) |
SR_ |
Complex Type Name (Struct) |
ST_ |
Complex Type Name (TestCase) |
TC_ |
Complex Type Name (TestResource) |
TR_ |
Complex Type Name (TestSeries) |
TS_ |
Complex Type Name (TestSet) |
TS_ |
Complex Type Name (Union) |
UT_ |
Gruppe: Variable Name Checks (Complex Types) und Variable Name Checks (Elementary Types)
oVariablennamen müssen mit einem Präfix versehen werden, bestehend aus dem Bereich (lokal, Eingang, Ausgang, Ein-/Ausgang usw.) und dem Variablen-Datentyp. Beispiel: q_ für Eingangsvariablen und ar für Variablen vom Typ Array -> q_arMyVariable.
oCodierungsrichtlinien empfehlen, Variablen mit einem Präfix auszustatten.
Name |
Präfix |
---|---|
Variable Name (Array) |
ar |
Variable Name (Enumeration) |
et |
Variable Name (FunctionBlock) |
fb |
Variable Name (Interface) |
if |
Variable Name (Pointer) |
p |
Variable Name (Reference) |
r |
Variable Name (Struct) |
st |
Variable Name (TestCase) |
tc |
Variable Name (Union) |
ut |
Name |
Präfix |
---|---|
Variable Name (BIT) |
x |
Variable Name (BOOL) |
x |
Variable Name (BYTE) |
b |
Variable Name (DATE) |
dat |
Variable Name (DINT) |
di |
Variable Name (DT) |
dt |
Variable Name (DWORD) |
dw |
Variable Name (INT) |
i |
Variable Name (LINT) |
li |
Variable Name (LREAL) |
lr |
Variable Name (LTIME) |
ltim |
Variable Name (LWORD) |
lw |
Variable Name (REAL) |
r |
Variable Name (SINT) |
si |
Variable Name (STRING) |
s |
Variable Name (TOD) |
tod |
Variable Name (UDINT) |
udi |
Variable Name (UINT) |
ui |
Variable Name (ULINT) |
uli |
Variable Name (USINT) |
usi |
Variable Name (WORD) |
w |
Variable Name (WSTRING) |
ws |
Name |
Beschreibung |
---|---|
Inheritance Depth Limit |
Beschreibung: Stellen Sie für jede Schnittstelle und jeden Funktionsbaustein sicher, dass die Vererbungstiefe (Erweiterungskantenkette) die Grenze nicht anhebt. Anwendungsfall: Prüfen Sie die Grenze der Vererbungstiefe, um zu komplexe und zu tiefe Strukturen zu vermeiden, die eine Verwaltbarkeit unmöglich machen. Beispiel: FB1 erweitert FB2, der FB3 erweitert, der FB4 erweitert. |
Variable Length Check |
Beschreibung: Prüfen Sie die Länge jeder Variablen, um sicherzustellen, dass die vorgeschlagene Längengrenze nicht angehoben wird. Anwendungsfall: Prüfen Sie die Länge der Variablennamen, um die Lesbarkeit des Quellcodes zu erhöhen und dadurch die Verwaltbarkeit zu verbessern. Beispiel: Gute Variable wie iCounterVariable1. Nicht funktionsfähige Variable wie iAnotherToLengthCounter1Variable. |
Number Of Method Limit |
Beschreibung: Prüfen Sie die Anzahl der definierten Methoden, z. B. für einen Funktionsbaustein, um sicherzustellen, dass die vorgeschlagene Längengrenze nicht angehoben wird. Anwendungsfall: Zu viele Methoden unter einem Funktionsbaustein sind ein Zeichen dafür, dass ein Refactoring des Funktionsbausteins für die Implementierung von nur einer Funktion erforderlich ist. |
Number Of Properties Limit |
Beschreibung: Prüfen Sie die Anzahl der definierten Eigenschaften, z. B. für einen Funktionsbaustein, um sicherzustellen, dass die vorgeschlagene Längengrenze nicht angehoben wird. Anwendungsfall: Zu viele Eigenschaften unter einem Funktionsbaustein sind ein Zeichen dafür, dass ein Refactoring des Funktionsbausteins für die Implementierung von nur einer Funktion erforderlich ist. |
Name |
Beschreibung |
---|---|
Input Variable Read Check |
Beschreibung: Prüfen Sie jede Eingangsvariable, um festzustellen, ob sie von außerhalb der POU gelesen wird. Anwendungsfall: Codierungsrichtlinien empfehlen, die Eingangsvariable einer POU nicht zu lesen. |
Input Variable Writes Check |
Beschreibung: Prüfen Sie jede Eingangsvariable, um festzustellen, ob sie von innerhalb der POU, in der sie definiert ist, geschrieben wird. Anwendungsfall: Codierungsrichtlinien empfehlen, eine Eingangsvariable nicht von innerhalb einer POU zu schreiben. |
Output Variable Read Check |
Beschreibung: Prüfen Sie jede Ausgangsvariable, um festzustellen, ob sie von innerhalb der POU gelesen wird. Anwendungsfall: Gemäß den Codierungsrichtlinien sollte keine Ausgangsvariable aus einer POU ausgelesen werden. |
Unused Variables Check |
Beschreibung: Prüfen Sie die Variablen, um festzustellen, ob sie im kompletten Projekt weder gelesen noch geschrieben werden (-> nicht verwendete Variablen). Anwendungsfall: Identifizieren Sie nicht verwendete Variablen und signalisieren Sie sie, bereinigen Sie das Projekt und verbessern Sie die Codequalität. |