Funktion vs Funktionsblock

CoDeSysCoDer

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Community,

ich bin neu hier und hab direkt mal eine Frage da Beckhoff selber anscheinend keine Zeit hat mein Thema zu bearbeiten (warte seit zwei Wochen auf eine Antwort).

Folgendes:
Ich habe einen schaltenden Eingang(True<->False) und möchte ihn so auswerten dass er mir bei einem Wechseln eine steigende Flanke liefert, so das ich einen tastenden Eingang bekomme(False->True->False).

Also habe ich den folgenden Code als Funktion und Funktionsblock impementiert.

Übergeben wird bSchalter und zurückgegeben wird bTaster
Code:
rtrg(CLK:=bSchalter);
ftrgSa(CLK:=bSchalter);
 
if rtrgSa.Q or ftrgSa.Q then
    bTaster:= true;
else
    bTaster:= false;
end_if;

wenn ich diese Logik nun als Funktion verwende bekomme ich im Beckhoff PLC an bTaster des gleiche wie an bSchalter.
Wenn ich die gleiche Logik als Funtionsblock verwende und mir die Ausgangsvariable bTaster anschaue bekomm ich bei einem Wechseln von bSchalter einen Zyklus lang ein TRUE (so wie es sein soll)

Kann mir jmd erklären warum das Ganze in FB funtioniert und in FUN nicht?

Hoffe es ist verständlich. :-|
 
Die Funktion "vergisst" in jedem Zyklus was im letzten war. Das ist normal so und ist eine Eigenschaft der Funktion. Der Funktionbaustein "vergisst" es nicht.
 
Zurück
Oben