Beiträge von out84

    Hallo zusammen


    Habe jetzt endlich Zeit gefunden den Funktionsgenerator mal zu testen.
    Komme aber nicht weiter. :wallbash: :wallbash:
    Auch mit dem nachfolgenden ganz primitiven Programm bekomme ich immer den gleichen Fehler: >>> 1580 Techfunktion $TECH[1].FCT unzulässig <<<
    Kann mir vielleicht einer sagen was ich falsch mache bzw. was fehlt ?



    DECL TECH OSCI1 ; Variablen vom Typ TECH deklarieren


    CENTER = $NULLFRAME
    CENTER.X = 220
    CENTER.Y = 384
    S_POINT = $NULLFRAME
    S_POINT.X = 160
    S_POINT.Y = 293

    OSCI1.MODE = #CYCLE ; Kartesisches Pendeln ist eine zyklische Funktion.
    OSCI1.FCTCTRL.SCALE_IN = 2 ; Wellenlänge der Pendelschwingung ist 2mm.
    OSCI1.FCTCTRL.OFFSET_IN = 0 ; Auslenkungs Beginn ist CP Bahnbeginn.
    OSCI1.FCTCTRL.SCALE_OUT = 3 ; Amplitude des Pendelns ist 3mm.
    OSCI1.FCTCTRL.OFFSET_OUT = 0 ; Schwerpunkt der Pendelschwingung ist auf der Bahn: Bei Amplitude = 0 wird die ungependelte Bahn gefahren.
    OSCI1.CLASS = #PATH ; Argument der Pendel Figur ist die Bogenlänge, d.h. SCALE_IN die Wellenlänge.
    OSCI1.FCTCTRL.GEOREF = #Z ; Richtung der Pendel Auslenkung in Z Richtung im TTS
    OSCI1.FCT.ORDER = 1 ; Pendel Figur durch Polygonzug aus den Werte Paaren der Funktions Tabelle erzeugen.


    CUTPOS = CENTER
    CUTPOS.Z = 0
    LIN CUTPOS

    halt
    CUTPOS = S_POINT
    CUTPOS.Z = 0


    $TECH[1] = OSCI1 ; ab dem nächsten CP Satz wird gependelt.
    LIN CUTPOS C_DIS


    Servus Roland

    Hallo Zusammen


    Hab hier ein kleines Problem. :huh:


    Gibt es eine einfache Möglichkeit eine LIN oder CIRC Fahrt mit einem Sinus zu überlagern.


    Ich meine zBsp. LIN von A nach B in einer Ebene XY. Nun würde ich das gerne mit einer Sinus Bewegung der Z Achse überlagern.


    Jemand ne Idee :kopfkratz:


    Vielen Dank schon mal


    Servus Roland

    Genau das ist es !! :gutidee:
    Aussen ein DO FOR
    Innen ein SWITCH
    Und die gewünschten Fälle als ENUM
    Dann das Ganze in ein Array
    Fertig


    DANKE für den TIPP :ylsuper:

    Servus miteinander


    Gibt es eigentlich bei KUKA sowas wie eine Interpret funktion ?
    Was ich damit meine ist den Inhalt eines Strings zu interpretieren und dementsprechend auszuführen.
    z.Bsp.
    DECL FRAME CP01
    SOLLPOS = "PTP CP01"
    INTERPRET (SOLLPOS) -- Hier sollte die KUKA nun den Befehl PTP CP01 ausführen


    oder hat jemand eine Idee wie das sonst noch machen könnte ?


    Vielen Dank im voraus


    MfG Roland

    Hallo


    Geht auch noch anders.
    Direkt auf dem Mainboard eine PS2 Maus anschliesen. Dafür sind Pfostenstecker vorhanden. Dadurch wird COM1 frei.
    Funktioniert bei uns einwandfrei.
    Wird aber soweit ich weiss von KUKA nicht unterstützt.


    Servus Roland

    Hallo


    Zuerst mal Danke.
    In meiner IOSYS.INI sind leider keine derartigen Beispiele zu finden, auch nicht am Ende.
    Aber werd die Form1 mal Morgen austesten. Melde mich dann wieder.


    Servus Roland

    Hab hier ein kleines Problem


    Installiert ist Devicenet Phoenix ILDNBK3. Daran hängen IB IL 24 DI, IB IL 24 DO 4, sowie IBILAI2SF und IBILAO2UBP.
    Die digitalen Ein- Ausgängen funktionieren einwandfrei, nur die analogen bekomme ich einfach nicht zum laufen. Hat hier jemand eine Beispiel config für das IOSYS.INI ?


    Hier ein Auschnitt aus meinen Einträgen im IOSYS


    [DEVNET]
    ;Controller Phonix IL DN BK3
    ;Platz 1 IB IL 24 DI 4 $IN 101..104
    ;Platz 2 IB IL 24 DI 4 $IN 105..108
    ;Platz 3 IB IL 24 DI 4 $IN 109..112
    ;Platz 4 IB IL 24 DI 4 $IN 113..116
    ;Platz 5 IB IL 24 DO 4 $OUT 101..104
    ;Platz 6 AI 2 $ANIN 1..2
    ;Platz 7 AO 2 $ANOUT 1..2


    INW4=0 ;$IN[33-48] 1. 0-7 Low Byte 2. 8-15 High Byte
    INW6=2 ;$IN[49-64] Phoenix D-IN1 .. D-IN16
    ANIN1=4 ;$ANIN[1] Phoenix A-In1
    ANIN2=6 ;$ANIN[2] Phoenix A-In2
    OUTB4=0 ;$OUT[33-48] Phoenix D-Out .. D_Out4
    ANOUT1=1 ;$ANOUT[1] Phoenix A-Out1
    ANOUT2=2 ;$ANOUT[2] Phoenix A-Out2


    Dank im voraus für die Hilfe

    Vielen Dank


    Werde ich Morgen mal testen.


    factor ist neu für mich. In meiner Docu gibts nur byte res und type.
    Und ich dachte wenn ich res nicht benenne, dann funkt es automatisch.


    Servus Roland

    Habe auf der KRC1 über MFC ein Phoenix Devicenet angeschlossen. Controller Phonix IL DN BK3. 4 digitale Eingangsmodule a 4, 1 digitales Ausgangsmodul a 4, 1 analoges Eingangsmodul a 2 und ein analoges Ausgangsmodul a 2.
    Die digitalen Ein- Ausgänge funktioneren einwandfrei, nur für die analogen weder Daten rein noch raus.
    Wo ist das Problem ??
    Hier meine defs in der iosys.ini


    [DEVNET]
    ;Controller Phonix IL DN BK3
    ;Platz 1 IB IL 24 DI 4 $IN 101..104
    ;Platz 2 IB IL 24 DI 4 $IN 105..108
    ;Platz 3 IB IL 24 DI 4 $IN 109..112
    ;Platz 4 IB IL 24 DI 4 $IN 113..116
    ;Platz 5 IB IL 24 DO 4 $OUT 101..104
    ;Platz 6 AI 2 $ANIN 1..2
    ;Platz 7 AO 2 $ANOUT 1..2


    INW4=0 ;$IN[33-48] 1. 0-7 Low Byte 2. 8-15 High Byte
    INW6=2 ;$IN[49-64] Phoenix D-IN1 .. D-IN16
    ANIN1=4,,1 ;$ANIN[1] Phoenix A-In1
    ANIN2=6,,1 ;$ANIN[2] Phoenix A-In2
    OUTB4=0 ;$OUT[33-48] Phoenix D-Out .. D_Out4
    ANOUT1=1,,1 ;$ANOUT[1] Phoenix A-Out1
    ANOUT2=2,,1 ;$ANOUT[2] Phoenix A-Out2


    Vielen Dank für die Hilfe


    Der Robometz

    Wir arbeiten hier mit einer KR125 seit ca. 2 Jahren. Mittlerweile kommen wir inklusive graphischer Benutzeroberfläche in das Endstadium. Wir bearbeiten Granit mit einer Genauigkeit von 0,1 mm. Aber nur mit Tricks. Für eine polierte Oberfläche benötigen wir ca. 8 verschiedene Werkzeuge. Und in der bewussten Anwendung von Zustellung und Druck erreichen wir die 0,1 mm Genauigkeit.
    Nächstes Projekt ist die erstellung einer Schnittstelle zu CAD/CAM auf der KUKA.
    Kreisschnitte sind auf der KUKA mit unserer Software kein Problem. Erstellt mit Zentrum und Radius innert sekunden, solange eben die Eingabe dauert.
    Aber warum muss man bei einer funktionierenden CAD/CAM Schnittstelle noch nachteachen ? Wenn die Base stimmt und der TCP dann kann doch nichts mehr schiefgehen oder ?

    Also zur klärung.
    Wir verwenden die Kuka praktisch als Fräßmaschine. Wie haben eine Spindel montiert und sin dadurch in der Lage verschiedene Werkzeuge zu spannen. Das funktioniert auch alles.
    Der Benutzer positioniert nun das Werkstück (im Regelfall eine plane Platte) auf dem Werktisch.
    Um nun die Lage und Position der Platte zu erkennen brauche ich mindestens 3 Punkte. Damit kann ich dann die neue BASE bilden.
    Die Software läuft zweigeteilt. Das Hauptprogramm auf der KRC1 ist über einen OPC Server mit einem externen PC verbunden.
    Diese Hauptprogramm wird bei dem Start der KRC1 automatisch geladen.
    Dem Benutzer stehen keinerlei andere (nicht mal KUKA) Programme zur Verfügung.

    Auf dem externen PC werden unter einer grafischen Oberfläche all essentiellen Benutzereingaben für die Erstellung eines neuen Produkts abgefragt.

    Im Zuge einer Erweiterung möchten wir auch das Teachen von freien Formen ermöglichen und dafür brauchen wir wiederum eine Möglichkeit bis ca. 100 Punkte zu teachen.

    Bisher werden nur berechnbare geometrische Objekte wie Rechteck, Kreis, Oval zur Verfügung gestellt.
    Hier wird kein Teach In benötigt da das mit Massangaben darstellbar und berechenbar ist.
    Für all diese Eingaben brauchen wir nicht die KRC1.

    Ich hoffe das macht die Sache klarer.

    Hmmm. Wenn das so einfach wäre.

    Also wir haben hier ein recht komplexes Programm mit ca. 3400 Zeilen Code.
    Wir verwenden nicht ein einziges Inline formular.

    Wenn ich nun den teach-in von Kuka anwende schreibt der mir irgendwelche pos daten in das vorhandene programm.

    Es müsste aber in ein deklariertes arry geschrieben werden, damit ich die Daten auswerten kann.
    Hauptbestanteil ist unter anderem die Neuberechnung einer BASE, diese wird dann in dem programm aktiviert und verwendet.

    Kann man dem teach-in vorgeben wohin er seine daten schreibt ??

    Danke für jede Antwort.

    Roland

    Wir haben eine numehr fast fertige Applikation für eine Kuka KRC1 KR125/2 TJ.

    Der Benutzer kann unter verschiedenen Optionen auswählen und danach fährt die KUKA das entsprechende Program und damit die jeweilgen Bahndaten ab.

    Ich habe nun in dem Programm einen HALT eingefügt. Nun soll der Benutzer auf Handsteuerung umschalten und verschiedene Punkte einteachen. Diese Punkte möchte ich nun in das aktive Programm übernehmen und dort wieterverarbeiten.

    Hat jemand eine Idee wie das am einfachsten realisierbar wäre ??

    Bin für jeden Hinweis oder Idee dankbar.

    Servus Roland

    Eine offizieller DOWNLOAD für KUKA OPC zu testen gibt es soweit ich weis NICHT.
    Habe die letzte neue Version von KUKA gekauft und der WITZ war das nicht mal die DOKU im pdf format auf der CD lesbar war. Na ja kann ja mal passieren. Sollte aber nicht bei einem Konzern wie KUKA.

    Ich wäre dankbar über jegliche Art von Information bezüglich des OPC Clients und wie er sich eingliedern lässt.
    Hat jemand mal das in verbindung mit MS Access versucht ?

    DANKE