Ausgänge schalten

Spud

Level-1
Beiträge
26
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ich steh gerade voll auf dem Schlauch :(

Peinliche Frage:

Netzwerk 1:
O(
U e0.0
U e0.1
)
= A0.0
= A0.1

Netzwerk 2:
O(
U e0.0
U e0.2
)
= A0.0
= A0.1

warum geht das nicht?
Besser gesagt: A0.0 u. A0.1 schalten nur wenn E0.0 u. E0.2 high sind....
Wenn E0.0 u. E0.1 high sind passiert nix....
Netzwerk 1 wird von Netzwerk 2 irgendwie "ausgehebelt"

Warum? Hilfe:cool:
 
Die Anweisung in 2. Netzwerk überschreibt die Anweisung im vorhergehenden Netzwerk.

Besser:

Code:
 Netzwerk 1:
O(
U e0.0
U e0.1
)
O(
U e0.0
U e0.2
)
= A0.0
= A0.1
gleichbedeutend mit:

Code:
U     E      0.0
U     E      0.1
O     
U     E      0.0
U     E      0.2
=     A      0.0
=     A      0.1
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Klassischer Fall einer Doppelzuweisung. Es werden nur die Anweisungen des letzten Netzwerkes an den Ausgängen ausgegeben.

So sollte es funktionieren:
Code:
O(
U e0.0
U e0.1
)
= m1.0
 
 
Netzwerk 2:
O(
U e0.0
U e0.2
)
= m1.1
 
Netzwerk3:
O m1.0
O m1.1
= A0.0
= A0.1

Edit: Ralles Lösung ist besser
 
Zuletzt bearbeitet:
Hallöchen

mal eine frage jungs wieso so kompliziert wollt ihr in ärgern oder bin ich zu müde zum Programmieren :rolleyes:

Code:
u e0.0
u(
u e0.1
o e0.2
)
= a0.0
= a0.1

oder mach ich jetzt einen frehler :twisted: :twisted:


und noch mal ganz lehrer haft

sieh dir das PAA an
es wird zwar der Ausgang im PAA der eingänge von deinen Netzwerk 1 überschrieben
aber das Netzwerk 2 überschreibt dir das immer wieder

und erst am schluss ( bzw am anfang ) wird das PAA auf die Ausgänge gelegt

somit bekommst du nur das ergebniss von deiner letzten aktion zu sehen
 
Zuletzt bearbeitet:
Hallo Fönig,

die SPS arbeitet Anweisung für Anweisung ab

Wenn ganz unten eine Anweisung kommt, die auf einen Ausgang etwas anderes schreibt, als eine Anweisung ganz oben, dann gilt das, was als letztes bearbeitet wurde.
Ich hab mal gelernt, daß sich das ganze eben "zyklische Programmbearbeitung" nennt

MfG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sagt die "zyklische Programmbearbeitung" nicht aus, das die Abarbeitung eines Programms seriell und nicht paralell erfolgt.
Das Programm wird stettig abgearbeitet und wartet an Abfragen, Bedingungen nicht wie z.B. ein Basic Programm bis die Bedingung erfüllt ist.

Das genante ist auf die Arbeitsweise mit den Prozessabbildern zu beschreiben.

Hier mal ein kliener Auszug aus der S7-Hilfe:

Nach den internen Aufgaben des Betriebsystems (BESY) wird das Prozessabbild der Ausgänge (PAA) auf die Ausgänge der Baugruppen geschrieben und der Zustand der Eingänge ins Prozessabbild der Eingänge (PAE) gelesen. Danach erfolgt die Abarbeitung des Anwenderprogramms mit allen darin aufgerufenen Bausteinen. Das Schreiben des Prozessabbilds der Ausgänge auf die Ausgänge der Baugruppen und das Einlesen des Prozessabbilds der Eingänge wird selbständig vom Betriebssystem angesteuert.

Vorteile des Prozessabbilds
Der Zugriff auf das Prozessabbild hat gegenüber dem direkten Zugriff auf die Ein-/Ausgabebaugruppen den Vorteil, dass der CPU für die Dauer der zyklischen Programmbearbeitung ein konsistentes Abbild der Prozesssignale zur Verfügung steht. Wenn sich während der Programmbearbeitung ein Signalzustand auf einer Eingabebaugruppe ändert, bleibt der Signalzustand im Prozessabbild erhalten bis zur Prozessabbildaktualisierung im nächsten Zyklus. Wird ein Eingangssignal innerhalb eines Anwenderprogramms mehrmalig abgefragt, so ist hiermit gewährleistet, dass die Eingangsinformation immer konsistent vorliegt.
Außerdem benötigt der Zugriff auf das Prozessabbild wesentlich weniger Zeit als der direkte Zugriff auf die Signalbaugruppen, weil sich das Prozessabbild im internen Speicher der CPU befindet.

Teilprozessabbilder
Neben dem vom Betriebssystem automatisch aktualisierten Prozessabbild (PAE und PAA) können Sie bei S7-400 für eine CPU bis zu 15 Teilprozessabbilder parametrieren (CPU-spezifisch, Nr. 1 bis max. Nr. 15; siehe Referenzhandbuch "Automatisierungssysteme S7-400/M7-400, Baugruppendaten"). Damit haben Sie die Möglichkeit, unabhängig von der zyklischen Aktualisierung des Prozessabbilds, Teilbereiche des Prozessabbildes bei Bedarf zu aktualisieren.
 
...
Ich hab mal gelernt, daß sich das ganze eben "zyklische Programmbearbeitung" nennt
...

Ich spar mir den Trommelwirbel und sag dir es ganz schlicht: das ist falsch.

Zyklische Programmbearbeitung meint das die SPS quasi in einer Endlosschleife läuft und das Programm immer wieder abgearbeitet wird.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

sag ich doch :ROFLMAO:

Das was als letztes gemacht wird (weil alles nacheinander kommt) GILT!!

MfG

Dieser Effekt hat aber so rein gar nichts mit der zyklischen Programmabarbeitung zu tun.

Wenn Du den gleichen Code in den OB100 reinschreiben würdest würde auch die letzte Anweisung "gewinnen".

Nur so zur Info der OB100 aus der SIMATIC-Welt wird nicht zyklisch sondern nur einmal bei CPU Neustart abgearbeitet.

PS: Auch wenn Du das nun immer noch nicht verstanden hast hör doch bitte auf zu behaupten das es an der zyklischen Programmabarbeitung liegen würde.
 
Zuletzt bearbeitet:
Zurück
Oben