How fast are you wanting to send the control signals? If you are able to send every cycle (2ms for e-series, 8ms for cb series) you could use Ethernet-IP or Profinet to write the joint values to 6 float registers. Then you could use a servoj command in the program and use those 6 float variables to create a joint position list.
Hello Mr Matthew , Thank you for your reply
I think i'm more inclined to use Ethernet IP , but based on the UR ROS Modern driver , the way it works by opening Ethernet socket and making UR as a client and the PC as the server to ask for the joints position and running a URScript on UR that reads these position and as you said using servoj command
when i contacted UR , they told me about using an Ethernet Socket too , but the issue is that i need the PLC to be the Client and open two sockets , one for each UR controller , as i have two robots that need to be controlled from the PLC , and i need the PLC to send and receive data from each UR based on its opened socket and IP address
Beckhoff has a TCP library that creates sockets and other blocks that can make the PLC either a server and listens to an opened socket and then receive or send data , and other blocks to make it a client , so it opens the socket and then based on the returned handle and from the open socket with a certain IP AND Port , it can send and receive data to the server
the reason i want to make the PLC client (Master )and the URs Servers (Slaves ) , is that i want the PLC to be in control to send the joint variables and commands and then receive feedback from the URs based on the over all logic
all the search i have done ,found that UR is always client , like in this example by UR
https://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/ethernet-socket-communication-via-urscript-15678/
so i wonder how to make the UR as servers ?
and the script that i need to develop to run on UR , i want to make it to execute the recieved joint positions ,and read inputs and outputs ,safety status to make it available for the PLC to read it , if you please could guide me how to do this
i read in this link that Profinet is faster ,more deterministic and reliable than Ethernet IP https://us.profinet.com/profinet-vs-ethernetip/
Is there much difference in the implementation of both protocols for the same applications on UR ?
Sorry for the long post , but i hope i made it clear
Hello , I'm Kasem ,Mechatronics Engineer
I have some questions about controlling UR3e robot controller from a Beckhoff CX PLC , over Ethernet IP communication , if someone has done it or know how to do it , could you please help me
what i want to do is
1- I want to send joint variables (Position and speed ,...) (which are samples from a trajectory generated by ROS and sent to the PLC ) from a Beckhoff PLC over Ethernet IP or Profinet or MODBUS TCP (Whichever is faster and more reliable ) connection to the UR3e robot controllers
2- command the robot to continuously follow the sent target joint positions
thank you