ola senhor JOAOLUIS
eu acabei de me depara com este erro e fiquei quase o dia todo pois estou desenvolvendo um acionador de solenoides no scada br
meu prblema foi resolvido quando eu alterei a programação do Arduíno em
//Modbus Registers Offsets (0-9999)
const int LAMP1_COIL = 0; => aqui quando puxei o script reparei que estava com o valor de 100 ao inves de 0 porem o mesmo deve ser iniciado em 0 pois é um registrador binário, e qualquer valor que fuja de 0 | 1. Pode ocasionar este erro, pois esta fora do range de utilização de uma variável booleana como e o caso deste data point
espero ter ajudado