Step 7 Problem mit Timer in Sprungleiste (SPL)

Ingo2

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich habe wenig Erfahrung mit AWL Programmierung.
Ich habe mit eine Sprungleiste mit 5 Schritten aufgebaut. Dies funktioniert auch gut. Nun möchte ich zwischen jedem Schritt eine zeitliche Pause haben.
Nun habe ich es mit einschaltverzögertem Timer (SE) probiert. Leider funktioniert das nicht. Der Timer wird gesetzt aber die Zeit läuft nicht ab. Es wird gleich der Ausgang gesetzt. Dann wird mein Timer wieder zurückgesetzt und das Ganze geht von vorne los.
Meine Frage: warum läuft die Zeit nicht ab?

Ich bin für jeden Vorschlag dankbar.

Mit freundlichen Grüssen
Ingo
 
Jetzt brauchen wir wieder die Kristallkugel

Poste doch Deinen Code, dann ist einfacher zu sagen, was die Ursache sein könnte
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe bis jetzt eine zeitliche Verzögerung beim ersten Schritt drin. Die geht inzwischen auch. Aber für den zweiten Schritt weiß ich nicht war das die Zeit nicht abläuft?

Hier mein Code:

U "Zyklus_starten"
SPB N100


UN "Zyklus_starten"
R "Merker Schritt1"
R "Merker Schritt2"
R "Merker Schritt3"
R "Merker Schritt4"
R "Merker Schritt5"
SPB Ink2
SPA N100




N100: L #StepNr
SPL SRes
SPA N1 //Schritt 1
SPA N2 //Schritt 2
SPA N3 // Timer geht noch nicht!!
SPA N4 //Schritt 3
SPA N5 //Schritt 4
SPA N6 //Schritt 5
SRes: L 0
T #StepNr
R M 60.0
S M 60.1
R M 60.2
S M 60.3

SPA Ende



N1: L #PZD_IN.Istposition
L L#10000
<>I
S "Merker Schritt1"
U "Merker Schritt1"
L L#10000
T #Zielposition
L #Zielposition
T #PZD_OUT.Zielposition
R "Merker Schritt1"



L #PZD_IN.Istposition //Dieser Timer funktioniert!!!
L L#10000
==I
S M 60.0
R M 60.1

U M 60.0
L S5T#20S
SE T 1
U M 60.1
R T 1
L T 1
T MW 10
LC T 1
T MW 14
U T 1
= M 90.1
U M 90.1

SPB Ink
SPA Ende

N2: L #PZD_IN.Istposition
L L#40000
<>I
S "Merker Schritt2"
U "Merker Schritt2"
L L#40000
T #Zielposition
L #Zielposition
T #PZD_OUT.Zielposition
R "Merker Schritt2"



FP "ServoOne FA Aktivieren"
L #PZD_IN.Istposition
L L#40000
==I
SPB Ink
SPA Ende




N3: L #PZD_IN.Istposition
L L#10000
<>I
S M 60.2
R M 60.3
U M 60.2
L S5T#20S
SE T 2
U M 60.3
R T 2
L T 2
T MW 10
LC T 2
T MW 14
U T 1
= M 90.2
U M 90.2
SPB Ink
SPA Ende








N4: L #PZD_IN.Istposition
L L#20000
<>I
S "Merker Schritt3"
U "Merker Schritt3"
L L#20000
T #Zielposition
L #Zielposition
T #PZD_OUT.Zielposition
R "Merker Schritt3"

FP "ServoOne FA Aktivieren"
L #PZD_IN.Istposition
L L#20000
==I

SPB Ink
SPA Ende




N5: L #PZD_IN.Istposition
L L#5000
<>I
S "Merker Schritt4"
U "Merker Schritt4"
L L#5000
T #Zielposition
L #Zielposition
T #PZD_OUT.Zielposition
R "Merker Schritt4"

FP "ServoOne FA Aktivieren"
L #PZD_IN.Istposition
L L#5000
==I

SPB Ink
SPA Ende




N6: L #PZD_IN.Istposition
L L#30000
<>I
S "Merker Schritt3"
U "Merker Schritt3"
L L#30000
T #Zielposition
L #Zielposition
T #PZD_OUT.Zielposition
R "Merker Schritt3"


FP "ServoOne FA Aktivieren"
L #PZD_IN.Istposition
L L#30000
==I

SPB Ink
SPA Ende

Ink: L #StepNr
L 1
+I
T #StepNr


SPA Ende

Ink2: L #StepNr
L L#0
==I
L 100
T #StepNr
 
Hallo,

Es ist einfacher zu lesen, wenn du den Code in den # "Code einfügen" packst

Code:
...
N3:   L     #PZD_IN.Istposition
      L     L#10000
      <>I   
      S     M     60.2
      R     M     60.3
      U     M     60.2
      L     S5T#20S
      SE    T      2
      U     M     60.3
      R     T      2
      L     T      2
      T     MW    10
      LC    T      2
      T     MW    14
      U     [COLOR=#ff0000]T      1 [/COLOR] // sollte wohl T2 rein
      =     M     90.2
      U     M     90.2
      SPB   Ink
      SPA   Ende

Grundsätzlich noch:

Code:
N1:   L     #PZD_IN.Istposition
      L     L#10000
      <>I   
      S     "Merker Schritt1"
      U     "Merker Schritt1"
      [COLOR=#ff0000]L     L#10000[/COLOR]
      T     #Zielposition
      L     #Zielposition
      T     #PZD_OUT.Zielposition
      R     "Merker Schritt1"

die Zeile mit L L#10000 wird unabhängig vom VKE der Zeile davor ausgeführt (U "Merker Schritt1").
Da müsstest dann bei Bedarf "drüberspringen"

Code:
U     "Merker Schritt1"
spbn Ende
L L#10000
...

Ende: Nop 0
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Larry,

Und wo könnte ich das machen? An der Sprungleiste?
Oder Ganz oben beim aktivieren der Sprungleiste?

Ich bin nicht sicher ob ich das verstehe was du meinst. Kannst du mir das an meinem Programm zeigen?

Gruss
Ingo
 
Ich sehe ja nun nicht dein ganzes Netzwerk - aber da du immer nach "Ende" springst scheint das das tiefste Label in deinem Programm zu sein. Da hinter würde ich den Timer aufrufen. Ich hoffe nicht, dass ich ein BEA oder BEB im Code übersehen habe.

Also :
Code:
Ende: nop 0 // dein Code
// ... und
U     M     60.2
      L     S5T#20S
      SE    T      2
Gruß
Larry
 
Zurück
Oben