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