Advant Controller 500 (AC500)

1 Advant Controller 500 (AC500)Control builder PS501 IEC ...
Author: Tatiana Modesto
0 downloads 2 Views

1 Advant Controller 500 (AC500)Control builder PS501 IEC

2 Información Básica sobre el PS501 Los lenguajes de programación El Control Builder PS501 Información Básica sobre el PS501 Los lenguajes de programación POUs y tipos de datos La estructura de un programa Las diferentes librerías Empecemos

3 Información Básica sobre el PS501PS501 cumple con la IEC Este estándar internacional define: - la estructura de un programa, - la declaración de datos - la sintaxis y semántica de 5 lenguajes de programación diferentes: Instruction List (IL) – Lista de Instrucciones Structured text (ST) – Texto estructurado Function block diagram (FBD) - Diagramas de Bloques de Función Continuous function chart (CFC) – Gráficos de Función Contínuas Ladder Diagram (LD) - Contactos Sequencial flow chart (SFC) – Gráficos de Flujo Secuenciales

4 Información Básica sobre el PS501El software de programación PS501 está basado en CoDeSys para: Programar, Testeo, Depuración, Ingeniería, Documentación de programas para el AC500 - Hardware por ABB.

5 Información Básica sobre el PS501CoDeSys es un producto de la empresa 3S - Smart Software Solutions GmbH Some 3S - customers Some 3S - customers

6 Los lenguajes de programaciónInformación Básica sobre el PS501 Los lenguajes de programación POUs y tipos de datos La estructura de un programa Las diferentes librerías Coming up

7 Los lenguajes de programación: Lista de Instrucciones ILEn texto Lenguaje Assembler Los operadores funcionan con un registro especial (accumulator, LD, ST) Los programas pequeños son muy fáciles de entender No soporta programación estructurada

8 Los lenguajes de programación: Texto Estructurado STLenguaje tipo Texto Lenguaje de alto nivel: similar al PASCAL De todos los lenguajes es el más adaptable para programación condicional y programas tipo „loops“ (espiral) Es pposible programacíones muy potentes: Escriba sus propias funciones o Bloques de Funciones en texto estructurado muy pòtente y llámelos desde un programa escrito en FBD, CFC o LD

9 Los lenguajes de programación: Function Block Biagram FBDLenguaje gráfico Fácil de entender Estructura determinada para bloques y operadores

10 Los lenguajes de programación: Continuous function chart CFCLenguaje gráfico, similar al FBD Fácil de entender Libre estructura para bloques y operadores El retorno puede conectarse diréctamente

11 Los lenguajes de programación: Ladder diagram LD (contactos)Lenguaje gráfico, orientado a redes Disponible en casi todos los sistemas de PLCs Especialmente adaptado para programar en términos booleanos Menos adaptable para programas complicados

12 Los lenguajes de programación: SFC (Sequencial Function Chart)Lenguaje gráfico, consigue un programa muy bien estructurado Contiene Pasos y Transiciones Este programa esta formado de Pasos SFC no puede reemplazar otros lenguajes.

13 Los POUs y tipos de datosInformación Básica sobre el PS501 Los lenguajes de programación POUs y tipos de datos La estructura de un programa Las diferentes librerías Coming up

14 Direcciones, POUs y Tipos de datos: IntroducciónEntradas, Salidas, Constantes Indirectas, Pasos(Steps) y Marcas(Flags) Son aquellos tipos de direcciones que se han de adaptar al hardware Un POU es una secuencia de líneas de programa, la cual puede ser llamada por otro POU La programación se puede elaborar en uno de los cinco lenguajes de programación El POU reservado PLC_PRG arranca cíclicamente por el propio sistema Los datos pueden ser validados localmente o globalmente y pueden Ser declarados a priori, programados en una tabla o automáticamente mientras se está programando.

