Hallo Forumsmitglieder,
ich experimentiere gerade mit FCs und FBs im TIA-Portal v13.
Üblicherweise ist es mit einem FC doch nicht möglich, eine speichernde, bibliotheksfähige Funktion zu realisieren, weil ihr einfach die STATIC-Variablen in der Bausteinschnittstelle fehlen.
Ich habe aber mal interessehalber einfach eine INPUT-Variable mit einem SR-Baustein verknüpft und lasse diese INPUT-Variable damit speichernd setzen. Eigentlich hatte ich erwartet, einen Fehler beim Übersetzten zu bekommen und dass das Programm so gar nicht lauffähig sei. Doch siehe da ... wenn man es auf PLCSim überträgt, dann läuft es. Meine Frage ist: warum läuft es?
Im Screenshot sieht man links oben die globale Variablentabelle, darunter den Aufruf des FC im MAIN [OB1] mit den zugehörigen Aktualparametern. Und darunter findet sich PLCSim, an dem man sieht, dass der Ausgang P10 tatsächlich noch gesetzt ist, obwohl alle Eingänge ein FALSE liefern.
In der rechten Hälfte erkennt man den FC mit der deklarierten Bausteinschnittstelle und darunter der Code mit den SR-Bausteinen.
Screenshot.jpg
Es wäre toll, wenn mir jemand auf die Sprünge helfen könnte, warum diese Speicherfunktion so tatsächlich funktioniert ...
Schon mal vielen Dank im Voraus!
ich experimentiere gerade mit FCs und FBs im TIA-Portal v13.
Üblicherweise ist es mit einem FC doch nicht möglich, eine speichernde, bibliotheksfähige Funktion zu realisieren, weil ihr einfach die STATIC-Variablen in der Bausteinschnittstelle fehlen.
Ich habe aber mal interessehalber einfach eine INPUT-Variable mit einem SR-Baustein verknüpft und lasse diese INPUT-Variable damit speichernd setzen. Eigentlich hatte ich erwartet, einen Fehler beim Übersetzten zu bekommen und dass das Programm so gar nicht lauffähig sei. Doch siehe da ... wenn man es auf PLCSim überträgt, dann läuft es. Meine Frage ist: warum läuft es?
Im Screenshot sieht man links oben die globale Variablentabelle, darunter den Aufruf des FC im MAIN [OB1] mit den zugehörigen Aktualparametern. Und darunter findet sich PLCSim, an dem man sieht, dass der Ausgang P10 tatsächlich noch gesetzt ist, obwohl alle Eingänge ein FALSE liefern.
In der rechten Hälfte erkennt man den FC mit der deklarierten Bausteinschnittstelle und darunter der Code mit den SR-Bausteinen.
Screenshot.jpg
Es wäre toll, wenn mir jemand auf die Sprünge helfen könnte, warum diese Speicherfunktion so tatsächlich funktioniert ...
Schon mal vielen Dank im Voraus!