• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar al pie de página

Programación Siemens

Cursos online de TIA Portal y PLC Siemens.

  • Cursos
  • Blog
  • Mi cuenta
    • Mi cuenta
    • 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
Home | blog | Snap7: cómo crear un HMI en un PC sin OPC

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 comentarios

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.

Publicado en: blog

Interacciones con los lectores

    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 dice

    5 octubre, 2017 a las 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 dice

      5 octubre, 2017 a las 20:20

      También para eso, pero sobre todo para HMI

      Responder
  2. Pere dice

    5 octubre, 2017 a las 20:13

    Pones multiplataforma, tambien android?

    Responder
    • Iñigo Gútiez dice

      5 octubre, 2017 a las 20:19

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

      Responder
  3. Holmes Ripoll dice

    5 octubre, 2017 a las 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 dice

      5 octubre, 2017 a las 23:31

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

      Responder
  4. Jose luis dice

    5 octubre, 2017 a las 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 dice

      6 octubre, 2017 a las 0:52

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

      Responder
  5. Edison mancha dice

    6 octubre, 2017 a las 1:33

    Esta interesante espero que sea pronto

    Responder
  6. JTORRES dice

    6 octubre, 2017 a las 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 dice

      6 octubre, 2017 a las 9:06

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

      Responder
    • José Manuel dice

      7 octubre, 2017 a las 11:13

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

      Responder
  7. victor dice

    6 octubre, 2017 a las 4:36

    Excelente Iñigo te felicito por tu excelentes aportaciones.

    Responder
  8. Oscar Parra dice

    6 octubre, 2017 a las 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 dice

    6 octubre, 2017 a las 13:57

    Excelente!! Saludos desde Argentina!

    Responder
  10. Jorge dice

    6 octubre, 2017 a las 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 dice

      7 octubre, 2017 a las 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 dice

        2 mayo, 2019 a las 16:37

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

        Responder
        • Iñigo Gútiez dice

          2 mayo, 2019 a las 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 dice

    6 octubre, 2017 a las 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 dice

    6 octubre, 2017 a las 19:34

    Pues sí que parece interesante. Habrá que probarlo

    Responder
  13. Fran dice

    7 octubre, 2017 a las 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 dice

      7 octubre, 2017 a las 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 dice

      25 octubre, 2017 a las 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 dice

    7 octubre, 2017 a las 16:43

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

    Responder
    • David dice

      26 febrero, 2018 a las 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 dice

    10 octubre, 2017 a las 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 dice

    10 octubre, 2017 a las 3:52

    buenas noches me gustaria seguir reciendo informacion.

    Responder
  17. Carmelo Alonso dice

    11 octubre, 2017 a las 10:12

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

    Responder
  18. angelo pachon dice

    13 octubre, 2017 a las 0:20

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

    Responder
  19. Pedro dice

    14 octubre, 2017 a las 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 dice

    6 julio, 2018 a las 11:15

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

    Responder
  21. Miguel dice

    12 octubre, 2018 a las 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 dice

      12 octubre, 2018 a las 19:10

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

      Responder
  22. mkeGtz dice

    28 noviembre, 2018 a las 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 dice

      28 noviembre, 2018 a las 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 dice

    1 diciembre, 2018 a las 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 dice

      1 diciembre, 2018 a las 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 dice

    15 febrero, 2019 a las 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 dice

      15 febrero, 2019 a las 23:50

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

      Responder
  25. JUANPAVQ dice

    18 febrero, 2019 a las 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 dice

      20 febrero, 2019 a las 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 dice

    21 junio, 2019 a las 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 dice

    16 abril, 2020 a las 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 dice

      17 abril, 2020 a las 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 dice

    20 julio, 2020 a las 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 dice

      26 julio, 2020 a las 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

Footer

· Acerca de
· Misión, Visión y valores
· Aviso Legal y Política de Privacidad
· Condiciones de Venta
· Política de cookies
Utilizamos cookies propios y de terceros para mejorar nuestros servicios y tu experiencia de usuario. Si continuas navegando, consideramos que aceptas su uso. Aceptar Política de cookies
Política de Cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR