Hardware Interfaces Working Group Meeting #11 Today!

Today (HW) Interfaces Working Group Meeting #11

Today, 9/1 we will have a guest speaker! Thanks @Behnood_Farshbaf.

I’ll do a brief review of last week and note our next guest presenter then I’ll turn things over to Benhood.

As always notes here: HW Interface Working Group Minutes-initiated 031822 - Google Docs

Meeting info here:

Topic: Hardware Interfaces Working Group Meeting
Time: Jul 7, 2022 10:00 AM Central Time (US and Canada)
Every 2 weeks on Thu, until Sep 1, 2022, 5 occurrence(s)
Jul 7, 2022 10:00 AM
Jul 21, 2022 10:00 AM
Aug 4, 2022 10:00 AM
Aug 18, 2022 10:00 AM
Sep 1, 2022 10:00 AM
Please download and import the following iCalendar (.ics) files to your calendar system.
Weekly: https://us02web.zoom.us/meeting/tZ0vdu-rqDgpHNxlod-5NthZPCD4TmH6-202/ics?icsToken=98tyKuGhrDosGdKWsx-PRpx5AIj4M-nwpnZego1FkBDhTnV9dgvMBsFmZoZyOI6d

Join Zoom Meeting

Zoom Video

Join our Cloud HD Video Meeting

Zoom is the leader in modern enterprise video communications, with an easy, reliable cloud platform for video and audio conferencing, chat, and webinars across mobile, desktop, and room systems. Zoom Rooms is the original software-based conference…

Meeting ID: 892 1636 3368
Passcode: HWwgMTG
One tap mobile
+13462487799,89216363368#,*5585911# US (Houston)
+12532158782,89216363368#,*5585911# US (Tacoma)

Dial by your location
+1 346 248 7799 US (Houston)
+1 253 215 8782 US (Tacoma)
+1 408 638 0968 US (San Jose)
+1 669 444 9171 US
+1 669 900 6833 US (San Jose)
+1 301 715 8592 US (Washington DC)
+1 312 626 6799 US (Chicago)
+1 646 876 9923 US (New York)
+1 646 931 3860 US
Meeting ID: 892 1636 3368
Passcode: 5585911
Find your local number: Zoom International Dial-in Numbers - Zoom

Today we held Interfaces working group meeting #11.

Thanks to @Behnood_Farshbaf for presenting his work investigating interfaces between profinet enabled hardware and ROS-based systems, and following up on opcua and ROS-based systems and the status of the various interface implementations/initiatives.

He has provided slides from today’s discussion: PROFINET & ROS - Google Slides

A video recording will be made available via the ROS-Industrial YouTube channel. When it is ready on YouTube a link will be added here.

Next interfaces-wg meeting will feature @tgaspar discussing his teams work on developing a motion interface on 9/15.

Thanks!

Hi Matt Robinson

I hope you are well , thanks for the information about PROFINET & ROS .
How can i develop this interface

Thanks

Hi Matt,
I’ve been trying to join these HW IFs meetings but haven’t been able to.
As I see, you are looking for PLCopen contacts, i could throw here my 2 cents.
Actually, inside PLCopen I keep bringing the topic of a ROS cooperation.

What is PLCopen:

  • PLCopen is a vendor neutral association working on pre-competitive product stages that promotes engineering efficiency on Automation industrial software. The association is mainly conformed by automation technology supplier (Robot,PLC,HMI) : Siemens, 3S-codesys, Beckhoff, Kuka, Fanuc, Omron, Keba, Yaskawa, etc.
  • PLCopen promotes the IEC 61331-3 standards for industrial controller programming. It brings down the IEC standard to the PLC programmer with API specs.
    -The idea is to promote IEC 61131 PLCs that are able to control robots and group of axes.

What is not PLCopen:
-PLCopen not equal to openPLC.
-No solution for AGVs, AMRS, only robot arms and custom kinematics (by motion controller).

Background:
PLCopen Part1 single and synchronized Motion Control

  • PLCopen part1 for individual single axes motion (servomotors). Defined standard Axes behavior, API, Axes state machine, etc.
  • Axes synchronized motion: electronic gearing (Master/slave), electronic camming, look-up tables, etc.

