Unit-Tests für KOP- und SCL-Bausteine auf PLCSIM Advanced
Ein Baustein, der sich übersetzen lässt, kann trotzdem das Falsche tun. Coilmind speichert die Tests beim Projekt, führt sie auf PLCSIM Advanced aus und zeigt Ihnen, welche Prüfung fehlgeschlagen ist. KOP-Bausteine werden genauso behandelt wie SCL.
Kostenlos testenEin Testlauf, der von 0 bestanden, 2 fehlgeschlagen auf 2 / 2 bestanden geht. Ausschnitt aus der vollständigen aufgezeichneten Sitzung.
Warum fehlerfreies Übersetzen weniger beweist, als es scheint
Der Compiler prüft Datentypen, Operanden, Schnittstellen und Aufrufe. Er prüft nicht, was der Baustein über die Zeit tut. Die klassischen Fälle lassen sich alle ohne Warnung übersetzen:
- ›Eine TON-Instanz, die nur in einem IF-Zweig aufgerufen wird. Fällt die Bedingung weg, wird das Zeitglied nicht mehr bearbeitet und setzt sich nicht so zurück, wie Sie es erwartet haben.
- ›Eine Flankenauswertung (R_TRIG oder P_TRIG) in einem CASE-Zweig, der nicht in jedem Zyklus aktiv ist, sodass die Flanke verloren geht.
- ›Eine Selbsthaltung, die richtig setzt, deren Rücksetzen aber in einem Netzwerk steht, das in genau dem Zustand, auf den es ankommt, nie bearbeitet wird.
- ›Ein Ausgang, der nach einem Zyklus stimmt und nach zehn falsch ist, weil ein Wert von Zyklus zu Zyklus erhalten bleibt.
All das zeigt sich erst, wenn der Baustein über mehrere Zyklen mit echten Eingangswechseln läuft. Genau das macht ein Test im Simulator.
Wie ein Test aufgebaut ist
Tests liegen in .test.json-Dateien, die zum Projekt gehören. Jeder Test setzt Eingänge, lässt den Baustein eine Anzahl von Zyklen laufen und prüft die Ausgänge. Sie können zusehen, wie sich die Werte während des Tests ändern.
Sie können einen Test selbst schreiben oder Coilmind bitten, die Testsuite aus einer Beschreibung dessen zu entwerfen, was der Baustein tun soll. Danach lädt es in PLCSIM Advanced und führt die Suite dort aus.
Beschreiben Sie das Verhalten, oder nennen Sie Coilmind den Baustein und seine Spezifikation.
Coilmind entwirft die Testfälle: Eingänge, Anzahl der Zyklen, erwartete Ausgänge.
Der Baustein wird in PLCSIM Advanced geladen und die Suite läuft.
Fehlgeschlagene Prüfungen werden aufgelistet, damit Sie wissen, welchen Fall Sie sich ansehen müssen.
KOP-Bausteine, nicht nur SCL
Die meisten Testwerkzeuge rund um das TIA Portal setzen SCL voraus, weil sich Text leichter analysieren lässt. Der Test läuft gegen den übersetzten Baustein im Simulator, deshalb spielt die Sprache, in der er geschrieben wurde, keine Rolle: Ein KOP-Baustein mit Zeitgliedern, Zählern und Selbsthaltungen wird genauso getestet wie einer in SCL.
So wird auch eine Neufassung von altem AWL geprüft: Die Tests des Originals laufen gegen den neuen SCL- oder KOP-Baustein, und sie müssen genauso bestehen.
Nur im Simulator
Coilmind lädt in PLCSIM Advanced und nirgendwohin sonst. Es lädt nie in echte Hardware, ein Test kann also keinen Aktor an einer laufenden Maschine bewegen.
Was Sie brauchen
- ›TIA Portal V17 bis V21 unter Windows, mit geöffnetem Projekt.
- ›PLCSIM Advanced V3 bis V6. Siemens verkauft es separat; Coilmind enthält es nicht.
- ›Einen beliebigen Coilmind-Plan. Tests gehören zum Produkt und sind kein Zusatzmodul.
Häufige Fragen
Brauche ich PLCSIM Advanced, oder reicht das normale PLCSIM?+
PLCSIM Advanced, Versionen V3 bis V6. Es wird separat bei Siemens gekauft. Ohne PLCSIM Advanced schreibt, importiert und übersetzt Coilmind weiterhin Bausteine, kann aber keine Tests ausführen.
Kann es KOP-Bausteine testen?+
Ja. Der Test läuft gegen den übersetzten Baustein im Simulator, deshalb werden KOP, SCL und aus AWL umgeschriebene Bausteine alle gleich getestet.
Kann ein Test in eine echte SPS schreiben?+
Nein. Coilmind lädt nur in PLCSIM Advanced, nie in echte Hardware.
Wo werden die Tests gespeichert?+
In .test.json-Dateien, die zum Projekt gehören. So bleiben sie beim Projekt und lassen sich nach der nächsten Änderung erneut ausführen.
Schreibt Coilmind die Tests für mich?+
Es kann eine Testsuite aus einer Beschreibung dessen entwerfen, was der Baustein tun soll. Sie prüfen sie wie jeden anderen generierten Code und können Fälle von Hand ändern oder ergänzen.
Gibt es Support auf Deutsch?+
Die Oberfläche von Coilmind gibt es auf Deutsch. Support-E-Mails beantworte ich auf Englisch. Schreiben Sie gern an support@svghmi.pro.
Weiterlesen
Testen Sie Ihren eigenen Baustein
Nehmen Sie einen Baustein, den Sie kennen, beschreiben Sie, was er tun soll, und sehen Sie, ob er auf PLCSIM Advanced besteht.
Kostenlos testen