15 Direcciones, POUs y Tipo de Datos: El Program Organization UnitsFunción: FUN Entrada, un resultado, no memoria. Ejemplo: operador AND (todos los operadores) Bloque de Función: FB Entradas, Salidas, memoria. Es posible crear diferentes instancias (copias) de un Bloque de Función Ejemplo: TON (ON retrasado)) Programa: PRG Como un Bloque de Función, pero sólo una instancia global. Ejemplo: Un programa llama a otro.

16 Direcciones, POUs y Tipo de Datos: Tipos de datos Estándar (1)Bool: TRUE o FALSE Datos tipo Integer (Enteros):

17 Direcciones, POUs y Tipo de Datos: Tipos de datos Estándar (2)

18 La estructura de un programaInformación Básica sobre el PS501 Los lenguajes de programación POUs y tipos de datos La estructura de un programa Las diferentes librerías Coming up

19 La estructura de un programa (1)Un proyecto contiene un amplio rango de Project (Proyecto) Grabado en archivo: name.pro P Programm - O Organisation - U Units POU Global variables (Variables Globales) Data types (Tipo de datos) En la posición inicial hay un programa Llamado PLC_PRG (Programa Principal), y es ejecutado cíclicamente Declaración (variables locales) Codigo

20 La estructura de un programa (3)Program PRG FUN Function FUN FUN FB Function block FB FB FUN PRG

21 Tenga en cuenta el ciclo del programa (cycle time) La estructura de un programa : Normas para escribir un programa de usuario Normas Importantes: Los POUs llamados siempre vuelven al que llama (programa y sus módulos están enlazados) Tenga en cuenta el ciclo del programa (cycle time) Proyectos ejecutados dentro del ciclo han de ser siempre un programa definido con el nombre PLC_PRG Definición: Según es Standar IEC PLC_PRG es el nombre de un POU cíclico

22 La estructura de un programa : Llamada de POUs (1)Llamada desde el editor POU: Llamada desde el programa

23 La estructura de un programa : Llamada de POUs (2)Llamada de programas dentro del programa ppal: PLC_PRG

24 La estructura de un programa : Las funciones y los operadoresHay diferentes grupos de operadores: Su representación depende del lenguaje de programación escogido. La expresión OPERATOR no existe en el Stándar. En el estándar IEC los operadores están definidos bajo funciones estándar. Pero 3S creó una lista de operadores para simplificar la operación: Asignadores Operadores Booleanos Operadores Analógicos . Comparadores Selectores Operador Real Operador Shift Convertidor de Tipo Operador Funciones

25 La estructura de un programa : Las funciones, Bloques de FuncionesFunciones String LEN LEFT RIGHT MID CONCAT INSERT DELETE REPLACE FIND Detección de rampa R_TRIG Detecta rampa positiva F_TRIG Detecta rampa negativa Contador CTU Incrementa por cada rampa (up- counter) CTD Decrementa por cada rampa (down - counter) CTUD Incrementa / decrementa en cada rampa (up-/down counter) Temporizador TP Pulso TON Temporizador Activar con Retraso TOF Temporizador Desactivar con Retraso Funciones Bloques de Funciones

26 Información Básica sobre el PS501 Los lenguajes de programación Las Librerías Información Básica sobre el PS501 Los lenguajes de programación POUs y tipos de datos La estructura de un programa Las diferentes librerías Coming up

27 Las diferentes librerías: Librería Estandar: p.ej. FB CTUD

28 Las diferentes librerías: Librería del Fabricante: p.ej. FB PDM

29 Las diferentes librerías: Librería de usuario

30 The different libraries: Creando una librería de usuario:1. Crear el FB o FUN : programe, compile, testee y exporte: Project Export FUN or FB (click) resultado .exp 2. Abrir un nuevo Proyecto e importe sus FBs o FUNs que quiera cargar en la nueva librería y „Rebuild all“: Importante > Este proyecto no debe contener una lista de variables globales > PLC_PRG ha de ser borrado Project 1: Import 2: Rebuild all resultado in Object Organizer 3. Guarde este proyecto con un nuevo nombre (nombre de la librería) en el directorio LIBRARY Date guardad como *.lib , click „ Internal library“ resultado Nueva librería en el directorio LIBRARY : < name>. Lib