IEC61131-3 como herramienta de integración
Comprender los beneficios de IEC61131-3 y por qué sus métodos de programación son cada vez preferida para los diseños mecatrónicos.
IEC61131-3 puede sonar como una especificación compleja, pero en el uso práctico que se reduce a sólo unos pocos conceptos que promuevan las buenas técnicas de programación y la reutilización de código.
El más fundamental de los conceptos IEC es el comportamiento de ejecución del programa. Cada controlador o PLC en un sistema de automatización que se llama un recurso, y cada uno de los recursos ejecuta una o más tareas. Tareas múltiples pueden ser actualizados en las tasas de actualización diferentes. El código de educación y comunicación en cada tarea se divide en unidades del Programa Organización (POU), que se ejecutan dentro de la tarea en el orden especificado. El PDU puede existir como un tipo de programa y se ejecutan en la tarea asociada. Alternativamente, puede ser una función de tipo de POU matemática o un tipo de bloques de funciones de la UOP, los cuales ejecutar cuando se utiliza en el tipo de programa de UOP.
Al igual que la subrutina de programación familiar, funciones personalizadas y bloques de función permiten al programador para concluir un determinado fragmento de código para una fácil organización, para su reutilización, para la protección de la propiedad intelectual, y / o de control de revisiones.
Variables y tipos de datos
La terminología y la mecánica de las variables, tipos de datos y literales se define en el estándar IEC61131-3 - y estas definiciones se deben seguir.
El juego de caracteres se limita a alfanuméricos y el guión, sin espacios ni caracteres especiales permitidos. Los programadores por lo tanto debe acostumbrarse a trabajar con variables con nombres como "FeedSpeed" o "Feed_Speed". Las letras mayúsculas se conservan para fines de presentación, pero las diferencias de capitalización son ignorados en la ejecución del programa.
La mayoría de los programadores es probable encontrar un nuevo conjunto de cláusulas que acostumbrarse en el estándar IEC61131-3. Además de la UOP sigla se ha mencionado anteriormente, un valor constante en el código se llama un literal. Una variable con un bit de información se denomina BOOL. Y cuando hay un punto decimal, que se llama un tipo REAL o LReal datos.
Este tipo de datos de terminología se manifiesta tanto en los literales y variables. Un literal, valor codificado de "5" se expresa en el código con un tipo de datos como prefijo LReal # 5.0, INT # 5, # 5 PALABRA, o TIME # 5s.
Esto proporciona una visible doble cheque por el programador para evitar la mezcla accidental de tipos de datos. Lo mismo ocurre con las variables.
Una variable se le asigna un tipo de datos, y el valor inicial asociado a esta variable debe coincidir con el tipo de datos. Así que si una variable se denomina "FeedSpeed" y se da el tipo de datos LReal, entonces puede tener un valor inicial de 5.0, pero no 5 o 5 años.
A menudo en la programación, la salida de una parte del código está en un tipo de datos, y que éste debe ser utilizado en otra parte del código como otro tipo de datos. Por ejemplo, un valor de entrada se puede recibir de un operador como PALABRA # 5, a escribir en la variable "FeedSpeed," con el tipo de datos LReal. Esto requiere un paso de la conversión de datos.
IEC61131-3 buena práctica de programación insiste en que cualquier paso de la conversión no se oculta a la vista, por lo que el programador debe definir específicamente el paso de la conversión. Afortunadamente, el tipo de datos los bloques de función de conversión entre dos combinaciones de los 20 tipos de datos estándar se ofrecen para que la conversión de tipo de datos puede ser bien controlada.
Múltiples lenguajes de programación
IEC utiliza y combina cinco de los lenguajes de programación más comunes: Diagrama de Contactos (LD), Texto estructurado (ST), Function Block Diagram (FBD), Lista de instrucciones (IL) y de función secuencial (SFC).
El programador decide el mejor lenguaje para una POU particular, basada en la preferencia personal y en el propósito de que la UOP en particular. Un POU bloque de funciones escritas en un lenguaje puede ser usado dentro de otro punto de uso de un lenguaje diferente.
Por ejemplo, una fórmula matemática compleja puede ser mejor programado utilizando el lenguaje de ST. I / O lógica suele ser más fácil de programar en LD, mientras que FBD puede ser mejor para una secuencia de control de movimiento. SFC es eficaz para controlar los estados de la máquina. En el estándar IEC61131-3, los puntos fuertes de cada idioma se pueden utilizar simultáneamente.
Programación de alto nivel
IEC61131-3 va más allá de las técnicas de programación fundamentales - la definición de algunos conceptos de programación de alto nivel, tales como los tipos enumerados, matrices y estructuras de datos.
Enumerado los tipos de darle un nombre a un número de modo que cuando una selección numérica se requiere, el nombre se puede utilizar en su lugar. Esto hace que el código sea más comprensible y ayuda en la solución de problemas.
Por ejemplo, el bloque de función PLCopen MC_MoveAbsolute incluye una entrada de dirección para que las máquinas de rotación podrá localizar la posición de cuatro maneras diferentes, incluyendo "shortest_way". En lugar de asignar la dirección de entrada a 0, 1, 2, ó 3, el "shortest_way" texto puede ser utilizado.
Las matrices son familiares para muchos programadores y permiten una gran cantidad de datos para tener acceso a la indexación de la dirección dentro de la matriz. La estructura de datos es una herramienta de programación crítica para el embalaje de un conjunto de diferentes tipos de datos en una variable.
Un ejemplo de la utilidad de las estructuras de datos se puede encontrar en la biblioteca de Yaskawa PLCopen Caja de herramientas de usuario para los controladores de la serie MP2000iec. Cada eje de un sistema suele tener los mismos datos asociados a ella como una velocidad de desplazamiento, velocidad de carrera, posición, parámetros, etc
Tradicionalmente, el programador debe crear las variables para cada una de estas piezas eje específico de los datos, una tarea tediosa. Pero con IEC61131-3, es posible definir una estructura de datos que contiene todos los datos eje específico de una vez por todas, la creación de un tipo de plantilla.
El programador crea una sola variable (FeedAxis) para el eje y elige esta nueva estructura, como el tipo de datos (eje de estructura). Esto proporciona el resultado equivale a tener decenas creado o incluso cientos de variables al mismo tiempo.
Los datos pueden ser accedidos como si se tratara de una variable mediante la notación de puntos tales como FeedAxis.JogSpeed o FeedAxis.Prm. Variables adicionales con esta misma estructura de datos se pueden definir para los otros ejes en el sistema, la creación rápida de una definición ordenada y coherente de las variables asociadas a cada eje.
El estándar IEC61131-3 ofrece una serie de beneficios a los programadores de PLCs y controladores para la integración de aplicaciones mecatrónicos. A pesar de que lleva algún tiempo por adelantado para aprender técnicas específicas de la terminología y la eficiencia global se incrementa. El programa resultante puede ser utilizado e interpretado por otras personas familiarizadas con la norma, la creación de una base común para otros programadores y personal de mantenimiento y operaciones.
Fuente: www.designnews.com