learning language

  • I've been programing for many years using inform language with Motoman robots. I could use a little help transitioning. I'm hoping someone can point me in the right direction.


    I'm looking for the equivalent of a "I move", to move FROM a point a given direction and distance.

    Do robots dream?

  • Is an I move like an incremental move?


    If so add the INC option to the end of a move, and then populate the position with how far you want the robot to move.

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

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

    Edited once, last by Nation ().

  • Yes! From what I'm reading this is what I want. The manual is unclear. Can you please provide an example of the practical application of the code so I can more clearly understand?

    Do robots dream?

  • Sure, see example below.


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

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

  • Thanks, this is very helpful. I can clearly see how to set distance and direction. Can you explain the relevance of the UFRAM# and UTOOL#?

    Do robots dream?

  • UTOOL is which TCP to use. In the case of the above, use the 9th programed TCP.
    UFRAME is which user frame to use. A UFRAME of 0 is the world frame.

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

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

  • That is as I thought. When displaying the position detail, the configuration numbers seem to be related to wrist orientation. Can you explain this a little for me?
    When I try recreate your example, I get an error massage at line 4. SYST-034 HOLD... I am confused by the term "Uninitialized". Can you shed some light on this for me please, I almost got this.

    Do robots dream?

  • For wrist configuration, and turn numbers, watch my YouTube video on the subject here.


    The reason you are getting uninitialized errors is that the Fanuc controller uninitializes the point data when the INC command is added, for safety reasons. You have to go in the point and type your incremental offset in.


    Wrist configuration is ignored in INC moves. I am not sure about turn numbers, you will have to experiment with that one.

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

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

  • When you record a position the UFRAME and Tool Number are also stored along with the posture configuration
    Depending on a variable setting the robot will automatically change the current tool frame and user frame
    It is usually disable, so you MUST include the UTOOL and UFRAME instructions to set the correct frames, otherwise will give you an error


    About the posture configuration, in general (for articulated type robot manipulators) there are 8 possible solutions for a given position
    wrist Flip, No flip
    Elbow Up, Down
    Arm fronT, Back
    The combinations (2*2*2) give you the 8 possible solutions, of course depending on the position some solutions are not reachable

  • It is my desire to set a PR in a parent job. Then INC from that position from inside a macro. I want to avoid position specific motion inside the macro so it can remain generic and reused elsewhere. doesn't seem to work for me. How would go about doing this?

    Do robots dream?

  • I want to approach a location to cut a hole in a parent job. Then calculate the hole and cut it in a macro.


    Parent job:
    1:UFRAME_NUM=2
    2:UTOOL_NUM=1
    3:J P[1] 100% CNT100
    4:L P[2] 100mm/sec
    5:PR[12]=P[2]
    6:Call macro cut job


    Macro cut job:
    1: !plunge
    2: J PR[12] 100% CNT100
    3: L P[4] 100mm/sec fine INC
    4: !travel speed
    5: R[5]=10
    6: !shape
    7: R[1]=11
    8: !hole center
    9: PR[1]=P[4]
    10: Call CALC_CIR
    11: Call CUT_CIR
    12: !Departing point
    13: PR[12] 100mm/secCNT100


    Error occurs at line 3 in the macro.

    Do robots dream?

  • Instead of incremental, why not just use a PR offset set to the increment you want to move. Then replace line 3 with:


    3: L PR[12] 100mm/sec fine Offset, PR[13]


    Also modify anywhere P[4] was used, such as in line 9.

  • I need to plunge and cut a hole wherever I point the tool. I'm not sure I am asking the robot to do this. I need to tell it to offset and move in a tool frame way. Do I understand correctly that tool frame has a frame of reference set around the end of the robot arm?

    Do robots dream?

  • The Tool Frame tells the robot where the tool center point is for the End Effector that is installed on the robot flange. Tool Definition is another way to describe it. You define the point where the robot actually rotates around when you are jogging and also which direction the X,Y,& Z are for the tool. You can then use a TOOL OFFSET in the move command to offset the point in the direction the tool is pointing, instead of offsetting relative to the WORLD coordinate system. The tool frame is basically the frame of reference like you said, which moves around with the robot flange.

  • I should program a TOOL_OFFSET_CONDITION PR[X] (utool [1]), This will set the PR up using user tool #1 as a frame of reference.
    Then program a point instruction like J P [1] 50% FINE with a TOOL_OFFSET,PR[X] tag on it referencing the PR set up on the previous line.


    I'm struggling with the different lingo form Motoman to Fanuc. Am I understanding this correctly?

    Do robots dream?

  • Quote

    J P [1] 50% FINE with a TOOL_OFFSET,PR[X]


    If you use the motion modifier "Tool Offset, PR[X], then that is all you need to do. You do not have to set up a condition. It will use whatever the currently active tool frame is and offset by the value in PR[X]. Keep in mind the offset will be from the UTOOL orientation.


    To better understand what the outcome will be, just create a little test program with the robot moving in empty space with some different tool offsets applied.

Advertising from our partners