Acho que a rotina da SwedaSTX estava correta... precisamos desprezar os blocos que não são do Tipo '+' ou '-', pois eles não trazem a resposta final do comando solicitado
Quando ativamos o ECF a primeira coisa que ele solicita é a informação do registrador 'I1', para verificar o modelo do ECF... se o ECF não devolve as informações para esse comando, não é possível continuar...
Modifiquei a Unit para que o LOG fique mais claro, informando qual comando ele está tentando ler na ativação...
Pode ser que o ECF esteja em um estado que não apto para enviar as informações... Quando isso ocorrer, experimente desligar e ligar o ECF... Tente tb acesso ao mesmo com a DLL do fabricante, quando o problema ocorrer...