ros-drivers / odva_ethernetip

Library implementing ODVA EtherNet/IP (Industrial Protocol).
94 stars 48 forks source link

Forward open request serialization issue #5

Closed akgoins closed 8 years ago

akgoins commented 8 years ago

When trying to create a connection to a Yaskawa PLC with an RRDataCommand of 0x54, I receive a general status error of 1 (Invalid network connection parameters). Using wireshark, I found an odd packing of the Forward Open request packet. The O->T RPI looks fine, but the O->T connection parameters, T->O RPI and connection parameters look wrong. For a 10ms RPI (0x00002710), wireshark shows the correct RPI of 0x00002710 for O->T, but for T->O it shows 0x27104800 (655378 ms). And for the connection parameters, O->T it shows 0x0600 (high priority, variable, size 0) which should be (scheduled, non-variable), and for T->O it shows 0x0000 (low priority, fixed) which should be (scheduled, variable).

Regardless of what I set the T->O RPI to, the last 4 bits are always 4800. It seems to me that there is an issue with the way the packet is serialized.

I am going to keep looking to see if I can find where the issue is. Any ideas what the problem could be?

akgoins commented 8 years ago

I noticed that the packing is different for forward open and large forward open requests. The packing looks fine for the large forward open request (0x5B) which is what the code was originally written to handle.

pbeeson commented 7 years ago

I am suddenly in need of something that talks to a Yaskawa dx200 controller's Ethernet IP interface. Do you have any advice on whether this package ended up working for you? Perhaps you could provide example source if it did?