Beispiele

Ein Beispielprojekt für das TF1140 steht Ihnen im Beckhoff-Github unter folgendem Link zur Verfügung: TF1140-Sample

Das Beispiel zeigt eine einfache Bibliothek, welche Funktionsbausteine für die Grundrechenarten zur Verfügung stellt. In dem Funktionsbaustein für die Addition (FB_Sum) ist zu diesem Zweck mit Absicht ein Fehler eingebracht (anstatt addiert wird subtrahiert).

Aufbau des Beispiels:

Beispiele 1:

Das Beispiel enthält ein TwinCAT-Projekt. In diesem sind zwei SPS-Projekte hinterlegt. Ersteres ist die eigentliche Bibliothek (SampleLib), die entwickelt wird und deshalb in diesem Beispiel getestet werden soll. Diese ist mit der Eigenschaft „Referenzierung des Projektes als Bibliothek erlauben“ markiert, welche es seit der TwinCAT Version 4026 gibt.

Beispiele 2:

Durch die Option ist es möglich, diese Bibliothek im selben TwinCAT-Projekt zu verwenden, ohne sie vorher auf dem System zu installieren. Dies vereinfacht das Testen vor allem in CI/CD Pipelines, da dieser zusätzliche Arbeitsschritt entfällt.
Um diesen Vorteil auszunutzen, ist es sinnvoll das Testprojekt für diese Bibliothek im selben TwinCAT-Projekt zu verwalten, so wie es im Beispiel gezeigt wird. Damit ist gegeben, dass der Quellcode für die Bibliothek und für die Tests im selben Source Code Repository verwaltet werden und somit auf dem aktuellen Stand sind.

Im Testprojekt selbst muss die zu testende Bibliothek entsprechend eingebunden werden. Referenzierte Bibliotheken werden im Bibliotheksverwalter mit eckigen Klammern und im Projekt selbst mit einem etwas dunkleren Icon dargestellt.

Beispiele 3:

Zusätzlich zur Bibliothek, die getestet werden soll, muss die Bibliothek Tc3_PlcTestFramework eingebunden werden. Diese wird bei der Installation des Testframeworks mit ausgeliefert und enthält die benötigten Basis-Klassen/Funktionsbausteine, sowie die Schnittstelle zu den Testclients (siehe Kapitel Technische Einführung).

Unter dem Ordner TestCases im UnitTest-SPS-Projekt finden Sie die einzelnen Testfunktionsbausteine, für die jeweiligen Bausteine in der Bibliothek. Diese müssen im Main-Programm instanziiert werden. Im Rumpf der Main-POU muss der Test-Controller-Baustein, der die Schnittstelle zu den Test-Clients bereitstellt, aufgerufen werden. Zum Ausführen der Tests gehen Sie vor wie im Kapitel Quickstart beschrieben.