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. Stäubli & Bosch 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

How to Capture the Actual Position of the Robot's End Effector

  • Vi NTT
  • July 10, 2024 at 1:45 PM
  • Thread is Unresolved
  • Vi NTT
    Trophies
    1
    Posts
    36
    • July 10, 2024 at 1:45 PM
    • #1

    Hi everyone,

    I want to create a program to capture the actual position of the robot's end effector. Then, send this position to an external device's software.

    I have some doubts while creating the program

    1. SetLatch enables the robot position latch on the next rising edge of the input signal, whereas herej() returns the current arm joint position. So, does SetLatch return the current arm joint position? If I have used the SetLatch command, is it still necessary to use herej()?

    2. Can string variables and socket variables (sio) use formulas, for example, siClient = sSend?

    3. The robot's position value (via the SetLatch command) is sent to the SRS software via TCP/IP socket. Where will it be displayed? Can it be sent to other software?

    4. If I have numeric variables like n1 = 100, n2 = 200, n3 = 300, … (approximately 100 variables), is there a way to create a data file without having to define each variable individually?

    5. Does anyone know about the commands $movejSync, $movejSyncState, $movejSyncBegin, $movejSyncEnd? They don't appear to be mentioned in the documentation.

    Thank you for your help,

    Best regard,

    Vi

  • klausi
    Reactions Received
    8
    Trophies
    3
    Posts
    37
    • July 10, 2024 at 3:16 PM
    • #2

    Hi there,

    1) SetLatch is used in conjunction with Fast inputs to capture robot's position 'on the fly' at VAL3 level. This is probably not what you need for sending current robot's position to an external device.

    2) yes, this is possible to use this syntax although not easiest to handle.

    3) SRS get the current robot position (and can display it in 3D scene) with stäubli internal protocol/

    4) You may define your own custom datatype (kind of STRUCT like in C/C++)

    5) Sorry, never heard about these functions. However they are not standard function since beginning with a $ char.


    You are not mentionning if you want to capture robot's position on a trigger or if you 'permanently' would like to get robot's position in your external device.


    However 2 solutions, Use Here() intruction and :

    Build up a string variable with X,Y,Z,rx,ry,rz and send it over TCP/IP

    Copy X,Y,Z,rx,ry,rz onto analog output (EtherCAT,Profinet or whatever ethernet filedbus available)

    Note : you may want to use a synchon task if you need deterministic data.


    Best regards

  • Vi NTT
    Trophies
    1
    Posts
    36
    • July 10, 2024 at 5:38 PM
    • #3

    Hi Klausi,

    I want to capture the robot’s position when it receives a trigger from an external device. So, it requires using 'Setlatch'.

    With Setlatch, I have already received the X, Y, Z, Rx, Ry, Rz values. I stored them in the sSend string and I want to send it to siClient for transmission. So, I want to use the formula sSend = siClient. Is there any other way to handle this without using the formula sSend = siClient? When this data is sent back, has it been stored on the SRS software and can the software read it if there is a TCP/IP connection?

    Thanks for your help.

    Best regards,

    Vi

  • klausi
    Reactions Received
    8
    Trophies
    3
    Posts
    37
    • July 11, 2024 at 8:19 AM
    • #4

    Hi viNTT,

    I got you concerning the use of setLatch - Please note that the trigger signal shall be connected to a Fast input.

    The alternative to siClient = sSend is using sioSet instruction.

    Quote

    When this data is sent back, has it been stored on the SRS software and can the software read it if there is a TCP/IP connection

    You cannot interact directly with SRS from your application program, I mean you cannot send data to SRS software over TCP/IP. However, you can view (in SRS) the robot's position that has been captured if you store it in a variable of your application, save the application onto disk and transfert it back to SRS with 'transfert manager' utility.

    By the way, another tricky use case would be to have a second robot in your SRS cell. Then you communicate with TCP IP between your real robot and emulator of the second robot.

    Originally, you spoke about sending the robot's position to an external device (PLC, PC ...) . FOr a PC, it would be more convenient with TCP/IP. On the other hand, with a PLC, a fieldbus communication would be easier to setup.


    regards.

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
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • 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
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • 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