Jump to content

Search the Community

Showing results for tags 'SIEMENS-ES'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


PLC & HMI product application technology forum!

  • Commonly used PLC brand product application technology discussion area!
    • Siemens PLC Forum
    • Allen Bradley PLC Forum
    • Mitsubishi PLC Forum
    • Schneider PLC Forum
    • Omron PLC Forum
    • B&R PLC Forum
    • ABB PLC Forum
    • Honeywell PLC Forum
    • Emerson PLC Forum
    • Hitachi PLC Forum
    • Rexroth PLC Forum
    • IDEC PLC Forum
    • Koyo PLC Forum
    • Delta PLC Forum
    • Eaton PLC Forum
    • Keyence PLC Forum
    • LS PLC Forum
    • Panasonic PLC Forum
    • Phoenix PLC Forum
    • Pilz PLC Forum
    • WAGO PLC Forum
    • Yokogawa PLC Forum
    • Toshiba PLC Forum
    • PEPPERL+FUCHS PLC Forum
  • Commonly used HMI brand product application technology discussion area!
    • Siemens HMI Forum
    • Fatek HMI Forum
    • Advantech HMI Forum
    • Weintek HMI Forum
    • Mitsubishi HMI Forum
    • Fuji HMI Forum
    • Pro-face HMI Forum
    • B&R HMI Forum
    • IDEC HMI Forum
    • Schneider HMI Forum
    • Weinview HMI Forum
    • LS HMI Forum
    • Omron HMI Forum
    • Panasonic HMI Forum
    • Delta HMI Forum
    • MCGS HMI Forum
    • beijer HMI Forum
    • Kinco HMI Forum
    • Redlion HMI Forum
    • XINJE HMI Forum
    • Samkoon HMI Forum
  • European PLC brand product application technology discussion area!
  • Americas PLC brand product application technology discussion area!
  • Asian PLC brand product application technology discussion forum!
  • European HMI brand product application technology discussion forum!
  • Americas HMI brand product application technology discussion forum!
  • Asian HMI brand product application technology discussion forum!
  • Industrial automation SCADA & HMI configuration software!
  • Technical discussion area related to industrial automation control
  • Commercial service area for PLC&HMI products of various brands!

Categories

  • PLC programming learning
  • HMI interface design
  • DCS control system
  • SCADA technology

Categories

  • European PLC & HMI brand
  • Americas PLC & HMI brand
  • Asian PLC & HMI Brands

Categories

  • PLC programming learning
  • HMI interface design
  • DCS control system
  • SCADA technology

Categories

  • PLC programming learning
  • HMI interface design
  • DCS control system
  • SCADA technology

Categories

  • PLC programming learning
  • HMI interface design
  • DCS control system
  • SCADA technology

Categories

  • PLC programming learning
  • HMI interface design
  • DCS control system
  • SCADA technology

Categories

  • PLC product technical files
  • HMI product technical files
  • DCS product technical files
  • PAC product technical files
  • SCADA product technical files

Product Groups

  • PLC products
  • PLC accessories
    • PLC lithium battery
    • PLC memory card
    • PLC programmer
    • PLC data line
  • HMI products
  • HMI accessories
    • HMI protection installation box
    • HMI self-made assembly accessories
    • HMI communication cable
    • HMI circuit board card components
  • Advertising for rent

Blogs

There are no results to display.

There are no results to display.

Categories

  • PLC Programming Technology Videos
  • HMI Design and Configuration Video
  • DCS Control System Video
  • PAC Automation Control Video
  • SCADA acquisition monitoring Vides

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


date of birth

Between and

gender


Education degree


About Me


Mobile phone


website


address


WhatsApp


Messenger


Telegram


Line


Skype


Instagram


VK Messenger


Viber


Snapchat


Zalo


Kakao Talk


ICQ


QQ


WeChat


Taobao WangWang


Ali DingTalk

