Beiträge von Robotnik

    Hallo Community,


    ich habe jetzt den ersten Wandroboter der Inbetrieb genommen werden soll. (Er kann auch Uhrzeit :) Zeiger ist Orange)


    Er hängt an der Wand. Keine Probleme mit den Achsmomenten, der KR10 von KUKA ist dafür gemacht.


    Der Vorgänger für die Beladung zweier Maschinen stand am Boden in der Zellenmitte.

    Jetzt soll die gleiche Zelle (mit Safety) nochmals gebaut werden.

    Der Roboter hängt hier wie gesagt an der Wand.


    Zwei Probleme gibt es:


    1. Der Roboter fährt in Z+ in World nach unten und in Y+ nach rechts. (nach Rechts geht schon mal gar nicht) Nach unten das schaffen die Linken auch.

    2. Wenn der Roboter in der Zellenmitte nahe des $WORLD Ursprungs steht, hat er die Koordinaten von ca. 2300 mm. Obwohl er nur ca. 1600 mm Radius hat.


    Der Fusspunkt wurde im Workvisual verschoben, so das er an der Wand hängt. (Steckeranschlüsse nach unten)

    Der Roboter bewegt sich im DiagnoseSafety so wie in der Realität.


    Er meldet aber in Home Zellenbereich überschritten.

    Eigentlich befindet er sich bei dem $WORLD Nullpunkt (ca. 150 bis 200 mm entfernt)

    Der Roboter rechnet die selbe Fusspunktverschiebung von $WORLD nach $ROBROOT (Wandmontageposition) nochmals auf die Kinematik oben drauf.


    Wie kann man die zweite Transformation invers in der internen Kinematik zu dem Roboterkoordinatensystem rückgängig machen?

    Die $TIRORO ist bei aktiver Safety nicht Änderbar. Es gibt nur Fehler in der Sicherheitssteuerung?


    Ich bin verzweifelt :( und die KUKA Hotline - ist keine Hilfe :(((

    Wir verkaufen den quasi unbenutzten Roboter, voll Funktionsfähig mit oder ohne Anbauteilen.

    Der Link zeigt den Roboter beim Kniffeln :)

      Roboter Kniffelt bei YouTube

    Er diente uns als Schulungsroboter, um Projekte vorzubereiten und diverse Dinge auszuprobieren.

    Kniffel- und Blackjack spielen, Weizen einschenken, Weisswürste servieren, Kleben und Palettieraufgaben
    haben wir mit dem Modularen Greifer umgesetzt.

    Mit der Kamera konnten wir Bilderfassungsszenarien abbilden und viel Erfahrung sammeln.

    Er lief bis zuletzt bei uns in unserem Labor und wurde wegen der Werkstattverkleinerung demontiert.

    KRC4-KR16 Messe- / Presentations- / Schulungsroboter


    Alter: ca. 6 Jahre

    Betriebszeit: 99,5 Std.


    Softwarepakete:


    Expert Tech

    Gripper-&SpotTech

    RemoteService

    UserTech


    Hardware:


    Profibus

    Graphikkarte


    Extras:

    Sockelverkleidung

    Festo Ventil Insel

    Vakuum Einheit

    Wago EA-Module DI/DO und 2 Analoge E/A (im Schaltkasten A3)


    Greiferwechselsystem von RSP mit 2. Greiferplatte und Halter

    (4 x Pneumatik / 8-poliger Adapter)


    Modularer Greifer aus Aluminium CNC-Bearbeitet und beschichtet.

    Zylinder mit Sauger (über INI Suchfunktion möglich)
    Cognex Kamera Schwarz Weiss

    Festo Bionic Greifer

    Gefederter Kartuschenhalter (Kleben)


    Neupreis Roboter: 48.000 € inkl. MwSt.


    Angebotspreis: 27.000 € zzgl. MwSt. (Steuerschrank / Manipulator / Kabel / KCP) ohne Extras

    => 30.000 € zzgl. MwSt. mit Extras

    Hallo Mado,
    Ich sehe das so wie Konstantin.
    Der Screenshot zeigt klar das es an Grundlagen fehlt.
    Die Kamera muss kalibriert werden und die Bezüge richtig hergestellt werden. Hast Du das schon erledigt?
    Der Job wird normalerweise nur einmal geladen und es wird dann nur ein 'Aquire Image' ausgelöst, allerdings bevor Du in die Bewegungsroutine springst. Genauer wenn der Linke Arm in Aufnahmeposition ist.
    Die Kamerakontrolle würde ich als separaten Task umsetzen der vom Task Linker Arm angestartet wird.
    Wenn ein gültiges Ergebnis ansteht kann der Rechte Arm aus seiner 'Vorposition vor EntnahmePlatz' die ausserhalb des Kamerafeldes liegt starten.
    Rechter Arm gibt Informationen wie 'Fertigmeldung Teil gegriffen' und 'Ausserhalb Bereich Kamera' an den Linken.
    Viele Grüße
    Robotnik

    Code
    1:   UFRAME_NUM=1 ;
    2:   UTOOL_NUM=1 ;
    3:   ;
    [b]4:   PR[1]=JPOS    ;[/b]
    5:   R[1]=PR[1,1]    ;
    6:   R[2]=PR[1,2]    ;
    7:   R[3]=PR[1,3]    ;
    8:   R[4]=PR[1,4]    ;
    9:   R[5]=PR[1,5]    ;
    10:  R[6]=PR[1,6]    ;


    Hallo Kollegen

    Ich habe da ein merkwürdiges Problem. Wenn ich das kleine Programm ausführe erhalte ich
    bei Zeile 7 die Fehlermeldung "INTP-204 (VERSUCH, 7) Invalid Value"


    Allerdings stehen in allen Komponenten des Positionsregisters gültige kleine REAL-Werte drin. Ich hätte vermutet das die Zuordnung der Komponenten
    folgende ist :


    Dasselbe Problem besteht wenn ich folgendes Programm ausführe :


    Code
    1:   UFRAME_NUM=1 ;
    2:   UTOOL_NUM=1 ;
    3:   ;
    [b]4:   PR[1]=LPOS      ;[/b]
    5:   R[1]=PR[1,1]    ;
    6:   R[2]=PR[1,2]    ;
    7:   R[3]=PR[1,3]    ;
    8:   R[4]=PR[1,4]    ;
    9:   R[5]=PR[1,5]    ;
    10:  R[6]=PR[1,6]    ;


    Der Unterschied in Zeile 4 .


    Wieder gleiche Fehlermeldung.


    Welchen Fehler mache ich ?
    :wallbash:


    Danke im vorraus.


    M.f.G

    Liebe Kollegen !


    Kann mir bitte jemand verraten ob es beim R-30iB die Moeglichkeit gibt einen Suchlauf zu programmieren ? Damit meine ich die Moeglichkeit eine Lin - bewegung ueber einen Interrupt abzubrechen ? Falls es die Moeglichkeit gibt - wie kann ich das umsetzen ?


    Danke im vorraus !


    :mrgreen:

    Hallo RoboBert,


    Vielen Dank für Dein Interesse (Das Küsschen-Smiley gibt's hier leider net)
    Geritten,... hab halt schon alles andere ausprobiert, und wer nichts kaputt macht macht auch nichts.


    Hab da ein paar Screenshots gemacht, komme aber erst heute zum Posten:


    Bild 1 (*.221.jpg): Genau so wie Deins, ausser ETH-Adresse
    Bild 2 (*.341.jpg): Default-Werte der KUKA-MFC-Karte, nach Rücksetzen.


    Die Konfiguration 7 (Default) lässt sich anzeigen und NICHT ändern,
    Die Konfiguration 3 lässt sich ändern (Ausser RAM-SIZE und SPEED) und auch Speichern, sowie wie Anzeigen, aber nicht aktivieren. (Dabei stürzt das System ab)


    (Beim BIOS der KUKA-Karte im KRC2, die auch von nem Fremdhersteller kommt, gab es bisher noch keine Probleme nach dem zurücksetzen auf Werkseinstellungen)


    Für die KRC2-Mutterplatte gibt's keine README - Sie ist praktisch unkaputtbar.


    WAS SOLL BEI DEFAULT SCHIEFGEHEN (auf der Mutterplatte steht Fujitsu oder so), da aktiviert man z. B. die USB-Schnittstelle, ändert Bootreihenfolge,... dann zurück auf DEFAULT und alles läuft, sogar die Serielle Schnittstelle am KRC4, wenn man löten kann! Mit und auch ohne Default-Klick)


    Die Einstellungen für die MFC-Card RAM-Speed lassen sich nicht ändern. Ebenso der RAM-Size. (So steht es in der README)
    Es steht nirgends in der Beschreibung, das beim Rücksetzen auf Werkseinstellungen genau diese Werte abgeändert werden und NIENIEWIEDER zurückgestellt werden können.


    Ein kleines Msg-Dialog-Fensterle öffnet sich nicht:

    "Konfiguration niemals mehr herstellbar, Selbstzerstörung Starten, Countdown kann dann nicht mehr Rückgängig gemacht werden."


    [MUTIG WEITER] oder [FEIGE DOCH NICHT]


    Hat das vor mir noch nie jemand getan, an Sachen rumfummeln wo es EINE Anleitung für gibt. (Mit Exit-Strategie - dem Factorysettings)


    Über 2000 Euro für eine neue MFC2-ISA-Karte würden mich definitiv davon abhalten, Warnungen oder Hinweise im Downloadbereich zur Verfügung zu stellen, weil das ja Geld kostet und nix einbringt.


    Gruß
    Robotnik

    Hallo KRC2-Legenden,


    Ich habe die MFC2 am KRC2 mit Hilfe des Tools ISMC9000.EXE auf die Factory-Settings zurückgesetzt.
    Jetzt erkennt der KUKA seine eigene Karte nicht mehr.
    Gültiger Bereich für das Tool ISMC9000.EXE oder I9000PRO.EXE ist 100h - FFFFh


    Die Karte wird nicht mehr vom Robotersystem erkannt, obwohl zu erwarten wäre, das sich die Karte (ISA) auf den Adressbereich 340h-35Fh zurücksetzt. Das ist nunmal die Standarteinstellung beim KRC2 (mit W95)


    Die beiden Tool ermöglichen eine Konfiguration der MFC-Karte ohne Hardware-Jumper-Einstellung. Es gibt da ja auch keine Jumper mehr...
    Gott sei gedanket.


    Nach rumprobieren konnte ich die Karte wieder erreichen:
    Aufruf der I9000PRO.EXE /P:xxx (Adresscheck: 100, 120, 140, 160, 180, 200, 220, .. 1000, 2000, 3000, ... A000 YEAH....)


    A000


    Was ist das für eine Adresse, die KUKA-Servicehotline konnte mir nicht weiterhelfen und aus absoluter Verzweiflung (Anlagenstillstand)
    hab ich eine Ersatzkarte gekauft (Was die kostet wollt Ihr nicht wirklich wissen... 4,00 €/g (Paketgewicht))


    Ich konnte anstandslos die Verpackung zurückgeben, der Preis für die Karte bleibt allerdings der gleiche :bawling:


    Warum setzt sich eine KUKA-MFC2-Karte bei einem Factory-Default-Reset nicht auf 0340h sondern auf A000h zurück?


    Warum weiß die KUKA-Service-Hotline nicht von diesen Einstellungen, und warum kann ich die Einstellungen nicht mehr ändern.
    Ich kann die Einstellungen mit dem Zugang über I9000PRO.EXE /P:A000 ändern, speichern, und dann...
    Kackt mir das Programm I9000... nach dem Speichern und einer Konfig-Anfrage ab.
    ISMC9000.EXE genauso.


    Führt NIENIENIEMALS einen FactoryReset durch, da es NIENIEWIEDER möglich ist den Adressbereich von 340h einzustellen und die Karte NIENIEWIEDER erkannt wird. Und Ihr zahlt für den RESET den Preis von:


    4,00 € / g (für Karte/inkl. Verpackung)


    Gruß
    Robotnik


    PS: Wer weis wie man die Karte wieder mit den Orginal-Konfigurations-Tools von KUKA für die KUKA-MFC-Karte konfigurieren kann


    ..... ANTWORTE :bawling: :bawling: :bawling:

    LindePaul oh LindePaul,


    ob Dich jemals jemand ersetzen kann.
    VxWinRam hochsetzen wird ja auch beim KRC1 bei der installation von CoDeSys AUTOMATISCH gemacht.


    Hab ich dann auch gleich mal als Speichererweiterung geprobt...


    Was kam raus, ein Systemcrash, die selben Fehlermeldungen, Physikalischer Speicher net ausreichend....
    Is ja überhaupt kein Physikalischer Speicher, eigentlich müsste die KUKA-Systemmeldung Kein VirtuellZugewiesenerPhysikalischerSpeicher mehr üüüübrig heißen.


    Übrigens. Wenn man den Physikalischen Speicher Start (Phys1Begin) + Speichergröße Phys1Size) zusammenzählt, ergibt das einen Konflikt mit dem Start Phys2Begin. :bawling:


    Und weil wir viele Programme haben, stürzt die KK-Kiste dauernd ab.
    Wenn der Speicherbereich Phys2Begin nach Phys1Begin+Phys1Size liegt funzt alles wunderbar.
    ABER DA GIBTS DANN KEINE GARANTIE AUF EINE KONFLIKTFREIE SPEICHERDEKLARATION :( :( :(


    In dem Bild VXRAM... ist folgender Konflikt - (Standard-Installations-Einstellungen bei KSS 4.1)


    d0000 + 2FFFF = FFFFF


    Startadresse Phys2Begin:
    FE000


    Muss da die Kiste nicht abschmieren wenn man an die Speichergrenzen kommt. (Ist das von KUKA so gewollt?)


    Für was wird der Phys2-Speicher eigentlich gebraucht? Für CoDeSys?


    Wo ist LindePaul oder einer mit Basiswissen über die KK-Urgetüme.


    Darf man in der Registry den Physikalischen Speicher hochnehmen und bei 128 MB RAM wie hoch?


    Vielen Dank für Antworten


    Gruß
    Robotnik

    Perfekt Triggern kann man wenn man zwei Interrupts deklariert die je die Steigende oder Fallende Flanke einer Variablen abfragen.
    DECL WHEN VAR==TRUE... Do MessUP()
    DECL WHEN VAR==FALSE... Do MessUP()


    Und im MessUP die Var toggeln...
    DEF MessUP()

    VAR = NOT VAR


    END


    Wenn der Laser als Tool vernünftig vermessen ist (Strahlaustrittspunkt und Strahlrichtung) kannst Du den Messwert mit dem Doppelpunktoperator einfach dazuaddieren.


    Gruß
    Robotnik

    Was auch gehen würde auf dem Roboter ein kleines Progrämmchen zu installieren mit Chat-Server-Funktionalität...
    Dann kann man von jedem beliebigen Rechner als Client Zeilenweise Kommandos an den Server Schicken, der diese dann je nach Kommando/Inhalt auswertet und an die VXWORKS weiterleitet.


    z. B.


    Event... LineIn ...


    CMD = FktGuckNachBekanntenKommandos(strLastLine)


    Switch CMD


    Case Set
    ParameterSetFkt = FktGuckNachParameternSet(strLastLine)
    Result = SETVAR(ParameterSetFkt.VARNAME,ParameterSetFkt.VALUE)
    ....


    Endswitch


    Wobei hier bei der Fkt SETVAR eine KRC-Interopverbindung ganz sinnig wäre weils nix kostet, ausser Programmierzeit!

    Das ist toll das es jetzt sowas gibt wie...


    Rob_Stop(Typ)


    DEF Rob_Stop(Typ :IN)
    bRelease = False
    While Not bRelease
    If Typ = F
    Brake F
    Endif


    If Typ = S
    Brake
    Endif
    Endwhile
    END


    Def Rob_Stop_Release()
    bRelease = True
    End

    Wenn die Hotline von KUKA keine Lösung hat, heißt es nicht das es keine gibt.
    Der KRC2 gehört zu den besten und flexiblen Systemen Weltweit.


    Ein Programmierbeispiel gibt es hier nicht aber einen erprobten und möglichen Weg:


    1. Ethernetkommunikation mit einer externen Steuerung:
    Die SoftSPS kann z. B. über einen OPC-Server Variablen lesen und schreiben
    2. Die eingelesenen Positionen mit Bewegungsart und Geschwindigkeit an über SoftPlc-Signale an das Robotersytem zu senden benötigt vielleicht 10 Variablen. X,Y,Z,A,B,C als REAL, VEL als INT, ACC als INT, Bewegungsart (LIN, PTP, CIRC,.. REL) als INT


    3. Das KRL-Programm kann dann auf folgenden Code aufgebaut werden:


    fNextPoint.X = $SOFT_PLC_REAL[nKomponenteX]
    fNextPoint.Y = $....


    nVel = $SOFT_PLC_INT[nKomponenteVel]
    nACC = $SOFT_PLC_INT[nKomponenteACC]


    SetMoveParameter(nVel,nACC) ; Funktion zum schreiben der Geschwindigkeitswerte und Beschleunigung


    Switch Bewegungsart


    Case 1 ; PTP


    If bCont Then
    PTP fNextPoint C_PTP
    Else
    PTP fNextPoint
    Endif


    Case 2 ; LIN
    If ...


    ....


    Endswitch



    Ein Empfangspuffer (Array der Bewegungsparameter sichert das Überschleifen)


    Was ist da nicht möglich?