Kabel habe ich, CMD-Tool habe ich, Ahnung davon habe ich auch. Mein Problem ist der ABB-Roboter.
Beiträge von derwestermann
-
-
Moin!
Ich habe das Vergnügen, einen ABB mit S4 und einen Interbusteilnehmer zusammenknoten zu sollen. Der Robi stand bei BMW und soll jetzt Laserlöten. Die Drahtzuführung ist von KUKA und kann nur mittels LWL-Interbus mit dem ABB verbunden werden, wie das ja auch mal der Fall war. Dümmlicherdings weiß ich von ABB so viel wie 'ne Kuh vom fliegen, jedoch hat uns der Roboterprogrammierer irgendwie versetzt, im Stich gelassen, oder so. Wir haben einfach mal alle Teilnehmer aus der EIO.cfg gelöscht, die nicht mehr da sind und von der KUKA-Box die IBS-Adresse auf 2.0 geändert. 1.0 ist der Mediaconverter. Aber es funzt immer noch nicht. Ich kenn das von anderen IBS-Mastern, daß eine SVC-Datei mittels des CMD-Tools geschrieben wird, die dann anderweitig gelesen wird; so wie z.B. bei einem KUKA-Rob.
Hat jemand noch einen heissen Tip?
Anbei die EIO.cfg, umbenannt in EIO.txt.
-
Es handelt sich um ein paar KUKA's.
Aber ich dachte das wäre was für Excel, Trafo.exe oder so und somit nicht markenspezifisch.Naja, das Problem ist wie in der Taskeröffnung geschrieben. Daher nutzt mir der geometrische Operator irgendwie nix.
-
Hm.....das mit dem geometrischen Operator habe ich jetzt nicht begriffen.
Aber ich lese diesbezüglich noch ein wenig.Die Tools stellen hier kein Problem dar, die sind vermessen,
oder ich bin so vermessen zu behaupten sie wären vermessen, weil jemand so vermessen war mich so zu instruieren. -
Moin!
Wenn ich ein Programm habe, welches ohne jegliche Änderung in einer Parallelanlage laufen soll,
die aber nicht 100%ig gleich zum Werkstück steht,
dann müßte ich doch die Baseverschiebung aus der Koordinatenverschiebung dreier Raumpunkte ermitteln können, oder?Bleistift: Ich habe drei Punkte mit den Koordinaten
X 10, Y 10 , Z 10; X 20, Y 20 , Z 20; X 30, Y 30 , Z 30.Fahre ich die selben Punkte an meinem Werkstück an, so haben diese Punkte die Koordinaten:
X 10, Y 10 , Z 8; X 21, Y 20 , Z 18; X 31, Y 30 , Z 31.Daraus muß ich doch die Baseverschiebung herleiten können, jemand eine Idee?
Ersma
-
Moin, Wolfram!
Es geht zwar um KUKAs, aber die Berechnung der Kugelposition im Raum, soll völlig unabhängig in Excel geschehen.
Es sei denn, man kann die Position der Werkzeugkugeln der Safe-Konfiguration irgendwo herbekommen. Das wäre latürnich auch ganz klasse. -
Moin!
Folgendes Problem: Ich möchte mir die Lage einer Kugel, welche im Bezug zum Roboterflansch im Raum steht anzeigen.
Ich habe die Lage des Tool-TCP zum Base, die Lage des Tool zum Flansch und die Lage der Kugel zum Flansch.
Wie bekomme ich die Lage der Kugel zur Base? -
Doch, ja ein DAT-File ist vorhanden. Ist ja nicht so, daß noch keine Bewegungspunkte vorhanden sind.......
-
javascript:replaceText(' ', document.forms.postmodify.message);
Dieses Bild wird in 2 Sekunden mit originaler Qualitaet neu geladenWeia !
Was kann denn da schief gelaufen sein, wenn ich keine Bewegungssätze mehr in einer KRC32 anlegen kann?
Es erscheint die Fehlermeldung H2047: Objekt nicht vorhanden.Ersma
-
Moin !
Nach einer Interrupt-Suchroutine, bei der ein Palettenstapel erkannt wird und die oben liegende solche Aufgenommen wird, will ich in Z relativ nach oben fahren. Ich habe den Befehl LIN_REL {Z 300} eingefügt. Darüber meckert die KRC 32 auch nicht. Nur wenn ich dieser Befehl aufgerufen wird, kommt "Anweisung unzulässig"....
Allerdings haut mir immer ein Bauteilkontrollinterrupt dazwischen. Einmal wurde die Palette ein Stück ausgehoben, dann kam besagter Bauteilkontrollinterrupt (BKI) und dann kommt die Fehlermeldung. Ich kann wohl den BKI ausschalten, aber wenn dann z.B. einer in den Sicherheitslichtvorhang latscht, habe ich vermutlich das gleiche Problem.
Was kann ich tun? -
Da benötigst Du den Speicherabzug des Roboters. Es sei denn das Programm ist noch auf der Steuerung. Dann benötigst Du das APS-Programm, um Dateien zu Laden und zu Sichern und/oder Speicherabzüge zu machen.
Hast Du keinen Speicherabzug und die Steuerung ist leer, versuche diesen vom Händler oder dem vorigen Nutzer zu bekommen. Ansonsten kann Dir die KUKA-Hotline tatsächlich helfen. Für die Neugenerierung von Maschinendaten wollen die Herren jedoch Geld sehen (ich stand neulich vor dem selben Problem, bekam aber vom Händler einen Speicherabzug). -
javascript:replaceText(' ', document.postmodify.message);
genau>wenn keiner was dazu weiß, gibts keinen Grund was zu schreiben...
>Sorry.Das meinte ich ja. Meine Idee ist wohl eher unüblich. Nicht, daß da keiner was zu weiß, oder gar, daß keiner was schreibt. Das ist ja auch nicht der Fall.
Trotz allem: Tak for hjaelp, würde der Däne sagen.
-
Welche Datei soll ich mit was vergleichen? Und ich habe hier nur einen Roboter.....
Diese Antwort ist komplett unbrauchbar Spiral, arbeitest Du bei 'ner Hotline???Vergesst den Task. Ich habe eine KlöMö EASY eingebaut, 2 Stunden später lief die Fördertechnik.
Ersma
P.S.: 69 mal gelesen und keine brauchbare Antwort, scheint doch eher unüblich zu sein.
-
Moin !
Sorry, ich glaube ich werde langsam penetrant, aber ich soll, kann, darf, muß, oder so ein wenig Fördertechnik an einem KRC32 steuern. Das kann doch eigentlich nicht so schwer sein, aber ich bekomme die SPS.SUB nicht ans laufen.
Ich schicke auch gern mal den Speicherabzug, dekodiert versteht sich.Der Task unter dem ich schon mal angefragt habe: .SUB-Datei im KRC32
Ersma
-
javascript:replaceText(' ', document.postmodify.message);
meldBy the way: Also der Roboter reagierte gar nicht. Der Suchlauf wurde begonnen und am LIN-Punkt beendet. Würde da ein Palettenstapel gelegen haben, täte der Rob versuchen diesen zu zerdrücken. Der Interrupt wurde schlicht nicht ausgelöst. Jetzt findet er die oberste Palette.
Ersma
-
javascript:replaceText(' ', document.postmodify.message);
Dieses Bild wird in 2 Sekunden mit originaler Qualitaet neu geladenMoin !
Herzlichen Dank für den Tip Hartmut. Jetzt klappts.
Ersma
-
Moin !
Langsam kriege ich die Krise mit diesem sch****-Roboter.
Was mache ich falsch? Der Roboter soll Suchläufe durchführen, stoppen, dann die Palette aufnehmen, oder den Deckel ablegen. Das tut aber nicht. Anbei das Programm.Ersma
Programm:
____________________________________________________
INTERRUPT DECL 10 WHEN NOT E_0B1 DO GEFUNDEN ( )
INTERRUPT DECL 11 WHEN NOT E_0B2 DO GEFUNDEN ( )
INTERRUPT DECL 12 WHEN E_0B1 DO VERLOREN ( )PTP HOME ; Homeposition anfahren
LOOP
;----------------------
;- Hauptprogramm- -
;- schleife -
;----------------------;----------------------
;- Abfrage ob Leer- -
;- palette auf Deckel--
;- stapelposition und -
;- nicht voll beladen -
;----------------------
IF E_2B1 AND (STAPEL<40) THEN
;---------------------------
;- Deckelabholprogramm -
;---------------------------WAIT FOR E_0B1 AND E_0B2
WAIT FOR E_SIG_DECKELPTP P001 C_PTP ;Vorposition nach Home
PTP P002 C_PTP ;Vorposition vor Deckel holen
LIN P_DECKEL_HOL C_DIS ;DeckelabholpositionWAIT FOR NOT E_0B2
SAUG_AN ( ) ;Deckel aufnehmen
STAPEL=STAPEL+1LIN P003 C_DIS ;Vorposition nach Deckel holen
PTP P004 C_PTP ;Vorposition vor Deckelablage
PTP P_START_ABL C_PTP ;Startposition Suchlauf Deckelstapel
SUCHE_DECKEL ( )
SAUG_AUS ( ) ;Deckel ablegenPTP HOME ; Homeposition anfahren
ENDIF
;----------------------
;- Abfrage ob Leer- -
;- palette auf Deckel--
;- stapelposition und -
;- nicht voll beladen -
;----------------------
IF NOT E_2B1 AND E_1B1 AND (STAPEL>=40) THEN
;---------------------------
;- Leerpalettenholprogramm
;---------------------------WAIT FOR E_0B1 AND E_0B2
PTP P101 C_PTP
PTP P102 C_PTP
PTP P103 C_PTP
SUCHE_PALETT ( )
SAUG_AN ( ) ;Leerpal. aufnehmenPTP P104 C_PTP
SAUG_AUS ( ) ;Leerpal. abgebenPTP HOME ; Homeposition anfahren
ENDIF
ENDLOOP
END;---------------------------
;- Allgemeine Unterprogr -
;---------------------------;----------------------------
;- Suchen Deckelstapel -
;----------------------------
DEF SUCHE_DECKEL ( )
INTERRUPT ON 11 ;Suchinterrupt EIN
LIN P_END_ABLAGE C_DIS ;Endposition Suchlauf Deckelstapel
$ADVANCE=0
INTERRUPT OFF 11 ;SUCHINTERRUPT AUSPTP HOME ; Homeposition anfahren
$ADVANCE=3
END;----------------------------
;- Suchen Leerpalette -
;----------------------------
DEF SUCHE_PALETT ( )
INTERRUPT ON 10 ;Suchinterrupt EIN
LIN P_AUFNAHME C_DIS ;Endposition Suchlauf Leerpaletten
$ADVANCE=0
INTERRUPT OFF 10 ;SUCHINTERRUPT AUSPTP HOME ; Homeposition anfahren
$ADVANCE=3
END;----------------------------
;- Suchen Deckel/Leer- -
;- palette beenden -
;----------------------------
DEF GEFUNDEN ( )
INTERRUPT OFF 10 ;SUCHINTERRUPT DECKEL AUS
INTERRUPT OFF 11 ;SUCHINTERRUPT LEERPAL AUS
$ADVANCE=0
BRAKE
RESUME
END;-------------------------------
;- Stoerung Stueck verloren -
;-------------------------------
DEF VERLOREN ( )
INTERRUPT OFF 12 ;Teil-verloren-INTERRUPT AUS
$ADVANCE=0
BRAKE
HALT
RESUME
END;-------------------------------
;- Palettensauger einschalten -
;-------------------------------
DEF SAUG_AN ( )
;Ventil 1 und 2 ansteuern
A_SAUG1_EIN=TRUE
A_SAUG2_EIN=TRUE
WAIT SEC 0.8
INTERRUPT ON 12 ;Teil-verloren-INTERRUPT EIN
END;-------------------------------
;- Palettensauger ausschalten -
;-------------------------------
DEF SAUG_AUS ( )
INTERRUPT OFF 12 ;Teil verloren INTERRUPT AUS
;Ventil 1 und 2 ansteuern
A_SAUG1_EIN=FALSE
A_SAUG2_EIN=FALSE
WAIT SEC 0.5
END -
Danke Roland!
merci -
Danke Roland!
merci -
Ich täte dies so angehen:
STRUC DATSATZ DATE Datum, TIME Uhrzeit
DECL AUTOOLSATZ DATSATZ[128]
DECL INT ZaehlerDann im Programm einfügen
...
PTP Check_TCP Vel= 33 % PDAT1 Tool[0] Base[0]
PTP P3 CONT Vel= 100 % PDAT Tool[1]:Brenner IR2 Base[0]
PTP P4 CONT Vel= 100 % PDAT Tool[1]:Brenner IR2 Base[0]
PULSE 60 'R2 Autotool ist fertig' State= TRUE CONT Time= 0.5 secZaehler=Zaehler+1
AUTOOLSATZ[Zaehler].Datum=$DATE
AUTOOLSATZ[Zaehler].Uhrzeit=$TIMEPTP HOME Vel= 100 % DEFAULT
END
.....
So in etwa. Ich kann gerade nicht prüfen ob der Aufruf AUTOOLSATZ.Datum[Zaehler] oder wie oben heißen muß. Wenn's ganz dumm läuft, habe ich noch irgendwo einen Formalfehler, aber im Prinzip sollte das so gehen.Ersma