Beiträge von stefanM

    Hallo,


    Das ist definitiv nicht so - keine leeren Folds. Schon bei 4er Versionen habe ich das hinbekommen - da aber nur in Verbindung mit Ascii editoren. Mit dem Kuka Editor ist mir das komplett neu.
    Kern des Problemes ist, dass die Kuka Oberflaeche anzeigt, was auf der PC-Seite ist - der Programmlaufzeiger steht auf der selben Zeile im Speicher. Da war KRC1 um Welten besser.


    Gruss Stefan

    Hallo alle,


    warum auch einfach, wenn´s kompliziert geht.
    Sicher ist es sinnvoll, den Verschleiss der Buerste auszugleichen. Eine Sensorische Loessung wuerde ich hier aber auf keinen Fall verwenden - da technologisch schwer in den Griff zu bekommen - wie und wo schaltet ein Sensor auf der Oberflaeche einer Buerste???
    Hauptproblem, ist das sich die Kraefteverhaeltnisse (und die geometrischen) an der Buerste aendern.
    Mein Vorschlag hierzu: Spindel auf einer Fuehrung anbringen und mit einem Pneumatikzylinder mit geringem Druck nach vorne druecken. Vorteil ist: egal wie weit man gegen die Buerste faehrt - die Kraft ist immer konstant (bei einer Feder ist das nicht so)
    Das sich die Geometrie der Buerste (Umfangsgeschindigkeit) aendert, bekommt mann so aber nicht in den Griff. Hier koennte man dann ein Wegmesssystem am Schlitten anbringen und anhand der Auslenkung die Drehzahl der Spindel aendern - wenn´s ueberhaupt notwendig ist.


    Gruss Stefan

    Hallo,


    mit den Werkzeugwechslern von Schunk und IPR habe ich ganz gute Erfahrungen.
    Die Werkzeugwechsler von IPR haben manchmal "Zahnausfall" - wenn die beiden Teile beim Spannen nicht dicht genug zusammen sind und man ohne Werkzeug wieder rausfaehrt fallen Kugeln raus - da muss man beim teachen aufpassen.
    Mit den Werkzeugwechslern von Sommer habe ich eher schlechte Erfahrungen gemacht, da muss man sehr genau teachen, damit es flutscht.
    Generell sollte mann darauf achten, dass der Flasch beim Werkzeugwechsel horizontal ist und der Schwerpunkt etwa in der Flanschmitte ist - sonst verkantet´s.


    Gruss Stefan

    Hallo,
    fuer Integer wuerde sich die Darstellung im zweierkomplement anbieten, als Ultraprimitivloessung ein einfaches Vorzeichenbit.
    Willst du Gleitkommazahlen darstellen, gibt es die Moeglichkeit deinen Integer einfach durch z.B. 1000 zu teilen (drei Nachkommastellen).
    Aufwaendiger ist die normierte Darstellung in Exponentialschreibweise nach IEEE IEEE 754 - ausfuehrliche Beschreibung bei Wikipedia zu finden.
    Gruss Stefan

    Sowas hatte ich auch schon bei V5.2


    ich denke, die Sache hat damit zu tun, wenn man einen Ascii Editor verwendet.
    Bei mir hat geholfen, die Datei auf der KUKA BOF duplizieren, die Alte zu loeschen und die Neue umzubenennen.


    Ein aehnliches Phaenomen habe ich bei meinem jetzigen Kunden.
    Fuer die Instandhalter gibt es dort ein Hilfsprogramm zum teachen von Teilablaufen, den Roboter in Grundstellung zu bringen usw.
    Die Instandhalter fuegen, wenn sie das Programm verwenden ca. 1 mio Leerzeilen ein - danach faehrt der Roboter einen Bewegungssatz, wenn der Programmlaufzeiger auf einer Leerzeile steht oder macht nix, wenn ein Bewegungssatz angewaehlt ist.
    - hab schon alles Moegliche versucht, kriegs aber nicht abgestellt.


    Gruss Stefan

    Hallo,


    erstmal eine Frage: Ist das Logbuch dann ganz leer? oder fehlen nur Eintraege - denn das denke ich ist normal
    Ich glaube bei KRC1 konnte man den Zeitraum, wie lang die Eintraege erhalten bleiben einstellen (Die Logdatei einfach hinten abgeschnitten) - sicher weiss ich das aber nicht mehr.


    Gruss Stefan

    Hallo,


    wenn es mann durch setzen einer einfachen Variablen eine Archivierung anstossen kann, geht das - die kenne ich aber leider nicht.



    Gruss Stefan

    Hallo Andi,


    die Sache ist ganz einfach. Dazu brauchst du nur einen digitalen Eingang oder einen schnellen Eingang (auf der RDW- ist optional bei Kuka erhaeltlich).
    beispiel


    def bewegung() ; Programm mit der Bewegung
    interrupt decl 5 when $in[5] = True do mess()
    ptp anfang ; startpunkt fuer messung
    interrupt on 5 ; messung scharfschalten
    gemessen=false ; merker fuer erfolgreiche Messung zuruecksetzen
    lin ende ; bis hierhin muss eine Positive flanke gekommen sein


    def mess() ; interruptroutine
    interrupt of 5
    gemessen=true ; merker, das was gemessen wurde
    wait sec 0 ; vorlaufstop
    merke_pos = $pos_int
    end


    willst du in einer schnellen Bewegung messen, rate ich dir zu schnellen Eingaengen (ca, 200 Euro Option bei KUKA wenn du KRC2 mit RDW2 hast, bei KRC1 standard auf Powermodul - kost dann nix)
    Beim schnellen Messen verwendest du statt $in[x] $meas_pulse[1bis5], bei KRC1 $meas_pulse[1bis4].


    Willst du auf eine fallende Flanke messen declarierst du
    interrupt decl 5 when $in[5] = False do mess()


    Beim Einschalten des Interrupt sicherstellen, das die Bedingung nicht schon erfuellt ist - ausserdem solltest du den Fall behandeln, das der Sensor nichts erkennt (zum Beispiel mit der Boolschen Variable gemessen)


    viel Spass beim Probieren Stefan

    Hallo


    mit RC32 kenne ich mich leider nicht aus - aber hat die nicht an der Schaltschranktuer Taster fuer Antriebe ein Betriebsartenwahlschalter usw? Vielleicht andert sich ja einer der 16 Ausgänge, wenn du die Antriebe einschaltest.


    Decl Pos Palette2 ist wohl im SRC als nicht speichernd declariert (das kann mann da auch nicht)
    Dass du keine Datenliste hast ist nicht so toll, die Punkte koennen dann nicht gespeichert werden - Dat-File anlegen oder Global im Config.dat declarieren (Decl Pos Palette2={x 0.0,y 0.0,z 0.0,a 0.0,b 0.0,c 0.0}).
    Dann solltest du acu teachen koennen


    xhome ist (denke ich mal!!) auch bei RC30/32 als axis global declariert.
    Vielleicht klappts ja mit ptp xhome?


    Gruss Stefan

    Hallo,


    bei 2er Software (KRC1) wird nur auf die Platte archiviert, wenn mann das auch tatsaechlich macht.
    Ab den 4er Versionen geht das automatisch, zum Beispiel, wenn ein Programm abgewählt wird oder beim $config.dat, wenn mann ihn oeffnet und wieder schliesst.
    Da sich wahrend des Programmlaufes hoechstens irgendwelche speichernden Variablen andern sollte das aber kein Problem sein.
    Wurde nachgeteacht, kann man das Programm ja ab und wieder anwaehlen, dann sind die Punkte auch auf der Platte.


    Zur Datensicherung kann mann dann z.B mit einer Batchdatei und Xcopy das Verzeichnis C:\KRC\ROBOTER oder C:\KRC komplett kopieren.


    Gruss Stefan

    Hallo,


    bei Druckgussentnahme bewehrte Methoden (weiche Achsen)
    als nachsten Punkt LIN $pos_act fahren - dann wird nicht mehr zurueckpositioniert.


    Gruss Stefan

    Hallo,


    mit so kleinen Robotern habe ich normal nix zu tun. Aber am einzigen KR3 den ich je angefasst habe, war Achse 4 auch ungebremst - ist wohl normal.
    Ich wuerde zusaetzlich mal die Datenleitungen (zwischen Roboter und KRC) ueberpruefen.



    Gruss Stefan

    Hallo,


    Fa. Amatec verkauft ein sogenanntes XML-API (eigentlich fuer Oberflaechen).


    Was das kostet und ob es ueberhaupt was taugt weis ich nicht.


    Gruss Stefan

    Hallole,


    Bas(#vel_cp,0,1) und $vel.cp=0.2 bewirken genau das selbe.
    Wenn mann das Tool mit Bas.SRC setzt, werden Maschinenparameter (nicht Bewegungsparameter) abhaengig von der Werkzeuglastdaten gesetzt.
    Die heisen dann DEF_Vel.. und DEF_ACC... - wie Kuka das mit der Garantie sieht, weis ich nicht! Mann kann damit aber Taktzeit machen.


    Gruss Stefan

    Hallo KaiN,


    also ich habs mal mit office lite probiert (V4.1.6) probiert. $vel.cp laesst sich im SPS.sub nicht beschreiben. Die einfachste Moeglichkeit sehe ich in berechneten Zwischenpunkten, wo zu anfang immer die Gesscheindigkeit in Abhaengigkeit vom Analogwert geaendert wird. Damit mann ueberschleifen kann muessen es aber mehrere Pukte sein und nicht immer der selbe in einem Loop.


    Gruss Stefan

    Hallo,


    das Problem ist, dass Du hier Lin-Ptp Ueberschleifst.
    Die Sache ist dann geschwindigkeitsabhaengig - die Ueberschleifbewegung ist auch durch die verschiedenen Startpunkte unterschiedlich.
    Ich wuerde hier zwei Sachen Vorschlagen:
    1. wenn moeglich nicht so dicht an die Arbeitsraumgrenze
    2. Ueberschleifradius reduzieren (mehr wie 40 mm finde ich eh nicht sinnvoll)


    nochwas: beim lin-ptp ueberschleifen sind die Roboterbewegungen beim Vorwaerts- und Rueckwaertsfahren unterschiedlich (eine automatische Grundstellungsfahrt mit Punktetriggern kann so richtig in die Hosen gehen).


    Gruss Stefan

    Hallo,


    mit Programmbeispielen bist Du ja jetzt reichlich versorgt.
    Durch einen Interrupt (ein Erreignis - zum Beispiel ein Sensor schaltet) wird eine sogenannte Interruptroutine ausgeloesst (ein paralleles Programm).
    Durch Braek wird innerhalb dieser Interruptroutine die aktuelle Roboterbewegung angehalten.
    (und mit Resume springt der Programmlaufzeiger in die Ebene zurueck, in welcher der Interrupt declariert wurde).


    Ich hoffe, das hilft Dir weiter.
    Gruss Stefan

    hallo,


    ich habe zwar bisher gar nix mit Fanuc zu tun gehabt - aber soweit ich weis kennen sie auf der Interpreter Seite nur Labels. Punktedaten werden in irgendwelchen Registern abgelegt.
    Ich denke es hat sich sicher noch nimand die Muehe gemacht, dafuer einen Postprozessor zu schreiben - erst recht nicht Kuka oder Fanuc.
    Zumal sich der Sprachumfang erheblich unterscheidet.


    Da wirst du um ein bisschen Handarbeit wohl kaum rumkommen.


    Gruss Stefan