Hello Saragani and thank you for your detailed answer,
My program is working with the PLCs listen to the PC, and as you wrote, the PLC is wrap in a class as describes.
My problem is actually how to handle disconnect events, I catch them but I did not succeed to reestablish connection.
Should I disconnect the Ethernet connection (Unitronics.ComDriver Ethernet : Channel)? How to reestablish the plc that was first created with plc = PLCFactory.GetPLC(ethernet, 0)?
Should I use plc.Dispose(), plc.Disconnect()? I tried several strategies with no luck, I had to restart the PLC and restart the program in order to reconnect to it and this is not practical.