Inquiry
Form loading...
Estructura del programa y características de varios PLC comunes de Siemens.

Noticias

Estructura del programa y características de varios PLC comunes de Siemens.

2023-12-08
1. Estructura del programa de algunos pequeños PLC extranjeros El programa de usuario de estos PLC se compone de programa principal, subprograma y programa de interrupción. En cada ciclo de escaneo, la CPU llama una vez al programa principal. El programa principal puede llamar al subprograma y el pequeño sistema de control solo puede tener el programa principal. El programa de interrupción se utiliza para responder rápidamente a eventos de interrupción. Cuando ocurre un evento de interrupción, la CPU dejará de ejecutar el programa o tarea que se está procesando en ese momento y ejecutará el programa de interrupción escrito por el usuario. Después de ejecutar el programa interrumpido, continúe ejecutando el programa o tarea suspendido. Sus subrutinas y programas de interrupción no tienen variables locales y sus subrutinas no tienen parámetros de entrada ni de salida. 2. Estructura del programa de Siemens S7-200 La imagen de proceso de entrada/salida (I/Q), la memoria de variables V, el bit de marca interna M, el temporizador T, el contador C, etc. son variables globales. La unidad organizativa de programa (POU) del S7-200 incluye el programa principal, el subprograma y el programa de interrupción. Cada POU tiene su propia variable local de 64 bytes, que sólo se puede utilizar en su POU. Por el contrario, se pueden utilizar variables globales en cada POU. Las siguientes son las variables locales que puede utilizar la subrutina: 1) TEMP (variable temporal) es una variable almacenada temporalmente en el área de datos local. La variable temporal definida se utiliza sólo cuando se ejecuta la POU. Después de ejecutar la POU, el valor de la variable temporal no se guardará. 2) IN es el parámetro de entrada proporcionado por la POU que lo llama. 3) OUT es el parámetro de salida devuelto a la POU que lo llama (el resultado de la ejecución de la subrutina). 4)IN_ OUT es input_ El valor inicial del parámetro de salida se transfiere a la subrutina mediante la POU que la llama, y ​​el resultado de la ejecución de la subrutina se devuelve a la POU que la llama con la misma variable. Solo hay variables temporales TEMP en las variables locales del programa principal y del programa de interrupción. El subprograma con parámetros de entrada y salida y variables locales es una programación estructurada fácil de realizar, lo cual es particularmente útil para fabricantes que producen equipos o líneas de producción similares durante mucho tiempo. Los programadores de estos fabricantes han escrito una gran cantidad de subrutinas generales para cada componente o función de proceso del equipo. Incluso si no conoce el código interno de la subrutina, siempre que conozca la función de la subrutina y el significado de los parámetros de entrada y salida, puede "ensamblar" rápidamente el programa de control que cumpla con los requisitos de diferentes usuarios a través de la llamada entre programas. Es como utilizar chips de circuitos integrados digitales para formar circuitos digitales complejos. Si la subrutina no tiene parámetros de entrada y salida, no existe una interfaz clara entre ella y el programa que la llama, por lo que es difícil realizar una programación estructurada. Si una subrutina no tiene variables locales, solo puede intercambiar datos con el programa que la llama a través de variables globales, y solo se pueden usar variables globales dentro de la subrutina. Al migrar subprogramas y programas de interrupción a otros proyectos, es necesario reorganizar las variables globales que utilizan para garantizar que no se produzcan conflictos de direcciones. Cuando el programa es muy complejo y hay muchos subprogramas y programas de interrupción, la carga de trabajo de este tipo de reasignación de direcciones es muy grande. Si el subprograma y el programa de interrupción tienen variables locales y solo usan variables locales en lugar de variables globales, debido a que no hay conflicto de direcciones con otras POU, el subprograma se puede trasplantar a otros proyectos sin ningún cambio. 3. Estructura del programa de Siemens S7-300/400 S7-300/400 divide los subprogramas en función (o función) y bloque de función. Las funciones del S7-300/400 son básicamente las mismas que las del S7-200. Tienen parámetros de entrada, salida y variables temporales. El valor de retorno en los datos locales de la función es en realidad un parámetro de salida. No tienen un área de almacenamiento dedicada. Una vez completada la función, los datos de las variables temporales no se guardarán. Puede utilizar variables globales para guardar los datos que deben guardarse después de la ejecución de la función, pero afectará la portabilidad de la función. El bloque de funciones es un bloque de programa escrito por el usuario con su propia área de almacenamiento dedicada (es decir, bloque de datos en segundo plano). Los parámetros de entrada y salida y las variables estáticas del bloque de funciones se almacenan en el bloque de datos de fondo especificado y las variables temporales se almacenan en la pila de datos local. Cada vez que se llama a un bloque de funciones, se debe especificar un bloque de datos de fondo. Una vez ejecutado el bloque de funciones, los datos del bloque de datos en segundo plano no se perderán, pero los datos de la pila de datos local no se guardarán. El bloque de funciones adopta un concepto de encapsulación similar a C ++, que encapsula el programa y los datos juntos y tiene buena portabilidad. El bloque de datos compartido del S7-300/400 puede ser utilizado por todos los bloques lógicos. 4. Estructura del programa de IEC61131-3 IEC61131-3 es el estándar de lenguaje de programación de PLC. IEC61131-3 es el primer y único lenguaje de programación estándar en el campo del control industrial en el mundo. CEI 61131-3 tiene tres tipos de POU: programa, bloque de función y función. La función es una POU con múltiples parámetros de entrada y un parámetro de salida (valor de retorno). El nombre del valor de retorno es el mismo que el nombre de la función. Es necesario definir el tipo de datos del valor de retorno. Aparato de ajuste Las funciones con el mismo valor de entrada siempre devuelven el mismo resultado. Las funciones pueden llamar a otras funciones, pero no a bloques de funciones o programas. Las variables locales que pueden definirse mediante funciones incluyen VAR y VAR_INPUT。 Un bloque de funciones es una POU con múltiples parámetros de entrada/salida y unidades de almacenamiento internas. El valor del parámetro de salida de un bloque de funciones está relacionado con el valor de su unidad de almacenamiento interna. El bloque de funciones puede llamar a otras funciones Bloque o función, pero no se puede llamar al programa. Antes de llamar a un bloque de funciones, debe declarar la instancia del bloque de funciones para cada llamada en la POU donde se llamará el bloque de funciones. El sistema operativo asignará un área de almacenamiento dedicada al bloque de funciones para cada llamada. (Similar al bloque de datos de fondo del S7-300/400). No es necesario crear una instancia de la función cuando se llama porque no tiene área de almacenamiento interno. El comportamiento y propósito del programa es similar al bloque de funciones. El programa tiene parámetros de entrada y salida, y puede tener área de almacenamiento interno. Los programas suelen contener llamadas a funciones y bloques de funciones. IEC61131-3 define varias funciones y bloques de funciones estándar. 5. Diferencia entre la estructura del programa S7-300/400 e IEC61131-3 1) La función del S7-300/400 puede tener varios parámetros de salida y el valor de retorno también es un parámetro de salida. La función de IEC61131-3 tiene un solo valor de retorno. 2) El área de almacenamiento especial para almacenar variables locales en el bloque de funciones IEC61131-3 se asigna al declarar la instancia del bloque de funciones. Es opaco para los usuarios y otras POU no pueden acceder directamente al área de almacenamiento. Las variables locales (excepto las variables temporales) del bloque de funciones del S7-300/400 se guardan en su bloque de datos de fondo. Otras POU pueden acceder a variables en el bloque de datos en segundo plano. Si necesita llamar al mismo bloque de funciones varias veces para controlar el mismo tipo de objeto controlado, debe especificar un bloque de datos en segundo plano para cada llamada, pero hay pocas variables en estos bloques de datos en segundo plano, por lo que hay una gran cantidad de bloques de datos de fondo en el proyecto. Se pueden utilizar varios bloques de datos de fondo para reducir el número de bloques de datos de fondo. Sin embargo, es necesario agregar un bloque de funciones para administrar múltiples fondos. 3) Las variables locales del bloque de funciones S7-300/400 incluyen variables temporales y variables estáticas. La variable interna Var del bloque de funciones IEC61131-3 es equivalente a la variable estática del S7-300/400. 4) S7-300/400 divide el área de datos en bloques de datos para su uso. El tamaño del bloque de datos está relacionado con el tipo de datos y la cantidad de variables definidas en el bloque de datos. IEC61131-3 no tiene concepto de bloque de datos.