TrainerLaverCup67
Well-known member
- Beiträge
- 110
- Punkte Reaktionen
- 1
-> Hier kostenlos registrieren
Hallo,
ich habe ein Problem zum folgenden Code:
ich habe ein Problem zum folgenden Code:
Code:
#Counter := 0; // Zähler auf 0 setzen
IF "S4" = FALSE AND #Schritt = 5 THEN
// Positionier Einstellung setzen und Bewegung ausführen solange die Bedingungen erfüllt sind
IF #Counter < 10 THEN
// Anfahrpositionen
"Motor_DB".Position := INT_TO_DWORD(#Counter * 100 + 200);
// Starten
#Start_3 := FALSE;
"IEC_Timer_0_DB".TP(IN := "sensor",
PT := T#500ms,
Q => #Start);
// Positive Signalflanke erkennen
"R_TRIG_DB_1"(CLK:="sensor",
Q=>#pos_trig_1);
// Zähler inkrementieren
IF #pos_trig_1 = TRUE THEN
#Counter += 1;
END_IF;
END_IF;
ELSE
#Counter := 0;
#Start := FALSE;
END_IF;
- Die Bedingungen "S4" ist FALSE.
- Wenn diese Bedingung erfüllt ist, wird Folgendes ausgeführt:
- Überprüfung, ob der Wert von #Counte kleiner als 10 ist.
- Setzen der Anfahrposition "Motor_DB".Position basierend auf dem Zählerwert.
- Setzen des Startbefehls #Start für die Bewegung mit einem Impuls von 500ms.
- Erkennen der positiven Signalflanke "pos_trig_1" basierend auf "sensor".
- Inkrementieren des Zählers #Counter, wenn die positive Signalflanke erkannt wird.