Aprendiendo a transformar un variador de velocidad MODBUS RTU (Serial) en MODBUS TCP/IP

Поделиться
HTML-код
  • Опубликовано: 9 янв 2025

Комментарии •

  • @8jesusangel
    @8jesusangel 2 года назад

    Hola Talos Electrónico, muchas gracias por tus videos, me están sirviendo mucho, aunque ahora estoy algo atascado con mi proyecto. Tengo un variador parecido al que usted utiliza, concretamente el Optidrive Compact2E3. Y estoy tratando de hacer una aplicación igual que la que ha hecho para TCP pero para Modbus RTU.
    Mi variador se conecta a mi PC mediante un Conversor USB RS-485, es decir que a mi la parte del ESP32 para convertir de TCP A RTU no me haría falta.
    Y me he comenzado a atascar un poco así. Podría ayudarme de alguna manera, si fuese tan amable?. Bien con algún otro video o bien pudiendo contactar por privado?.
    Muchisimas gracias por sus aportes.

    • @taloselectronico
      @taloselectronico  2 года назад +1

      Buenos días Jesus, muchas gracias. No tengo un variador como el que me describe, pero puede escribirme a taloselectronico@gmail.com
      Creo que lo importante es configurar el variador con modbus y leer datos por ejemplo usando el software MODBUS Poll. También hay que buscar el pdf donde están las direcciones de registo para el variador.
      Saludos desde Colombia

    • @8jesusangel
      @8jesusangel 2 года назад

      @@taloselectronico Muchisimas gracias por su ayuda. Le escribiré un E-Mail con lo que tengo incluida la guía con las direcciones de registro. Miles de gracias.

    • @taloselectronico
      @taloselectronico  2 года назад

      @@8jesusangel OK

  • @javierdorado3519
    @javierdorado3519 4 месяца назад

    mi vaiador es (9600 series) y la direccion comienza en 7000H en hexadecimal, como puedo obtener alguna lectura? por ejemplo de 7002 bus dc

    • @taloselectronico
      @taloselectronico  3 месяца назад

      Debe cambiar la dirección a este valor en hexadecimal desde el programa en Arduino. En el video inicia en la 0, coloque el valor entero equivalente a 0x7000. Saludos.

    • @javierdorado3519
      @javierdorado3519 3 месяца назад

      @@taloselectronico muchas gracias por la respuesta, consegui leer todos los parametros que vienen en el manual de usuario pero me gustaria modificar los parametros del variador a traves de modbus pero el manual no tiene esa informacion, no se si sera posible mi proposito o si existe algun software para ello

  • @nolcan1
    @nolcan1 2 года назад

    buenas noches, cordial saludo, necesito enviar datos por RS232 desde un arduino nano y controlar una impresora, dicha impresora tiene un manual donde indica la forma de enviar los datos con que librería y con que comando puedo enviar esa información, tengo el manual en archivo PDF si usted me puede ayudar con este tema de antemano le agradezco el formato de envio es
    STX SELEN CM PM SE_DATAB ETX BCC
    los valores de cada comando son fijos
    Descriptions: [1]CM: Command Code [2]PM: Parameters [3]SE_DATAB: Send Data Package [4]RE_DATAB: Return Data Package [5]ERR_CD: Error Code [6]BCC: Block Check Character Calculation method: execute XOR in every data from STX (included) to ETX (included) [7]‗P‘, =0x50: Command Execution Success [8]‗N‘, =0x4E: Command Execution Failure [9]SELEN: Sent Data Package Length. 2bits length [10]RELEN: Returned Data Package Length. 2bits length [11]STX: Block Start Bit. Fixed: 0x02 [12]ETX: Block End Bit. Fixed: 0x03
    y este es un ejemplo de como se enviaría un paquete
    Initialize
    0x02 0x00 0x02 0x30 0x30 0x03 BCC
    PM=0x30: Initialize reader and do not move card.
    0x02 0x00 0x11 0x50 0x30 0x30 Version information 0x03 BCC
    Version information:
    0x02 0x00 0x04 0x4E 0x30 0x30 ERR_CD 0x03 BCC
    quedo atento
    saludos

    • @taloselectronico
      @taloselectronico  2 года назад

      Buenas tardes Nolcan29, aquí el método de envio de datos no es como tal modbus sino una trama especial con un BCC (Block Check Character) para chequear errores. El BCC se hace aplicando XOR entre todos los bytes de la trama. Yo comenzaría enviando la trama de ejemplo, pero con variable tipo Byte. Ahí se usaría Serial.write(byte);. Si la impresora responde entonces ya se podría enviar otra trama igual pero hay que hacer el BCC. Está página de cálculo de BCC le podría ayudar: bcc.beyerleinf.de/
      Pruebelo de esta forma y me comenta.