Funktionsbaustein TON testen
Dieses Beispiel zeigt die Prüfung des Standardfunktionsbausteins TON
der Bibliothek Standard
. Der Testcode wird mit einer Testtabelle konfiguriert.
Objekt Testtabelle für den Prüfling TON einfügen
Erstellen Sie in CODESYS ein neues Standardprojekt.
Selektieren Sie das Objekt Applikation im Gerätebaum.
Wählen Sie den Befehl
.Wählen Sie das Objekt Testtabelle aus.
Der Dialog Testtabelle hinzufügen öffnet sich.
Geben Sie in das Eingabefeld von Name einen an.
Beispiel:
Test_TON
Klicken Sie bei der Einstellung Prüfling auf die Schaltfläche
.
Der Dialog Eingabehilfe öffnet sich.
Wählen Sie aus der Bibliothek
Standard
den BausteinTON
aus.Aktivieren Sie die Option Mit Namensraum-Präfix einfügen.
Beenden Sie den Dialog mit OK.
Im Dialog Testtabelle einfügen ist als Prüfling der Funktionsbaustein
Standard.TON
bestimmt. Da der Namensraum der Bibliothek dem FB-Namen vorangestellt ist, ist der Zugriff auf den Baustein eindeutig.Klicken Sie auf die Schaltfläche Prüfling durchsuchen.
Unter Auswählen aus verfügbaren Eingängen und Ausgängen erscheint eine Liste mit allen Eingängen und Ausgängen des Funktionsbausteins.
Aktivieren Sie alle Eingänge und Ausgänge.
Die aktivierten Eingänge und Ausgänge werden in der Registerkarte Tabelleneditor als Spalten erscheinen, um Ihnen die Konfiguration der Eingangs- und Ausgangsbelegung zu erleichtern. Es werden aber die Bedingungswerte bei den Eingängen und die Sollwerte bei den Ausgängen fehlen.
Bestätigen Sie den Dialog mit Hinzufügen.
Die Testtabelle
Test_TON
mit dem PrüflingTON
wurde unterhalb der Applikation eingefügt.Im Editor erscheint die Registerkarte Tabelleneditor mit den automatisch konfigurierten Spalten
IN
,PT
,Q
,ET
. Für die aktivierten Eingänge und Ausgänge wurde eine Spalte konfiguriert. Eingänge haben den Spaltentyp Zuweisung erhalten. Es fehlen die Zuweisungen der Bedingungswerte. Ausgänge haben den Spaltentyp Prüfung erhalten. Es fehlen die Prüfungswerte für die Soll-Ist-Vergleiche.
Testtabelle konfigurieren
Voraussetzung: Die Applikation enthält eine Testtabelle.
Doppelklicken Sie auf das Testtabellenobjekt.
Wählen Sie im Editor die Registerkarte Tabelleneditor.
Selektieren Sie die Zeile
<Zum Erzeugen eines Testfalls klicken> und geben Sie den Namen
Test case 1
ein.Der Testfall
Test case 1
und darunter ein Testschritt werden eingefügt.Selektieren Sie den Testschritt
<Zum Erzeugen eines Testschritts editieren> und geben Sie
Step1: Reset counter
ein. Berücksichtigen Sie, dass ein Testschrittname Leerzeichen enthalten darf. Er entspricht also eher einem Kommentar und nicht einem Bezeichner.Der Testschritt erscheint mit Dauer einfach und aktiviertem Aufruf. Darunter erscheint noch ein leerer Testschritt als Eingabeunterstützung für einen weiteren Testschritt.
Doppelklicken Sie in der Zeile des Testschritts in die Spalte
IN
.Eine Auswahlliste erscheint, die sinnvolle Belegungen für die Spalte enthält. Da es sich bei
IN
um einen Eingang (TypBOOL
) handelt, können Sie aus einer Liste von Zuweisungen der WerteTRUE
oderFALSE
auswählen.Wählen Sie die Option
:= FALSE
.Die Eingangsbedingung ist konfiguriert: Beim Testlauf wird dem Eingang der Wert
FALSE
zugewiesen.Doppelklicken Sie in der Zeile des Testschritts in die Spalte
Q
.Eine Auswahlliste erscheint, die sinnvolle Belegungen für die Spalte enthält. Da es sich bei
Q
um einen Augang (TypBOOL
) handelt, können Sie aus einer Liste von Prüfungen der WerteTRUE
,FALSE
und deren Übergängen auswählen.Daneben erscheint einen weitere Auswahlliste, die verschiedene Testlaufszenarien (Testmode) enthält, die bei Erreichen des Ausgangswerts ablaufen werden, beispielsweise Testfall abbrechen. Die Voreinstellung ist
--
. Dann wird einfach der nächste Testschritt ausgeführt (Nicht gesetzt).Doppelklicken Sie in der Zeile des Testschritts in die Spalte
ET
.Ein Satz an Auswahllisten erscheint, die sinnvolle Belegungen für die Spalte enthält. Da es sich bei
ET
um einen Augang (TypTIME
) handelt, können Sie aus einer Liste von Prüfungen eine Vergleich editieren.Als letzte Auswahlliste erscheint die mit verschiedene Testlaufszenarien (Testmode).
Geben Sie die Prüfung
= T#0s
ein.Weisen Sie dem Testschritt Step 1: Reset counter folgende Werte zu:
Dauer: Einfach
Aufruf:
Der Zählerbaustein wird beim Test mit den Eingangsbelegungen ausgeführt und die Ausgangsbelegungen überprüft.
Selektieren Sie die Zeile unter Step 1
<Zum Erzeugen eines Testschritts editieren> und geben Sie
Check counter 1
ein.Weisen Sie im Testschritt Step 2: Check counter 1 den Eingangsvariablen und den Ausgangsvariablen ebenfalls Werte zu. Doppelklicken Sie dafür (in der Zeile des Testschritts) in die zugehörige Spalte. Ein Eingabefeld entsprechend dem Datentyp der Spalte erscheint.
Dauer:
T#10s
(Die Option Zeit wählen und einen Wert eingeben.)Aufruf:
IN
:= TRUE Set true [t]
PT
:=T#10s
Q
= FALSE Is false [f]
ET ↗
Increasing [i]
Bei Testausführung wird der Prüfling 10 Sekunden lang aufgerufen. Außerdem wird geprüft, ob während dieser Zeit der Ausgang Q auf
FALSE
bleiben und ob der Ausgang ET monoton ansteigt.Weisen Sie für die Eingangsvariablen und Ausgangsvariablen Werte zu. Doppelklicken Sie dafür (in der Zeile des Testschritts) in die zugehörige Spalte. Ein Eingabefeld entsprechend dem Datentyp der Spalte erscheint.
Dauer:
T#10s
(Die Option Zeit wählen und einen Wert eingeben.)Aufruf:
IN:
--- Skip []
PT:
--- Skip []
Q:
:= TRUE Is true [t]
ET:
= T#10s
Bei Testausführung wird der Prüfling 10 Sekunden lang aufgerufen. Es wird geprüft, ob der Ausgang Q nach 10 s auf
TRUE
ist und der Ausgang ET den WertT#10s
hat.
Unittest ausführen
Erstellen Sie dafür ein neues Testskript.
Führen Sie den Befehl
aus.Die Ansicht Test Manager öffnet sich.
Selektieren Sie den Eintrag Testskripte und führen Sie den Befehl aus.
Ein neues Testskript wird hinzugefügt.
Führen Sie einen Doppelklick auf das neue Testskript aus.
Das Testskript öffnet im Editor.
Selektieren Sie das Testskript im Editor und führen Sie den Befehl
aus.Ein
IEC-Unittest wird dem Testskript hinzugefügt.
Klicken Sie auf die Schaltfläche Speichern + Starten.
Das Testskript wird gespeichert ausgeführt.
Ein Testreport wird erstellt, in dem die Testergebnisse zusammengefasst sind.