• Skip to primary navigation
  • Skip to main content

ProgramaciónSiemens

Cursos online de automatización industrial con PLC Siemens

  • Cursos
  • Mi cuenta
    • Mi cuenta
    • Blog
    • Foros
    • Curso HMI con Python y Qt-Designer
    • Curso de AWL
    • Curso de iniciación a la Industria 4.0
    • Curso Express de TIA Portal
    • Curso de WinCC Flexible 2008
    • Crear HMI con OPC y VB.NET
    • Crear HMI con Snap7 y VB.NET
    • Curso ViSnap7
    • Curso de TIA Portal para CPU 1200
    • Curso de Step 7 V5.x
    • Curso de comunicaciones IE y Profinet
  • Contacto & Faq

Snap7: cómo crear un HMI en un PC sin OPC

Snap7: cómo crear un HMI en un PC sin OPC

por Iñigo Gútiez · 47 Comments

Hoy te presento Snap7. Un software gratuito y libre con el que realizar tus HMI sin la necesidad de un OPC.

Contenido

  • 1 ¿Qué es Snap7?
    • 1.1 Características generales
    • 1.2 Licencia
  • 2 Comunicación de Snap7 con los PLC Siemens
    • 2.1 Compatibilidad con los PLC Siemens
  • 3 ¿Dónde consigo Snap7?
  • 4 Cómo crear un HMI con Snap7
    • 4.1 Avance del curso
  • 5 ¿Qué te parece?

¿Qué es Snap7?

Traduciendo literalmente de su manual de referencia, dice algo así como:

Snap7 es una suite de comunicaciones Ethernet multiplataforma de código abierto para la interconexión
con los PLC Siemens S7.

La compatibilidad es total en las series 300 y 400 y parcial en la 1200/1500.

También tiene compatibilidad parcial con los Simamics, S7200 y LOGO 0bA7/0BA8

Características generales

Las características más importantes son:

  • Dieño en multiples arquitecturas de 32 y 64bits.
  • Multiplataforma (Windows, Linux, Mac Osx…)
  • No necesita de librerías de terceros ni instalación.
  • Se puede programar en múltiples lenguajes: C/C++, .NET/Mono, Pascal, LabVIEW, Phyton y Node.js

Licencia

Snap7 se distribuye como una biblioteca binaria compartida con código fuente completo bajo GNU
Library or Lesser General Public License version 3.0 (LGPLv3).

Debido a esta licencia también está definido que SNAP7 se distribuye con la esperanza de que sea útil, pero sin ninguna garantía, sin ni siquiera la garantía implícita de comerciabilidad o idoneidad para un propósito en particular.

Comunicación de Snap7 con los PLC Siemens

Snap7 puede funcionar como cliente, servidor o partner con los PLC Siemens.

La parte más útil (a mi juicio) es la de cliente.

Un OPC no deja de ser un cliente, al igual que lo es Snap7Client.

Compatibilidad con los PLC Siemens

La compatibilidad de Snap7 con los PLC Siemens en la serie 300 y 400 es completa. Podemos transferir información de todo tipo como se puede ver en el siguiente cuadro:Snap7

En el caso de los PLC 1200 y 1500, no es una cobertura total, pero cubre perfectamente lo necesario para realizar un HMI

¿Dónde consigo Snap7?

Puedes ir a la página principal del proyecto donde encontrarás el fichero de descarga con el manual de usuario para que puedas ponerte en marcha.

Lo que te vas a encontrar es algo como esto:

Snap7

El manual lo encontrarás en el directorio doc.

En el directorio Examples encontrarás ejemplos de lo que es capaz de hacer.

Cómo crear un HMI con Snap7

Si eres ducho en el uso de VB o cualquier otro programa, metiendo unas cuantas horas, podrás ponerlo en marcha.

Tendrás que programar cada objeto y variable que quieras usar. Todo está explicado en la documentación (en inglés).

En cambio, si no tienes los conocimientos necesarios, puede que se te haga un poco cuesta arriba.

Para ello estoy desarrollando un curso con el que dominar Snap7 y por otro lado, hacerlo mucho más sencillo.

Mucho mucho más sencillo: sea lo más parecido a un arrastrar y soltar de tal forma que solamente tengas que dar la dirección del PLC y listo.

Para ello he construido más de 15 controles (botones, led, cajas de texto, relojes analógicos…) de tal forma que solo tengas que arrastrar y soltar. Luego le das la dirección del DB donde leerás/escribirás y ¡listo!

Avance del curso

