Red de conocimiento informático - Programación de la red - ¿Qué son las variables y qué son las variables locales en 300PLC?

¿Qué son las variables y qué son las variables locales en 300PLC?

Antes de responder a su pregunta, es necesario tener un conocimiento básico de la tabla de declaración de variables. En STEP7, se utilizan dos formas de tablas para definir direcciones simbólicas: tablas de símbolos (* * * símbolos) y tablas de declaración de variables (símbolos locales). Ambas establecen esencialmente la relación intrínseca entre direcciones absolutas y direcciones simbólicas, pero las tablas apuntan a diferentes. objetos. * * * El símbolo de disfrute es el mismo símbolo utilizado por todo el programa (la tabla utilizada para la definición de símbolos globales es la tabla de símbolos, el símbolo local es una marca temporal utilizada por un bloque lógico específico (OB, FB, FC, etc.); .). ) y solo se puede definir temporalmente dentro de un bloque lógico específico. La tabla utilizada para las definiciones de símbolos locales y temporales se denomina tabla de declaración de variables, también conocida como tabla de declaración de variables locales.

La tabla de declaración de variables locales se divide en parámetros (parámetro de entrada de entrada, parámetro de salida de salida, parámetro de entrada/salida IN_OUT) y variables locales. Las variables locales incluyen variables estáticas (STAT) y variables temporales (TEMP). Los parámetros se pueden configurar en el bloque de llamada (bloque lógico, parámetros formales en el bloque) y en el bloque llamado (la función FB tiene su propio bloque de datos de fondo DI generado automáticamente, mientras que la función FC solo puede usar * * * bloques de datos compartidos para proporcionar llamadas parámetros formales del bloque El valor del parámetro real corresponde uno a uno con el parámetro formal del bloque de llamada, y el tipo de datos debe ser consistente). Las variables estáticas y las variables temporales son datos utilizados únicamente por el propio bloque lógico y no pueden utilizarse como interfaz de datos entre diferentes bloques de programa.

A través del análisis anterior, sabemos que las llamadas variables locales (incluidas las variables estáticas y transitorias) se refieren a bloques lógicos específicos, y las variables locales solo son válidas dentro del bloque en el que se encuentran. No tiene sentido hablar de las variables anteriores sin un bloque lógico concreto. Las variables de utilización (incluidas las variables estáticas y las variables transitorias) no se pueden llamar en otros bloques, lo que es inconsistente con la notación **, que puede ser llamada por cualquier bloque. En la parte superior de cada bloque lógico está el área para la tabla de declaración de variables. En la tabla de declaración de variables, el usuario declara variables especiales en el bloque, es decir, las variables locales incluyen los parámetros formales del bloque y los atributos del sistema de los parámetros formales. Puede utilizar el mismo símbolo de variable local en diferentes bloques sin conflictos.

Durante el funcionamiento del PLC, las variables estáticas (STAT) siempre se almacenan. S7 define variables estáticas en el bloque de datos de fondo (no hay variables estáticas para FB, FC y OB). Las variables estáticas se pueden leer o modificar mientras el bloque llamado se está ejecutando después de que finaliza el bloque llamado; las variables estáticas permanecen en los datos; block Medio;

La variable temporal (TEMP) es una variable utilizada para almacenar datos temporalmente mientras se ejecuta un bloque. Estos datos se almacenan en la pila de datos local (pila L) del área de memoria de trabajo de la CPU. Las variables temporales se pueden utilizar para organizar expresiones OB, funciones FC y bloques de funciones FB. Se utilizan para almacenar datos temporalmente mientras se ejecuta el bloque. Una vez que se introduce el bloque y se reasigna la pila, los datos de las variables temporales se perderán.

En un bloque de programa, si hay un símbolo de variable local en la tabla de declaración de variables del bloque, la programación se suaviza en STEP7 y se añade automáticamente un símbolo # antes del nombre de la variable local. Si desea acceder a una variable global (definida en la tabla de símbolos) con el mismo nombre que una variable local, la variable global debe usar comillas dobles (como "símbolo").