I am using Codesys 3.5.16.2 on a Raspberry Pi with an EtherNet/IP Scanner. It works fine, but every time I reboot the Raspberry Pi, the EtherNet/IP Scanner stops working. It has a red triangle next to it. If I do a Reset (Warm, Cold or Origin), everything starts working again.
Any idea what could be wrong?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Could you tell me how to transfer a device from device-tree to INode. I added a device "Ethernet_IP_Scanner" in device-tree, then there is a complier error which cannot convert type IoDrvEthernetIP to type INode. Thank you.
Hello,
I am using Codesys 3.5.16.2 on a Raspberry Pi with an EtherNet/IP Scanner. It works fine, but every time I reboot the Raspberry Pi, the EtherNet/IP Scanner stops working. It has a red triangle next to it. If I do a Reset (Warm, Cold or Origin), everything starts working again.
Any idea what could be wrong?
check the plc logger for more information...
Here's what the Ethernet adapter's log says:
And here's what the EtherNet/IP Scanner's log says:
It seems that the Scanner is trying to load parameters before the EtherNet/IP adapter has successfully opened connection.
Is it possible to delay the start of the Codesys runtime? Maybe it would resolve the issue.
Or is there another workaround?
That is the solution I have heard other people talk about, I'm not sure the exact way they did it though.
You mean adding a delay before starting Codesys runtime?
Yes. In fact that is what the Eaton plc's do with a timer in a startup script.
as a workaround i would try to restart the EIP via your application:
example snippet:
declaration:
reconfigureEIP : DED.Reconfigure;
eipActive : BOOL;
Code:
Ethernet_IP_Scanner.Enable := eipActive;
reconfigureEIP(itfNode := Ethernet_IP_Scanner);
Last edit: eschwellinger 2020-11-05
It works! Thank you Edwin!
And I learned that you can programmatically enable/disable devices. This is very handy.
Thank you.
Hi
Could you tell me how to transfer a device from device-tree to INode. I added a device "Ethernet_IP_Scanner" in device-tree, then there is a complier error which cannot convert type IoDrvEthernetIP to type INode. Thank you.
You might have to enable device diagnostics: