перезапуск неоднократно обсуждался, посмотрите форум на пример
if Modbus_Slave_com_port.xError then
Modbus_Slave_com_port.xReset:=true;
else
Modbus_Slave_com_port.xReset:=false;
end_if