TIA TAK (Inhalte Akku 1 und Akku 2 tauschen) in FUP darsetllen

MD_B.Sc.

Level-2
Beiträge
37
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Liebe SPS-Community,

hiermit möchte ich folgende Problematik darstellen.
Ich habe folgendes AWL Programm, welches allerdings in FUP dargestellt werden soll.

L "Tag_2"
L "MW 10"
XOW
AW
T "Tag_3
TAK
T "MW 10"

Daher meine Frage, wie könnte man so ein AWL-Programm in FUP darstellen?
Bin für jede Hilfe dankbar.

Viele Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Woran genau scheitert es denn?

Hast du dir mal angeschaut, was in deinem Code wann in welchen Akku geladen wird? Danach könntest du dir das Ganze in FUP schnell selbst programmieren.
 
FC1 N2.PNG
Mit PLCSIM Simulation bekomme ich folgende Werte. Ich wüsste auch nicht genau wie ich vorgehen muss, da ich noch einsteiger bin.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Werden nach der gezeigten Sequenz noch Statusbits A1, A0, OV ausgewertet?
"Tag_2" ist aus dem Prozessabbild der Eingänge?
Falls nicht aus dem PAE: Wo kommt "Tag_2" her? Gibt es weitere Zugriffe auf "Tag_2"? Aus höherprioren OB? Oder von HMI?

Der AWL-Code hat den Vorteil, daß "Tag_2" nur einmal gelesen wird. Bei der FUP-Lösung wird "Tag_2" zweimal gelesen - könnte das ein Problem werden? Kann sich "Tag_2" zwischen den beiden Zugriffen ändern?

Harald
 
Da wird nichts weiteres mehr ausgwertet. Zudem wird "Tag_2" weder von höherprioren noch von der HMI zugeggriffen. Ich denke es würde kein Problem sein falls 2 mal gelesen werden sollte. Wie bereits schon erwähnt bin leider nur ein einsteiger. Geht es hierbei nicht um "Tag_3" und "MW 10" so das beide werte getauscht werden müssen? Oder habe ich das falsch erfasst? Welche der Werte werden den anhand Ihrer Meinung getauscht ?
 
Der BitSchubser hatte es so gemeint
Code:
L "Tag_2"
L "MW 10"
XOW
AW
T "Tag_3
L "Tag_2"
T "MW 10"
Deine Variante ist sinnentstellend, was aber mit den Daten Deines Beispiels zufällig zum selben Ergebnis führt.
Haralds Vorschlag ist ganz korrekt und muss befolgt werden, wenn sich der Inhalt von Tag_2 zwischen den beiden Abfragen (von woanders her) ändern könnte.
 
So wenn das nun geklärt werden sollte, stellt sich jetzt die frage wie man den Code in FUP umsetzen kann.
Ich weiß dass "Tag_2" , "MW 10" ind XOW geladen werden. Was folgt nun ? Wo wird AW verknüpft?
Wenn ich allerdings den MOVE-Baustein darstellen will, was genau wird geladen und was wird Trasferiert ?
 
Hallo Jan,

nach meinen Erkentnissen müsste man beide Ergebnisse also "Tag 0" und "MW 10" in einem XOW-Baustein Laden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich bin auch kein AWL Experte aber wird nicht das Ergebnis von XOW ins MW10 geschrieben ?
Tag_2 wird mit MW_10 über XOW verknüpft und dann dieses Zwischenergebnis mit Tag_2 über AW (UW) verknüpft. Dieses Ergebnis wird in Tag_3 gespeichert.
Zum Schluss wird Tag2 nach MW_10 kopiert.
Sei es, dass Der Inhalt von Tag_2, der noch im Akku2 steht, vorher per TAK mit Akku1 getauscht wird oder sei es, dass es zum zweitenmal gelesen wird.

PS:
Für die weniger-AWL-Geübten hier die SCL Version:
Code:
"Tag_3" := ("Tag_2" XOR "MW 10") AND "Tag_2" ;
"MW 10" := "Tag_2" ;
 
Zuletzt bearbeitet:
bilddddddddddd.PNG
Ich denke bis hierhin bin ich mitgekommen ?! Die Frage ist mit welchem Baustein wird "Tag_2" nach "MW 10" kopiert?
 

Anhänge

  • bilddddddddddd.PNG
    bilddddddddddd.PNG
    3,6 KB · Aufrufe: 16
Zuletzt bearbeitet:
Hallo Heinileini,

ich hab tatsächlich die Bits verknüpft, da ich davon ausgegangen bin, dass in dem Fall ein XOR Baustein nur mit nullen und einsen arbeitet??. Darüberhinaus halt mir die Negation gefehlt, jedoch im zweitem Bild korrigiert. Zudem würde ich zusätzlich wissen wollen, mit welchem Baustein man kopieren kann ?
 
Man muß den Code nicht 1:1 übernehmen. Man kann auch drüber nachdenken was er macht, und das dann neu formulieren.

Der AWL-Code ermittelt welches Bit in Tag_2 eine steigende Flanke hat und schreibt das Ergebnis in Tag_3: Bit = 1 bedeutet, das zugehörige Eingangsbit hat eine steigende Flanke
Dann wird der aktuelle Zustand von Tag_2 in MW10 gemerkt für den nächsten Zyklus.

Die Flankenauswertung muß man nicht mit XOW und UW machen (Welches Bit hat sich geändert und ist nun 1?), man kann auch alle Bits negieren und dann UND-Verknüpfen (Welches Bit war vorher 0 und ist jetzt 1?), wie man es mit einzelnen Bits "zu Fuß" machen würde. Und diese Variante der wordweisen Flankenerkennung in FUP und SCL gibt es hier in dieser FAQ: Flankenauswertung in Step7

Harald
 
bilddddddddddd.PNG
So wurde das ganze aus den Informationen nach FUP umgewandelt! Allerdings Datentyp von WORT nach BOOL ( Da Und oder Bausteinen mit nullen und einsen arbeiten)
Falls meine vorgehensweise falsch ist, wäre ich für jeden weiteren Schritt Dankbar
 
Zurück
Oben