First off thanks Rossmann Engineering for sharing this library !
I've recently experiance an issue with this libraby while trying to connect a Fanuc robot controler using Implicit Messaging. When trying to send ForwardOpen the app crash and return:
"Sres.Net.EEIP.CIPException: 'Connection failure, General Status Code: 1 Additional Status Code: 786 Link address not valid'
"
I've been using this application with a few other devices from different brand and it actually working great, i never got this error before. weird thing is that the connection is working just fine when using Explicit Messaging.....
I pulled up wireshark to see what could be wrong when setting this connection and the session registration is working fine, it's the connection that is refused. I also notice in the connection path send by the app is wrong:
Path retreived from the connection request in wireshark
Connection Path: Assembly, Instance: 0x01, Connection Point: 0x69, Connection Point: 0x9B
Path from the EDS file for the targeted connection
20 04 24 64 2C 9B 2C 69
The connection instance should be 64 (100 decimal) instead of 01 which seems to be by default ... I can't find any parameter that allow me to set up this parameter.
Does anyone know how to setup the path correctly or have any idea of what could go wrong with this connection ? Any help would be appreciated.
Thanks
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
i have similar issue. in my case, for a connection the O- > T length is more than 500 andT-> O legth is more than 500 then the connection is not working. in wireshark trace i see invalid length hence connection is not established.
reagards,
somanath
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm in a very similar situation to vfish. This library has proved fantastic for explicit messaging, however I haven't managed to get implicit to work.
After setting my parameters and calling forward open, the program immediately crashes with the message: 'Connection failure, General Status Code: 1 Additional Status Code: 296 unknown'.
If I watch the packet transmissions in wireshark, the rejection reason given is "invalid T->O length".
I've tried changing the parameters around to see what happens and the length shown in wireshark always seems to be 2 more than what I specify for the T->O connection and 4 more for the O->T connection. The T->O connection rolls over at 255; The ninth bit never gets set and the length starts back over at 0 so my 320 length shows up as 66.
My conclusion is that either the library has a bug or wireshark isn't reading my packets properly. In either case, I can't get a connection established. I believe I have all of the parameters set correctly.
Hopefully this gets some attention.
Thanks.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've confirmed my initial thoughts. I checked my failing forward open connection request against one from a PLC what was able to properly establish a connection. While wireshark is in fact misreading the length by 2 bytes (for the T->O connection, 4 for the O->T connection) this library fails to set the 9th bit and rolls over after 255.
Fortunately I was able to work around the issue by shortening the input area on my device to a length below 255 and now I have my connection! (I just reduced the allowable length of a string at the end of the array).
Moving on to using the newly acquired data, I would like to request a feature that provides some sort of notification when an update comes through. Like an event that gets raised or a callback that I can set.
Hope this helps someone.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi all,
First off thanks Rossmann Engineering for sharing this library !
I've recently experiance an issue with this libraby while trying to connect a Fanuc robot controler using Implicit Messaging. When trying to send ForwardOpen the app crash and return:
"Sres.Net.EEIP.CIPException: 'Connection failure, General Status Code: 1 Additional Status Code: 786 Link address not valid'
"
I've been using this application with a few other devices from different brand and it actually working great, i never got this error before. weird thing is that the connection is working just fine when using Explicit Messaging.....
I pulled up wireshark to see what could be wrong when setting this connection and the session registration is working fine, it's the connection that is refused. I also notice in the connection path send by the app is wrong:
Path retreived from the connection request in wireshark
Connection Path: Assembly, Instance: 0x01, Connection Point: 0x69, Connection Point: 0x9B
Path from the EDS file for the targeted connection
20 04 24 64 2C 9B 2C 69
The connection instance should be 64 (100 decimal) instead of 01 which seems to be by default ... I can't find any parameter that allow me to set up this parameter.
Does anyone know how to setup the path correctly or have any idea of what could go wrong with this connection ? Any help would be appreciated.
Thanks
Hi,
i have similar issue. in my case, for a connection the O- > T length is more than 500 andT-> O legth is more than 500 then the connection is not working. in wireshark trace i see invalid length hence connection is not established.
reagards,
somanath
Hello,
I'm in a very similar situation to vfish. This library has proved fantastic for explicit messaging, however I haven't managed to get implicit to work.
After setting my parameters and calling forward open, the program immediately crashes with the message: 'Connection failure, General Status Code: 1 Additional Status Code: 296 unknown'.
If I watch the packet transmissions in wireshark, the rejection reason given is "invalid T->O length".
I've tried changing the parameters around to see what happens and the length shown in wireshark always seems to be 2 more than what I specify for the T->O connection and 4 more for the O->T connection. The T->O connection rolls over at 255; The ninth bit never gets set and the length starts back over at 0 so my 320 length shows up as 66.
My conclusion is that either the library has a bug or wireshark isn't reading my packets properly. In either case, I can't get a connection established. I believe I have all of the parameters set correctly.
Hopefully this gets some attention.
Thanks.
Update:
I've confirmed my initial thoughts. I checked my failing forward open connection request against one from a PLC what was able to properly establish a connection. While wireshark is in fact misreading the length by 2 bytes (for the T->O connection, 4 for the O->T connection) this library fails to set the 9th bit and rolls over after 255.
Fortunately I was able to work around the issue by shortening the input area on my device to a length below 255 and now I have my connection! (I just reduced the allowable length of a string at the end of the array).
Moving on to using the newly acquired data, I would like to request a feature that provides some sort of notification when an update comes through. Like an event that gets raised or a callback that I can set.
Hope this helps someone.