• 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 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

Cómo crear páginas de usuario para un S7-1200: Configurando el entorno

Cómo crear páginas de usuario para un S7-1200: Configurando el entorno

por Iñigo Gútiez · 3 Comments

Segunda entrega para configurar y programar tus páginas de usuario para un S7-1200.

Cómo configurar desde TIA Portal el programa del PLC S7-1200 para que se pueda ejecutar las paginas de usuario.

Contenido

  • 1 Páginas de usuario para un S7-1200
    • 1.1 Mostrar datos del PLC en las páginas de usuario
    • 1.2 Escribir en variables del PLC
    • 1.3 Enlazar textos a valores de una variable
  • 2 Configurar y programar el PLC para que funcionen las páginas de usuario
    • 2.1 Configurar el web server para cargar las páginas de usuario.
    • 2.2 Realizar la llamada desde el PLC a las páginas de usuario
  • 3 Refresco de los datos de las páginas de usuario
  • 4 ¿Y ahora qué?

Páginas de usuario para un S7-1200

Hemos visto hasta ahora dos entradas:

  • Configuración del webserver
  • Herramientas y conocimientos previos necesarios.

Con el primer post, configuraremos y activaremos el servidor web del S7-1200 ya que sin este paso previo, no funcionará absolutamente nada de lo que hagamos.

Además, tendremos que configurar la parte de las páginas de usuario como veremos más tarde.

Los conocimientos de programación serán necesarios para poder realizar las páginas web que queramos realizar.

Pero solamente con esto es suficiente, ya que tendremos que dar una serie de pasos adicionales para que la pelota empiece a rodar.

Deberás crear los archivos HTML, CSS.. además de añadir las imágenes que quieras añadir (jpg, png, etc).

La parte importante de este punto es que se deben añadir en los HTML las variables sobre las que quieras leer o  escribir en el PLC.

Mostrar datos del PLC en las páginas de usuario

La forma de mostrar el valor elegido en la web, es el siguiente:

:="Nombre_Variable":

Y claro, insertado entre tags del HTML como un párrafo sería:

<p>:="Velocidad_Transportador":</p>

¿Y ya está?

Pues básicamente sí. Así es como se representa.

Ni que decir tiene que Nombre_Variable tiene que ser la etiqueta de la variable simbólica en el PLC.

Tiene que estar definida en el PLC por tanto, y luego ya puede ser usada en la web.

Escribir en variables del PLC

Para escribir en el PLC, vamos a necesitar poner en la cabecera de los archivos HML una sintaxis como la siguiente:

<!--AWP_In_Variable  Name ='"Nombre_Variable_Definida_PLC"' -->

Al igual que en el caso de la lectura, la etiqueta tiene que estar definida en el PLC para poder usarse.

Posteriormente, ya podrás integrarla en formularios donde se le de valor.

Enlazar textos a valores de una variable

Puede que en algunos casos, el valor de la variable para un desconocido del programa tan chulo que has realizado le suene a chino.

Por poner un ejemplo, puede que tengas una variable que valga desde 0 a 2 con el estado de la máquina (Manual, Automático, Paro, Emergencia…).

Bueno, pues para asociar una variable llamada digamos «Modo» que toma valores enteros, y que en la web se vea el texto que quiere representar el valor numérico, se hace algo de este estilo:

<!-- AWP_Enum_Def Name="Listado_Modos" Values='0:"Stop", 1:"Auto",.., x:"Alarma"' -->

Es decir, listaremos los diferentes valores que puede tomar la variable con los textos asociado que queramos asignarle.

Como ves, es un listado de textos asociado a una variable (Listado_Modos) que no existe en el PLC. Es digamos una variable en el webserver.

Luego,  para enlazar la variable con el listado de textos,  debemos referenciar este enlace cuando lo queramos usar:

<!-- AWP_Enum_Ref Name='"Modo"' Enum="Listado_Modos" --> 
:="Modo":

Como ves, hay que hacerlo en dos pasos, pero tampoco parece que esto vaya a ser un reto para nosotros¿verdad?

Pero aunque podría parecer que ya está todo preparado, aún no lo está.

Configurar y programar el PLC para que funcionen las páginas de usuario

Aunque hayamos creado las páginas web, por un lado tendremos que cargar estas páginas en el PLC y arrancar el servidor web que hace que los datos fluyan entre las páginas de usuario para un S7-1200 y el propio autómata de Siemens.

Configurar el web server para cargar las páginas de usuario.

Este paso es muy sencillo. Tan solo tendrás que indicar una serie de datos como son directorio, página de inicio y unos DB.

 

 páginas de usuario para un S7-1200

Como puede intuir tras ver la imagen los pasos como digo son::

  • Seleccionas el directorio HTML donde estan los archivos
  • Indicas la página de inicio
  • Pulsas generar bloques

Lo normal es que la página de inicio de tu web se llame index.html, index.htm, start.htm o similar.

Al generar los bloques, generará unos bloques necesarios para realizar el intercambio de datos.

