Beispiel 1: Testfall für Counter
In diesem Beispiel wird ein Test für den folgenden ST-Code erstellt und ausgeführt:
FUNCTION_BLOCK testCounter
VAR
/* If 'up' = 'TRUE', counter counts up. */
up : BOOL;
/* 'count' is incremented/decremented by '1' for each cycle. */
count : INT;
END_VAR
IF up THEN
count := count + 1;
ELSE
count := count - 1;
END_IF;
END_FUNCTION_BLOCK
Dieser ST-Code entspricht jenem im Program Counter, das aufgrund des Beispielprojekts für die integrierte SPS Zähler (ST) erstellt wird. Aufgrund der Einschränkungen für Programme wurde der ST-Code jedoch in einen Funktionsbaustein übertragen.
So testen Sie den obigen Funktionsbaustein testCounter:
Erstellen Sie die Testsuite für testCounter mit Hilfe des Befehls Testsuite erstellen. Details: Siehe "Testsuite erstellen".
Ergebnis: Die Testsuite-Datei testCounter.test und die Excel-Datei testCounter.xlsm sind im gleichen Ordner wie das ST-Objekt vorhanden.Öffnen Sie die Excel-Datei, geben Sie die Testdaten im bereits vorhandenen Arbeitsblatt test testCounter ein und speichern Sie die geänderte Excel-Datei.
Hier das Arbeitsblatt, wie es automatisch für testCounter erzeugt wurde:
Das Arbeitsblatt enthält bereits sowohl die Spalten für die Variablen, die Eingangsdaten liefern, als auch die Spalten für die Ausgänge (= erwartete Ergebnisse). Da count sowohl gelesen als auch darauf geschrieben wird, sind 2 Spalten für count vorhanden.
Sie entscheiden, wie viele Testsequenzen und welche Testdaten Sie für den Test eingeben. In diesem Beispiel wurden die folgenden Testsequenzen und Testdaten eingegeben:
Die Excel-Datei enthält auch andere Arbeitsblätter, die in diesem Beispiel nicht verwendet werden. Informationen über diese Arbeitsblätter finden Sie unter "Struktur der Excel-Testsuite, Arbeitsblätter bearbeiten".Übernehmen Sie alle Testdaten aus der Excel-Datei in die Testsuite-Datei testCounter.test, in dem Sie die Excel-Datei importieren. Details: Siehe "Testsuite auf Basis der Excel-Datei für die Testdurchführung erstellen".
Lassen Sie den Test ausführen, z.B. einen SiL-Test mit Testabdeckung. Details: Siehe "Test ausführen".
Ergebnis der Testausführung: Die Konsole zeigt den Fortschritt und das Ergebnis der Testausführung.
Falls Fehlermeldungen angezeigt werden, ist wahrscheinlich eine andere Version von logi.CAD 3 gestartet und/oder die Anwendung wurde bereits auf die SPS geladen. Siehe "Test ausführen" für die erforderlichen Schritte.Kontrollieren Sie die Testausführung. Details: Siehe "Testausführung kontrollieren".
Bei einem SiL-Test mit Testabdeckung können Sie zusätzlich die Testabdeckung im Editor anzeigen lassen. Für das Beispiel wird diese Testabdeckung angezeigt:
Für eine vollständige Testabdeckung der IF-Anweisung wären eigentlich nur 2 Testsequenzen im Test nötig. Lesen Sie unter "Anzeige der Testabdeckung im Editor" für Details nach.