Hola a todos, soy Marta y soy nueva tanto en el foro como en programación de arduino.
Actualmente me encuentro realizando un proyecto en el que comunico un PLC Arduino M-Duino 21+ con un autómata via Modbus TCP . Lo que quiero es leer unos valores del PLC via Modbus y almacenarlos en el Arduino.
He utilizado la librería que proporciona oficialmente arduino y he establecido una comunicación Modbus TCP teniendo como cliente el PLC M-Duino 21+.
La petición de lectura la realizo con la función "modbusTCPClient.holdingRegisterRead( )", cuando la lectura es correcta ( la función anterior me devuelve un true) recupero los valores leídos utilizando las funciones :
"modbusTCPClient.requestFrom(2, dirc, reglect)";
"modbusTCPClient.read()"
He coneseguido leer los datos correctamente a excepción de cuando el primer valor a leer es un 0. En este caso la función "modbusTCPClient.holdingRegisterRead( )" me devuleve un false constantemente y no consigo realizar la lectura.
La verdad no sé porque ocurre esto, y agradecería si alguien pudiera echarme una mano.
Muchas gracias por vuestra atención y ayuda!