Red de conocimiento informático - Material del sitio web - Cómo mejorar la eficiencia de la programación de PLC

Cómo mejorar la eficiencia de la programación de PLC

1: Planificar bloques de funciones y escribir subprogramas de acuerdo con las necesidades reales del proyecto.

En PLC, los subprogramas son programas relativamente independientes compilados para algunos propósitos de control específicos. Ejecute la instrucción de llamada de subrutina CALL, etc. Si no se cumplen las condiciones cuando se llama a la subrutina, el escaneo del programa solo se realizará en el programa principal y esta subrutina ya no se escaneará, lo que reduce el tiempo de escaneo innecesario.

2: Utilice datos de palabra o de doble palabra para transmitir a los puntos DO para controlar la salida

En las aplicaciones de PLC, suele haber una gran cantidad de controles de salida, que utilizan palabra o doble -datos de palabra para transmitir Dar el método de punto DO para controlar la salida puede aumentar la velocidad. Siempre que la dirección de salida se asigne razonablemente y la palabra de control de salida de control se transforme de acuerdo con los requisitos de la aplicación real, el número de pasos ejecutados. por el programa PLC de Siemens se puede reducir considerablemente, acelerando así la velocidad de ejecución del programa PLC.

3: Activador de pulso SET, RESET

En PLC, la instrucción SET se puede ejecutar solo una vez. No es necesario ejecutar esta instrucción cada vez que se escanea. para instrucción de salida de pulsos (PLS/PLF). Algunos ingenieros ignoraron este problema y utilizaron métodos convencionales para controlar las instrucciones SET, lo que inadvertidamente aumentó el tiempo de ejecución del escaneo del programa PLC

4: Evite la conversión de tipos, el método es el siguiente:

Tomemos como ejemplo el S7-200. Su formato de memoria es exactamente el opuesto al de nuestros PC más utilizados: tiene caracteres altos en la parte frontal y caracteres bajos en la parte posterior. Entonces podemos poner la palabra variable en los dos últimos bytes y borrar los dos primeros bytes cuando se inicializa el programa (estos dos bytes no deben usarse en ninguna otra parte del programa).

Por ejemplo, cuando definimos un símbolo, definimos la palabra variable en VW2 y mantenemos el valor de VW0 en cero. Luego, en el programa, puede usar VW2 para acceder a la variable como fuente, y también puede usar VD0 para acceder a la variable como fuente doble, evitando la conversión de tipos. Para evitar confusiones durante el uso, es mejor distinguir los tipos de palabras y los tipos de palabras dobles con definiciones de símbolos claras. Aquí se recomienda encarecidamente una nomenclatura similar a la húngara: indique el tipo de variable con un prefijo y utilice una combinación de palabras significativas en inglés con la primera letra en mayúscula como nombre de la variable.

Estoy acostumbrado a usar los siguientes sufijos: b----byte variable (byte) w----palabra variable (palabra) d----doble palabra variable (doble) r-- --Variable real (real) f----bit variable (bandera) btn---entrada de botón de reinicio automático (botón) sw----interruptor o entrada de botón de bloqueo automático (interruptor) sig---sensor, codificación y otros niveles de entrada de señal (señal) rly---bit de relé de salida (relé)...

Por supuesto, esto se basa en hábitos personales, no hay ninguna regla, es principalmente para facilitar su propia distinción.

Si existe una variable de tipo palabra llamada VarName, para utilizar la técnica de conversión anterior, podemos definirla así:  wVarName----VW2 dVarName----VD0 Borrar VW0 durante la inicialización del programa (Si es una variable que no es necesario recordar, puede borrar directamente dVarName) o establecer VW0 en cero en el bloque de datos. Luego, en el futuro, cuando necesite acceder a la variable como un tipo de palabra, use wVarName, y cuando necesite acceder a la variable como un tipo de palabra doble, use dVarName. No se requiere ninguna conversión de tipo.

Este método puede reducir en gran medida la cantidad de declaraciones del programa, lo que hace que el programa sea más conciso y mejor legible. Dado que no se requiere una conversión de tipos que requiere mucho tiempo, la eficiencia de ejecución del programa también mejora. Y cuanto mayor sea la cantidad de operaciones matemáticas, más evidente será la mejora de la eficiencia.

La desventaja es que ocupa dos bytes más de memoria y VW0 no se puede utilizar en futuros programas. Sin embargo, el espacio de RAM del S7-200 es muy grande y generalmente no se puede utilizar. Tomando como ejemplo el 226, hay hasta 10K de RAM, pero nunca ha superado los 1K. Todas estas RAM se compran con dinero. Si no las usa, es un desperdicio.

De manera similar, si hay variables de tipo byte que a menudo deben convertirse en variables de tipo palabra, dejar que la variable de byte ocupe el ancho de memoria de una palabra desperdicia un byte y evita la conversión de tipos.