IEC Programación de FB (Functión Block)

Documentos relacionados
Contenido de la Presentación

11/02/2009 IEC de febrero de 2009 Antonio Cambronero, Product Engineer OMRON Electronics Iberia S.A.U. IEC ( Programación en ST )

Instrucciones de Comunicaciones

Conceptos de Arquitectura de Computadoras Curso 2015

Departamento de Ingeniería de Sistemas y Automática PROGRAMACION DE AUTOMÁTAS STEP 7

INICIACIÓN AL CX-PROGRAMMER 1. Iniciación al CX-Programmer

Programación de PLC con CX-PROGRAMMER Versión 2

REEA. Conexión de un S con WinCC RT Advanced V.12

Máster universitario en automatización de procesos industriales

Computación II. Introducción a Visual Basic

Estructuras en LabVIEW.

Máster universitario en automatización de procesos industriales

Estatutos de Control C# Estatutos de Decisión (Selección)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Instituto Schneider Electric de Formación

Paso a paso para la solicitud de Usuario y clave para Afiliados en nuestro portal transaccional

El El Relevador. Técnicas de programación de un PLC. Esquema de contactos o Diagramas de Escalera Mnemónicos o Listado de Instrucciones.

LENGUAJE LD. Orígenes históricos PLC. Orígenes históricos. Orígenes históricos. (Ladder) LADDER (LD) Objetivos del PLC:

Vamos a profundizar un poco sobre los distintos tipos de datos que podemos introducir en las celdas de una hoja de cálculo

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Curso sobre Controladores Lógicos Programables (PLC).

Tutorial de Moodle. Chat

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

CX-Integrator permite crear tablas de data link Offline para transferirlas posteriormente.

NATIONAL SOFT HOTELES GUÍA DE CONFIGURACIÓN DEL FORMATO DE FACTURAS

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

5.3 CREAR FORMULARIOS

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

SISTEMAS OPERATIVOS Arquitectura de computadores

PLCopen / IEC

Manual de formación para soluciones generales en automatización Totally Integrated Automation (T I A ) MÓDULO B4. Bloques de Datos

Elementos de un programa en C

Tema 4. Operadores y Expresiones

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Tema: Introducción al OMRON CP1H y el CX-Programmer

Soporte Técnico. PROGRAMACIÓN AVANZADA DE PLC s

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Práctica 5: Programación Estructurada

Programación en java. Estructuras algorítmicas

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa

Guía práctica de estudio 05: Diagramas de flujo

Tema 2: Programación de PLCs

MICROSOFT WORD AVANZADO. Nº Horas: 18. Objetivos:

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Máster universitario en automatización de procesos industriales

Sistemas Operativos. Curso 2016 Sistema de Archivos

Capítulo 16. Diagrama de Clases UML

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

CICLOS DEL PROCESADOR

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Guía Rápida. Aplicaciones Lean Automation

Manual de Usuario Webmail Horde

Profesor(a): M. A. Zeferino Galarza Hernández

CONTROLES ELÉCTRICOS PRÁCTICA 6: PROGRAMACIÓN DE PLC UNIDAD 5 LIRA MARTÍNEZ MANUEL ALEJANDRO DOCENTE: PACHECO HIPÓLITO JAVIER

Empezamos en la sección MIS PREZIS después de entrar con tu cuenta de usuario.

SECCIÓN 6 Pruebas de funcionamiento y proceso de errores

Formularios. Contenido TECNOLOGÍA WORD

SIMATIC. Procesador de comunicaciones Driver de impresora CP 340 PtP. Getting Started 04/2005 A5E

INSTRUCTIVO FUNCIONAMIENTO DEL SISTEMA DE RECURSOS HUMANOS PROCESO DE REGISTRO DE FECHA DE INICIO DE LABORES

CREACIÓN DE UNA PÁGINA WEB CON JIMDO

Manual FOXTIR Editor HTML MOBILE MARKETING

Manejo de Filas, Columnas, Celdas y Rangos

Diseño de una calculadora

Net-LAN. Guía rápida del Kit inalámbrico NetLAN para ZyXEL P660 HW61

Código IN_0035. Nombre WORD Categoría INFORMÁTICA. Modalidad ONLINE. Duración 50 HORAS. Vídeo. Audio. Objetivos

FUNCIONAMIENTO DIGITAL DE UN SISTEMA. EL SISTEMA BINARIO. Sistema Digital. Fr. Casares. Sistema Digital. Sistema Digital

