Hilfe mit Sprünge

Techniker1907

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

ich habe Probleme wenn mehrer Sprünge sich in einem Netzwerk befinden. Kann mir jemand sagen wie ich das am besten in meine Birne bekomme? Büche? Übungen oder so ? Ich kann das irgendwie schlecht nachvollziehen obowhl es ja eigentlich einfach ist.
 
Mach mal ein Beispiel und poste es hier. Mann hast du Probleme beim Verständnis, bei welcher Sprungkonstellation?

Bücher? Wo wir hingehen brauchen wir keine Bücher!

mfG René
 
... vor vielen Jahren (>10) hab ich mit einer Vorgängerausgabe dessen hier http://www.mhj-online.de/de/product...P7-Crashkurs-Extended-Edition-7--Auflage.html
angefangen mich selbst in S7 einzuarbeiten. Ob es gut oder schlecht ist kann ich mangels Vergleich nicht sagen. Bei Programmieren usw. hilft oft, den Kopf einzuschalten und logisch zu denken. Nicht einfach drauflos, sondern in Teilprobleme zerlegt das ganze betrachten.
Dann ist es alles halbsowild.

Thomas
 
Also die Sprünge sind jetzt nicht sooo schwer zu verstehen..

Du hast ein AWL Programm, welches von Oben nach Unten abgearbeitet wird.

Mit einem Sprung kannst du der CPU sagen, dass sie halt nicht zeile für zeile das Programm abarbeiten soll, sondern eben an der Stelle mit dem Sprungbefehl aufhört und an der Sprungmarke wieder weitermacht.

SPA * > Sprung absolut > Egal was kommt, er macht erst bei * weiter.

SPB *> Sprung bedingt * > Hier wird zuerst auf das VKE geschaut, ist es "1" dann wird bei * weitergemacht.

SPBN * > Sprung bedingt * > Hier wird zuerst auf das VKE geschaut, ist es "0" dann wird bei * weitergemacht.


Netzwerke sind nur Kosmetik und haben nichts mit dem Programmablauf zu tun.
Hast du zu einem Programmstück noch fragen, einfach mal hier posten..
 
Nochmal eine Frage:
U E 0.0
L 0
SPB jovr
U E 0.1
L 1
SPB jovr
SPA jovre
jovr: T Konfig
jovre: NOP 0

ist doch das gleiche wie

U E 0.0
L 0
T Konfg
O
U E 0.1
L 1
T konfig
NOP 0

oder nicht ?
 
Nochmal eine Frage:
U E 0.0
L 0
SPB jovr
U E 0.1
L 1
SPB jovr
SPA jovre
jovr: T Konfig
jovre: NOP 0

ist doch das gleiche wie

U E 0.0
L 0
T Konfg
O
U E 0.1
L 1
T konfig
NOP 0

oder nicht ?
Nein, absolut nicht!
Lade-/Transfer Anweisungen sind VKW unabhängig, sprich im unteren Beispiel wird immer:
Code:
   L 1
   T konfig
ausgeführt, egal welche Bedingung erfüllt ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nochmal eine Frage:
U E 0.0
L 0
SPB jovr
U E 0.1
L 1
SPB jovr
SPA jovre
jovr: T Konfig
jovre: NOP 0

ist doch das gleiche wie

U E 0.0
L 0
T Konfg
O
U E 0.1
L 1
T konfig
NOP 0

oder nicht ?

Ist nicht das gleiche:
wenn in der Variante mit Sprung dein E 0.0 <1> ist, wird gesprungen
Der E 0.1 wird dann gar nicht abgefragt, Signalzustand wird ignoriert.

Bei der unteren Variante ist das nicht so.

MfG
Paul
 
Hmm. Ich habe das jetzt mal simuliert. Bei der Programmierung mit den Sprüngen habe ich aber immer eine 1 in der Konfig. Das möchte ich nicht.

u e0.1
L1
jovr: T konfig

die 1 soll nur geladen werden wenn U e0.1 eine 1 hat. geht das ?
 
Wie sieht das hier mit aus, ok ?

u e 0.1
L 1
spb jovr

u e 0.0
L 0

jovr: T DB1.DBW2

habe es einfach gedreht . So habe ich bei e0.0 immer 0 und wenn e0.1 eine 1 hat eine 1 im DB
Ja, so passt das. :cool:
Aber lass den Eingang E0.0 an dieser Stelle weg, denn
1. Das VKE des Eingangs (E0.0) ist egal, es wird immer eine Null geschrieben wenn nicht der Sprung jovr ausgeführt wird
2. Jeder der den Eingang an dieser Stelle sieht denkt sich, man der hat es einfach nicht kapiert. ;)
 
Zurück
Oben