Hallo zusammen,
hat jemand Erfahrung mit Bestückung von Galvanikgestellten. Positioinabweichung ca. 10 mm.
sowas in der Art.
https://www.google.de/search?q…_AUICigB&biw=1147&bih=554
Für jeder Art Information werde ich sehr dankbar.
Gruß
Hallo zusammen,
hat jemand Erfahrung mit Bestückung von Galvanikgestellten. Positioinabweichung ca. 10 mm.
sowas in der Art.
https://www.google.de/search?q…_AUICigB&biw=1147&bih=554
Für jeder Art Information werde ich sehr dankbar.
Gruß
wEm Danke für den Tipp, das stimmt mit Überschreiben.
Aktuell habe ich noch das Problem, dass nach der Umwandlung oft keine Werte in E6Axis stehen.
DECL E6AXIS POSE_100_WORLD_GER={}
Es stehen einfach kein Werte drin.
Dann funktioniert natürlich meine If Abfrage nicht, da der Wert ungültig ist
F ((POSE_100_WORLD_GER.A1 > $SOFTP_END[1])
Gibt es möglichkeit das abzufragen?
z.B
IF POSE_100_WORLD_GER={} NICHTS DA THEN
Positione nicht erreichbar
ENDI F
Hallo, die Abfrage CALC_Meldungsnummer steht direkt davor
IF CALC_Meldungsnummer = <> 0 THEN
$OUT[103]=TRUE
ENDIF
IF ((POSE_100_WORLD_GER.A1 > $SOFTP_END[1]) OR (POSE_100_WORLD_GER.A1 < $SOFTN_END[1])OR(POSE_100_WORLD_GER.A2 > $SOFTP_END[2])OR(POSE_100_WORLD_GER.A2 < $SOFTN_END[2])OR(POSE_100_WORLD_GER.A3 > $SOFTP_END[3])OR ( POSE_100_WORLD_GER.A3 < $SOFTN_END[3] ) OR ( POSE_100_WORLD_GER.A4 > $SOFTP_END[4] ) OR ( POSE_100_WORLD_GER.A4 < $SOFTN_END[4] )OR ( POSE_100_WORLD_GER.A5 > $SOFTP_END[5] )OR( POSE_100_WORLD_GER.A5 < $SOFTN_END[5] )OR( POSE_100_WORLD_GER.A6 > $SOFTP_END[6] )OR ( POSE_100_WORLD_GER.A6 < $SOFTN_END[6])) THEN
$OUT[103]=TRUE
ELSE
$OUT[103]=FALSE
ENDIF
Hallo zusammen,
ich habe folgende Sache wo ich nich weiter komme.
Applikation:
Roboter greift die Teile von der Platte/Tisch:
Die Position wird von der Kamera ermittelt und in ein Frame in Roboter geschrieben.
Die Vorpositionen werden auch von der Kamera berechnet (nur offset in Z)
Ab und zu ist die Position außerhalb von der Roboterreichweite.
Die Idee war die Pos in Achwerte umzurechnen und dann gegen Softwareendschalter prüfen.
Es sind 5 Positionen innsgesamt
2 Vorpos Hinfahren
Greifposition
2 Pos zum rausfahren
Alle Variablen sind global declariert.
Bei der Berechnug mit dser Inverse funktioniert es nur bei der erste und letzte Position. (Physikalisch geleich)
Bei den anderen stehen einfach keine Werte da. Die INVERSe funktion gibt kein Fehler aus.
Es sind einfach keine Werte in Achspos drin.
Hier Quellcode
CORR_FRAME_100_GERADE-> Kameraframes
;-- Posen Bewegungpositionen umschreiben
XP101_VorHol_gerade = CORR_FRAME_100_GERADE ;entry pose
XP102_VorHol_gerade = CORR_FRAME_200_GERADE ;pre pose
XP105_Hol_BigPack_gerade = CORR_FRAME_300_GERADE ;grasp pose
XP106_VorHol_gerade = CORR_FRAME_400_GERADE
XP107_VorHol_gerade = CORR_FRAME_500_GERADE
;-- Umrechnung von Base Koordinaten in World
;$target_status=#best
CALC_Meldungsnummer = 0
POSE_100_WORLD_GER = INVERSE(xP101_VorHol_gerade,WORLD_CALC_GER,CALC_Meldungsnummer)
POSE_200_WORLD_GER = INVERSE(xP102_VorHol_gerade,WORLD_CALC_GER,CALC_Meldungsnummer)
POSE_300_WORLD_GER = INVERSE(xP105_Hol_BigPack_gerade,WORLD_CALC_GER,CALC_Meldungsnummer)
POSE_400_WORLD_GER = INVERSE(xP106_VorHol_gerade,WORLD_CALC_GER,CALC_Meldungsnummer)
POSE_500_WORLD_GER = INVERSE(xP107_VorHol_gerade,WORLD_CALC_GER,CALC_Meldungsnummer)
IF ((POSE_100_WORLD_GER.A1 > $SOFTP_END[1]) OR (POSE_100_WORLD_GER.A1 < $SOFTN_END[1])OR(POSE_100_WORLD_GER.A2 > $SOFTP_END[2])OR(POSE_100_WORLD_GER.A2 < $SOFTN_END[2])OR(POSE_100_WORLD_GER.A3 > $SOFTP_END[3])OR ( POSE_100_WORLD_GER.A3 < $SOFTN_END[3] ) OR ( POSE_100_WORLD_GER.A4 > $SOFTP_END[4] ) OR ( POSE_100_WORLD_GER.A4 < $SOFTN_END[4] )OR ( POSE_100_WORLD_GER.A5 > $SOFTP_END[5] )OR( POSE_100_WORLD_GER.A5 < $SOFTN_END[5] )OR( POSE_100_WORLD_GER.A6 > $SOFTP_END[6] )OR ( POSE_100_WORLD_GER.A6 < $SOFTN_END[6])) THEN
$OUT[103]=TRUE
ELSE
$OUT[103]=FALSE
ENDIF
Ausschnitt aus config.dat
DECL FRAME P101_VorHol_gerade ;entry pose
DECL FRAME P102_VorHol_gerade ;pre pose
DECL FRAME P105_Hol_BigPack_gerade ;grasp pose
DECL FRAME P106_VorHol_gerade
DECL FRAME P107_VorHol_gerade
DECL E6POS XP101_VorHol_gerade={X -104.000,Y -747.000,Z 718.000,A -6.00000,B 39.0000,C 129.000}
DECL E6POS XP102_VorHol_gerade={X -104.000,Y -747.000,Z 565.000,A -6.00000,B 39.0000,C 129.000}
DECL E6POS XP105_Hol_BigPack_gerade={X -128.000,Y -783.000,Z 541.000,A -6.00000,B 39.0000,C 129.000}
DECL E6POS XP106_VorHol_gerade={X -104.000,Y -747.000,Z 565.000,A -6.00000,B 39.0000,C 129.000}
DECL E6POS XP107_VorHol_gerade={X -104.000,Y -747.000,Z 807.000,A -6.00000,B 39.0000,C 129.000}
DECL E6AXIS POSE_100_WORLD_GER={A1 80.9880371,A2 -136.121872,A3 148.016113,A4 29.0525970,A5 36.4547234,A6 84.6455688,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL E6AXIS POSE_200_WORLD_GER={}
DECL E6AXIS POSE_300_WORLD_GER={}
DECL E6AXIS POSE_400_WORLD_GER={}
DECL E6AXIS POSE_500_WORLD_GER={A1 80.9880371,A2 -138.564133,A3 140.878235,A4 24.0672283,A5 45.0359192,A6 91.2044144,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
könnt ihr vieleicht mein Fehler sehen
Hallo Zusammen,
ich suche gerade auch nach Lösung wie der Roboet die Geschwindigkeit so regeln kann, dass er beim reinfahren in Arbeitsbereich die eingestellte (niedrigere ) Geschwindigkeit nicht übersteigt.
Ich habe ähnliche aufbau wie bei Denis_Jay im ersten Beitrag.
Bezeichnung Artikelnummer Anzahl Sonstiges
CY-Robot Teachpanel ??? 1 Sub-D 25-pol- female Anschluss
Schunk Greifer pneumatisch MPG 50 AS 340043 1
Schunk Greifer pneumatisch 371080? 1 mit Adapterplatte rund
Danaher Motion Servomotor DBL3H00130-03M-000-S40 1
Heidolph Wechselstrommotor 203.50.000131B 1 230 VAC, 105/125 W
mit Getriebe
alpa Getriebe alphira 040-2 1 Übersetzung 50:1
KUKA Teachpanel KCP2 00-130-547 2 neuwertig
Sanyo Denki Remote Operator RP-001, 06826144 1 mit Flachbandkabel
Kabel für Teachpanel FANUC 2006-T324 1 10 m
Robot-Controller Bosch 1070081730-105 ??? 1 Basic Unit
Sanyo Denki Servoverstärker PY0A150H0P76P00 1
Fanuc 2006-T687 1 ca. 10 m
Kabel-Anschlusskombination 2006-T686 1
Denso Anschlusskabel 32-pol. 410141-3611 2
Controller -> Robot
Anschlusskabel 50-pol. BKO-FA0741H05-D 2 ca. 5 m,Hersteller= Fanuc?
Controller -> Robot
Anschlusskabel 30-pol. BKO-FA0739H05-D 2 ca. 5 m, Hersteller=Fanuc?
Controller -> Robot
Harting Han 3A RJ45 Connector 0945 115 1100 7
KUKA Anschlusskabel 9-pol. 00-209-930 1
mit Hartingstecker (15-pol.)
KUKA Anschlusskabel KRC4 SIXX 00-201-680 1 4 m
mit Hartingstecker 25-pol.
KUKA Beipackstecker KRC2 145526 8 versch. Steckermodelle
BASLER Stativ Adapter 2000023894 01 1
MK3 short AL
Denso Signalstecker rund 11-pol. 410877-0180 11
Denso Signalstecker rund 11-pol. 410889-0030 3 unvollständig?
Denso Steckersatz 19-pol. 410889-0010 1
2 x male, 2 x female
Denso Zylinderstift 410833-0670 3
Denso Integrated Circuit 410159-0290 3
746005
Raychem TE Schrumpfgehäuse 202K153-25/86-0 2
Unitronic Kabel 10 x 0,25 1 ca. 10 m
mit SUB-D Stecker 9-pol.
Diverse Crimpkontakte ca. 500
Stecker female 18-pol. M16 12 Hersteller = KUKA?
mit Crimpkontakten
Stecker female 11-pol. M16 1 Hersteller = ?
mit Crimpkontakten
Denso Stecker female 21-pol. 410889-0030 1
Stäubli Controller D24267764 1 unbenutzt
Mitsubishi Anschlusskabel 40-pol. 2D-CBL05 4 5 m
Stecker female
Anschlusskabel Digital I/O 9-pol. 99434548 1 3 m, Hersteller = ?
Netzstecker ABB IRB Harting 6-pol. 1 ca. 3 m
CEE-Stecker 16 A
Denso Hand I/O Kabel 20-pol. 410141-1740 2 ca. 8 m
Denso Hand I/O Kabel 68-pol. 410141-2700 9 ca. 8 m
Denso Hand I/O Kabel 36-pol. 1 ca. 8 m
Mitsubishi Anschlusskabel 1 ca. 12 m
male 25-pol., female 9-pol.
Denso Steckersatz 19-pol. Male 410877-0420 1
Die Datei liegt hier
C\KRC\SmartHMI
Hallo,
ich formuliere mal die Frage anders rum.
Die Idee ist die Tasten wie "Tuchup" oder "Befehle" für die Bediener zu speren->"ausblenden"
Das geht in dem man die Rechte in der "SmartHMI.exe.Standard.config" begrenzt.
Ich suche nach der Doku für die Datei oder TechPacket wohin die Datei gehört.
Es handelt sich nicht um "User" sonder um "Standard" datei
Vielen Dank im Voraus
Hallo,
hat jemand Doku zu der Datei "SmartHMI.exe.Standard.config"
Hallo Zusammen,
wir werden demnächst eine Applikation mit 6 Achs Roboter realisieren in dem wir ein baute von 700x200X10 in den Grundkörper mit der Genauigkeiten von 0,1 mm montieren.
Die Position wird bei Referenzteil geteacht. Während der Produktion wird die Position von dem Teil mit der Kamera kontrolliert und die Abweichung in X, Y A zu den geteachten Position hinzugefügt.
Da die Anforderungen an die Genauigkeiten ziemlich hoch sind, mache ich mir Gedanken um den TCP so in dem Beriech auch zu vermessen. Da der Greifer auch ziemlich groß ist und in z um ca. 150mm verschoben.
Kenn jemand ein System oder Methoden.
Dieser Befehl funktioniert schon seit ich die Roboter von Kuka kenne.
Sonst würde seit Jahrzehnten keine automatische Rückzugstrategie die ich programmiere laufen.
Die Vergabe einer Priorität ist meines Wissens nur nötig, wenn der Trigger irgend ein Programm starten soll...
Das ist gerade mein Problem.
Die strategie ist nicht gerade mal neue. Und das Problem haben wir nur bei KRC 4 Steuerung.
HI!
Auch ich habe das selbe Phänomen schon festgestellt. Bei einem Override > 50% wird der Trigger nicht mehr gesetzt.
Antwort von der Hotline: Überschleifen raus und Akt_Pos setzen!
Der robi fährt dann viel zu eckig.
Die Hotline hat sich bei mir noch nicht zurückgemeldet.
Hallo,
ich war paar Tage unterwegs und konnte nicht hier reinschauhen.
Moin,
ich hab mal gehört, das "Trigger when Distance" bei PTP-Punkten unzuverlässig ist und nur bei LIN / CIRC korrekt arbeitet.
RK
Das Problem besteht immer noch.
Und tatsächlich, obwohl ich es nicht glauben wollte, bei Änderung von dem Punkt von PTP auf LIN funktioniert es
Hallo zusammen,
ich habe jetzt Schwirgkeiten mit der /TRIGGER WHEN DISTANCE=1 DELAY=0 DO------ / bei KRC 4 Stuerung.
Folgendes Problem:
TRIGGER WHEN DISTANCE=0 DELAY=0 DO AKT_POS=15 je nach Override am Bedinpanel wird nicht gesetzt.
Ich habe Vermutung das dies mit Prioritäten zu tun hat. Aber richtige Lösung habe ich
;FOLD Grundstellungsfahrt.ap_punkt Name GHP13;%{PE}%MKUKATPUSER
TRIGGER WHEN DISTANCE=0 DELAY=0 DO AKT_POS=13
;ENDFOLD
;FOLD PTP GHP13 CONT Vel=100 % PDAT100 Tool[1]:Greifer_3 Gehause Base[1]:AG_60;%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:GHP13, 3:C_DIS, 5:100, 7:PDAT100
$BWDSTART=FALSE
PDAT_ACT=PPDAT100
FDAT_ACT=FGHP13
BAS(#PTP_PARAMS,100)
PTP XGHP13 C_DIS
;ENDFOLD
;Zielpunkt, OUT immer anpassen
;FOLD SYN OUT 161 'Up 1 Robot in Pos >> Hole Zufuehrband 1 Gr. 1 / 2' State=TRUE at END Delay=0 ms;%{PE}%R 5.5.32,%MKUKATPBASIS,%COUT,%VSYNOUT,%P 2:161, 3:Up 1 Robot in Pos >> Hole Zufuehrband 1 Gr. 1 / 2, 5:TRUE, 7:1, 9:0, 12:0
TRIGGER WHEN DISTANCE=1 DELAY=0 DO $OUT[161]=TRUE
;ENDFOLD
;FOLD Grundstellungsfahrt.ap_punkt Name GHP15;%{PE}%MKUKATPUSER
TRIGGER WHEN DISTANCE=0 DELAY=0 DO AKT_POS=15
;ENDFOLD
;FOLD LIN GHP15 Vel=2 m/s CPDAT1 Tool[1]:Greifer_3 Gehause Base[1]:AG_60;%{PE}%R 8.2.20,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:GHP15, 3:, 5:2, 7:CPDAT1
$BWDSTART=FALSE
LDAT_ACT=LCPDAT1
FDAT_ACT=FGHP15
BAS(#CP_PARAMS,2)
LIN XGHP15
;ENDFOLD
Alles anzeigen
diese strategie ist 2007 bei uns entstanden. damals gab es bestimmter Grund warum man so vorgehen musste. Das haben mir auch andere Fremdrogrammierer bestätigt. Allerdings weis ich selber nicht was das war und die andrerer können es auch nicht genau definieren.
Hallo zusammen,
ich habe eine allgemeine Frage zu KUKA Grundstellungsfahrt Strategien
Fahrprogramm
Trigger AKTPOS 25 (hier Distance 1 oder 0 je nachdem)
PTP20
Trigger AKTPOS 25 (hier Distance 1 oder 0 je nachdem)
PTP 25
wir haben unseres Grundstellung bei KUKA so gestalte, dass
wir die Advance auf null setzen und dann
Grundstellung
Switch AKTPOS
…..
CASE 25
PTP 20
AKTPOS 20
…..
ENDSWITCH
Diese Strategie ist bei uns vor lange Zeit entstanden und funktioniert gut. Das gleiche habe ich bereits bei mehreren Kunden gesehen.
Die Frage ist, warum kann man bei der Grundstellung das Triggern nicht anwenden?
Gibt es da was dagegen spricht.
, hat funktioniert.
"ich meine auf den 10-MBit Karten zum Einbau war die MAC aufgedruckt. Ob sie bei 700er oder 750er Controllern auch noch irgendwo steht, weiß ich nicht."
Ich habe 700er Controller, man sieht da nichts. Ich habe den bereits aufgeschraubt.
Ansonsten, wenn man unter Windows mit dem Roboter im gleichen Netzwerk verbunden ist, in einer Kommandozeile "arp -a" eintippen und unter der Roboter IP nachsehen.
Das war auch meine erste Idee. Allerdings bekommen als Antwort " Keine ARP Einträge gefunden"
Ich will jetzt mit einem Netzwerk Scanner versuchen. Die IPs sind bekannt.
Hallo,
kann mir jemand sagen wo ich die MAC Adresse bei Mitsubishi Roboter auslesen oder finden kann?
Gruß.
Hallo Zusammen,
ich erstelle gerade die Inline Formulare für KRC 4
Bei der Meldungen habe ich allerdings Schwirigkeiten:
Die Idee ist, dass mann die Meldungsart (hier am Anfang nur Dialog) auswählt und dann die Meldungsnummer eingibt.
Unter den Nummern werden unterschiedlichen Meldungen angelegt.
fehler die Mir die Steuerung rausgibt ist:
DLG_NR ist nicht als Parameter von dem TEXT_DIALOG_FOLD definert.
Quellcode KFD
DEFTP MELDUNG
DECL PARAM DLG_NR={SHORTNAME[] "Nummer ", VALUE {NUMBER: MIN 1, MAX 16, STEP 1, DEFAULT 0},SHORTCUT[] "NR"}
;DECL PARAM DLG_NUMMER={SHORTNAME[] "NR ", VALUE {NUMBER:MIN 1, MAX 100, DEFAULT 1 },UNIT[] ""}
;DECL PARAM AKT_NUMMER={SHORTNAME[] "Aktiv ", VALUE {NUMBER:MIN 0, MAX 1, DEFAULT 0 },UNIT[] ""}
DECL FOLD TEXT_DIALOG_FOLD[1]
TEXT_DIALOG_FOLD[1]="MSG(#DIALOG, %DLG_NR, I_AW ,0)"
DECL InlineForm Dialog1={ PARAM[1] DLG_NR, FOLD[1] TEXT_DIALOG_FOLD}
ENDTP MELDUNG
SMART HMI USER
<!-- Meldungen -->
<MenuItem DisplayName="MenuBar#MELDUNG" MergeOrder="200">
<CommandCall Target="LegacyLoader.InvokeModuleProc">
<Argument Name="PlugInName">INLINEFORM</Argument>
<Argument Name="ProcID">2011</Argument>
<Argument Name="ParamList">KUKATPUSER;MELDUNG;Dialog1</Argument>
</CommandCall>
</MenuItem>
<!-- Ende Meldungen -->
Vielen Dank im Voraus
Gruß
mkilber