Beiträge von bruster

    HAllo
    tschuldigung das ich mich erst jetzt melde, hatte leider keine Zeit.
    Im Augenblick bin ich soweit das alles funktioniert, nur noch ne Frage.


    Kann ich Register von Roboter mit Karel abfragen und wie:
    ein kleines Beispiel würde helfen.


    Gruß
    Bruster

    danke
    aber irgenwie funtzt das nicht
    ein TP wird kopiert, umbenannt und dann gestartet aber die alte nicht gelöscht


    A_3 kopieren in A_3_1 ( funktioniert)
    A_3 löschen ( funktioinier nicht)




    PROGRAM TP_COPY
    ------------------------------------------------------------------------


    ------------------------------------------------------------------------
    VAR
    prog_name : STRING[12] -- The program name to save
    STATUS : INTEGER -- The status returned from the built-in calls
    prog_index : INTEGER
    -----------------------------------------------------------------------


    BEGIN


    ------------------------------------------------------------------------
    prog_name='A_3'


    COPY_TPE(prog_name,prog_name +'_1',TRUE, STATUS)


    FORCE_SPMENU(TP_PANEL,SPI_TPUSER,1) -- USER Anzeige an TECHPAD nach vorne


    WRITE TPDISPLAY (CHR(128),CHR(137)) -- USER Anzeige an TECHPAD leeren


    WRITE TPDISPLAY (prog_name + '_1 wird geladen',CR)


    CALL_PROG(prog_name + '_1', prog_index) -- Programm aufrufen und starten
    -- Im PROG muss am Anfang eine PAUSE
    -- sonst startet es automatisch


    DELETE_FILE(prog_name, FALSE,STATUS)


    END TP_COPY

    Hallo zusammen
    ich programmieren seit einigen Jahren ABB, nun haben wir eine FNAUC-Roboter und würde mich gerne mit KAREL
    ausseinander setzten.
    Kann mir jemand einen Ansatz geben wie ich mit Karel ein TP Programm


    kopiere - umbenne - lösche - speichere


    Hab selbst getestet:


    PROGRAM TP_delete
    ------------------------------------------------------------------------


    ------------------------------------------------------------------------
    %NOLOCKGROUP


    %NOPAUSE = ERROR + COMMAND + TPENABLE


    %NOABORT = ERROR + COMMAND + TPENABLE


    %NOBUSYLAMP
    VAR
    prog_name : STRING[12] -- The program name to save
    STATUS : INTEGER -- The status returned from the built-in calls


    -----------------------------------------------------------------------


    BEGIN


    ------------------------------------------------------------------------
    prog_name = 'ABSAUGUNG.tp'


    WRITE (CHR(128),CHR(137))
    DELETE_FILE(prog_name, FALSE,STATUS)
    WRITE TPDISPLAY ('Ich lösche eine TP.',CR)
    WRITE TPDISPLAY (CR,CR,CR)


    END TP_delete


    WAS passt hier nicht ?


    Grüsse
    Bruster

    Hallo
    Das hatte ich mir schon fast gedacht.
    So etwas hatten wir auch schon mal aber dabei ist das Teachpad sehr langsam und einige Mitarbeiter haben auch mit den Bezeichnungen ein Problem, so das ich das wieder zurücknehmen musste.


    Danke für die Info, ein sehr gutes Forum hier.


    Gruß
    Bruster

    Hy
    danke für die Info.
    Die Eventroutinen funktioinieren auf jedenfall.
    Werde das mit den Systemvariablen testen.


    Teachprogramm kapier ich nicht so richtig.
    Kanst du mir das im Ansatz erklären.
    Wie mache ich ein normalen MOVEL in ein Teachprogramm ?


    Gruß
    Bruster

    Hallo
    Tschuldigung das ich mich jetzt erst melde, die Arbeit hat mal wieder gerufen.
    Benutzer wäre nicht schlecht, ist aber nicht gewollt.
    Mit den EVENT-Routinen funktioniert das glaub nicht schlecht.
    Habe es gestern mal testen können.


    Wie funktioniert das mit den TASKS, habe nichts gefunden wie ich einen Task erstellen kann.


    Gruß
    Bruster

    Hy
    Wir schleifen Messing-Armaturen und haben dabei das Problem das einige Einrichter im Programm Punkte teachen und nicht wirklich wissen was sie dabei tun.
    jede Person ist schon mehrmals geschult wurden, brachte nichts. Leider sehen ein paar Personen nicht was geschehen kann.
    Zudem kann über einen externen PC mittels Taste das WOBJ in Stoßrichtung verschoben werden kann.
    Wenn nun dies auf dem PC verschoben wurde und später eine Person etwas teacht muss zuerst der verschobene Wert auf NULL gesetzt werden damit dies später nicht wieder aufgerechnet wird. Nur dies wird immer vergessen.


    Deshalb meine Überlegung:
    Den Handbetrieb abzufangen und diese Werte automatisch auf NULL zu stellen.


    Lösungsansatz:
    Ich habe soeben im Robot-Studio 2 EVENT-Routinen gemacht welche die Tasten STEP und START überwachen und wenn diese tasten dann im HANDBETRIEB gedrückt werden wird ja die Routine aufgerufen.


    Beispiel:
    PROC Hand_BETRIEB_START()
    IF DOutput(ABB_Handbetrieb) = 1 THEN
    TPWrite " START";
    ENDIF
    ENDPROC

    PROC Hand_BETRIEB_STEP()
    IF DOutput(ABB_Handbetrieb) = 1 THEN
    TPWrite " STEP ";
    ENDIF
    ENDPROC



    Dies scheint wohl zu funktionieren, zumindest im Studio


    Ich hoffe das ist verständlich.


    Gruß
    Bruster

    Hallo
    ich bin zum ersten Mal hier und hätte folgende Frage.
    Ist es möglich das Signal ABB_Handbetieb abzufangen.
    d.h. wenn der ROB in Handbetrieb geschalten wird sollte z.b. eine Routine aufgerufen.
    Ich habe es mit einem Interrupt versucht, aber wenn der Handbetrieb eingeschaltet wird geht das wohl verloren bzw. wird nicht mehr gelesen.


    Gibt es hier eine Lösung


    Gruß Bruster