Anuncio TOP B1 Mensaje

Colapsar

Anuncio TOP B4 Mensaje (Mobile)

Colapsar

Anuncio

Colapsar
No hay anuncio todavía.

Comunicación Modbus entre 1200 y Logo8

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Comunicación Modbus entre 1200 y Logo8

    Hola a todos, soy nuevo en este foro y necesito vuestra ayuda. Tengo un 1200 que quiero comunicar con un Logo8 version FS4 mediante protocolo Modbus. El 1200 es el cliente y el Logo el servidor. El caso es que no consigo hacer que comunique en ambos sentidos, o me escribe en el logo, o me lee del logo, pero no soy capaz de hacer ambas funciones a la vez. Un saludo a todos y gracias de antemano.

  • #2
    Por qué no pruebas comunicar vía Profinet?
    http://www.tecnoplc.com/comunicacion-logo-s7-1200/
    http://www.infoplc.net/files/descarg...om_S7-1200.pdf

    Comentario


    • #3
      Hola JLpupoC, sé que en profinet se puede hacer sin problemas, de hecho ya hice esa
      comunicacion, es que estoy empezando con la comunicación modbus y tengo el problema que comenté!!

      Comentario


      • #4
        Nadie que haya realizado esta comunicación y pueda echarme una mano!!

        Comentario


        • #5
          Originalmente publicado por Calero Ver Mensaje
          Hola a todos, soy nuevo en este foro y necesito vuestra ayuda. Tengo un 1200 que quiero comunicar con un Logo8 version FS4 mediante protocolo Modbus. El 1200 es el cliente y el Logo el servidor. El caso es que no consigo hacer que comunique en ambos sentidos, o me escribe en el logo, o me lee del logo, pero no soy capaz de hacer ambas funciones a la vez. Un saludo a todos y gracias de antemano.
          Buenas Calero,
          Que tipo de comunicación Modbus estas realizando, TCP, RTU..?
          Fíjate en los bloques de función que utilizas en el lado del 1200, tienes una salida STATUS donde te devuelve el estado de la comunicación entre servidor y cliente.
          Si quieres, sube el programa y le echamos un vistazo.
          Un saludo!
          http://www.ekop.es

          Comentario


          • #6
            Hola Sevekeno!!! Se trata de una conexión Modbus TCP , En el status de las dos instrucciones que tengo, una de lectura y otra de escritura, el valor es 0.
            lectura_logo.JPGescritura_logo.JPG

            Comentario


            • #7
              Si que me he dado cuenta mientras probaba la comunicación es que, el bit de BUSY de la instrucción "escritura_LOGO", no cambia de estado con el tiempo, y yo pienso que, si ese bit se mantiene activo, es que la comunicación está ocupada para leer del logo por lo que no podré escribir. Es acertado ese pensamiento?

              Comentario


              • #8
                Originalmente publicado por Calero Ver Mensaje
                Si que me he dado cuenta mientras probaba la comunicación es que, el bit de BUSY de la instrucción "escritura_LOGO", no cambia de estado con el tiempo, y yo pienso que, si ese bit se mantiene activo, es que la comunicación está ocupada para leer del logo por lo que no podré escribir. Es acertado ese pensamiento?
                No he usado el modbus tcp con el 1200 pero veo que usas el bit de reloj para el enable de la funcion y un negado del mismo para llamar al otro fb.
                No seria mejor activar el fb lectura con un bit y esperar la respuesta del mismo para despues llamar al otro fb de escritura ?

                O llamar a ambos y gestionar el bit req, que supongo es el que ejecuta el fb.
                Editado por última vez por lluisot; https://www.infoplc.net/foro/member/8-lluisot en 07/07/20, 11:34:42.

                Comentario


                • #9
                  Originalmente publicado por Calero Ver Mensaje
                  Si que me he dado cuenta mientras probaba la comunicación es que, el bit de BUSY de la instrucción "escritura_LOGO", no cambia de estado con el tiempo, y yo pienso que, si ese bit se mantiene activo, es que la comunicación está ocupada para leer del logo por lo que no podré escribir. Es acertado ese pensamiento?
                  Buenas Calero,

                  El bit "Busy" esta activo porque no le llega la petición de escritura al logo.
                  2 cosas:
                  1- Como te ha comentado el compañero Lluisot y como se debería de hacer para que no te de problemas como te esta ocurriendo, seria enviar las peticiones de lectura y escritura de manera secuencial, es decir, hasta que no se ejecute correctamente el fb de lectura no envíes la petición de escritura. Para ello, utiliza el bit "DONE" del fb "lectura_LOGO" (en vez del bit del reloj) y ponlo en la entrada "REQ" del fb "escritura_LOGO. La entrada "EN" de los fb´s yo siempre lo tengo activado y juego con la entrada REQ.
                  2- Utiliza el bit de salida "ERROR" de los fb´s para hacer un move de la palabra "STATUS" a una word (MW200 y MW202 por ejemplo), ya que debería de dar algún código de estado si el programa no te esta funcionando correctamente. Pulsando F1 encima del FB te sale la ayuda. Dentro de la ayuda si pulsas STATUS, te salen todos los códigos.
                  Espero haberme explicado.
                  Un saludo!
                  Editado por última vez por sevekeno; https://www.infoplc.net/foro/member/20384-sevekeno en 07/07/20, 18:43:58.
                  http://www.ekop.es

                  Comentario


                  • #10
                    Hola LLuisot y gracias por contestar!!! Creo entender lo que me está diciendo, me puedes corregir si es necesario. Puedo activar el REQ del FB lectura_LOGO con el primer ciclo de scan o con el bit DONE del FB escritura_LOGO, y el FB escritura_LOGO hacerle el REQ con el bit DONE del FB lectura. Es eso a lo que usted se refiere? Muchas gracias de nuevo

                    Comentario


                    • #11
                      Hola Seveneko, con respecto al move que me comenta con la palabra del status de las funciones, está implementado, solo que no sale en la foto debido a que está recortado. A que se refiere usted con que no le llega la petición de escritura al LOGO?

                      Comentario


                      • #12
                        Originalmente publicado por Calero Ver Mensaje
                        Hola LLuisot y gracias por contestar!!! Creo entender lo que me está diciendo, me puedes corregir si es necesario. Puedo activar el REQ del FB lectura_LOGO con el primer ciclo de scan o con el bit DONE del FB escritura_LOGO, y el FB escritura_LOGO hacerle el REQ con el bit DONE del FB lectura. Es eso a lo que usted se refiere? Muchas gracias de nuevo
                        Lo.que yo digo es que siempre llames los fbs y que actives el request segun te convenga.
                        Primero lanzas el request lectura y cuando haya finalizado la lectura y no tengas error lanzas el request escritura, y cuando la escritura acabe sin error lanzas otra vez la lectura. Imagino que el request debe ser por flanco.

                        Activando y desactivando el En del Fb con un bit de reloj puedes dejar de llamar el fb a media ejecucion.

                        Comentario


                        • #13
                          OK LLuisot, lo probaré así y ya comento el resultado

                          Comentario


                          • #14
                            Originalmente publicado por Calero Ver Mensaje
                            Hola Seveneko, con respecto al move que me comenta con la palabra del status de las funciones, está implementado, solo que no sale en la foto debido a que está recortado. A que se refiere usted con que no le llega la petición de escritura al LOGO?
                            Si tienes el bit "BUSY" de la instrucción "escritura_LOGO" siempre activado como entendí en tu anterior post, significa que la orden de escritura todavía no se ha ejecutado correctamente porque el logo no responde a dicha orden (lo raro es que la palabra STATUS de dicha instrucción te devuelva un #0000).
                            Lo mas importante cuando se trabaja con modbus, es lanzar de manera secuencial las peticiones de lectura y escritura. Y sobretodo comprobar que la comunicación entre servidor y cliente es correcta a través de la palabra STATUS de cada instrucción.
                            Un saludo!
                            http://www.ekop.es

                            Comentario

                            Anuncio Footer B3 Mensaje

                            Colapsar

                            Anuncio Footer B5 Mensaje (Mobile) 300x600

                            Colapsar
                            Trabajando...
                            X