Posts by skalactik

    Alternately you can use the ':' operator to get the position of the TCP expressed in the Frame you want.

    ex :

    position = POS(0.0, 0.0, 100.0, 0.0, 0.0, 0.0, C)
    tool_in_frm= frame:position

    tool_in_frm should have the [0, 0, 100, ...] coordinates calculated in the user frame.


    I'm only familiar with Handling robots so I'll ask a few question first :

    Is this "dry run" a menu of some sort ? Is it possible to access this from the menu button as well ?
    I suppose the wire+ and wire- buttons are located on the pendant similarily to any other pendant button ?

    Is there any part of this board constantly powered, even when the main controller is not powered ?
    If so it might be because current flows from somewhere else (like another machine on the same electrical network). Maybe the "exmplosion" corrolate with the powering or use of another machinery ?
    Otherwise it might be electrical insulation wich is deficient and some current are leaking from someplace else. In that case you might wanna try checking for connection between the board and the ground.

    Hope this will help

    Export each part in your assembly as IGES/STL then load everything in Roboguide using the "Multiples CAD files" option to recreate the correct assembly. The loading process will take less time.
    To use the assembly as a tool part, you can either convert it to .csb from Roboguide and then import it as tool CAD or use an empty tool and use the assembly as a part for that tool.


    Thank you I understand how to do that but what i want to do is load an image into a robot that is already created in roboguide

    Open the robot properties pageon in the cell browser, click serialize robot and select your image backup(existing robot). This is basically the same as loading an image to the robot

    When creating a cell in roboguide, use the "create from existing robot" menu.
    I believe you will have to have toggled and executed the autobackup feature at least once on the real robot to be able to restore it in Roboguide from image files.

    I believe it work as follow :
    - Joint motions are expressed as a percentage of the maximum speed, so for the same override value, there will be a spreed difference between auto and T1 mode
    - Linear and Circular motions are expressed in specific units and so are left unchanged unless the value is above the T1 speed limit, in this case the speed is capped at 250mm/sec

    In your case it seem as only one program may need to be created if all the motion are linear motions.


    First you want to associate Outputs to your safety zone and be able to check that particular output value (exemple ON when robot enter the zone).
    Then in your TPE or Karel background program, you will continuously check the value and use the information to trigger a speed decrease or increase (depending on whether the robot is entering or leaving the zone).

    If you choose the TPE option you can use the OVERRIDE instruction to reduce the overall speed of the movement. You can probably run the TPE program in Background logic so that it execute itself continuously.
    If you choose the Karel option, you need to add a REPEAT logic to make it execute more than once (And don't forget to add DELAY between the loop iteration !).


    Fanuc confirmed that I had the option Ethernet, lack of chance my PLC communicates in Modbus and so I am stuck.

    I am pretty sure there are some gateways to enable communication between Ethernet/IP and Modbus devices.


    I have a question about '*.as file' which seems that you are good at it, I got a as-file, however, I can not understand the code inside.

    .as files are Assembly files, basically they are used to perform direct manipulation of internal memory (or registry) of the Operating system

    Que ce passe t-il lorsque vous faites cette manipulation avec un autre backup/ une cellule créée manuellement ?
    Si le phénomène est le même, alors cela ne vient probablement pas du backup.

    1. Set the Karel program as the Cold start autoexec program
    2. Make the Karel program select the PNS0001 program at the end of the execution / run the pns program from the karel program depending on what behavior you want to achieve.
    3. Also add :
    at the begining of the Karel program to allow it to run continuously.

    $MOR_GRP.$MOVE_CNT --> Return time in ms the robot moved since last controller power up or reset was made
    $MOR_GRP.$MV_ST_RESET --> Reset $MOR_GRP.$MOVE_CNT and $MOR_GRP.$STILL_CNT timers to zero
    $MOR_GRP.$STILL_CNT --> Return time in ms the robot stayed still since last controller power up or reset was made
    $MOR_GRP.$MOVE_CNT + $MOR_GRP.$STILL_CNT = total time in ms since last controller power up or last reset
    $MOR_GRP.$ROB_MOVE --> Will indicate when the robot moved.

    I would monitor the downtime of the robot ($MOR_GRP.$STILL_CNT) from the last robot movement ($MOR_GRP.$ROB_MOVE), if the time exceed a certain value, then the robot would tell the Robodrill to run the warm-up program.