Beiträge von lambert

    Hallo zusammen,


    Ich versuche gerade verzweifelt bei dem KUKA OPC einzustellen, das mir ein Array mit sechs Real Werten auf einmal empfangen wird. Hat jemand eine Ahnung wie das aussehen könnte. Ich habe es, in der xml-Konfigurationsdatei so probiert:
    <Var>
    <CrossName>vPos</CrossName>
    <ItemName>vPos</ItemName>
    <VarType>RealArray>/VarType>
    <AccessType>rw</AccessType>
    </Var>


    Aber damit lässt sich noch nicht mal die OPC Diagnose Software öffnen. Jemand eine Idee?


    Gruss
    lambert


    Ähm... Warum wisst ihr den alle eine Antwort? Für mich ist die Frage garnicht so klar. Was soll den von dem Laptop aus gemacht werden? Willst du einfach die Tastatur und den Bildschirm benutzen, oder willst du Komandos an den Roboter schicken, oder nur Dateien rüber schieben?

    Hallo zusammen,


    Also, ich habe jetzt mein Problem gelöst. Wenn ich eine externe Kinematik teache oder nummerisch eingebe wird mir automatisch die Base 17 damit verbunden.
    In meinem Programm darf ich keine geteachten Punkte verwenden, also habe ich einen Punkt per Inline-Forumular erstellt. Und aus dem Fold alles kopiert bis auf den Fahrbefehl. Das ganze Zeug habe ich dann in dem Programm an den Anfang eingefügt und den ursprünglichen Fold gelöscht. Mit dem Befehl $base=base_data{17] hat es nicht funktioniert.


    Gruss
    lambert

    Hallo,


    Ja. Leider ist das mal wieder nicht so einfach bei mir. Ich darf keine Inline-Formular benutzen. Da meine Punkte berechnet werden. Das wäre etwas umständlich. Reicht es denn nicht wenn ich vor dem Fahrbefehl einfach schreibe: "$base=base_data[17]"?


    Gruss
    lambert

    Hallo,


    Mal wieder eine kleine Frage bzgl. externe bases. Ich habe einen Drehtisch den ich als externe Kinematik einbinden möchte. Nun habe ich den Mittelpunkt des Tisches als neues Koordinatansysteme genommen (über Vermessen/...externe Kinametik). Aber mit welchem Befehl aktiviere ich nun die Kopplung von Roboter und externer Kinematik?


    Gruss
    lambert

    Hallo,


    Also ich habs jetzt so gemacht wie Thilbi empfolen hat. Das funktioniert zumindest sicher. Wäre mir nur lieber gewesen es alleine durchs anwählen schon zu erfahren. So muss ich ja zwangsläufig auch schon starten.


    Denoch Danke für die Lösungen,
    lambert

    Hallo Zusammen,


    Ich würde gerne im Submitinterpreter eine globale Variable auf True setzen wenn ein bestimmtest Programm angewählt ist. Dazu würde ich eben einfach den Namen des Programmes mit einem Char-Array vergleichen lassen. Allerdings habe ich keine Ahnung wie ich auf den Programmnamen zugreifen kann. Jemand eine Idee?


    Dank und Gruss
    lambert

    Also ich kann dir leider nicht sagen ob du mit Kuka Sim 1.1 was machen kannst. Das ist so alt.
    Aber zur Taktzeitanalyse brauchst du immer das Office Lite von Kuka (das wird mit Kuka Sim gekoppelt). Kuka Sim selbst kann keine Taktzeitanalyse machen. Es ist allerdings die Frage in wie weit du mit der 1.1er Version was machen kannst. Ich könnte mir vorstellen, dass Kuka Sim 1.1 nicht mit den neuen Office Lite Versionen kompatibel ist. Und wenn du eine alte Version von Office Lite nimmst, kannst du deine Programm mit ziehmlicher Sicherheit nicht auf einer KRC mit einer aktuellen Version von Office laufen lassen.
    Office Lite: http://www.kuka-robotics.com/g…KUKAOfficeLite_Detail.htm


    Gruss
    lambert

    Hallo,


    Ich versuche Gerade die KUKA OPC Software zu intallieren. Aber ich bekomme noch vor dem Auswahlmenü ob ich den Cliend oder den Server installieren möchte die Fehlermeldung: "1628: Skript-basierte Installation konnte nicht abgeschlossen werden". Ich habe das an zwei Robotern und drei PC probiert. Bei einem Roboter und zwei PC kommt die Fehlermeldung. Bei dem anderen Roboter und dem dritten PC geht es. Das sind unglücklicherweise genau die Komponenten die ich aus geographischen Gründen nicht verwenden kann.
    Hatte schonmal jemand diese Fehlermeldung (ob nun bei OPC oder bei sonstigen Installationen)?


    Dank und Gruss
    lambert

    Hallo,


    Ja. Ich hab eine Lösung gefunden. Mit dem Tutorial solltest du auf jedenfall weiter kommen:
    Anleitung: http://download.visualcomponen…cation/Embed3DCIntoVC.pdf
    Downloads: http://download.visualcomponen…ication/VCApplication.zip


    Allerdings muss statt "3dCreate" die Klasse "KUKASimPro" aufgerufen werden. Das würde in C# z.B. so aussehen:
    private vcCOM.IvcApplication2 KspApplication;


    this.KspApplication = (vcCOM.IvcApplication2)this.KspApplicationWindow.Start("KUKASimPro");


    Je nachdem mit welcher Sprache du arbeitest sieht das natürlich etwas anders aus.


    Gruss
    lambert

    Hallo zusammen,


    Ich versuche gerade ein Programm zu schreiben das mir KUKA Sim Pro embedet. Laut Visual Components ist das auch durchaus möglich. Ich hab nur keine Ahnung wie. Auf der Homepage von dennen ist nur beschrieben wie man das mit dem Basisprogramm, also 3dCreat, macht. Aber welche Klassen muss ich den für KukaSimPro aufrufen?


    Gruß
    lambert

    Und wodurch werden die Pulse bei Motoman erzeugt. Ich meine bei Kuka sind es ja Inkrementalgeber und das Zeug mit den Resolvern. Weiß jemand wie das bei Motoman gemacht wird?

    Wie gesagt, dass mit Koordinaten hab ich mir auch überlegt. Aber ich verstehe die Bedeutung nicht. Bei KUKA wären es x,y,z,Rx,Ry,Rz. Aber die sind in mm und Grad angegeben. Das kann hier aber nicht sein. z.B. beim ersten C stehen die Koordinaten (63468,-18875,-123264,84306,-29830,-85613). Das hieße ja das der Roboter nach z 12m fährt. Und in was für einer Einheit sind dann yaw, pitch und roll?

    Hallo Zusammen,


    Jetzt mal eine (vermutlich) richtig blöde Frage. Ich habe von einem Projektpartner eine Datei in Motoman-Sprache geschickt bekommen. Hier ist ein Teil davon:
    //POS
    ///NPOS 33,0,33,0,0,0
    ///TOOL 0
    ///POSTYPE PULSE
    ///PULSE
    C00000=63468,-18875,-123264,84306,-29830,-85613
    C00001=36780,15354,-46111,92563,-96181,-3574
    C00002=28095,37963,-28607,74975,-68578,27609
    C00003=22561,38769,-27116,71318,-68579,28396
    C00004=22569,37096,-27544,70121,-68271,27795


    Könnte mir jemand veraten was NPOS ist und was mich noch viel mehr interessiert, was sind die Zahlen hinter den C0000X? Sind das Koordinaten? Ich habe nur mit KUKA zu tun. Deshalb sagt mir das alles überhaupt nichts.


    Gruß
    lambert

    Hallo zusammen,


    Mal wieder ein kleines Problem:
    Ich möchte in der .dat eine Strucktur erzeugen die eine Strucktur beinhaltet, im Näheren sieht das so aus(bzw. so hab ich es probiert):


    DEF TESTDAT


    STRUC RED_FRAME FRAME FR, INT X, Y


    DECL RED_FRAME TEST={FR={X 99}, X 8, Y 10}


    ENDDAT


    Das hat nicht funktioniert. Da wird mir der sehr aufschlussreiche Fehler " '{' erwartet" ausgegeben.


    Wäre cool wenn mir jemand helfen könnte. Diese Art der Strucktur kann ja auch nicht so selten sein.


    Gruß
    lambert

    Vielen dank für die Hilfe und die guten Ideen. Ich muss jetzt leider einen anderen Weg gehen. Das gefällt mir als Programmierer nicht so gut. Aber:
    - die String Operationen die ich gebraucht hätte um durch eine For schleife einzelne Variablen aufzurufen scheint es nicht zu geben
    - das dat file sowie das src file haben laut Kuka eine Begrenzung von 13.000 Zeilen


    Das alles bringt mich zu der Lösung, dass ich im main Programm nur Unterprogrammaufrufe mache und in jedem dieser Unterprogramme sind jeweils ein Array mit 500 Punkten(nur um sicher zu gehen).


    LindePaul: Ich hab versucht mehr als 680 Punkte in ein Array zu packen. Aber das geht bei mir nicht. Ich nehme stark an das hängt von der größe der restlichen Datei ab. Oder irgendwelcher anderen Variablen. Auf jedenfall bestärkt es mich darin eine wesentlich kleiner Punkte Menge pro Array zu wählen, damit das Programm auch sicher überall läuft.

    Es geht um 10.000 6D-Koordinaten, also x,y,z,a,b und c, und dazu kommen noch Status und Turn. Ich weiß nicht genau ob man bei der KRC von Listen oder Arrays spricht. Ich habe daran gedacht im *.dat file z.B. folgendes zu schreiben:


    DECL E6POS LIST[10000]
    LIST[1] = {x...
    LIST[2] = {x...
    usw.


    Und im *.src hätte ich in einer Schleife iterativ die Listen-Elemente aufgerufen:
    FOR I=1 TO 10000 STEP 1
    LIN LIST[I]
    ENDFOR
    Oder so änlich. Ich bin in der Syntax noch nicht ganz so fit.


    Was das ändern der *.dat angeht, das ist vollkommen egal. Ich erzeuge das *.dat und die *.src per Python Skript. Also sind meiner Fantasie keinen(wenig) Grenzen gesetzt.


    Zu der Lösung, die ich oben hingeschrieben habe, habe ich allerdings noch das Speicherproblem von dem ich schon geschrieben habe. Außerdem habe ich keine Listen erzeugen können mit mehr als 680 Elementen.
    Ich hoffe ich habe mich diesmal besser ausgedrückt. Die Daten sind fürs Fräsen. Ich weiß da gibt es schon Tools für. Aber bei uns kommen leider ein paar Sachen dazu die die Tools nicht schafen.


    Gruß
    Lambert