AWL-Fehlerhaft ??

Waterkant

Level-2
Beiträge
13
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an alle, ich bin gerade dabei eine alte PS4-111-DR1 von Klöckner Möller zu ersetzen vermutlich ist diese auch schon ein ersatzteil.
Ich habe Jahrelange erfahrung mit PLC von S5 über classic Bis hin zu den aktuellsten und manch andere derivate. Ich verstehe nur leider nicht den Folgenden Code vollständig.

Für Jede Produktive hilfe wäre ich sehr dankbar
! 336 L I2.3
! 337 L M3.0
! 338 L M3.1
! 339 A NM9.3
! 340 A I1.1
! 341 O
! 342 A
! 343 A NI2.1
! 344 A M1.0
! 345 A NQ1.4
! 346 A NQ1.5
! 347 A NQ2.1
! 348 L I2.2
! 349 A M2.4
! 350 A NI1.0
! 351 A NQ1.4
! 352 A Q1.5
! 353 A NQ2.1
! 354 O
! 355 = Q2.0

was mit kopfzerbrechen breitet sind die Lade befehle und die Freistehenden oder und Und verknüfungen
 
Ist lange her, aber aus der Erinnerung heraus:
Die Möller-Steuerungen haben keine Klammerbefehle, stattdessen einen LIFO-Stack, auf dem man VKE-Inhalte zwischenspeichern kann.
Wenn man einen Ladebefehl innerhalb eines Netzwerks schreibt, wird das VKE auf den Stack geschoben. Mit einem A/O-Befehl wird das zuletzt gespeicherte VKE, also der innerste Klammerausdruck, vom Stapel zurückgeholt und verknüpft.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das hatte ich schon vermutet da das in die zeit der ersten "plc" also eher eine programierbare binärschaltung entspricht.
Das würde für mich die operatoren erklären jedoch fängt dieses netzwerk mit 3 aufeinander folgenden Ladebefehlen an.
Bis zu dem zweiten ladebefehl würde alles passen was pasiert dann aber bei dem 3ten ladebefehl oder vielmehr mit der information aus dem ersten ladebefehel?

Das wäre ja dann 2 Klammer in einander ??
 
Was ist jetzt Dein Ziel? Den Code in S5-AWL umformen?

Mit "L <bit>" wird eine neue Verknüpfung angefangen (und das bisherige VKE wird in einen VKE-Stack geschoben) - quasi "Klammer Auf". Mit einem A oder O ohne Operand wird das VKE mit dem VKE aus dem VKE-Stack verknüpft ("Klammer zu") und das VKE aus dem Stack vom Stack entfernt.
Code:
                          | VKE  | VKE-Stack ............... |
[COLOR="#008000"]([/COLOR]
! 336 L I2.3              | I2.3 |  ?2  |  ?1  |
[COLOR="#008000"] A([/COLOR]
! 337 L M3.0              | M3.0 | I2.3 |  ?2  |  ?1  |
[COLOR="#008000"]  O([/COLOR]
! 338 L M3.1              | M3.1 | M3.0 | I2.3 |  ?2  |  ?1  |
! 339 A NM9.3             | VKE1 | M3.0 | I2.3 |  ?2  |  ?1  |
! 340 A I1.1              | VKE1 | M3.0 | I2.3 |  ?2  |  ?1  |
[COLOR="#008000"]  )[/COLOR]
! 341 O         [COLOR="#008000"]//O M3.0[/COLOR]  | VKE1 | I2.3 |  ?2  |  ?1  |
[COLOR="#008000"] )[/COLOR]
! 342 A         [COLOR="#008000"]//A I2.3[/COLOR]  | VKE1 |  ?2  |  ?1  |
[COLOR="#008000"])[/COLOR]
! 343 A NI2.1             | VKE1 |  ?2  |  ?1  |
! 344 A M1.0              | VKE1 |  ?2  |  ?1  |
! 345 A NQ1.4             | VKE1 |  ?2  |  ?1  |
! 346 A NQ1.5             | VKE1 |  ?2  |  ?1  |
! 347 A NQ2.1             | VKE1 |  ?2  |  ?1  |
[COLOR="#008000"]O([/COLOR]
! 348 L I2.2              | I2.2 | VKE1 |  ?2  |  ?1  |
! 349 A M2.4              | VKE2 | VKE1 |  ?2  |  ?1  |
! 350 A NI1.0             | VKE2 | VKE1 |  ?2  |  ?1  |
! 351 A NQ1.4             | VKE2 | VKE1 |  ?2  |  ?1  |
! 352 A Q1.5              | VKE2 | VKE1 |  ?2  |  ?1  |
! 353 A NQ2.1             | VKE2 | VKE1 |  ?2  |  ?1  |
[COLOR="#008000"])[/COLOR]
! 354 O         [COLOR="#008000"]//O VKE1[/COLOR]  | VKE2 |  ?2  |  ?1  |
! 355 = Q2.0              | VKE2 |  ?2  |  ?1  |

