kermit
Level-1
- Beiträge
- 324
- Reaktionspunkte
- 51
-> Hier kostenlos registrieren
nochn Taktgenerator, der allerdings vorraussetzt, dass sonst im SPS-Zyklus nicht viel läuft. Leider in AWL, da ich in FUP recht ungeübt bin (und ohne Symbolik mal einfach so in den OB1 reingeschrieben):
Code:
// Schrittmotortaktgenerator
L #OB1_PREV_CYCLE // Zykluszeit der SPS in ms (Dauer letzter Zyklus)
L MW 0 // Zeitzähler laden
+I // weiterzählen um SPS Zyklusdauer
T MW 0 // und für nächsten Zyklus merken
L 2 // Konstante bzw. Parameter weiterschaltzeit Schrittmotor in ms
<I // ist nicht erreicht?
SPB M999 // dann auf nächsten Programmzyklus warten
// zwei Milisekunden erreicht, Motorstränge weiterschalten und Zähler vermindern
-I // genau diese zwei Millisekunden vom Zähler abziehen
T MW 0 // und merken
UN A 0.0 // beim ersten Anlauf der CPU
UN A 0.1 // ist noch kein Ausgang
UN A 0.2 // gesetzt, daher Initialisierung
UN A 0.3 // nötig
S A 0.0
SPB M999 // Schritt vollzogen, weitere Schritte überspringen
U A 0.0 // Schritt 1 --> Schritt 2
R A 0.0
S A 0.1
SPB M999 // Schritt vollzogen ...
U A 0.1 // 2 --> 3
R A 0.1
S A 0.2
SPB M999
U A 0.2 // 3 --> 4
R A 0.2
S A 0.3
SPB M999
U A 0.3 // 4 --> 1
R A 0.3
S A 0.0
M999: NOP 0 // Ende des Schrittmotortaktgenerators