Repasando el curso Cómo programar Step 7 y no morir en el intento me he percatado de que no he incluido algunas cosas que por ser fáciles no dejan de ser importantes y hay que incluirlas también en el curso. Una de ellas es cómo observar y forzar variables en step 7.
Sí, ya sé que esto es casi trivial, pero puede que haya gente que no conozca todas las peculiaridades. Así que vamos a repasar al menos las fundamentales.
Contenido
Observar y forzar variables en step 7
Para poder acceder a esta ventana, accederemos desde el editor como se indica en la figura: Sistema destino –> Observar/forzar variables
[divider]
¿Qué se puede hacer?
Pues el propio Siemens lo indica en la ayuda. Con las funciones de «Observar/forzar variables» es posible:
- observar los valores actuales de variables concretas de un programa de usuario o de una CPU en la PG/en el PC: Observar variables
- asignar valores fijos a variables concretas de un programa de usuario o de una CPU: Forzar variables
- asignar valores fijos a salidas de periferia concretas de un programa de usuario o de una CPU en estado operativo STOP: Desbloquear salidas y Activar valores de forzado.
- ocupar con carácter fijo variables concretas de un programa de usuario o de una CPU con un valor que el programa de usuario no pueda sobrescribir: Forzado permanente de variables
En general, para lo que se va a usar es para ver el estado de las variables y poder forzar el estado de marcas o asignar valores.
Ojo, porque estos valores puede que los fuerces e inmediatamente tomen el valor que el programa les asigna. Esto va a hacer que parezca que no ha sucedido nada como veremos en el vídeo.
El punto de disparo
Una cosa que has de tener en cuenta, es cómo funciona el PLC y cuándo vas a realizar el forzado (el punto de disparo).
Se puede hacer bien al inicio del OB1, después de que las PEW se han volcado sobre las EW o bien después de que las AW se vuelcan en las PAW.
Si no sabes de qué estoy hablando, deberías repasar el funcionamiento cíclico del PLC.
Así, lo lógico es que si queremos:
- forzar una entrada –> pondremos el punto de disparo al inicio del ciclo
- forzar salidas –> pondremos el punto de disparo al final del ciclo
Otras opciones
Además de lo dicho, se puede:
- Colocar comentarios usando como en el editor en AWL dos barras (//).
- Añadir áreas de memoria de forma rápida (botón derecho-> Añadir área)
Finalmente decir que puedes guardar estas simulaciones dentro del proyecto mediante archivos VAT. Esto deberás hacerlo en la misma carpeta que tengas el proyecto con los bloques.
El vídeo
Lo más interesante es ver el vídeo para la parte de cómo hay que forzar las entradas y salidas. Te dejo con él.
¿Qué te ha parecido?
Supongo que conocerías todo lo mostrado (o casi), o puede que seas muy novato y no lo conocieras.
Decir que este capítulo será incluido en la próxima actualización del curso Cómo programar Step 7 y no morir en el intento.
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.
22 Comentarios
Hola Iñigo, quiero proponerte el realizar tutorial sobrw diagnóstico de s7 300/400, buffer diagnóstico, información de módulos,… Y como interpretar la información.
Gracias una vez más por aportarnos tanto.
Quedo a tu disposición, hasta pronto.
Me lo apunto, a ver qué se puede ir haciendo..
Saludos y gracias!
Hola saludos quisiera ver que posibilidades hay de ver algún tutorial, con respecto a la comunicación de los siemens (Maestro esclavo, redundante, etc.).
gracias totales!
Se podría hacer pero es complicado al no tener medios más allá del simulador.
Lo tendré en cuenta.
Saludos
se entiende perfectamente gracias.
Gracias Carlos!
Hola Iñigo,
Muy buen post! Me ha hecho recordar algunos términos que ya casi ni me acordava como las variables VAT. Lo de forzar variables si que me acuerdo. Cuanto tenga el PC delante miraré el vídeo.
Felicidades de nuevo por todas tus publicaciones.
Saludos
Completamente de acuerdo con Roberto Fernandez. Cada vez que tenemos un problema y hay que ver el buffer de diagnostico la información que te da no es nada intuitiva. No entiendo nada.
Una ayudita seria genial!!!!!
Ja ja ja.. creo que eso nos pasa a todos. No se si puedo aportar mucha luz en eso porque la ayuda de Siemens es digamos… árida.
Hola iñigo, gracias por tus explicaciones tan fabulosas.
Me podrias aclarar la diferencia entre Time Stamp de una entrada y tiempo de ciclo?
Gracias
No tiene nada que ver una cosa con la otra. Timestamp es la fecha y hora de un evento, y el tiempo de ciclo si hablamos de un PLC es el tiempo medido en ms que tarda el PLC en ejecutar un ciclo completo.
Saludos
Hola Iñigo,
Se puede forzar un «valor no válido»? Es decir, podría poner un valor que no sea BCD en una marca de palabra de un temporizador, por ejemplo: W#16#015Ah?
Gracias
No entiendo lo de no valido. Poner en un word, puedes poner lo que quieras, otra cosa es lo que tu quieras, y el PLC interprete. Que son cosas diferentes. Si quieres que funcione, te tienes que ceñir al formato de las variables que te exige S7. Pero por poner, puedes poner cualquier valor. Funcionara mal lógicamente, pero tragar, traga.
hola, si yo creo un FC, sin apagar el plc, las marcas usadas por este se reinician cada ciclo de plc, o conservan su ultimo valor
Hola Carlos.
Se mantienen, ya que no tiene nada que ver la remanencia (que mantenga su valor tras el apagado del PLC), con la estaticidad al ser una variable glogal, con la que lógicamente mantienen su valor.
Saludos
Hola Íñigo tengo dos problemas hice mi proyecto en step 7 de un pls 314c pn/dp cuando agregué un interfase ET200Mprofinet lo doy de alta y le doy dirección a las tarjetas de salida A20.0…7 me marca como tergeta dañada lo cambio la dirección por A300.0…7. y me marca como tergeta estado ok pero no puedo forzarlas me puedes ayudar
La otra porque hago un programa corto en FC1 y lo llamo a OB1 pero no sé activan las señales físicas me puedes ayudar
Supongo que será un problema en la configuración del la ET200M en el proyecto. Asegúrate que esta bien todo, IP, nombre Profinet…
Desde aquí poco puedo hacer.
Hola Iñigo. una duda, ¿cual es el modo mas fácil de forzar un valor para una salida de periferia, analógica 4-20mA? (para comprobar el funcionamiento, por ejemplo de un posicionador).
Puedes cargar simplemente el valor en una MW y esta transferirsela a la salida.Así, te pones online y cambiando la marca, cambias el valor de la salida.
Buenos días Iñigo, me gustaría hacerte una pregunta sobre este tema. En mi empresa lo que mas usamos son los plc Telemechanique y el software PL7. Ahora se estan implantando plc Siemenes con el Step 7 y la verdad es que esta costando lo suyo adaptarse al cambio.
Mi pregunta es sobre si es posible forzar Marcas en el Step 7, ya que solo he conseguido forzar Entradas o Salidas, pero al poner como variable una Marca la tabla de forzado no la acepta. La escribe en rojo y no me deja añadirla a la tabla.
Podrias decirme si es asi, y el motivo? que solucion se te ocurre?
Gracias
Perdona Iñigo, me refiero a las tablas de forzado permanente, es ahí donde al escribir la marca se me queda en rojo.
En las tablas normales de Observar/forzar variable, ahí no hay problema por escribir y forzar una marca.
Me estoy dando cuenta de que igual el problema es mio, y no es necesario hacer el forzado permanente desde esa tabla….
Gracias
Tienes que hacerlo en obsevar/forzar. La otra tabla es para las I/O