Found 23 results

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. En este artículo, le mostraremos cómo realizar una copia de seguridad del programa desde el PLC físico a su computadora utilizando el software del portal Siemens Tia. Contenido: ¿Por qué necesitaría realizar una copia de seguridad? ¿Cómo realizar una copia de seguridad del PLC? Notas sobre la copia de seguridad del PLC Conclusión ¿Por qué necesitaría realizar una copia de seguridad? Imagínese si eliminara accidentalmente su software de la PC mientras trabajaba en él. O tal vez necesite realizar una actualización de cierto software de proceso que ha estado ejecutándose durante 10 años y ya no tiene el código del software. En lugar de reescribir todo el código desde cero, será más fácil simplemente cargar el código actual y realizar los cambios. En este artículo, le mostraremos cómo cargar fácilmente el software contenido dentro del PLC a su PC. ¿Cómo realizar una copia de seguridad del PLC? TIA Portal con los nuevos controladores Siemens S7-1200 y S7-1500 ofrece más ventajas a la hora de realizar una copia de seguridad en comparación con los controladores más antiguos, como el S7-300 o el S7-400. Con los controladores más antiguos, realizaría la copia de seguridad, pero no mostraría ningún comentario ni detalles de direccionamiento; el software funcionará bien, pero será difícil de leer o comprender. Con los controladores PLC más nuevos, ahora puede cargar tanto el código como todo el direccionamiento y los comentarios asociados, lo que hará que la lectura del código sea muy sencilla y que sea posible realizar cualquier actualización. Pasos para cargar el software desde el PLC Cree un nuevo proyecto, pero a diferencia de lo que hacemos habitualmente, no agregaremos un nuevo dispositivo, sino que presionaremos Online y elegiremos “cargar dispositivo como una nueva estación”. Vea la imagen 1. Imagen 1: cargue el dispositivo como una nueva estación. Esto lo llevará a cargar el dispositivo en la ventana PG/PC. Consulte la imagen 2. Imagen 2: ventana de carga de dispositivos. Debe elegir el tipo de interfaz PG/PC como se muestra en la última imagen y luego presionar Iniciar búsqueda. Cuando finalice la búsqueda, verá todos los dispositivos que encontró su software. Tenga en cuenta que no es necesario buscar solo PLC; también podrá encontrar HMI, módulos IO y cualquier otro módulo de comunicación que el software pueda detectar. Consulte la imagen 3. Imagen 3: escaneo completo y dispositivos encontrados. Una vez que se complete el escaneo, puede seleccionar el PLC que necesita cargar y luego presionar Cargar. Esto comenzará a cargar el software desde el PLC a su TIA Portal. Consulte la imagen 4. Imagen 4: se completó la carga desde el PLC. Como puede ver en la imagen anterior, el proyecto completo guardado en el PLC se cargará en su TIA Portal. Incluso con todos los comentarios y direcciones. Vea la imagen 5. Imagen 5: se carga el proyecto del PLC Como puede ver, se cargó todo el proyecto del PLC desde el PLC a su PC. Con todos los bloques, comentarios y configuraciones del proyecto. Notas sobre la copia de seguridad desde el PLC Si su PC y el PLC tienen direcciones IP diferentes, el TIA Portal le solicitará que asigne una nueva IP para su PC que coincida con la dirección del PLC e incluso lo hará automáticamente, si lo permite. Si el proyecto en el PLC está protegido con contraseña, se le solicitará que escriba esta contraseña antes de que comience el paso de carga. Si no puede proporcionar la contraseña correcta, la carga no comenzará. Asegúrese de saber la contraseña, si la tiene. A veces, TIA Portal encuentra su PLC, pero no puede cargar el proyecto debido a diferentes razones; por ejemplo, el proyecto en el PLC está escrito en una versión de TIA Portal diferente a la que está utilizando en este momento. De cualquier manera, se le mostrará el motivo de la carga fallida y podrá cargar el proyecto una vez que se solucionen estos motivos. Conclusión Puede cargar el proyecto en el PLC a su PC mediante TIA Portal. Si el PLC es s7-1200 o s7-1500, el proyecto se cargará con todas las direcciones y comentarios asociados. Si hay alguna razón que impida que TIA Portal cargue el proyecto, TIA Portal le mostrará este motivo y podrá cargarlo una vez que solucione el problema.
  15. En un artículo anterior, hablamos sobre la versión de firmware de su PLC y cómo manejar los errores que pueden ocurrir debido a una falta de coincidencia de firmware entre su proyecto en el TIA Portal y su PLC actual. En este artículo, le mostraremos cómo actualizar la versión de firmware de su PLC. Contenido: ¿Qué es una versión de firmware? ¿Por qué la versión de firmware puede causarme problemas? ¿Cómo saber la versión de firmware de su PLC de hardware? ¿Cómo manejar los errores de versión de firmware? ¿Cómo actualizar la versión de firmware de su PLC? Conclusión. ¿Qué es una versión de firmware? Como explicamos en un artículo anterior, el firmware de un PLC o un módulo de PLC (IO, 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. Un PLC con una versión de firmware más antigua tendrá menos funciones 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 funciones 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 Puede ver que ahora se agregan más funciones a la CPU con solo actualizar a una versión de firmware más alta. Con la versión más alta de firmware V4.4, 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? Seleccionará su PLC en TIA Portal de acuerdo con uno de dos puntos: Ya ha comprado el PLC de hardware, por lo que seleccionará el mismo PLC que tiene en el proyecto de TIA Portal. Todavía no ha comprado un PLC, por lo que seleccionará un PLC en TIA Portal que cumpla con sus requisitos y luego lo comprará más adelante. 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 en algunos PLC, 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. Es por eso que 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 de dos métodos: Desde el propio PLC: La versión de firmware de cualquier PLC o módulo de PLC siempre está escrita en algún lugar del dispositivo de hardware. Desde el software TIA Portal: Usando el software TIA Portal, puede conectar su PLC a su TIA Portal y buscar el dispositivo, luego podrá encontrar la versión de firmware del dispositivo de hardware. Mostramos cómo hacer eso en el artículo anterior. ¿Cómo manejar errores de versión de firmware? Si la versión de firmware del PLC de hardware actual es anterior a la versión del PLC seleccionado en el proyecto TIA Portal, esto provocará errores de firmware y para resolver estos errores podemos intentar uno de los siguientes enfoques: Podemos seleccionar el PLC en el proyecto TIA Portal para que tenga la misma versión de firmware o una anterior que el PLC actual. Mostramos eso en el artículo anterior. Podemos actualizar la versión de firmware del PLC de hardware actual a una versión de firmware más alta que la seleccionada en su proyecto o al menos a la misma versión de firmware. Y ese es el alcance de este artículo. ¿Cómo actualizar la versión de firmware de su PLC? Puede actualizar la versión de firmware de su PLC de dos maneras: En línea mediante TIA Portal. Fuera de línea mediante la tarjeta de memoria SMC de Siemens. Actualice el firmware en línea mediante TIA Portal: No necesita tener un proyecto existente abierto en TIA Portal, solo necesita el software de TIA Portal y conectar el PLC a su PC. Vea la imagen 3. Imagen 3. Abra Tia Portal sin crear un nuevo proyecto. Cuando abra TIA Portal, vaya al acceso en línea, elija el adaptador de comunicación adecuado entre su PLC y su PC y luego presione actualizar dispositivos accesibles para buscar su PLC. Vea la imagen 4. Imagen 4. Busque su PLC. Una vez que se haya encontrado el PLC como puede ver en la imagen anterior, abra la carpeta PLC y presione en línea y diagnóstico para ver la versión de firmware del PLC. Consulte la imagen 5. imagen 5. La versión actual del firmware del PLC. AHORA, para actualizar la versión del firmware, presione el atributo Actualización de firmware. Consulte la imagen 6. imagen 6. Página de actualización del firmware. Como puede ver, cuando presiona el atributo Actualización de firmware, puede ver la actualización de firmware actual, que es V4.1.3, y también puede ver el Cargador de firmware donde puede buscar la versión de firmware que desea instalar. Por supuesto, primero debe tener la versión de firmware en su PC, lo que significa que debemos descargar la versión de firmware. Para descargar la versión de firmware, debe iniciar sesión en su cuenta de Siemens. Si no tiene una, puede crear una nueva cuenta fácilmente, pero tardará 1 o 2 días en activarse. Después de eso, puede buscar la versión de firmware para su PLC. En nuestro caso, tenemos una CPU S7-1200 1214C AC/DC/RLY y buscaremos su versión de firmware utilizando su número de artículo. Vea la imagen 7. Imagen 7. Busque la versión de firmware de su PLC. Después de eso, descargue la versión de firmware que desea instalar. En nuestro caso, queremos actualizar nuestro PLC a la versión V4.4.0, por lo que descargaremos esta versión a nuestra PC. Vea la imagen 8. imagen 8. Descargue la versión V4.4.0 El archivo descargado será un archivo zip. Debe descomprimir el archivo para obtener el archivo de datos de la versión de firmware y luego volver al atributo Firmware Loader y hacer clic en Examinar para buscar la versión de firmware. Vea la imagen 9. imagen 9. Busque el archivo de la versión de firmware. No se preocupe por cometer un error en este paso, porque si la versión de firmware no es compatible con el PLC, no podrá ejecutar la actualización. Vea la imagen 10. imagen 10. La actualización no continuará si el firmware no coincide. Como puede ver, cuando intentamos cargar una versión de firmware para una CPU 1215C en nuestro PLC con una CPU 11214C, nos dio un error que indicaba que el archivo no era adecuado para el PLC. AHORA, haga clic en Examinar nuevamente, pero esta vez busque la versión de firmware correcta. Vea la imagen 11. imagen 11. No hay mensaje de error cuando la versión de firmware es correcta. Como puede ver, cuando elegimos una versión de firmware adecuada, no hubo ningún mensaje de error y ahora podemos presionar Ejecutar actualización para comenzar a actualizar nuestro PLC. Aparecerá una ventana de actualización de firmware una vez que comience el proceso de actualización y aparecerá un mensaje de éxito al final, si la actualización se realizó sin problemas. Vea las imágenes 12 y 13. imagen 12. Se está ejecutando una actualización de firmware. Imagen 13. La actualización del firmware finalizó correctamente. Ahora que la versión de firmware está actualizada, actualice su comunicación presionando nuevamente Actualizar dispositivos accesibles y verificando la versión de firmware del PLC. Verá que el PLC ahora tiene la versión de firmware V.4.4.0 en lugar de V4.1.3, y eso significa que logramos actualizar la versión de firmware de nuestro PLC. Vea la imagen 14. Imagen 14. El firmware se actualiza a V4.44.0 Y así es como actualizamos la versión de firmware de nuestro PLC usando TIA Portal. Sin conexión usando la tarjeta de memoria Siemens SMC: El otro método que se puede usar para actualizar el firmware de nuestro PLC es usando la tarjeta de memoria SIEMENS SMC. Para hacerlo, solo tenemos que descargar la versión de firmware que queremos usar, luego copiaremos la versión de firmware de nuestro PLC a la SMC y luego insertaremos la SMC en la ranura dedicada en el PLC. La próxima vez que se encienda el PLC, se actualizará el firmware. Conclusión Puede actualizar la versión de firmware mediante el software del portal TIA o la tarjeta de memoria SMC de SIEMENS. Asegúrese de elegir la versión de firmware correcta; si no coincide entre el PLC y el portal TIA, la actualización no se iniciará.
  16. En un artículo anterior, hablamos sobre qué es un PID y también explicamos los diferentes parámetros de un PID y cómo reaccionaría el sistema al cambiar estos parámetros. En este artículo, le mostraremos cómo programar, configurar y ajustar un PID en su proyecto TIA Portal. Contenido: ¿Cómo agregar un PID a su lógica? ¿Cómo configurar el PID? Ajuste básico Ajuste del valor del proceso Ajuste avanzado ¿Cómo realizar el ajuste del PID? Preajuste del PID Ajuste fino ¿Cuáles son los diferentes métodos de ajuste de los PID? ¿Cómo agregar un PID a su lógica? En TIA Portal y casi todas las demás plataformas de PLC, no es necesario programar un controlador PID, ya que TIA Portal ya tiene bloques integrados para PID. Para agregar un PID a su lógica, solo tiene que arrastrar y soltar el bloque PID en su código y comenzar a configurarlo para su sistema. Agregar PID a su código es muy simple, sin embargo, hay un punto muy importante que debe tener en cuenta. Este es el intervalo de ejecución de su PID. Como sabe, el ciclo de ejecución principal ocurre dentro del OB1 cíclico principal y el tiempo de ciclo del OB1 depende de muchos factores, como la longitud de su código, los cálculos matemáticos en su código y también los bucles y secuencias; todos estos factores diferentes harían que el tiempo de ciclo de su OB1 no solo sea largo, sino que también lo hará diferente en cada ciclo, según la codificación que tenga. Eso significa que si llamó a su bloque PID dentro del OB1 principal, la ejecución del PID dependerá del tiempo de ciclo de su OB1, y ese no es un enfoque de mejores prácticas. Los PID se utilizan generalmente para controlar parámetros físicos como presiones, temperaturas o velocidades y eso significa que su controlador debe ser muy rápido para determinar cualquier cambio en el valor de su proceso y tomar reacciones rápidas para contrarrestar este cambio y brindarle un control estable y uniforme que un PID debería tener. Entonces, si el PID se agrega al OB1 principal y se ve afectado por su tiempo de ejecución, es posible que deba realizar demoras en la acción y esto hará que su sistema no sea estable. ¿Qué hacer? Una práctica recomendada es llamar a su bloque PID en un OB de interrupción cíclica y establecer el tiempo de ciclo de esta interrupción cíclica en el valor que considere adecuado para su sistema, generalmente en el rango de milisegundos según su aplicación. Eso significa que, si establece la interrupción cíclica, por ejemplo, en 1 milisegundo, su PID se llamará y ejecutará cada milisegundo independientemente de dónde se encuentre el ciclo del OB1 principal. Entonces, para agregar un PID a su lógica, comenzamos agregando un nuevo OB de interrupción cíclica y le damos un nombre adecuado. Vea la imagen 1. Imagen 1. Agregar una interrupción cíclica a su proyecto. Puede ver en la imagen que configuramos el tiempo cíclico en 1000 microsegundos o 1 milisegundo. Entonces, nuestro PID se llamará y ejecutará cada milisegundo. Ahora que agregó su OB cíclico al proyecto, puede simplemente arrastrar y soltar el bloque PID. Puede encontrarlo en la pestaña Instrucciones/Tecnología/Control PID/PID compacto. Vea la imagen 2. Imagen 2. Adición del bloque PID. Ahora, agregue los parámetros de su sistema al bloque PID, la entrada, la salida y el punto de ajuste. Vea la imagen 3. Imagen 3. Asigna tus parámetros PID. ¿Notaste en la última imagen que tienes 2 entradas diferentes y 3 salidas diferentes? ¿Cuáles son? Entrada: Este es el valor de entrada de tu parámetro de proceso en cantidades físicas reales, usaremos nuestro sistema de simulación de tanques, por lo que la entrada aquí en ese caso es el nivel de llenado del tanque en litros. Esto significa que ha realizado el escalado de la entrada analógica en otro lugar de su proyecto y simplemente proporciona al PID el nivel de llenado real en litros. Input_PER: Este es el valor de entrada de su parámetro de proceso, pero proviene del módulo de entrada analógica. Esto significa que no se escalará y estará en el rango de 0 a 27648 y el escalado de la entrada se realizará dentro del PID. Output: En este caso, el PID le proporcionará el valor de salida del controlador en el rango de 0 % a 100 % del valor de salida máximo. Output_PER: Al igual que input_PER, el PID proporcionará la salida en forma de 0 a 27648. Output_PWM: En este caso, el PID proporcionará su señal de salida en forma de pulsos ON/OFF, por lo que hay una salida o no. Y el valor de salida es entonces 100 % cuando está ON y 0 % cuando está OFF. Usaremos el mismo sistema de simulación de tanques que usamos antes y, como puede ver en la imagen anterior, usamos Input and Output_PER ya que nuestra simulación está construida de esta manera. ¿Cómo configurar el PID? Para ingresar a la vista de configuración del PID, puede hacer clic en la pestaña de configuración en el árbol del proyecto o desde el pequeño ícono de configuración sobre el bloque PID. Vea la imagen 4. Imagen 4. Ingreso a la vista de configuración. Esto lo llevará a la vista funcional donde puede configurar los diferentes ajustes de su PID. Vea la imagen 5. Imagen 5. Configuración del tipo de controlador. La primera configuración es el tipo de controlador, y aquí puede elegir qué tipo de control desea utilizar, tiene muchas opciones en los menús desplegables que se muestran, como temperatura, presión, longitud y muchas más. También puede configurarlo en general, donde el sistema verá sus valores como %. En nuestro sistema, estamos controlando litros de agua dentro de un tanque, por lo que elegiremos el volumen. También puede configurar el modo Manual/Automático del PID. A continuación, desea configurar los parámetros de entrada/salida. Vea la imagen 6. Imagen 6. Parámetros de entrada/salida. Aquí puede elegir entre los diferentes tipos de entradas o salidas como explicamos antes. Como dijimos, usaremos Input y Output_PER. A continuación, debe configurar la configuración del valor de proceso. Vea la imagen 7. Imagen 7. Límite del valor de proceso. En este paso, establecerá los límites inferior y superior del valor de su proceso. Si elige el tipo de entrada, esta configuración podrá cambiarse y podrá establecer los límites de su proceso. En nuestro caso, los límites del tanque son de 0 a 50 litros, por lo que los configuramos con estos valores. Tenga en cuenta que, si elige Input_PER, esta configuración no estará disponible y solo podrá establecer el límite de su proceso desde la siguiente pestaña. Consulte la imagen 8. Imagen 8. Escala del valor del proceso. Si usa Input_PER, entonces, como puede ver en la imagen anterior, puede establecer el límite del valor del proceso con respecto a la escala de 0 a 27648 que tiene. Si desea configurar una advertencia cuando el valor de su proceso alcance un límite inferior o superior, puede configurarlo en la pestaña de monitoreo del valor del proceso. Consulte la imagen 9. Imagen 9. Monitoreo del valor del proceso. A continuación, en la lista de ajustes, encontrará los límites de PWM, consulte la imagen 10. Imagen 10. Límites de PWM Aquí puede configurar el tiempo mínimo de encendido y apagado de su salida. Imagine que tiene una bomba o una válvula en su sistema que el PID controla a través de una salida PWM. No desea que el PID simplemente le dé a su bomba un tren de un comportamiento de encendido/apagado muy rápido porque eso probablemente hará que su bomba se queme. Por lo tanto, puede indicarle al PID desde esta configuración que encienda la bomba durante un tiempo mínimo antes de cerrarla y viceversa. Puede tener el mismo control con su PID si no tiene salida PWM desde la siguiente configuración, los límites de valor de salida. Consulte la imagen 11. Imagen 11. Límites de valor de salida. Puede controlar los límites alto y bajo de su salida de control, por ejemplo, puede establecer el límite bajo en 20% y eso hará que el PID haga funcionar la bomba al menos al 20% de su caudal. Por lo tanto, su rango de control será del 20% al 100%. Por último, y lo más importante, puede configurar sus parámetros PID en el modo de configuración desde la siguiente pestaña, la pestaña de parámetros PID, consulte la imagen 12. Imagen 12. Parámetros PID. Aquí puede escribir los parámetros de ajuste para las ganancias P, I y D de su PID en caso de que los conozca o en caso de que haya realizado el ajuste usted mismo y tenga los parámetros de otro lugar. También puede optar por utilizar un PID o solo un controlador PI. Si no tiene estos parámetros, puede cargarlos automáticamente después de realizar el ajuste de su PID. ¿Cómo realizar el ajuste del PID? Ahora que ha terminado de configurar el PID, puede ajustar el controlador con la misma facilidad desde la pestaña de puesta en servicio en el árbol de proyectos. Vea la imagen 13. Imagen 13. Puesta en servicio del PID En la página de puesta en servicio, la pantalla está dividida en 3 partes. La página superior es donde puede comenzar a realizar el preajuste y el ajuste fino del PID. En el medio, tendrá un área gráfica para mostrarle la respuesta en tiempo real de su sistema. Puede ver la salida del controlador y el valor del proceso. Y cada vez que cambie el punto de ajuste, verá el comportamiento de su PID para captar este nuevo punto de ajuste. Incluso si el punto de ajuste no cambió pero, por ejemplo, aumenta la demanda de nuestro suministro de tanque, verá la reacción del PID para satisfacer esa demanda y también mantener el punto de ajuste en su valor requerido. En la tercera área, tendrá el estado en línea de su controlador y también puede decidir el modo de funcionamiento de su PID. Vea el siguiente video de simulación que muestra el procedimiento de ajuste automático del PID en el TIA Portal. En el video, puede ver que después de realizar el ajuste previo, nuestro PID encontró los parámetros P, I y D que mejor se adaptan a nuestro sistema. Puede ver que cuando cambia el punto de ajuste o el caudal de salida, el controlador reaccionará muy rápidamente para devolver el punto de ajuste a los valores requeridos. Ahora puede cargar sus parámetros de ajuste directamente en su proyecto con un simple clic de botón, consulte la imagen 14. Imagen 14. Cargue sus parámetros. Una vez que haya cargado sus parámetros, puede encontrarlos en la pestaña de parámetros PID en la vista de configuración. Consulte la imagen 15. Imagen 15. Parámetros PID. El siguiente paso debe ser realizar un procedimiento de ajuste fino del PID desde la misma vista de puesta en servicio, sin embargo, debido a que no tenemos un sistema real y solo estamos simulando el comportamiento del tanque y la bomba mediante cálculos matemáticos, no podemos realizar el paso de ajuste fino. Cuando tienes un sistema real, puedes realizar el ajuste fino donde tu PID intentará encontrar los parámetros que le darán al sistema una mejor respuesta e incluso eliminarán el sobreimpulso de tu valor de proceso y alcanzarán directamente el punto de ajuste. En el futuro, si tenemos un sistema real, podemos mostrar cómo se ve. ¿Cuáles son los diferentes métodos de ajuste del controlador PID? No tienes que realizar el ajuste de tu PID utilizando TIA Portal; hay muchos métodos diferentes que intentan encontrar los mejores parámetros PID para tu sistema. En su mayoría son métodos matemáticos basados en prueba y error. Recomendaría utilizar la función de ajuste automático en TIA Portal. Pero aquí se muestran algunos de los métodos utilizados para lograr los mismos parámetros. Ajuste heurístico. Método de ajuste Ziegler-Nichols Método de ajuste Cohen-Coon Método de ajuste Kappa-Tau Método de ajuste Lambda Y algunos otros. Conclusión Use una interrupción cíclica con sus PID. Configure su PID para que se adapte mejor a su sistema. La función de ajuste automático en TIA Portal es muy útil y eficaz.
  17. Existen muchas formas en las que los PLC pueden comunicarse y hablar entre sí. En este artículo, hablaremos sobre uno de estos métodos, que es cómo establecer una comunicación Siemens entre PLC mediante la función i-device para realizar la transferencia de datos de PLC a PLC. ¿Qué es la función I-Device? La función I-Device se puede utilizar para intercambiar datos entre dos PLC muy fácilmente. Un I-Device es simplemente un PLC que se utiliza como un dispositivo IO. Eso significa que el PLC actuará como un módulo IO que proporciona entradas y recibe salidas con el otro PLC. La función I-device permite que PROFINET se comunique no solo con dispositivos subordinados como controladores IO, sino también con otros controladores centrales o de nivel superior como un dispositivo IO. Comunicación Siemens entre PLC La mayoría de los PLC de la familia S7 admiten la función I-Device, pero algunos controladores no, según la versión de firmware, por ejemplo: S7-300 (a partir de la versión de firmware V3.2) S7-1200 (a partir de la versión de firmware V4) Puede saber si su controlador tiene la función I-device o no ingresando a las propiedades de la interfaz PROFINET de su PLC y verificando la opción "modo operativo". Vea las imágenes 1a y 1b. imagen 1a. El PLC no admite I-device En la imagen, no podemos ver la opción "modo operativo", por lo que sabemos que el PLC no admite la función I-device. Imagen 1b. El PLC admite la función I-device Como puede ver en la imagen, este PLC admite la función I-device. Un PLC con la configuración de "dispositivo IO inteligente" se denomina I-Device. Un I-Device es como un dispositivo IO estándar y debe manejarse como tal. Esto significa que el I-Device también está conectado a un controlador IO de nivel superior. Por lo tanto, un I-Device actuará como un módulo IO, pero también es un PLC, por lo que sigue actuando como un controlador si así lo desea. Concepto de intercambio de datos El principio rector del método I-Device es utilizar la imagen de proceso conocida en una CPU. Desde el punto de vista del controlador IO de nivel superior, comunicarse con un I-Device es similar a comunicarse con un IO distribuido con los procesos habituales de lectura y escritura en las entradas y salidas. Desde el punto de vista del I-Device, la transferencia de datos a un controlador IO de nivel superior también es análoga a la transferencia de datos al IO distribuido asignado o local a través de entradas y salidas. Opciones de configuración de I-device Existen dos posibilidades de configuración: Configurar un I-Device dentro de un proyecto. Configurar un I-Device que se utiliza en otro proyecto Al configurar un I-Device para otro proyecto, STEP 7 le permite hacerlo exportando un I-Device configurado en un archivo GSD. El archivo GSD se puede importar en el otro proyecto o en el otro sistema de ingeniería como otros archivos GSD. Esto permite no solo la comunicación dentro del proyecto, sino también la comunicación entre proyectos y el intercambio de datos entre diferentes fabricantes de una manera probada y comprobada. Mostraremos esto en otro artículo. En este artículo, mostraremos la configuración del I-device dentro del mismo proyecto de PLC Siemens. Configuración del I-device dentro del mismo proyecto de PLC Supondremos que tenemos dos PLC en nuestro proyecto, la CPU 1516-3 PN/DP que actuará como controlador en esta configuración y la CPU 1214C que actuará como I-device. Comience agregando los dos PLC a su proyecto TIA Portal y configure una conexión Profinet entre ellos. Vea la imagen 2. imagen 2. Configure la conexión entre dos PLC. Ahora, necesitamos configurar el PLC CPU 1214C como un I-device. Para ello, vaya a las propiedades de la interfaz Profinet y, desde la opción de modo operativo, haga clic en la opción de dispositivo IO. Vea la imagen 3. imagen 3. Seleccione el dispositivo IO. Después de eso, debe asignar el I-device a un controlador de nivel superior que es el PLC CPU 1516-3 PN/DP en nuestro proyecto. Para hacer eso, simplemente seleccione ese PLC de la lista desplegable Controlador IO asignado. Vea la imagen 4. imagen 4. Asigne el I-device al controlador. Después de eso, el I-device ya está conectado y asignado al PLC del controlador. Ver imagen 5. imagen 5. El I-device está asignado al PLC del controlador. El siguiente paso es intercambiar los datos entre el I-device y el controlador con lo que se conoce como áreas de transferencia. Creación de un área de transferencia Las áreas de transferencia son las áreas de E/S que se utilizan para intercambiar datos entre el I-Device y el controlador de E/S de nivel superior. Vaya a la sección “Comunicación del I-Device”. Haga clic en el primer campo de la columna “Áreas de transferencia”. TIA Portal creará un nombre predefinido que podrá cambiar. Como puede ver en la imagen 6. imagen 6. Crear un área de transferencia Seleccione el tipo de relación de comunicación: actualmente, solo se puede seleccionar CD. Ver imagen 7. Imagen 7. Elija la opción de comunicación CD. Una vez que seleccione la opción CD, se creará un área de transferencia y las direcciones del controlador IO y del I-device se crearán automáticamente. Vea la imagen 8. Imagen 8. Se crea el área de transferencia. Las direcciones se preasignan automáticamente, si es necesario, puede ajustar las direcciones a su entorno y especificar la longitud del área de transferencia que se transferirá de manera consistente. Para crear otra área de transferencia como antes, simplemente presione "agregar nuevo", vea la imagen 9. imagen 9. Agregar nueva área de transferencia. Como dijimos antes, el intercambio de datos se basa en el concepto de imagen de procesamiento simple, lo que significa que siempre envía una salida y recibe una entrada. Observe también que la flecha que ve en la imagen anterior indica el flujo de información entre el I-device y el controlador. Entonces, si envío datos desde el controlador al dispositivo I, la flecha irá del controlador al dispositivo I y se mostrará la dirección del controlador y se ingresará la dirección del dispositivo I y viceversa, como puede ver en la imagen anterior. Recuerde también que siempre es mejor cambiar el nombre de las áreas de transferencia por nombres que indiquen el tipo de transferencia. Consulte la imagen 10. Imagen 10. Cambie el nombre de las áreas de transferencia. Carga del proyecto de PLC Para cargar los datos del proyecto de PLC, seleccione ambos controladores uno después del otro en la navegación del proyecto y cargue el proyecto en el módulo correspondiente. Tenga en cuenta que, como no tenemos dispositivos de hardware reales, no podemos simular esta función.
  18. En este artículo, analizaremos otra forma de comunicación entre dos PLC, ya sea que estén en el mismo proyecto o en dos proyectos de PLC diferentes. En este artículo, hablaremos sobre el comando PUT en un PLC Siemens, que se puede utilizar para enviar o enviar datos desde un PLC a un segundo PLC. ¿Qué es el comando PUT? En general, el comando PUT es un bloque de función integrado en TIA Portal que se utiliza exclusivamente para las CPU de la familia S7 para enviar datos desde un PLC local a un PLC asociado remoto. Al utilizar el comando PUT, tendría dos PLC, donde necesito enviar datos desde un PLC llamado local a otro PLC llamado asociado. Se deben realizar algunas configuraciones en el PLC asociado para permitir que el otro PLC pueda acceder a él. Además de una conexión Profinet entre los PLC. Crearemos un proyecto de muestra para mostrar cómo utilizar el comando PUT. Comando PUT en un PLC Siemens Supongamos un proyecto de ejemplo en el que tenemos dos PLC en el mismo proyecto, PLC_1 que actuará como el PLC local y PLC_2 que es el PLC asociado. Queremos escribir un entero del PLC local al PLC asociado. Proyecto de PLC de ejemplo Primero, creemos un nuevo proyecto y agreguemos los dos PLC. Vea la imagen 1. imagen 1. Agregue los PLC locales y asociados. Lo que necesito ahora es configurar el PLC_2, el que recibirá los datos, para que pueda recibirlos. Y el PLC_1 se usará con el comando PUT. Lo primero que necesito hacer es permitir el acceso del comando PUT al PLC_2 que recibirá los datos. Vea la imagen 2. imagen 2. Permitir el acceso del comando PUT. Como se puede ver en la imagen, permitimos que el comando PUT acceda al PLC_2 desde las Propiedades del PLC_2, en la opción Protección y Seguridad, hacemos clic en “Permitir acceso con comunicación PUT/GET desde el socio remoto” Ahora, tengo permitido poner datos desde cualquier socio remoto al PLC_2 usando el comando PUT. Lo segundo es preparar un espacio o memoria en el PLC_2 para los datos que se pondrán en él. Supondremos que queremos PONER un valor entero en ese PLC, así que prepararé una memoria de acuerdo a eso. Ver imagen 3. imagen 3. Preparar área para recibir datos. Y eso es todo; esta es toda la configuración que necesitas preparar desde el lado del PLC_2 para poder recibir datos a través del comando PUT. A continuación, configuramos los datos que se envían desde el PLC_1. Crearemos un bloque de datos para almacenar los datos enviados a PLC_2 y dentro de este bloque de datos, definiremos una etiqueta de número entero para PUT en PLC_2. Ver imagen 4. imagen 4. Creamos un bloque de datos para almacenar los datos enviados. Definimos una etiqueta de número entero “SendMeToPLC_2” que queremos enviar a PLC_2. Ver imagen 5. imagen 5. Definimos los datos que se enviarán. Tenga en cuenta que, para PLC_1, no necesitamos permitir el acceso con la opción de comando PUT. Activamos esta función en el PLC que recibirá los datos, no en el PLC que los enviará. Ahora, usemos el comando PUT en nuestra programación, en el OB1 principal arrastraremos y soltaremos el FB del comando PUT. Ver imagen 6. imagen 6. Agregue el comando PUT al OB1. Tenga en cuenta que el comando PUT se encuentra en la carpeta de comunicación S7, ya que es una función exclusiva para los PLC de la familia S7, ya que implica cuestiones de seguridad. Recuerde que en la imagen 2, cuando permitimos el uso del comando PUT, estaba en el atributo Seguridad y protección de las propiedades del PLC, ya que está relacionado con la seguridad y la protección del PLC. El comando PUT es esencialmente un bloque de funciones, por lo que al agregarlo a mi lógica, se me solicitará que cree una instancia de datos. Consulte la imagen 7. imagen 7. Cree una instancia de datos para el comando PUT. Después de presionar Aceptar, el comando PUT ahora se agrega a la lógica de su PLC. Consulte la imagen 8. imagen 8. Comando PUT Después de agregar el comando PUT, ahora debemos configurarlo; tenemos dos parámetros para configurar para el comando PUT. Conexión entre PLCs El bloque que será PUT de PLC_1 a PLC_2 Para ir a la vista de configuración del comando PUT, presione el pequeño ícono azul que se muestra en la última imagen. En el parámetro de conexión, establecerá la comunicación entre los PLCs local (PLC_1) y socio (PLC_2). Vea la imagen 9. imagen 9. Parámetro de conexión. Como puede ver, el PLC local está configurado en PLC_1, que es el PLC donde se usa el comando PUT. El lado del socio aún está vacío y es allí donde debemos asignar PLC_2. Si hace clic en la lista desplegable, tendrá dos opciones para un socio. Vea la imagen 10. imagen 10. Conexión del socio El socio es el PLC que recibirá los datos; Verá que tiene dos opciones para seleccionar: PLC_2 [CPU 1516-3 PN/DP] Sin especificar Como ambos PLC están en el mismo proyecto, cuando elijo la opción PLC_2, todos los parámetros de conexión se completarán automáticamente. Vea la imagen 11. imagen 11. PLC_2 como socio Por otro lado, si el PLC asociado es de un proyecto diferente, entonces elegiré la opción Sin especificar, y en ese caso, tendré que completar algunos datos como la dirección IP del PLC asociado. Ver imagen 12. imagen 12. Socio no especificado Como puedes ver, en ese caso, necesito completar algunos datos, como la dirección IP y también necesito agregar una subred para PLC_1. Para agregar una subred para PLC_1 iremos a las propiedades Profinet del PLC_1 y seleccionaremos la opción agregar subred. Ver imagen 13. imagen 13. Agregar subred. Una vez hecho esto, se realizará la configuración de los parámetros de conexión. Consulte la imagen 14. El nombre de la conexión debe ser único para cada comando PUT que realice. TIA Portal le asignará automáticamente un nuevo nombre, pero quizás sea mejor que asigne un nombre más apropiado para la conexión en su proyecto. Aquí lo dejamos como está. imagen 14. Se realizó la configuración de los parámetros de conexión El siguiente paso en la configuración del comando PUT es la configuración de los parámetros del bloque. En estos parámetros especificamos el disparador para el comando PUT, es decir, qué señal iniciará la acción del comando PUT. Y también qué datos se colocarán desde el PLC_1 y dónde se almacenarán en el PLC_2. Consulte la imagen 15. imagen 15. Configuración de los parámetros del bloque Para la señal de solicitud de inicio (REQ), hemos definido una etiqueta de entrada (SendData %I0.0). Y como mencionamos antes, ya hemos definido la etiqueta que se enviará al PLC_2 y dónde se almacenará dentro del PLC. Al completar la configuración de los parámetros del bloque, se concluirá la configuración del comando PUT. Ver imagen 16. imagen 16. Llamada de un comando PUT Por lo tanto, en resumen, cuando se activa la señal REQ, los datos en SD_1 se enviarán a ADDR_1.
  19. En un artículo anterior, hablamos sobre el comando PUT y cómo lo usamos para comunicarnos entre dos PLC, ya sea que estén en el mismo proyecto o en dos proyectos diferentes. En este artículo, vamos a hablar sobre el comando GET que se usa para el proyecto de comunicación de PLC a PLC de Siemens para el intercambio de datos. ¿Qué es el comando GET? Al igual que el comando put, un comando GET es un bloque de función integrado en TIA Portal (FB) que se usa exclusivamente para las CPU de la familia S7 para obtener datos de un PLC asociado remoto a un PLC local. A diferencia del comando PUT, en lugar de poner datos de PLC_1 en PLC_2, el comando GET obtendrá datos de PLC_2 en PLC_1. Al usar el comando GET, tendría dos PLC, donde necesito obtener datos de un PLC llamado asociado a otro PLC llamado local. El PLC local es donde se programará el comando GET. Además de una conexión Profinet entre los dos PLC. Se deben realizar algunas configuraciones en el PLC asociado para permitir que el otro PLC pueda acceder a él. Crearemos un proyecto de muestra para mostrar cómo utilizar el comando GET. Proyecto de comunicación de PLC a PLC de Siemens Supondremos un proyecto de muestra en el que tenemos dos PLC en el mismo proyecto, PLC_1 que actuará como el PLC local y PLC_2 que es el PLC asociado. Para crear una situación en la que necesitamos utilizar el comando GET, supondremos que queremos leer/obtener un número entero del PLC_2 asociado al PLC_1 local. Primero, creemos un nuevo proyecto y agreguemos los dos PLC. Vea la imagen 1. imagen 1. Cree un nuevo proyecto y agregue dos PLC. Ahora, necesitamos configurar el PLC_2 asociado para habilitar el acceso GET desde el PLC_1. También necesitamos preparar los datos que se moverán del PLC_2 al PLC_1. Primero, necesitamos permitir el acceso del comando GET al PLC_2 que proporcionará los datos. Ver imagen 2. imagen 2. Permitir el acceso del comando GET. Como puede ver en la imagen, permitimos que el comando GET acceda al PLC_2 desde las Propiedades del PLC_2, en la opción Protección y seguridad, haga clic en “Permitir acceso con comunicación PUT/GET desde el socio remoto” Ahora, tengo permitido leer/obtener datos del socio PLC_2 usando el comando GET. A CONTINUACIÓN, queremos crear los datos que se moverán al PLC_1, asumimos que el PLC_1 quiere obtener un entero del PLC_2. Definiremos una etiqueta de entero llamada “SendDataToPLC_1” esta etiqueta de entero se leerá desde el PLC_2 hacia el PLC_1. Ver imagen 3. imagen 3. Definir los datos que se moverán al PLC_1 Y eso es todo; Esta es toda la configuración que necesita preparar desde el lado PLC_2 para poder recibir datos a través del comando GET. AHORA, vamos a PLC_1, en PLC_1 queremos crear lógica donde usemos el comando GET para leer datos del PLC_2. Como hicimos en el último artículo, simplemente arrastraremos y soltaremos el comando GET en nuestro OB1 principal. Vea la imagen 4. imagen 4. Arrastre y suelte el comando GET Tenga en cuenta que el comando GET se encuentra en la carpeta de comunicación S7, ya que es una función exclusiva para los PLC de la familia S7, porque involucra cuestiones de seguridad. Recuerde que en la imagen 2, cuando permitimos el uso del comando GET, estaba en el atributo Seguridad y protección de las propiedades del PLC, ya que está relacionado con la seguridad y protección del PLC. Cuando arrastre y suelte el comando GET en su, se le solicitará que cree una instancia de bloque de datos, ya que el comando GET es esencialmente un bloque de función FB. Consulte la imagen 5. imagen 5. Cree una instancia de datos para el comando GET. Ahora que agregamos el comando GET a nuestra lógica, debemos comenzar a configurar el bloque GET como lo hicimos antes con el comando put. Para abrir las vistas de configuración del comando GET, presione el pequeño ícono azul en la parte superior del bloque. Consulte la imagen 6. imagen 6. Abra la vista de configuración. Tenemos dos parámetros principales para configurar, el parámetro de conexión y el parámetro de bloque. Consulte la imagen 7. imagen 7. Configuración del bloque GET. Como puede ver en la imagen, el PLC local es el PLC donde se llama al comando GET. Mientras que el PLC asociado es el que proporcionará los datos, también es el mismo al que le permitimos el acceso GET. En nuestro proyecto, el PLC asociado es PLC_2. También puede ver en la imagen que el socio está vacío y que tenemos que seleccionar el PLC. Consulte la imagen 8. imagen 8. Diferentes opciones en la lista de socios Como puede ver, tenemos dos opciones diferentes para seleccionar el PLC asociado. No especificado es cuando los PLC son de diferentes proyectos de TIA Portal y si los PLC son del mismo proyecto de TIA Portal, entonces encontrará el otro PLC en la lista. Cuando elige la opción PLC_2 porque nuestros PLC están en el mismo proyecto, la configuración de conexión se completará automáticamente. Consulte la imagen 9. imagen 9. PLC_2 como socio Como ambos PLC están en el mismo proyecto, cuando elijo la opción PLC_2, todos los parámetros de conexión se completarán automáticamente. Por otro lado, si el PLC asociado es de un proyecto diferente, entonces elegiré la opción No especificado y, en ese caso, tendré que completar algunos datos como la dirección IP del PLC asociado. Ver imagen 10. imagen 10. PLC asociado como no especificado. Como puede ver, cuando el asociado está No especificado, deberá agregar manualmente cierta información como la dirección IP del PLC asociado. También puede ver que necesitamos agregar una subred al PLC_1 local. Para hacer eso, solo vaya a las propiedades Profinet del PLC_1 y seleccione agregar una nueva subred. Consulte la imagen 11. Imagen 11. Agregar subred para PLC_1 Después de agregar una nueva subred a PLC_1, la configuración de los parámetros de conexión estará completa. Consulte la imagen 12. imagen 12. Los parámetros de conexión están completos. La siguiente configuración que debemos realizar es la del parámetro de bloque. En el parámetro de bloque definimos los datos que se moverán entre los dos PLC y también la señal de activación que permitirá el inicio de la ejecución del bloque GET. Consulte la imagen 13. imagen 13. Parámetros de bloque. Como puede ver, debemos definir la señal de activación para el bloque GET y también debemos definir qué datos se moverán desde PLC_2 (área de lectura ADDR_1) y a dónde irán estos datos (área de almacenamiento RD_1). Ya definimos ADDR_1 antes de la cual está la etiqueta de entero SendDataToPLC_1 que definimos dentro de PLC_2. AHORA, definiremos el área de almacenamiento para esa etiqueta de entero y la señal de activación. Vea la imagen 14. imagen 14. Defina la señal de activación y el área de almacenamiento Después de definir la señal de activación, ADDR_1 y RD_1, completaremos estos parámetros en la configuración del bloque. Vea la imagen 15. Imagen 15. Complete el parámetro del bloque Ahora, la configuración del bloque GET está terminada y puede ver que el bloque ahora está listo para ser descargado y ejecutado. Consulte la imagen 16. imagen 16. Bloque GET El bloque GET ya está configurado y, una vez que la señal de activación esté activa, el bloque leerá ADDR_1 de PLC_2 y lo escribirá en RD_1 en PLC_1.
  20. En artículos anteriores comenzamos a analizar las diferentes formas de comunicación entre dos o más PLC. Hasta ahora, hablamos sobre la función I-device, así como sobre los comandos PUT y GET, que eran métodos exclusivos de los PLC Siemens. Comunicación entre PLC Siemens y otras marcas de PLC En este artículo, analizaremos otra forma de conectar dos PLC entre sí. Esta forma tiene más ventajas que los comandos PUT y GET que analizamos antes, porque es opuesta a los comandos PUT/GET que eran exclusivos de la familia S7. Este nuevo método es una comunicación de usuario abierta, lo que significa que podemos usarlo para comunicarnos entre un PLC SIEMENS y cualquier otra marca de PLC, ni siquiera es necesario que sean dos PLC, este método puede comunicarse entre un PLC y cualquier otro dispositivo que pueda entender el protocolo de red TCP, como PC, servidores, impresoras, etc. En este artículo, mostraremos cómo configurar una comunicación entre dos PLC utilizando los bloques TCON y TDISCON y en el siguiente artículo, mostraremos cómo mover datos entre los PLC después de configurar la conexión. Bloques de comunicación de usuario abiertos TCON y TDISCON Usamos el bloque TCON para configurar y establecer una conexión de comunicación entre dos PLC. Una vez que se ha configurado y establecido la conexión, el PLC la mantiene automáticamente. Ambos socios de comunicación llaman a la instrucción TCON para configurar y establecer la conexión de comunicación. Eso significa que tengo que llamar al bloque TCON en ambos PLC y tenemos que configurar el bloque en ambos PLC como veremos en el proyecto de muestra. Durante la configuración del bloque, especificaremos qué socio es el punto final de comunicación activo y cuál es el pasivo. Esto significa que qué PLC intentará conectarse y cuál abrirá un puerto de comunicación y estará esperando al otro. Una conexión existente se termina y la conexión establecida se elimina cuando se ejecuta el bloque TDISCON o cuando la CPU cambia al modo STOP. Para configurar y establecer la conexión nuevamente, deberá ejecutar TCON nuevamente. Proyecto de PLC de muestra que utiliza TCON Como explicamos antes en artículos anteriores, para configurar una comunicación entre dos PLC, tenemos que establecer dos cosas: Comunicación entre los PLC. Transferencia de datos entre los dos PLC. En este artículo, configuraremos una comunicación de usuario abierta con protocolo TCP entre dos PLC utilizando el bloque TCON. En el próximo artículo, mostraremos cómo mover datos una vez realizada la conexión. Primero, creemos un nuevo proyecto y agreguemos nuestros dos PLC. Agregaremos el PLC CPU1516-3PN/DP y los llamaremos PLC_1 y PLC_2, y el objetivo es establecer una conexión entre ellos. Ver imagen 1. imagen 1. Agregar PLC_1 y PLC_2. Ahora, simplemente agregaremos el bloque TCON a nuestra lógica de PLC, como mencionamos antes, necesitamos llamar al TCON para ambos PLC, comencemos con PLC_1. Simplemente arrastre y suelte el bloque TCON que encontrará en la carpeta de comunicación de usuario abierta. Ver imagen 2. imagen 2. Arrastre y suelte la instrucción TCON El bloque TCON es esencialmente un bloque de función, por lo que al agregarlo a mi OB1 principal, se nos solicitará que creemos una instancia de bloque de datos para ese bloque. Cree la instancia de datos y asígnele un nombre adecuado. Consulte la imagen 3. imagen 3. Crear instancia de datos. Ahora, el bloque TCON se agregó a su lógica, necesitamos configurar el parámetro de conexión para el bloque. Solo presione el pequeño ícono de configuración azul sobre el bloque. Consulte la imagen 4. imagen 4. Abrir vista de configuración Cuando presione el ícono azul, abrirá la vista de configuración para el bloque TCON donde podemos configurar el parámetro de conexión. Lo encontrará prácticamente igual que el parámetro de conexión de los comandos PUT y GET. Consulte la imagen 5. imagen 5. Parámetros de conexión de TCON. Las opciones de PLC asociado en el bloque TCON tienen más opciones que las de los comandos PUT/GET ya que estamos usando comunicación de usuario abierta. Consulte la imagen 6. imagen 6. Opciones de PLC asociado Como puede ver en la imagen, tenemos 4 opciones diferentes, que son: PLC_2: en caso de que ambos PLC estén en el mismo proyecto, el PLC_2 se mostrará aquí Broadcast: esto hará que la conexión esté disponible para cualquier dispositivo en la red Multicast: esto hará que la conexión sea con los dispositivos seleccionados, más de un dispositivo pero no todos No especificado: si el PLC está en otro proyecto de TIA Portal. Al elegir la opción no especificada, se nos solicitará que agreguemos la dirección IP del PLC y también debemos agregar nuevos datos de conexión. Consulte la imagen 7. imagen 7. Agregar nuevos datos de conexión Como puede ver en la imagen, para crear nuevos datos de conexión, simplemente haga clic en la flecha desplegable y presione nuevo. Esto creará un nuevo bloque de datos de conexión y se asignará automáticamente al bloque TCON, consulte la imagen 8. imagen 8. Se crea el bloque de datos de conexión. Como puede ver, se creó un bloque de datos de conexión, ahora necesito agregar la dirección IP del PLC asociado. Otra cosa que debemos hacer es elegir qué PLC será el establecimiento de conexión activo. Esto decidirá qué PLC será responsable de establecer la conexión mientras que el otro en ese caso solo será responsable de abrir un puerto de conexión. Vea la imagen 9. imagen 9. Asignar PLC_1 como establecimiento de conexión activo. Como elegimos que el PLC_1 sea el establecimiento de conexión activo, entonces el PLC_2 será responsable de abrir un puerto de conexión y tengo que elegir un valor para ese puerto. Puede ser cualquier valor, pero se asigna automáticamente en TIA Portal como 2000, por lo que lo dejaremos como está. Vea la imagen 10. Imagen 10. Puerto asociado. Puede ver en la imagen anterior que el parámetro de conexión se ha vuelto verde, lo que indica que todas las configuraciones están hechas y aceptadas. Al utilizar TCON para establecer una conexión entre dos PLC, ambos PLC deben llamar a la instrucción TCON para establecer la conexión, por lo que ahora debemos hacer lo mismo con el otro PLC_2. Agregue el bloque TCON en el OB1 principal de PLC_2, consulte la imagen 11. imagen 11. Llamar a TCON en PLC_2. Después de agregar el bloque TCON, debemos configurar el parámetro de conexión como lo hicimos con PLC_1. Consulte la imagen 12. Imagen 12. Parámetros de conexión de PLC_2 En la imagen puede ver que aún elegimos el PLC_1 como el establecimiento de conexión activo y aún mantuvimos el puerto del PLC_2 en 2000. El establecimiento de conexión activo y el puerto deben ser los mismos para la configuración de ambos PLC o la conexión fallará. Ahora, la configuración de la conexión para ambos PLC está hecha, vea la imagen 13. imagen 13. Bloque TCON en ambos PLC. Como vemos en la imagen, necesitamos una cosa más, que es definir el REQ para ambos PLC. Creamos AllowConnection para PLC_2 y StartConnection para PLC_1. Vea la imagen 14. imagen 14. Defina las señales REQ. La conexión entre dos PLC ya está hecha, y es de la siguiente manera: PLC_1 intentará establecer una conexión con PLC_2 cuando la señal REQ esté activa, pero no puede hacerlo hasta que PLC_2 habilite la capacidad de conexión y eso se hará cuando el bloque TCON de PLC_1 reciba una señal en REQ. Una señal REQ está activa para que TCON de PLC_2 habilite la conexión (esto significa que PLC_2 abrirá el puerto 2000 esperando la conexión) Una señal REQ está activa para que TCON de PLC_1 inicie la conexión (esto permitirá que PLC_1 establezca una conexión con PLC_2 a través del puerto 2000) SIMULACIÓN DEL PROYECTO Compilemos nuestro proyecto e iniciemos una simulación para ver cómo se establecerá la conexión. Para ver la conexión de cualquier PLC y también entre los PLC, puede abrir la vista de red y abrir la pestaña de conexiones para ver todas las conexiones activas y establecidas. Vea la imagen 15. imagen 15. PLC_2 está esperando la conexión. Cuando REQ es Verdadero, PLC_2 estará abierto para la conexión, puede ver que el valor de ESTADO es 7002 _ si verifica la ayuda del bloque TCON, el estado 7002 significa esperando la conexión_. También puede ver en la imagen de la vista de red que el PLC_2 está esperando una conexión. Cuando la REQ del bloque TCON del PLC_1 es verdadera, el PLC_1 intentará establecer una conexión con el PLC_2 y, como el PLC_2 ya está abierto y esperando una conexión, el PLC_1 podrá encontrar y establecer una conexión con el PLC_2. Vea la imagen 16. Imagen 16. El PLC_1 establece una conexión. Observe que todas las conexiones en la vista de red ahora están en verde, lo que indica una conexión en buen estado y en curso entre el PLC_1 y el PLC_2. Como mencionamos antes, una vez que se ha configurado y establecido la conexión, se mantiene automáticamente. Por lo tanto, incluso cuando las señales REQ se vuelven falsas, la conexión entre los dos PLC permanecerá. Vea la imagen 17. Imagen 17. La conexión sigue en curso. Pero, si al girar las señales REQ no se desconecta la conexión, ¿cómo puedo desconectarla si quiero? Bloque de desconexión TDISCON Para desconectar la conexión entre los dos PLC, podemos poner el PLC en modo STOP, lo cual no es práctico durante la ejecución del proceso. También podemos utilizar el bloque de desconexión o TDISCON. Para agregar un bloque TDISCON, simplemente arrástrelo y suéltelo en su lógica, vea la imagen 18. imagen 18. Agregar bloque TDISCON Como puede ver, para agregar el bloque TDISCON, necesitará una instancia de bloque de datos. Una vez que se agrega el bloque a su lógica, todo lo que necesita hacer es asignar el ID de conexión que necesita desconectar y también debe asignar una señal REQ para iniciar la terminación de la conexión. Vea la imagen 19. imagen 19. Bloque TDISCON. AHORA, agreguemos un bloque TDISCON en el otro PLC, de modo que tengamos la posibilidad de desconectar la conexión. Ver imagen 20. Para el bloque TDISCON de PLC_1. Imagen 20. TDISCON en PLC_1 Regresemos a la simulación y veamos cómo utilizar los bloques TDISCON, vea la imagen 21. imagen 21. Conexión aún activa. Como puede ver en la imagen, la conexión entre los PLC aún está activa con las señales REQ de TDISCON aún falsas. Si la REQ de PLC_1 se vuelve VERDADERA, la conexión se terminará, pero notará que PLC_2 aún espera la conexión, vea la imagen 22. imagen 22. La REQ de PLC_1 es verdadera. Cuando la REQ para el bloque TDISCON de PLC_2 es verdadera, PLC_2 ya no estará esperando la conexión. Vea la imagen 23. imagen 23. La conexión se termina. Mostramos en este artículo cómo establecer una conexión entre dos PLC utilizando los bloques TCON y TDISCON.
  21. En el artículo anterior, hablamos sobre cómo configurar una conexión entre dos PLC mediante comunicación de usuario abierta y usamos el protocolo TCP para conectar entre dos PLC. Mostramos en el artículo cómo usar instrucciones como TCON y TDISCON para establecer esta conexión. Mover datos entre PLC En este artículo, mostraremos cómo podemos comenzar a mover DATOS entre los PLC que conectamos en el artículo anterior. Usaremos los bloques TSEND y TRCV para este propósito. Enviar datos a PLC_2 Nos basaremos en el proyecto que creamos en el artículo anterior, lo que significa que ya hay los bloques TCON y TDISCON instalados en nuestro proyecto. Continuaremos nuestro proyecto agregando los bloques TSEND y TRCV para comenzar a mover datos entre los dos PLC. Para enviar datos desde PLC_1 a PLC_2, comencemos por crear un bloque de datos que contendrá toda la información que necesitamos enviar a PLC_2. Vea la imagen 1. imagen 1. Cree un nuevo bloque de datos. Como ya hemos comentado, es mejor darle un nombre adecuado a los bloques, de esa manera será fácil e intuitivo averiguar para qué sirve cada bloque. En segundo lugar, agreguemos algunos datos dentro del bloque de datos que queremos enviar a PLC_2. Suponemos que necesitamos enviar tres etiquetas de datos diferentes. Vea la imagen 2. imagen 2. Defina algunos datos para enviar a PLC_2. Hay una cosa más que debemos hacer para poder enviar el bloque de datos que acabamos de crear a PLC_2 y es asegurarnos de que el acceso optimizado al bloque de datos no esté seleccionado. Para ello, debemos ir a las propiedades del bloque de datos y desmarcar esa opción. Vea las imágenes 3 y 4. imagen 3. Vaya a las propiedades del bloque de datos. imagen 4. Desmarque la opción Acceso optimizado al bloque. Asegúrese de desmarcar esta opción antes de usar el bloque TSEND, o no funcionará. Ahora que preparamos los datos que queremos enviar al PLC_2, intentemos enviarlos. Lo haremos usando el bloque TSEND. Simplemente arrastre y suelte la instrucción en su OB1 principal para agregarla a su lógica. Vea la imagen 5. imagen 5. Agregue el bloque TSEND. Al agregar el bloque TSEND, se le solicitará que cree un bloque de datos de instancia porque es esencialmente un bloque de función, nuevamente asígnele un nombre adecuado. Vea la imagen 6. Imagen 6. Cree una instancia de datos para TSEND. Cuando agregue el bloque TSEND a su lógica, encontrará que hay algunas configuraciones importantes que debemos realizar. Ver imagen 7. imagen 7. El bloque TSEND. Como puedes ver, necesitamos hacer algunas configuraciones: La señal REQ para permitir el envío de los datos. En cuanto a la señal REQ, definiremos una etiqueta SendData que se usará para habilitar el envío de los datos. ID de la conexión que usaré para enviar los datos, porque puedo tener más de una conexión, por lo que necesito asignar qué conexión se usará. En el último artículo, definimos el ID 1 para la conexión entre PLC_1 y PLC_2, por lo que estableceremos el ID en 1. DATOS que necesito enviar. Ya creamos un bloque de datos con toda la información que necesito enviar, simplemente podemos arrastrar y soltar el bloque de datos en el bloque TSEND. Ver imagen 8. imagen 8. Configurar el bloque TSEND. Recibir datos de PLC_1 Después de configurar el TSEND para enviar los datos a PLC_2, necesitamos recibir estos datos dentro de PLC_2. Para ello, utilizaremos el bloque TRCV. Ver imagen 9. imagen 9. Agregar el bloque TRCV. Como puede ver, simplemente arrastre y suelte el bloque TRCV para agregarlo a su lógica. Y ya sabe que, a continuación, necesitaremos crear una instancia de datos para ese bloque. Ver imagen 10. imagen 10. Agregar una instancia de datos al bloque TRCV. Después de que se invoque el bloque TRCV en su lógica, necesitaremos configurar algunos parámetros como lo hicimos con el TSEND. Ver imagen 11. imagen 11. El bloque TRCV. Como puede ver, EN-R es una señal de habilitación que debe ser verdadera para permitir que el bloque TRCV comience a recibir los datos. El ID es la conexión que se utilizará y DATA es donde se almacenarán los datos recibidos. Por lo tanto, debemos crear un bloque de datos para recibir los datos dentro de él. Recuerde darle un nombre adecuado. Vea la imagen 12. imagen 12. Cree un bloque de datos para recibir datos. A continuación, defina las etiquetas de información que se recibirán de PLC_1; es una buena práctica asegurarse de que el bloque de datos tenga la misma estructura de datos que los datos que se recibirán. Vea la imagen 13. imagen 13. Defina las etiquetas de datos. Para EN-R, definiremos una etiqueta RecieveData para habilitar la recepción de datos. Y para el ID de conexión es 1, como lo configuramos antes. Vea la imagen 14. imagen 14. Señal EN-R. A continuación, arrastre y suelte el bloque de datos que creamos en nuestro bloque TRCV para finalizar todas las configuraciones. Vea la imagen 15. imagen 15. Agregue su bloque de datos al bloque TRCV. Cuando arrastre y suelte la base de datos que creamos, notará que TIA Portal está dando una advertencia y que no está aceptando el bloque de datos que acabamos de agregar. Y eso se debe a que no desmarcamos la opción “Acceso optimizado al bloque” del bloque de datos como lo hicimos con TSEND. Vea la imagen 16. imagen 16. Acceso optimizado al bloque. Como dijimos antes, tenemos que desmarcar esta opción, de lo contrario TSEND y TRCV no funcionarán. Vea la imagen 17. imagen 17. Desmarque la opción de acceso optimizado al bloque. Puede ver que una vez que desmarcamos la opción “acceso optimizado al bloque”, el bloque de datos ahora se acepta con la instrucción TRCV. Ahora que la llamada y configuración de los bloques TSEND y TRCV está lista, simulemos nuestro proyecto y veamos cómo se enviarán y recibirán los datos. Primero crearemos una lógica simple que garantice que haya valores de datos para las etiquetas definidas. Lógica simple para crear automáticamente valores de datos Crearemos una lógica simple para crear y actualizar automáticamente los valores de datos, de modo que sea más fácil ver la transferencia de datos entre los dos PLC. Vea la imagen 18. imagen 18. Lógica simple. Esta lógica simple usará el bit de reloj %M50.5 para cambiar automáticamente los valores de los datos almacenados dentro del bloque de datos SendToPLC_2. Simulación del proyecto PLC Compilemos nuestro proyecto y comencemos una simulación. Lo primero que tendremos que hacer es establecer la conexión entre los dos PLC usando el bloque TCON que configuramos en el artículo anterior. Recuerde que necesitaremos habilitar la capacidad de conexión desde PLC_2 y establecer la conexión con PLC_1. Vea las imágenes 19, 20 y 21. imagen 19. No hay conexión entre los PLC imagen 20. Habilite la conexión. imagen 21. Establezca la conexión. Ahora que hemos establecido la conexión entre los dos PLC, pasemos los datos de PLC_1 a PLC_2 tal como lo configuramos. Primero, haga que la etiqueta SendData sea VERDADERA. Vea la imagen 22. Imagen 22. La señal REQ es verdadera. Puede ver que, aunque SendData es VERDADERA, no se enviaron datos de PLC_1 a PLC_2. Y eso se debe a que el bloque TRCV aún no está habilitado para recibir ningún dato. Vea la imagen 23. imagen23. La señal EN-R es falsa. Como puede ver, debido a que RecieveData aún no es VERDADERO, el bloque TRCV no está habilitado para recibir ningún dato. Una vez que EN-R sea verdadero, los datos se enviarán desde el bloque de datos en PLC_1 al bloque de datos de PLC_2. Vea la imagen 24. imagen 24. La señal EN-R es Verdadera. Una vez que EN-R sea verdadero, puede ver que los datos se mueven desde PLC_1 a PLC_2. Si abre el proyecto y lo simula usted mismo, encontrará que los datos se actualizan continuamente en PLC_1 y se transfieren a PLC_2. Y así es como podemos establecer una comunicación entre dos PLC y usar bloques TSEND, TRCV.
  22. En los últimos artículos, analizamos cómo establecer una conexión entre dos PLC mediante los bloques TCON y TDISCON y cómo mover datos entre ellos mediante los bloques TSEND y TRCV. Transferencia de datos entre sistemas PLC En este artículo, aprenderemos una nueva instrucción que se puede utilizar para comunicarse y transferir datos entre sistemas PLC mediante los bloques TSEND_C y TRCV_C. TSEND_C La instrucción TSEND_C es una instrucción de TIA Portal que se utiliza para configurar y establecer una conexión entre dos PLC. Una vez que se ha configurado y establecido la conexión, el PLC la mantendrá y supervisará automáticamente. La instrucción TSEND_C se ejecuta de forma asincrónica y tiene las siguientes funciones: Configurar y establecer una conexión de comunicación similar al bloque TCON. Enviar datos a través de una conexión de comunicación existente similar al bloque TSEND. Terminar o restablecer la conexión de comunicación similar al bloque TDISCON. Por lo tanto, el nombre compact se le da a la instrucción TSEND_C, ya que actúa como más de 3 bloques al mismo tiempo. TRCV_C La instrucción TRCV_C también es una instrucción TIA Portal que se utiliza para configurar y establecer una conexión entre dos PLC. Una vez que se ha configurado y establecido la conexión, el PLC la mantendrá y supervisará automáticamente. La instrucción “TRCV_C” se ejecuta de forma asincrónica e implementa las siguientes funciones en secuencia: Configurar y establecer una conexión de comunicación similar a TCON. Recibir datos a través de una conexión de comunicación existente similar a TRCV. Terminar o restablecer la conexión de comunicación similar a TDISCON. Por lo tanto, el nombre compact se le da a la instrucción TRCV_C, ya que actúa como más de 3 bloques al mismo tiempo. Uso de TSEND_C y TRCV_C en nuestro proyecto de PLC En el último artículo, cuando necesitábamos establecer y pasar a enviar datos desde PLC_1 a PLC_2, tuvimos que usar tres bloques diferentes en cada PLC. Vea la imagen 1. imagen 1. Lógica dentro de PLC_1 Como puede ver, usamos los bloques TCON y TDISCON para establecer y restablecer la conexión y usamos TSEND para enviar los datos desde PLC_1. Y lo mismo se hizo para PLC_2. Vea la imagen 2. imagen 2. Lógica de PLC_2 Nuevamente, usamos los bloques TCON y TDISCON para establecer y restablecer la conexión y usamos TRCV para recibir los datos desde PLC_1. Ahora, queremos reemplazar todos estos bloques e intentar usar TSEND_C y TRCV_C en su lugar para lograr la misma funcionalidad. Primero, en PLC_1 donde necesitamos enviar datos, usaremos el bloque TSEND_C, solo arrastre y suelte el bloque dentro del OB1 principal. Consulte la imagen 3. imagen 3. Agregue el bloque TSEND_C. Como TSEND_C es esencialmente un bloque de función, se le solicitará que cree una instancia de datos. Consulte la imagen 4. imagen 4. Cree una instancia para TSEND_C TSEND_C se parece al bloque TSEND en el sentido de que necesita realizar algunas configuraciones y agregar algunas señales. Consulte la imagen 5. imagen 5. Bloque TSEND_C Ahora, necesitamos una señal para que REQ y Data envíen y también para configurar la conexión. Para la señal REQ, creamos una etiqueta SendData. Además, podemos simplemente arrastrar y soltar el bloque de datos que creamos en el último artículo que necesitamos enviar a PLC_2, podemos simplemente arrastrarlo y soltarlo en la entrada DATA del bloque. Consulte la imagen 6. imagen 6. Configuración del bloque TSEND_C. Para configurar el parámetro de conexión para el bloque, podemos presionar el pequeño ícono de configuración en la parte superior del bloque para abrir la vista de configuración. La vista de configuración se verá muy similar a la del bloque TCON. Consulte la imagen 7. imagen 7. Parámetros de conexión de TSEND_C Ya mostramos cómo configurar el parámetro de conexión en artículos anteriores, por lo que podemos hacer lo mismo que hicimos con el bloque TCON, consulte la imagen 8. imagen 8. Configuración del parámetro de conexión Con esta configuración de conexión, terminamos todas las configuraciones de TSEND_C. Observe cuánto más rápido fue en comparación con la configuración de los bloques TCON, TDISCON y TSEND. Ahora, necesitamos agregar el TRCV_C al PLC_2 para que pueda recibir los datos enviados desde el PLC_1. En el OB1 principal del PLC_1, simplemente arrastre y suelte el TRCV_C en su lógica. Vea la imagen 9. Recuerde crear una instancia de datos para el bloque TRCV_C. imagen 9. Agregue el TRCV_C Una vez que se agrega el TRCV_C a su lógica, debemos configurarlo. Como hicimos con el TSEND_C, necesitamos agregar una señal para habilitar la recepción de datos y también necesitamos agregar el bloque de datos en el que guardaremos los datos. Vea la imagen 10. imagen 10. TRCV_C Definimos una etiqueta RecieveData como la señal EN_R. Ver imagen 11. imagen 11. Definir etiqueta EN_R Recuerde desmarcar la opción “acceso optimizado al bloque” del bloque de datos o el bloque no funcionará como mostramos en los artículos anteriores. A continuación, debemos configurar los parámetros de conexión del bloque TRCV_C, como hicimos con TSEND_C, solo tenga en cuenta que el PLC asociado no especificado ahora es el PLC_1, consulte la imagen 12. imagen 12. Parámetros de conexión de TRCV_C Simulación del proyecto de PLC Ahora que hemos configurado el bloque TSEND_C y TRCV_C, queremos simular nuestro proyecto y ver cómo funcionarán, pero primero, crearemos una lógica simple para actualizar automáticamente los datos de PLC_1 que se enviarán a PLC_2. Consulte la imagen 13. imagen 13. Lógica simple para actualizar datos automáticamente. Ahora, compilemos e iniciemos una simulación para nuestro proyecto. Lo primero que notará es que PLC_1 y PLC_2 intentarán establecer una conexión de inmediato porque configuramos TSEND_C y TRCV_C, ellos intentan establecer una conexión automáticamente. Por eso habrá una conexión entre los dos PLC. Ver imagen 14. Imagen 14. La conexión se establece directamente. Como puede ver, la conexión entre los PLC se establece directamente, porque el parámetro CONT en TSEND_C y TRCV_C está configurado en TRUE, lo que significa que el bloque intentará establecer automáticamente una conexión con el PLC asociado. Podemos colocar cualquier señal de control aquí para controlar el establecimiento de la conexión. La otra cosa que puede ver es que el REQ de TSEND_C y el EN_R de TRCV_C están configurados en FALSE, y es por eso que no habrá transferencia de datos entre los PLC. Ver imagen 15. imagen 15. No hay transferencia de datos entre los PLC. Si la señal REQ de TSEND_C se establece en verdadero, el PLC_1 intentará enviar los datos, pero esperará a que el otro PLC habilite la recepción de los datos, consulte la imagen 16. imagen 16. REQ es verdadero. Como puede ver, SendData es VERDADERO, pero no se enviaron datos porque RecieveData sigue siendo falso. El PLC_2 solo recibirá datos del PLC_1 cuando ReceiveData esté establecido en verdadero. Consulte la imagen 17. imagen 17. Los datos se envían al PLC_2 Como puede ver, cuando RecieveData es verdadero, los datos se enviarán del PLC_1 al PLC_2. Sin embargo, puede ver que los datos dentro de los dos PLC son diferentes porque los datos del PLC_1 cambian automáticamente según la lógica simple que hicimos antes. Esto significa que la señal EN_R permite la transferencia de datos una vez, cuando necesito transferir datos nuevamente, esta señal debe volverse falsa y luego verdadera nuevamente. Consulte el proyecto TIA Portal adjunto y observe la transferencia de datos entre PLC.
  23. Este artículo trata sobre el método de resolución de problemas de programación de PLC. En los PLC industriales donde se utilizan miles de entradas y salidas, sabemos la duración de los programas de PLC, depende de la aplicación o el uso de la planta. Solucionar problemas de programas de PLC Siemens Algunas veces, las personas pueden cambiar los parámetros lógicos sin saberlo y esto puede provocar una falla. Incluso se crean algunas fallas durante la etapa de diseño lógico debido a la complejidad del diseño. El software siemens plc tiene diferentes herramientas útiles disponibles para solucionar las fallas generadas en los programas. Las fallas pueden ser como superposición de direcciones, múltiples instancias de salida iguales, superposición de direcciones de bits de memoria, muchas veces se usa un solo programa para trabajar una y otra vez, etc. Para descubrir estos problemas, hay cuatro tipos de ventanas disponibles en el software de Siemens que nos ayudarán a solucionar los problemas. Ellos son: Referencia cruzada Estructura de llamada Lista de tareas Estructura de dependencia Analicemos cómo usarlos en nuestro programa para solucionar problemas y dónde encontrarlos en el software. Referencia cruzada La referencia cruzada se utiliza para encontrar todas las entradas y salidas digitales y analógicas utilizadas en la lógica. Nos ayudará a saber la cantidad de veces que se utilizan las E/S en el programa y también llevará a los usuarios directamente a la ubicación específica de las E/S en las páginas lógicas. A continuación se muestra un ejemplo de uno de los programas, en el que puede ver cómo se ve la tabla de referencias cruzadas. Contiene toda la información como direccionamiento, idioma del programa, entradas y salidas utilizadas, etc. Estructura de llamada Cuando desee saber qué bloque se utiliza en la programación, se utiliza la estructura de llamada. Esta es una función inversa de referencia cruzada en la que llegamos a saber cuántas veces se usan SFC y bloques FB en OB (Bloque de organización) y aquí llegamos a saber cuántas veces se usan OB en SFC y FB. Lista de tareas La lista de asignaciones es una característica muy útil a la hora de saber cuántas entradas, salidas, temporizadores y contadores utilizamos en nuestra aplicación y cuántos de ellos aún quedan, para poder utilizarlos en futuras lógicas. Estructura de dependencia La estructura de dependencia se utiliza para mostrar dónde se utilizan todos y cada uno de los bloques dentro de la programación. Pero en el paso 7 no lo llevará directamente a la ubicación; sin embargo, en TIA PORTAL lo llevará a la ubicación donde está escrito el programa. NOTA: Para abrir estas ventanas en el paso 7, use la información como se muestra en Dibujo. Después de hacer clic en mostrar tienes las opciones. En TIA PORTAL, siga el siguiente paso que se muestra en el dibujo.
Apply for friendship links:WhatsApp or E-mail: admin@plchmis.com
×
×
  • Create New...