Fehlersuche Schaltanweisung mit "IS_KEY_PRESSED(14)"

  • Hallo an alle Mitleser,


    ich suche einen Fehler:


    LOOP
    ;wenn Betriebsart T1 oder T2 gewählt wurde kann der Greifer
    ;durch Druecken der obersten Statustaste auf Position A (-8.00mm) gefahren werden
    IF (($MODE_OP == #T1) OR ($MODE_OP == #T2) AND (IS_KEY_PRESSED(14) == TRUE) AND ($IN[1153] == FALSE)) THEN
    PULSE ($OUT[1153],TRUE,0.5)
    ENDIF

    ;wenn Betriebsart T1 oder T2 gewählt wurde kann der Greifer
    ;durch Druecken der zweiten Statustaste auf Moment C (+50Prozent, nach Innen greifen) gefahren werden
    IF (($MODE_OP == #T1) OR ($MODE_OP == #T2) AND (IS_KEY_PRESSED(15) == TRUE) AND ($IN[1162] == FALSE)
    AND ($IN[1163] == FALSE)AND ($IN[1164] == FALSE)) THEN
    PULSE ($OUT[1164],TRUE,0.5)
    ENDIF

    IF (IS_KEY_PRESSED(15) == TRUE) THEN
    EXIT
    ENDIF


    ENDLOOP


    Die Ausgänge 1164 und 1153 werden nicht gesetzt und ich habe noch keinen Plan warum. Ich vermute es liegt an "IS_KEY_PRESSED(14)".


    Hat da jemand einen Tip für mich?

  • Schritt für Schritt zum Roboterprofi!
  • ich würde da mehr klammern machen
    und bischen mehr aufräumen



    bool betriebsartPasst
    betriebsartPasst =( ($MODE_OP == #T1) OR ($MODE_OP == #T2) )



    IF ((betriebsartPasst) AND (IS_KEY_PRESSED(14)) AND (NOT($IN[1153]))) THEN
    PULSE ($OUT[1153],TRUE,0.5)
    halt ; zum testen, ob man in die Bedingung reinspringt
    ENDIF

  • Ser-G, Du hast Recht


    ;wenn Betriebsart T1 oder T2 gewaehlt wurde kann der Greifer
    ;durch Druecken der obersten Statustaste auf Position A (-8.50mm) gefahren werden
    IF ((($MODE_OP == #T1) OR ($MODE_OP == #T2)) AND (IS_KEY_PRESSED(14) == TRUE) AND ($IN[1153] == FALSE)) THEN
    PULSE ($OUT[1153],TRUE,0.5)
    ENDIF


    Die Oder-Verknüpfung muss in Klammern stehen sonst ist Ausgang 1153 immer an wenn ich in Betriebsart T1 bin.

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden