Beiträge von Pitl

    Die Standard Interpolationsrate bei Adept Systemen ist 16ms.
    Mit der Enhanced Trajectory Control License kann man hier bis 2ms heruntergehen. dabei sind aber ein paar sachen zu beachten.
    2ms funktionieren nicht mit Adept Robotern, das wurde seinerseits mit den Stäblis gemacht, als die noch den Adept Controller verwendeten. Mit Adept Quattro Singel Systemen kann man z.B. bei Flissbandverfolgung sehr sinnvoll 4ms verwenden, bei Adept Quattro Dualsystemen sollte man aber nicht unter 8ms gehen.
    Es gibt nur eine Einstellung pro Controller, die dann für alle Roboter an diesem Controller gültig ist.


    Der Trajectory Generator (Bahnplaner) ist eine Systemtask und wird in jedem Timeslice die höchste Priorität.



    Viele Grüße,


    Pitl

    Hallo Johannes,


    der Schreibschutz scheint eine leere Batterie zu sein. Die Einstellungen die dir immer verloren gehen stehen in der RTC (Real Time Clock) und werden nicht wirklich gesetzt, bzw. gehen verloren wenn du ausschaltest. Mess mal bitte deine Batteriespannung.


    Bitte tausche die Batterie nicht einfach blind aus, denn es gehen sämtliche Einstellungen verloren, die sonst noch so in der RTC stehen. Melde dich im Austauschfall bei Adept Service.



    Viele Grüße,


    Pitl

    Hallo Sunny,


    ich weiß nicht zu 100% ob das Einschalten des Autostartschalters aus AdeptDesktop für die alten MV-Controller funktioniert. Deshlab habe ich den Weg beschrieben der immer möglich ist.


    Ab Genaration SmartController funktioniert es immer so wie du beschrieben hast und ist auch etwas einfacher.



    Pitl

    Hallo,


    mein Kollege hat da noch eine Anwort gefunden. Er hat mich gebeten sie einzustellen. Danke an Günter.


    Adept matrices are stored in column order (r00, r10, r21, r01, r11, r21, r02, r12, r22, x, y, z), where in matrix form they look like
    r00 r01 r02 x
    r10 r11 r12 y
    r20 r21 r22 z
    0 0 0 1


    The upper left 3x3 matrix is a rotation matrix.
    The product of c=a:b is a standard matrix multiply, with
    c00=(first row of a) * (first column of b) = a00*b00 + a01*b10 + a 02*b21 + x * 0
    …etc…


    The rotation matrix of the inverse of b is just its transpose (flip across the diagonal).
    The X, Y, Z offset can be found by negating the offset, and multiplying by the transposed rotation matrix.
    if d=inverse(b), then D =
    b00 b10 b20 -x*b00-y*b10-z*b20
    b01 b11 b21 -x*b01-y*b11-z*b21
    b02 b12 b22 -x*b02-y*b12-z*b22
    0 0 0 1


    These things should be in most 3-D graphics and robot textbooks.



    Pitl

    Hallo Johannes,



    funktioniert bei dem Controller denn "load auto" und "com auto", wenn du die Kommandos am Monitor Terminal Fenster nach dem Booten eingibst? Wenn das funktioniert sind alle deine Einstellungen bezüglich Rootverzeichnis richtig und dein Programm tut es auch. Wenn das "load auto" nicht funktioniert, dann liegt deine AUTO.v2 nicht im Rootverzeichnis. Wenn das "com auto" nicht funkktioniert dann ist an deinem Programm etwas falsch.


    Wenn das beides per Eingabe von Hand funktioniert, dein Autostart aber ansonsten nicht ausgeführt wird, wenn du den Controller hochfährst musst du schauen ob der Switch des Autostarts in den Controller NV-RAM Einstellungen enabled ist.
    Das kannst du folgendermaßen machen:
    1.) Breche alle laufenden Tasks ab.
    2.) Lade die Datei Config_c.v2 aus dem Verzeichnis Util (load \util\config_c.v2)
    3.) Starte a.config_c in Task 1 (ex 1 a.config_c)
    4.) Im Hauptmenü gibt es einen Menüpunkt --> Controller NVRAM
    5.) Im Controller NVRAM Menü gibt es einen Menüpunkt --> NVRAM SWITCH SETTINGS
    Da gibt es einen Switch V+ Autostart, der kann enabled oder disabled sein. Gehe durch alle Switche, das sind nur 4 oder 5 und schalte den V+ Autostart ein. Bitte den V+ Autostart nicht mit dem V+ Autoboot verwechseln. Wenn du durch das menü durch bist, kannst du alle Änderungen im NVRAM abspeichern.



    Viele Grüße,


    Pitl

    Hallo Voxe,


    wofür brauchst du denn die Umrechnung der Werte in der Location Datei in die Koordinaten? Vielleicht kann man dir ja anders helfen.



    Pitl

    Im Roboterobjekt findest du unter Configure einen Menüpunkt Switches and Parameters. Dort gibt es einen System switch Autostart. Wenn du den einschaltest, werden nach dem Hochfahren des Roboters alle Programme und globalen Variablen die du im NVRAM abgespeichert hast automatisch in den Arbeitsspeicher geladen.
    Wenn ein Programm mit dem Namen auto vorhanden ist, wird dieses nun automatisch in Task 3 ausgeführt. Von diesem Programm aus kannst du dann deine ganze Anwendung starten.



    Pitl

    OK,


    wir nutzen auch eine Drehstromversorgung und nutzen eine Phase davon für die Versorgung der AIB's und betreiben gleichzeitig eine Vakuumpumpe damit. Da gibt es keine Probleme.


    Die AIB's sind übrigends in mind. 60% aller Adept Roboter verbaut und es gibt keine Probleme damit.


    Was ich nicht verstehe ist, dass dein Motor noch nicht angeschlossen war als du das Problem hattest. Kann es sein, dass der Roboter einfach nicht mit 230VAC versorgt wurde, als du versucht hast die High Power einzuschalten?


    Pitl

    Kannst du die Netze, das versaute und das vom Roboter nicht trennen?


    Da es sich hier offensichtlich um deinen Adept e-Vario handelt brauchst du für den nur normale 230VAC aus der Steckdose.


    Die Spannung wird als Versorgung der Verstärker benutzt.


    Pitl

    Hallo Sebastian,


    du meinst die Eingänge 1001-1012 am XDIO-Anschluss des Roboters.


    Wie hast du die den beschaltet? Es sind zwei Bänke mit je 6 Eingängen. Man kann jede Bank unabhängig von der anderen jeweils als NPN oder PNP beschalten. Das machst du über den Common jeder Bank. Legst du dort 24VDC an sind die Eingänge der Low Active, legst du dort GND an sind die Eingänge der Bank High Active.


    Am XDIO-Anschluss gibt es auch einen 24VDC-Anschluss. Diese Spannung kommt aus dem Roboter heraus und geht nicht hinein. Kannst du ganz einfach prüfen, indem du die 24VDC-VErsorgung des Roboters abziehst. Bleibt dein Display am Roboter an, dann schickst du auch am XDIO 24VDC rein.


    Die 24VDC für den XIO-Anschluss sind im Roboter abgesichert, das ist aber eine selbstheilende Sicherung. Wenn du da einen Kurzschluss hast und den beseitigt hast, musst du nur etwas warten.


    Funktioniert der Roboter den ansonsten, also kannst du die High Power einschalten, zeigt dein Display etwas an usw. Es ist natürlich nicht 100% auszuschließen, dass du einen Hardwaredefekt hast. Ersatzteile und Hardwaresupport gibt es bei Adept in Dortmund. Bitte überprüfe deine Installation aber vorher noch einmal.


    Pitl

    MAC Ventile sind ziemlich schnell. Ich weiss aber keinen genauen Typ.
    Von Sommer gibt es aktuell auch einen neuen elektrischen Impulsgreifer, ich meine der Typ ist GP9002. Mit dem haben wir im Kundenauftrag Tests gemacht mit 110ppm.


    Was möchtest du aber genau machen, bzw. von A nach B bringen?


    Pitl

    Hier mal noch ein kleiner Beitrag zu DeviceNet am Adept Controller.



    Da der DeviceNet Bus nicht von Adept, sondern von extern versorgt wird, kann es dazu kommen, dass nach einem Reboot des Controllers das DeviceNet von der Adept seite aus nicht mehr funktioniert. Dafür gibt es das Kommando DN.RESTART, welches einen Reset durchführt, das geht aber auch nicht immer.


    Die bessere Lösung ist, die DeviceNet Busspannung von einem Ausgang des Adept Controllers zu schalten. An einen der Ausgänge 0001 - 0008 einen Öffner anschliessen und diesen Ausgang für 1s schalten, wenn man gesehen hat das der Bus offline ist. Ich meine mich zu erinnern, dass ich bei einem DeviceNet Profibus Gateway allerdings die 24VDC der Versorgung des Gateway schalten musste um diesen zu resetten.


    Hier ein kleines Programm mit dem man feststellen kann ob eine MAC-ID online oder Offline ist:


    .PROGRAM auto.dn.macid(online)
    ;
    ; ABSTRACT: Get MACIds of all DeviceNet nodes configured in CONFIG_C
    ;
    ;------------------------------------------------------------------------------
    AUTO $input, $output
    AUTO REAL lun, macid
    AUTO REAL status


    MCS "deleter dn.macid[]"


    DO
    ATTACH (lun, 4) "DEVICENET"
    IF IOSTAT(lun) <> 1 THEN
    TYPE "Device-Net Fehler: ", IOSTAT(lun)
    END
    UNTIL IOSTAT(lun) == 1


    dn.count = 0
    macid = 5


    FCMND (lun, 760) $INTB(macid), $input
    IF IOSTAT(lun) < 0 THEN
    TYPE "no Macid configured"
    ELSE
    status = ASC($input,1)
    CASE status OF
    VALUE 2:
    online = TRUE
    ANY
    online = FALSE
    END
    END


    DETACH (lun)
    RETURN
    .END



    Wenn man dieses Programm so in den Startup und die Überwachung einbettet sollte es funktionieren:


    AUTO status.dn


    ; Check das DeviceNet
    CALL auto.dn.macid(status.dn)


    IF status.dn == FALSE THEN
    TYPE "Devicenet ist nicht online"
    SIGNAL 1
    WAIT.EVENT , 0.5
    SIGNAL -1
    WAIT.EVENT , 0.5
    DN.RESTART ; DeviceNet Restart durchfuehren, braucht ca. 30s
    END


    Viele Grüße,


    Pitl

    Bevor wir uns auf die Software stürzen ein paar Fragen zur Hardware:


    - Wird der DeviceNet Bus zwischen dem Koppler und Adept mit 24VDC eingespeisst?
    - Sind die 24VDC zur Versorgung des Kopplers angeschlossen?
    - Sind die Abschlusswiderstände, 120 Ohm, zwischen CAN-High und CAN Low angeschlossen?


    Wenn das alles stimmt brauchst du eigentlich nur noch die GSD Datei auf der Siemens Seite laden und dann Baudrate und MAC-ID einstellen. Die GSD Datei ist im Anhang.


    Auf der Adept Seite kannst du den Koppler manchmal nicht scannen auf dem DeviceNet. Die Konfiguration kannst du aber blind in die Config_c schreiben:
    .DEVICENET
    LOCAL = "/MACID 0 /BAUD 125K"
    MACID 5 = "/INPUT 24 /OUTPUT 24 /VENDOR_ID 163 /DEVICE_TYPE 12
    /PRODUCT_CODE 2816 /DISABLE_POWER NO"
    MAPPING 1 = "/MACID 5 /BYTE 1 /BIT 1 /BIT_LENGTH 192 /SIGNAL 1193"
    MAPPING 2 = "/MACID 5 /BYTE 1 /BIT 1 /BIT_LENGTH 192 /SIGNAL 193"



    Viele Grüße,


    Pitl