PLCopen Part4 (PP4) - Motion control for robots group of axes

  • Many large industrial OEMs build their own custom robots such as gantries, Hbots, modified scaras, delta3 spiders, and any other type of kinematic chain.
  • New PLC platforms based on SOCs or IPCs (i.e. Beckhoff’s) are capable to control those custom robots and do multi-axes control, robot type tasks, CNC type tasks, etc.
  • For this “homie” robot, PLC is able to calculate and control the kinematics on real time. Some call this open Kinematics. But still requires deep mechanical and control knowledge from automation supplier.
  • So in 2008, PLCopen part4 (PP4) for Motion groups specification was published. It defines an API, better known in the PLC world as a library of Function Blocks (FBs)
  • PP4 was based/inspired on G-code DIN 66025 and mainly defines robot move commands such as MC_MoveLinearAbsolute(), MC_MoveLinearRelative(), etc.
  • PLCopen part1 and PP4 APIs have been implemented by most PLC/Motion control suppliers and the industrial field acceptance in quite relevant.

Industrial Robots

  • Even though PP4 was born to control “home” or custom built robots, it has been propagated to the industrial robotic world.

  • PP4 based solutions have been implemented between PLC and Robot OEMs, for example AutomationX (kuka), Motologix(Yaskawa), UniVAL_PLC(Staubli), CommandSlave(Denso).

  • The new Siemens SIMATIC robot control library is based on updated PP4 and mapped to Profinet. SIMATIC Robot Integrator mit SIMATIC Robot Library - YouTube

  • Another state of the art solution from Yaskawa, allows one controller CPU run both home robots and industrial robots, all with the PP4 library of FBS tunneled to Ethernet-IP, they call it Singular control: Yaskawa Singular Control - YouTube

  • PP4 has been mapped into Profinet, Ethernet-IP, Powerlink, etherCAT, etc. This has hindered the cross compatibility of solutions or in other words, the Babel tower syndrome.

  • This could be solved by mapping PP4 into vendor neutral protocol such as OPC UA PubSub over TSN.

PLCopen and OPC UA

  • The OPCF (foundation) + PLCopen working group is one of the oldest with 2 main results : 1) OPC UA client library for PLCs. 2) OPC UA + PLCopen information model
  • There is no current solution for motion control on OPC UA client/server since is not considered real time and deterministic.
  • The proposal moving forwards is to map OPC UA PubSub mechanism mapped to TSN/UDP, which is deemed suitable by experts for motion control.

PLCopen Command prototype example (JSON format over OPC UA client/server)
Motion command (stream) from PLC:
‘{“method”:“MC_MoveLinearAbsolute”,“inputs”:{“Execute”:true,“positionX”:-120.0,“positionY”:-330.0,“positionZ”:130.0,“positionRX”:0.0,“positionRY”:3.1416,“positionRZ”:0,“CoordSystems”:‘MCS‘, “Vel":1.2, “Acceleration":1.2, “Deceleration":1.2}}’
Motion response from Robot Controller (RC) motion completed no error:
‘{“method”:“MC_MoveLinearAbsolute”,“outputs":{“done":true,“Busy":false, "Active”:false, “Error”:false, “ErrorID”:0.0}}’
Motion response from Robot Controller (RC) motion not completed - error:
‘{“method”:“MC_MoveLinearAbsolute”,“outputs":{“done":false,“Busy":false, “Active”:false, “Error”:true, “ErrorID”:6969.0}}’

Current technology status (2022/H1)

  • Latest Profinet SCRI specification has been recently released.
  • Commercial product SIMATIC Robotic Library controls several robot brands with same API based on Profinet.
  • PLCopen working groups reviewing and updated PP4 based on SCRI improvement suggestions.

Potential Roadmap / R+D possibilities

  • Updated PP4 API mapped to OPC UA Method library.
  • PP4 into OPC UA PubSub over TSN/UDP.
  • Keep for Now, EtherCAT/Profinet/E-IP ROS drivers, but work towards a true converged robot arm firmware with OPC UA PubSub on TSN. As ROS DD2 is also moving to TSN. A new robot API could be harmonized by both communities.
  • ROS and PLCopen merge towards OPC UA PubSub TSN? How can PLCopen and ROS work together?
2 Likes

Thanks for the reply. Not sure if you have reviewed the slide content, but it may be beneficial to ping @Behnood_Farshbaf the speaker, as he has the domain knowledge with respect to Profinet & ROS.

Thanks!

Hi Oussama,

Have you access to any PROFINET PCIe HW? Let me know if you have interest, we can work together to have a HW interface layer for Profinet in ROS2.

Regards,
Behnood