Programación en Visual Basic Ricardo Rodríguez García

Fundamentos de Ordenadores. Depurar programas usando Nemiver

Una base de datos de Access puede estar conformada por varios objetos, los más comunes son los siguientes:

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Principios de Programación en STEP7

Tema 2. El lenguaje JAVA

Instituto Schneider Electric de Formación

HOJAS DE CÁLCULO (4º ESO)

Mozilla Firefox. Barra de. Barra de navegación. menús. Barra de. Barra de dirección. marcadores

Unidades de E/S analógicas y de control de CJ

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

CJ2M: La Máquina. Resultado de la Innovación a través de la Evolución

ESCUELA DE INFORMÁTICA

CÓMO BLOQUEAR LOS SITIOS WEB EN INTERNET EXPLORER

WorkManager E.D. Manual guía de usuario Diseñador de formularios

Módulo CJ1W-ETN11 GUIA RAPIDA ESTE MANUAL CONTIENE: 1.- CARACTERÍSTICAS 2.- INSTALACIÓN Y CONFIGURACIÓN DEL MÓDULO 3.- CONFIGURACIÓN DEL MÓDULO

INFORMACIÓN TÉCNICA CÓMO GENERAR Y ENVIAR LA TABLA NIT DE UNA INSTALACIÓN MEDIANTE EL SOFTWARE ASP

Tutorial de MuseScore, editor de partituras Primeros pasos

Organización lógica Identificación de bloque

Tema: Introducción al IDE de Microsoft Visual C#.

Guía rápida del teléfono digital ES, edición 1, junio de 2004

Conversor de vídeo. Tutorial. Introducción

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

4.2 Servicio de exploración de E/S

INSTALAR SOFTWARE DE APLICACIÓN STEP 7

Unidades de temperatura CJ1W-TS561/562

Transcripción:

www.infoplc.net IEC 61131-3 Programación de FB (Functión Block) 24 de marzo de 2013 Antonio Cambronero, Product Engineer OMRON Electronics Iberia S.A.U.

IEC 61131-3 ( Programación de FB ) Introducción

Ventajas de ST o Ladder Texto Estructurado (ST). El ST es un lenguaje de alto nivel de propósito general para expresar diferentes tipos de comportamientos relacionados con diferentes tipos de datos. Es particularmente útil para cálculos aritméticos complejos. Ladder Operaciones logicas (operaciones AND y OR).

Por qué Bloques de Función? Un programa creado con FBs, muestra una mejor calidad de diseño y requiere menos tiempo de desarrollo. Código de programa Re-utilizado Programar sólo una vez una función/proceso que se repite Re-utilizar el FB una y otra vez Mejor vista/presentación del programa del PLC El programa es más fácil de leer Se reduce el código de programa Se reducen posibles errores de código 5

Beneficios de las FBs? Mejor perspectiva. IEC61131-3 6

Ejemplo de FB vs. llamada a FB Instancia de Bloque de Función Llamada a Bloque de Función 7

8 Por qué Bloques de Función?

Bloques de Función Diagramas de Bloques de Función FB (Funcion Block): Programa con funcionalidad propia en Texto Estructurado o Ladder EN Ladder o Texto Estructurado ENO FBD (Funcion Block Diagram): Lenguaje Gráfico parecido a Ladder & 9

IEC 61131-3 ( Programación de FB ) Elementos de un FB

Elementos de un FB Definición del nombre del bloque de función. El nombre del FB puede ser de hasta 64 caracteres. No hay caracteres prohibidos. Lenguaje: Ladder ó ST. Definición de variables. Tipo de variable: entrada, salida, entrada/salida, internas y externas. Algoritmo: lógica de programación con las variables registradas. 11

Elementos de un FB Definición de variables. Los nombres de las variables pueden ser de hasta 30,000 caracteres de longitud. Los nombres de variables no pueden contener espacios o cualquiera de los siguientes caracteres:! # $ % & ( ) = - ~ ^ \ @ { [ + ; * : } ] <, >.? / Los nombres de las variables no pueden comenzar con un numero (0 a 9). Los siguientes caracteres no pueden ser usados para indicar direcciones de memoria de E/S. A, W, H, HR, D, DM, E, EM, T, TIM, C, CNT seguidos de un numero. Las nombres no pueden tener 2 caracteres ( _ ) seguidos. 12