El curso va a tener 3 patas:

  • Conocimiento general de uso de Snap 7
  • Uso de los objetos ya creados y configurados que te entregaré
  • Cómo crear nuevos objetos que se integren con los ya existentes para que vayas ampliando la biblioteca.

Te dejo con un pequeño vídeo de presentación de lo que te voy a presentar en el curso:

¿Qué te parece?

¿Te parece útil Snap 7?

Espero que sí.

Puedes bajarte Snap7 y trabajarlo por ti mismo.

Si quieres que te acompañe, y además te lo ponga mucho más fácil con un montón de horas de trabajo ya realizadas creando los objetos ya configurados, en unos días recibirás más información del curso.

 

Iñigo Gútiez
Iñigo Gútiez

Enseño a programar PLC de Siemens a través de mis cursos.
Más información sobre mi aquí

Puedes seguirme en cualquiera de las siguientes redes sociales.

Filed Under: blog

Reader Interactions

    Deja un comentario Cancelar

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

    47 Comentarios

  1. Miguel Ángel says

    5 octubre, 2017 at 19:25

    Es muy interesante a la hora de poder realizarlas pantalls gráficas de los diferentes ejercicios de PLCs

    Responder
    • Iñigo Gútiez says

      5 octubre, 2017 at 20:20

      También para eso, pero sobre todo para HMI

      Responder
  2. Pere says

    5 octubre, 2017 at 20:13

    Pones multiplataforma, tambien android?

    Responder
    • Iñigo Gútiez says

      5 octubre, 2017 at 20:19

      Sí. Usando Moka7 (java). Tienes información en la web de Snap7.

      Responder
  3. Holmes Ripoll says

    5 octubre, 2017 at 22:56

    Chevre Iguiño, imagino que también maneja gráficos de tendencia e históricos a base de datos.

    Responder
    • Iñigo Gútiez says

      5 octubre, 2017 at 23:31

      Puedes hacer lo que quieras. Pero tienes que programarlo.
      Saludos

      Responder
  4. Jose luis says

    5 octubre, 2017 at 23:54

    Me parece muy interesante para el mantenimiento preventivo, poder coger datos del plc y actuar en consecuencia. ¿Vas a utilizar el gateway de siemens iot2000 o 2040?
    Saludos

    Responder
    • Iñigo Gútiez says

      6 octubre, 2017 at 0:52

      No.
      Solo cliente para los plc 1200 al 1500.
      Saludos

      Responder
  5. Edison mancha says

    6 octubre, 2017 at 1:33

    Esta interesante espero que sea pronto

    Responder
  6. JTORRES says

    6 octubre, 2017 at 4:35

    Que buen articulo, gracias por compartir tus conocimientos, queria preguntarte es posible leer datos de las DB de los PLCs con snap7 y guardarlas en un base de datos mysql para utilizarlos en informes web?

    Responder
    • Iñigo Gútiez says

      6 octubre, 2017 at 9:06

      Por supuesto.
      Una vez hayas leído los datos puedes hacer lo que quieras con ellos.
      Saludos

      Responder
    • José Manuel says

      7 octubre, 2017 at 11:13

      Esto si que me parece interesante…..Me lo apunto y me apunto.

      Responder
  7. victor says

    6 octubre, 2017 at 4:36

    Excelente Iñigo te felicito por tu excelentes aportaciones.

    Responder
  8. Oscar Parra says

    6 octubre, 2017 at 7:05

    Excelente opción Íñigo, a parte de programación de PLC sé vbasic, así que voy a hacer unas pruebas. Saludos y gracias!

    Responder
  9. Guillermo Garbaty says

    6 octubre, 2017 at 13:57

    Excelente!! Saludos desde Argentina!

    Responder
  10. Jorge says

    6 octubre, 2017 at 15:24

    Hola buenas tardes iñigo, tenia una duda sobre un problema que me ha surgido de un programa de cruce de semaforos, al hacer la llamada del FB1 en la OB1, y poner las entradas, que son unas M20.0 estas no me activan la salidas, y por muchas vueltas que le estoy dando y buscando informacion en tus videos, no encuentro porq no se me ponen las salidas a 1, espero puedas ayudarme.

    Gracias

    Un saludo

    Responder
    • Iñigo Gútiez says

      7 octubre, 2017 at 12:05

      Hola,
      Lo siento, pero con esa información saber donde puede estar el problema es imposible.
      Tendrás que repasar poco a poco cada línea y ver dónde puede estar el problema.
      Limita el programa a trozos y ve comprobando hasta donde funciona correctamente hasta dar con el fallo.
      Saludos

      Responder
      • Victor Manuel Peña Cervantes says

        2 mayo, 2019 at 16:37

        Cual es la cantidad maxima de controladores que se pueden conectar al mismo tiempo? Gracias y saludos

        Responder
        • Iñigo Gútiez says

          2 mayo, 2019 at 20:38

          Pues la verdad es que no me lo he planteado y en la documentación no lo dice. En principio no hay una limitación en si mismo, ya que actúas como cliente.

          Responder
  11. Oscar Chavez says

    6 octubre, 2017 at 16:52

    Excelente Iñigo …Cuando inicia ese curso…Me interesa mucho
    Yo llegue a usar el PRODAVE con step 5 en algun momento
    pero era muy rigido en la epoca habria que usar pascal y habia
    pocos recursos graficos…Ahora es diferente..vale la pena..

    Responder
  12. Montiel says

    6 octubre, 2017 at 19:34

    Pues sí que parece interesante. Habrá que probarlo

    Responder
  13. Fran says

    7 octubre, 2017 at 11:39

    SNAP7!!! Que sorpresa!!! Llevo utilizando esta libreria desde hace 1 año para monitorizar algunos servicios de la fabrica. Yo utilizo Python, Qt Designer y PyQt para crear los screens. Esta sera una oportunidad para ver como lo haces utilizando VB. La comunicacion con el PLC es relativamente sencilla pero lo que se puede llegar a conseguir es realmente sorpredente. Eso si, el limite estara en los conocimientos de programacion que tengas. Animo a todo el mundo a realizar el curso porque es una forma muy economica de controlar y monitorizar tus sistemas desde el PC. Si a esto le añades una VPN para tener acceso a la red de automatas desde fuera del site, podras saber en todo momento que esta pasando en los sistemas desde cualquier lugar del planeta con acceso a Internet.
    Buen aporte Iñigo. Yo me anotare al curso para ver si puedo aprender algo mas.
    Saludos.

    Responder
    • Iñigo Gútiez says

      7 octubre, 2017 at 12:06

      Exacto, todo se limita a programar todo y de ahí que he realizado unos cuantos objetos para facilitar muchas horas de trabajo a los que no estén muy puestos en la programación en vb
      Saludos!

      Responder
    • Jtorres says

      25 octubre, 2017 at 14:37

      Hola Fran, como me puedo comunicar contigo me interesa lo de python para una aplicación en raspberry pi que estoy trabajando, donde te puedo escribir y preguntarte unas cositas, gracias Fran.

      Responder
  14. Jose says

    7 octubre, 2017 at 16:43

    Como Siempre , excellent aporte. This software can run with s7- PLC sim?
    Thanks

    Responder
    • David says

      26 febrero, 2018 at 19:39

      Hi Jose,
      I tried to run Sharp7 (is a C# extension of Snap7) with the PLCSIM but I couldn’t. I know there is a video (https://www.mesta-automation.com/how-to-write-a-siemens-s7-plc-driver-with-c-and-sharp7/) where the author is using PLCSIM. I tried with no success.
      Regards,
      David.

      Responder
  15. Sergio says

    10 octubre, 2017 at 0:22

    Hola Iñigo,
    Excelente aporte, y muy interesante. Cumple todos los requisitos para no perdérselo.
    Muchas gracias por tu aportación.

    Un cordial saludo
    Sergio

    Responder
  16. JUAN CARLOS BENITEZ LONDOÑO says

    10 octubre, 2017 at 3:52

    buenas noches me gustaria seguir reciendo informacion.

    Responder
  17. Carmelo Alonso says

    11 octubre, 2017 at 10:12

    Muchas gracias. Muy interesante.
    Cuenta conmigo para el curso.

    Responder
  18. angelo pachon says

    13 octubre, 2017 at 0:20

    esta muy buena la información estoy tratando de digerirla.

    Responder
  19. Pedro says

    14 octubre, 2017 at 20:46

    Me parece un estupendo mecanismo alternativo al OPC o librerías Prodave de integración de PLC en el mundo PC. Seguro que se le puede sacar gran provecho, por ejemplo integración con bases de datos de producción, recetas, certificación de producto final, y un largo etcétera..
    Enhorabuena Ínigo por ‘acercarnos’ estas novedades y, en general por el blog.
    Saludos.

    Responder
  20. Rodrigo Cordero says

    6 julio, 2018 at 11:15

    Hola Iñigo. Anteriormente te preguntaba como usar SNAP 7. No habia visto este enlace. Disulpa las molestias

    Responder
  21. Miguel says

    12 octubre, 2018 at 19:08

    Hola. Tengo instalado las librerías de snap7 pero no sé cómo sacar esos objetos predefinidos que comentas. Saludos y gracias por el aporte.

    Responder
    • Iñigo Gútiez says

      12 octubre, 2018 at 19:10

      Los objetos son los que yo realice para el curso de hmi con snap7, no vienen con snap7.
      Saludos

      Responder
  22. mkeGtz says

    28 noviembre, 2018 at 20:15

    Hola buenas tardes, que compatibilidades tiene con el s7-200? se necesite programar algo extra para lograr la comunicacion? Saludos

    Responder
    • Iñigo Gútiez says

      28 noviembre, 2018 at 21:35

      Pues no mucho, en experimental como puedes ver aquí: http://snap7.sourceforge.net/s7_200.html
      Saludos

      Responder
  23. Miguel Angel Velasco Martinez says

    1 diciembre, 2018 at 23:09

    Hola Iñigo. Soy Miguel Ángel Velasco Martínez. Me gustaría poder hablar contigo y encargarte que me prepares un tema con el Logo 8 de Siemens, Tengo muchos instalados en distintas cervecerías y quiero recoger alarmas en un Pc. Tengo presupuesto. Por favor, facilitame un nº de teléfono y te llamo. Gracias.

    Responder
    • Iñigo Gútiez says

      1 diciembre, 2018 at 23:59

      Hola Miguel Ángel,
      Gracias por el ofrecimiento, pero no voy a poder realizar este tipo de encargos porque no dispongo del tiempo para este tipo de trabajos.
      Saludos

      Responder
  24. Sergio Campos Jaime says

    15 febrero, 2019 at 23:23

    Al día de hoy, existe alguna actualización de esto? Es decir, conoces o existen alternativas mas actuales que esta? Pregunto porque principalmente estoy interesado en programar HMI en Windows, y he visto otras librerías como s7.net, y quiero aprender y enfocarme en la solución mas actualizada.
    Un saludo!

    Responder
    • Iñigo Gútiez says

      15 febrero, 2019 at 23:50

      Pues no, y creo que snap7 cumple sobradamente con lo necesario.
      Saludos

      Responder
  25. JUANPAVQ says

    18 febrero, 2019 at 4:12

    Hola, excelente desarrollo, en el video veo que compilas a 32bits, ¿lo has probado a 64bits? ¿porque visual Basic y no C#?
    Saludos

    Responder
    • Iñigo Gútiez says

      20 febrero, 2019 at 6:51

      Me desenvuelvo mejor en vb. Aunque estoy pensando en empezar a desarrollar en c#.
      En 32 bit simplemente por mayor compatibilidad. Siempre habrá por ahí so en 32bit. Pero en principio debería funcionar en 64.
      Saludos

      Responder
  26. Eulalio says

    21 junio, 2019 at 8:02

    Solo he utilizado TIA Portal v13 para un S7-1200 y una HMI touch en una aplicación de envasado de café tostado y molido. Lo hice de manera autodidacta, pero soy demasiado principiante aún.
    Excelente trabajo de los cursos Íñigo.
    Saludos desde Orizaba, Veracruz, México.

    Responder
  27. Kelupa says

    16 abril, 2020 at 19:00

    En Wincc se configura para que las variables se puedan actualizar máximo a 100 ms. Con snap7 has tenido oportunidad de ver la máxima velocidad de actualización.
    He estado viendo la librería con Python y va bastante bien. Gracias de antemano.

    Responder
    • Iñigo Gútiez says

      17 abril, 2020 at 15:10

      No he hecho pruebas a fondo, pero 100ms debería ser posible sin problemas si está bien optimizado el código y la comunicación.
      Dependiendo lógicamente el tamaño de lo que se envíe/reciba.
      Ahora, tampoco creo que sea la herramienta adecuada para ello, ya que a un HMI en general no se le debería exigir esa tasa de lectura.

      Responder
  28. Jose brito says

    20 julio, 2020 at 5:22

    Me puedes enviar costo del curso
    .. se pueden hacer graficos.datalog condulta de historicos con s71200
    Con este soft?

    Responder
    • Iñigo Gútiez says

      26 julio, 2020 at 12:46

      Todos los precios y contenidos de cada curso, están en la pagina principal y pulsando sobre ello, viene su indice de contenidos.

      Responder
  • Aviso Legal y Política de Privacidad
  • Condiciones de Venta
  • Política de cookies
  • Contacto & Faq
  • Blog

Copyright © 2023 · Programación Siemens · Todos los derechos reservados

· ¿Quién soy? · Misión, Visión y valores