TIA AWL in FUP umschreiben

Zuviel Werbung?
-> Hier kostenlos registrieren
Welchen Sinn hat NOP (0 oder 1) in AWL? Also damit wird entweder ein 16-Bitmuster "0" oder "1" in den Akku geladen. Nur wozu wird das benötigt?
Ich habe das bei einigen älteren Anlagen häufig am Bausteinanfang und -ende gesehen. Geht man damit einfach nur sicher, dass alles im Akku auf 0 steht?

Ich zitier da mal Yoda aus Star Wars:
Viel zu lernen du noch hast
Diese 3 oder auch 5 NOP-Befehle stammen noch aus den S5-Zeiten.
Bei S/R, Timer oder Zähler mussten in KOP oder FUP nicht alle Bausteinparameter beschalten werden. Hat man dann auf AWL umgeschaltet, wurden die nicht beschalteten Parameter durch NOP 0 dargestellt.
Hattest du nun ein AWL-Netzwerk das du nach KOP/FUP umsetzten wolltest, mussten diese Parameter-Beschaltung passen. Wenn nicht, wurde das Netzwerk nicht in KOP/FUP dargestellt.
Es gab "Spezialisten", die ihre Software in KOP/FUP geschrieben haben und anschließend die NOPs entfernt haben. Hat Speicher gespart und die Zykluszeit (etwas) verkürzt.
Als junger Elektriker musste ich mal so ein Programm wieder nach KOP/FUP umschreiben. Eine Schei..arbeit.
 
Wenn du siehst was für eine menge an AWL code generiet wird, wenn du FUP projektiertst, wird es einen schlecht.
und erst recht wenn man sich den Output des SCL-Compilers ansieht ...

Die vermeintlich "überflüssigen" AWL-Anweisungen bei FUP sind für die Mitführung und Anzeige des VKE bei FUP/KOP notwendig.

Welchen Sinn hat NOP (0 oder 1) in AWL? Also damit wird entweder ein 16-Bitmuster "0" oder "1" in den Akku geladen.
Nein, es wird nichts in den Akku geladen und auch sonst nichts beeinflusst. siehe die AWL-Hilfe zu NOP 0
Die NOP 0 sind Platzhalter für nicht beschaltete Übergabeparameter, damit beim Zurückschalten von AWL zu FUP/KOP die Anweisungsbox rekonstruiert werden kann.
 
und erst recht wenn man sich den Output des SCL-Compilers ansieht ...
So schlimm ist es auch nicht. Man muss auch immer anschauen welche SCL-Optionen eingeschaltet sind.
Dinge wie "Überprüfung der Array-Grenzen" blähen den Code einfach auf.
Schaltet man da alles aus, wird der Code schon mal deutlich schlanker.

Das selbe gilt auch bei Graph. Da wird auch immer behauptet, dass die Schrittketten langsam sind. Aber auch hier gibt es Optionen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die vermeintlich "überflüssigen" AWL-Anweisungen bei FUP sind für die Mitführung und Anzeige des VKE bei FUP/KOP notwendig.


Nein, es wird nichts in den Akku geladen und auch sonst nichts beeinflusst. siehe die AWL-Hilfe zu NOP 0
Die NOP 0 sind Platzhalter für nicht beschaltete Übergabeparameter, damit beim Zurückschalten von AWL zu FUP/KOP die Anweisungsbox rekonstruiert werden kann.
Ich habe es mir jetzt mal angeschaut und getestet. Wenn ich in AWL einen Zähler lade und kein NOP 0 als letzten Befehl verwende, kann ich das Netzwerk nicht zwischen den Sprachen umschalten.
In den älteren Programmen bei uns habe ich jetzt auch gesehen, dass nach jedem Sprung bei der Sprungmarke ein NOP steht. Macht ja auch Sinn, wenn man einen bestimmten Teil überspringen möchte ohne Code auszuführen.