Harald
 
Danke Harald , das war für mich die Antwort!

Das dort der Stack über mehr als eine Bitstelle "hoch" bzw "Runter" geschoben wird !
Ich alle Dokumentationen Die es von KM Je gegeben hat, jedoch diese Stack Information habe nirgens Gefunden.

Zu deiner Frage, ich bin Programmierer / Entwickler und Automatisierungsfachkraft in einem.
In dieser Funktion arbeite ich im Auftrag für einem Freizeitpark.

Mein Auftrag die PS4 muss Raus und Eine 1200 rein und das Programm soll Gleich bleiben. AWL Ausdruck hab ich
und den Ganzen HW Kram da hab ich keine Probleme mit hab ich schon öfter gemacht. Aber so eine Interassante AWL Sache hatte bisher noch nicht

BTW der code ist dann ja Eigentlich voll OK für mich.
Herzlichen Dank an alle.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
der Vollständigkeit halber Hier dann die entsprechung im Tia Portal


OriginalCodeÜbersetzungEntsprechnung im Tia Portal von Kop nach AWL
CodeStack
VKE 01234
x( x U %E2.3
! 336 L I2.3x! 336 L I2.3 I2.3 ?2 ?1
A( U(
! 337 L M3.0o! 337 L M3.0 M3.0 I2.3 ?2 ?1 o O %M3.0
o O( O
! 338 L M3.1! 338 L M3.1 M3.1 M3.0 I2.3 ?2 ?1 U %M3.1
! 339 A NM9.3! 339 A NM9.3 VKE1 M3.0 I2.3 ?2 ?1 UN %M9.3
! 340 A I1.1! 340 A I1.1 VKE1 M3.0 I2.3 ?2 ?1 U %E1.1
) )
! 341 Oo! 341 O //O M3.0 VKE1 I2.3 ?2 ?1
)
! 342 Ax! 342 A //A I2.3 VKE1 ?2 ?1
x)
U(
! 343 A NI2.1! 343 A NI2.1 VKE1 ?2 ?1 UN %E2.1
! 344 A M1.0! 344 A M1.0 VKE1 ?2 ?1 U %M1.0
! 345 A NQ1.4! 345 A NQ1.4 VKE1 ?2 ?1 UN %A1.4
! 346 A NQ1.5! 346 A NQ1.5 VKE1 ?2 ?1 UN %A1.5
! 347 A NQ2.1! 347 A NQ2.1 VKE1 ?2 ?1 UN %A2.1
O( O
! 348 L I2.2! 348 L I2.2 I2.2 VKE1 ?2 ?1 U %E2.2
! 349 A M2.4! 349 A M2.4 VKE2 VKE1 ?2 ?1 U %M2.4
! 350 A NI1.0! 350 A NI1.0 VKE2 VKE1 ?2 ?1 UN %E1.0
! 351 A NQ1.4! 351 A NQ1.4 VKE2 VKE1 ?2 ?1 UN %A1.4
! 352 A Q1.5! 352 A Q1.5 VKE2 VKE1 ?2 ?1 U %A1.5
! 353 A NQ2.1! 353 A NQ2.1 VKE2 VKE1 ?2 ?1 UN %A2.1
) )
! 354 O! 354 O //O VKE1 VKE2 ?2 ?1
! 355 = Q2.0! 355 = Q2.0 VKE2 ?2 ?1 = %A2.0
 
Zuletzt bearbeitet:
Bei der PS3 (dein Modell ist eine PS3 im 4-er -Look) ist der Stack 8 Bit tief.

Nachtrag: Wenn du auf Merker in den Bereichen 34.x oder 27.x (?) stößt, das waren irgendwelche Systemmerker. Daa müsste ich die Doku rauskramen.
 
Zuletzt bearbeitet:
Nein Sie kann nur SCL/Kop/Fup -> wichtig ist bei mir das wenn die originale software mit ner S5 Programiersoftware in AWL Schreibe
sie dann nach FUP/Kop wandle <- Das muss erst mal funktionieren und das geht sobald der code sauber ist.
Dann kann ich das Fup/Kop Programm in Tia für z.B. die 1200 nachbauen (und im fall von einer 300er Cpu in Tia dann auch nach AWL
zurückschalten und Den Code analysieren.

wenn ich dann das verständiss der Zwischenschritte habe kann ich quasi im Kopf von der quelle auf die Ziel PLC Programieren und das ohne
"Jugend Forscht" oder "try und error" bei der IBN
 
Zurück
Oben