Details
Description
Description:
The service will terminate the CIP connection uniquely addressed by the given connection triad. The service implementation will be limited to connections for which the device is the target. The EIP Scanner will not allow to terminate originated connections through this API.
The connection triad used for addressing corresponds to the connection triad that is presented in the EIP_OBJECT_CONNECTION_IND_T packet on each connection state change.
The service shall be synchronous, i.e. the response packet for a request will be send by the netX as soon as the connection is fully closed and all associated resources are available again.
Active connection termination through the service will still send a EIP_OBJECT_CONNECTION_IND to inform the host application about the connection state change.
Termination of an Exclusive Owner connection will also close all ListenOnly connection that use the closed EO as the controlling connection.
Projected error cases:
- Connection successfully closed
- Given connection not found
- Closing originator connections not implemented
- Invalid state: A FwClose has already been forwarded to the host application for the given connection and must be processed instead.
The originating TCP connection, if still present, shall remain open. Since CIP provides no active closing from the target towards the originator, an observer will only recognize the stopped data consumption and production, thus may not be able to distinguish the situation from an ordinary timeout condition.
Use Cases:
- For CIP Safety, in case of CIP class 1 safety open, all connections have to be terminated while the currently opening connection shall still open successfully.
- For CIP Safety, in case the time coordination messaging of a safety connection fails, the connection shall be terminated.
Packet structures:
/* Request */ typedef __HIL_PACKED_PRE struct __HIL_PACKED_POST EIP_OBJECT_TERMINATE_CONNECTION_REQ_Ttag { uint16_t usConnectionSerialNumber; /* The connection triad uniquely identifies a CIP connection */ uint16_t usVendorId; uint32_t ulOriginatorSerialNum; } EIP_OBJECT_TERMINATE_CONNECTION_REQ_T; /* Response: Empty packet (header only) */
Attachments
Issue Links
- relates to
-
PSEISV5-400 Add new API service EIP_OBJECT_TERMINATE_CONNECTION_REQ
- Closed
-
PSEISV3-835 Add new API service EIP_OBJECT_TERMINATE_CONNECTION_REQ
- Closed