Search the Community
Showing results for tags 'Español'.
Found 150 results
-
MITSUBISHI-ES Programación y simulación de PLC para el funcionamiento automático de puertas
leikang posted A plc and hmi article in Spanish in PLC programming learning
En este programa de PLC, el funcionamiento automático de puertas está diseñado mediante programación de PLC para abrir o cerrar la puerta al detectar un objeto. Aquí, el objeto no es más que un automóvil. Funcionamiento automático de puertas La siguiente simulación muestra el funcionamiento del sistema de puertas automáticas. Entradas y salidas Tipo Número de dispositivo Nombre del dispositivo Operación Entrada X0 Límite inferior activado cuando la puerta alcanza el límite inferior. Entrada X1 Límite superior activado cuando la puerta alcanza el límite superior. Entrada X2 Sensor de entrada activado cuando el objeto se acerca a la puerta. Entrada X3 Sensor de salida activado cuando el objeto sale de la puerta. Entrada YO Puerta arriba Se mueve hacia arriba cuando YO está activado. Salida Y1 Puerta abajo Se mueve hacia abajo cuando Y1 está activado. Salida Y6 Luz encendida cuando Y6 está activado. Salida Y7 Zumbador Suena cuando Y7 está activado (la lámpara en la pantalla está encendida). Descripción del programa A medida que el automóvil se acerca a la entrada, la puerta se mueve hacia arriba. Un sensor de entrada X2 se utiliza para detectar la presencia del vehículo en la entrada. En el momento en que el vehículo pasa, la puerta se mueve hacia abajo. Un sensor de salida X3 se utiliza para detectar la presencia del vehículo después de cruzar la puerta. El movimiento ascendente de la puerta se detiene cuando se activa el interruptor de límite superior (X1). De manera similar, el movimiento descendente de la puerta se detiene cuando se activa el interruptor de límite inferior (X0). La puerta permanece levantada mientras se detecte el vehículo dentro del rango de entrada (sensor de entrada X2) y salida (sensor de salida X3). Un zumbador (Y7) suena como señal del movimiento de la puerta. Mientras el vehículo se encuentra dentro del rango de detección, entre el sensor de entrada (X2) y el sensor de salida (X3), una luz (Y6) permanece encendida. El estado del movimiento de la puerta se indica mediante la iluminación o el apagado de cuatro luces indicadoras en el panel de control. Es posible el control manual de la puerta. Los botones del panel de control se pueden presionar para abrir (⬆Puerta arriba) o cerrar (⬇Puerta abajo) la puerta. Programación de PLC -
MITSUBISHI-ES Programación de PLC para línea de distribución y clasificación: lógica avanzada
leikang posted A plc and hmi article in Spanish in PLC programming learning
En esta lógica avanzada de PLC, detecte diferentes tamaños de piezas y clasifíquelas según el tamaño de las cajas y colóquelas en las bandejas. Las piezas no son más que cajas de diferentes tamaños, como pequeñas, medianas y grandes. El robot coloca cajas de diferentes tamaños al azar en la cinta transportadora. Luego, el sistema detecta el tamaño de la caja y se mueve hacia la cinta transportadora correspondiente y las coloca en las bandejas correspondientes. Programación de PLC para línea de distribución y clasificación La siguiente simulación muestra el funcionamiento del sistema de línea de distribución y clasificación. Entradas y salidas Tipo Número de dispositivo Nombre del dispositivo Operación Entrada X0 Punto de inicio (suministro) ENCENDIDO cuando se detecta la pieza. Entrada X1 Superior ENCENDIDO cuando se detecta la pieza. Entrada X2 Medio ENCENDIDO cuando se detecta la pieza. Entrada X3 Inferior ENCENDIDO cuando se detecta la pieza en el extremo derecho. Entrada X4 Sensor ENCENDIDO cuando se detecta la pieza en el extremo derecho. Entrada X5 Sensor El transportador avanza cuando Y1 está ENCENDIDO. Entrada X6 Detectar pieza ON cuando la pieza se detecta delante del empujador. Entrada X10 Punto de inicio (Descargar) ON cuando el robot de descarga está en el punto de inicio. Entrada X11 Pieza en mesa ON cuando la pieza está en la mesa. Entrada X12 Operación del robot finalizada ON cuando la operación del robot ha finalizado. Salida Y1 Transportador hacia delante El transportador se mueve hacia delante cuando Y2 está ON. Salida Y2 Transportador hacia delante Se mueve hacia el frente cuando Y3 está ON. Salida Y3 Ala de clasificación El transportador se mueve hacia delante cuando Y4 está ON. Salida Y4 Transportador hacia delante El transportador se mueve hacia delante cuando Y5 está ON. Salida Y5 Transportador hacia delante Se extiende cuando Y6 está ON y se retrae cuando Y6 está OFF. El empujador no se puede detener en la mitad de la carrera. Salida Y6 Empujador El robot mueve la pieza a la bandeja cuando Y7 está ON. Comienza un ciclo de proceso. Salida Y7 Comando de descarga El robot mueve la pieza a la bandeja cuando Y7 está ON. Comienza un ciclo de proceso. Salida Y10 Rojo Se enciende cuando Y10 está encendido. Salida Y11 Verde Se enciende cuando Y11 está encendido. Salida Y12 Amarillo Se enciende cuando Y12 está encendido. Descripción del programa Al pulsar el botón PB1 (X20) en el panel de control se activa el comando de suministro (Y0), lo que pone al robot en movimiento para mover el objeto. Una vez que el robot ha completado su tarea de mover la pieza y vuelve a su posición original, se desactiva el comando de suministro (Y0). Al activar el comando de suministro (Y0), el robot se impulsa para proporcionar una pieza. Al activar el interruptor SW1 (X24) en el panel de control, los transportadores avanzan. Por el contrario, al desactivar el interruptor, los transportadores se detienen. Las piezas transportadas por el transportador de distintos tamaños, a saber, grandes, medianas y pequeñas, se clasifican según la entrada de los sensores superior (X1), medio (X2) e inferior (X3) y se entregan en bandejas designadas. Las piezas grandes se dirigen al transportador trasero cuando se activa el ala de clasificación (Y3) en el transportador dividido, seguido por el transporte de la pieza en el transportador y finalmente desciende desde el borde derecho. Las piezas medianas se dirigen al transportador delantero cuando se desactiva el ala de clasificación (Y3) en el transportador dividido y, posteriormente, el robot las transfiere a la bandeja. Las piezas pequeñas se dirigen al transportador trasero tras la activación del ala de clasificación (Y3) en el transportador dividido. Una vez que se activa el sensor de detección de piezas (X6) en el transportador dividido, el transportador se detiene y la pieza se empuja hacia la bandeja. Cuando el robot detecta una pieza en la mesa (X11), se activa el comando de descarga (Y7). Una vez que el robot termina sus operaciones, lo que se indica mediante la activación del estado Operación del robot finalizada (X12) (lo que sucede cuando se deposita una pieza en la bandeja), se desactiva el comando de descarga (Y7). Si el interruptor SW2 (X25) del panel de control permanece activado, se produce un suministro automático de una nueva pieza en las siguientes condiciones: Cuando el robot inicia el transporte de una pieza mediana. Cuando se añade una pieza pequeña a la bandeja o una pieza grande desciende por el borde derecho del transportador. Las luces de la pantalla parpadean de la siguiente manera: La luz roja indica que el robot está en proceso de suministro de una pieza. La luz verde significa que el transportador está en movimiento. La luz amarilla se ilumina cuando el transportador está detenido. Programa del PLC -
SIEMENS-ES Tia Portal – Diferentes instancias de llamada a un bloque de funciones
xiangjinjiao posted A plc and hmi article in Spanish in PLC programming learning
En un artículo anterior, analizamos qué es un bloque de funciones FB, cómo funciona en un programa de PLC y cómo crear y utilizar uno. En este artículo, hablaremos sobre las instancias de bloques de datos de diferentes tipos de bloques de funciones en Siemens Tia Portal y cuándo utilizar cada tipo. Contenido: ¿Qué es un bloque de funciones FB? Diferentes opciones de instancias de datos. Instancia única. Instancia de parámetro. Instancia múltiple. ¿Qué es un bloque de funciones? Un bloque de funciones o FB es simplemente un bloque que contiene lógica de código. Utiliza este FB para lograr una funcionalidad específica a través de los fragmentos de código escritos en su interior. Al llamar a un bloque de funciones en su código, se le solicitará que asigne un bloque de datos también llamado instancia de datos para asociarlo con este FB, para guardar los valores de los parámetros del FB. No todos los parámetros dentro de un FB se guardan en la instancia de datos, pero llegaremos a eso más adelante. Al llamar a un bloque de función, tiene 3 opciones diferentes para asociar una instancia de bloque de datos con esta llamada de función. Estas diferentes opciones dependerán de dónde esté llamando a su FB. En pocas palabras, un FB de bloque de función es básicamente un FC de función con una base de datos de bloque de datos dedicada, este bloque de datos se utiliza para almacenar los valores de los parámetros del bloque de función. Diferentes opciones para instancias de datos Tenemos 3 opciones diferentes para una instancia de datos de un bloque de función, estas opciones son: Instancia única. Instancia de parámetro. Instancia múltiple. Las tres instancias de datos de llamada diferentes provienen de los 3 métodos de llamada diferentes: Puede llamar a un FB de bloque de función dentro del OB1 principal, lo que le dará la opción de: Instancia única. Puede llamar al bloque de función FB dentro de una función FC, lo que le dará dos opciones: Instancia única Instancia de parámetro Puede llamar al bloque de función dentro de otro bloque de función, lo que le dará las tres opciones disponibles para crear una instancia de datos Instancia única Instancia de parámetro Varias instancias Instancia de datos única Primero, comencemos por crear un bloque de función FB, como mencionamos antes, creamos un bloque de función haciendo clic en agregar un nuevo bloque y eligiendo el tipo de bloque que queremos. Vea la imagen 1. Imagen 1: creación de un bloque de función FB Ahora, llamemos al FB reutilizable que creamos dentro de nuestro OB1 principal. Vea la imagen 2. Imagen 2: llamada al FB dentro del OB1 principal Como puede ver en la imagen anterior, al llamar a un FB dentro del OB1 principal, se le solicitará que asigne una instancia de datos para asociarla con esta llamada de FB. En este caso, habrá solo una opción, que es la instancia única. Después de elegir una opción de instancia única, se creará un bloque de datos y se asociará con la llamada FB. Ver imagen 3. Imagen 3: instancia única creada La instancia única creada se utilizará para almacenar los valores de algunos de los parámetros FB. Como las entradas, salidas, In Out y parámetros estáticos. No se almacenarán otros parámetros del FB, como la temperatura y las constantes. Ver imágenes 4 y 5. Imagen 4: los datos se guardan dentro de la instancia de datos Imagen 5: los datos se guardan desde el FB a la instancia de datos. Ahora, creemos una lógica simple dentro del FB para ayudarnos a comprender mejor las instancias de datos. Esta lógica agregará un valor constante de 15 a una variable estática y luego moverá el resultado a la salida. Consulte la imagen 6. Imagen 6: Cree una lógica simple Ahora, vuelva al OB1 principal y observe cómo está ahora su llamada FB. Consulte la imagen 7. Imagen 7: Actualice la llamada FB después de cada cambio Cualquier cambio que realice en la lógica dentro del FB, dará como resultado la necesidad de actualizar la llamada del bloque de función, de modo que se puedan aplicar los cambios que realizó. Puede actualizar la llamada del bloque haciendo clic derecho en la llamada FB y presionando la opción de actualización de llamada del bloque o recompilando su código PLC. Consulte la imagen 8. Imagen 8: Actualización de la llamada FB Después de actualizar la llamada del bloque, los cambios que realizó en el código FB se aplicarán y emplearán en la llamada del bloque. Como puede ver en la imagen 9. El FB ahora espera que se proporcione una señal de entrada de tipo bool y el FB dará una salida de tipo int. Imagen 9: las entradas y salidas ahora están asociadas con la llamada del FB Simulemos nuestro código y veamos cómo se comportará el PLC. Vea la siguiente animación que muestra una simulación simple de la lógica del PLC hasta ahora. Como puede ver en la animación, siempre que la señal de inicio sea VERDADERA, la función se ejecutará y la salida seguirá cambiando. Y una vez que la señal de inicio ya no esté disponible, la salida permanecerá en el último valor registrado. El uso de la instancia de datos aquí es que los valores de la variable estática y la variable de salida se guardan dentro de la instancia única, por lo que cuando la señal de inicio regrese nuevamente, la función continuará desde los últimos valores registrados. Nota muy importante Nunca debe utilizar la misma instancia única para dos llamadas diferentes de un FB. Vea la siguiente animación. Como puede ver en la animación, tenemos dos llamadas FB diferentes, pero ambas llamadas están asociadas con la misma instancia única, por lo que incluso cuando la señal start2 era FALSE, el valor Output2 estaba cambiando con Output1. Como esperaría, el cambio en la instancia de datos de la primera llamada también se verá afectado en la segunda llamada porque tienen el mismo bloque de memoria. Vea la imagen 10. Imagen 10: Nunca utilice la misma instancia de datos con diferentes llamadas FB Si utilizó la misma instancia de datos con diferentes llamadas FB, entonces su bloque de función ya no es reutilizable. Incluso si los parámetros de entrada/salida son diferentes para cada llamada FB diferente. Como viste en el último video (animación), ambas llamadas tuvieron los mismos resultados, aunque la segunda llamada ni siquiera tiene una señal de entrada de habilitación. Otra nota muy importante Dijimos antes que si llamas a tu FB desde un FC de nivel superior, tendrás dos opciones para la instancia de datos asociada; estas opciones son la instancia única y la instancia de parámetro. Consulta la imagen 11. Imagen 11: uso de una sola instancia con un FB llamado desde un FC Si eso sucediera y llamas a un FB dentro de un FC, nunca deberías usar una sola instancia para tus FB. Para saber por qué, consulta la imagen 12 Imagen 12: llamar al FC de nivel superior más de una vez Como ves en la imagen 12, cuando llamas al FC de nivel superior en tu lógica más de una vez, no se te pedirá que asignes un bloque de datos, porque los FC no necesitan uno. Pero sabes que hay un FB llamado dentro del FC, este FB tiene una única instancia asociada a él. Entonces, ahora las 3 llamadas FC tienen la misma instancia de datos para la llamada FB. Entonces, tu función FC ya no es reutilizable. ¿Qué hacer? La mejor opción para cuando necesitas llamar a un FB dentro de un FC es usar la instancia de parámetro. Instancia de parámetro Como dijimos antes, si llamaste a un FB dentro de un FC, no deberías elegir la única instancia, sino que la instancia de parámetro es mejor para tus propósitos de reutilización. Una instancia de parámetro guardará la instancia de datos del FB llamado en el área In Out de la interfaz del bloque FC. Permitiéndote ingresar una nueva instancia de datos para cada llamada FC. Vea las imágenes 13 y 14. Imagen 13: Asignar una instancia de parámetro al llamar a un FB dentro de un FC Imagen 14: Cada llamada a un FC necesitará una nueva instancia de datos Como puede ver en la imagen anterior, siempre que llame al FC dentro de su programa, solicitará una instancia de datos para el FB reutilizable dentro del FC. Pero, al usar este método, tendrá que crear la instancia de datos usted mismo. Vea la imagen 15. Imagen 15: Crear una nueva instancia de datos Para crear una nueva instancia de datos, haga lo mismo que para crear un FC o un FB, pero esta vez elija la opción DB. Y asegúrese de seleccionar el tipo de DB para que sea el mismo que el FB llamado. Ahora, su FC se puede reutilizar tantas veces como desee, solo tiene que crear una instancia para cada llamada. Consulte la imagen 16. Imagen 16: Asignar la base de datos a la llamada FC Base de datos de instancias múltiples Una base de datos de instancias múltiples simplemente significa que la base de datos del FB llamado se almacenará dentro de la base de datos del FB de llamada de nivel superior. Esta opción solo está disponible si llama a un FB desde otro FB. Vamos a crear otro FB para usarlo como un FB de nivel superior. Después de crear este HigherLevelFB, llámelo desde el OB1 principal y, por supuesto, la única opción de llamada será una sola instancia como se mostró antes. Consulte la imagen 17. Imagen 17: Llame al HigherLevelFB desde el OB1 principal Ahora, llame al ReutilizableFB desde el HigherLevelFB y elija la opción Multiinstancia. Consulte la imagen 18. Imagen 18: Asignar una base de datos de múltiples instancias Cuando elija la opción de múltiples instancias, la base de datos creada se almacenará dentro de los parámetros estáticos del FB que realiza la llamada. Consulte la imagen 19. Imagen 19: Las instancias se guardan dentro de los parámetros estáticos Puede llamar al FB reutilizable muchas veces; cada vez que lo llame, la instancia múltiple se almacenará dentro del parámetro estático. Consulte la imagen 20. Imagen 20: Llamar al FB reutilizable muchas veces Como puede ver, la instancia de datos del FB de nivel inferior se guardará dentro de la instancia de datos del FB de nivel superior. Es mejor para una mejor estructura del programa y una lógica fácil de leer. Conclusión La creación de bloques de funciones dentro de su código requerirá asociar un bloque de datos con cada llamada al FB que realice en su lógica. Este bloque de datos o también llamado instancia de datos tiene diferentes opciones según el tipo de bloque que esté llamando a tu FB. Ten cuidado al elegir el tipo de instancia de datos, ya que algunas opciones pueden no ser adecuadas para tu caso como mostramos anteriormente. Y a veces esto puede generar problemas en tu lógica y tu función ya no podrá reutilizarse. El uso de múltiples instancias puede ayudar a organizar mejor la estructura de su programa, ya que todos los FB llamados almacenarán sus bases de datos dentro del FB llamador principal. -
¿Qué es un bloque de datos? Bloques de datos globales en PLC
xiangjinjiao posted A plc and hmi article in Spanish in PLC programming learning
Hay diferentes estructuras de bloques disponibles al programar un PLC, estos bloques incluyen FC de funciones, FB de bloques de funciones y DB de bloques de datos. Estos bloques son herramientas muy útiles que puede utilizar para diseñar mejor la lógica de su PLC y hacer que su código sea más legible y fácil de seguir y depurar. En artículos anteriores, analizamos los FC y los FB. En este artículo, analizaremos los DB de bloques de datos, más específicamente el bloque de datos global. Contenido: ¿Qué es un DB de bloques de datos? Tipos de bloques de datos. ¿Qué es un bloque de datos global? ¿Cómo crear un bloque de datos global? Cómo trabajar con bloques de datos globales. Ejemplo de simulación. ¿Qué es un bloque de datos? Un DB de bloques de datos es un área de memoria que se utiliza para guardar los valores de los parámetros que se escriben durante la ejecución del programa de PLC. A diferencia del bloque de código, el DB de bloques de datos contiene solo declaraciones de variables. No tiene redes ni instrucciones como un FC o un FB. La estructura de la base de datos se define por la cantidad de variables que haya declarado dentro del bloque de datos. Tipos de bloques de datos en el PLC Existen dos tipos de bloques de datos: Bloques de datos globales Bloques de datos de instancia Bloques de datos ARRAY Bloques de datos globales Como sugiere el nombre, el bloque de datos global se declara globalmente para toda la lógica del PLC. No se asigna a un bloque de código específico. Puede acceder a los valores de un bloque de datos global desde cualquier bloque de código en cualquier parte de la lógica del PLC. Un bloque de datos global contiene solo etiquetas estáticas. La estructura del bloque de datos global se puede definir libremente. En la tabla de declaración de bloques de datos, declara los elementos de datos que se incluirán en el bloque de datos global. Bloques de datos de instancia El bloque de datos de instancia se asigna directamente a un bloque de función FB, ya sea que este bloque de función esté definido internamente en el PLC como temporizadores y contadores o bloques de función FB definidos por el usuario. La estructura de un bloque de datos de instancia no se puede definir libremente, sino que está determinada por la interfaz del bloque de función. El bloque de datos de instancia contiene exactamente los parámetros y las variables del bloque que se declaran en la interfaz del bloque de función. Sin embargo, puede definir valores específicos de la instancia en el bloque de datos de instancia; por ejemplo, valores iniciales para las variables declaradas. Bloques de datos ARRAY Disponibles solo para CPU S7-1500, los bloques de datos ARRAY son bloques de datos globales que constan de un ARRAY. Este ARRAY puede estar basado en cualquier tipo de datos. Por ejemplo, es posible un ARRAY de un tipo de datos PLC (UDT). El DB no contiene otros elementos además del ARRAY. Debido a su estructura plana, los bloques de datos ARRAY facilitan el acceso a los elementos del ARRAY y su transferencia a los bloques llamados. La sección “Operaciones de movimiento” de la tarjeta de tareas “Instrucciones” ofrece opciones para direccionar DB ARRAY. En este artículo, hablaremos sobre el bloque de datos global y analizaremos los otros dos tipos en artículos separados. ¿Qué es el bloque de datos global? Los bloques de datos se utilizan para almacenar datos del programa PLC. Esto significa que contienen datos variables que utiliza el programa de usuario. Los bloques de datos globales almacenan datos que pueden ser utilizados por todos los demás bloques. El tamaño máximo de los bloques de datos varía según la CPU. Puede definir la estructura de los bloques de datos globales de la forma que desee. También tiene la opción de utilizar tipos de datos PLC (UDT) como plantilla para crear bloques de datos globales. Cada bloque de función FB, función FC u bloque de organización OB puede leer los datos de un bloque de datos global o puede escribir datos en un bloque de datos global. Estos datos permanecen en el bloque de datos incluso después de salir del bloque de datos. Consulte la imagen 1. Imagen 1: Acceso al bloque de datos global Como puede ver en la imagen anterior, se puede acceder a un bloque de datos global desde cualquier bloque de código dentro del programa PLC, mientras que al bloque de datos de instancia solo se puede acceder mediante el bloque de función asociado. Creación de un bloque de datos global Puede crear un bloque de datos global de la misma manera que crea una función FC o un bloque de función FB. Desde el botón Agregar un nuevo bloque al árbol de su proyecto. Vea la imagen 2. Imagen 2: Creación de un bloque de datos global Declaremos algunas variables dentro del bloque de datos global. Para ello, haga clic en Agregar nuevo en la sección Nombre, escriba el nombre de la variable que desee y luego elija el tipo de datos de la variable. Vea la imagen 3. Imagen 3: Declaración de variables en un bloque de datos global Trabajar con un bloque de datos global Declarar una etiqueta. Ya mostramos cómo declarar una etiqueta/variable en la imagen 3. Definir un valor inicial El valor inicial de una etiqueta es un valor definido por usted, que la etiqueta asume después de iniciar la CPU. El valor debe coincidir con el tipo de datos de la etiqueta y no debe exceder el rango del tipo de datos. Vea la imagen 4. La etiqueta toma el valor definido al iniciarse, siempre que no se haya declarado como retentiva. Imagen 4: Definición del valor inicial de las etiquetas Por lo tanto, si establezco el valor de inicio de Tank1Level en cualquier valor distinto de cero, este valor se aplicará la próxima vez que se reinicie el PLC. Ver imagen 5. Imagen 5: Definición de un valor de inicio para las variables Retención de variables en bloques de datos globales Para evitar la pérdida de datos en caso de corte de energía, puede marcar los datos como retentivos. Estos datos se almacenan en un área de memoria retentiva. Las opciones para configurar la retención dependen del tipo de bloque de datos y del tipo de acceso al bloque que se configure. Ver imagen 6. Imagen 6: Opción de retención en bloques de datos globales Como puede ver en la imagen 6, la variable Tank2Level está configurada para que sea un valor retenido, lo que significa que incluso si el PLC se detuvo o hubo un corte de energía, Tank2Level tendrá los mismos datos almacenados cuando el PLC se vuelva a encender. No se restablecerá al valor inicial. Accesibilidad a/desde HMI En un bloque de datos global, puede definir si una variable puede ser visible desde las tablas de etiquetas de HMI o no. También puede definir si esta variable puede leerse o escribirse desde la HMI. Consulte la imagen 7. Imagen 7: Accesibilidad desde HMI La configuración predeterminada para cualquier variable declarada en un bloque de datos global es que se puede acceder a ella, leerla y escribirla desde la HMI. Si desea deshabilitar esta función para una determinada variable, debe desmarcar la opción de accesibilidad para esa variable. Simulación de ejemplo Hasta ahora, creamos un bloque de datos global y declaramos algunas variables dentro. Ahora intentaremos ejecutar una simulación del programa y ver si podemos comprender mejor qué es un bloque de datos global. A continuación, se proporcionan dos simulaciones de PLC. Prueba de los valores iniciales de una variable Vea la siguiente animación que explica el valor inicial de una variable dentro de un bloque de datos global. Animación 1 Explicación de la animación 1: Los valores iniciales de los parámetros de nivel del tanque son cero. Puede ver en el video que la pantalla de simulación los cambia. Cuando se reinicia el PLC, se apaga y se enciende nuevamente, verá que los valores se restablecerán a los valores iniciales, que son cero. Después de eso, los valores iniciales se cambiaron a 500, 32654 y -356 respectivamente, y cuando se reinicia el PLC, los valores se cambiaron a los nuevos valores iniciales. Observe que cuando cambiamos los valores iniciales, tuvimos que descargar nuestra lógica nuevamente al PLC; debe hacer eso cada vez que realice un cambio en su lógica. Probar la opción de retención de variables en la base de datos global Vea la siguiente animación que explica la opción de retención de una variable dentro de un bloque de datos global. Animación 2 Explicación de la animación 2: En primer lugar, notará que la propiedad Retain de Tank2Level ahora está activa. En el video, puede ver que se están modificando los valores de los 3 tanques. Cuando se detiene el PLC y luego se reinicia, Tank1Level y Tank3Level se restablecen al valor inicial, que es 0, pero Tank2Level retiene su valor de -22938 Conclusión Se puede acceder a un bloque de datos global desde cualquier lugar y mediante cualquier bloque que exista en el programa del PLC. Puede declarar tantas variables como desee dentro de una base de datos global. La técnica recomendada es crear bloques de datos separados para las diferentes secciones de su lógica, para que sea muy fácil seguir su lógica. Por ejemplo, un bloque de datos separado para todas las variables que una HMI debe leer o escribir. -
SIEMENS-ES Tia Portal – Acceso a bloques de datos estándar y optimizado
xiangjinjiao posted A plc and hmi article in Spanish in PLC programming learning
En el artículo anterior, hablamos sobre bloques de datos y analizamos los dos tipos diferentes de bloques de datos, el bloque de datos global y las instancias de datos de los bloques de función FB. En este artículo, vamos a analizar qué se entiende por acceso a bloques de datos optimizado y acceso a bloques de datos estándar en Siemens Tia Portal. Contenido: ¿Qué son los bloques de datos estándar y optimizados? Ejemplo de programa simple. ¿Qué son las bases de datos estándar? ¿Qué es el offset? ¿Qué son las bases de datos optimizadas? Ventajas de utilizar bases de datos optimizadas. Conclusiones. ¿Qué es el acceso a bloques de datos estándar y optimizado? En primer lugar, estos no son nuevos tipos de bloques de datos; dijimos que solo tenemos dos tipos diferentes, la base de datos global y la base de datos de instancia. El acceso a bloques de datos optimizado es una característica del bloque de datos. Puede activar o desactivar esta característica desde las propiedades del bloque de datos que ha creado. La función de bloque de datos optimizado solo está disponible para los PLC S7-1200 y S7-1500, no para los S7-300 o S7-400 La configuración estándar para los bloques de datos cuando se trabaja con PLC S7-1200 o S7-1500 es que estén optimizados; si desea un bloque de datos estándar, deberá configurarlo usted mismo. Entonces, ¿qué son los bloques optimizados y los bloques estándar? Para comprender la diferencia, crearemos un programa simple e intentaremos mostrar en qué se diferencia un bloque optimizado de un bloque estándar. Ejemplo de programa simple: En este ejemplo, no crearemos ninguna lógica de PLC ni codificaremos ninguna instrucción, solo crearemos 2 bloques de datos globales, DB1 se llamará OptimizedDB y DB2 se llamará StandardDB. Dentro de ambos bloques de datos, declararemos 4 variables de tipos de datos Bool, Int, Real y Word respectivamente. Vea la imagen 1. Imagen 1: crear dos bases de datos globales Lo primero que notará es que ambos bloques de datos son exactamente iguales, esto se debe a que, como dijimos, la configuración predeterminada al crear un bloque de datos es que se optimizará, por lo que debemos cambiar la configuración de DB2 para convertirlo en un bloque estándar, para ver si algo cambia. Lo hacemos desde las propiedades de ese DB2. Acceda a las propiedades de DB2 haciendo clic derecho en el bloque de datos y presione Propiedades. Vea la imagen 2. Imagen 2: cambiar DB2 al acceso estándar al bloque Una vez que desmarque los atributos de acceso optimizado al bloque que ve en la imagen 2 y presione Aceptar, aparecerá un mensaje de advertencia, vea la imagen 3. Imagen 3: ventana emergente para cambiar el acceso al bloque Una vez que presione Aceptar, su DB2 se habrá convertido al acceso estándar al bloque. Vea la imagen 4 para ver qué diferencia generó. Imagen 4: DB2 ahora es un bloque estándar Lo que podemos ver directamente es que DB1 y DB2 ya no son lo mismo. La opción de acceso al bloque estándar representada en DB2 tiene una columna adicional llamada desplazamiento. Delante de cada variable en el cuadro de desplazamiento, hay un … escrito, esto cambiará una vez que compile su programa. Vamos a compilar y ver qué sucede, vea la imagen 5. Imagen 5: compile su programa para recargar el desplazamiento Ahora, el desplazamiento se completa con, como puede ver, 0.0, 2.0, 4.0 y 8.0 respectivamente. Entonces, ¿qué es ese desplazamiento? ¿Qué significa? Llegaremos a eso más tarde, pero ahora, vamos a crear otro bloque ESTÁNDAR y declarar las mismas 4 variables, pero esta vez cambiaremos el orden de los tipos de datos de las variables, vea la imagen 6. Imagen 6: crear otro bloque estándar DB3 En la última imagen, puede ver que el desplazamiento de DB2 y DB3 es diferente. ¿Por qué los valores de desplazamiento son diferentes cuando cambiamos el orden de los tipos de datos? Son los mismos tipos de datos, pero en un orden diferente. Creemos otra base de datos estándar y declaremos las mismas 4 variables, pero nuevamente en un orden diferente. Compile su código de PLC y ahora compare el desplazamiento de las 3 bases de datos. Vea la imagen 7. Imagen 7: tres bases de datos diferentes con tres desplazamientos diferentes Ocurrió lo mismo nuevamente. ¿Qué son las bases de datos estándar? ¿Cuál es el desplazamiento? Los bloques de datos con acceso estándar tienen una estructura fija. Cuando declaras una variable dentro de una base de datos estándar, a esta variable se le asignará una dirección fija dentro de esta base de datos. La dirección de esta variable se muestra en la columna “Offset”. Por lo tanto, lo que estábamos viendo dentro del offset en las imágenes anteriores era la dirección asignada para cada variable. Como la estructura de las bases de datos estándar es fija, solo puedes trabajar dentro de las bases de datos con capacidad de memoria fija, es decir, un área de 16 bits o 2 bytes. Esta es la razón por la que las mismas variables se direccionan de manera diferente cuando cambiamos el orden de declaración. Para obtener más explicaciones, consulta la imagen 8. Imagen 8: representación simple de DB2 La imagen 8 muestra una representación simple del bloque de datos estándar DB2. Como dijimos antes, una base de datos estándar tiene bloques de memoria fijos de 16 bits, por lo que, cuando declaramos que la Variable_1 es del tipo de datos BOOL, esta Variable ocupará los 16 bits completos aunque solo necesite 1 bit de memoria. Por eso, el resto del área se ve marcada en rojo porque no se usa pero ya no se puede usar. Por lo tanto, es una memoria perdida. Con la Variable_2, el tipo de datos INT necesita 16 bits, por lo que está utilizando 2 bytes completos. Lo mismo con la Variable_4, que es del tipo de datos WORD. Con la Variable_3, ocupamos 4 bytes porque es del tipo de datos REAL. Por eso, el desplazamiento para DB2 es 0.0, 2.0, 4.0 y 8.0 respectivamente. El mismo concepto se ejecuta para DB3 y DB4. Pero debido a que el orden de los tipos de datos de las variables es diferente, la representación de la memoria será diferente y, por lo tanto, el desplazamiento será diferente. Vea las imágenes 9 y 10 para DB3 y DB4. Vea si puede comprender la representación en función de la explicación anterior. Imagen 9: representación de la memoria de DB3 Imagen 10: representación de la memoria de DB4 Por lo tanto, cuando trabaja con una base de datos estándar, debe tener cuidado al declarar sus variables, sabiendo que habrá una pérdida de memoria cada vez que defina una nueva variable BOOL. Si declara la nueva variable al final de su lista de base de datos, el desplazamiento se extenderá para incluir su nueva variable. Pero si declara la nueva variable entre su antigua o al comienzo de la base de datos, sucederá algo más. Vea la imagen 11. Imagen 11: Declaración de una nueva variable Lo primero que notará es que su desplazamiento ahora se perdió y debe compilar su código para restablecer el nuevo desplazamiento. Vea la imagen 12. Imagen 12: restablezca su desplazamiento recompilando su código ¿Observó cómo ha cambiado ahora el direccionamiento de las variables (OFFSET)? Por ejemplo, el desplazamiento de la etiqueta REAL era 2.0, pero después de agregar la nueva variable de prueba, el direccionamiento de la misma etiqueta REAL (OFFSET) ahora es 4.0, vea la imagen 13. Imagen 13: cambio de desplazamiento después de agregar la variable de prueba Entonces, al agregar una nueva variable, se cambió el direccionamiento de todas las variables antiguas. Eso significa que cualquier instrucción en su programa que necesite escribir o leer el valor de una determinada variable ahora buscará en la dirección asignada en la instrucción, pero ahora la dirección tiene datos diferentes a los esperados. En pocas palabras, toda su lógica ahora está desordenada. Eso generará muchos problemas. Sin mencionar que ahora tiene memoria extra perdida después de agregar la nueva variable. Vea la imagen 14. Imagen 14: agregar una instrucción MOVE Agreguemos una instrucción MOVE para mover un valor de 1 a la etiqueta Variable_2. Observe cómo la dirección de la salida MOVE es %DB2.DBW2. Ahora, agreguemos una nueva variable de tipo INT a DB2. Vea la imagen 15. Imagen 15: agregar una nueva variable INT Cuando agrega la nueva variable, se pierde el desplazamiento y el PLC ya no sabe dónde está el destino de OUT1 de la instrucción MOVE. Necesitamos compilar el programa para volver a cargar el nuevo desplazamiento. Vea la imagen 16. Imagen 16: nueva dirección de OUT1 ¿Ve cómo la dirección de OUT1 ahora es diferente? Ahora es %DB2.DBW4 en lugar de %DB2.DBW2. Esta es una gran desventaja de usar bloques de datos estándar. ¿Qué son las bases de datos optimizadas? La diferencia entre los bloques de datos optimizados y los bloques de datos estándar es que las variables dentro de un bloque de datos optimizado no se asignan a una dirección fija, sino que se les da un nombre simbólico, además la estructura del bloque de datos no es fija como los bloques de datos estándar, por lo que no hay pérdida de memoria ni cambios en las direcciones al declarar nuevas etiquetas. Ver imagen 17. Imagen 17: Declaración de nueva etiqueta en bloques optimizados Por lo tanto, declarar nuevas etiquetas en bloques de datos optimizados no afectará al resto de las etiquetas, ya que se definen por nombres simbólicos en lugar de direcciones absolutas. Un bloque de datos optimizado no le permitirá usar direcciones cuando trabaje con las etiquetas definidas dentro de él. Consulte la imagen 18. Imagen 18: direccionamiento absoluto con bloques optimizados Como puede ver en la última imagen, no se permite el direccionamiento absoluto con un bloque de datos optimizado y solo se permiten nombres simbólicos. Consulte la imagen 19. Imagen 19: uso de nombres simbólicos con bases de datos optimizadas Ventajas de los bloques de datos con acceso optimizado Los bloques de datos con acceso optimizado no tienen una estructura definida fija. A los elementos de datos (etiquetas) solo se les asigna un nombre simbólico y no se utiliza ninguna dirección fija dentro del bloque. Los elementos se guardan automáticamente en el área de memoria disponible del bloque para que no haya espacios vacíos en la memoria. Esto permite un uso óptimo de la capacidad de memoria y evita la pérdida de memoria en comparación con las bases de datos estándar. Esto proporciona las siguientes ventajas: Puede crear bloques de datos con cualquier estructura sin prestar atención a la disposición física de las etiquetas individuales. El acceso rápido a los datos optimizados está siempre disponible porque el almacenamiento de datos está optimizado y gestionado por el sistema. No es posible que se produzcan errores de acceso, como por ejemplo con el direccionamiento indirecto o desde la HMI. Como ahora hay direcciones, solo nombres simbólicos únicos para cada etiqueta. Puede definir etiquetas individuales específicas como retentivas. En las bases de datos estándar, solo puede definir todo el bloque como retentivo. Conclusión Los bloques de datos optimizados tienen muchas ventajas en comparación con las bases de datos estándar. El uso de nombres simbólicos ayuda a evitar cualquier cambio de dirección de las etiquetas al agregar nuevas variables a su bloque. Con los bloques optimizados, no se pierde ningún área de memoria. Al contrario de lo que sucede cuando se utilizan bases de datos estándar. -
Hora local y del sistema en PLC
xiangjinjiao posted A plc and hmi article in Spanish in PLC programming learning
En artículos anteriores, hablamos sobre los temporizadores en PLC, los diferentes tipos y cómo usarlos. Los temporizadores en realidad no necesitan tiempo real para funcionar, ya que solo dependen de contar segundos o milisegundos según la configuración. Pero para algunas aplicaciones, es necesario conocer la fecha y hora reales del programa PLC, por ejemplo, para fines de diagnóstico. En este artículo, hablaremos sobre la hora local y del sistema de un PLC. Contenido: ¿Por qué necesito tiempo real en PLC? Programa de ejemplo y simulación ¿Qué es la hora del sistema? ¿Qué es la hora local? Conclusiones. ¿Por qué necesito tiempo real en PLC? En muchas aplicaciones de PLC, es necesario conocer el tiempo real mientras se ejecuta el proceso, por muchas razones diferentes. A continuación, se muestran algunas de estas razones: Copia de seguridad del PLC en el servidor principal. Para el diagnóstico del PLC, es necesario tener un registro de tiempo para el diagnóstico, para saber a qué hora se ha producido un determinado evento, de lo contrario, la información de diagnóstico no sería muy útil. Para las aplicaciones en las que se necesita trabajar con las interrupciones de hora del día OB10, se necesita saber la hora real. Es posible que deba utilizar la hora local o la hora del sistema en partes de su lógica en las que necesita manejar aplicaciones en tiempo real. Para el registro de datos, si tiene datos importantes para guardar y necesita la marca de tiempo para cada registro de datos, entonces necesita tener la configuración de hora correcta para su PLC para que los datos almacenados tengan sentido. Programa de ejemplo y simulación de PLC Para comprender mejor qué es la hora del sistema y la hora local en un PLC, comenzaremos por crear un programa muy simple y lo utilizaremos para explicar el concepto de horas reales dentro de los PLC. Verifique el siguiente paso: En este artículo, no crearemos ninguna lógica de PLC, pero mostraremos algunas configuraciones relacionadas con la hora del sistema y la hora local en el PLC, cómo configurarlas y cuáles son las diferencias. Abra el portal Siemens Tia, agregue un nuevo dispositivo y, esta vez, utilizaremos la CPU 1512C-1 PN. Vea la imagen 1. Imagen 1: agregue un nuevo PLC Compile e inicie una nueva simulación de PLC. Abra la página de diagnóstico y en línea y verifique la hora establecida del PLC. Vea la imagen 2. Imagen 2: hora en línea del PLC En la imagen anterior, puede ver que hay dos horas diferentes: La hora de PG/PC: esta es la hora local de su propia PC. La hora del módulo: esta es la hora real dentro del propio PLC. Ambas horas se pueden configurar con el mismo valor o pueden ser diferentes. Es mejor que sean iguales, es mejor que la hora del módulo sea similar a su hora local o, más específicamente, similar a la hora local del área donde se utilizará el PLC. Consulte la imagen 3. Imagen 3: Establecer la hora del PLC Si desea que la hora del módulo sea la misma que la hora local, seleccione Tomar de PG/PC y presione aplicar. En su OB1 principal, arrastre y suelte las instrucciones RD_SYS_T y RD_LOC_T. Estas son las instrucciones de lectura de la hora del sistema y lectura de la hora local. Estas instrucciones son funciones integradas FC dentro del PLC y se utilizan para escribir la hora local y la hora del sistema del PLC en cualquier destino que elija en la salida OUT de la instrucción. Consulte la imagen 4. Imagen 4: Agregar instrucciones de lectura de la hora del sistema y la hora local Agregue un nuevo bloque de datos global y defina algunas etiquetas con las que trabajar. Consulte la imagen 5. Imagen 5: Crear un nuevo bloque de datos global Ejecute su simulación nuevamente y verifique ambas horas. Consulte las imágenes 6 Imagen 6: hora local y del sistema en línea del PLC En la imagen anterior, puede ver que la hora local y la hora del sistema del PLC son las mismas, pero son diferentes de la hora local real de su PC. Si recuerda, hemos configurado la hora del módulo del PLC para que sea similar a la hora de la PG/PC, que es su hora local. Consulte la imagen 7. Imagen 7: hora del módulo y hora de la PG/PC Como puede ver, en la página de configuración de la hora, se elige que la hora del módulo se tome de la hora de la PG/PC. Pero, en los casos reales, son diferentes. ¿Por qué? ¿Por qué las horas son diferentes? Debido a que la configuración predeterminada de la hora local del PLC es UTC+0 o la hora Zulu, si está familiarizado con ese término, no la cambia desde la página de diagnóstico y en línea, sino desde las propiedades del propio PLC. Ver imagen 8. Imagen 8 – Configuración de la hora del día en un PLC Como puede ver, la configuración predeterminada de la hora del día del PLC está establecida en UTC+0, y es por eso que la hora del módulo PLC era diferente de su hora local real. A menos que estuviera en Londres, en cuyo caso no tendría este problema. Para corregir la hora local del PLC, tenemos que cambiar eso en la configuración, necesitamos cambiar la zona horaria a la zona horaria que tenemos, que en mi caso es UTC+02:00. Ver imagen 9. Imagen 9 – Ajuste de la hora local del PLC a su zona horaria También puede ver que la opción de horario de verano se desactivó porque no se usa en mi país. Tendrá que activarla si se usa en su área. Ahora que todas las configuraciones están configuradas correctamente, vuelva y vea la hora local y la hora del sistema nuevamente en la simulación. Vea la imagen 10. Imagen 10: la hora local del PLC ahora es la misma que la de la PC Ahora, después de ajustar la zona horaria del PLC, puede ver que la hora local del PLC y la hora local real de su área son las mismas. Como dijimos antes, es muy importante configurar la hora local correcta del PLC, por las muchas razones que mencionamos anteriormente. ¿Puede definir ahora cuál es la hora del sistema y la hora local del PLC? Hora del sistema en el PLC Es la hora del módulo del reloj de la CPU. El reloj de la CPU interpreta la hora del módulo como la hora universal coordinada (UTC). En consecuencia, la hora del módulo siempre se almacena sin los factores “zona horaria local” u “hora de verano” en el reloj de la CPU. A continuación, el reloj de la CPU calcula la hora local del reloj de la CPU basándose en la hora del módulo. La hora del módulo del reloj de la CPU se utiliza como plantilla para todos los procesos de tiempo que comienzan desde la CPU. Ejemplos de uso: Cálculo de la hora local del reloj de la CPU basándose en la hora del módulo Representación de la hora del módulo en hora local en “Online & Diagnostics” Entradas en el búfer de diagnóstico de la CPU Hora local en el PLC La información sobre la zona horaria y el inicio del horario de verano y la hora estándar, que ha configurado en la configuración del reloj de la CPU, se utiliza para mostrar la hora local. La hora local es la hora que tiene en su PC o en su país, que será diferente de una zona a otra. Conclusión Muchas aplicaciones requerirán que el PLC conozca la hora real o local del proceso, de modo que pueda realizar ciertas tareas, por ejemplo, el registro de datos y las tareas de diagnóstico. En un próximo artículo, mostraremos algunas aplicaciones en las que se necesita tiempo real para su lógica. La hora local del PLC debe configurarse manualmente para que coincida con el área donde se utilizará el PLC. -
SIEMENS-ES OB1 – Bloque de organización cíclica principal en TIA Portal
caixiaofeng posted A plc and hmi article in Spanish in PLC programming learning
En artículos anteriores, analizamos los diferentes tipos de bloques en SIEMENS TIA Portal; hablamos sobre bloques de función FB, funciones FC y bloques de datos DB. En este artículo, abordaremos otro tipo de bloque en los PLC de SIEMENS, estos son los bloques de organización, y en este artículo, analizaremos el bloque de organización más importante de todos, que es el bloque de organización principal u OB1. Contenido: ¿Qué son los bloques de organización? Diferentes tipos de OB. ¿Qué es OB1? Monitoreo del tiempo de ciclo. Ejemplo de programa simple. Conclusión. ¿Qué es un bloque de organización (OB)? Los bloques de organización, puedes pensar en ellos como funciones FC o bloques de función FB. Pero la diferencia es que no los llamas, el sistema operativo del PLC llama a estos bloques de organización, ya sea que el sistema operativo llame al OB cíclicamente como OB1 o que se llame cuando ocurre un determinado evento, de cualquier manera, el sistema operativo se encarga de ello. Solo necesitas crear el bloque y agregar la lógica que quieras dentro del bloque. A veces ni siquiera necesitas agregar ningún código dentro del OB, solo crear el OB en sí puede brindar muchos beneficios, que veremos cuando analicemos algunos de esos OB. Los bloques de organización son la interfaz entre el sistema operativo del PLC y el programa de usuario. Cualquier PLC tendrá dos programas diferentes, el programa de tiempo de ejecución que es el sistema operativo del PLC y el programa de usuario que es la lógica o el código que el programador del PLC escribirá para controlar un determinado proceso. Estos dos programas diferentes necesitan comunicarse entre sí, y los bloques de organización OB son la forma de hacerlo. Los bloques de organización OB se utilizan para realizar muchas tareas, algunas de las cuales se enumeran a continuación: Características de inicio del sistema de automatización Procesamiento cíclico del programa Ejecución del programa impulsada por interrupciones Manejo de errores. Diferentes tipos de bloques de organización Los bloques de organización son básicamente las herramientas del sistema operativo para realizar muchas tareas. Diferentes tareas requieren diferentes OB, y es por eso que tiene muchos OB diferentes dentro de un PLC, la cantidad de OB diferentes dependerá del tipo de PLC que esté utilizando, pero aquí se muestran algunos de los OB más comunes que puede encontrar en casi todos los PLC SIEMENS: OB 1 cíclico principal. OB de interrupciones de tiempo. OB de hora del día. OB de errores de software. OB de errores de hardware Hay muchos más bloques de organización disponibles para usar con su lógica. Vea la imagen 1. Imagen 1: diferentes bloques de organización disponibles en TIA Portal En este artículo, analizaremos el bloque de organización más importante de todos, que es el OB1 de interrupción cíclica principal. OB1 de interrupción cíclica principal El OB1 cíclico principal es el bloque de organización que se encarga de ejecutar cíclicamente su lógica por parte del PLC. Siempre que cree un nuevo proyecto y agregue un PLC, el OB1 principal se creará automáticamente por el software. Estos son los bloques mínimos necesarios para un código de PLC. Ver imagen 2. Imagen 2: el OB1 principal se crea automáticamente Dentro de este OB1 principal, puede escribir todo su programa de PLC si se trata de un proyecto pequeño. Si su proyecto es bastante grande, entonces probablemente tenga algunas funciones FC o bloques de función FB que necesita ejecutar. En ese caso, utilizará el OB1 principal para llamarlos. Por supuesto, no tiene que llamar a cada FC o FB mediante el OB1, pero si su OB1 no es el primer bloque de sus llamadas anidadas, entonces no se ejecutará. Ver imagen 3. Imagen 3: Llamada a sus bloques mediante el OB1 La base esencial de su código de PLC es el comportamiento cíclico, lo que significa que necesita que su código se ejecute continuamente. Cuando se haya completado el procesamiento de su lógica, el sistema operativo comienza a procesarlo nuevamente. Esto se hace mediante el uso del OB1 principal, se coloca y se llama toda la lógica y el código dentro de este OB1 y el sistema operativo se asegurará de ejecutarlo continuamente. Debe saber que, incluso si no puede crear un bloque OB1, ya que se crea automáticamente al agregar un nuevo PLC, puede crear más de un bloque de interrupción cíclica. OB1 es una interrupción cíclica, que el sistema operativo llamará y ejecutará de manera automática y continua cualquier lógica que esté dentro. Sin embargo, para proyectos de PLC grandes donde tiene tantas funciones y bloques de funciones en su lógica de PLC, puede usar más de un OB de interrupción cíclica para estructurar mejor su código y hacerlo más fácil de leer y seguir. En ese caso, crearía otra interrupción cíclica, consulte la imagen 4. Imagen 4: Creación de más de un OB cíclico Cuando ha creado varios OB de ciclo de programa, estos se llaman uno después del otro en el orden de sus números de OB. El OB de ciclo de programa con el número de OB más bajo se llama primero. Véase la imagen 5. Imagen 5: ciclo de programa con más de un OB cíclico Una vez finalizado el programa cíclico, el sistema operativo actualiza las imágenes de proceso de la siguiente manera: Escribe los valores de la salida de la imagen de proceso en los módulos de salida. Lee las entradas en los módulos de entrada y las transfiere a la entrada de la imagen de proceso. Los dos pasos anteriores más la ejecución del programa del PLC se denominan ciclo de escaneo. Ver imagen 6. Imagen 6 – Ciclo de escaneo de un PLC Siemens Supervisión del tiempo de ciclo El tiempo de ciclo se refiere al tiempo de ejecución del programa cíclico, incluido el tiempo de ejecución de todas las partes del programa anidadas como FC, FB y OB de mayor prioridad. Si ha creado varios OB de ciclo de programa, cada OB de ciclo de programa contribuye al tiempo de ciclo. El sistema operativo supervisa si el tiempo de ciclo sigue siendo menor que el tiempo de ciclo máximo configurado. Si supera el tiempo de ciclo máximo, el PLC pasará al modo STOP o llamará al OB80 según su programación. Además de supervisar el tiempo de ciclo máximo, también es posible garantizar un tiempo de ciclo mínimo. Para ello, el sistema operativo retrasa el inicio de un nuevo ciclo hasta que se alcanza el tiempo de ciclo mínimo. Puede configurar el tiempo de ciclo mínimo y máximo en las propiedades de configuración de su PLC. Vea la imagen 7. Imagen 7: Configure el tiempo de ciclo mínimo y máximo Ejemplo de programa simple en PLC Imagen 8: Ejemplo de programa de PLC Para comprender mejor el ciclo del programa de PLC y la ejecución de OB1, creemos un programa simple. Este programa utilizará una instrucción de suma que acumulará un valor de 1 en un área de memoria cada 1 ciclo de escaneo. Vea la siguiente simulación. Como puede ver en la animación, la instrucción de suma se ejecuta muy rápido; así de rápido es el ciclo de escaneo. Dependerá de la potencia de su PLC. Pero principalmente el ciclo de escaneo está en el rango de milisegundos. Conclusión Los bloques de organización son la interfaz entre el sistema operativo del PLC y el programa de control. El sistema operativo ejecuta cíclicamente el OB cíclico principal 1. Ejecutará su lógica incluyéndola dentro de uno o más OB cíclicos. El tiempo de ciclo de escaneo es el tiempo que se utiliza para ejecutar su lógica 1 vez. -
SIEMENS-ES Tia Portal – Bloque de organización de interrupción horaria OB10
caixiaofeng posted A plc and hmi article in Spanish in PLC programming learning
En un artículo anterior, analizamos qué es un bloque de organización y hablamos de un bloque de organización muy importante, que es el OB1 principal. En este artículo, continuaremos analizando los diferentes OB y esta vez hablaremos de los bloques de organización de interrupción horaria u OB10. Contenido: ¿Qué es el OB10 de interrupción horaria? ¿Cómo crear y utilizar el OB10? Ejemplo de programa simple. Reglas importantes para las interrupciones horarias. Conclusiones. ¿Qué es una interrupción horaria (OB10)? Como sugiere el nombre, una interrupción horaria es un bloque de organización que interrumpirá la ejecución del ciclo principal de su programa de PLC en un momento determinado del día. Este momento de interrupción (fecha y hora) se puede especificar para que ocurra una vez a una hora específica o para que ocurra periódicamente en intervalos de tiempo específicos, por ejemplo, cada minuto, hora, día, semana y algunas otras opciones. Puede tener más de una interrupción horaria en el mismo programa, no es necesario que tengan la misma lógica o código, cada una puede tener su propia funcionalidad y también cada una puede configurarse por separado para que se produzca en un momento específico. ¿Cómo crear y utilizar el OB10? Para crear una interrupción horaria, siga los mismos pasos que seguiría si necesitara agregar un nuevo bloque a su lógica. Vea la imagen 1. Imagen 1: Agregar una interrupción horaria Presione la opción Agregar nuevo bloque en el árbol del proyecto a la izquierda, elija el bloque de organización y luego elija una interrupción horaria como se muestra en la imagen anterior. Ahora puede abrir el OB10 y agregar cualquier lógica de PLC que desee ejecutar cuando se llame a este bloque, por llamado queremos decir que se produjo el evento o la hora de interrupción y, por lo tanto, el sistema operativo interrumpirá el ciclo principal y ejecutará el OB10. Escribiremos un código muy simple en el OB10 para ayudarnos a comprender mejor cómo funciona este bloque OB10. En esta lógica, usamos la instrucción add para agregar un valor de 1 a un área de memoria que llamamos TimeOfDayInterruptCounter y luego colocamos el resultado de la suma nuevamente en la misma área. De esa manera, podemos tener un contador para la ejecución del OB10. Cada vez que se llame y ejecute el OB10, el valor de TimeOfDayInterruptCounter aumentará en 1. Vea la imagen 2. Imagen 2: agregue su lógica al OB10 Ahora que hemos creado el OB10 y hemos escrito algo de lógica dentro, necesitamos configurar el tiempo establecido del OB10 y cuántas veces queremos que interrumpa nuestro ciclo principal. Para configurar el tiempo y el intervalo del OB10, debemos ir a la página de propiedades del OB10. Consulte la imagen 3. Imagen 3: Propiedades del OB10 En las propiedades del OB10, encontrará una gran cantidad de configuraciones y atributos que puede configurar. Lo que necesitamos ahora es la página de interrupción de la hora del día para que podamos configurar cuándo se llamará al OB10 y cuántas veces. Consulte la imagen 4. Imagen 4: Configuración de la interrupción de la hora del día Como puede ver en la última imagen, puede configurar la ejecución del OB10, la fecha de inicio y la hora del día en la que se debe ejecutar el OB10. Para fines de simulación, hicimos que el intervalo de ejecución sea cada minuto para que el OB10 se llame y se ejecute cada minuto. Eso significa que a partir de la fecha del 23/3/2023 y la hora 09:25 AM, el valor de TimeOfDayInterruptCounter aumentará en 1 cada minuto. Tiene la opción de configurar la hora de acuerdo con la hora del sistema del PLC o la hora local, como puede ver en la última imagen. En un artículo anterior, hablamos sobre la hora del sistema y la hora local del PLC, qué significa cada hora y cómo configurarlas y usarlas. Como dijimos antes, la hora local es la hora que ve ahora en su PC. Por lo tanto, es la hora real de la región donde se utilizará el PLC. Debe configurar la hora local para el PLC, según dónde se utilizará. Vea la imagen 5. Imagen 5: Configuración de la hora local para el PLC Ejemplo de programa de PLC simple Agregamos una interrupción de hora del día OB10 a nuestro programa de PLC y la configuramos para que se ejecute cada minuto. También configuramos la hora local del PLC. Creamos una lógica simple de una instrucción ADD para acumular el valor de TimeOfDayInterruptCounter en 1 cada vez que se ejecuta el OB10. Agregaremos otra instrucción, pero en el OB1 principal, esta instrucción es RD_LOC_T o leer hora local, para que podamos ver cómo avanza la hora local y compararla con la ejecución del OB10. Ver imagen 6. Imagen 6: ejemplo de programa simple Compile su programa de PLC e inicie una nueva simulación. Observe que configuraremos la hora del día en que se produce la interrupción para que se pueda llamar y ejecutar el OB10 mientras estamos simulando la lógica del PLC. Vea la siguiente simulación. Como se puede ver en la animación, el valor de TimeOfDayInterruptCounter es cero al inicio y luego se incrementará en 1 cada minuto a partir de las 09:25 AM, lo que indica que el OB10 se ejecuta cada minuto. Reglas importantes para las interrupciones horarias Si configura una interrupción horaria de tal manera que el OB correspondiente se debe procesar una vez, la hora de inicio no debe ser anterior (en relación con el reloj de tiempo real de la CPU). Si configura una interrupción horaria de tal manera que el OB correspondiente se debe procesar periódicamente, pero la hora de inicio es anterior, entonces el OB de interrupción horaria se procesará la próxima vez que sea debido según la hora actual. La fecha de las interrupciones horarias periódicas debe corresponder a una fecha real. Por lo tanto, por ejemplo, la repetición mensual de un OB de interrupción horaria con una fecha de inicio del 31/1 no es posible. En este caso, un OB solo se inicia en los meses que tienen 31 días. Una interrupción de tiempo activada durante el inicio no se ejecuta hasta que el inicio se haya completado. Un inicio elimina todas las interrupciones de tiempo que se establecieron y activaron mediante una instrucción en el programa de usuario. Conclusión OB10 es un bloque de organización que se puede configurar para interrumpir el ciclo de su programa en un día y hora determinados. Esta interrupción puede ocurrir una vez o periódicamente cada cierto tiempo. No hay una razón específica por la que necesitaría un OB10, ya que depende de su proceso y su lógica. Y sí, puede lograr la misma funcionalidad utilizando su código personal, pero es una función incorporada disponible y fácil de usar. Y usted sabe cómo usarla. -
SIEMENS-ES Tia Portal – Bloque de organización de interrupción de retardo de tiempo OB20
caixiaofeng posted A plc and hmi article in Spanish in PLC programming learning
En artículos anteriores, analizamos qué es un bloque de organización y hablamos sobre la interrupción cíclica principal OB1 y la interrupción de hora del día OB10. En este artículo, continuaremos analizando los diferentes OB y, esta vez, hablaremos sobre el bloque de organización de interrupción de retardo de tiempo u OB20. Contenido: ¿Qué es OB20? ¿Cómo llamar a OB20? Parámetros de la instrucción SRT_DINT. Programa de ejemplo. Conclusión. ¿Qué es la interrupción de retardo de tiempo (OB20)? OB20 es un bloque de organización que es llamado y ejecutado por el sistema operativo, pero tenemos que decirle al sistema operativo cuándo llamar a este OB20. El sistema operativo obtiene la información del programa PLC del usuario para llamar a este OB20, esperará el tiempo de retardo configurado y luego llamará y ejecutará cualquier lógica que esté dentro del OB20. Creamos un bloque OB20 desde Agregar un nuevo bloque en el árbol del proyecto. Ver imagen 1. Imagen 1 – Crear un nuevo bloque OB20 Ahora que he creado una interrupción de retardo de tiempo, ¿cuándo se ejecutará? ¿Y cómo configurar el retardo de tiempo de la ejecución del bloque? Nuevamente, OB20 es un bloque de organización, lo que significa que no llamas al bloque para que se ejecute, sino que le dices al sistema operativo cuándo puede llamarlo y ejecutar cualquier funcionalidad que esté escrita dentro. ¿Cómo decirle al sistema operativo que llame al OB20? Para decirle al sistema operativo que queremos llamar al OB20, usamos SRT_DINT o la interrupción de retardo de tiempo de inicio, ver imagen 2. Imagen 2 – Instrucción de retardo de tiempo de inicio Parámetros de la instrucción SRT_DINT Como ves en la última imagen, puedes usar la instrucción SRT_DINT para llamar al OB20. pero es necesario configurar algunos parámetros para que la instrucción funcione. EN: la instrucción no se ejecutará hasta que se presente una señal de flanco negativo en la entrada EN. Eso significa que debe asignar una condición del conjunto de condiciones para habilitar la señal y la instrucción solo funcionará cuando esta condición sea verdadera y luego falsa nuevamente. OB_NR: asigna el número de la interrupción de retardo que necesita llamar, en nuestro caso 20 ya que creamos OB20, pero podemos crear más de una interrupción de retardo y luego tendremos que llamar a cada una con una instrucción SRT_DINT separada. DTIME: ese es el tiempo de retardo que desea esperar antes de ejecutar el OB20, estableceremos este tiempo en 5 segundos para fines de simulación. SIGN: Identificador que aparece cuando se llama al OB de interrupción de retardo de tiempo en la información del evento de inicio del OB. Programa de PLC de ejemplo Para comprender mejor el OB20, crearemos una lógica simple para ver cómo se puede llamar y ejecutar un OB20. Construiremos este ejemplo de PLC sobre la lógica que creamos para el OB1 y el OB10 en artículos anteriores. Dentro del OB20 crearemos una lógica que cuente cuántos ciclos del OB1 se han llamado y ejecutado dentro del tiempo de retardo de 5 segundos que hemos configurado para el OB20. Ver imagen 3. Imagen 3: lógica dentro del OB20 En la última imagen, puede ver que usamos la instrucción MOVE para enviar información sobre los recuentos de ciclos al inicio de la llamada al OB20 y después de que se haya ejecutado. Ver imagen 4 para el resto de la lógica. Imagen 4: calcular cuántos ciclos se cuentan en 5 segundos Después de eso, restaremos los dos valores de los recuentos de ciclos para obtener cuántos ciclos se han ejecutado dentro del retraso de cinco segundos. Ahora que hemos creado la lógica que queremos, ¿cómo podemos llamar al OB20? Como se explicó anteriormente, tenemos que utilizar la instrucción SRT_DINT. Utilizaremos esta instrucción dentro del OB10 que hemos configurado antes para que se ejecute cada minuto. Eso significa que el OB20 también se llamará y ejecutará cada minuto, pero con un tiempo de retardo de 5 segundos. En el artículo anterior, creamos una lógica que indica cuántas veces se llama y ejecuta el OB1, también creamos otra lógica que llamará al OB10 cada minuto. En este ejemplo, utilizaremos la llamada del OB10 para llamar al OB20. Ver imagen 5. Imagen 5: Llamada al OB20 a través del OB10 Dijimos antes que el SRT_DINT necesita una señal de flanco negativo en el EN para que comience la llamada. Es por eso que utilizamos la señal TimeOfDayInterruptEnabled que sabemos que será verdadera cuando se ejecute el OB10 y luego volverá a ser falsa, lo que nos dará la señal de flanco que necesitamos. Ahora que toda la lógica del PLC está completa, compilemos y ejecutemos una nueva simulación. Vea la siguiente simulación de nuestro proyecto. En la animación, al principio, los valores de los recuentos de ciclos son cero, pero cuando se llama al OB10 y la lógica TimeOfDayInterruptEnabled es verdadera, esperará 5 segundos y luego los valores de recuento se actualizarán con los recuentos de ciclos. Conclusión OB20 es un bloque de organización llamado y ejecutado por el sistema operativo. Podemos indicarle al sistema operativo que llame al OB20 con la instrucción SRT_DINT. -
SIEMENS-ES Tia Portal – Bloque de organización de interrupción cíclica OB30
caixiaofeng posted A plc and hmi article in Spanish in PLC programming learning
En artículos anteriores, analizamos diferentes tipos de bloques de organización, como el OB1 principal, que es el bloque principal del programa cíclico; en este artículo, abordaremos otro bloque de organización cíclica. El OB30 u OB de interrupción cíclica. Contenido: ¿Qué es el OB30 de interrupción cíclica? ¿Qué es el ciclo OB1 principal? ¿Por qué necesito el OB30? ¿Cómo configurar las interrupciones cíclicas? ¿Qué sucede si tengo más de una interrupción cíclica? Conclusión. ¿Qué es el OB30 de interrupción cíclica? Un OB30 de interrupción cíclica es un bloque de organización que se llama y se ejecuta en intervalos de tiempo específicos y exactos; a diferencia del OB1 cíclico principal, que se llama y se ejecuta continuamente, la interrupción cíclica se llamará en intervalos de tiempo que debe configurar al crear un OB de interrupción cíclica. Por ejemplo, si he creado un OB30 con un intervalo de tiempo _también llamado tiempo de ciclo_ de 20 ms, eso significa que el sistema operativo interrumpirá el OB1 de ciclo principal y llamará al OB30 cada 20 ms. Debe asegurarse de que el tiempo de ejecución de un OB de interrupción cíclica sea menor que su intervalo de tiempo. De lo contrario, podría ocurrir que la siguiente llamada del OB30 llegue mientras esta llamada del OB30 todavía se está ejecutando. En este caso, el sistema operativo genera un error de tiempo que puede provocar que el PLC pase al modo STOP. ¿Qué es el OB1 de ciclo principal? El OB1 cíclico principal es el bloque de organización que se encarga de ejecutar cíclicamente su lógica por parte del PLC. Siempre que cree un nuevo proyecto y agregue un PLC, el software creará automáticamente el OB1 principal. La base esencial de su código de PLC es el comportamiento cíclico, lo que significa que necesita que su código se ejecute de forma continua. Cuando se ha completado el procesamiento de su lógica, el sistema operativo comienza a procesarla de nuevo. Esto se hace mediante el uso del OB1 principal, usted coloca y llama toda su lógica y código dentro de este OB1 y el sistema operativo se asegurará de ejecutarlo continuamente. El tiempo de ciclo del OB1 principal se refiere al tiempo de ejecución del programa cíclico, incluido el tiempo de ejecución de todas las partes del programa anidadas como FC, FB y OB de mayor prioridad. Si ha creado varios OB de ciclo de programa, cada OB de ciclo de programa contribuye al tiempo de ciclo. El sistema operativo monitorea si el tiempo de ciclo permanece más pequeño que el tiempo de ciclo máximo configurado. Si excede el tiempo de ciclo máximo, el PLC pasará al modo STOP o llamará al OB80 según su programación. ¿Por qué necesito el OB30? Alguien podría argumentar que puedo colocar cualquier funcionalidad dentro del OB30 en el OB1 principal e intentar salirme con la mía dependiendo del desempeño muy rápido de la mayoría de los PLC actuales. Esto puede estar bien a veces, pero no siempre. Dependiendo del rendimiento de su PLC, el tiempo de ciclo principal podría ser de entre 1 y 150 ms; puede ser diferente, pero esta es la configuración estándar; este tiempo de ciclo depende de muchos factores, como el tamaño de su programa de PLC, interrupciones dentro de su lógica y otros factores que probablemente harán que el tiempo de ejecución de su ciclo no sea estable. Ahora, si necesita realizar cierta funcionalidad exactamente cada 10 ms, no 9 ms ni 11 ms, no puede depender del OB1 principal, ya que el resultado podría no ser el deseado. En este caso, utiliza la interrupción cíclica OB30, la configura con los 10 ms que desea y el sistema operativo se asegurará de llamar y ejecutar esta función exactamente cada 10 ms. Por eso se llama interrupción; porque interrumpirá la ejecución del OB1 principal para llamar y ejecutar su OB30. Ejemplos de funcionalidad que necesita OB30 Procesamiento del controlador PID. Monitoreo de circuitos de seguridad. Monitoreo de la comunicación entre máquinas. Todos los ejemplos anteriores implican la necesidad de supervisar y comprobar continuamente los parámetros en determinados momentos, ya que se relacionan con magnitudes físicas reales o con la seguridad de la máquina. La ejecución de dichas funciones no debe retrasarse, ya que afectan a la seguridad y la continuidad de su proceso. ¿Cómo configurar interrupciones cíclicas? Al crear una interrupción cíclica, hay algunos parámetros que debe configurar. Consulte la imagen 1 para agregar un nuevo OB30. Imagen 1: Agregar nuevo OB30 de interrupción cíclica Al crear una interrupción cíclica, puede encontrar muchos parámetros que puede configurar en las propiedades del bloque; consulte la imagen 2. Imagen 2: Propiedades del OB30 Los parámetros más importantes que debe tener en cuenta son los siguientes: Tiempo de ciclo Use el parámetro “Tiempo de ciclo” para establecer el período de tiempo entre dos llamadas del OB de interrupción cíclica. Es un múltiplo entero de 1 µs. Desfase de fase Aquí se establece el período de tiempo en el que se desplazan los tiempos de inicio en comparación con el múltiplo del tiempo de ciclo. Véase la imagen 3 para la configuración del tiempo de ciclo y del desfase de fase. Imagen 3: Configuración del tiempo de ciclo y del desfase del OB30 Prioridad del OB de interrupción cíclica Este es otro parámetro importante que debe tener en cuenta al configurar una interrupción cíclica, ya que puede tener más de un bloque cíclico; si se necesita llamar a dos OB diferentes al mismo tiempo, el sistema operativo llamará y ejecutará el bloque con un número de prioridad más alto. Debe saber que el ciclo del programa principal del PLC OB1 tiene prioridad número 1, que es el nivel de prioridad más bajo que puede tener un bloque. Es por eso que el OB1 puede ser interrumpido por cualquier otra llamada de bloque. Vea la imagen 4. Imagen 4: Configuración de la prioridad del OB30 ¿Qué sucede si tengo más de una interrupción cíclica? No es raro que tenga más de una interrupción cíclica en su lógica. Si tiene dos controladores PID en la lógica de su PLC, es posible que necesite dos interrupciones cíclicas para manejar cada PID. En ese caso, debe asegurarse de que la llamada y la ejecución de diferentes interrupciones cíclicas no se superpongan. Por ejemplo, si tiene OB30 con un tiempo de ciclo de intervalo de 5 ms y OB31 con un intervalo de ciclo de 10 ms, eso significa que la segunda llamada del OB30 también será el momento de llamar al OB31. Esto puede provocar errores lógicos, incluso si establece la prioridad de uno de ellos para que sea mayor que la del otro, lo que arruinará el tiempo de ciclo para el bloque de menor prioridad. Consulte la imagen 5. Imagen 5: superposición de llamadas a diferentes interrupciones cíclicas En ese caso, puede ser recomendable un desfase de fase cuando utilice varios OB de interrupción cíclica. Si sus tiempos de ciclo tienen múltiplos comunes, puede utilizar un desfase de fase para evitar tiempos de inicio simultáneos. Consulte la imagen 6. Imagen 6: desfase entre diferentes llamadas de OB Por lo tanto, para evitar esta superposición, estableceremos el tiempo de desfase del OB31 en 1 ms. Esto significa que el conteo del intervalo de tiempo OB31 se verá desplazado 1 ms respecto del tiempo de inicio de OB30. Ver imagen 7. Imagen 7: configuración de desplazamiento de OB31 Conclusión Las interrupciones cíclicas son muy útiles para tareas críticas en cuanto al tiempo que no deberían enfrentar demoras. Puede tener más de una interrupción cíclica en su lógica. Utilice la configuración de desplazamiento de las interrupciones cíclicas para evitar tiempos de inicio simultáneos. Utilice la configuración de prioridad para controlar el orden de ejecución de diferentes interrupciones cíclicas. -
SIEMENS-ES Siemens PLC Tia Portal – Bloque de organización de arranque OB100
caixiaofeng posted A plc and hmi article in Spanish in PLC programming learning
En artículos anteriores comenzamos a analizar los diferentes bloques de organización de los PLC TIA Portal, hablamos sobre qué son los OB y analizamos algunos de los OB como OB1 (cíclica principal), OB10 y OB20 (interrupciones de retardo de tiempo del día y de retardo de tiempo, respectivamente). En este artículo, hablaremos sobre el OB100 o el bloque de organización de arranque en Siemens Tia Portal. Contenido: ¿Qué es el OB100? ¿Por qué se necesita el OB100? Notas importantes durante el arranque. Ejemplo de programa simple. ¿Qué es el bloque de organización de arranque (OB100)? El OB100 o el OB de arranque es un bloque de organización que el sistema operativo llama y ejecuta una vez al arrancar el PLC, es decir, una vez cada transición del modo STOP al modo RUN. El OB1 de ciclo principal no se llamará ni se ejecutará hasta que se ejecuten todas las funciones de arranque dentro del OB100. Puede tener más de un OB de inicio en la lógica de su PLC; si esto sucede, el sistema operativo los llamará y ejecutará todos uno por uno, comenzando desde un número de OB más bajo hasta un número más alto. Es decir, si tiene OB100 y OB123, se llamará y ejecutará primero el OB100 y luego el OB123. Después de ejecutar el OB100, el sistema operativo leerá los módulos de entrada en la PII e iniciará el programa de ciclo principal OB1. ¿Por qué necesita el OB100? El OB100 se utiliza para muchas tareas que puede querer o necesitar realizar antes de iniciar su lógica cíclica, por estos motivos: Inicializar variables. Reiniciar módulos del sistema. Recalibrar sensores/actuadores. Verificar alarmas y condiciones de seguridad antes de iniciar su proceso. Incluso si no ha creado un OB de inicio para su lógica, el sistema operativo aún tiene muchas tareas que necesita ejecutar antes de iniciar su lógica principal, algunas de estas tareas son: Borrar memorias no retentivas Borrar el PIQ Llamar y ejecutar OB de inicio, si los hay. Actualizar PII Habilitar salidas después de cambiar al modo RUN. ¿Observó que la última tarea de una rutina de inicio es habilitar las salidas? Es por eso que el primer paso para ejecutar el programa de ciclo principal OB1 es escribir el PIQ en el módulo de salida. Notas importantes durante el inicio Tenga en cuenta los siguientes puntos con respecto al modo “STARTUP”: Las salidas en los módulos están deshabilitadas. La imagen del proceso se inicializa. La imagen del proceso no se actualiza. Para leer el estado actual de las entradas durante el “STARTUP”, puede acceder a las entradas a través del acceso directo de E/S. Para inicializar las salidas durante el STARTUP, los valores se pueden escribir a través de la imagen del proceso o a través del acceso directo de E/S. Los valores se emiten en las salidas durante la transición al modo “RUN”. Se inicializan las memorias de bits no retentivas, los temporizadores y los contadores. Se inicializan las etiquetas no retentivas en los bloques de datos. Durante el inicio, todavía no se ejecuta ningún monitoreo del tiempo de ciclo. Ejemplo de programa simple En este ejemplo, agregaremos un OB100 de inicio a nuestra lógica de PLC y veremos cuántas veces se ejecuta el OB100. Vea la imagen 1 para agregar un nuevo OB100. Imagen 1: Agregar un OB100 Como puede ver en la última imagen, agrega bloques de organización de inicio de la misma manera que agregamos una función de un bloque de función. Dentro del OB100 que acabamos de crear, agregaremos una instrucción ADD simple para acumular cuántas veces se llama y ejecuta el OB100. Vea la imagen 2. Imagen 2: Acumule los tiempos de ejecución de OB100 Ahora, compile y ejecute su programa y vea qué sucede. Vea la siguiente animación para una simulación del programa PLC. Animación 1 Como puede ver en la animación anterior, el contador de ciclos OB100 es 1 y no cambia cuando el modo PLC pasa de STOP a RUN. Bueno, sí cambia, pero no ve este cambio. Cada vez que el PLC pasa al modo STOP y luego al modo RUN nuevamente, el contador se restablecerá a cero y luego a 1 nuevamente después de que se ejecute el OB100. También puede ver que el contador de ciclos OB1 principal cambia y, cuando el PLC se detiene y luego se ejecuta nuevamente, el contador de ciclos OB1 comenzará a acumularse nuevamente. Para ver el cambio en el contador de inicio, necesitamos conservar el valor de la memoria de etiquetas. Consulte la imagen 3. Imagen 3: Retener la memoria de la etiqueta OB100CycleCounter Después de retener la etiqueta OB100CycleCounter, ahora ejecute la simulación del PLC nuevamente y vea qué sucede. Consulte la animación de simulación 2. Animación 2 Ahora puede ver en la animación anterior que el contador de inicio aumenta cada vez que detengo el PLC y luego lo reinicio. Como ahora se retiene la memoria de la etiqueta, el valor no se restablecerá a cero y es por eso que ve que el valor del OB100CycleCounter se acumula. Ahora, necesito agregar una funcionalidad adicional a mi lógica de inicio del PLC, que es saber cuándo fue el último inicio del PLC. Lo lograremos a través de una lógica simple donde leo la hora local del PLC al inicio y muevo la fecha y la hora a un área de memoria determinada. Ver imagen 4. Imagen 4: Lectura de la hora local al iniciar Después de agregar la lógica, compile y ejecute la simulación nuevamente. Vea la animación de simulación de PLC 3. Animación 3 Puede ver en la animación anterior que cada vez que se inicia el PLC, la fecha y la hora de inicio se registrarán en el área de memoria que asignamos. Así que ahora tengo la información sobre cuántas veces se inició mi PLC y cuándo fue la última vez que se inició. Conclusión Los OB de inicio son muy importantes si desea evaluar alguna funcionalidad antes de poder ejecutar su proceso cíclico. Puede usar OB de inicio para inicializar parámetros, calibrar sensores e incluso verificar las condiciones de seguridad antes de permitir que se ejecute su proceso. -
SIEMENS-ES Tia Portal – Bloque de organización de interrupción por errores de programación OB121
leigehong posted A plc and hmi article in Spanish in PLC programming learning
En este artículo, continuamos nuestra discusión sobre los diferentes tipos de bloques de organización en los PLC de Siemens. Esta vez, hablaremos sobre el OB121 o la interrupción por errores de programación en el portal Tia. Contenido: ¿Qué son las interrupciones por errores de programación OB121? Ejemplos de errores de programación. ¿Qué sucederá si se detecta un error de programación? Simulación de un error de programación en el portal TIA. ¿Cómo puede ser útil el OB121 contra los errores de programación? Conclusiones. ¿Qué son las interrupciones por errores de programación (OB121)? El OB121 es un bloque de organización que será llamado por el sistema operativo del PLC si ocurre un error de programación mientras se ejecuta su lógica. Tenga en cuenta que no estamos hablando de un error de programación que será detectado por el compilador al intentar descargar su lógica en su PLC. Consulte la imagen 1. Imagen 1: el compilador detectará algunos errores de programación Como puede ver en la última imagen, hay un error de programación en la lógica de mi PLC; faltan algunos operandos en la entrada y salida de la Red 1. Pero el compilador detectó este error incluso antes de descargar la lógica en el PLC. El error de la imagen 1 no es del tipo de error de programación que puede provocar la necesidad de llamar al OB121. Los errores en su programa de PLC que el compilador no puede encontrar, pero que pueden causar problemas en su lógica mientras el PLC está en funcionamiento, son los errores de programación a los que nos referimos. Estos errores activarán una llamada al OB121 por parte del sistema operativo. Ejemplos de errores de programación A continuación, se muestran algunos ejemplos de errores en la lógica de su PLC que pueden causar errores de programación: Se excedió la profundidad máxima de anidamiento de las llamadas de bloque. Ha utilizado un puntero NULL para direccionar un operando. Instrucción desconocida. La cadena direccionada tiene información de longitud incorrecta. Error de longitud de área al leer. Error de longitud de área al escribir. Error en el n.º de temporizador. Acceso a una BD que no está cargada; el número de BD se encuentra en el área permitida. La BD no existe. Estos errores y muchos más pueden provocar errores de programación en su PLC. Puede consultar la sección de Ayuda del TIA Portal para saber qué otras razones pueden provocar errores de programación del PLC. ¿Qué sucederá si se detecta un error de programación? Cuando su PLC detecta un error de programación, puede ocurrir uno de tres eventos. Su PLC mostrará un error y pasará al modo STOP. Su PLC mostrará un error pero seguirá ejecutando su lógica. Su PLC mostrará un error y luego intentará resolver este error. Estos tres eventos dependerán básicamente de la programación de su PLC. Es decir, su código decidirá cómo se comportará el sistema operativo al detectar un error de programación. Simulación de un error de programación en TIA Portal Para comprender mejor cómo se comportará el PLC, crearemos un programa simple donde provocaremos un error de programación y luego veremos qué sucederá. Vea la imagen 2. Imagen 2: lógica de programa simple La lógica que creamos es muy simple: cuando se ha habilitado InitiateProgError, el valor 126 se moverá al área DB52.DBW16. Tenga en cuenta que no hemos creado DB52, por lo que ese será nuestro error de programación. Tenga en cuenta que este error no se detectará durante la compilación o la descarga en el PLC. Vea las imágenes 3 y 4. Imagen 3: error no detectado por el compilador Vea cómo se compiló correctamente el bloque, aunque incluía un error de programación. Imagen 4: bloque descargado en el PLC Nuevamente, el bloque se descargó en el PLC con un error de programación. Ahora, simulemos nuestro programa de PLC y veamos qué sucederá. Vea la animación 1 para la simulación del código del PLC. Animación 1 Como puede ver en la animación anterior, el LED de ERROR del PLC parpadeará en rojo durante unos segundos y luego el PLC pasará al modo STOP. Vaya al diagnóstico en línea del PLC para ver qué sucedió. Vea la imagen 5. Imagen 5: diagnóstico en línea del PLC Lo que vio en la animación es exactamente lo que ve en la imagen anterior. Se pueden mencionar en 3 pasos: El PLC detecta el error de programación que es OB52 no cargado. El sistema operativo activará la llamada al OB121, pero no hay ningún OB121 creado en nuestra lógica. Cuando el PLC descubre que no hay ningún OB121 creado en nuestra lógica, el sistema operativo iniciará una solicitud STOP. Y el PLC pasará al modo STOP. ¿Cómo puede ser útil el OB121 contra los errores de programación? Agreguemos un OB121 a nuestro código de PLC y veamos cómo cambian las cosas. Vea la imagen 6. Imagen 6: Cómo agregar un OB121 Después de crear y agregar el OB121 a nuestra lógica de PLC, veamos qué sucederá en la simulación. Tenga en cuenta que no hemos escrito ninguna lógica de PLC dentro del OB121. Vea la animación 2. Animación 2 Como puede ver en la animación 2, cuando se activa InitiateProgError, el LED de ERROR del PLC parpadeará en rojo, pero el PLC seguirá funcionando. Esto significa que el PLC no entrará en modo STOP. Revisemos los diagnósticos en línea para ver qué sucedió realmente. Vea la imagen 7. Imagen 7: el error no provocó la detención del PLC En la imagen se puede ver que el PLC detecta el error pero no entra en modo STOP. Omitirá este error, continuará el ciclo y comenzará de nuevo desde el principio. Cuando llegue al error nuevamente, lo detectará nuevamente y emitirá una alarma en los diagnósticos. Omitirá el error y continuará. Eso significa que el PLC emitirá la misma alarma en cada ciclo de escaneo. Y es por eso que en la imagen se ve que el evento sigue activándose y la alarma se repite en cada ciclo de escaneo. Por lo tanto, tener un OB121 vacío le brindará el beneficio de mantener el PLC en funcionamiento y, por extensión, mantener su proceso en funcionamiento. Pero hay más que podemos hacer, podemos intentar detectar este error y eliminarlo. Además, podemos intentar mostrar el tipo de error de programación detectado. Determinar el tipo de error El OB121 tiene un identificador de ID de falla interno que podemos usar para mostrar el tipo de falla, tal vez como una alarma en una HMI. Dentro del OB121 crearemos una instrucción MOVE simple, donde enviaremos la entrada Fault_ID del OB121 a un área de memoria definida dentro de nuestra base de datos global. Ver imagen 8. Imagen 8: Identificación del tipo de error Como puede ver en la imagen anterior, cuando ocurre el error de programación, el Fault_ID se enviará a Data.ProgErrorID. Ver imagen 9. Imagen 9: Error de programación Fault_ID Puede ver que el ID de falla es 3A. Si consulta la ayuda del TIA Portal, puede encontrar el significado de esta falla. 3A: Acceso a una base de datos que no está cargada; el número de base de datos se encuentra en el área permitida. Captura del error Esto simplemente significa intentar resolver el error de programación del PLC después de haber identificado la razón. Esto dependerá principalmente de cuál es el error y cómo desea manejarlo. Simplemente simularemos una solución al error para ver cómo se comportará el PLC. La solución real para el error que creamos será simplemente crear el DB52 o usar un bloque de datos que ya esté creado. Pero para el bien de la simulación, simplemente agregaremos un contacto simple que se abrirá cuando ocurra el error de programación para capturar este error. Vea las imágenes 10 y 11. Imagen 10: Captura del error Siempre que se llame a OB121, se establecerá CatchError. Imagen 11: eliminar el error Siempre que se llame a OB121, se activará CatchError y se utilizará para detectar el error de programación en la red 1. Consulte la animación 3 para ver la simulación del PLC. Animación 3 En la animación anterior, puede ver que cuando se activa InitiateProgError, el PLC entrará en error por un momento, luego el error se borrará y el PLC estará en modo RUN todo el tiempo. Conclusión El solo hecho de tener un OB121 vacío en su lógica garantizará que su PLC no entre en modo STOP si hubo un error de programación en su código. Luego puede usar el OB121 para identificar también el error y resolverlo. -
Programación de PLC para sistema de control de tráfico en cruces en T
leigehong posted A plc and hmi article in Spanish in PLC programming learning
Este artículo trata sobre un sistema de control de tráfico en cruces en T con la ayuda de una lógica de escalera de PLC que utiliza un comparador para el funcionamiento de las luces. Sistema de control de tráfico en cruces en T La función del sistema de control de tráfico en cruces en T consta de tres grupos de segmentos. Mediante la lógica de funcionamiento del comparador, controlamos el sistema de semáforos. Primer segmento: En el primer segmento, se permite el tráfico en el carril 1 y se detienen los carriles 2 y 3. Aquí, en este segmento, se enciende la luz verde (Verde 1) del carril 1 y se encienden las luces rojas (Rojo 2) del carril 2 y (Rojo 3) del carril 3. Este período continúa durante quince segundos. Segundo segmento: En el segundo segmento, se permite el tráfico en el carril 2 y se detienen los carriles 1 y 3. Aquí, en este segmento, se enciende la luz verde (Verde 2) del carril 2 y se encienden las luces rojas (Rojo 1) del carril 1 y (Rojo 3) del carril 3. Este período continúa durante quince segundos. Tercer segmento: En el tercer segmento, se permite el tráfico del carril 3 y se detienen los carriles 1 y 2. Aquí, en este segmento, se enciende la luz verde (Verde 3) del carril 3 y se encienden las luces rojas (Rojo 1) del carril 1 y (Rojo 2) del carril 2. Este período continúa durante quince segundos. Después de la ejecución de los tres segmentos, la secuencia de operaciones comienza nuevamente y se repite de forma continua. Descripción de entradas y salidas En este proyecto de PLC, utilizamos 2 entradas, 6 salidas, 2 memorias y 1 temporizador de retardo de encendido. S.No Símbolo Descripción 1 Yo 0.0 COMENZAR 2 Yo 0.1 DETENER 3 M 0,0 MEMORIA 4 M 0,1 MEMORIA 1 5 Q 0.0 VERDE 1 6 Q 0,1 ROJO 1 7 Q 0,2 VERDE 2 8 Q 0,3 ROJO 2 9 Q 0,4 VERDE 3 10 Q 0,5 ROJO 3 11 DB1 TEMPORIZADOR DE RETARDO DE ENCENDIDO Programación del PLC y su explicación 1. Cuando se presiona el botón INICIO (I 0.0), se activa la MEMORIA (M 0.0). Esta M 0.0 es la memoria principal que se utiliza para ejecutar todos los procesos del programa. Dado que está bloqueada, solo estará activada. Si se presiona DETENER (I 0.1), todo el proceso se detendrá en cualquier momento. 2. Una vez que se activa la MEMORIA, se activa el TEMPORIZADOR DB1 que controla la sincronización de la intersección de tráfico. En este temporizador, establecemos el tiempo preestablecido de 45 segundos. Una vez que el temporizador alcanza el tiempo preestablecido que activa la MEMORIA 1 (M 0.1) y este M 0.1 también reinicia el temporizador según la lógica y ejecuta el ciclo de forma continua. 3. A continuación, el comparador desempeña un papel importante en el control de la intersección de tráfico. En primer lugar, se activa la salida VERDE 1 (Q 0.0) según la lógica. Aquí usamos Menor o igual que el comparador. En esta lógica, Q0.0 estará en el estado ENCENDIDO desde 0 segundos hasta 15 segundos. Después de eso, pasará al estado APAGADO 4. A continuación, para la salida ROJA 1 (Q0.1), usamos Mayor o igual que para que funcione. Q0.1 estará en estado ON desde 15 segundos hasta 45 segundos. Estará en estado OFF cuando Q0.0 esté en estado ON. 5. Luego, para la salida VERDE 2 (Q0.2), usamos Menor o igual a y Mayor o igual a para esta salida. Ambas funciones de comparación se conectaron en conexión lógica en serie con la salida. En este caso, Q0.2 estará en estado ON desde 16 segundos hasta 30 segundos según la condición. 6. Luego, para la salida ROJA 2 (Q0.3), también usamos Menor o igual a y Mayor o igual a para realizar la operación. Los comparadores se conectaron en conexión paralela con la salida. Esta salida estará en estado ON desde 0 segundos hasta 15 segundos y desde 30 segundos hasta 45 segundos. Entre 15 segundos, estará en estado OFF solo porque en ese momento Q0.2 está en estado ON. 7. Luego, para la última salida VERDE 3 (Q0.4), usamos Mayor o igual para que funcione. Según la lógica condicional, estará en estado ENCENDIDO desde 30 segundos hasta 45 segundos. Antes de este tiempo, estará en estado APAGADO. 8. Finalmente, la salida ROJA 3 (Q0.5). Aquí usamos Menor o igual para que funcione para ejecutar la lógica del PLC. Estará en estado ENCENDIDO desde 0 segundos hasta 30 segundos, luego estará en estado APAGADO. Conclusión Entonces, de esta manera, el control de tráfico de la intersección en T dado se ejecuta mediante la función de comparación con la lógica del PLC. Podemos controlar la lógica del tráfico con la ayuda de la lógica del PLC de muchas maneras y esta es también una de ellas. -
Fuente de alimentación y voltajes de funcionamiento del PLC
leigehong posted A plc and hmi article in Spanish in PLC programming learning
Cuando trabaja con un PLC, necesita saber qué tipos de voltajes están generalmente disponibles en él; para que pueda realizar el cableado en consecuencia. No solo la fuente de alimentación, sino que también debemos estar relacionados con el voltaje de entrada y salida requerido. Cada fabricante de PLC tiene su propio conjunto de rangos de voltaje y corriente según el módulo y la CPU que proporciona. En este artículo, aprenderemos los voltajes de funcionamiento del PLC generalmente disponibles en todas partes. Fuente de alimentación del PLC En la norma, el PLC opera en cuatro tipos de voltajes: 24 V CC, 24 V CA, 110 V CA y 240 V CA. En algunos PLC, solo la CPU requiere una fuente de alimentación y los módulos de E/S se alimentan de la placa base de la CPU, mientras que en algunos PLC, todos los módulos, incluida la CPU, las entradas y las salidas, requieren una fuente de alimentación. En cualquier caso, necesitará una fuente de alimentación conmutada o un transformador en el panel del PLC para convertir el voltaje de potencia bruta. En cuanto al voltaje de alimentación de CA, algunos PLC ofrecen un rango de voltaje de 110 a 240 V CA. Cada punto de alimentación del PLC tiene un punto de conexión a tierra para brindar seguridad al PLC en caso de sobretensión o cortocircuito. Cuando se utiliza una fuente de alimentación de CA, generalmente está equipada con un fusible de protección en su interior. La fuente de alimentación de CC también tiene un fusible en su interior, pero para la fuente de alimentación de CA, es obligatorio usarlo debido a la gran cantidad de voltaje involucrado. Cuando se proporciona el voltaje nominal en la CPU, significa que el voltaje que está proporcionando se ha estabilizado correctamente y se ha controlado en gran medida. Sin embargo, no es práctico que el voltaje permanezca constante a 24 V o 240 V. Por lo tanto, un rango de voltaje nominal viene para un PLC como 20-28 V CC o 220 V-245 V CA. Este rango está predefinido en cada PLC para que obtenga un área de suministro de energía para trabajar con ellos de manera eficiente, sin ningún problema. Fuente de alimentación para módulos de E/S Ahora, pasemos al siguiente tema sobre la fuente de alimentación necesaria para los módulos de E/S. Como se mencionó anteriormente, hay dos tipos de fuentes de alimentación disponibles: una en la que el módulo se alimenta mediante la placa base de la CPU y otra en la que el módulo requiere una fuente de alimentación externa. Al utilizar la placa base, cada CPU tiene una clasificación de mA que proporcionará como carga a los módulos conectados. Por ejemplo, si una CPU tiene una clasificación de 24 V CC – 450 mA, también especificará que la placa base de la CPU puede proporcionar esta cantidad de corriente a los módulos de E/S y solo puede conectar esa cantidad de módulos al bastidor de la CPU. Además, cada módulo especificará cuánta corriente consumirá cuando se conecte a un bus de placa base. Esto puede ayudarlo a seleccionar los módulos y la CPU adecuados para una aplicación específica. En cuanto al segundo tipo de fuente de alimentación, hay algunos módulos que requieren una fuente de alimentación externa. Por lo tanto, en ese caso, debe elegir una fuente de alimentación conmutada o un transformador con una corriente y una clasificación de carga más altas en consecuencia. Esto, a su vez, puede alimentar tanto la CPU como los módulos correctamente y también alimentar otros componentes del panel que requieren la misma fuente de alimentación. Fuente de alimentación para instrumentos de campo El cableado de campo para un PLC también requiere principalmente voltaje de CC para instrumentos y voltaje de CA para dispositivos de alta potencia. Por lo tanto, los cuatro voltajes mencionados anteriormente funcionan de la misma manera para el cableado de suministro común del módulo de E/S. Además, recuerde que, en su mayoría, hay una batería de respaldo dentro del PLC, además de la fuente de alimentación estándar. Esto garantiza que el programa dentro de la memoria del PLC permanezca intacto en caso de un corte de energía. Selección de fuente de alimentación para PLC Al seleccionar la fuente de alimentación, es necesario considerar los siguientes parámetros en general: voltaje nominal, corriente nominal, potencia nominal, ondulación y ruido, rango ajustable de voltaje, tolerancia de voltaje, regulación de línea y regulación de carga. Una vez que haya seleccionado la fuente de alimentación correcta, puede cablear la CPU y los módulos para encenderlos correctamente. De esta manera, entendemos el concepto de voltajes operativos del PLC. -
PLC vs PAC - comprensión de las principales diferencias y similitudes
leigehong posted A plc and hmi article in Spanish in PLC programming learning
Los controladores lógicos programables (PLC) y los controladores de automatización programables (PAC) son dos tipos de controladores industriales que se utilizan para automatizar procesos y máquinas en la fabricación, el procesamiento y otras aplicaciones industriales. Ambos tipos de controladores tienen funciones similares, pero también existen diferencias significativas entre ellos. En este artículo, analizaremos las diferencias, similitudes y ejemplos de PLC y PAC. Contenido: ¿Qué son los PLC? ¿Qué son los PAC? Similitudes entre PLC y PAC. Diferencias entre PLC y PAC. Ejemplos de modelos de PLC de varios proveedores. Ejemplos de modelos de PAC de varios proveedores. ¿Cuándo es más adecuado un PLC? ¿Y cuándo lo es un PAC? Conclusión ¿Qué es un PLC? PLC significa controlador lógico programable, que es una computadora industrial especializada que se utiliza para sistemas de control de automatización. El PLC está diseñado para funcionar en entornos hostiles y se utiliza para controlar maquinaria en plantas de fabricación, líneas de montaje y otros entornos industriales. Los PLC se pueden programar utilizando 5 lenguajes diferentes, como lógica de escalera, diagramas de bloques de funciones, texto de estructura, lista de instrucciones y diagramas secuenciales. Estos 5 lenguajes están aprobados y se aplican según las normas IEC 61131-3. ¿Qué es un PAC? PAC significa Controlador de automatización programable, que es similar a un PLC pero tiene una funcionalidad más avanzada. PAC combina las capacidades de un PLC tradicional con la capacidad de realizar tareas mucho más complicadas y comunicarse con otros dispositivos y sistemas, lo que los hace más flexibles y potentes que los PLC. PAC se utiliza normalmente para aplicaciones de control y automatización más complejas en industrias como la automotriz, la aeroespacial y la generación de energía. PAC se puede programar utilizando los mismos 5 lenguajes que los PLC, pero también se pueden programar utilizando C y C++, lo que les da la capacidad de manejar la codificación de algoritmos más complejos. Similitudes entre PLC y PAC Las similitudes entre PLC y PAC son tantas que a veces es difícil decir si son diferentes. Aunque todavía hay alguna diferencia entre ellos. Las similitudes que comparten pueden ser incluso mayores. Estos son algunos de los puntos en común entre los PLC y los PAC: Funcionalidad básica Tanto los PLC como los PAC están diseñados para proporcionar un control fiable y preciso de los sistemas de automatización industrial. Se utilizan para supervisar las entradas de los sensores y otros dispositivos, procesar la información y luego enviar señales de control a los actuadores y otros equipos. Programación Tanto los PLC como los PAC utilizan lenguajes de programación para crear una lógica de control que determina el comportamiento del sistema de automatización. Comparten los 5 lenguajes de programación definidos en las normas IEC 61131-3, pero los PAC ofrecen más opciones de lenguajes de programación, incluidos C y C++. Durabilidad Tanto los PLC como los PAC están diseñados para soportar entornos industriales hostiles, como temperaturas extremas, humedad y vibración. Están diseñados para ser resistentes y fiables, con una larga vida útil y menores requisitos de mantenimiento. Diseño modular Tanto los PLC como los PAC tienen un diseño modular, que permite una fácil expansión y personalización. Se pueden añadir o quitar módulos para cumplir con requisitos específicos. Estándares de la industria Tanto los PLC como los PAC están diseñados para cumplir con los estándares de la industria para sistemas de automatización y control, como IEC 61131. Estos estándares garantizan la interoperabilidad entre dispositivos y sistemas de diferentes fabricantes. Diferencias entre PLC y PAC La distinción entre PAC y PLC puede ser un tanto confusa. Si bien no existe una definición de lo que constituye un PAC, existen algunas características comunes que diferencian a PAC de PLC: Funcionalidad Si bien tanto los PLC como los PAC se utilizan para aplicaciones de automatización y control, los PAC tienen una funcionalidad más avanzada, como control de movimiento, control de procesos y adquisición de datos. Los PAC también suelen tener más potencia de procesamiento y memoria que los PLC. Conectividad Los PAC tienen opciones de conectividad más avanzadas que los PLC, incluidas Ethernet, USB e inalámbricas. Esto hace que sea más fácil integrarlos en sistemas de automatización más grandes y comunicarse con otros dispositivos y sistemas. Costo Debido a su funcionalidad y flexibilidad más avanzadas, los PAC generalmente son más costosos que los PLC. Características más avanzadas Los PAC suelen tener funciones de software más avanzadas que los PLC, como control de movimiento integrado, registro de datos y herramientas de diagnóstico avanzadas. Estas funciones facilitan a los ingenieros y técnicos la supervisión y resolución de problemas del sistema de control. Ejemplos de modelos de PLC de varios proveedores PLC Siemens S7-1500: Se trata de un PLC de alto rendimiento de Siemens, uno de los principales proveedores de automatización. Está diseñado para aplicaciones exigentes y ofrece funciones avanzadas como control de movimiento, seguridad y protección. Consulte la imagen 1. Imagen 1: PLC SIEMENS S7-1500 PLC Allen-Bradley CompactLogix 5370: Este es un PLC versátil de Rockwell Automation que ofrece una amplia gama de opciones de E/S y protocolos de comunicación. Es adecuado para una variedad de aplicaciones, incluido el control de máquinas y la automatización de procesos. Consulte la imagen 2. Imagen 2: PLC CompactLogix 5370 de Allen-Bradley PLC de la serie Q de Mitsubishi Electric: Este es un PLC confiable de Mitsubishi Electric que ofrece procesamiento de alta velocidad, opciones de E/S flexibles y capacidades de programación avanzadas. Es adecuado para una variedad de aplicaciones, incluidas las de automoción, alimentos y bebidas y productos farmacéuticos. Consulte la imagen 3. Imagen 3: PLC de la serie Q de Mitsubishi Electric PLC de la serie NJ de Omron: Este es un PLC de alta velocidad y alto rendimiento de Omron que ofrece control de movimiento avanzado y capacidades de red. Es adecuado para una variedad de aplicaciones, incluidas las de envasado, impresión y fabricación de semiconductores. Consulte la imagen 4. Imagen 4: PLC de la serie NJ de Omron PLC TwinCAT de Beckhoff: Se trata de un PLC basado en software de Beckhoff que se ejecuta en una plataforma basada en PC. Ofrece funciones avanzadas, como control de movimiento, CNC y robótica, y es adecuado para una variedad de aplicaciones, incluido el control de máquinas y la automatización de procesos. Consulte la imagen 5. Imagen 5: PLC basado en PC TwinCAT CX9240 de Beckhoff Ejemplos de modelos de PAC de varios proveedores PAC DCS DeltaV de Emerson: Se trata de un PAC de sistema de control distribuido (DCS) de Emerson. Está diseñado para aplicaciones de control continuo complejas y ofrece funciones avanzadas, como modelado de procesos, gestión de lotes y control avanzado. Consulte la imagen 6. Imagen 6: PAC Emerson DeltaV DCS PAC Schneider Electric Modicon M340: Se trata de un PAC de alto rendimiento de Schneider Electric que ofrece funciones avanzadas como control de movimiento, seguridad y ciberseguridad. Es adecuado para una variedad de aplicaciones, incluidas la energía, el tratamiento del agua y la minería. Consulte la imagen 7. Imagen 7: PAC Modicon M340 A continuación, se muestran otros ejemplos de PAC: PAC ABB AC 800M PAC Yokogawa ProSafe-RS PAC Phoenix Contact PLCnext Technology PAC Bosch Rexroth IndraMotion MLC ¿Cuándo es más adecuado un PLC? ¿Y cuándo un PAC? El PLC y el PAC se utilizan en diferentes tipos de aplicaciones de automatización según los requisitos específicos de esa aplicación. A continuación, se ofrecen algunas pautas generales sobre dónde se adapta mejor un PLC y dónde se adapta mejor un PAC: Los PLC son la mejor opción en: Aplicaciones de control discreto: Los PLC son más adecuados para aplicaciones que implican un control discreto, como controlar el funcionamiento de una cinta transportadora, un equipo de clasificación o una maquinaria de envasado. Sistemas de control simples: Los PLC son ideales para aplicaciones que tienen un sistema de control relativamente simple que se puede programar mediante lógica de escalera u otros lenguajes de programación similares. Aplicaciones sensibles al costo: Los PLC son generalmente menos costosos que los PAC, lo que los convierte en una buena opción para aplicaciones donde el costo es un factor significativo. Sistemas de tamaño pequeño a mediano: Los PLC son adecuados para sistemas de control de tamaño pequeño a mediano, donde la cantidad de entradas y salidas es relativamente baja. Un sistema de cinta transportadora en una planta de fabricación es un buen ejemplo de un sistema de automatización donde un PLC es la mejor opción. En esta aplicación, el PLC es responsable de controlar la velocidad y la dirección de la cinta transportadora, así como de monitorear el estado de los sensores y otros equipos a lo largo de la línea de la cinta transportadora. El PLC también se puede programar para manejar tareas de producción específicas, como clasificar, contar o empaquetar. Un sistema transportador normalmente tiene una estructura fija y un conjunto bien definido de operaciones que deben ejecutarse de manera secuencial. Los PLC son adecuados para este tipo de aplicación porque están diseñados para manejar tareas de control discretas y son muy confiables en su funcionamiento. Los PLC se pueden programar y configurar fácilmente para manejar diferentes tipos de sensores, actuadores y protocolos de comunicación. Los PAC son ideales para: Aplicaciones de control de procesos: Los PAC son ideales para aplicaciones que involucran control de procesos, como controlar el funcionamiento de una planta química, una planta de tratamiento de agua o una planta de energía. Sistemas de control complejos: Los PAC son ideales para aplicaciones que tienen un sistema de control complejo que requiere algoritmos avanzados y funciones de optimización. Sistemas a gran escala: Los PAC son adecuados para sistemas de control a gran escala, donde la cantidad de entradas y salidas es alta y el sistema está distribuido en un área grande. Aplicaciones de alto rendimiento: PAC capaz de manejar aplicaciones de alto rendimiento que requieren procesamiento rápido de datos, control en tiempo real y alta confiabilidad. Un sistema de control de una planta de energía es un buen ejemplo de un sistema de automatización en el que un PAC es la opción más adecuada. En esta aplicación, el PAC es responsable de controlar y supervisar una gran cantidad de procesos y equipos complejos, como turbinas, generadores, calderas y bombas. El PAC también es responsable de recopilar y analizar datos de varios sensores y otras fuentes y tomar decisiones basadas en esos datos para optimizar el rendimiento de la planta. Un sistema de control de una planta de energía es un entorno muy complejo y dinámico, con muchos procesos y equipos diferentes que funcionan simultáneamente. Los PAC son adecuados para este tipo de aplicación porque ofrecen funciones avanzadas como control distribuido, redundancia y tolerancia a fallas, que son esenciales para garantizar la confiabilidad y la seguridad de la planta. Los PAC pueden manejar grandes cantidades de datos y pueden programarse para realizar algoritmos complejos y tareas de optimización. Conclusión Tanto el PLC como el PAC se utilizan en aplicaciones de automatización industrial. Tienen diferentes capacidades y son los más adecuados para diferentes tipos de aplicaciones. Al seleccionar entre PLC y PAC, es esencial considerar los requisitos específicos de la aplicación. Los PLC se utilizan normalmente en aplicaciones de control discreto que tienen un sistema de control relativamente simple. Los PAC se utilizan en aplicaciones de control de procesos que tienen un sistema de control complejo y requieren algoritmos avanzados y funciones de optimización. -
Diferencia entre microcontrolador y PLC
leigehong posted A plc and hmi article in Spanish in PLC programming learning
Controlar un proceso en cualquier máquina o sistema siempre ha sido una fantasía para los ingenieros. Gracias al advenimiento de la tecnología, se han desarrollado muchos controladores para controlar un proceso de forma flexible y confiable. Entre los controladores, hay dos tipos generales que se utilizan ampliamente en muchos procesos, desde pequeña escala hasta gran escala. Son microcontroladores y PLC. Pueden realizar todas las operaciones, desde pequeños cálculos hasta algoritmos complejos, rendimiento lógico y procesamiento de datos. Esto hace que la tarea sea más fácil al automatizar el proceso. En esta publicación, veremos la diferencia entre microcontrolador y PLC. ¿Qué es un microcontrolador? Primero, comprendamos los conceptos básicos. Tiene un botón pulsador y una lámpara. Se le pide que encienda la lámpara después de 5 segundos de presionar el botón pulsador. De estos, ¿qué necesitamos para ejecutar esta tarea? Necesitará una entrada (botón pulsador), una salida (lámpara), un controlador para ejecutar esta tarea (tipo procesador), una fuente de alimentación para alimentar los circuitos y una memoria para almacenar esta lógica y el estado de las entradas y salidas. Esto, cuando se combina en un solo paquete, forma un microcontrolador. En resumen, un microcontrolador es un tipo de computadora pequeña que toma entradas físicas, procesa la lógica de acuerdo con ellas y enciende o apaga las salidas físicas. Es un pequeño dispositivo tipo chip que incorpora todos estos circuitos en él, como un pequeño paquete, y realiza todo el trabajo de procesamiento y control. Un microcontrolador manejará una pequeña cantidad de entradas y salidas. Por ejemplo, considere un pequeño circuito de pantalla como LED o LCD montado en un dispositivo portátil. Si presiona un botón pulsador en él, mostrará el número correspondiente en la pantalla. Y cuando presione otro botón pulsador, mostrará algún otro número escrito de acuerdo con la lógica dentro del procesador. Esto significa que primero fue programado para mostrar un número y luego, al presionar el segundo botón, se mostraría un número calculado. Todos estos cálculos, el manejo del almacenamiento de variables y el procesamiento de E/S se realizan dentro de este chip de microcontrolador. ¿Qué es un PLC? Pasemos a un nivel superior de procesamiento. Tienes 50 sensores, ya sea de 4-20 mA o de termopar. Tienes 20 tipos diferentes de salidas, ya sean actuadores de 0-10 V CC o salidas de relé. Se te ha asignado la misma tarea de aceptar entradas y controlar salidas de acuerdo con la lógica escrita en él. Se requerirán los mismos componentes de E/S, fuente de alimentación, procesador y memoria. Pero, puedes ver que todas estas placas/pines de E/S con memoria y procesador no se pueden integrar en un solo chip pequeño. Aquí es cuando entra en escena el PLC. El PLC es básicamente una extensión del microcontrolador. Es un dispositivo tipo caja de gabinete que tiene placas de E/S, memoria y un procesador; todos interconectados entre sí en diferentes chips. Todos estos chips forman un solo gabinete de PLC. Los IO pueden ser de diferentes tipos, desde señales digitales simples hasta señales analógicas complejas. Tienen placas de comunicación especiales, que pueden comunicarse con protocolos de la vida real como Ethernet, Modbus, CAN Open, Profibus, Profinet, etc. Los microcontroladores también tienen placas de comunicación, pero tienen interfaces pequeñas y conectividad limitada. Los módulos IO están integrados en el PLC principal o conectados a módulos remotos a través de la comunicación. Esto permite fácilmente la expansión de IO. Varios sensores y actuadores industriales de alta calidad se pueden interconectar fácilmente con PLC. Diferencia entre microcontrolador y PLC Ahora que hemos entendido su significado, echemos un vistazo a sus diferencias: Solo en la definición, supimos que un PLC puede manejar una gran cantidad de procesos y ciclos. Por eso, es mejor usarlo para aplicaciones industriales. Los microcontroladores no pueden atender una gran cantidad de IO con requisitos complejos de cableado y comunicación. Es más adecuado para aplicaciones a pequeña escala. El procesamiento de señales es mucho más flexible en PLC en comparación con un microcontrolador. Esto significa que la conversión de analógico a digital, las entradas y salidas de contadores de alta velocidad se configuran más fácilmente en un PLC que en un microcontrolador. Los microcontroladores son más económicos que los PLC, debido a la cantidad limitada de funciones que ofrecen. La principal ventaja del PLC es su robustez y estabilidad. Con una temperatura muy alta y resistencia ambiental, es el producto más adecuado para entornos críticos, riesgosos y hostiles. El PLC puede ser mucho más propenso al ruido electromagnético y otros tipos de ruido que un microcontrolador. La programación es mucho más fácil en un PLC que en un microcontrolador. Los microcontroladores utilizan software complejo como C y C++ para la programación, lo que es mucho más fácil en un PLC ya que tiene lenguajes que se correlacionan fácilmente con la comprensión de un esquema eléctrico. Los microcontroladores requieren conocimientos de sistemas integrados, VLSI y software para diseñarlos, mientras que los programadores de PLC requieren conocimientos de automatización industrial, instrumentación y redes para diseñarlos. -
¿Qué son las secuencias FIFO y LIFO en PLC?
leigehong posted A plc and hmi article in Spanish in PLC programming learning
La lógica secuencial es de gran utilidad en la programación de PLC. Ayuda a ordenar las cosas fácilmente. Una amplia gama de aplicaciones que utilizan PLC tienen alguna lógica secuencial escrita en ellas. Dos de las secuencias más utilizadas son LIFO y FIFO. Seguramente habrás oído los nombres en electrónica cuando se utilizan para apilar y secuenciar. Estos tipos de lógica secuencial también están disponibles en PLC. En este artículo, aprenderemos los conceptos de secuencia LIFO y FIFO en la programación de PLC. Secuencia FIFO en PLC FIFO significa primero en entrar, primero en salir. El significado de esta secuencia se puede entender fácilmente a partir de su nombre. Lo que llega primero saldrá primero. Introduces un elemento y, cuando solicitas un elemento, se te proporcionará el primero que se introduzca. Esta misma lógica funciona en la programación de PLC para la secuencia FIFO. En programación, se asigna un bloque lógico llamado FIFO. Puede almacenar hasta 16 palabras o más, según el PLC. Contiene tres tipos de entradas: reinicio, almacenamiento y recuperación. En un flanco ascendente de la entrada de reinicio, la secuencia se reinicia y se vacía. En un flanco ascendente de la entrada de almacenamiento, la palabra presente en la entrada se almacena en el bloque. El bloque memorizará la secuencia de palabras recibidas. En un flanco ascendente de la entrada de recuperación, la palabra ingresada primero se dará en la palabra de destino configurada por el programador del PLC. Tiene dos salidas: vacía y llena. Si el bit vacío es verdadero, entonces indica que el almacenamiento está vacío, y si la entrada llena es verdadera, entonces indica que el almacenamiento está lleno. Secuencia LIFO en PLC LIFO significa último en entrar, primero en salir. El significado de esta secuencia se puede entender fácilmente a partir de su nombre. Lo que llega último saldrá primero. Usted ingresa un elemento; y cuando solicita un elemento, se le proporcionará el último que se ingrese. Esta misma lógica funciona en la programación de PLC para la secuencia LIFO. En programación, se asigna un bloque lógico llamado LIFO. Puede almacenar hasta 16 palabras o más, según el PLC. Contiene tres tipos de entradas: reinicio, almacenamiento y recuperación. En un flanco ascendente de la entrada de reinicio, la secuencia se reinicia y se vacía. En un flanco ascendente de la entrada de almacenamiento, la palabra presente en la entrada se almacena en el bloque. El bloque memorizará la secuencia de palabras recibidas. En un flanco ascendente de la entrada de recuperación, la palabra que se ingresó en último lugar se dará en la palabra de destino configurada por el programador. Tiene dos salidas: vacía y llena. Si el bit vacío es verdadero, entonces indica que el almacenamiento está vacío, y si la entrada llena es verdadera, entonces indica que el almacenamiento está lleno. Estas secuencias son bastante fáciles de operar. El programador debe tener cuidado de que no se entreguen entradas simultáneamente a los bloques de almacenamiento. El bloque no realizará ninguna acción en este caso. Solo se debe dar una entrada a la vez. También se debe tener en cuenta que los distintos PLC funcionan de manera diferente en el reinicio en caliente o en el reinicio en frío. En general, en un reinicio en frío del PLC, por ejemplo, el registro se restablecerá y, en caso de un reinicio en caliente, el registro permanecerá intacto tal como está. Depende del fabricante. -
Registro de bits de desplazamiento en PLC
leizuofa posted A plc and hmi article in Spanish in PLC programming learning
Hay muchas instrucciones en PLC que ayudan a ejecutar la lógica de una manera simplificada. Las instrucciones vienen en varias categorías como aritmética, comparación, lógica, controlador, etc. Por ejemplo, una instrucción de suma simple para sumar dos variables viene en la categoría aritmética. Por lo tanto, de manera similar, hay muchos tipos de instrucciones disponibles en una lógica de PLC. Una de esas instrucciones que se usa ampliamente en la programación de PLC es la instrucción de desplazamiento. Viene en la categoría de procesamiento numérico. En este artículo, aprenderemos el concepto de instrucción de registro de bits de desplazamiento en la programación de PLC. Registro de bits de desplazamiento en PLC Como su nombre lo indica, una instrucción de desplazamiento es un comando para desplazar bits de una palabra en una posición predefinida. Por ejemplo, tiene una palabra de 16 bits. Quiere mover el bit número 3 de su cuarta posición actual a la séptima posición. Entonces, siempre que se dé un pulso de comando de desplazamiento, el bit se desplazará en cada activación de la cuarta posición a la séptima posición. En esa continuidad, el bit en la quinta posición se moverá a la octava posición; y el bit en la tercera posición se moverá a la sexta posición. Entonces, aquí, estás desplazando los bits en un grupo por la cantidad de posiciones que definas. Instrucción Shift Las instrucciones Shift vienen en dos tipos: shift y rotate. Echemos un vistazo a la instrucción rotate. Considere una sintaxis: %MW10:= SHL (%MW12, 4). %MW10 es la palabra de memoria de destino y %MW12 es la palabra de memoria de origen. Consulte la siguiente imagen. En %MW10, cuando se proporciona un primer disparador para el desplazamiento a la izquierda, el bit 0 se desplaza al bit 1, y así sucesivamente. Este resultado se almacena en %MW12. Cuando se proporcionan tales disparadores cuatro veces, en última instancia, el bit 0 se desplazará finalmente al bit 4, y así sucesivamente. El resultado final se almacena en %MW12 de todos modos y obtiene una respuesta final de los bits desplazados cuatro posiciones desde la palabra de origen. Pero, una cosa para recordar es que, con cada cambio, el bit anterior se llena con el valor 0. Esto se puede ver claramente en la imagen. Después del primer cambio, el primer bit en %MW12 es 0. Por lo tanto, después de cuatro cambios, el resultado final será - 0000 1101 1100 0000. Este cambio puede ser a la derecha o a la izquierda. Hay otro tipo de cambio en el PLC; el anterior añadía ceros de la posición anterior, pero este segundo tipo mantiene el valor del primer bit (MSB para la derecha y LSB para la izquierda) tal como está. Esto se llama cambio aritmético. Por lo tanto, si el valor del primer bit (MSB para la derecha y LSB para la izquierda) inicialmente antes del cambio era 1, entonces el último bit permanecerá como 1 solamente y los ceros se añadirán desde el segundo bit anterior hasta la cantidad de veces que se dé el comando de cambio. Cabe señalar que el último bit que se desplaza siempre se almacena en un bit de acarreo. Instrucción de rotación El segundo tipo es la instrucción de rotación. Considere la sintaxis: %MW10:= ROL (%MW12, 4). %MW10 es la palabra de memoria de destino y %MW12 es la palabra de memoria de origen. Usaremos la misma imagen anterior como referencia. La instrucción de rotación, como lo define el nombre, simplemente gira los bits en la cantidad de posiciones que usted defina. En comparación con la instrucción de desplazamiento, donde se agregó cero después de cada bit anterior, aquí los bits simplemente se desplazan en la misma secuencia que en la dirección izquierda. Entonces, suponga que tiene una palabra de origen de – 1100 1010 1100 0101; luego, después de un disparador de 4 posiciones, el resultado final será – 1010 1100 0101 1100. La misma lógica funciona en la dirección correcta. El último bit desplazado también se almacena en un bit de acarreo. Existe otro tipo en la categoría de rotación. En este caso, en lugar de desplazar solo 16 bits, se transfiere el bit de acarreo. Esto significa que el último bit se desplaza al bit de acarreo y, a continuación, el bit de acarreo se desplaza al primer bit, y así sucesivamente. En el tipo anterior, el último bit solo se almacenaba en el bit de acarreo. -
SIEMENS-ES Tutorial de configuración de hardware del PLC Siemens S7-1200
leizuofa posted A plc and hmi article in Spanish in PLC programming learning
El PLC S7-1200 es una solución compacta, modular y rentable que ofrece una amplia gama de funciones y flexibilidad para aplicaciones de automatización de tamaño pequeño a mediano. Estas funciones incluyen opciones de comunicación, memoria, rendimiento de la CPU y configuración de E/S. Cuando tenga un proceso que necesite controlar, debe elegir el PLC y configurarlo para que se adapte mejor a los requisitos de su proceso. En este artículo, analizaremos la configuración de hardware del PLC S7-1200 y daremos un ejemplo de cómo configurarlo en el portal Siemens Tia. Contenido: ¿Cuál es la configuración de hardware de un PLC? Importancia de la configuración de hardware. Ejemplo de proyecto simple. ¿Cómo configurar nuestro PLC con el ejemplo dado? Configuración de hardware de CPU. Configuración de hardware de E/S. Configuración de HMI. Conclusión. ¿Cuál es la configuración de hardware de un PLC? La configuración de hardware se refiere a los componentes específicos del PLC, como la CPU, la memoria, los módulos de entrada/salida (E/S), los puertos de comunicación, la fuente de alimentación y cualquier módulo o accesorio adicional que pueda ser necesario y agregarse al sistema. La configuración de hardware de un PLC también incluye habilitar o deshabilitar algunas de las características de la CPU, según el dispositivo, sus capacidades y los requisitos de su proceso. Los pasos de configuración de hardware para un PLC generalmente implican lo siguiente: Seleccione el modelo de PLC adecuado según los requisitos de la aplicación. Identifique los requisitos de entrada/salida para el sistema, que incluyen el tipo y la cantidad de sensores, actuadores y otros dispositivos que se conectarán al PLC. Elija el protocolo de comunicación y la topología de red que se utilizará para conectar el PLC a otros dispositivos y sistemas. Determine los requisitos de la fuente de alimentación para el PLC y sus periféricos. Monte el PLC en una ubicación adecuada y conecte todos los cables y alambres necesarios. Configure el software del PLC para comunicarse con los componentes de hardware y configure las funciones lógicas y de control adecuadas. Los pasos específicos para la configuración del hardware pueden variar según el modelo de PLC y los requisitos de la aplicación, pero estos son los pasos básicos que suelen estar involucrados en el proceso. En este artículo, hablaremos sobre la configuración del hardware que se realiza en la plataforma TIA Portal. Esto significa que asumiremos que conoce su aplicación y que ya ha elegido su modelo de PLC y la fuente de alimentación para alimentarlo. Puede consultar artículos anteriores en los que analizamos cómo elegir el PLC y la fuente de alimentación que mejor se adapten a su aplicación. Importancia de la configuración del hardware en el PLC La configuración adecuada del hardware garantiza que el sistema sea confiable y robusto. Si los componentes del hardware no están configurados correctamente, es posible que no funcionen como se espera, lo que provocará fallas o errores del sistema. La configuración del hardware afecta el rendimiento del sistema. Al elegir los componentes de hardware correctos y configurarlos adecuadamente, el sistema puede funcionar con la máxima eficiencia y velocidad y puede manejar un gran volumen de entradas y salidas. La configuración del hardware afecta la escalabilidad y la flexibilidad del sistema. La elección de los componentes de hardware y su configuración debe tener en cuenta futuras ampliaciones o modificaciones del sistema, para garantizar que el sistema pueda adaptarse fácilmente a los cambios o actualizaciones. La configuración del hardware afecta el costo del sistema. Al seleccionar los componentes y la configuración de hardware adecuados, se pueden evitar costos innecesarios y se puede minimizar el costo general del sistema. Configuración del hardware del S7-1200 Supondremos un proyecto de PLC simple y veremos cómo podemos configurar el PLC en nuestro proyecto antes de comenzar a escribir nuestro código. Sistema de control de temperatura para un reactor mediante PLC El proyecto implica controlar la temperatura de un reactor mediante un PLC. El sistema debe medir la temperatura del reactor y ajustar la temperatura controlando el flujo de un fluido refrigerante. El proyecto utiliza cuatro termopares para medir la temperatura, dos válvulas solenoides para controlar el flujo del fluido refrigerante y un motor para impulsar el impulsor del reactor. Configuración de E/S Entradas: Termopares 1 a 4: son 4 entradas analógicas que miden la temperatura en diferentes ubicaciones dentro del reactor. Pulsador de Parada de Emergencia: Es una entrada digital que se utiliza para detener el sistema en caso de una emergencia. Potenciómetro de Punto de Ajuste de Temperatura: Es una entrada analógica que permite al operador establecer el punto de ajuste de temperatura deseado. Salidas: Válvula Solenoide 1 y 2: Son 2 salidas digitales que controlan el flujo del fluido refrigerante a través de las tuberías del reactor. Control de Motor: Es una salida digital que controla la velocidad y dirección del motor que impulsa el impulsor. Control de Calentador: Es una salida digital que controla el sistema de calentamiento del reactor. Operación del Sistema: El sistema espera a que el operador fije el punto de ajuste de temperatura mediante el potenciómetro. El PLC lee el punto de ajuste de temperatura y lo compara con la temperatura actual del reactor, que se mide mediante los cuatro termopares. Si la temperatura del reactor está por debajo del punto de ajuste, el PLC activa la salida de control del calentador para aumentar la temperatura. Si la temperatura del reactor está por encima del punto de ajuste, el PLC activa una de las salidas de la válvula solenoide para aumentar el flujo del fluido de enfriamiento y disminuir la temperatura. El PLC monitorea continuamente la temperatura y ajusta los sistemas de calefacción y enfriamiento para mantener el punto de ajuste deseado. El PLC también controla el motor que impulsa el impulsor para mezclar el contenido del reactor. Si se presiona el botón de parada de emergencia, el PLC desactiva todas las salidas y detiene el sistema. El proyecto del PLC se puede ampliar y modificar aún más para incluir funciones adicionales, como alarmas, registro de datos o monitoreo remoto, según los requisitos específicos del proyecto. Sin embargo, no nos ocuparemos de codificar la lógica del PLC de este sistema, sino que utilizaremos este ejemplo para explicar cómo configurar el hardware del PLC para que se ajuste a nuestro proyecto. Esto incluye: Selección de la CPU del PLC. Selección de los módulos de E/S. Asignación de las etiquetas de entrada y salida a los módulos de hardware. Asignación de una IP al PLC para la comunicación. Asignación de una contraseña de protección. Configuración de la hora local del PLC. Configuración de la HMI y establecimiento de la conexión con el PLC. ¿Cómo configurar el PLC con el ejemplo dado? A continuación, analizaremos la creación básica de un proyecto de PLC con el hardware necesario. La configuración del hardware de la CPU: Selección de la CPU: Cuando inicie un nuevo proyecto en TIA Portal, deberá configurar un nuevo dispositivo y agregarlo a su proyecto. Consulte la imagen 1. Imagen 1. Configure un dispositivo para su proyecto Como puede ver en la imagen anterior, el portal TIA ya le muestra que el primer paso debe ser configurar un nuevo dispositivo. En el artículo anterior, analizamos cómo elegir el PLC que se adapta a su proceso, por lo que no lo volveremos a mencionar aquí. Para nuestro proyecto, dado que es un proyecto simple, elegiremos la CPU 1214C AC/DC/RLY. Consulte la imagen 2. Imagen 2. Agregue un nuevo controlador al proyecto Propiedades de la CPU: Dependiendo de la CPU que haya seleccionado para su proyecto, estarán disponibles diferentes características y propiedades de la CPU. Puede habilitar o deshabilitar estas características según sus necesidades. Algunas de las características necesitarán una configuración adicional. Vea la imagen 3. Imagen 3 – Propiedades de la CPU Como puede ver en la imagen anterior, hay muchas propiedades que puede configurar para su CPU en el proyecto. Mencionaremos algunas de estas propiedades que deberá configurar en cada proyecto que realice, algunas otras propiedades se utilizan solo en casos especiales. Comunicación: Esta es una configuración muy importante para cualquier proyecto de PLC; su proyecto probablemente tendrá diferentes módulos y dispositivos que necesitan comunicarse entre sí. Configurar la comunicación entre su PLC y estos dispositivos es importante para su proyecto. Al seleccionar la CPU, ya ha definido cómo será la comunicación. Algunas CPU solo funcionan con Profinet, algunas solo funcionan con Profibus y algunas tienen la capacidad de usar ambos. El PLC seleccionado para este ejemplo solo funciona con Profinet. Desde la interfaz Profinet, establecerá la dirección IP para su PLC, esta IP debe ser única en el proyecto; no puede usar la misma IP para dos módulos diferentes. Consulte la imagen 4. Imagen 4: interfaz Profinet Tiempo de ciclo: Esta es otra propiedad importante para su PLC, como ya sabe; el tiempo de ciclo de su programa dependerá de la cantidad de código que haya escrito y de cuánto tiempo le tomará al PLC ejecutar este código. En las propiedades de tiempo de ciclo, puede configurar el tiempo de monitoreo de ciclo; si el PLC tarda más que este tiempo establecido en ejecutar el programa, entonces el PLC dará un error. Consulte la imagen 5. A partir de esta propiedad también puede determinar el tiempo de ciclo mínimo para su CPU; puede hacerlo si activó la opción “Habilitar tiempo de ciclo mínimo para OB cíclicos”. Luego puede escribir el tiempo de ciclo mínimo que desee y el PLC ajustará su rendimiento para que coincida con este tiempo. Por supuesto, este tiempo está limitado por la capacidad de rendimiento de la CPU, por lo que no puede reducirlo por debajo de un cierto límite. Imagen 5: Propiedad de tiempo de ciclo Bits de memoria del sistema y del reloj: Los bits de memoria del sistema y los bits de memoria del reloj son bits integrados dentro de la CPU que el sistema operativo utiliza para indicar ciertos eventos en el PLC. Por ejemplo, hay un bit de memoria que cambiará a VERDADERO solo en el primer escaneo o un bit de memoria que será VERDADERO si cambia el estado de diagnóstico; también hay algunos bits de memoria del reloj dedicados, como un bit que representa un reloj de 10 Hz o un bit que representa un reloj de 2 Hz. Estos bits pueden ser muy útiles en algunas aplicaciones y pueden ahorrar mucho código de programación para obtener la misma funcionalidad. Ver imagen 6. imagen 6 – Habilitar bits de memoria de sistema y reloj Puede habilitar el uso de uno o ambos bytes de memoria; también puede determinar la dirección de estos bytes como puede ver en la imagen. Hora del día: Otra propiedad muy importante de su PLC es configurar la hora dentro de su PLC. En casi cualquier proyecto que realice, necesitará saber la hora real para poder asignar ciertas acciones con diferentes fechas. En el artículo anterior, hablamos sobre las horas locales y del sistema dentro del PLC y cómo usarlas. Esta propiedad de la CPU le permite configurar la hora local en la zona horaria que desee. Ver imagen 7. Imagen 7 – Propiedad de hora local Protección y seguridad: A partir de esta propiedad, puede determinar el nivel de acceso y la protección con contraseña para su PLC. Consulte la imagen 8. Imagen 8: propiedad de protección y seguridad Las propiedades mencionadas anteriormente son las propiedades configuradas con mayor frecuencia en casi cualquier proyecto de PLC que realice. Hay otras propiedades que es menos probable que se utilicen con programas simples, como servidores web y OPC UA. El siguiente paso en la configuración del hardware de su proyecto es configurar las E/S. Configuración del hardware de las E/S: Otro paso importante de su proyecto es la configuración de las E/S, lo que significa decidir cuántos módulos de E/S necesita y qué tipo de módulos de E/S necesita. Al decidir sobre las E/S, debe considerar algunos puntos clave, como tener algunos puntos de E/S de repuesto y elegir los módulos de E/S que se ajusten a los sensores de entrada y los actuadores de salida dentro de su proyecto. Ver imagen 9. Imagen 9 – Añadiendo módulo de entrada analógica Como mencionamos en nuestro proyecto de ejemplo, tenemos 4 termopares utilizados como entradas analógicas a mi PLC, por lo que necesito añadir un módulo de entrada analógica con al menos 4 canales de entrada porque el PLC seleccionado solo tiene 2 canales de entrada analógica. Otra cosa es que el termopar es un tipo especial de entrada analógica que requiere un módulo de entrada dedicado. Por eso elegimos el módulo AI 8xTC, que tiene 8 canales de entrada dedicados a ser utilizados con termopares; elegimos el módulo de 8 canales y el de 4 para tener canales de repuesto para uso futuro en caso de que necesitemos ampliar nuestro proyecto. Si vas a las propiedades del módulo AI 8xTC verás que puedes configurar cada canal de entrada individualmente, puedes elegir el tipo de termopar, escala de medición y otras propiedades. Consulte la imagen 10. Imagen 10: configuración del módulo de entrada A continuación, deberá definir las etiquetas de E/S y asignar cada entrada o salida que tenga a un punto de E/S adecuado en su PLC o en los módulos de E/S. Consulte la imagen 11. Imagen 11: asignación de etiquetas de entrada Luego, continúe asignando el resto de las etiquetas de entradas y salidas, consulte las imágenes 12 y 13. Imagen 12: asignación de etiquetas de entrada para el PLC Imagen 13: asignación de etiquetas de salida a su proyecto Configuración de HMI Su proyecto de PLC probablemente necesitará una HMI; después de seleccionar su HMI, hay diferentes configuraciones que puede realizar. En este artículo, solo le mostraremos cómo configurar la comunicación entre la HMI y el PLC. Como puede ver en la imagen anterior, puede seleccionar una HMI agregando un nuevo dispositivo y luego seleccionar una HMI. Vea la imagen 14. Imagen 14: selección de una HMI Existen diferentes formas de configurar la comunicación entre la HMI y el PLC, pero la forma más fácil es a través de la página de vista de red. Vea la imagen 15. Imagen 15: configuración de la conexión de la HMI Dentro de la página de vista de red, puede configurar la conexión entre la HMI y el PLC simplemente haciendo clic en el pequeño cuadrado verde que representa Profinet desde la HMI y arrastrándolo hacia el PLC. A continuación, TIA Portal dibujará una línea verde entre los dos módulos y le dará automáticamente a la HMI una dirección IP para configurar la comunicación entre ellos. Conclusión La configuración del hardware es un paso muy crítico de cualquier proyecto de PLC. La configuración de hardware adecuada de su PLC garantizará que se cumplan las funciones necesarias del proyecto. Las configuraciones de hardware incluyen la selección de módulos de E/S, la habilitación o deshabilitación de determinadas propiedades de la CPU y la configuración de distintos dispositivos, como la HMI, con su PLC. -
SIEMENS-ES Descripción general de los PLC de SIEMENS: S7-1500, S7-1200, S7-400, S7-300
leizuofa posted A plc and hmi article in Spanish in PLC programming learning
Siemens es una conocida empresa multinacional que opera en una variedad de industrias, incluidas la energía, la atención médica, el transporte y la automatización industrial. Siemens se fundó en 1847 y desde entonces se ha convertido en una corporación global con operaciones en muchos países. Siemens es conocida por sus productos y servicios innovadores y ha sido reconocida como una de las empresas más sostenibles del mundo. En este artículo, brindaremos una descripción general de los PLC de Siemens, que son una parte muy pequeña de los diversos productos de Siemens en el sector de la automatización industrial. Contenido: Siemens en la automatización industrial. Diferentes familias de PLC de Siemens. Descripción general de los PLC S7 de Siemens. Simatic S7-1200. Simatic S7-1500. Simatic S7-300. Simatic S7-400. CPU Simatic S7-ET 200 ¿Por qué hay tantos modelos diferentes? ¿Cómo decidir qué tipo de PLC S7 se adapta mejor a mi aplicación? Conclusión. Siemens en la automatización industrial Siemens es líder en el campo de la automatización industrial y es conocida por sus productos y soluciones de alta calidad. La empresa ofrece una amplia gama de productos de automatización industrial, incluidos controladores lógicos programables (PLC), interfaces hombre-máquina (HMI), variadores de frecuencia (VFD) y redes de comunicación industrial. Siemens también ofrece soluciones de software para la automatización industrial, como el portal TIA de automatización totalmente integrada, que es un marco de ingeniería que integra todas las herramientas de software de automatización en una sola plataforma. Además, Siemens ha desarrollado su propia plataforma de Internet industrial de las cosas (IIoT) llamada MindSphere, que permite la recopilación y el análisis de datos de dispositivos conectados en entornos industriales. Diferentes familias de PLC de Siemens Siemens tiene dos familias principales de PLC que se desarrollaron y son: Familia de PLC Simatic S5 Familia de PLC Simatic S7 La serie Simatic S5 fue la generación anterior de PLC de Siemens y todavía se utiliza en algunos sistemas industriales más antiguos, pero ya no se fabrica. La serie Simatic S7 es el PLC actual de Siemens. Ofrece una amplia gama de CPU con diferentes niveles de rendimiento y funcionalidad para satisfacer diferentes necesidades de automatización. La serie S7 es conocida por su confiabilidad, robustez y flexibilidad, y se usa ampliamente en industrias como la automotriz, la de alimentos y bebidas y la farmacéutica. Descripción general del PLC Siemens S7 La generación S7 de PLC de Siemens ofrece una amplia gama de CPU con diferentes niveles de rendimiento y funcionalidad para satisfacer las demandas de diferentes procesos de automatización industrial; estas CPU pertenecerán a una de las siguientes subfamilias: Simatic S7-1200 El Simatic S7-1200 es un PLC compacto diseñado para aplicaciones de tamaño pequeño a mediano. Ofrece una solución de automatización flexible y rentable con su diseño compacto, comunicación integrada y opciones de programación. Simatic S7-1500 El Simatic S7-1500 es un PLC de alto rendimiento diseñado para aplicaciones de mediana a gran escala. Ofrece funciones avanzadas como control de movimiento, seguridad y protección, lo que lo hace adecuado para tareas de automatización complejas. Simatic S7-300 El Simatic S7-300 es un PLC modular que se puede adaptar fácilmente a una amplia gama de aplicaciones. Ofrece una gran potencia de procesamiento, amplias opciones de comunicación y una amplia gama de módulos de E/S, lo que lo convierte en una opción popular para muchas industrias. Simatic S7-400 El Simatic S7-400 es un PLC de alto rendimiento diseñado para aplicaciones exigentes que requieren una gran potencia de procesamiento y amplias capacidades de comunicación. Ofrece una gran cantidad de módulos de E/S, opciones de redundancia y diagnósticos avanzados, lo que lo hace adecuado para tareas de automatización complejas. Simatic S7-ET 200SP El Simatic S7-ET 200SP es un sistema de E/S remotas compacto que se puede integrar fácilmente con otros PLC Simatic S7. Ofrece un alto grado de flexibilidad, escalabilidad y modularidad, lo que lo hace adecuado para diversas aplicaciones de automatización. Cuando crea un nuevo proyecto en TIA Portal e intenta agregar un nuevo dispositivo, puede encontrar todas las CPU disponibles y compatibles de diferentes familias S7. Consulte la imagen 1. Imagen 1: hay diferentes PLC disponibles en la generación Simatic S7 PLC S7-1200 El Simatic S7-1200 es un PLC versátil y rentable que ofrece una gama de modelos para satisfacer diferentes necesidades de automatización, lo que lo convierte en una opción popular para aplicaciones de tamaño pequeño a mediano. A continuación, se ofrece una descripción general de los diferentes modelos de la serie S7-1200: CPU Simatic S7-1200: Estas son las CPU estándar de la serie S7-1200 y vienen en diferentes versiones, incluidas la CPU 1211C, la CPU 1212C, la CPU 1214C, la CPU 1215C y la CPU 1217C. Ofrecen una funcionalidad más avanzada que los controladores básicos, incluidas interfaces de comunicación integradas y opciones de E/S adicionales. También vienen en diferentes versiones, incluidas DC/DC/DC, DC/DC/RLY, AC/DC/RLY y AC/DC/TC. Tienen una funcionalidad limitada, pero son ideales para tareas de control simples. Simatic S7-1200 Safety Integrated: Esta es una versión con certificación de seguridad del S7-1200 que incluye funciones relacionadas con la seguridad, como entradas de seguridad, salidas de seguridad y comunicación de seguridad, para mejorar la seguridad del sistema de automatización. Simatic S7-1200 SIPLUS: Esta es una versión reforzada del S7-1200 que está diseñada para funcionar en entornos hostiles con temperaturas extremas, humedad y vibración. Vea la imagen 2 para conocer los diferentes modelos del S7-1200. Imagen 2: diferentes modelos de CPU S7-1200 PLC S7-1500 El Simatic S7-1500 es un PLC potente que ofrece una gama de modelos para satisfacer diferentes necesidades de automatización, lo que lo convierte en una opción popular para aplicaciones exigentes. A continuación, se ofrece una descripción general de los diferentes modelos de la serie S7-1500: CPU estándar Simatic S7-1500: Estas son las CPU estándar de la serie S7-1500 y vienen en diferentes versiones, incluidas la CPU 1511-1 PN, la CPU 1513-1 PN, la CPU 1515-2 PN y la CPU 1518-4 PN. Ofrecen procesamiento de alta velocidad y opciones de comunicación avanzadas, como Profinet, Profibus y Ethernet industrial. Simatic S7-1500 Safety Integrated: Esta es una versión con certificación de seguridad del S7-1500 que incluye funciones relacionadas con la seguridad, como entradas de seguridad, salidas de seguridad y comunicación de seguridad, para mejorar la seguridad del sistema de automatización. Controladores avanzados Simatic S7-1500: Se trata de versiones avanzadas del S7-1500 que ofrecen funciones adicionales, como control de movimiento, conteo de alta velocidad y opciones de comunicación avanzadas. CPU T Simatic S7-1500: Se trata de una versión avanzada de las CPU S7-1500 que tienen funciones de control de movimiento ampliadas, como funciones cinemáticas y funciones de engranajes y levas. NPU TM Simatic S7-1500: Se trata de una unidad de procesamiento neuronal (NPU) diseñada para aplicaciones de aprendizaje automático e inteligencia artificial (IA), como mantenimiento predictivo, control de calidad y optimización de procesos. Consulte la imagen 3 para ver los diferentes modelos de S7-1500. Imagen 3: diferentes modelos de S7-1500 PLC S7-300 CPU Simatic S7-300: Estas son las CPU estándar de la serie S7-300 y vienen en diferentes versiones, incluidas la CPU 312C, la CPU 313C, la CPU 314C, la CPU 315-2DP, la CPU 317-2DP y la CPU 319-3PN/DP. Ofrecen una gran potencia de procesamiento, opciones de comunicación avanzadas y una amplia gama de opciones de E/S. CPU Simatic S7-300 Fail-Safe: Estas son versiones con certificación de seguridad de las CPU S7-300 que incluyen funciones relacionadas con la seguridad, como entradas de seguridad, salidas de seguridad y comunicación de seguridad, para mejorar la seguridad del sistema de automatización. CPU compactas Simatic S7-300: Se trata de versiones compactas de las CPU S7-300 que ofrecen un tamaño y un consumo de energía reducidos, lo que las hace ideales para aplicaciones con espacio y suministro de energía limitados. CPU tecnológicas Simatic S7-300: Se trata de CPU especializadas diseñadas para aplicaciones de automatización específicas, como control de movimiento, control de temperatura y control de procesos. Controladores distribuidos Simatic S7-300: Se trata de controladores modulares que ofrecen opciones de comunicación y E/S distribuidas, lo que los hace ideales para aplicaciones que requieren automatización distribuida. Consulte la imagen 4 para conocer los diferentes modelos de S7-300. Imagen 4: diferentes modelos de S7-300 PLC S7-400 CPU Simatic S7-400: Estas son las CPU estándar de la serie S7-400 y vienen en diferentes versiones, incluidas la CPU 412-1, la CPU 414-1, la CPU 414-2, la CPU 416-2 y la CPU 417-4. Ofrecen una gran potencia de procesamiento, opciones de comunicación avanzadas y una amplia gama de opciones de E/S. CPU Simatic S7-400H: Estas son CPU de alta disponibilidad que ofrecen opciones de redundancia para mejorar la disponibilidad y la confiabilidad del sistema de automatización. CPU Simatic S7-400F/FH: Estas son CPU con certificación de seguridad que incluyen funciones relacionadas con la seguridad, como entradas de seguridad, salidas de seguridad y comunicación de seguridad, para mejorar la seguridad del sistema de automatización. Controladores distribuidos Simatic S7-400: Son controladores modulares que ofrecen opciones de comunicación y E/S distribuidas, lo que los hace ideales para aplicaciones que requieren automatización distribuida. Consulte la imagen 5 para conocer los diferentes modelos de S7-400. Imagen 5: diferentes modelos de S7-400 PLC Simatic S7-ET 200 CPU Simatic S7-ET 200: Estas son las CPU estándar de la serie S7-ET 200 y vienen en diferentes versiones, incluidas la CPU 1511C-1 PN, la CPU 1513-1 PN y la CPU 1515-2 PN. Ofrecen una gran potencia de procesamiento, opciones de comunicación avanzadas y una amplia gama de opciones de E/S. CPU Simatic S7-ET 200F: Se trata de CPU con certificación de seguridad que incluyen funciones relacionadas con la seguridad, como entradas de seguridad, salidas de seguridad y comunicación de seguridad, para mejorar la seguridad del sistema de automatización. CPU Simatic S7-ET 200SP: Se trata de CPU compactas que ofrecen un tamaño y un consumo de energía reducidos, lo que las hace ideales para aplicaciones con espacio y suministro de energía limitados. Consulte la imagen 6 para conocer los diferentes modelos de S7-ET200. Imagen 6 – Diferentes modelos de S7-ET200 ¿Por qué hay tantos modelos diferentes? Hay muchos modelos diferentes de PLC S7 de Siemens para ofrecer a los clientes una amplia gama de opciones y características entre las que elegir, lo que les permite seleccionar el PLC que mejor se adapte a sus necesidades de automatización específicas. Los diferentes modelos ofrecen diferentes características, potencia de procesamiento, memoria, opciones de comunicación y capacidades de E/S. Algunos modelos están diseñados para aplicaciones específicas, como control de movimiento, control de temperatura y control de procesos, mientras que otros están diseñados para sistemas de automatización de uso general. Además, a medida que avanza la tecnología y surgen nuevos requisitos de automatización, Siemens continúa desarrollando y lanzando nuevos modelos y versiones de PLC S7 con características y capacidades mejoradas, lo que proporciona a los clientes la última tecnología de automatización para ayudarlos a mejorar su productividad, reducir sus costos y mejorar el rendimiento de su sistema. ¿Cómo decidir qué tipo de PLC S7 se adapta mejor a mi aplicación? La elección del tipo correcto de PLC S7 para su aplicación requiere una consideración cuidadosa de varios factores. A continuación, se indican algunos pasos generales que le ayudarán a decidir qué tipo de PLC S7 se adapta mejor a su aplicación: Determine el tamaño y la complejidad de su sistema de automatización: Si tiene un sistema de automatización grande y complejo, es posible que necesite un PLC de alto rendimiento, como el S7-400 o el S7-1500, que pueda gestionar una gran cantidad de puntos de E/S y opciones de comunicación avanzadas. Si su sistema es más pequeño y menos complejo, un PLC más pequeño, como el S7-1200 o el S7-300, puede ser suficiente. Identifique los tipos de E/S necesarios y cuente: Cada PLC S7 tiene un rango diferente de opciones y capacidad de E/S. Debe determinar el tipo y la cantidad de puntos de E/S que necesita para su aplicación y seleccionar el PLC que pueda admitirlos. Considere la velocidad de procesamiento y el rendimiento necesarios: Los distintos PLC S7 tienen diferentes velocidades de procesamiento y capacidades de rendimiento. Debe determinar la velocidad de procesamiento necesaria y seleccionar el PLC que pueda satisfacer sus requisitos de rendimiento. Evalúe las opciones de comunicación requeridas: Los diferentes PLC S7 ofrecen diferentes opciones de comunicación, como Ethernet, Profibus, Profinet y AS-i. Debe determinar los protocolos de comunicación necesarios para su aplicación y seleccionar el PLC que pueda admitirlos. Considere las características de seguridad requeridas: Si su aplicación requiere funciones de seguridad, como entradas de seguridad, salidas de seguridad y comunicación de seguridad, es posible que necesite un PLC con certificación de seguridad, como el S7-1500F o el S7-400F. Conclusión Siemens ofrece una amplia gama de productos de automatización industrial que incluyen varios modelos de PLC con diferentes funcionalidades y capacidades de rendimiento, incluidas las CPU S7-1200, S7-1500, S7-300 y S7-400. Los diferentes modelos de PLC S7 de Siemens están ahí para brindarles a los clientes una amplia gama de opciones y características para elegir. Elegir el modelo de PLC que mejor se adapte a su Proceso requiere algunos puntos a considerar antes de seleccionar el PLC, algunos de estos puntos son el número de E/S, los requisitos de seguridad y las opciones de comunicación. -
Programación secuencial de PLC para válvulas neumáticas
leizuofa posted A plc and hmi article in Spanish in PLC programming learning
Este es un programa de PLC para el funcionamiento de válvulas neumáticas en modo secuencial. Programación secuencial de PLC para válvulas neumáticas Escriba una lógica de escalera para la programación secuencial de PLC para que las válvulas neumáticas operen cilindros en modo secuencial. Solución: Aquí en este sistema, hay dos cilindros y dos pulsadores que están conectados al PLC. Los pulsadores están conectados a las entradas del PLC y los cilindros están conectados a las salidas del PLC. Existen las siguientes condiciones para que el sistema funcione, que son las siguientes: – Cuando se presiona START PB, el cilindro A debe arrancar y el cilindro B debe arrancar después de 5 segundos del cilindro A. Cuando se presiona STOP PB, se deben detener ambos cilindros A y B. Ahora, para cumplir con las siguientes condiciones, debemos utilizar un temporizador que retrase la operación del cilindro B. Lista de entradas/salidas Entradas: X1 - START PB X2 - STOP PB Salidas: Y0 - Cilindro A Y1 - Cilindro B Diagrama de escalera para la operación secuencial de cilindros Explicación del programa: En el peldaño 1, usamos STRAT PB (X1) para iniciar el cilindro A (Y0). Aquí usamos el contacto NC de STOP PB (X2) para detener el cilindro A (Y0). En paralelo con el contacto X1, usamos el contacto NA de Y0 para bloquear la salida. En el peldaño 2, usamos el temporizador T0 para contar el retraso del cilindro B (Y1). En el peldaño 3, usamos el contacto NA de T0, por lo que una vez que se activa el retraso de tiempo en el cilindro B (Y1). -
SIEMENS-ES ¿Cómo leer la hoja de datos del PLC? – Notas importantes sobre el PLC
leizuofa posted A plc and hmi article in Spanish in PLC programming learning
En este artículo, aprenderemos a leer la hoja de datos del PLC y notas importantes sobre las especificaciones del PLC que son útiles para los ingenieros de automatización. Además, hablaremos sobre qué información diferente se proporciona en una hoja de datos del PLC y cómo puede ser útil para mí como programador o como ingeniero de instalación. Contenido: ¿Qué información proporciona una hoja de datos? Ejemplos de información en una hoja de datos del PLC Valor nominal de corriente y voltaje Memoria del PLC Diferentes bloques y direcciones de áreas de datos Especificaciones de entradas y salidas Interfaces y protocolos de comunicación Condiciones ambientales Notas importantes sobre la lectura de la hoja de datos. ¿Qué información proporciona una hoja de datos? La hoja de datos de un PLC le proporcionará mucha información; esta información cubrirá casi todas las características que puede proporcionar el PLC. Pero parte de esta información no será tan importante para usted como otra, depende de cuál sea su alcance con el PLC. Si usted es el ingeniero de instalación, entonces se centrará en las especificaciones técnicas del PLC, como el voltaje de suministro, el tipo de entradas y salidas y la potencia nominal de estos puntos de E/S. También prestará más atención a la dimensión del PLC y las condiciones ambientales durante el funcionamiento del PLC para determinar el tamaño del panel eléctrico que utilizará para el PLC y también los métodos de enfriamiento utilizados para el PLC. ¿Cómo leer la hoja de datos del PLC? Por otro lado, si usted es solo el programador del PLC, entonces la información anterior puede no ser tan crítica para usted, en cambio, se centrará en los datos relacionados con, por ejemplo, la memoria del PLC, la cantidad de E/S disponibles y la capacidad de agregar nuevos módulos. También prestará atención a otra información como los lenguajes de programación compatibles con ese PLC porque no todos los PLC admiten todos los lenguajes de programación. La comunicación y la red también son otros puntos importantes que le interesarán como programador. La hoja de datos de un PLC siempre comenzará con una descripción general del PLC. Consulte las imágenes 1 y 2 para ver ejemplos sencillos de S7-1200 y S7-1500. Imagen 1: primera página de una hoja de datos de un PLC S7-1500. Imagen 2: primera página de una hoja de datos de un PLC S7-1200. Como puede ver, al principio de la hoja de datos se incluye una descripción general del PLC. Esta descripción general le dará una idea básica sobre el PLC y si se adapta o no a su aplicación. Ejemplos de la información incluida en una hoja de datos de un PLC En este artículo, utilizaremos la hoja de datos de un PLC S7-1200 para mostrar parte de la información que contiene. Corriente nominal y voltaje En una sección determinada de la hoja de datos debe haber información sobre los valores nominales de voltaje y corriente del PLC. Algunos PLC necesitarán una fuente de CC mientras que otros requerirán una fuente de CA. Además, las entradas y salidas del PLC pueden tener valores nominales diferentes, que es exactamente el caso de nuestro PLC, donde el suministro de voltaje al PLC es de 220 CA, pero los valores nominales para las E/S son de CC. Consulte la imagen 3. Imagen 3: valores nominales de voltaje y corriente. Memoria del PLC En la hoja de datos se proporcionarán diferentes capacidades de memoria del PLC. Esto mostrará cuánta memoria de trabajo tiene y si puede expandirla o no. Consulte la imagen 4. Imagen 4: descripción de la memoria del PLC. Diferentes bloques y direcciones de áreas de datos En esta sección, conocerá los diferentes bloques que puede utilizar con su PLC, como temporizadores, contadores, FC, etc. Y el número máximo de bloques que puede utilizar. También se le proporcionará la memoria de las áreas de datos y su retentividad. Consulte la imagen 5. Imagen 5: bloques de CPU disponibles. Especificaciones de entradas y salidas Este es otro dato crítico que se debe proporcionar, a través de esta información sabrá la cantidad de E/S que se proporcionan con su PLC y cómo conectar y utilizar cada E/S. Consulte las imágenes 6 y 7. Imagen 6: entradas digitales del PLC. Como puede ver, tenemos 8 puntos DI en nuestro PLC, 6 de los cuales se pueden utilizar para entradas HSC (conteo de alta velocidad) como codificadores. También te dice que el voltaje de entrada es de 24 VCC, lo que significa que no puedes conectar directamente sensores de CA o entradas al PLC. Imagen 7: nuestro PLC tiene salidas digitales. Si el PLC tiene E/S analógicas, también se mencionará en la hoja de datos. Consulta la imagen 8 Imagen 8: descripción de las E/S analógicas. Interfaces y protocolos de comunicación Las interfaces de comunicación disponibles en tu PLC, así como los protocolos de comunicación que puede admitir, también se mencionarán en la hoja de datos. Consulta la imagen 9. Imagen 9: la interfaz de comunicación del PLC. Como puedes ver, el PLC que tenemos solo tiene una interfaz de comunicación, que es una interfaz PROFINET proporcionada como un puerto RJ-45. Sin embargo, el propio PLC puede admitir muchos protocolos de comunicación, como PROFIBUS y AS-Interface. Ver imagen 10. Imagen 10: Protocolos de comunicación admitidos. Condiciones ambientales Este es otro dato muy importante que debe conocer sobre su PLC, ya que lo ayudará a decidir el tipo de gabinete y refrigeración que mejor se adaptará a su PLC. Consulte la imagen 11. Imagen 11: condición ambiental del PLC. Notas importantes sobre la lectura de la hoja de datos de un PLC No todas las hojas de datos de PLC contienen la misma información, ya que los diferentes PLC tendrán diferentes características y capacidades y, por lo tanto, diferente información para mostrar. No toda la información dentro de la hoja de datos será importante para usted, eso dependerá de si es un programador de PLC o un ingeniero de instalación, como mencionamos anteriormente. Está bien si no comprende parte de la información en la hoja de datos, como dijimos, la hoja de datos proporcionará información sobre casi todas las características admitidas por su PLC, es posible que no conozca algunas de estas características y es posible que ni siquiera necesite usarla. Por ejemplo, las características de OPC UA o del servidor web. Por lo tanto, si encuentra algún dato que no comprende, no significa necesariamente que su PLC no se adapte a su proyecto. Conclusión Leer la hoja de datos del PLC es importante para decidir si el PLC es adecuado para su aplicación o no. También es importante decidir con qué tipos de E/S y valores nominales de suministro de voltaje puede trabajar. Intente leer la hoja de datos de diferentes modelos de PLC y vea si puede comprender la información básica proporcionada en la hoja de datos. -
SIEMENS-ES ¿Cuál es la versión de firmware de un PLC? – Siemens PLC Hardware
leizuofa posted A plc and hmi article in Spanish in PLC programming learning
En este artículo vamos a hablar de un problema importante que ocurre mucho cuando comienzas a programar tu PLC, se trata de los errores comunes de la versión de firmware y cómo manejarlos. Contenido: ¿Cuál es la versión de firmware de un PLC? ¿Por qué la versión de firmware puede causar problemas? ¿Cómo saber la versión de firmware de un PLC de hardware? ¿Cómo manejar los errores de versión de firmware? Conclusiones. ¿Cuál es la versión de firmware de un PLC? El firmware de un PLC o un módulo de PLC (IOs, módulos de comunicación, etc.) es simplemente el software interno instalado en el PLC que es responsable de lo que el hardware puede hacer realmente. Una versión de firmware determinará qué característica interna tiene tu PLC, como los protocolos de seguridad, funciones de optimización internas, mejor manejo del tiempo y otras características y capacidades diferentes. Un PLC con una versión de firmware más antigua tendrá menos características y capacidades internas que un PLC con una versión de firmware más nueva. Las imágenes 1 y 2 muestran cómo el mismo PLC de hardware tendrá diferentes características y capacidades de rendimiento con diferentes versiones de firmware instaladas. Imagen 1: versión de firmware V4.0 Imagen 2: versión de firmware V4.4 ¿Has notado cómo la misma CPU ahora tiene más funciones agregadas con solo actualizar a una versión de firmware más alta? Con la versión de firmware V4.4 más alta, la CPU ahora tiene OPC UA, entre otras funciones agregadas a sus capacidades de rendimiento. ¿Por qué la versión de firmware puede causar problemas? Mira, normalmente comienzas tu proyecto de PLC seleccionando el PLC y luego comienzas a programar. Seleccionarás tu PLC en TIA Portal de acuerdo con uno de dos puntos: Ya has comprado el PLC de hardware, por lo que seleccionarás el mismo PLC que tienes en el proyecto de TIA Portal. Todavía no has comprado un PLC, por lo que seleccionarás un PLC en TIA Portal que cumpla con tus requisitos y luego lo comprarás más tarde. En cualquiera de los dos casos, si la versión de firmware del PLC seleccionado en el proyecto de TIA Portal es diferente de la versión de firmware del hardware real, tendrá un problema. Y su programa ni siquiera se descargará al PLC de hardware. Por lo tanto, siempre debe asegurarse de que la versión de firmware del PLC real coincida con el PLC seleccionado en TIA Portal. Vale la pena mencionar que si la versión de firmware seleccionada en TIA Portal es anterior a la del PLC real, no tendrá problemas con su programa, perderá algunas de las características y capacidades del PLC, pero su programa funcionará bien. Los problemas aparecerán si ocurre lo contrario, si la versión de firmware seleccionada en TIA Portal es más reciente que la del PLC real, entonces tendrá un problema. Por eso, si no conoce la versión de firmware de su hardware, debe seleccionar la versión anterior en el proyecto de TIA Portal. ¿Cómo saber la versión de firmware del PLC de hardware? Podemos conocer la versión de firmware del PLC de hardware que tenemos mediante uno o dos métodos: Desde el propio PLC La versión de firmware de cualquier módulo PLC siempre está escrita en algún lugar del dispositivo de hardware. Vea las siguientes imágenes. Imagen 3: versión de firmware FS:04 Imagen 4: la versión de firmware es V7.0.5 Desde el software TIA Portal Usando el software TIA Portal puede conectar su PLC a su TIA Portal y buscar el dispositivo, luego puede encontrar la versión de firmware del dispositivo de hardware, vea los siguientes pasos. Ni siquiera tiene que crear un nuevo proyecto; solo la vista de proyecto de TIA Portal es suficiente, vea la imagen 5. Imagen 5: Vista de proyecto de TIA Portal sin crear un proyecto. Desde el acceso en línea, busque su PLC. Como la conexión entre el TIA Portal y el PLC se realiza a través de un cable Ethernet, utilizaremos la opción de conexión Ethernet. Haga doble clic en Actualizar dispositivos accesibles para comenzar a buscar su PLC. Consulte la imagen 6. Imagen 6: Actualizar dispositivos accesibles para buscar su PLC. Si hay una conexión entre el PLC y el TIA Portal, el software debería encontrar su PLC. Consulte la imagen 7. Imagen 7: El software encontró su PLC. Ahora, haga doble clic en En línea y diagnóstico para mostrar la información de su PLC. Consulte la imagen 8. Imagen 8: Información en línea del PLC. En el atributo General, puede encontrar la versión de firmware de su PLC como se muestra en la imagen anterior. También puede encontrar la versión de firmware en el atributo Funciones. Consulte la imagen 9. Imagen 9: versión de firmware del atributo de funciones. ¿Cómo manejar los errores de versión de firmware? Primero, creemos un escenario de error de versión de firmware y luego veremos cómo manejar y solucionar este error. Comenzaremos simplemente creando un nuevo proyecto y luego agregando un nuevo dispositivo. En este ejemplo de PLC, elegiremos intencionalmente una versión de firmware más nueva que la del hardware del PLC real. Sabemos que el firmware de nuestro PLC es V4.0, pero en TIA Portal elegiremos la versión de firmware V4.4. Vea la imagen 10. Imagen 10: agregue un nuevo PLC con una versión de firmware más alta. Presione OK para agregar su dispositivo y eso es todo, ha creado una situación que provocará un error de firmware. Para ver eso, intentemos descargar el proyecto a nuestro PLC. Tenga en cuenta que ni siquiera hemos escrito ningún código. Simplemente descargémoslo al PLC. Vea la imagen 11. Imagen 11: Error en la descarga al PLC, firmware incompatible. Como se puede ver en la imagen anterior, una vez que se intenta descargar el proyecto al PLC, aparecerá un error que indica que las versiones de firmware del PLC y del TIA Portal no coinciden. Incluso se puede ver si se intenta acceder a Internet. Ver imagen 12. Imagen 12 – El PLC se encuentra en estado de error. Para solucionar este error, simplemente debemos cambiar la versión de firmware del PLC seleccionado en el proyecto TIA Portal a una versión anterior o igual al firmware del PLC de hardware actual. Para ello, vamos a la página de propiedades del PLC y seleccionamos Cambiar versión de firmware en el atributo General. Ver imagen 13. Imagen 13 – Cambiar la opción de versión de firmware. Una vez que se pulsa el botón Cambiar versión de firmware, aparecerá una ventana de cambio de dispositivo; en esta ventana, se podrá cambiar la versión de firmware. Consulte la imagen 14. Imagen 14: ventana de cambio de dispositivo. En la ventana de cambio de dispositivo, verá el dispositivo actual que ha seleccionado antes y el nuevo dispositivo cuyo firmware necesita que coincida con el que tiene actualmente. Tenga en cuenta que, al elegir un firmware inferior, por ejemplo V4.3, la información en la parte inferior de la ventana le mostrará qué características ha perdido al pasar a un firmware inferior, como se ve en la imagen anterior. Ahora, cambie el firmware del nuevo dispositivo a la versión V4.0 del PLC de hardware. Y observe cuántas características y capacidades ha perdido el PLC simplemente por elegir un firmware inferior. Consulte la imagen 15. Imagen 15: Coincidencia del firmware entre el PLC de hardware y el software. Presione OK para confirmar los cambios y ahora intente descargar su proyecto una vez más al PLC. Notará que ahora el proyecto se cargará en el PLC sin ningún error. Consulte la imagen 16. Imagen 16: el proyecto se carga en el PLC. Una carga exitosa del proyecto en el PLC indica que el error de versión de firmware ahora está solucionado. También puede conectarse a Internet y verificarlo desde la vista en línea del proyecto del PLC. Consulte la imagen 17. Imagen 17: vista en línea del proyecto. Las marcas de verificación y los círculos verdes que ve en la imagen anterior indican que todas las configuraciones del software y el hardware coinciden y son compatibles entre sí. Conclusión Los errores de versión de firmware son un problema muy común al que se enfrenta al crear un nuevo proyecto en TIA Portal. Una práctica recomendada es conocer la versión de firmware del dispositivo de hardware que tiene y hacer coincidir el firmware con el dispositivo seleccionado en TIA Portal. Si no conoce el firmware del dispositivo de hardware, debe elegir la versión más antigua del módulo seleccionado dentro de TIA Portal para evitar problemas de firmware con su proyecto. -
SIEMENS-ES PLC Siemens que utiliza bits de memoria de reloj en TIA Portal
leizuofa posted A plc and hmi article in Spanish in PLC programming learning
En este artículo, hablaremos sobre los bits de memoria de reloj en TIA Portal y Siemens PLC. Y mostraremos cómo habilitar el uso de los bits de memoria y cómo puede ayudarlo a evitar codificar muchas líneas lógicas para obtener una función simple que su PLC ya realiza internamente. Contenido: ¿Qué son los bits de memoria de reloj? La necesidad de bits de memoria de reloj. Habilitar la memoria de reloj en mi proyecto. Ejemplo de programa simple. Simulación de programa. Conclusión. ¿Qué son los bits de memoria de reloj? Una memoria de reloj es una memoria de bits que cambia su estado binario periódicamente en una proporción de 1:1. Eso simplemente significa que cambia su estado periódicamente entre verdadero y falso con una frecuencia predefinida. Hay 8 bits de memoria de reloj predefinidos en la CPU, por lo que también se los llama byte de memoria de reloj. Usted decide qué byte de memoria de la CPU se convertirá en el byte de memoria de reloj cuando habilita el uso del byte de memoria y asigna los parámetros de memoria de reloj. La necesidad de bits de memoria de reloj No es necesario que tenga memoria de reloj, ya que puede crear su propia lógica y lograr la misma funcionalidad. Sin embargo, es bueno tenerla en el bolsillo cuando necesite dicha funcionalidad, ya que crear 8 lógicas independientes para 8 bits de memoria de reloj le llevará algo de tiempo y esfuerzo y puede hacer que su programa sea innecesariamente grande. Puede utilizar la memoria de reloj, por ejemplo, para activar luces indicadoras intermitentes o para iniciar operaciones periódicas recurrentes, como registrar valores reales. A cada bit del byte de memoria de bit de reloj se le asigna una frecuencia. Consulte la siguiente tabla. Bit del byte de memoria de reloj 7 6 5 4 3 2 1 0 Periodo (s) 2.0 1.6 1.0 0.8 0.5 0.4 0.2 0.1 Frecuencia (Hz) 0.5 0.625 1 1.25 2 2.5 5 10 Tabla 1. Frecuencias de los bits de memoria de reloj según el manual de ayuda del TIA Portal. Habilitar la memoria de reloj en el PLC de Siemens Para utilizar los bits de memoria de reloj en su lógica, debe habilitar el uso del byte de memoria de reloj desde las propiedades de la CPU. Consulte la imagen 1. Imagen 1: Habilitar el uso del byte de memoria de reloj Puede elegir la dirección del byte que desea asignar para la memoria de reloj, solo asegúrese de que no entre en conflicto con ningún otro byte de memoria en la lógica de su PLC. Como puede ver en la imagen, elegimos la dirección 0, por lo que si necesita usar el bit de reloj de 2 Hz, usará el bit %M0.3 Programa de ejemplo de cinta transportadora Tia Portal En un artículo anterior, usamos un ejemplo simple de una cinta transportadora que mueve un producto entre el inicio y el final de la cinta. Había un LED de indicación que se enciende cuando la cinta está en funcionamiento. Vea la imagen 2. Imagen 2: sistema de cinta transportadora simple Usaremos el mismo ejemplo, pero esta vez haremos que el LED sea más intuitivo usando los bits de memoria de reloj. Esta vez usaremos los bits de memoria de reloj con el LED para dar una indicación de diferentes casos del proceso. Descripción del Proceso En un sistema de cinta transportadora controlado por un PLC, existen dos sensores de presencia en los dos extremos de la cinta para detectar la presencia de un producto, cuando el producto se detecta al inicio de la cinta, el transportador puede iniciarse a través de un pulsador de inicio y cuando el producto llega al final la cinta se detendrá automáticamente y no volverá a funcionar hasta que se detecte nuevamente un nuevo producto al inicio y se presione el pulsador de INICIO. El LED de indicación debe tener más de un comportamiento dependiendo del caso actual del sistema. Estos casos son los siguientes: Si hay un producto al inicio de la cinta pero aún no se presiona INICIO, el LED debe parpadear con una frecuencia de 0,5 Hz. Si el transportador está moviendo el producto, el LED debe parpadear con una frecuencia de 2 Hz. Cuando el producto llega al final de la cinta, el LED debe estar ENCENDIDO Cuando se retira el producto del final, el LED se APAGA. IOs del proyecto Tenemos 4 entradas digitales de la siguiente manera: START: pulsador de arranque para poner en marcha el transportador. STOP: pulsador de parada para parar el transportador en cualquier momento. P1: sensor de presencia al inicio de la cinta. P2: sensor de presencia al final de la cinta. También tenemos 2 salidas digitales de la siguiente manera: MOTOR: al activarse la cinta transportadora empezará a funcionar. LED: se activará según la secuencia mencionada anteriormente. Código de programa Primero, seleccionamos nuestro PLC y asignamos las etiquetas de IO. Ver imagen 3 Imagen 3 – Asignar etiquetas de entradas y salidas No olvides habilitar el uso del byte de memoria de reloj como se muestra en la imagen 1. Tendremos dos redes de código, una para el control de la cinta transportadora y otra para la lógica de los LED. Ver imágenes 4 y 5 para la lógica. Imagen 4: La lógica de control de la cinta transportadora Imagen 5: La lógica de control del LED Como puede ver, el uso de los bits de memoria del reloj hizo que la lógica fuera simple y fácil de leer. Imagínese si creara la misma lógica sin el uso de estos bits, habría utilizado muchos temporizadores y su lógica habría sido bastante complicada. Simulación del programa Explicamos anteriormente cómo utilizar el PLCSim para simular nuestro código. En este ejemplo, utilizaremos la secuencia de simulación para crear la misma secuencia del proceso real y veremos si el comportamiento del LED coincide con la funcionalidad deseada o no. Comience compilando nuestro código e inicie una nueva simulación. Vea la imagen 6. Imagen 6: simulación del programa Como puede ver, el LED ahora está APAGADO; no hay presencia de productos al principio ni al final de la cinta transportadora. Creamos una secuencia de simulación y vemos cómo reaccionará el LED a diferentes condiciones del proceso. Vea la siguiente animación. Vea si puede notar cómo cambia el comportamiento del LED con diferentes condiciones del proceso. Conclusión Los bits de memoria del reloj se encienden y apagan con una frecuencia predefinida. Son muy útiles cuando necesita activar luces indicadoras intermitentes o iniciar operaciones que se repiten periódicamente. El uso de bits de memoria de reloj le ahorrará el tiempo y el esfuerzo consumidos para obtener la misma funcionalidad a través de su propia lógica. -
¿Qué son las entradas analógicas? – Procesamiento de señales analógicas en PLC
leizuofa posted A plc and hmi article in Spanish in PLC programming learning
En este artículo, hablaremos sobre el procesamiento de señales de entrada analógicas en PLC y cómo podemos manejar estas señales en el proceso de automatización. Contenido: ¿Qué son las señales de entrada analógicas? Procesamiento analógico de entrada en S7-1200 y 1500. Procesamiento analógico de entrada en S7-300 y 400. ¿Cuáles son las mejores para el control? – Señales analógicas o digitales Conclusión. ¿Qué son las señales de entrada analógicas? Antes de profundizar en cómo manejar las señales de entrada analógicas en TIA Portal, comencemos por comprender las entradas analógicas. Todo sistema de automatización necesita señales de entrada para comprender el estado del proceso para poder tomar decisiones que mantendrán el proceso en funcionamiento y estable. Estas señales de entrada son señales de entrada discretas o digitales que tienen la forma de valores 0 o 1. El otro tipo de entrada son las señales analógicas. Una señal analógica es simplemente una representación continua de una cantidad física en su sistema, por lo que si necesita monitorear la temperatura o la presión en su proceso, una señal analógica le brindará valores continuos e instantáneos que corresponden a los cambios reales en la cantidad física. Las señales analógicas se proporcionan en muchas formas estándar, pero las más comunes son 0-10 V o 4-20 mA. Dependerá del tipo de sensor analógico que esté utilizando y también determinará el tipo de módulo analógico de PLC que puede utilizar. Supongamos que tenemos un sensor de presión analógico que tiene un rango de medición de 0-10 bar y una salida en forma de 4-20 mA. Por lo general, una señal analógica tendrá una relación lineal entre la cantidad física medida y la salida correspondiente. Eso significa que si el sensor mide 0 bar, dará una señal de 4 mA y si mide 10 bar, dará una señal de 20 mA y lo mismo entre ambos también será lineal. Consulte la imagen 1. Imagen 1: representación de la señal analógica. El PLC aún no puede comprender los 4-20 mA de la cantidad física, y aquí entra en juego el uso del módulo analógico del PLC. El módulo analógico realizará otra transformación a esta representación para que el PLC pueda comprenderla. El módulo analógico convertirá las mediciones analógicas de mA en valores digitales que dependen del tipo de módulo, pero para el PLC Siemens, estos valores siempre están en el rango de 0 a 27648. Por lo tanto, si el sensor mide 0 bar, la salida será de 4 mA y se convertirá en un valor 0 dentro del PLC. Consulte la imagen 2. Imagen 2: conversión analógica a digital de la señal de entrada El PLC convertirá entonces los valores de 0 a 27648 en la medición física equivalente según su programación, a la que llegaremos más adelante. Consulte la imagen 3. Imagen 3: el valor medido escalado dentro del PLC. El procesamiento analógico de las temperaturas es bastante diferente porque el comportamiento del sensor de temperatura con los cambios físicos no es lineal como lo haría un sensor de nivel o de presión. Es por eso que existen tablas estandarizadas para los diferentes tipos de sensores de temperatura que indican qué temperatura corresponde a qué valor del sensor. Es por eso que, con la medición de temperatura, seleccionaría tipos especiales de módulos de entrada de su PLC donde estas tablas estándar se definen internamente y obtendrá directamente el valor de temperatura correspondiente a la medición del sensor. Es por eso que no puede encontrar un sensor de temperatura que tenga escrito un rango de medición de voltaje o corriente. Solo encontrará escrito el tipo de sensor, por ejemplo, PT100, PT1000, KTY84, PTC, etc. Procesamiento de entradas analógicas en S7-1200 y 1500 Para ver cómo manejamos las señales analógicas en los PLC de la familia S7 modernos, comencemos por crear un nuevo proyecto y agregar una CPU S7-1200. También agregaremos un módulo de entrada/salida analógica. Ver imagen 4. Imagen 4: Agregar un módulo de entrada analógica. Ahora, definamos nuestra etiqueta de señal de entrada. Supondremos un sensor de presión que puede medir la presión entre 0 y 10 bares y da una señal correspondiente entre 4 y 20 mA. Definiremos esa señal de entrada en las primeras etiquetas del módulo de entrada. Ver imagen 5. Imagen 5: Definir la etiqueta de señal de entrada. Como dijimos antes, el módulo de entrada puede trabajar con diferentes señales de entrada, ya sea 0-10 V o 4-20 mA, por lo que debemos asignar la configuración correcta para nuestro sensor. Como hemos dicho, la señal de presión se da en forma de 4-20 mA, por lo que configuraremos nuestro canal de entrada para ello. Ver imagen 6. Imagen 6 – Configurar el canal de entrada Ahora que hemos terminado la parte de configuración del hardware, comenzaremos a programar nuestro código de manejo. Para ello, crearemos una función FC para que podamos reutilizarla cada vez que tengamos una señal analógica para procesar. Dentro de esta FC crearemos la lógica que manejará la señal analógica y la convertirá en el valor medido físico. En TIA Portal hay instrucciones predefinidas que podemos usar para hacer exactamente eso, estas instrucciones son las instrucciones NORM_X y SCALE_X. Ver imagen 7. Imagen 7 – Instrucciones NORM_X y SCALE_X Como puede ver, NORM_X normalizará la entrada analógica a un valor entre 0 y 1, y luego se utilizará SCALE_X para escalar este valor normalizado al rango del valor físico medido, que en nuestro caso del sensor está entre 0 y 10 bares. Usamos una función FC en lugar de escribir nuestro código directamente en el OB1 principal para que nuestro código sea reutilizable con cualquier señal analógica. Cada vez que tengo una nueva señal de entrada analógica, simplemente arrastro y suelto el bloque FC en nuestro OB1 principal y escribo los parámetros asociados de la entrada requerida. Vea la imagen 8. Imagen 8: arrastre y suelte su FC. Cuando arrastre y suelte el FC en su OB1 principal, se le solicitará que proporcione el parámetro asociado de esta llamada de función. En nuestro caso, la señal de entrada es el sensor de presión y ScaledMIN y ScaledMAX son el rango de valores de medición de 0 a 10 bares. Consulte la imagen 9. Imagen 9: Asignación de los parámetros de función a nuestro sensor de presión. Si tengo una nueva entrada analógica, no tendré que volver a crear la lógica del PLC, simplemente arrastraré y soltaré la FC en el OB1 principal y asignaré los nuevos parámetros del sensor. Supongamos que ahora tenemos un nuevo sensor analógico para medir el nivel dentro de un tanque de agua entre el 0 y el 100 % del tanque. Realizaremos los mismos pasos que antes, comenzando por definir la nueva etiqueta de entrada. Consulte la imagen 10. Imagen 10: Definir un nuevo sensor de nivel A continuación, configuraremos el canal de entrada para el sensor de nivel como lo hicimos en la imagen 6. Supondremos la misma configuración. A continuación, simplemente arrastraremos y soltaremos la FC que creamos y simplemente asignaremos los parámetros del sensor de nivel. Vea la imagen 11. Imagen 11: reutilización de la FC con el sensor de nivel. Como puede ver en la imagen anterior, esta es una de las muchas ventajas de usar funciones FC en su lógica, ya que ayudó a reducir la cantidad de programación que realizamos. Ahora tiene un código genérico que se puede reutilizar muchas veces con cualquier señal analógica de entrada que pueda necesitar en su proyecto de PLC. Vea la siguiente simulación para el procesamiento de señales de entrada en un PLC Siemens. Entradas analógicas en S7-300 y S7-400 Para ver cómo manejamos las señales analógicas en los PLC de la familia S7 más antiguos, como el S7-300, comencemos por crear un nuevo proyecto y agregar una CPU S7-300. El PLC elegido ya tiene suficientes canales de entrada analógica, por lo que no agregaremos ningún módulo analógico. Consulte la imagen 12. Imagen 12: agregue un PLC S7-300. Luego definiremos la nueva etiqueta del sensor analógico; asumiremos un sensor de presión que tiene un rango de medición entre 0 y 100 bar y una salida de 4-20 mA. Configuraremos el canal de entrada del PLC como lo hicimos antes con el S7-1200 para que se ajuste a nuestro sensor de entrada analógico. Consulte la imagen 13. Imagen 13: configure el canal de entrada. Ahora, en cuanto a la parte de codificación del PLC, la instrucción en el s7-300 que se usa para manejar el procesamiento analógico es diferente a la del s7-1200. En los PLC S7-1200, tenemos que usar NORM_X y SCALE_X, pero con el S7-300 no tenemos la instrucción normalizada, solo se usa una instrucción SCALE. Consulte la imagen 14. Imagen 14: instrucción SCALE en S7-300 Como puede ver en la imagen anterior, la instrucción SCALE en S7-300 es similar a las instrucciones NORM_X y SCALE_X combinadas. Existe otra diferencia clara que es la entrada BIPOLAR. La entrada BIPOLAR se utiliza para indicar si el valor en el parámetro IN debe interpretarse como bipolar o unipolar. El parámetro puede asumir los siguientes valores: BIPOLAR = 1, entonces se supone que el valor entero de entrada está entre -27648 y +27648. Por ejemplo, cuando el sensor analógico nos da una salida en el rango de -10 V a +10 V BIPOLAR = 0, entonces se supone que el valor entero de entrada está entre 0 y 27648. Por ejemplo, cuando el sensor nos da una salida en el rango de 0 a 10 V Y así es simplemente cómo manejar las señales de entrada analógicas en los PLC S7-1200 y S7-300. ¿Cuáles son mejores para el control? Señales analógicas o digitales Mira, ambas señales son críticas y útiles para cualquier sistema de automatización, pero personalmente prefiero usar las señales analógicas si puedo, porque tener mediciones de señales analógicas para las cantidades físicas del proceso me dará un monitoreo continuo de los parámetros del proceso que me permitirá rastrear y controlar mejor mi proceso. Además, tener un monitoreo continuo de los parámetros me permitirá establecer una lógica de control diferente para diferentes valores de señal, lo que hará que sea más fácil tener un rango de valores para controlar el proceso y otros rangos de valores para alarmas y advertencias del proceso que se desvían del funcionamiento normal. Conclusión Una señal analógica es una representación continua de una cantidad física en su sistema. Las entradas analógicas se proporcionan más comúnmente en el rango de 0 a 10 V o de 4 a 20 mA. El procesamiento de señales analógicas significa convertir la señal analógica de 4 a 20 mA en un rango de valores que corresponde a la cantidad física real y que el PLC puede comprender. En la familia de PLC S7 moderna, como S7-1200, el manejo de señales analógicas se realiza mediante las instrucciones NORM_X y SCALE_X. En la familia de PLC S7 más antigua, como S7-300, el manejo de señales analógicas se realiza mediante la instrucción SCALE, que es básicamente una combinación entre las instrucciones NORM_X y SCALE_X.