Skip to main content

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

  1. Erstellen Sie in CODESYS ein neues Standardprojekt.

  2. Selektieren Sie das Objekt Applikation im Gerätebaum.

  3. Wählen Sie den Befehl Projekt → Objekt hinzufügen.

  4. Wählen Sie das Objekt Testtabelle aus.

    Der Dialog Testtabelle hinzufügen öffnet sich.

  5. Geben Sie in das Eingabefeld von Name einen an.

    Beispiel: Test_TON

  6. Klicken Sie bei der Einstellung Prüfling auf die Schaltfläche _cds_icon_three_dots.png.

    Der Dialog Eingabehilfe öffnet sich.

  7. Wählen Sie aus der Bibliothek Standard den Baustein TON aus.

  8. Aktivieren Sie die Option Mit Namensraum-Präfix einfügen.

  9. 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.

  10. 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.

  11. 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.

  12. Bestätigen Sie den Dialog mit Hinzufügen.

    Die Testtabelle Test_TON mit dem Prüfling TON 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.

  1. Doppelklicken Sie auf das Testtabellenobjekt.

  2. Wählen Sie im Editor die Registerkarte Tabelleneditor.

  3. Selektieren Sie die Zeile tm_icon_test_case.png <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.

  4. Selektieren Sie den Testschritt tm_icon_test_step.png <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.

  5. 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 (Typ BOOL) handelt, können Sie aus einer Liste von Zuweisungen der Werte TRUE oder FALSE auswählen.

  6. Wählen Sie die Option := FALSE.

    Die Eingangsbedingung ist konfiguriert: Beim Testlauf wird dem Eingang der Wert FALSE zugewiesen.

  7. 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 (Typ BOOL) handelt, können Sie aus einer Liste von Prüfungen der Werte TRUE, 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).

  8. 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 (Typ TIME) handelt, können Sie aus einer Liste von Prüfungen eine Vergleich editieren.

    Als letzte Auswahlliste erscheint die mit verschiedene Testlaufszenarien (Testmode).

  9. Geben Sie die Prüfung = T#0s ein.

  10. Weisen Sie dem Testschritt Step 1: Reset counter folgende Werte zu:

    • Dauer: Einfach

    • Aufruf: standard icon

    Der Zählerbaustein wird beim Test mit den Eingangsbelegungen ausgeführt und die Ausgangsbelegungen überprüft.

  11. Selektieren Sie die Zeile unter Step 1 tm_icon_test_step.png <Zum Erzeugen eines Testschritts editieren> und geben Sie Check counter 1 ein.

  12. 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: standard icon

    • IN:= TRUE Set true [t]

    • PT:=T#10s

    • Q = FALSE Is false [f]

    • ETIncreasing [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.

  13. 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: standard icon

    • 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.

  1. Führen Sie den Befehl Tools → Testmanager aus.

    Die Ansicht Test Manager öffnet sich.

  2. Selektieren Sie den Eintrag Testskripte und führen Sie den Befehl Test Manager → Testskript erstellen aus.

    Ein neues Testskript wird hinzugefügt.

  3. Führen Sie einen Doppelklick auf das neue Testskript aus.

    Das Testskript öffnet im Editor.

  4. Selektieren Sie das Testskript im Editor und führen Sie den Befehl Test Manager → IEC Unittest hinzufügen aus.

    Ein _tm_icon_iec_unit_test.png IEC-Unittest wird dem Testskript hinzugefügt.

  5. Klicken Sie auf die Schaltfläche Speichern + Starten.

    Das Testskript wird gespeichert ausgeführt.

    Ein Testreport wird erstellt, in dem die Testergebnisse zusammengefasst sind.