CONTROL_CODE Explanation?

  • Looking at offline tp programs, there is always a CONTROL_CODE = 00000000 00000000 in the file attributes area. Looking through the docs, I can't find a explanation of what each bit of the control code does. Does anyone have any information on it?

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

  • Did some investigation. Here is what happens when you set each bit to a 1.


    Starting from the left.


    0 Unknown
    0 Unknown
    0 Unknown
    0 Unknown
    0 No display sub programs toggle.
    0 Unknown
    0 Unknown
    0 Causes syntax error in position when set to 1. RTCP maybe?

    0 Unknown
    0 Unknown
    0 Unknown
    0 Unknown
    0 Unknown
    0 Unknown
    0 Unknown
    0 Makes program invisible, can still step through it, but it behaves like a karel program (no code shows). Doesn't show up in backups.

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

  • 0 Causes syntax error in position when set to 1. RTCP maybe?


    This particular one is right.


    CONTROL_CODE = 00000000 00000000 => programs WITHOUT Remote TCP (coordinates should be represented as X, Y, Z, W, P, R)


    CONTROL_CODE = 00000001 00000000 => programs WITH Remote TCP (coordinates should be represented as RX, RY, RZ, RW, RP, RR)

  • Hi all !


    Thanks for your time, I was doing some investigation about this thread, and I have hidden one test program. Now, how can I do to show it up again? As like Nation have said it's doesnt even appear in la backup

    ...Thanks in advance! :smiling_face:

  • Thanks for your reply! It was all about I have made some routines that I want to prevent (somehow) to be copied from one robot to another....


    any suggestions of how can I avoid that?


    I have made an integration for a big customer but now it looks like they want to copy/paste my development to another robots and get rid of our services....


    Thanks a lot gents!

  • This particular one is right.


    CONTROL_CODE = 00000000 00000000 => programs WITHOUT Remote TCP (coordinates should be represented as X, Y, Z, W, P, R)


    CONTROL_CODE = 00000001 00000000 => programs WITH Remote TCP (coordinates should be represented as RX, RY, RZ, RW, RP, RR)

    What do you mean by Remote TCP?

  • Remote TCP is a TCP that is fixed in space and do not move with the robot.

    Think about a robot with spot weld that handles a workpiece and move it to a external spot welder, the remote tcp will be on the fixed cap of the spotgun and will never move.


    On abb robots you can embark a workobject(frame) with reference to the 6th axis interface and you use a "tool" that is fixed on the space.


    Fanuc doesn't have that, so you declare a "tool" on the gripper that in reality will be a "frame" and declare the frame on the spot gun location (the fixed tool)

    Then if you go to the TP module you have the welding path, go to details and active the remote tcp option, the robot will convert his point coordinates and calculate them from the "moving frame" to the fixed tool. Coordinates will be represented as XYZ RxRyRz instead of XYZWPR.


    This also applies to external gluing guns. The reason to do that is that for example with spot welding you can move the workpiece along the direction of the external tool to compensate cap wear. Also if you reorient with remote tcp you will be reorienting the workpiece around the external tool, no matter where the "tool" from the robot is declared.



    Also some manufacturers have a frame declared on the product 3D origin, with this all gluing or welding coordinates will be represented on the 3D coordinates, its usseful to check if a soldering point is positioned like in the design.


    It's a little confuse at first to understand it.

    Also a tool declared this way should not be used to handle parts(only when soldering, gluing, etc) since if you have a tool declared 3m away from the 6th axis interface, robot will move slower than if you use a tool that is located on a pilot from the gripper.

    Edited 2 times, last by Shellmer ().

Advertising from our partners