Beiträge von HarryH

    Hallo Stefan,


    du schriebst:


    Wenn ich das richtig verstanden habe funktioniert das anstarten wie folgt:
    1. Den Programmstart-Taster verbinde ich mit "DI_DrivesOn" (Konfiguration AutExt)
    2. Mit der Rückmeldung "DO_DrivesOn" quittiere ich die StoppMeldungen "DI_ConfMess" (Drahtbrücke zw. "DO_DrivesOn" und "DI_ConfMess")
    3. Mit der Rückmeldung "DO_ConfMess" starte ich das Programm "DI_ExtStart" (Drahtbrücke zw. "DO_ConfMess" und "DI_ExtStart")
    4. "DO_ExtStart " zeigt mir an das das Programm läuft
    --> Ist das so richtig? :?:


    Was meinst du mit "eine Routine im SPS.Sub, die dir die Sache anwirft." Was muss ich noch "anwerfen"?


    Muss ich den Programmstart-Taster in der SPS.sub irgendwie verriegeln. z.B. wenn das Programm schon läuft, oder mit dem Schutzgitter?


    @ LindePaul: Das man MoveEnable mit $CHCK_MOVENA = FALSE deaktivieren kann wußte ich auch noch nicht, danke :D


    Gruß HarryH

    Hallo zusammen,


    ich habe erstmalig einen Roboter ohne SPS-Anbindung zu projektieren/programmieren. (KRC2, KR180-2PA).


    Zur Info: Es ist ne Palettierzelle, in welcher Kanister auf einer auf dem Boden stehenden Palette palettiert werden. Es gibt zu der Anlage einen zusätzlichen Bedienkasten mit Bedienelementen um dem Roboter gewisse Anwahlen zu geben. Zu steuern vom Roboter ist der Greifer (ca. 10 E/A's), der Kanistereinförderer (ca. 10 E/A's), sowie die Bedienelemente im Bedienkasten (ca. 15 E/A's). Abgesichert ist die Palettierzelle über eine Sicherheitslichtschranke.


    Nun zurück zu meiner Frage: Da ich keine SPS habe läuft der Roboter im Automatik-Modus (nicht Ext). Wenn der Bediener die SI-Lichtschranke auslöst, stoppt das Roboterprogramm. Ist es möglich, das Roboterprogramm über einen Taster im zusätzlichen Bedienkasten wieder zu starten? Oder geht es nur am KCP?
    Der Bediener muß sowieso zum Bedienkasten gehen um die SI-Lichtschranke wieder zu aktivieren. So wäre es schön, wenn er dort auch das Prog. wieder starten kann.


    Ich bin über jede Anregung dankbar!


    Gruß HarryH

    Hallo David,


    könnte es vielleicht sein, das du deine 10 Unterprogramme jedesmal manuell über Satzanwahl anwählst? Dann ist es klar das auch jedesmal eine SAK-Fahrt erforderlich ist (Finde die SAK-Fahrt auch total sinnlos! :down:). Am besten du machst dir ein Hauptprogramm in welchem du in einer (Endlos-)Schleife abhängig von irgendwelchen Bedingungen (Eingänge, Variable) deine Unterprogramme aufrufst. Z.B.:



    Dann ist nur einmalig (wie schon gesagt wurde) nach dem Anwählen des Hauptprogramms die SAK-Fahrt nötig.


    Gruß HarryH

    Hallo zusammen,


    es geht um einen KR180-2PA (Palettierer) mit KRC2 Steuerung der jetzt drei Wochen beim Endkunden in Produktion ist. Bei der IBN vor drei Wochen hatte ich die oben beschriebene Fehlermeldung, --> die (defaultmäßige) Beschleunigung von 100% für Achse 6 war zu groß --> wurde über "BAS (#INITMOV,0 )" zugewiesen. Habe daraufhin die ACC für Achse 6 soweit reduziert ($ACC_AXIS[6]=60), das die Meldung nicht mehr gekommen ist. In diesem Zustand lief der Roboter jetzt 3Wochen. Gestern kam die Meldung wieder :huh: Woran kann das liegen? :hilfe:


    Oder, welche (Rand-) Bedingungen müssen da sein / sich geändert haben, damit diese Meldung kommt.


    Gruß HarryH

    Hallo Michel,


    im Kopf der dat-datei steht:

    Code
    &ACCESS RVO
    &REL 258
    &COMMENT Moving Routines
    &PARAM TEMPLATE = C:\KRC\Roboter\Template\ExpertVorgabe
    &PARAM EDITMASK = *
    DEFDAT  PALMOVE PUBLIC


    Die scheint Public zu sein, oder?


    Aber wie mache ich den Punkt global? Wenn ich in der dat-datei vor
    die "DECL E6POS XTestpos ..." ein GLOBAL vorschreibe wird das nicht akzeptiert.


    Gruß HarryH

    Hallo Forum,


    irgendwie kriege ich es noch nicht hin, Positionen die ich über Inlineformular erstellt habe in einer anderen src-Datei zu verwenden. --> Zur Erlklärung was ich meine -> Beispiel:


    Habe Dateien: "Testmove.src" mit der dazugehörigen "Testmove.dat". In der "Testmove.src" erzeuge ich über Inlineformular die Position "Testpos" erzeugt. Diese ist ja bekanntlich dann in der "Testmove.dat" als "XTestpos" gespeichert. Nun möchte ich in einer anderen src-Datei z.B. "FahreGST.src" die "XTestpos" verwenden. Bekomme aber immer die Meldung (Sinngemäß) "Objekt nicht vorhanden". Was kann ich tun.


    Gruß HarryH

    Hallo zusammen,


    bei der KRC2 Steuerung kann man im Menü "Inbetriebn./Justieren/" den Menüpunkt "Justage--Daten sichern" anwählen. Was bedeutet das? Kann ich damit bei Justageverlust einer Achse die Justage wieder herstellen, ohne ein EMT oder mech. Messuhr zu verwenden? --> Die KUKA Doku ist in diesem Punkt etwas sparsam :huh:


    Gruß HarryH

    Hallo zusammen,


    gibt es eine Systemvariable in der die aktuell eingestellte BOF-Sprache gespeichert wird? Z.B. als INT (1= deutsch, 2= englisch, 3= französisch usw.)


    Möchte damit Folgendes realisieren:
    Ich habe in meinem Roboterprogramm eine Menge Meldungen die ich mit $MSG_T programmiert habe. Ich führe die Meldungstexte immer deutsch und englisch und kann mit einer boolschen Variablen die beiden Sprachen umschalten. Super wäre es, wenn ich abhängig von der BOF-Sprache auch meine Meldungstexte umschalten kann. D.h. ...
    ... BOF-Sprache deutsch --> Meldungstexte deutsch
    ... BOF-Sprache nicht deutsch --> Meldungstexte englisch


    Bin für jeden Tipp dankbar! :genau:


    Gruß HarryH

    Hallo,


    ich hab ne Frage zur KCL.


    1. Ist es möglich wie in der nächsten Zeile angedeutet, dem x-Wert
    eine Variable zuzuweisen, oder womöglich eine Operation mehrerer
    Variablen?

    Code
    LIN {x -Var1+Var2, y 0, z 50, a 0, b 0, c 0}:GreifPosition



    2. Ist es möglich wie in der nächsten Zeile angedeutet eine Operation
    (hier "Zaehler+1") in der Parameterübergabe zu verwenden?

    Code
    Akt_Wert = Wert[Zaehler+1]



    Gruß HarryH

    Hatte noch vergessen zu sagen, das die
    Einheit von ori1 und ori2 bei beiden [grad/sec] ist.


    Bei dem letzen Roboter den ich hatte (KR180-2PA, KRC2) sind die default-Werte für
    VelOri1/2 auf jeweils 200.0Grad/sec gesetzt (INI). Die default-mäßigen Werte stehen in der Config.dat ziemlich am Anfang unter CP - MOVEMENTS:
    REAL DEF_VEL_ORI1=200.0
    REAL DEF_VEL_ORI2=200.0


    Kannst du bei dir ja mal gucken was bei dir default-mäßig eingestellt. Um ein Gefühl dafür zu bekommen, auf was für einen Wert du in deinem Anwendungsfall gehen musst.


    Gruß HarryH

    Hallo Hennes Bender,


    laut Doku gibt es noch folgende Geschwindigkeitszuweisungen:


    $VEL.ORI1 = Schwenkgeschwindigkeit
    $VEL.ORI2 = Drehgeschwindigkeit


    Hab es selber aber noch nie verwendet. Weiß nicht ob es damit funktioniert. "Probieren geht über studieren". :mrgreen:


    Gruß
    HarryH

    Hallo Holger,


    die Routine "haupt" im Programm direkt aufrufen geht nicht. Es funktioniert ein paar mal, aber dann kommt die Fehlermeldung:


    Fehler 40222 Laufzeit Stack Überlauf
    Das Programm ist zu komplex. Warscheinlich enthält
    das Programm Routinen, die sich selbst aufrufen.



    Die Version über EXIT ist ohne weiteres möglich. Der Programmzeiger wird auf die erste Anweisung in der Routine Haupt gesetzt. Jedoch ist das Programm dadurch gestoppt und muss erneut gestartet werden.


    IF diRack=0 EXIT; ODER


    IF diRack=0 THEN
    EXIT;
    ENDIF


    Gruß HarryH

    Hallo Mr Robotik,


    auch bei den Robotern die ich immer unter die Hände bekomme (KR180-2PA, KRC2, 5.2.12), ist die Geschwindigkeitszuweisung CP mittels der BAS auf 2.0 m/s begrenzt (Übrigens der max. Beschleunigungswert CP auf 2.3m/s2). :genau:



    In den Maschinendaten findest du aber die speziell für deinen Robotertyp zulässige max. Geschwindigkeit und Beschleunigung. Datei: KRC\R1\Mada\$machine.dat


    Dort in der Zeile 1037:
    DECL CP $ACC_MA={CP 10.0,ORI1 1000.0,ORI2 1000.0} ;CP = MAX.
    BAHNBESCHLEUNIGUNG [M/SEC2], ORI1 = MAX. SCHWENKBESCHLEUNIGUNG
    [GRAD/SEC2], ORI2 = MAX. DREHBESCHLEUNIGUNG [GRAD/SEC2]
    DECL CP $VEL_MA={CP 3.0,ORI1 400.0,ORI2 400.0} ;CP = MAX.
    BAHNGESCHWINDIGKEIT [M/SEC], ORI1 = MAX. SCHWENKGESCHWINDIGKEIT
    [GRAD/SEC], ORI2 = MAX. DREHGESCHWINDIGKEIT [GRAD/SEC]
    --> Hier max. Geschw. CP = 3.0
    --> Hier max. Beschl. CP = 10.0


    ACHTUNG: Das sind jetzt Zeilen aus der $machine.dat von einem KR180-2PA mit KRC2 Version 5.2.12! Außerdem weiß ich nicht ob das bei deinem Roboter an der selben Stelle steht. Der ist ja schon ein paar Jahre alt.


    Du kannst die Geschwindigkeit bis zu diesem max. Grenzwert direkt zuweisen mit
    $VEL.CP=3.0
    Oder eine Beschleunigung
    $ACC.CP=4.5


    Meine Erfahrung ist gerade bei Änderungen der Beschleunigungswerte über die Grenzwerte der BAS hinaus, das der Roboter manchmal mit Fehlermeldungen "Max. Getriebemoment überschritten" (sinngemäß) stoppt. Dann muss man die Geschw.- und Beschl.-Werte wieder verringern. :zwink:


    Wie das mit der Geschwindigkeitszuweisung und dem Grenzwert über Inline-Formulare sich verhält weiß ich nicht. Verwende die nie.


    Gruß HarryH