1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. Fanuc Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

Tracking position of the robot on its trajectory

  • Kelidor
  • March 9, 2023 at 5:19 PM
  • Thread is Resolved
  • Kelidor
    Reactions Received
    9
    Trophies
    1
    Posts
    22
    • March 9, 2023 at 5:19 PM
    • #1

    Hi,

    I'm looking for a way to track progress of the robot on its path.

    Staübli has this function implicitly:

    Each move performed increment the integer part of a numeric value named MoveID, and the decimal part corresponds to the progression of this movement.

    For exemple, a move id of 2.62 means that the current move is the second move, and the robot has performed 62 % of this move.

    I am looking for a way to achieve something similar, Is there something similar for fanuc robot or maybe a way to achieve it ?

    I managed to get something almost functional with the help of the variable $SCR_GRP[1].$DPOS_DST.

    To make it simple,

    -For the Integer part ,I increment a variable at each start of move.

    -For the decimal part, I save the value of $SCR_GRP[1].$DPOS_DST at each start of move in a variable and then calculate a percentage according to the evolution of the value of $SCR_GRP[1].$DPOS_DST.

    This work great for FINE moves but not for CNT moves.

    With CNT move, integer part increment way before $SCR_GRP[1].$DPOS_DST reach zero. Also if next move is with a different utool, $SCR_GRP[1].$DPOS_DST is modified according to the tool before it reach zero and that the integer part is incremented

    I guess this is normal given the nature of CNT movements, but as a result it seems that I am not able to achieve my goal with this variable.

  • Nation March 9, 2023 at 5:24 PM

    Approved the thread.
  • Nation
    Typical Robot Error
    Reactions Received
    556
    Trophies
    9
    Posts
    1,937
    • March 9, 2023 at 6:25 PM
    • #2

    I'm not sure if it fits exactly, but the position snap and map option (R596) does close to what you are looking for.

    The robot will stream out over Ethernet the current commanded or actual Joint, or TCP values, or both at up to every 2ms. It also sends out a timestamp with the data.

    What are you trying to accomplish with the knowledge of the current completion of the current move?

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

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

  • neighbour1
    Reactions Received
    44
    Trophies
    4
    Posts
    405
    • March 9, 2023 at 7:43 PM
    • #3

    Try to look at:

    1. $SCR_GRP[1].$MCH_POS_X to $SCR_GRP[1].$MCH_POS_R in order to get cartesian position

    2. $SCR_GRP[1].$MCH_ANG[1] to $SCR_GRP[1].MCH_ANG[6] in order to get joint position

    Before reading above variables set $SCR_GRP[1].$M_POS_ENB = TRUE and cycle power.

    Maybe that helps you.

  • Kelidor
    Reactions Received
    9
    Trophies
    1
    Posts
    22
    • March 10, 2023 at 8:30 AM
    • #4

    Thank you Nation , I'll take a look to R596 option, but I'm already sure that there is almost no chance people here would want to pay for this feature.

    Quote from Nation

    What are you trying to accomplish with the knowledge of the current completion of the current move?

    Robot is controlled by a PLC among other things. PLC guys are requesting this. There is no specific application for it right now. But I guess they are trying to do something like : "Cylinder out/Conveyor FWD when robot move 3 is >= 50%"

    Quote from neighbour1

    Try to look at:

    1. $SCR_GRP[1].$MCH_POS_X to $SCR_GRP[1].$MCH_POS_R in order to get cartesian position

    2. $SCR_GRP[1].$MCH_ANG[1] to $SCR_GRP[1].MCH_ANG[6] in order to get joint position

    Before reading above variables set $SCR_GRP[1].$M_POS_ENB = TRUE and cycle power.

    Maybe that helps you.

    Thanks neighbour1 for the tips, but PLC already receives this information, and it seems that it is not enough and wants more :grinning_face_with_smiling_eyes:

  • HawkME
    Reactions Received
    570
    Trophies
    11
    Posts
    3,270
    • March 10, 2023 at 11:50 AM
    • #5

    Sounds like there is no real reason you need this. The cylinder out sat 50% would typically be handled by a TB it DB instruction. (Time before or distance before the move is complete, turn on DO).

  • Kelidor
    Reactions Received
    9
    Trophies
    1
    Posts
    22
    • March 10, 2023 at 12:36 PM
    • #6

    HawkME I used this as an example, as they did not tell me clearly why they need it.

    But you're right, that would be the right way to do it.


    The thing is PLC side actually handle things with this tracking progress functionality with other robot brand, and the current policy in the company is to standardize the PLC programs as much as possible.

    Using TB and DB would require specific development for them.

    But they will have no choice if there is actually no solution to get the functionnality they want with Fanuc Robot.

  • kluk-kluk
    Reactions Received
    53
    Trophies
    5
    Posts
    300
    • March 11, 2023 at 7:57 PM
    • #7

    There are two ways to standardize robot programs :

    1 - Stick to one brand.

    2 - only use the common programlanguage, so, only use the things available in all used robots.

    It seems the plc guys have two options :

    A - remove all the Staubli commands the Fanuc can’t handle and replace them with something that both can.

    B - They quit moaning and get the job done, that’s what they are paid for.

  • HawkME
    Reactions Received
    570
    Trophies
    11
    Posts
    3,270
    • March 12, 2023 at 3:25 AM
    • #8

    Agreed, I have done a lot of both PLC and robot programming. What they have standardized on is very unusual.

  • rf103
    Reactions Received
    18
    Trophies
    4
    Posts
    264
    • March 12, 2023 at 8:51 AM
    • #9

    Kelidor: are you trying to control all robots complete from the PLC?

    Tracking motion progress and using it for timing io signals and your other questions about ethercat en motion control seem to suggest it.

  • Kelidor
    Reactions Received
    9
    Trophies
    1
    Posts
    22
    • March 13, 2023 at 9:46 AM
    • #10

    @kluk-kluk, @HawkME I realize you are absolutely right.

    I'm kinda new here and with robots, so I tried to do what they asked me without really thinking.

    Now I understand if they want to get the most out of the robots, they have to adapt according to the brand.

    On the other hand, for the moment our applications are not very complex (simple pick & place) and this is perhaps not necessary.

    rf103 , that's right, Robots are completely controlled by PLC.

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • krc5
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • krc5
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download