EtherNet/IP communication in PLC programming begins with starting the PLC and initializing the network. The PLC opens a TCP socket to the target device, which moves the connection state to 'Connecting'. Next, it sends a 'Forward Open' CIP message to establish the EtherNet/IP session, changing the state to 'Connected' once the response is received. After the session is established, the PLC exchanges CIP I/O messages to read and write data. Finally, the PLC closes the TCP connection, ending the communication and setting the state to 'Disconnected'. This process ensures reliable data exchange over the network using standard TCP/IP protocols combined with CIP messaging.