🔵✅ CODESYS 3.5 & RASPBERRY PI - SERIAL COMMUNICATION RS232 // USB-SERIAL

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

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

  • @zamanathamendez3466
    @zamanathamendez3466 3 года назад

    ¡Felicidades por los 2,000 subscriptores! 🎉🎉🎉🥰🥰🥰⭐️⭐️⭐️

  • @zamanathamendez3466
    @zamanathamendez3466 3 года назад

    Excelente video ❤️❤️

  • @MichaelWouters-n7w
    @MichaelWouters-n7w 4 месяца назад

    Hi! What exactly are you using that Mem.MemFill function for? I don't really comprehend that part, is it just to empty out the data of it's full? Thanks good video!

    • @CarlosAbner
      @CarlosAbner  4 месяца назад +1

      I use it to eliminate the extra characters that stay from the last message read.
      That is why in the input "pMemoryBlock" y colocate the pointer of the sReadData that is the destination of the Function MEM.MemMove and also I Add the size of the last string read.
      So, the point where this function must start to delete characters is Pointer+Size which is the input of MemFill pMemoryBlock. Remember that the pointer is like the Address of the variable sReadData
      In minute 20:35 I show how variable sReadData is only showing the message that receive
      In minute 20:55 I show how variable bReadData just "update" the data that is receiving, and doesn´t delete the extra chars from last message
      Sorry for my english, I hope that you can understand

  • @carlosgallego1076
    @carlosgallego1076 3 года назад

    En el minuto 11:19 el hcom te aparece como 19, a mi me aparece 15.
    Te digo esto porque a mi no me lee cuando pongo algo en hercules. Creo que está todo bien pero no me lee.

    • @CarlosAbner
      @CarlosAbner  3 года назад

      Hola Carlos, pues mira, podrían ser varias causas.
      -Lo primero sería revisar los parámetros de configuración del arreglo "aParameters"
      -Revisar la configuración del Hercules
      -Revisar el COM PORT que te detecta tu computadora y que corresponda al que tienes seleccionado en Hercules
      -Haber realizado la configuración de la Raspberry, la parte de la actualización y modificación del archivo CODESYSControl.cfg
      -Haber revisado la conexión dmesg | grep tty (que te detecte el convertidor usb-serial conectado)
      -¿Esta utilizando 2 convertidores?, de ser así, ¿son de la misma marca?, en caso que no sería verificar el pinout

    • @carlosgallego1076
      @carlosgallego1076 3 года назад

      Hola carlos, Por fin he podido comunicar la raspberry con Hercules a través del puerto serie.
      He tenido varios problemas, primero la raspberry no tenía una comunicación estable, al final tuve que optar por poner una SD limpia, y entonces ya puede obtener esta comunicación, aunque primero tuve que hacer pruebas sin codesys, hasta comprobar que funcionaban los 2 cables serie que son nuevos y del mismo fabricante.
      Luego yo utilizo el codesys SP14 PATCH2 y no me detectaba la raspberry 4, aunque si le ponía la ip directamente iniciaba la comunicación pero se perdía.
      Decidí probarla con una raspberry pi3+ que es la que trabajo habitualmente y con esta el programa la detecta directamente.
      Luego probé la version que tu tienes con la raspberry 4 y ahí si la detecta perfectamente y me establecía la comunicación.
      La comunicación desde Hercules hasta codesys es perfecta escribes y aparece.
      Para la comunicacion desde codesys hacia hercules me funciona, pero tengo que poner en TRUE y en STOP, cada vez que quiero enviar algo.
      Para hacerlo automático, que tendría que hacer ¿dirigirla al blinK como en la lectura? ¿despues que habría que cerrarla?, o puede estar siempre abierto el puerto y leyendo.
      Otra cosa aunque me escribe en manual y lee perfectamente en uiNumberOfBytes no me sale 80, en realidad solo aparecen interrogantes, en los 2 lectura y escritura. Aunque en BReadData y bWriteData si aparece el 80.
      ¿De que puede ser?
      Otra cosa, para no tener que poner en manual cada vez que queremos que lea o escriba en Open_xExecute y Write_eXecute como podemos automatizarlo.
      Gracias.

    • @CarlosAbner
      @CarlosAbner  3 года назад

      @@carlosgallego1076 Que bien que al final hayas podido realizar la práctica, gracias por compartir los pasos fuiste siguiendo para lograrlo.
      La parte que comentas de que haga la escritura de Codesys a Hercules de manera automática pues pueden ser varias maneras, se me ocurre crear una visualización con un recuadro de "texto" y ahí escribir el mensaje que quieras enviar después ese mensaje estarlo comparando con el "anterior" y en caso de que el nuevo sea diferente del anterior pues en ese momento que se active una señal para que el envío sea automático solamente cuando exista un mensaje "nuevo".
      Lo del puerto si puede permanecer abierto, también dependerá de tu aplicación pero en caso de que quieras estar interactuando con otro dispositivo de manera permanente pues lo mejor sería mantener el puerto abierto.
      Lo del 80 tengo mis dudas, alguna vez me pasó y era tema de las versiones de Codesys, cuando trabajaba mas con las versiones 3.5.SP4 &SP7, sinceramente no se por que sucedía pero cuando actualice a 3.5.16 la mayoría de los detalles como ese se eliminaron.
      ¿En qué aplicación utilizaras esta información?

  • @IDRISM-hh9iq
    @IDRISM-hh9iq 2 года назад

    Hi Carlos, Please advise the functionality of Memory Move and Memory Fill on the Received Message block, Please confirm also if Message Write can also use Memory Fill

  • @DjoLakhal
    @DjoLakhal 6 месяцев назад

    how much time in task PLC_PRG run ? Think you

    • @CarlosAbner
      @CarlosAbner  5 месяцев назад

      Hi, Sorry but I don´t understand your doubt

    • @DjoLakhal
      @DjoLakhal 5 месяцев назад

      ​@@CarlosAbner Ok in codesys there is Main_Task where define the type of call PLC_PRG : Cycle (every 100 es) or Freeweeling.. But it'is ok i for this app it has to be freewheeling, it has to be very fast to read and write..

    • @CarlosAbner
      @CarlosAbner  5 месяцев назад

      @@DjoLakhal well, you must know how fast your application need to read write, then check in the manual how faster is the Raspberry to know if it is as faster as you need.
      Because in the software you can configurate a fast task rate but it depends of differents conditions, like your controller, how is structured your program, size of your program, etc.

  • @Victor_Sj
    @Victor_Sj 3 года назад

    Hola, que marca de conversor usb es el que has probado?
    saludos y gracias

    • @CarlosAbner
      @CarlosAbner  3 года назад

      Hola Victor, es marca Manhattan, ya viene con sus drivers

  • @carlosgallego1076
    @carlosgallego1076 3 года назад

    Muy interesante esta nueva serie de videos.
    ¿Se podrían comunicar entonces arduinos, ESP32, ESP8266?

    • @CarlosAbner
      @CarlosAbner  3 года назад

      Hola tocayo, mira de los dispositivos que mencionas solo conozco el arduino haha, y si es posible comunicarlo, es uno de los vídeos que tengo en mente, no tengo mucha experiencia con Arduino pero creo lo suficiente para establecer la comunicación.
      Pero en sí la idea es esa, pensar que si tengo otro dispositivo que utilice comunicación serial con este método debería de funcionar (Y)
      Gracias por comentar :D

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

    hola das asesorias?

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

      Hola Luis, si doy asesorías, siempre y cuando el tema esté dentro de mi alcance 👍🏼

  • @РоманЗолотарь-щ5у
    @РоманЗолотарь-щ5у 7 месяцев назад

    спс от души бро)))))

  • @zamanathamendez3466
    @zamanathamendez3466 3 года назад

    Excelente video ❤️❤️