Beiträge von Pitl

    Ja deine ganze Beschreibung hört sich nach einem Roboter an dessen Kalibrierungen nicht mehr zum mathematischen Modell des Roboters im Betriebssystem passt. Das kann nur durch neues Vermessen des Roboters wieder gerade gebogen werden.


    Da du aber auch sagst, dass dein Roboter scheinbar nicht zum Controller passt, sehe ich noch eine Möglichkeit die zu dem von dir beschriebenen Verhalten führen könnte. Im Betriebssystem befinden sich die Roboterspezifikationen. Zu diesen gehören auch die Encoderauflösungen. Wenn hier ein falscher Paramter verwendet wird, fährt die Achse falsch und dein Koordinatensystem ist verzerrt.


    Du brauchst für einen Test nicht in die Spezifaktionen zu schauen, sondern nur jede Achse um eine bestimmte Gradzahl verfahren und von außen zu schauen ob der verfahrene Weg mit deiner Vorgabe übereinstimmt. Es eignen sich also Gradzahlen wie 90 oder 180 hervorragend, da diese leichter zu überprüfen sind.
    So verfährts du Achse 1 aus dem Monitorfenster um 90 Grad:
    do @0 drive 1, 90, 10
    Bei Achse 2 lautet der Befehl:
    do @0 drive 2, 90, 10


    Wenn du hier einen Versatz an einer Achse siehst, sind deine Daten falsch und wir können überlegen wie das korrigiert wird. Ansonsten hilft nur Vermessen oder ... in Rente schicken.


    -Pitl

    Hallo Sascha78,


    ich denke der einzigst sinnvolle Weg für die Lösung deines Problems ist eine Programmierschulung. Du schreibst selber dass du im Moment keinen Anhaltspunkt findest, wie das System zu programmieren ist, das lässt darauf schließen, dass du noch nie tewas mit Industrierobotern zu tun hattest. Es bleibt auch der Sicherheitsaspekt, der auf Schulungen vermittelt wird, Roboter sind keine klenen Maschinen und können bei falscher Programmierung großen Schaden anrichten.


    Du schreibst ledier nicht, ob die Programmierung des Roboters als Kundenprojekt oder wofür immer erfolgen soll. Vielleicht kannst du da tewas mehr Licht reinbringen. Unter Umständen wäre Hilfe durch eine freiberuflichen Programmierer sinnvoll. Wenn das eine Lösung ist schreibe mir bitte eine PN.


    -Pitl

    Versuchs mal hiermit:


    SET blatt = FRAME(ursprung,x.achse,y.achse,ursprung)
    SET blatt:diff = ursprung


    APPRO blatt:diff:TRANS(50), 25
    MOVES blatt:diff:TRANS(50)
    MOVES blatt:diff:TRANS(100)


    Du musst den Differenzvektor zwischen deinem FRAME und deiner eingelernten Position für den FRAME (ursprung) berechnen und dann später auf deinen FRAME aufaddieren.


    Pitl

    Bei einer CS7 gibt es MOVE und MOVES. Um einen Kreis, bzw. Kreisbogen abzufahren berechtnest du dir einfach Hilfspunke durch das Verschieben um einen Mittelpunkt mit einem gegebenen Radius.


    Dafür brauchst du genau zwei Befehle: SET und TRANS.


    Pitl

    Moin,


    V+ ist ein Adept Produkt welches seinerzeit aus VAL bzw. VAL2 hervorgegangen ist. Nachdem Stäubli beschlossen hat nicht mehr auf die Adept Steuerung zu setzen haben sie die CS8 und VAL3 entwickelt. Ich kann mir nicht vorstellen dass es ein Konvertierungstool gibt, da V+ und VAL3 gat nichts miteinander zu tun haben und auf einer ganz unterschiedlichen Architekur aufsetzen.


    Pitl

    Schau dir mal die V+ Befehle RX, RY und RZ an.


    Ich würde es folgendermaßen machen, sind aber nur Beispielwerte:
    x=100
    y=200
    z=300
    rx=75
    ry=83
    rz=90
    SET pos = TRANS(x,y,z)
    SET pos = pos:RX(rx):RY(ry):RZ(rz)


    Viele Grüße,


    -Pitl

    Hallo Tobi,


    o.k., ich sehe ein dass deine Schnittstelle defekt ist.


    Jetzt zu deiner Frage. Mit Listl siehst du nur die Location die im RAM sind. Posotionsvariablen haben erstmal keinen Zusammenhang zu irgendeinem Programm, es sei denn die Variable wird in einem Programm benutzt. Du kannst jetzt folgendes machen. Du schreibst ein weiteres Programm, es muss nur einen anderen Namen als die schon vorhandenen haben. In diesem Programm kannst du andere Positionsvariablen verwenden. Wenn du jetzt mit STORE abspeicherst, werden alle Programme und alle Locations in die Datei abgespeichert. Die Datei ist allerdings nur ein Container für strukturierten Text. In einer Datei können hunderte von Programmen und Variablen abgespeichert werden.


    Alternativ kannst du neu beginnen. Mach zuvor den Arbeitsspeicher mit ZERO leer.


    Viele Grüße,


    -Pitl

    Hallo Tobi,


    welche Software benutzt du denn für die Kommunikation über die COM - Schnittstelle zum AWC? Adept Windows oder eine Terminal Emulation?


    Es gibt von der Sache her keine Unterschied, ob du für die Programmierung, zuminest bei diesen etwas in die Jahre gekommenen Systemen, über die EtherNet- oder die COM - Schnittstelle zugreifst. Der zu Grunde liegende SEE Editor und der Debugger lassen sich auf die gleiche Art und Weise bedienen. Schwirig wird es unter Umständen nur, wenn die Funktionstasten, wie z.B. F4 für das Verlassen des Editors, benötigst. Die sind bei AdeptWindows vorbelegt und du musst nur die jeweilige Funktionstaste drücken. Bei einer Terminal Emulation musst du dann die jeweilige Sequenz für die Funktionstate wissen, wie z.B. F4 = Esc+E.


    Warum denkst du eigentlich, dass die EtherNet-Schnittstelle am AWC defekt ist? Kannst du das AWC anpingen? Welche IP-Adresse hat das AWC? Welche V+ Version läuft auf deiner Steuerung und was für ein Windows System hast du auf deinem PC.


    Viele Grüße,


    Pitl

    Sorry, ss muss in der FOR - Schleife natürlich MOVES pos und dann in eckigen Klammer ein i heißen, aber das [i] sehe ich nur im Editiermodus des Forums. Ich hoffe ihr wisst was ich meine.


    -Pitl


    Pitl, das liegt an den Formatierungsbefehlen die da lauten wie code /code in eckigen Klammern, habe es mal als code eingefügt, dann hast du auch die Klammern, MfG Christian!

    [glow=red,2,300][/glow]Was hast du denn vor. Kannst du deine Fragen mal etwas genauer formulieren.


    Ein paar Punkte kannst du so abfahren.



    Pitl

    Das Programm macht genau was in deinem Code steht.


    Wenn du imer wieder von vorn starten möchtest, machst du am Ende deines err.reacti ein HALT und führst von Anfang beim Starten das Roboterprogramm mit -1. Der Aufruf sieht dann z.B. so aus: EXECUTE 0 rob.main, -1
    Jedesmal wenn das Programm mit HALT angehalten wird, fängt es von vorne wieder an zu laufen.


    Viele Grüße,


    Pitl

    Hier noch ein kleiner Nachtrag.


    In der Controllerconfiguration stehen nur die Controllerdaten, aber keine Roboterspezifikationen. Diese müssen separat gesichert werden, das aber auch nur, wenn es an Adept Robotern getunte Achsen gibt oder es sich um Fremdkinematien handelt.


    Das Sichern der Daten geschieht entweder mit ACE oder bei älteren Systemen mit dem Utility spec.v2.


    Wenn man einer Sicherung des kompletten Betriebssystems hat ist immer allles enthalten.


    -Pitl

    Von Adept gibt es die Viper s650 und s850 mit 650 und 850mm Reichweite. Beide Roboter haben ein Payload von 5.5kg und werden mit 230VAC für die Regler betrieben. Die Steuerung selber läuft nur auf 24VDC.
    Alle grösseren Viper haben ein anderes Reglerchassis und können theoretisch mit 230VAC betrieben werden, allerdings ist die interne Zwischenkreisspannung dann sehr holprig. Dazu würde ich nicht raten.


    Wenn für die Programmierung der Viper ACE verwendet wird, ist eine komplette C# Entwicklungsumgebung mit API vorhanden. Man könnte alles inklusive der Roboter in C# auf dem PC machen. Wie sinnvoll das, in Richtung Echtzeit gesehen, ist , bleibt hier mal offen.


    Viele Grüße,


    Pitl

    So geht es natrlich auch.


    Du kannst aber auch folgendes machen:
    - Lege deine Workspace irgendwo auf dem PC ab: z.B. C:\ACE\data\myworkspace.awp
    - Merke dir den Pfad zu deinem UI in der Workspace: z.B. /UI/myUI


    Stelle eine Verknüpfung der ACE.exe im Autostart her und ändere in den Eigenschaften das Ziel in "C:\Program Files (x86)\Adept Technology\Adept ACE\bin\Ace.exe" datafile=C:\ACE\data\myworkspace.awp loadui="/UI/myUI"


    -Pitl