Beiträge von mkilber

    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

    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

    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 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...


    Code
    TRIGGER WHEN DISTANCE=0 DELAY=0 DO Unterprogramm() Prio = -1


    Das ist gerade mein Problem.
    Die strategie ist nicht gerade mal neue. Und das Problem haben wir nur bei KRC 4 Steuerung.

    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



    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.

    "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 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