Für diejenigen, die mit der neuen Tool Sammlung S7UnitTest und PLCSIM Advanced automatisiert F Netzwerke prüfen wollen möchte ich folgenden Tipp geben.
Angenommen man möchte das nachfolgende FUP Netzwerk im fiktiven F Baustein fb_f_test (db_f_test) prüfen.
x_test_1 AND x_test_2 := x_test_result
Dann könnte die Prüfanweisung in S7UnitTest wie folgt aussehen:
Schritt 1 (SPS Zyklus 1):
setze INPUT db_f_test.x_test_1 auf TRUE
setze INPUT db_f_test.x_test_2 auf TRUE
Schritt 2 (SPS Zyklus 2):
prüfe OUTPUT db_f_test.x_test_result auf TRUE
Und nun kommt der wichtige Teil.
Bei einer Standard F Ablaufgruppe würde der Test als Ergebnis "Nicht bestanden" ausgeben.
Hintergrund ist, dass das TIA Portal per Standard eine F Ablaufgruppe mit einem Weckalarm-OB anlegt, dies führt jedoch dazu, dass die Bedingungen im zweiten SPS Zyklus (Prüf Zyklus) noch nicht erfüllt sind, da der Weckalarm-OB in festen Zeitscheiben (Standard 100 Millisekunden) aufgerufen wird.
Dementsprechend ist es wichtig, dass die F Ablaufgruppe mit einem Zyklus-OB parametriert wird.
Angenommen man möchte das nachfolgende FUP Netzwerk im fiktiven F Baustein fb_f_test (db_f_test) prüfen.
x_test_1 AND x_test_2 := x_test_result
Dann könnte die Prüfanweisung in S7UnitTest wie folgt aussehen:
Schritt 1 (SPS Zyklus 1):
setze INPUT db_f_test.x_test_1 auf TRUE
setze INPUT db_f_test.x_test_2 auf TRUE
Schritt 2 (SPS Zyklus 2):
prüfe OUTPUT db_f_test.x_test_result auf TRUE
Und nun kommt der wichtige Teil.
Bei einer Standard F Ablaufgruppe würde der Test als Ergebnis "Nicht bestanden" ausgeben.
Hintergrund ist, dass das TIA Portal per Standard eine F Ablaufgruppe mit einem Weckalarm-OB anlegt, dies führt jedoch dazu, dass die Bedingungen im zweiten SPS Zyklus (Prüf Zyklus) noch nicht erfüllt sind, da der Weckalarm-OB in festen Zeitscheiben (Standard 100 Millisekunden) aufgerufen wird.
Dementsprechend ist es wichtig, dass die F Ablaufgruppe mit einem Zyklus-OB parametriert wird.