You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've used the sample application as a template to create two exclusive connections with In/Out/Config assemblies. I am using a rockwell PLC and the Hilscher Ethernet/IP Tool to connect to these two connections. As long as I use just one connection, everything is working finde. But when I try to establish an additional connection ( one is active ) then the already established connection gets disconnected in the CheckAndHandleConsumingUdpSocket function (received_size == 0 or received_size == -1) and the new connection becomes active and exchanges data.
Would be great if some comes up with an idea, Thanks
OS: Windows 10 x64
Log-Messages:
IO Exclusive Owner connection requested
No PIT segment available
networkhandler: UDP socket 536
New highest socket: 536
connection manager: connect succeeded
assembleFWDOpenResponse: sending success response
notifyMR: notify function of class 'connection manager' returned a reply
TCP reply: send 110 bytes on 260
Entering HandleDataOnTcpSocket for socket: 260
Data received on TCP: 24
Handles data for TCP socket: 260
unregister session
encap.c: Unregister Session Command
Closing TCP socket 260
networkhandler: closing socket 260
networkhandler: closing socket done 260
UDP packet to be sent to: 239.192.70.224:2222
UDP packet to be sent to: 239.192.70.224:2222
Processing UDP consuming message networkhandler: error on recv: 10035 - Ein nicht blockierender Socketvorgang konnte nicht sofort ausgeführt werden.
Exclusive Owner or Input Only connection closed - Instance type: 2
Close all instance type 4 only connections
Closing UDP socket 504
networkhandler: closing socket 504
networkhandler: closing socket done 504
Closing UDP socket 504
networkhandler: closing socket 504
networkhandler: closing socket done 504
cipioconnection: CloseCommunicationChannelsAndRemoveFromActiveConnectionsList
UDP packet to be sent to: 239.192.70.224:2222
Processing UDP consuming message
Starting data length: 38
data length after sequence count: 36
Run/Idle handler: 0x1
Setting extended status: 60
/* see a message of the registered UDP socket has been received */
while(NULL != iterator) {
current_connection_object = (CipConnectionObject ) iterator->data;
iterator = iterator->next; / do this at the beginning as the close function may can make the entry invalid */
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
sample_application.zip
Hello,
I've used the sample application as a template to create two exclusive connections with In/Out/Config assemblies. I am using a rockwell PLC and the Hilscher Ethernet/IP Tool to connect to these two connections. As long as I use just one connection, everything is working finde. But when I try to establish an additional connection ( one is active ) then the already established connection gets disconnected in the CheckAndHandleConsumingUdpSocket function (received_size == 0 or received_size == -1) and the new connection becomes active and exchanges data.
Would be great if some comes up with an idea, Thanks
OS: Windows 10 x64
Log-Messages:
IO Exclusive Owner connection requested
No PIT segment available
networkhandler: UDP socket 536
New highest socket: 536
connection manager: connect succeeded
assembleFWDOpenResponse: sending success response
notifyMR: notify function of class 'connection manager' returned a reply
TCP reply: send 110 bytes on 260
Entering HandleDataOnTcpSocket for socket: 260
Data received on TCP: 24
Handles data for TCP socket: 260
unregister session
encap.c: Unregister Session Command
Closing TCP socket 260
networkhandler: closing socket 260
networkhandler: closing socket done 260
UDP packet to be sent to: 239.192.70.224:2222
UDP packet to be sent to: 239.192.70.224:2222
Processing UDP consuming message
networkhandler: error on recv: 10035 - Ein nicht blockierender Socketvorgang konnte nicht sofort ausgeführt werden.
Exclusive Owner or Input Only connection closed - Instance type: 2
Close all instance type 4 only connections
Closing UDP socket 504
networkhandler: closing socket 504
networkhandler: closing socket done 504
Closing UDP socket 504
networkhandler: closing socket 504
networkhandler: closing socket done 504
cipioconnection: CloseCommunicationChannelsAndRemoveFromActiveConnectionsList
UDP packet to be sent to: 239.192.70.224:2222
Processing UDP consuming message
Starting data length: 38
data length after sequence count: 36
Run/Idle handler: 0x1
Setting extended status: 60
Code:
`void CheckAndHandleConsumingUdpSocket(void) {
DoublyLinkedListNode *iterator = connection_list.first;
CipConnectionObject *current_connection_object = NULL;
/* see a message of the registered UDP socket has been received */
while(NULL != iterator) {
current_connection_object = (CipConnectionObject ) iterator->data;
iterator = iterator->next; / do this at the beginning as the close function may can make the entry invalid */
}
}`
Beta Was this translation helpful? Give feedback.
All reactions