Hola Amigo, disculpa, cómo solucionaste el TImeOut Error? Puedo comunicarme con tigo para preguntarte unas dudas? también intento conectar una ESP32 con una HMI
Una Bendición este video, quiero modernizar un equipo donde existen accionamientos, lecturas de sensores de temperatura y lectura de corriente Dc por medio de un Shunt, esto lo quiero controlar y leer por medio de un HMI, y este video me ha dado las pautas necesarias para iniciar. Gran Maestro mi amigo.
No tengo palabras, mas que excelente enseñanza, con claridad y profundidad de conceptos. Seria espectacular tener un ejemplo de Modbus serial Maestro en ESP32 leyendo un esclavo Modbus y subiendolo a Blynk! Felicitaciones!
Voy solo por medio vídeo, pero la verdad es que me ha parecido muy interesante la manera de explicar, creo queme funcione o no me funcione, porque a veces los vídeos se van quedando obsoletos, creo que es de gran ayuda para trabajar en general con Modbus
Buenos días, muchas gracias. En este video trate de usar una librería actual libre para Arduino. Yo creo que si sigue los pasos le va a funcionar bien para lo que necesita. Tal vez puedan cambiar las versiones de Arduino (IDE). Cualquier duda me indica. Un saludo desde Colombia Cordialmente, Jonathan
@@taloselectronico Me puedes decir que libreria de Maestro seria la mas idonea para leer registros de varios sensores programados con esta libreria ? ,, Gracias ,,
@@jmch1369 hay una librería que use para ESP32, pero también sirve para arduino: github.com/emelianov/modbus-esp8266 Revisa la parte que dice: "Modbus RTU server". Este es un video que hice con ESP32 y aquí uso la librería y la incluyo en Arduino: ruclips.net/video/wM5ytYJkVfw/видео.html
Muy buen video lo felicito. Tengo un maestro que usa la función 3, es un registrador de temperatura, veré si puedo adaptar su ejemplo a una variable analógica. Abrazo desde Argentina
Hola, buenos días muchas gracias. Desafortunadamente no los tengo, pero en la descripción del video esta el enlace de donde están la libraría que usé. Ahí está el código base, sería editarlo con lo que modifique en el video.
Creo que lo primero es ver el manual del vatimetro. En segundo lugar si lo conecta a su PC hay usar un conversor, por ejemplo, de RS-485 a UART y podría ver la información por con el software modbus poll. La idea es ver la trama que arrroja el vatimetro ante las peticiones modbus, pero los códigos de petición junto con los registros deben estar disponibles en el manual de usuario.
Hola gracias por su valioso video, es posible que todo lo explicado funcione para controlar un monedero CashFlow de una maquina vending, estoy caminando a ciegas y quiero aprender sobre el sistema de pago en maquinas vending y quiero hacer mi propia maquina con sus sistema de pago, agradecería cualquier ayuda por favor. trabajo con arduino uno.
Hola Edilson, supongo que si su monedero soporta Modbus es posible. Tocaría enviar los comandos de modbus que detecta este sistema primero. Saludos desde Colombia
Buenos días Diego, existe la funcion 15 (0x0F) de modbus para escribir multiples coils. También la librería de Arduino tiene soporte para esta función según se indica en el repositorio. En este caso se indica el número de coils y la dirección de inicio del primer coil para que comience a escribir desde allí.
Bueno y como loe haces si lo que tu tienes es otro dispositivo modbus slave y lo que quieres es leer un holding register? tienes que confirar el arduino como master? o se puede asi como esta?
Ingeniero: Tiene un email donde pueda escribirle, deseo una asesoria (Paga) personalizada, sobre MODBUS / RS485 y temas relacionados.... si es posible , un Saludo desde New York
Tengo una duda, si yo quisiera escribir de forma independiente no uno, sino varios registros para diferentes pines de salida del Arduino (no solo el 13), cómo podría hacer?
Hola Adrián, perdón por no responder, no tenia la notificación. Puede agregar varios coils en diferentes registros o usar la función de modbus 0x17 que permite escribir varios registros al tiempo. Revise este enlace en la página web de la librería para ESP32: github.com/emelianov/modbus-esp8266/tree/master/examples/TCP-ESP. Allí revise la función WriteHreg cuyo prototipo indica que usted puede indicar el número de registros a escribir. Saludos desde Colombia
Buenos días Tiago, muchas gracias. Tal vez lo descibí mal, cuando me refiero a un nodo hablo de un dispositivo de tipo esclavo o RTU en la comunicación ModBus.
Excelente explicación!! Una consulta, si quisiera hacer que el Arduino sea el maestro y que el esclavo sea un sensor de oxígeno de In situ (Tengo los registros para acceder a la información), podría hacerlo con el código del "Switch"?
Buenos días Kerly, esta librería solo soporta esclavo, pero puedes usar esta otra: github.com/emelianov/modbus-esp8266/blob/master/examples/RTU/master/master.ino Se incluye la librería igual que en el caso del video de Arduino, esta hecha para ESP32 pero es compatible con Arduino. En este video puedes mirar como la incluyo: ruclips.net/video/wM5ytYJkVfw/видео.html&t
Excelente video amigo t felicito... pero cual es la diferencia de encender y apagar el led de la forma cotidiana por el arduino. A traves de su cable usb.(que protocolo usa el propio cable) en el que escribimos y leemos datos... saludos y muchas gracias por el video.
Hola Kike, gracias. Aquí el encender o apagar se hace mediante las funciones modbus y la dirección del registro a la cuál estan "ancladas" las entradas o salidas que configuramos. Lo que pasa es que se usan las mismas instrucciones "digitalRead" o "digitalWrite" pero en unión con la libreria MODBUS. Fijaté en como se escribe o lee mediante las funciones de la librería que uso. El cable es normal no hay nada especial. Ahora algunos fabricantes como Siemens disponen de cables apantallados y demás para hacer la comunicación, pero todo se puede hacer con un cabe simple que uno mismo arme.
Buenos días Mr GameplaySans. Mejor use esta librería para trabajar con el módulo RS-485 github.com/emelianov/modbus-esp8266. En este video la uso para trabajar con ESP32 y variador de velocidad, pero la podría adaptar a Arduino con el módulo RS485, es compatible. ruclips.net/video/pH_R49SnFxg/видео.html
Buenos días Adrian. El checksum es un error en el CRC, creo que puede ser porque se esta apuntando a una dirección del registro diferente o el código de función modbus es incorrecto. Hay que verificar en ModbusPoll la dirección del registro (por defecto la 100 en el ejemplo) o el código de función que sería el 04 "read input registers".
Felicitaciones por tan excelente video. Muy profesional y de muy buen nivel. Tengo una duda espero me pueda ayudar. Estoy intentando leer un nodo modbus por medio de modbus interpoll. Me aparecen las siguientes alarmas "Read error: Framing error" / Write error: Break Condition. Lo mismo intente con modscan32 y me arrojo "received invalid response to modbus query" que falla o error podra ser y como lo podre corregir?. Saludos
Buenas tardes @marcetigreshark muchas gracias. ¿Cómo está enviando las tramas? y que tiempo de polling (respuesta) tiene el nodo? Lo digo porque hay dispositivos que son muy susceptibles al tiempo entre peticiones Modbus. Lo otro que me parece raro es el framing error, puede ser un baudrate incorrecto o un problema entre las tierras (GND) en el transmisor RS-485
Hola, cuál es la diferencia entre las funciones 3 y 4??, he visto HMI que tienen uno u otra función, pero no he visto dispositivos que tengan las 2 funciones... a mi parecer con cualquiera de estas 2 funciones se puede hacer el mismo trabajo..... en todo caso cuál es la diferencia fundamental entre estas 2 funciones, gracias.
Buenas tardes Edward. La función 3 es lectura de holding registers y la 4 input registers. Un holding register es un registro en la memoria del dispositivo remoto que almacena algún tipo de información. Por ejemplo, si tenemos un controlador de temperatura, en algún holding register se puede almacenar el valor de temperatura. Ahora con un registro de entrada (input register) se puede leer el valor de las entradas ("físicas") que tiene el dispositivo. Por ejemplo, si tenemos un PLC podemos leer el valor de varias entradas I0.0, I0.1...etc., al tiempo.
Muy bueno y didáctico el video Talos. Una consulta si yo quisiera usar un ESP8266 como maestro que interrogue a un equipo exterior que trabaja como esclavo, como tengo que proceder. Tienes alguna clase explicativa ?
Hola Buenas tardes. En este caso hay que cambiar de librería en primer lugar a esta (github.com/emelianov/modbus-esp8266). La use en un video para ESP32 desde Arduino que le puede servir: ruclips.net/video/wM5ytYJkVfw/видео.html&t Saludos desde Colombia.
@Talos Electrónico . Buenas noches.Te comento un poco mi idea. Tengo ya interconectado en un PCB un nodemcu-v3-wifi-esp8266 con un módulo ethernet w5500. Al final del comentario estam los enlaces. Actualmente me funciona bien como un servidor web tanto vía TCP/IP Ethernet como WI-FI. Lo siguiente que pretendo es dotar al conjunto de un bus 485 para funcionar como MAESTRO contra un equipos de mercado que usan BUS Modbus. Intenté compilar lo que tú describes perfectamente pero al compilar me da un error de no soportado para este tipo de tarjeta.... Espero tus comentarios. Muchas gracias desde España. Saludos, Javier
@@vistakeyboard3306 en este caso hay dos opciones. La primera es manejar MODBUS TCP/IP que creo es más idóneo para los dispositivos que tiene. En mi canal hay un video sobre este protocolo usando Arduino y el módulo W5500 ( ruclips.net/video/cnFk34G_ERw/видео.html ) . En este caso habría un cliente y un servidor que envia las peticiones. Ahora en el caso de colocar un dispositivo RS-485, este seria mediante modbus RTU y en este caso si habría un maestro y un esclavo. En ambos casos para el ESP8266 puede usar la librería que le mencione para configurar la comunicación MODBUS.
@@taloselectronico Hola de nuevo. Creo que no me explicado bien o no me estoy enterando. Necesito crear una conexion 485 con una tarjeta NodeMCU 1.0 (ESP -12 Module ) que usa el micro ESP8266.A través de sus pines TX (GPIO1 ) y RX (GPIO3) tengo contectado un conversor TTL-485 . Y despues la salida de este conversor ( A+, B- ) me comunico con una maquina en modo local que funciona en modo esclavo con la direccion 0A. Yo ya tengo el protocolo de todad sus posibles ordenes y respuestas. El problema lo tengo que no soy capaz de hacer ningun tipo de lectura por el pin GPIO3 ( RX) . Ese pin lo porbe con otro proyecto que simplemente es un ejemplo de comuicacion serie y funciona correctamente. Por lo que deduzco que de alguna manera no estoy progrmando bien los settings referente al Pin RX del modulo. Paralelamente tengo conectado un modulo ehtrnet W5500 a traves de un bus SPI que si me funciona sin problemas. Pero me gustatia oartir desde 0 y solo tener controlado el puerto de comuniciones en modo local. Espero que te armes de paciencia conmigo y puedas dar alguna explicación o pista
@@vistakeyboard3306 Hola, disculpas por no contestar no tuve computador estos días. Habria que mirar si hay problemas de voltaje con el modulo y la tarjeta NodeMCU 1.0 en el pin que menciona (por ejemplo, si uno funciona a 3.3V y el otro a 5.0v). Se puede hacer un divisor con resistencias en este caso o usar algun tipo de buffer por ejemplo el integrado 74HC245. Es más un problema de configuración o de compatibilidad en la comunicación. Me indica si funciona mejor con esta observación. Saludos desde Colombia.
Excelente video, el único que lo explica a detalle! He estado intentando realizar la comunicación con labview como maestro, pero no lo he logrado, si no dispongo del conversor usb a serial es posible realizar la comunicación Modbus ?
Buenos días Jose, gracias. Existiría una alternativa y es hacerlo mediante modbus TCP/IP, esto se haria por red, de lo contrario necesitaria el conversor para hacerlo por modbus serial. También si su computador tiene puerto serial podría hacerlo con un cable y un conector DB-9, de lo contrario lo mejor es tener el conversor.
Primero que nada excelente tutorial muchas gracias, una pregunta, como comentas en el video cuando mando a escribir un 1 me genera FF 00 en lugar de 00 01 como comentas, como podría modificar esa parte en el modbuspoll?
Buenos días Raul, gracias. Desafortunadamente creo que no se podría esto es más del software. Pero si usa la librería del video esta trama se envia correctamente y el dispositivo esclavo o RTU lo detectaría bn como un 1.
@@taloselectronico Muchas gracias, me estaba confundiendo y pensé que no funcionaba por esa razón pero, era un problema de configuración del puerto, logré conectar un Hmi con un Arduino por rs485 usando Software Serial. En verdad muchas gracias tu video me ayudo mucho, ojalá salga pronto la librería Maestro del mismo desarrollador, muy fino trabajo con esta biblioteca.
Muchas gracias Eduardo. Si existen dos versiones del protocolo modbus, una serial por estandar RS-485 (modo RTU (Remote Terminal Unit)) y otra TCP/IP con una IP establecida entre el servidor y el cliente o entre varios clientes. Digamos que la convención de maestro-esclavo en el modo RTU cambia a servidor-cliente o cliente-cliente en modo TCP/IP. También como menciono en mis videos la trama cambia de un modo a otro, en cuanto al CRC agregado entre otros parámetros. Saludos desde Colombia
Excelente explicación detallada al 100% mas videos así.
Me sirvió para comunicar un HMI de delta con un ESP32 ! :D
Gracias ELiu, si es la idea, en el transcurso de la próxima semana estaré subiendo más videos.
@@taloselectronico Estaria genial si se hace un video con el ESP32 o el ESP8266, saludos!
@@franciscogomez3733 tomaré su consejo para un próximo video, saludos.
Hola Amigo, disculpa, cómo solucionaste el TImeOut Error?
Puedo comunicarme con tigo para preguntarte unas dudas? también intento conectar una ESP32 con una HMI
Una Bendición este video, quiero modernizar un equipo donde existen accionamientos, lecturas de sensores de temperatura y lectura de corriente Dc por medio de un Shunt, esto lo quiero controlar y leer por medio de un HMI, y este video me ha dado las pautas necesarias para iniciar. Gran Maestro mi amigo.
Muchas gracias por el mensaje, si sr. Me alegra mucho que le haya servido.
Saludos cordiales desde Colombia :)
Excelente video, no hay nada como este video. felicitaciones sobresaliente. Gracias por compartir
Muchas gracias.
Excelente video! de verdad que si !
Hola Maria Alejandra. Gracias. Saludos desde Colombia :)
Este video es lo mejor que he encontrado para MODBUS con Arduino. Muy buen instructor, excelentes recursos didácticos. Felicitaciones y continúa así.
Muchas gracias Miguel
Dios te continué bendiciendo, eres excelente explicando. te doy mil like
Muchas gracias Cristiano RD 👍. Saludos desde Colombia.
No tengo palabras, mas que excelente enseñanza, con claridad y profundidad de conceptos. Seria espectacular tener un ejemplo de Modbus serial Maestro en ESP32 leyendo un esclavo Modbus y subiendolo a Blynk!
Felicitaciones!
Muchas gracias Sergio. Consulta este video que hice sobre ESP32 y Modbus: ruclips.net/video/wM5ytYJkVfw/видео.html
Voy solo por medio vídeo, pero la verdad es que me ha parecido muy interesante la manera de explicar, creo queme funcione o no me funcione, porque a veces los vídeos se van quedando obsoletos, creo que es de gran ayuda para trabajar en general con Modbus
Buenos días, muchas gracias. En este video trate de usar una librería actual libre para Arduino. Yo creo que si sigue los pasos le va a funcionar bien para lo que necesita. Tal vez puedan cambiar las versiones de Arduino (IDE). Cualquier duda me indica.
Un saludo desde Colombia
Cordialmente,
Jonathan
@@taloselectronico igualmente desde Colombia. Lo felicito, siga así
@@disenoelectronicayprograma2224 muchas gracias 👍
Muy bien explicado,,Enhorabuena ,,Mil Gracias ,,,,
Muchas gracias, saludos desde Colombia.
@@taloselectronico Me puedes decir que libreria de Maestro seria la mas idonea para leer registros de varios sensores programados con esta libreria ? ,, Gracias ,,
@@jmch1369 hay una librería que use para ESP32, pero también sirve para arduino: github.com/emelianov/modbus-esp8266
Revisa la parte que dice: "Modbus RTU server".
Este es un video que hice con ESP32 y aquí uso la librería y la incluyo en Arduino:
ruclips.net/video/wM5ytYJkVfw/видео.html
@@taloselectronico Millones de Gracias ,,,
Perfecta explicación.
Muchas gracias Jose, saludos desde Colombia
Excelente video, gracias por todo el esfuerzo realizado.
Muchas gracias Jonatan
Excelente video, gracias
Gracias Omar, saludos desde Colombia :)
Muchas gracias por el video!!! Muy bien explicado.
Gracias Abraham. Me alegra que le haya servido.
quedo muy bien gracias
Genio, muy bien explicado
Muchas gracias Luis
Excelente video, quisiera ver como controlar un variador de velocidad mediante ModBus RTU
Muchas gracias @tiberiogarcia8932. Revise en mi canal, tengo un video que hice para un variador Optidrive con modbus RTU.
@@taloselectronico puedes pasarme el link, por favor, que no lo encuentro
EXCELENTE, PARA CUANDO UN VIDEO DEL PROTOCOLO MODBUS TCP
Buenos días David. Si esta dentro de mis planes realizar uno pronto y subirlo al canal sobre esta temática. Gracias por suscribirse al canal.
gracias por compartir, alto videoo
novatooooooooooooooo
@@facundoortiz4320 jsjsjsj
Muy buen video lo felicito. Tengo un maestro que usa la función 3, es un registrador de temperatura, veré si puedo adaptar su ejemplo a una variable analógica. Abrazo desde Argentina
Buenas noches Mariano, muchas gracias. Si, creo que puede adaptar lo visto en el video a los requerimientos de su proyecto.
Saludos desde Colombia
Excelente !
Leandro muchas gracias, saludos desde Colombia.
Gran video.
Si fuese posible, podrias subir un lino de descarga de los programas que hiciste, por favor?
Me seria de muchisima utilidad.
Hola, buenos días muchas gracias. Desafortunadamente no los tengo, pero en la descripción del video esta el enlace de donde están la libraría que usé. Ahí está el código base, sería editarlo con lo que modifique en el video.
@@taloselectronico gracias igualmente
buenos dias, tengo un vatimetro con sr485, y necesito guardar los datos del vatimetro para estudiarlos. Como se puede hacer?
Creo que lo primero es ver el manual del vatimetro. En segundo lugar si lo conecta a su PC hay usar un conversor, por ejemplo, de RS-485 a UART y podría ver la información por con el software modbus poll. La idea es ver la trama que arrroja el vatimetro ante las peticiones modbus, pero los códigos de petición junto con los registros deben estar disponibles en el manual de usuario.
Hola gracias por su valioso video, es posible que todo lo explicado funcione para controlar un monedero CashFlow de una maquina vending, estoy caminando a ciegas y quiero aprender sobre el sistema de pago en maquinas vending y quiero hacer mi propia maquina con sus sistema de pago, agradecería cualquier ayuda por favor. trabajo con arduino uno.
Hola Edilson, supongo que si su monedero soporta Modbus es posible. Tocaría enviar los comandos de modbus que detecta este sistema primero.
Saludos desde Colombia
Buenas estimado. Muy buen video. Una consulta, esta librería también ayudaría para enviar data mediante protocolo modbus rs485 desde un PLC?
Buenas noches Pedro. Si la librería soporta Modbus RTU entonces creería que si serviría
En caso de que quiera controlar más de un led, debo de usar el registro de tipo Holding Register o puedo seguir usando Coil?
Buenos días Diego, existe la funcion 15 (0x0F) de modbus para escribir multiples coils. También la librería de Arduino tiene soporte para esta función según se indica en el repositorio. En este caso se indica el número de coils y la dirección de inicio del primer coil para que comience a escribir desde allí.
Bueno y como loe haces si lo que tu tienes es otro dispositivo modbus slave y lo que quieres es leer un holding register? tienes que confirar el arduino como master? o se puede asi como esta?
Buenas tardes, si un Arduino es Maestro. En la librería que usé debe haber un ejemplo para maestro.
Ingeniero: Tiene un email donde pueda escribirle, deseo una asesoria (Paga) personalizada, sobre MODBUS / RS485 y temas relacionados.... si es posible , un Saludo desde New York
Tengo una duda, si yo quisiera escribir de forma independiente no uno, sino varios registros para diferentes pines de salida del Arduino (no solo el 13), cómo podría hacer?
Hola Adrián, perdón por no responder, no tenia la notificación. Puede agregar varios coils en diferentes registros o usar la función de modbus 0x17 que permite escribir varios registros al tiempo. Revise este enlace en la página web de la librería para ESP32: github.com/emelianov/modbus-esp8266/tree/master/examples/TCP-ESP. Allí revise la función WriteHreg cuyo prototipo indica que usted puede indicar el número de registros a escribir.
Saludos desde Colombia
Me puedes ayudar a leer un sensor de temperatura y humedad industrial?
Buen día solicito asesoría podría comunicarme con usted?
Buenas, 10 puntos el video. Qué significa el nodo de un dispositivo ?
Buenos días Tiago, muchas gracias. Tal vez lo descibí mal, cuando me refiero a un nodo hablo de un dispositivo de tipo esclavo o RTU en la comunicación ModBus.
Es posible realizar esto de manera simulada en proteus
Buneos días, no lo he simulado en Proteus, pero creería que es posible.
Suscrito. Buen video.
Muchas gracias Jonatan
Excelente explicación!! Una consulta, si quisiera hacer que el Arduino sea el maestro y que el esclavo sea un sensor de oxígeno de In situ (Tengo los registros para acceder a la información), podría hacerlo con el código del "Switch"?
Buenos días Kerly, esta librería solo soporta esclavo, pero puedes usar esta otra: github.com/emelianov/modbus-esp8266/blob/master/examples/RTU/master/master.ino
Se incluye la librería igual que en el caso del video de Arduino, esta hecha para ESP32 pero es compatible con Arduino. En este video puedes mirar como la incluyo: ruclips.net/video/wM5ytYJkVfw/видео.html&t
Excelente video amigo t felicito... pero cual es la diferencia de encender y apagar el led de la forma cotidiana por el arduino. A traves de su cable usb.(que protocolo usa el propio cable) en el que escribimos y leemos datos... saludos y muchas gracias por el video.
Hola Kike, gracias. Aquí el encender o apagar se hace mediante las funciones modbus y la dirección del registro a la cuál estan "ancladas" las entradas o salidas que configuramos. Lo que pasa es que se usan las mismas instrucciones "digitalRead" o "digitalWrite" pero en unión con la libreria MODBUS. Fijaté en como se escribe o lee mediante las funciones de la librería que uso.
El cable es normal no hay nada especial. Ahora algunos fabricantes como Siemens disponen de cables apantallados y demás para hacer la comunicación, pero todo se puede hacer con un cabe simple que uno mismo arme.
amigo, ¿como lo configuro para trabajar con el modulo rs485?
Buenos días Mr GameplaySans. Mejor use esta librería para trabajar con el módulo RS-485 github.com/emelianov/modbus-esp8266. En este video la uso para trabajar con ESP32 y variador de velocidad, pero la podría adaptar a Arduino con el módulo RS485, es compatible.
ruclips.net/video/pH_R49SnFxg/видео.html
Hola me funcionó el ejemplo de lamp, pero en el de switch me aparece el mensaje de Checksum error en el programa de Modbus Poll, me podrías ayudar?
Buenos días Adrian. El checksum es un error en el CRC, creo que puede ser porque se esta apuntando a una dirección del registro diferente o el código de función modbus es incorrecto. Hay que verificar en ModbusPoll la dirección del registro (por defecto la 100 en el ejemplo) o el código de función que sería el 04 "read input registers".
Felicitaciones por tan excelente video. Muy profesional y de muy buen nivel. Tengo una duda espero me pueda ayudar. Estoy intentando leer un nodo modbus por medio de modbus interpoll. Me aparecen las siguientes alarmas "Read error: Framing error" / Write error: Break Condition. Lo mismo intente con modscan32 y me arrojo "received invalid response to modbus query" que falla o error podra ser y como lo podre corregir?. Saludos
Buenas tardes @marcetigreshark muchas gracias. ¿Cómo está enviando las tramas? y que tiempo de polling (respuesta) tiene el nodo? Lo digo porque hay dispositivos que son muy susceptibles al tiempo entre peticiones Modbus. Lo otro que me parece raro es el framing error, puede ser un baudrate incorrecto o un problema entre las tierras (GND) en el transmisor RS-485
Hola, cuál es la diferencia entre las funciones 3 y 4??, he visto HMI que tienen uno u otra función, pero no he visto dispositivos que tengan las 2 funciones... a mi parecer con cualquiera de estas 2 funciones se puede hacer el mismo trabajo..... en todo caso cuál es la diferencia fundamental entre estas 2 funciones, gracias.
Buenas tardes Edward. La función 3 es lectura de holding registers y la 4 input registers. Un holding register es un registro en la memoria del dispositivo remoto que almacena algún tipo de información. Por ejemplo, si tenemos un controlador de temperatura, en algún holding register se puede almacenar el valor de temperatura. Ahora con un registro de entrada (input register) se puede leer el valor de las entradas ("físicas") que tiene el dispositivo. Por ejemplo, si tenemos un PLC podemos leer el valor de varias entradas I0.0, I0.1...etc., al tiempo.
Muy bueno y didáctico el video Talos. Una consulta si yo quisiera usar un ESP8266 como maestro que interrogue a un equipo exterior que trabaja como esclavo, como tengo que proceder. Tienes alguna clase explicativa ?
Hola Buenas tardes. En este caso hay que cambiar de librería en primer lugar a esta (github.com/emelianov/modbus-esp8266). La use en un video para ESP32 desde Arduino que le puede servir: ruclips.net/video/wM5ytYJkVfw/видео.html&t
Saludos desde Colombia.
@Talos Electrónico .
Buenas noches.Te comento un poco mi idea. Tengo ya interconectado en un PCB un nodemcu-v3-wifi-esp8266 con un módulo ethernet w5500.
Al final del comentario estam los enlaces. Actualmente me funciona bien como un servidor web tanto vía TCP/IP Ethernet como WI-FI. Lo siguiente que pretendo es dotar al conjunto de un bus 485 para funcionar como MAESTRO contra un equipos de mercado que usan BUS Modbus.
Intenté compilar lo que tú describes perfectamente pero al compilar me da un error de no soportado para este tipo de tarjeta....
Espero tus comentarios.
Muchas gracias desde España.
Saludos, Javier
@@vistakeyboard3306 en este caso hay dos opciones. La primera es manejar MODBUS TCP/IP que creo es más idóneo para los dispositivos que tiene. En mi canal hay un video sobre este protocolo usando Arduino y el módulo W5500 ( ruclips.net/video/cnFk34G_ERw/видео.html ) .
En este caso habría un cliente y un servidor que envia las peticiones. Ahora en el caso de colocar un dispositivo RS-485, este seria mediante modbus RTU y en este caso si habría un maestro y un esclavo. En ambos casos para el ESP8266 puede usar la librería que le mencione para configurar la comunicación MODBUS.
@@taloselectronico Hola de nuevo. Creo que no me explicado bien o no me estoy enterando. Necesito crear una conexion 485 con una tarjeta NodeMCU 1.0 (ESP -12 Module ) que usa el micro ESP8266.A través de sus pines TX (GPIO1 ) y RX (GPIO3) tengo contectado un conversor TTL-485 . Y despues la salida de este conversor ( A+, B- ) me comunico con una maquina en modo local que funciona en modo esclavo con la direccion 0A. Yo ya tengo el protocolo de todad sus posibles ordenes y respuestas. El problema lo tengo que no soy capaz de hacer ningun tipo de lectura por el pin GPIO3 ( RX) . Ese pin lo porbe con otro proyecto que simplemente es un ejemplo de comuicacion serie y funciona correctamente. Por lo que deduzco que de alguna manera no estoy progrmando bien los settings referente al Pin RX del modulo. Paralelamente tengo conectado un modulo ehtrnet W5500 a traves de un bus SPI que si me funciona sin problemas. Pero me gustatia oartir desde 0 y solo tener controlado el puerto de comuniciones en modo local. Espero que te armes de paciencia conmigo y puedas dar alguna explicación o pista
@@vistakeyboard3306 Hola, disculpas por no contestar no tuve computador estos días. Habria que mirar si hay problemas de voltaje con el modulo y la tarjeta NodeMCU 1.0 en el pin que menciona (por ejemplo, si uno funciona a 3.3V y el otro a 5.0v). Se puede hacer un divisor con resistencias en este caso o usar algun tipo de buffer por ejemplo el integrado 74HC245. Es más un problema de configuración o de compatibilidad en la comunicación. Me indica si funciona mejor con esta observación.
Saludos desde Colombia.
Excelente video, el único que lo explica a detalle! He estado intentando realizar la comunicación con labview como maestro, pero no lo he logrado, si no dispongo del conversor usb a serial es posible realizar la comunicación Modbus ?
Buenos días Jose, gracias. Existiría una alternativa y es hacerlo mediante modbus TCP/IP, esto se haria por red, de lo contrario necesitaria el conversor para hacerlo por modbus serial. También si su computador tiene puerto serial podría hacerlo con un cable y un conector DB-9, de lo contrario lo mejor es tener el conversor.
puedo hacer funcionar con modbus32cam
??
Hola, nunca lo he probado con esto que mencionas. Igual si es modbus debe seguir los lineamientos del protocolo.
Primero que nada excelente tutorial muchas gracias, una pregunta, como comentas en el video cuando mando a escribir un 1 me genera FF 00 en lugar de 00 01 como comentas, como podría modificar esa parte en el modbuspoll?
Buenos días Raul, gracias. Desafortunadamente creo que no se podría esto es más del software. Pero si usa la librería del video esta trama se envia correctamente y el dispositivo esclavo o RTU lo detectaría bn como un 1.
@@taloselectronico Muchas gracias, me estaba confundiendo y pensé que no funcionaba por esa razón pero, era un problema de configuración del puerto, logré conectar un Hmi con un Arduino por rs485 usando Software Serial. En verdad muchas gracias tu video me ayudo mucho, ojalá salga pronto la librería Maestro del mismo desarrollador, muy fino trabajo con esta biblioteca.
@@MrBlender12 gracias usted Raúl, me alegra que le haya servido.
Buen dia,, como podria contactar con usted? Gracias ,,
Buenos días, me puede escribir a taloselectronico@gmail.com
😀
Va mi like y lo felicito, este protocolo es por 485 ademas de 232 y TCP? saludos!
Muchas gracias Eduardo. Si existen dos versiones del protocolo modbus, una serial por estandar RS-485 (modo RTU (Remote Terminal Unit)) y otra TCP/IP con una IP establecida entre el servidor y el cliente o entre varios clientes. Digamos que la convención de maestro-esclavo en el modo RTU cambia a servidor-cliente o cliente-cliente en modo TCP/IP. También como menciono en mis videos la trama cambia de un modo a otro, en cuanto al CRC agregado entre otros parámetros.
Saludos desde Colombia
como puedo contactarte?
Hola buenas tardes, puedes escribirme a taloselectronico@gmail.com
Alguien pudo conectar plc logo con Arduino uno?