FUP in ST übersetzen

Euterausbeuter

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

Ich versuche gerade in CoDeSys ein in FUP geschriebenes Programm in ST zu übersetzen. Hier habe ich 2 Probleme:

1)

Ich habe in FUP folgendes Bauteil:
TOF.JPG

Am IN ist eine Flankenerkennung. Wie setze ich das in ST um?
Ich habe die ST-Programmierung anhand der Hilfe von CoDeSys gemacht. Hier sieht das Programm so aus:

Hilfe_CoDeSys.JPG

Kann ich das eins zu eins übernehme? Oder muss ich da irgendwas für die Flankenerkennung hinzufügen?

2)

In FUP benutze ich Set und Reset.

Beispiel:
Set_Reset.JPG

Kann ich da in ST einfach sagen
IF Eingang
THEN Ausgang_1 := TRUE;
END IF

IF Eingang
THEN Ausgang_2 := FALSE;
END IF

Für SET würde ich TRUE, und für RESET würde ich FALSE machen. Stimmt das so?


Vielen Dank für Eure Hilfe :)
 
Um dir dabei helfen zu können sind für mich deine Informationen zu dürftig.
Eine Flanke an einem TOF macht nur in den seltensten Fällen einen Sinn.
Wenn du in Abhängigkeit eines Zustandes einer Variablen etwas machen willst dann wäre dafür IF .. THEN der richtige Ansatz.

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey danke für die schnelle Antwort.

Ich muss nochmal klären ob die Flanke tatsächlich Sinn macht. Falls ja, kannst Du mir einen Tipp geben wie ich das in ST umsetzen kann?

Und das mit SET & RESET habe ich da die Logik richtig verstanden? SET impliziert TRUE und RESET impliziert FALSE?
 
Falls du die Flanke da brauchst (für einen Impuls mit festgelegter Länge z.B.) dann mußt du die jetzt händisch erzeugen. Es sollten dir dazu aber die gleichen Grundfunktionen wie in FUP zu Verfügung stehen. Ansonsten halt so :
Code:
an den IN des TOF schreibst du dann : myTrigger AND myFlanke
hinter dem Aufruf des TOF schreibst du : myFlanke := myTrigger ;
und ... myTrigger muss im STAT-Bereich deines Bausteins deklariert sein (oder eine globale Variable falls du keinen FB erstellst).

Gruß
Larry
 
Du kannst natürlich einfach, da du auch den TOF aus der Standard.lib benutzt, einfach den R_TRIG oder F_TRIG für steigende oder fallende Flame benutzen und in deinem Baustein deklarieren.
Instanz1_R_TRIG (CLK:=xEingang, Q=>PosFlankexEingang);
PosFlankeXEingang dann eben als IN für den TOF benutzen.

Benutze ich in der Konstellation auch manchmal wenn ich ein Signal ein bestimmte Zeit anliegen haben möchte (ms genau).
Dann gebe ich dem TOF die Flanke und stelle dort die entsprechende Zeit ein.

Gruß,
flo
 
Eine kleine Gegenfrage: Welche Codesys Version benutzt du und aus welcher .lib hast du den Baustein?
Habe eben erst gesehen, dass dies nicht der normale TOF baustein ist, bzw. dass du etwas, was wie eine Sprung Marke ausschaut an deinem TOF Eingang hängen hast :ROFLMAO:

Gruß,
Flo
 
Ich verwende V3.5 SP8.

Die Vorlage in FUP habe ich so bekommen und soll es nur in ST übersetzen. Oben in der Leiste wird diese Dreieck beim IN des TOFs als "Flankenerkennung" angezeigt (siehe Screenshot). Oder vertue ich mich da?

Flankenerkennung.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also bei 3.5 kann ich dir nicht weiterhelfen was die Flanke angeht.
Vermute aber durch das Spitz zulaufende Symbol, dass es eine fallende Flanke auswertet.

Gruß,
Flo
 
Bei der Hilfe von CoDeSys steht leider auch nicht dabei, ob es eine steigende oder fallende Flanke erkennt :???: Ich schau mal wie ich das rausbekomme.

Hast mir trotzdem schon sehr weitergeholfen, besten Dank! :D
 
Auf eine fallende Flanke reagiert der TOF ja standardmäßig.
Es kann sich hier also nur um die steigende Flanke des Signal-Eingangs handeln, die dann, egal wie lange sie ansteht, einen Impuls erzeugt, der dann um die Laufzeit des TOF verlängert wird.
Im Ergebnis also : Egal, wie lange das ursprüngliche Signal ansteht - es wird daraus ein Impuls in der Länge der Laufzeit des TOF gemacht ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Allerdings kenne ich mich in 3.5 nicht aus, um zu wissen, ob diese Flanke zum Baustein gehört oder im FUP hinzugefügt wurde wie eine Negation.
Und wenn jemand eine steigende Flanke hinzugefügt haben kann, kann er auch eine fallende hinzugefügt haben (warum auch immer).

Eventuell wollte dieser jemand ja, dass zwischen dem TOF Ausgangssignal-Signal und dem EIngangssignal genau 1 Zyklus Verzögerung liegt. :ROFLMAO:

Aber ja, Larrys Post ist wahrscheinlicher! :rolleyes:
 
Zurück
Oben