Programmanwahl

  • Hallo,


    würde gerne das Cell, über die tastenkombination SYM+STOP Taste in T1 oder T2 an bzw. abwählen aber folgender Code versucht immer nur das anzuwählen aber nicht AB!!


    in der .dat
    GLOBAL CHAR chProName[32]
    chProName[]="/R1/CELL.SRC"


    Im SPS.sub
    IF bProgisCell AND ($T1 OR $T2) AND $ROB_STOPPED AND ((IS_KEY_PRESSED(57) AND IS_KEY_PRESSED(11)) THEN
    bProgisCell=FALSE
    IF StrComp($PRO_IP.NAME[], chProName[], #NOT_CASE_SENS) == FALSE THEN
    CWRITE($CMD,STAT,MODE,"RUN/R1/CELL()")
    ELSE
    CWRITE($CMD,STAT,MODE,"CANCEL 1")
    ENDIF
    ENDIF
    IF NOT bProgisCell AND ($T1 OR $T2) AND NOT ((IS_KEY_PRESSED(57) AND IS_KEY_PRESSED(11))
    bProgisCell=TRUE
    ENDIF


    Was mache ich falsch??


    Rainner

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • Schritt für Schritt zum Roboterprofi!
  • Hi versuchs doch mal so hab grad keinen Robbi da.
    interessante Variante die du da vor hast


    Gruß Loipe

    Einmal editiert, zuletzt von Loipe ()

  • Hallo,


    Vielen Dank! mit deiner Lösung ist es aber nicht möglich, aus irgendeinem Programm
    direkt das Cell anzuwählen?? oder?


    Ich verstehe eigentlich nicht warum dieser StrComp nicht funktioniert hat: habe mir beide Variablen in der Variablenüberischt angesehen,wenn das CELL angewählt war --> identisch!!
    macht es was wenn dieser Char 32 Zeichen fasst, und die $PRO_IP.NAME[] eventuell unterschiedlich groß ist??


    Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • hi


    es würde nur dann ein Programm angewählt wenn keins angewählt ist.


    und deine StrComp lösung kann ich nichts zu sagen müsste ich morgen mal schauen
    wenn sie unterschiedlich lang wären müsste man den String wohl ändern
    aber so wie ich das geschrieben hab müsstest du jedes Programm das angewählt ist abwählen können und nur Cell anwählen
    wenn kein Programm angewählt ist.
    und wenn ich mich net verlesen hab war auch das was du mit deinem Code machen wolltest oder?


    Gruß Loipe

    Einmal editiert, zuletzt von Loipe ()

  • Hallo,


    habt ihr noch anregungen wie man weitere Funktionen durch solche Shortkeys
    ein wenig flotter erledigen kann? mein Chef wünscht sich ein wenig mehr effektivität
    bei Grundfunktionen (wie zb. ins Cell stellen)


    Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • Hallo,


    nun die Final Version :ylsuper:


    eine wahre Freude für unsere Instandhalter!!!


    IF ($T1 OR $T2) THEN
    IF ($SAFETY_SW == #RELEASED) THEN
    IF (IS_KEY_PRESSED(57) AND IS_KEY_PRESSED(11)) AND NOT bKeyPressed THEN
    IF ($PRO_STATE1 == #P_FREE) THEN
    CWRITE($CMD,STAT,MODE,"RUN/R1/CELL()")
    ELSE
    IF NOT ($PRO_STATE1 == #P_FREE) AND $ROB_STOPPED THEN
    CWRITE($CMD,STAT,MODE,"CANCEL 1")
    ENDIF
    ENDIF
    bKeyPressed=TRUE
    ENDIF
    IF bKeyPressed AND NOT (IS_KEY_PRESSED(57) AND IS_KEY_PRESSED(11)) THEN
    bKeyPressed=FALSE
    ENDIF
    ENDIF
    ENDIF


    Gruss Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • ... sehr schön, da werde ich mal mit spielen, kommt mir gerade ein Top Gedanke, melde mich dazu dann noch!!! :danke:

  • Hallo,


    raus damit! mach mich nicht so heiß! :schwitz: :schwitz: :schwitz: :schwitz:


    Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • Moin zusammen,


    hab ne kleine Zwischenfrage:
    Für die Tastenabfrage "IS_KEY_PRESSED(xx)" brauche ich ja die Nummer der KCP-Taste. Gibt es irgendwo eine Liste mit allen Tasten und den dazugehörigen Nummern?


    Gruß HarryH

  • ...oder sps.sub


    DECL INT Q



    FOR Q=1 TO 200
    IF IS_KEY_PRESSED(Q) THEN
    KEY_ACT_=Q

    ENDIF

    ENDFOR

    Variablenübersicht!

  • Hallo,


    also wenn kein Programm angewählt und auf EXT umgeschaltet wird, CELL wird angewählt, jedes angewählte Programm kann in T1 durch die Stop Taste (KCP) abgewählt werden, ist ein anderes Programm als CELL 'zu Fuss' angewählt worden und es wird auf EXT umgeschaltet, das angewählte wird abgewählt und CELL angewählt...


    ;===================================================
    ;PROGRAMMANWAHL AUTOMATIK EXTERN
    IF M_EXT_PROGRAMM_ANWAHL AND $EXT AND ($PRO_STATE1==#P_FREE) THEN
    CWRITE($CMD,STAT,MODE,"RUN /R1/CELL( )")
    M_EXT_PROGRAMM_ANWAHL=FALSE

    ENDIF

    IF NOT $EXT THEN
    M_EXT_PROGRAMM_ANWAHL=TRUE
    M_GRUNDSTELLUNG=FALSE
    M_CELL_AUFRUF=FALSE

    ENDIF

    IF M_EXT_PROGRAMM_ANWAHL AND $EXT AND NOT ($PRO_STATE1==#P_FREE) AND NOT IS_KEY_PRESSED(11) THEN
    CWRITE($CMD,STAT,MODE,"CANCEL 1")

    ENDIF

    IF $T1 AND NOT ($PRO_STATE1==#P_FREE) AND IS_KEY_PRESSED(11) THEN
    CWRITE($CMD,STAT,MODE,"CANCEL 1")

    ENDIF

  • Hallo,


    wir stellen den Roboter eigentlich immer in der Betriebsart T1 o.T2 ins Cell, wählen die entsprechende Home über einen Dialog aus, und schalten anschließend erst in Extern.
    Ist das nicht die Stand. Vorgehensweise?? wie macht ihr das? Ich meinte nur, weil Du beim
    umschalten in Ext das Cell gleich anwählst??


    Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • ...ich habe immer einen Arbeitsraum um die Homeposition liegen, ist der Roboter in diesem Bereich (wird auch am OP visualisiert) wird in CELL nach betätigen der Taste Grundstellung direkt Home angefahren und der Rob steht in Grundstellung. Bleibt der Rob in EXT läuft alles nur über die s7, wird auf T1 umgeschaltet und CELL abgewählt greift obige Nummer, entweder im JOG in den Bereich Home fahren oder die Globale _home.src aufrufen durchlaufen und umschalten!


  • Hallo,


    wir stellen den Roboter eigentlich immer in der Betriebsart T1 o.T2 ins Cell, wählen die entsprechende Home über einen Dialog aus, und schalten anschließend erst in Extern.
    Ist das nicht die Stand. Vorgehensweise?? wie macht ihr das? Ich meinte nur, weil Du beim
    umschalten in Ext das Cell gleich anwählst??


    Wir machen machen das wie ihr, aber wenn in EXT CELL noch nicht angewählt ist, dann wählt SUB CELL an, wenn SPS in Automatik ist.
    Wenn Roboter nicht sicher steht, dann halt wieder T1!



    Ciao, Andreas

    CONTINUOUS ALWAYS

  • Hallo,


    habs jetzt noch um "RESET" des Programms erweitert! SYM + Start "-" Taste


    Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

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