Variables de entrada Elementos de un FB Las variables de entrada pasan operandos externos a la instancia de la FB. No se puede asignar el mismo nombre a una variables de entrada y salida, usar una variables de entrada/salida. Cuando la instancia es ejecutada, los valores de entrada son pasados desde los parámetros a las variables de entrada antes de que el algoritmo sea ejecutado. Si es necesario leer un valor en el ciclo de ejecución del algoritmo, asignar el valor a un variable interna (AT) ó utilizar símbolos globales como las variables externas. Un valor inicial puede ser puesto en las variables de entrada. El valor del parámetro de entrada será cargado, cuando la variable de entrada EN se ponga a ON y la instancia sea ejecutada. 13

Elementos de un FB Variables de salida (I) Las variables de salida devuelve valores desde la instancia a la aplicaciones externa. Después de que la instancia es ejecutada, los valores de las variables de salida son pasados a los parámetros específicos. Los valores de las variables de salida son mantenidos hasta la siguientes ejecución de la instancia. Si es necesario escribir un valor en el ciclo de ejecución del algoritmo, asignar el valor a un variable interna (AT) ó utilizar símbolos globales como las variables externas. Se puede configurar un valor inicial. El valor inicial no se puede configurar si se ha configurado la opción de mantener. 14

Elementos de un FB Variables de salida (II) El valor inicial no será escrito en las variables de salida, si el bit IOM Hold (A50012) es a ON. La variable ENO será puesta a ON cuando la instancia es llamada. La variable ENO puede ser usada como un flag para chequear si la instancia esta o no en ejecución. 15

Elementos de un FB Variables de entada/salida La variables de entrada/salida se usan para pasar y recibir datos a instancia de la FB. El valor de las variables de entrada/salida no son cargados en direcciones internas de la instancia de la FB, el valor es cargado en la propio variable de entrada/salida pasada. 16

Elementos de un FB Variables de internas Las variables internas son usadas dentro de la instancia de la FB. Estas variables no son visibles al resto de la aplicación. No pueden ser referenciadas fuera de la instancia de la FB. Los valores de las variables internas son mantenidos hasta la próxima ejecución de la instancia de la FB (Cuando EN vuelve a OFF, los valores de las variables internas son mantenidos). La opción de mantener las variables internas, permite mantener el valor de estas variables cuando el PLC es apagado ó cuando cambiamos el modo de operación del PLC. Si el bit Hold IOM (A50012) esta a ON, las variable internas tampoco serán mantenidas. 17

Elementos de un FB Variables de internas Variables Condición Configuración Bit Hold IOM (A50012) Variables no configuradas para mantener Operación de inicio. OFF Bit Hold IOM en el PLC Setup seleccionado ON Bit Hold IOM en el PLC Setup no seleccionado No mantenido Mantenido Mantenido Power ON No mantenido Mantenido No mantenido 18

Elementos de un FB Variables de internas Se puede configurar un valor inicial, si no se ha seleccionado la opción de mantener. Las variables internas que no han sido configuradas para mantenerse, se inicializaran a 0 (cero). El valor inicial no será cargado en las variables internas, si el Bit Hold IOM (A50012) esta a ON. 19

Elementos de un FB Variables de externas Son las variables del sistema o las variables definidas por el usuario en la tabla global del sistema. 20

Elementos de un FB Tipos de datos Tipo de dato Tamaño Entrada Salida Entrada/salida Internas BOOL 1 Bit OK OK OK OK INT 16 bits OK OK OK OK UINT 16 bits OK OK OK OK DINT 32 bits OK OK OK OK UDINT 32 bits OK OK OK OK LINT 64 bits OK OK OK OK ULINT 64 bits OK OK OK OK WORD 16 bits OK OK OK OK DWORD 32 bits OK OK OK OK LWORD 64 bits OK OK OK OK REAL 32 bits OK OK OK OK LREAL 64 bits OK OK OK OK TIMER COUNTER Flag: 1bits PV: 16 bits Flag: 1bits PV: 16 bits No soportado No soportado No soportado OK No soportado No soportado No soportado OK STRING Variable No soportado No soportado No soportado OK 21

Elementos de un FB Configuración AT Permite direccionar una variable, a una determinada dirección de memoria del PLC. Solamente se pueden direccionar las variables internas. Solamente se puede direccionar a CIO, A, D, E, H y W. No se pueden usar Registro de Índices y direccionamientos indirectos a DM/EM. 22

