Beiträge von rob76

    Hallo Bernhard,


    denke das ist mal wieder ein Bug in Roboguide.


    Bei mir im Roboguide selber kann ich problemlos die UALM´s auf 100 erhöhen.


    Probier's doch mal anders herum. Lass den echten Roboter auf 10, mach mit dem Backup deine Zelle und bohr es anschließend erst in RG auf.

    Ja, in dem Fall die RefPos neu setzen. Die Refcounts dürfen nicht 0 sein.


    Man kann auch händisch die werte der Master_counts in die Refcounts eintragen, ist ein prima Trick wenn man Quickmastern muss aber zuvor keine Refpos gesetzt wurde.

    Alle interessanten Variablen sind in der Gruppe $DMR_GRP[x]


    RefPos angelegt = $REF_DONE=TRUE


    RefPosition = $REF_POS[1-9] Achtung, Werte sind in rad! (Für Grad also Wert / Pi * 180)


    Pulsecoder Stände für RefPos = $REF_COUNT[1-9] Sofern die RefPos bei 0° liegt müssen die Werte mit $MASTER_COUN[1-9] identisch sein.


    Set Refpos und Calibrate z.B. wirken nur auf die aktive Gruppe, sollte beim Quickmaster genauso sein.

    Hallo Carsten75,


    ich kann dir nur wärmstens empfehlen deine Bewegungen in TPE zu machen. Karel Motion wird seit 1991 nicht mehr weiterentwickelt.


    Du kannst z.B. mit SET_EPOS_TPE oder SET_JPOS_TPE aus Karel Positionen in ein TPE Prg schreiben. PR´s wären natürlich auch möglich.


    Wenn es unbedingt Karel sein soll:
    $GROUP[1].$UFRAME
    $GROUP[1].$UTOOL
    Das sind die Frames für Karel.


    Du musst dir vorher die Framedaten aus:
    $MNUFRAME[1,x]
    $MNUTOOL[1,x]


    holen und in die Variablen für Karel reinschreiben. Z.B. so:


    Code
    GET_VAR(entry, '*SYSTEM*', '$MNUFRAME[1,1]', userf, STATUS)
    GET_VAR(entry, '*SYSTEM*', '$MNUTOOL[1,1]', usert, STATUS)
    
    
    SET_VAR(entry, '*SYSTEM*', '$GROUP[1].$UFRAME]', userf, STATUS)
    SET_VAR(entry, '*SYSTEM*', '$GROUP[1].$UTOOL', usert, STATUS)

    Läuft da irgendwas im Hintergrund? Mit einer endlosschleife bekommt man so ein einfrieren schnell hin.


    Die Fehlermeldung hört sich nach einer selbst erstellten HTML Seite an wo der 3. Togglebutton ein Problem hat.


    Gib uns mal mehr Details...

    $CRCFG STRUCTURE
    Minimum: Not available Maximum: Not available Default: Not available KCL/Data:
    Not available Program: Not available UIF: Not available CRTL: Not available Data
    Type: Not available Memory: Not available
    Name: Circular softpart configuration data structure.
    Description: This data structure shows the circular motion configuration and its dependency with
    other motion options. Individual fields within this structure are defined below.
    Power Up: N/A
    $CRCFG.$cr_enhanced
    Minimum: Not available Maximum: Not available Default: Not available KCL/Data:
    Not available Program: RW UIF: Not available CRTL: Not available Data Type:
    BOOLEAN Memory: Not available
    Name: Enhanced circular motion
    Description: Internal use only.
    Power Up: N/A
    $CRCFG.$debug
    Minimum: Not available Maximum: Not available Default: Not available KCL/Data:
    Not available Program: RW UIF: Not available CRTL: Not available Data Type:
    INTEGER Memory: Not available
    Name: Debug flag
    Description: Internal use only.
    Power Up: N/A


    $CRCFG.$group_mask
    Minimum: Not available Maximum: Not available Default: Not available KCL/Data:
    Not available Program: RW UIF: Not available CRTL: Not available Data Type:
    INTEGER Memory: Not available
    Name: group mask
    Description: Internal use only.
    Power Up: N/A
    $CRCFG.$lgorn_az_sp
    Minimum: Not available Maximum: Not available Default: Not available KCL/Data:
    Not available Program: RW UIF: Not available CRTL: Not available Data Type:
    INTEGER Memory: Not available
    Name: Azimuth and Spin Angles.
    Description: Internal use only.
    Power Up: N/A
    $CRCFG.$lgorn_dbg
    Minimum: Not available Maximum: Not available Default: Not available KCL/Data:
    Not available Program: RW UIF: Not available CRTL: Not available Data Type:
    BOOLEAN Memory: Not available
    Name: Debug flag
    Description: Internal use only.
    Power Up: N/A


    $CRCFG.$lgorn_eltol
    Minimum: Not available Maximum: Not available Default: Not available KCL/Data:
    Not available Program: RW UIF: Not available CRTL: Not available Data Type:
    INTEGER Memory: Not available
    Name: Elevation Tolerance.
    Description: Internal use only.
    Power Up: N/A
    $CRCFG.$lgorn_enbl
    Minimum: Not available Maximum: Not available Default: Not available KCL/Data:
    Not available Program: RW UIF: Not available CRTL: Not available Data Type:
    BOOLEAN Memory: Not available
    Name: Enable Large Orientation Detection for Small Circle.
    Description: To enable detection of large orientation change in small circle (default is disabled).
    When enabled, and during single step mode, if large orientation change is detected for small circular
    moves, system will automatically slow down, and post the following warning: MOTN-319 CRC large
    orient change. If the large orientation is what the user intends to teach, no further action is required.
    However, if the orientation change is not desirable, user has more opportunity to stop the robot by
    releasing SHFT key, or press the HOLD key. The circular points can then be retaught.
    Power Up: On_Cold_Start
    Screen: SYSTEM variable screen.
    $CRCFG.$lgorn_meth
    Minimum: Not available Maximum: Not available Default: Not available KCL/Data:
    Not available Program: RW UIF: Not available CRTL: Not available Data Type:
    INTEGER Memory: Not available
    Name: Detection Method
    Description: Internal use only.
    Power Up: N/A


    $CRCFG.$lgorn_rad
    Minimum: Not available Maximum: Not available Default: Not available KCL/Data:
    Not available Program: RW UIF: Not available CRTL: Not available Data Type:
    INTEGER Memory: Not available
    Name: Small Circle Radius in mm.
    Description: This specifies the maximum radius of a small circle. Detection of large orientation
    change will only be performed for circles whose radius is less than this radius. Default is 30mm.
    Power Up: On_Cold_Start
    $CRCFG.$mb_conflict
    Minimum: Not available Maximum: Not available Default: Not available KCL/Data:
    Not available Program: RW UIF: Not available CRTL: Not available Data Type:
    INTEGER Memory: Not available
    Name: sid_mb conflict mask
    Description: Internal use only.
    Power Up: N/A
    $CRCFG.$mb_required
    Minimum: Not available Maximum: Not available Default: Not available KCL/Data:
    Not available Program: RW UIF: Not available CRTL: Not available Data Type:
    INTEGER Memory: Not available
    Name: sid_mb required mask
    Description: Internal use only.
    Power Up: N/A

    Hier mal was aus der Karel Referenz:



    CONNECT TIMER Statement
    Purpose: Causes an INTEGER variable to start being updated as a millisecond clock
    Syntax : CONNECT TIMER TO clock_var
    where:
    clock_var :a static, user-defined INTEGER variable
    Details:
    • clock_var is presently incremented by the value of the system variable $SCR.$COND_TIME
    every $SCR.$COND_TIME milliseconds as long as the program is running or paused
    and continues until the program disconnects the timer, ends, or aborts. For example, if
    $SCR.$COND_TIM E=32 then clock_var will be incremented by 32 every 32 milliseconds.
    • You should initialize clock_var before using the CONNECT TIMER statement to ensure a
    proper starting value.
    • If the variable is uninitialized, it will remain so for a short period of time (up to 32 milliseconds)
    and then it will be set to a very large negative value (-2.0E31 + 32 milliseconds) and incremented
    from that value.
    • The program can reset the clock_var to any value while it is connected.
    • A clock_var initialized at zero wraps around from approximately two billion to approximately
    minus two billion after about 23 days.
    • If clock_var is a system variable or a local variable in a routine, the program cannot be translated.
    Note If two CONNECT TIMER statements using the same variable, are executed in two different
    tasks, the timer will advance twice as fast. For example, the timer will be incremented by 2 *
    $SCR.$COND_TIME every $SCR.$COND_TIME ms. However, this does not occur if two or
    more CONNECT TIMER statements using the same variable, are executed in the same Task



    DISCONNECT TIMER Statement
    Purpose: Stops updating a clock variable previously connected as a timer
    Syntax : DISCONNECT TIMER timer_var
    where:
    timer_var :a static, user-defined INTEGER variable
    Details:
    A–111
    A. KAREL LANGUAGE ALPHABETICAL DESCRIPTION MARRC75KR07091E Rev D
    • If timer_var is not currently connected as a timer, the DISCONNECT TIMER statement has
    no effect.
    • If timer_var is a system or local variable, the program will not be translated.
    See Also: Appendix E , ‘‘Syntax Diagrams,’’ for additional syntax information, CONNECT TIMER
    Statement
    Example: The following example moves the TCP to the initial position in PR[1], sets the INTEGER
    variable timevar to 0 and connects the timer. After moving to the destination position in PR[2], the
    timer is disconnected.
    DISCONNECT TIMER Statement
    move_to_pr1 – Call TP program to move to PR[1]
    timevar = 0
    CONNECT TIMER TO timevar
    move_to_pr2 – Call TP program to move to PR[2]
    DISCONNECT TIMER timevar

    Wo aktiviere ich die Erkennung im RoboGuide? Ich habe nichts gefunden, was darauf hingewiesen hat.


    In Roboguide einfach den Roboter bzw. die zu Überwachende Objekte Doppelklicken. In dem Eigenschaftsfenster kannst du dann jeweils die Kollisionsüberwachung aktivieren.


    Guckst Du:

    Naja....ob ein LR-Mate einen Besenstiel zerbricht.....


    Aber wie WolfHenk schon schrieb ist das wichtigste korrekte Payload-Daten. Nicht vergessen die entsprechende Payload-ID auch im Programm zu aktivieren!


    Beachte auch das die Kollisionserkennung nicht immer gleich empfindlich arbeitet, beim Handverfahren ist der Roboter wesentlich unempfindlicher.


    Mir stellt sich aber die frage warum man das überhaupt testen will? Man testet ja auch nicht die Funktion des Airbags im Auto.


    Bei Roboguide kannst du die Erkennung in den Eigenschaften des jeweiligen Objekts aktivieren.



    Am Sinnvollsten ist natürlich vor dem Programmieren solcher Maschinen einen entsprechenden Kurs zu besuchen, dann kommen solche fragen erst gar nicht auf.


    Die Gefahr eines Roboters ist nicht zu unterschätzen!

    Hallo Wosch,


    was hast du denn für eine Kamera?


    Die in der Industrie üblichen bieten eigentlich immer irgendein Bussystem zur Kommunikation mit SPS, Roboter oder was auch immer.


    Wenn eine SPS dazwischen hängt kann die natürlich auch Daten an den Roboter übergeben, dazu kann der Roboter über 20 Bussysteme.


    Setzt einen in der Industrie üblichen Bus ein und du musst dir nix selber basteln.


    Wenn du es noch einfacher haben möchtest kauf das integrierte Vision von Fanuc :zwink:


    Hallo zusammen,
    ich habe ein ähnliches Problem. Und zwar möchte ich eine vorhandene Zelle mit Roboguide öffen.. bei laden der BACKDATE zeigt er mit an das ich dir Version 7.60 installieren soll.. leider liegt die mit nicht vor..hat jemand ne Ahnung wo ich die her bekomme? wäre echt sehr dankbar über eine Hilfe.


    lg R47


    7.60 ist VW Software.


    Die bekommst du offiziell nirgendwo.


    Ansonsten findet man alle verfügbaren Versionen auf der Roboguide DVD.


    Ordner FRVRC x.xx -> dort jeweils die Setup.exe ausführen um Versionen nachzuinstallieren.