TrainerLaverCup67
Level-1
- Beiträge
 - 110
 
- Reaktionspunkte
 - 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.