Elementos de un FB Configurando tablas (Array) La variables internas y de entrada/salida puede se definidas como tablas. El CX-Programmer solamente soporta tablas de una dimensión. Una tabla definida en un variable interna puede tener hasta 32,000 elementos. Una tabla definida en una variable de entrada/salida puede tiene el numero de elementos: Tipo de datos Numero de elementos BOOL 2048 INT / UINT / WORD 2048 DINT / UDINT / DWORD 1024 LINT / ULINT / LWORD 512 23

Elementos de un FB Configurando tablas (Array) Se pueden crear tablas de cualquier tipo de dato, excepto STRING. El índice de la tabla se poner entre corchetes [ ]. Directamente un numero: a[2] (ST y Ladder) Con una variable: a[n] (ST y Ladder) donde n es una variable. Con una expresión: a[b+c] (solo ST) donde b y c son variables. ( la expresión solo puede ser: +, -, * y / ) Una tabla puede configurada con la opción AT. 24

IEC 61131-3 ( Programación de FB ) Restricciones

Restricciones En Parámetros de entrada. La direcciones no pueden ser usadas directamente como parámetro de una FB. Si se pone una dirección, será tratada como un nombre de variable. Las direcciones especificadas directamente o indirectamente por registros IR0 al IR15 serán tomadas como variables. Las direcciones especificadas directamente o indirectamente por registros DR0 al DR15 no serán tomadas como variables. Entrada de constantes como parámetros: Ladder: Decimales &10 Hex #10 ST: Decimales 10 Hex 16#10 26

Restricciones Instrucciones No permitidas en Programas Ladder Instrucciones de programación de bloques. Instrucciones de subrutinas (SBS, GSBS, RET, MCRO, SBN, GSBN y GRET). Instrucciones de saltos (JMP, CJP, CJPN y JME). Instrucciones de pasos ( STEP, SNXT ). Instrucciones de refresco inmediato (! ). Instrucción de refresco de E/S (IORF). Instrucciones TIMER ( TMHH y TMHHX ) (excepto en las CPUs CJ1H-R). Instrucción FPD (Detección de punto de fallo). Instrucción MOVRW (Mover PV de Timer/Contador a Registro). 27

Restricciones En programas Ladder Restricciones de configuración AT: No se pueden entradas de direcciones directas de Registros de índices y Registros de datos. Direccionamientos indirectos de DM y EM. Restricciones para variables de entrada, salida y entrada/salida. No pueden ser usados IR y DR. Direccionamiento indirecto de DM y EM. 28

Elementos de un FB En programas Ladder Direccionamiento directo a memoria de E/S en los operandos de la FB: Direcciones, no variables, pueden ser directamente pasada en registros de índices (IR) (direccionamiento directo y indirecto) y registro de datos (DR). Direccionamiento directo: IR0 a IR15 Direccionamiento indirecto:,ir0 a,ir15 Offset constante: +5,IR0 DR offset: DR0,IR0 Auto incremento: IR0++ Auto decremento: --,IR0 No esta soportado ningún otro direccionamiento directo los operandos de la FB. 29

IEC 61131-3 ( Programación de FB ) Operaciones con FB

Operaciones con FB Operaciones cuando se ejecuta una instancia El sistema llama a una FB cuando la entrada EN de la FB se pone a ON. Cuando la FB es llamada, genera las instancias de la variables y copia el algoritmo registrado en la FB. La instancia es entonces ejecutada. Carga los datos de los parámetros en la variables de entrada. Ejecuta el algoritmo. Escribe los datos de las variables de salida en los parámetros. 31

Operaciones con FB Operaciones cuando NO se ejecuta una instancia Cuando la variable de entrada EN de la FB esta a OFF, la FB no es ejecutada. La variables internas de la instancia no son cargadas (los valores son mantenidos). Cuando EN esta a OFF, las variables de salida no son cargadas. La instrucciones de Timer y de diferenciación no serán inicializadas. 32

Operaciones con FB Instrucciones de diferenciación en FB Instrucciones DIFU, DIFD y cualquier instrucción con el prefijo @ ó %. Mientras que la entrada EN este a OFF la instancia no será ejecutada y las instrucciones no operan. Cuando la entrada EN pasa a ON, la presente estado de la condición de ejecución no podrá ser comparado con el estado del ultimo ciclo. La presente condición de ejecución será comparada con la ultima condición de cuando la entrada EN estaba a ON. Con lo que la instrucción no operara correctamente. Si se utilizan instrucciones de diferenciación, siempre hay que usar el Flag de siempre a ON para la entrada EN e incluir la condición de ejecución de la FB como parámetro de la FB. 33