Estos bloques son configurables en el apartado Avanzado, pero si no tocas nada, por defecto tomará los bloques 333 para el número de DB web  y 334 el número de inicio de DB de fragmento.

Mi recomendación es que no te compliques, y lo dejes tal y como está.

Son DB que son necesarios para la web, y tampoco sinceramente necesitamos saber mucho más.

Vaaale, que eres más curioso que mi gato y quieres saber un poco más de estos DB. Lo capto.

El DB de control (el 333) contiene la siguiente información:

  • Variables de control y estado de la página web
  • Estado de la comunicación
  • Información de errores

Además, existen los DB de fragmento que comienzan en el 334 si no lo cambias.  páginas de usuario para un S7-1200

Ojo, que comienza en el 334 pero pueden ser varios de forma consecutiva. Es decir, 334, 335 etc.

Estos DB contienen el código de las páginas web y los ficheros multimedia (las fotos y esas cosas).

Estos DB los puedes encontrar en el directorio de Bloques de Sistema, en la subcarpeta Servidor Web como puedes apreciar en la imagen.

Después de todo esto, a lo importante: solo quédate que el número de DB web es el 333 en este caso.

Realizar la llamada desde el PLC a las páginas de usuario

Finalmente, tenemos que arrancar el servidor web para que todo funcione.

 páginas de usuario para un S7-1200

Para ello, realizaremos la llamada mágica al bloque SFC99 denominado WWW donde nos pedirá que le indiquemos:

  • CTRL_DB: es el número del DB. Si no tocas nada, es nuestro 333.
  • RET_VAL: aquí meterás una variable entera que nos devolverá el estado del bloque

Refresco de los datos de las páginas de usuario

Hemos dicho en capítulos anteriores que cuando se realiza la llamada, el servidor manda el código HTML al navegador y este lo representa.

Pero ahí falla algo. Si tenemos datos que van variando en el tiempo ¿quién es el que los va a actualizar?

La forma más básica de actualizar los datos es refrescar la web manualmente pulsando F5.

Esto tiene un pequeño problema, ya que puedes coger tendinitis en los dedos y acabar quitando hasta el dibujo a la tecla de tanto darle.

No parece una solución aceptable para tios como tú y yo.

Para este tipo de situaciones, puedes hacerlo de dos maneras:

  • Mediante código HTML
  • Mediante programación en JAVASCRIPT

La primera forma, en HTML, tan solo tienes que añadir esta sentencia en la cabecera:

<meta http-equiv="refresh" content="5; URL=index.htm">

Lo que hace básicamente es que una vez transcurridos 5 segundos desde que se cargó la página, se llame a la página index.htm.

Pero claro, si la página que has cargado es index.htm y llamas a ella misma ¿qué logras?

Exacto. Actualizar los valores que puedan haber cambiado dentro de la web.

Si quieres ser aún más chulo, puedes hacerlo con Javascript.

Para ello, usa este código:

<script type="text/javascript">
setInterval("document.location.reload()",5000);
</script>

En este caso, el intervalo de refresco será en milisegundos pero con el mismo resultado

¿Y ahora qué?

Pues ahora, querido padawan, comienza a realizar tus pinitos.

No, no voy a realizar un ejemplo esta semana.

Lo reservo para cerrar esta trilogía, que después de la de El Padrino, no se ha visto cosa igual.

Para la semana que viene, te propongo el siguiente ejercicio:

  • Insertar una imagen
  • Crear un cronómetro con START/STOP/RESET
  • Que haya un texto indicando el estado del cronómetro
  • Se actualicen los valores de forma automática

Por tanto, ya tienes deberes para esta semana.

Yo ya tengo realizado el ejemplo de forma muy sencilla, usando estilos pero de una forma casi grotesca en cuanto a colores y formas.

Pero de lo que se trata es de que se vea lo más claro posible. No buscamos en estos momentos el jogo bonito.

Cómo crear páginas de usuario para un S7-1200: Configurando el entorno

La explicación, la semana que viene.

No te lo pierdas porque te voy a contar alguna cosilla chula para darle un estilo más profesional.

Espero tus comentarios y cuéntanos cómo llevas el ejercicio,  y si  te funciona.

Recuerda que puedes apuntarte en Guorker.com donde por una cuota mensual, tendrás tarifa plana en todos los cursos disponibles en la plataforma.

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.

    3 Comentarios

  1. Cesar Alonso Castillo Pelayo says

    26 abril, 2017 at 23:17

    Excelente los primeros pasos son lo mas importante para poder lograr el éxito….

    seguimos al pendiente del ejercicio.
    gracias…..

    Responder
  2. Nelson Colmenares says

    27 abril, 2017 at 3:41

    Excelente información acerca del servidor Web. Con esta herramienta se pueden generar graficos, que luego puedan ser impreso? y esta configuración se puede usar en simultaneo con un panel ktp 600 dp? Gracias por el apoyo….

    Responder
  3. Federico Guzzetti says

    28 abril, 2017 at 13:45

    Bien clara y amena tu disertación. Y ni te cuento lo llevadero que me resulta si comparamos con la soporífera redacción oficial de Siemens.
    Continue así.

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

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

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