Früher dachte ich "Bildbefehle" hätten etwas mit den Bildern in WinCC zu tun...
Scheinbar geht es aber nur um die Darstellung von Netzwerken auf dem PG?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Früher dachte ich "Bildbefehle" hätten etwas mit den Bildern in WinCC zu tun...
Scheinbar geht es aber nur um die Darstellung von Netzwerken auf dem PG?
Ja, sicher geht es "nur" um die Darstellung "auf dem PG" oder vom PG aus z.B. auf Papier ausgedruckt. Allerdings finde ich, dass das Wort "nur" nicht wirklich gerechtfertigt ist.
Es steckt schon einiges dahinter, ein QuellProgramm "nur" mal eben maschinell wahlweise in verschiedenen DarstellungsFormen anzuzeigen.
Das muss wohl überlegt sein, wie man das hinkriegt, insbesondere mit so wenig Aufwand und realisierbar mit so wenig Ressourcen wie man insbesondere zu S5-Zeiten noch halbwegs bezahlbar zur Verfügung hatte. Bei FUP und KOP muss ja auch abgespeichert werden, wie bzw. wo die einzelnen Elemente (auch die "Verdrahtungen") auf dem Bildschirm bzw. Papier angeordnet werden.
Für die WirkungsWeise des Programms irrelevante ZusatzInformationen im ProgrammSpeicher abspeichern zu müssen, war ein StörFaktor, den es zu minimieren galt. Klar, dass ein AWL-Programm weniger Informationen enthalten konnte, wenn es nicht wahlweise als FUP oder KOP dargestellt werden musste. Klar, dass die AWL-Variante ohne den AnzeigeLuxus für FUP und KOP kompakter und ein wenig schneller ausführbar sein konnte.

PS:
Wer braucht NOP 0 (alle 16 Bits haben den Wert 0) und NOP 1 (alle 16 Bits haben den Wert 1)? Eigentlich niemand, der diese "funktionslosen" Codes bereitwillig durch ZusammenSchieben der Worte eliminiert (und den neuen Code abspeichert und den alten Code wieder für neue Verwendung freigibt - eine umgekehrte Reihenfolge der Schritte hätte Platz gespart, aber das laufende Programm zum Abstürzen bringen können). Aber den dafür nötigen SpeicherBedarf und die dafür nötige AusführungsZeit wollte damals auch niemand spendieren. Es musste an HardwareKosten gespart werden, koste es, was es wolle.

Hat schon mal jemand beobachtet, dass im Speicher bzw. EPROM die Bits invertiert waren bzw. sein konnten?
Alle Bits eines Wortes = 0 (z.B. frisch gelöschtes oder nicht vorhandenes EPROM) sah dann im Speicher so aus: FFFFh bzw. alle Bits eines Wortes = 1 sah dann im Speicher so aus: 0000h. Klingt verwirrend, aber diese Interna musste niemand wissen.

PPS:
hatte mal mit einer CPU zu tun, bei der der Befehl 0000h einen Sprung zum UnterProgramm auf der Adresse 0000h bedeutete. Also kein NOP. Aber irgendwie auch sinnvoll: es fiel auf und war abfragbar, wenn ein leerer Speicher "ausgeführt" werden sollte. Und man hatte die Adresse des verunglückten SprungBefehls im Akku.
 
Die Umschaltung der Darstellung bzw. Programmiersprachen war schon interessant.
Heute ist Low-Code oder No-Code modern. Den erzeugten Code anzeigen können die meisten Tools, ändert man dann was im erzeugten Code, ist es schnell vorbei mit Low-Code.
Das selbe Thema hast du bei ach so tollen Code Generatoren. Die erzeugen dir Schaltplan und / oder SPS-Programm aus dem CAD-Daten und einer Handvoll Exceldateien. Aber das ist halt in den meisten Fällen eine Einbahnstraße. Und dies trotz all der Möglichkeiten im Jahr 2025.
 
Das selbe Thema hast du bei ach so tollen Code Generatoren. Die erzeugen dir Schaltplan und / oder SPS-Programm aus dem CAD-Daten und einer Handvoll Exceldateien. Aber das ist halt in den meisten Fällen eine Einbahnstraße. Und dies trotz all der Möglichkeiten im Jahr 2025.
... trotz all der Möglichkeiten im Jahr 2025. :
Eine schlauerwerdende KI scheint mir dafür auch keine PatentLösung zu sein. Wer soll sich darum kümmern, die KI im Zaum zu halten, damit sie nicht übermütig wird?
 
Zurück
Oben