was mache ich falsch? (AWL)

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Was mache ich falsch?

Kann man bei absoluten Sprüngen (SPA) nur Vorwärts Springen?
Wenn ich bei meinen Programm die Sprungmarke in einen bereits durchlaufenen Programmteil setze gibt es bei mir immer ein SF Fehler.

Gibt es dafür eine andere Lösung?

gruss
 
rüdiger schrieb:
Was mache ich falsch?

Kann man bei absoluten Sprüngen (SPA) nur Vorwärts Springen?
Wenn ich bei meinen Programm die Sprungmarke in einen bereits durchlaufenen Programmteil setze gibt es bei mir immer ein SF Fehler.

Gibt es dafür eine andere Lösung?

gruss

Du könntest es über einen Merker lösen, der den Sprung am Anfang vom Zyklus (im Baustein) ausführt.

UPS... Ich hatte überlesen, dass du einen absoluten Sprung wolltest...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

kennst du das schöne Wort Endlosschleife?
Wenn du jedesmal an einer bestimmten Programmstelle wieder nach hinten springst, was passiert dann wohl?

Muß es denn wirklich ein absoluter Sprung sein - höchstwahrscheinlich nicht....

Man kann mit SPa auch rückwärts springen - wie man sieht ist damit aber schonmal eine potentieller Fehlerquelle im Programm vorhanden.

Verwende einen bedingten Sprung oder noch besser, versuche ohne auszukommen in dem Du Dein Programm anders aufteilst.

Peter
 
rüdiger schrieb:
Was mache ich falsch?

Kann man bei absoluten Sprüngen (SPA) nur Vorwärts Springen?
Wenn ich bei meinen Programm die Sprungmarke in einen bereits durchlaufenen Programmteil setze gibt es bei mir immer ein SF Fehler.

Gibt es dafür eine andere Lösung?

gruss
Erzeugen Sie damit eine Endlosschleife (und damit Zykluszeitüberschreitung)? Wie wird der Block innerhalb des SPA bzw. der Baustein verlassen?
 
Hallo rüdiger
Man kann mit SPA rückwärts springen. Da hast du bestimmt einen anderen Fehler in deinem Code. Was sagt denn dein Diagnosepuffer wenn die SF-LED leuchtet?

Gruß

Andreas
 
seeba schrieb:
rüdiger schrieb:
aha stimmt das ergibt eine endllosschleife.

ich muss diesen programmteil 20mal durchlaufen. wie löst man das mit einem Zähler? und wie genau?

Joa mach einen Vergleich und häng dahinter einen SPB...
Dafür gibt es auch den Befehl LOOP.
Der zieht eins vom Akku1-L ab, und wenn der Akku1-L nicht 0 ist springt er.
Details siehe Hilfe von Step7
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

mit einem Loop kann man das auch lösen:

Ausschnitt aus der Step7-Hilfe:
Code:
Beispiel zur Berechnung der Fakultät von 5 (5!)

AWL	Erläuterung
L	L#1	//Lade die Ganzzahl-Konstante (32 Bit) in den AKKU 1.
T	MD20	//Transferiere den Inhalt von AKKU 1 in MD20 (Initialisierung).
L	5	//Lade die Anzahl der Schleifenzyklen in AKKU1-L.
NEXT:	T	MW10	//Sprungmarke = Anfang der Schleife / Transferiere AKKU1-L in Schleifenzähler.
L	MD20	
*	D	//Multipliziere aktuellen Inhalt von MD20 mit aktuellem Inhalt von MB10.
T	MD20	//Transferiere Ergebnis der Multiplikation in MD20.
L	MW10	//Lade den Inhalt des Schleifenzählers in AKKU 1.
LOOP	NEXT	//Dekrementiere den Inhalt von AKKU 1 und springe zur Sprungmarke NEXT, wenn AKKU1-L > 0 ist.
L 	MW24	//Der Programmablauf wird nach dem Ende der Schleife hier fortgesetzt.
L	200	
>I

_____________________________________________________________
 
SPA SPB

Jo ich mal wieder

Bin ja nun mehr der S5 tätig

SPB "ein wunderschönes Tool"

SPA nun ja da muss er eben hin ohne wenn und aber......

Spiele gerne mit diesen Anweisungen...

Ist ielleicht falsch hier gepostet

Aber ich beziehe es hin und wieder auf die weiblichen Genen

Da ist doch absolut hin und wieder 2+2 = 5
mit der bemerkung

Ok dichte dran ....

Nur mal ein bisserl zur ...... :?:
 
Jo ich mal wieder
Bin ja nun mehr der S5 tätig
SPB "ein wunderschönes Tool"
SPA nun ja da muss er eben hin ohne wenn und aber......
Spiele gerne mit diesen Anweisungen...
Ist ielleicht falsch hier gepostet
Aber ich beziehe es hin und wieder auf die weiblichen Genen
Da ist doch absolut hin und wieder 2+2 = 5
mit der bemerkung
Ok dichte dran ....
Nur mal ein bisserl zur

Geiles Zeug wo bekommt man das :!: :!: :?:
 
Zurück
Oben