Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Profinet Controller and Device on raspberry pi

2022-03-22
2022-03-24
  • alsa-ctr-tech - 2022-03-22

    Hello,

    I'm having some issues with a test I'm trying to perform.
    For more context, my goal in the end is to communicate with a Profinet Controller from one of my plant equipments made by a third party company (it's a die cast machine). I want to simulate two Profinet IO device exchanging data with a Profinet IO controller, no Profisafe communication is required. Those two Profinet device are currently robot controller. Our end goal is to put our controller between the die cast machine PLC and the robots controllers. We will therefore use our controller to "create" two independent profinet IO device as the Die Cast machine is expecting.
    My current goal is to setup a communication between a Profinet controller and two Profinet device on the same codesys project.
    In terms of hardware for my test I use three USB to Ethernet dongle connected to the usb port of a Raspberry Pi 4 in order to create the Profinet network, all of these ethernet dongle are fed into a network switch, one of the Ethernet dongle will be used as the profinet controller (in place of the die cast machine PLC) , the other two will be used as the profinet devices (in place if the two robot controllers).
    The equipments is currently in production so I can't allow myself to stop production in order to perform a test. That's why I need to make it work on a test bench first. I've joined a screenshot of my devices tree on my project.
    As you can see I've setup the Profinet Devices on the same codesys controller.
    I have no compilation errors however when I download my configuration on the controller and run the logic my profinet network isn't functionning. I've joined screenshots of the available logs that I can read.
    Addressing the issue with the controller IP address which is said to be used by another device I don't know where this IP can be used, the profinet device use two different IP address and the Ethernet Interface I use to connect from my computer to the RPi has a different IP address.
    Adressing the issue with the devices network parameters I can't explain why the runtime try to change the IP of the network even though I haven't check the box "adjust operating system settings".

     

    Last edit: alsa-ctr-tech 2022-03-22
  • eschwellinger

    eschwellinger - 2022-03-22

    Hi,
    at least ( maybe it is not all) the comcycle for pn devices are missing in the task calls.

     

    Last edit: eschwellinger 2022-03-22
  • alsa-ctr-tech - 2022-03-23

    Thanks for the heads up.
    A little update, after quite some trial and error, it turns out its not really feasible to configure a profinet controller and a profinet device on the same RPi. Thankfully We had another Rpi nearby. I now use a RPi as a Profinet Controller and another RPi as two distinct profinet devices. Currently it doesn't work as expected however there's some progress. I now have to solve some DCP Error.

     

    Last edit: alsa-ctr-tech 2022-03-23
  • alsa-ctr-tech - 2022-03-23

    I will post an update if I make any progress.

     

    Last edit: alsa-ctr-tech 2022-03-23
  • eschwellinger

    eschwellinger - 2022-03-23

    I think you need to allow the controller to set the IP addresse in the device.

    you need to add in the Pi which acts as pn device:
    (for both intherfaces in case you use two
    /etc/CODESYSControl_User.cfg

    [SysSocket]
    Adapter.0.Name="eth1"
    Adapter.0.EnableSetIpAndMask=1

     
  • alsa-ctr-tech - 2022-03-24

    Actually I addressed the profinet device wrong in the controller.

     

    Last edit: alsa-ctr-tech 2022-03-24

Log in to post a comment.