Posts by PnsStarter

    Hi rudolf1385,

    The Karel builtIns for that are:

    OPEN_TPE(prog_name, open_mode, reject_mode, open_id, status)

    GET_POS_TPE(open_id, position_no, status <, group_no>)

    XYZWPR(EXT) only will be returned (no JPOS)

    XYZWPR_VAR =GET_POS_TPE(open_id, 1, status )

    But I believe you can't open a TPE-Program when it is already open!

    SO GETPOSITION can't be called within your specific TP-Prog!

    best regards


    Correct me when I'am wrong,

    but Fanuc used "negativ logic" until RJ3iB!

    So the answer of antonin will not work.

    In this case you should get 24V between pin 18/19/20(24V) and PIN1 (RDO1)

    best regards


    Hi ps0f0r,

    you have to set up the gear ratio correct.

    Check if the default values correspondend with the settings mentioned in the manual (i, don't know which) for your specific robot arm.

    Ask Fanuc for the ratio.

    Don't try to set the ratio to a own value. the ratio is used to set the master count (Axis6) internally!

    Maybe I'am wrong but at RJ2 controllers I believe it was like i mentioned above.

    Best regards


    Hi Azti,

    one solution is to use Tool_offset instuction in a "correct" way:

    ! zero all values inside PR[1]

    PR[1] = PR[1] - PR[1]

    ! Apply the offset value to PR

    PR[1,1] = GI[1]

    ! No need to change the UTOOL


    L P[1] 200mm/sec Fine , Tool_Offset PR[1]


    there a lot of other possibilities, but without karel things like "TOOL_DATA[2]=TOOL_DATA[1] : AuxShift" are not(directly) possible.

    Best regards



    what is the resolution of the (loaded) image?

    Try a lower resolution(max. resolution should be the res. from your virt. camera.)

    I had also problems with high-res images (~1900x1200) of basler ace camera connected to roboguide.

    On snap tool reducing the resolution(2x) solved that problem.

    Best regards


    Hi Darkbound,

    the Karel BuilIn for reset:


    var success : BOOLEAN

    reset(success) --success only indicates if the command was successfull, not the result!

    delay 1500

    IF OPOUT[3] -- fault LED




    for clearing the chain failure I have no (karel) solution.

    Best regards


    Hi Fabian,

    In fact a posreg can be one of three "Position-Types":


    - XYZWPR


    when executing PR[5]=UF[2]

    the PR[5] type will be POSITION because the UF[2]-type is position.

    In most cases you can ignore that:



    UF[2]= PR[5]

    will work!


    PR[5,1] is not the X-Value! in this case X is PR[5,7]


    best regards


    Hi belnea1,

    logging images to a device(mc,ud1,ut1) can take a couple of seconds.

    In the case that the device is full or a lot of images exists it might take even longer.

    Log only failed images or disable logging.

    Inside "vision runtime window" you can check how long it took to calculate the "result" of the process....

    If you are running async VisionProcesses ( a second task for snap_find etc (via RUN command) alongside of (heavily calculated) motion, the performance will be worse, too.

    Best regards


    Hi casper,

    Moving Linear from one point to next point might solve this problem. (DEFAULT: turn of config is ignored, Or use MROT option)

    When moving Joint the to a position , the path is (per default) calculated using the turn information from the position.

    PR's and P's can be stored as JOINTPOS or CARTESIAN POS (XYZWPR) , check out you positions.

    best regards


    It's a bit more complex:

    yes the "%UNINITVARS" directive works a bit weird.

    deleting vars that are allocated by a program (in your case the prog which owns(creates) the var) can't be deleted. you can't also delere a .vr file as long as there is a prog which uses vars inside that file. .VA are only the ASCII-representation (will be created/updated dynamically)

    Best regards



    Syntax : SET_VAR(entry, prog_name, var_name, value, status)


    uninit_Value is the prog name. ('' ; should be use for current task, but does not work

    uninitINT[1] is the "uninit value" ; declared as array to force an uninit state

    Hi darkbound,

    you can use a routine to do that task:


    Best regards


    Hi PeterVC,

    "My question is if it is possible whit the connectors pointing downwards?"

    Yes this will work. Both directions will work. --> $MountAngle negative/downwards ; positive/upwards; (or opposite)

    Only in some scenarios:

    If you are not able to rotate the robot by 90 degrees you can master axis 1 90degrees rotated. And you have do change the AxisLimits.(And maybe other stuff)

    Only use this as the "last chance"

    Best regards



    use POST_ERR BuiltIn:


    Syntax: POST_ERR(error_code, parameter, cause_code, severity)

    severity 1 :pause

    severity 2 :abort

    severity 0 : nothing


    best regards

Advertising from our partners