- Beiträge
- 3.741
- Reaktionspunkte
- 1.069
-> Hier kostenlos registrieren
Hallo zusammen..
Ich habe eine Schleife zum Überprüfen ob die Position des Einfachpositionierers valide ist für alle Datensätze
UDT:
Schleife:
Jetzt würde ich gerne für ein Gesamtfertig ein Bit basteln (Rückmeldung vom Controller das Fertig/InPos und Rückmeldung von FC_AxisInPosition). Wie "suche" ich jetzt am besten nach dem InPosition in der UDT?
Wenn ich #PositionData[#j].InPosition nehme, klappt's nicht, weil es immer false ausgewertet wird. Die Schleife funktioniert auch so weit, wenn nicht mehr in Position dann falls, auch beim Überfahren anderer Positionswerte wird nichts Pseudo-True.. also ist immer nur ein InPosition der ganzen Struktur True.
Ideen?
Danke!
Ich habe eine Schleife zum Überprüfen ob die Position des Einfachpositionierers valide ist für alle Datensätze
UDT:
Code:
Position Real 0.0 True True True False mm
Velocity Real 0.0 True True True False mm/s
AccDcc Real 0.0 True True True False mm/s²
ToPosition Bool false True True True False
InPosition Bool false True True True False
Schleife:
Code:
IF #Igus.Out.Referenced THEN
FOR #j := 0 TO "AXIS_POS_MAX" BY 1 DO
"FC_AxisInPosition"(ActualPosition := #Control.ActualPosition,
Position := #PositionData[#j].Position,
ToleranceWindow := #AXIS_TOLERANCE,
InPosition => #PositionData[#j].InPosition);
END_FOR;
END_IF;
Jetzt würde ich gerne für ein Gesamtfertig ein Bit basteln (Rückmeldung vom Controller das Fertig/InPos und Rückmeldung von FC_AxisInPosition). Wie "suche" ich jetzt am besten nach dem InPosition in der UDT?
Wenn ich #PositionData[#j].InPosition nehme, klappt's nicht, weil es immer false ausgewertet wird. Die Schleife funktioniert auch so weit, wenn nicht mehr in Position dann falls, auch beim Überfahren anderer Positionswerte wird nichts Pseudo-True.. also ist immer nur ein InPosition der ganzen Struktur True.
Ideen?
Danke!