Operaciones con FB Instrucciones de diferenciación en FB 34

Operaciones con FB Instrucciones Timer en FB Mientras que la variables de entrada EN este a OFF la instancia no será ejecutada. La instrucción timer no será inicializada mientras que EN este a OFF. El flag de timer completado no será puesto a OFF, mientras EN este a OFF y antes de que el timer inicie la operación. Incorrecto Correcto 35

Precauciones en la estructura del programa Incorrecto Correcto No insertar ramas a la izquierda de la instancia Incorrecto Correcto Sólo una instancia por red No interconectar Bloques de Función 36

IEC 61131-3 ( Programación de FB ) Especificaciones

Bloques de Función (Especificaciones) Numero de definiciones de bloques de función Unidades de CPU del CS1-H/CJ1-H: CPU44H/45H/64H/65H/66H/67H/64H-R/65H-R/66H-R/67H-R CPU42H/43H/63H Unidades de CPU del CJ1M 1,024 128 CJ1M-CPU11/12/13/21/22/23 128 Unidades de CPU del CP1H CP1H-XA/X/Y 128 Unidades de CPU del CP1L CP1L-M/L 128 Controladores NSJ Todos los modelos 1,024 38

Bloques de Función (Especificaciones) Unidades de CPU del CS1-H/CJ1-H: Numero de instancias CPU44H/45H/64H/65H/66H/67H/64H-R/65H-R/66H-R/67H-R CPU42H/43H/63H Unidades de CPU del CJ1M 2,048 256 CJ1M-CPU11/12/13/21/22/23 256 Unidades de CPU del CP1H CP1H-XA/X/Y 256 Unidades de CPU del CP1L CP1L-M/L 256 Controladores NSJ Todos los modelos 2,048 39

Bloques de Función (Especificaciones) Nivel de anidación CX-Programmer Ver 5.0 Anidación no soportada. CX-Programmer Ver. 6.0 o superior Soporta hasta 8 niveles de anidación. Numero de parámetros usados en FB Variables de entrada/salida 16 Variables de entrada 64 No incluida EN Variables de salida 64 No incluida ENO Variables internas Ilimitado Variables externas Ilimitado 40

IEC 61131-3 ( Programación de FB ) Edición de FB

Editor de definición de Bloques de Función Editor de Texto Estructurado Editor de Ladder 42

Editor de Bloques de Función Ejemplo de Texto Estructurado Ejemplo de Ladder 43

1 Editor de Bloques de Función Seleccionar un PLC, e Insertar Bloque de Función o 44

Crear un Bloque de Función 2 Insertar una variable (1/2) Seleccionar la cabecera de FB 3 Insertar variables de FB: Insertar -> FB_Variable O botón drcho. del ratón 45

4 5 6 Crear un Bloque de Función Introducir el nombre Seleccionar tipo de dato Seleccionar Uso: Interno Entrada Salida Externa Insertar variable (2/2) 46

Crear un Bloque de Función 7.1 Variables como array Seleccionar uso Interno / Avanzado 7.2 Uso de una variable array 47

Renombrar un Bloque de Función 1. Seleccionar el FB 2. Botón derecho del ratón 3. Elegir nuevo nombre Si existe ya una llamada del FB que se quiere renombrar, aparecerá como aviso el siguiente diálogo. 48

Renombrar una llamada a un Bloque de Función Renombrar el FB en la lista de símbolos 49

Re-utilización Guardar FB en archivo Añadir Bloques de Función desde archivo 50

Online 1/2 Es posible editar contactos, bobinas o instrucciones. Es posible editar los símbolos o direcciones conectados a los terminales de entrada y salida de una llamada de FB. Es posible borrar la llamada de FB durante la edición online. Es posible añadir una nueva llamada de FB si la instancia de FB ya existe. No es posible borrar un instancia de FB si existen llamadas de FB. No es posible añadir una nueva instancia de FB durante la edición online. Es posible editar dentro del FB. 51

Online 2/2 Monitorización Flujo de alimentación Variables internas. 52

Administrador de Mem. Asignación de Memoria FB 54

Administrador de Mem. Estadísticas de Memoria FB 55

Gracias por la atención!!! Antonio Cambronero Berlanga Product Engineer Omron Electronics Iberia, S.A.