Otros Lenguajes de Programación



Documentos relacionados
Lección 24: Lenguaje algebraico y sustituciones

Curso sobre Controladores Lógicos Programables (PLC).

Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A)

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

ESTRUCTURAS CONDICIONALES EN PHP: SWITCH, CASE, BREAK. EJEMPLOS DE USO Y EJERCICIOS RESUELTOS. (CU00820B)

Práctica 5: Programación Estructurada

Modulo 1 El lenguaje Java

Unidad 5 Utilización de Excel para la solución de problemas de programación lineal

Software para Seguimiento de Clientes. Descripción del Producto

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Curso sobre Controladores Lógicos Programables (PLC).

SIIT SISTEMA INFORMÁTICO DE INSPECCIONES DE TRABAJO. Modulo de Planificación Manual de Usuario

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

PLC CONTROLADOR LOGICO PROGRAMABLE

QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D)

Definir columnas de estilo periodístico

Manual de usuario. Modulo Configurador V.1.0.1

Capítulo 4 Procesos con estructuras de repetición

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

La ventana de Microsoft Excel

Módulo mod_banners para insertar y visualizar anuncios o publicidad (banners) en Joomla. Contador. (CU00446A)

Los estados financieros proporcionan a sus usuarios información útil para la toma de decisiones

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

Matemáticas para la Computación

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

MATERIAL 2 EXCEL 2007

Xerox 700 Digital Color Press con Integrated Fiery Color Server. Impresión de datos variables

Ingeniería de Software I

Centro de Capacitación en Informática

El palacio de la Alhambra: La primera expansión. El favor de los visires

4. METODOLOGÍA. 4.1 Materiales Equipo

Elementos de Microsoft Word

PLAN DE MÉTRICAS EN OCHO PASOS

Montos y Plazos Créditos por Distribuidores

Centro de Capacitación en Informática

Manual etime para supervisores

Manual de usuario Sucursal Virtual

El rincón de los problemas

Tabla de contenido. Manual B1 Time Task

Bloques Repetitivos: Iteración

Semana 3: Entorno de programación CX Programmer

CAPITULO 1 INTRODUCCIÓN. Puesta en Evidencia de un circulo virtuoso creado por los SRI entre los Mercados Financieros y las Empresas

Capítulo 1. Introducción

OBTENER DATOS EXTERNOS

2.1 Planificación del Alcance

Ejercicio 1. Desarrollar un pequeño juego para practicar mecanografía.

Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Instructivo de Microsoft Excel 2003

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco?

1 La Resolución de Problemas utilizando la Computadora

Guía para realizar trabajos universitarios

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

ALMACEN 1. En el ejemplo se muestra al proveedor 1, que realiza la fase 40. Automáticamente se creó el almacén P1.

Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali

El proceso de edición digital en Artelope y CTCE

MATEMÁTICAS CON LA HOJA DE CÁLCULO

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

2. Doctores 2.1. Dar de alta un doctor 2.2. Buscar un doctor 2.3. Editar un doctor 2.4. Borrar un doctor

SIMULADOR DE REDES DE PETRI ASINCRONICAS

Vamos a ver las dos formas básicas de arrancar PowerPoint.

Profesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof.

EXTRACTO Descripción del uso y manejo de SIRAIS 1.2

PROGRAMACIÓN ORIENTADA A OBJETOS

CLASE # 5 TÉCNICAS DE CAJA BLANCA

REGISTRO CIVIL MANUAL DE USUARIO

3º Grado Educación Infantil Bilingüe Números. Método Singapur y F. Bravo E R

4 Teoría de diseño de Experimentos

Inter American Accreditation Cooperation. Grupo de prácticas de auditoría de acreditación Directriz sobre:

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Tienda Virtual Synergy (Parte 2)

ÍNDICE 2. DIRECCIONES DE INTERÉS SOBRE TELETRABAJO Y DISCAPACIDAD BIBLIOGRAFÍA...

Guía Corta: Alcance y Asociaciones. 1. Preliminares: Nombres y Asociaciones

Instrucciones para la familiarización de los alumnos con el instrumento de evaluación de EECL (ES)

CAPÍTULO I: UNA PRESENTACIÓN EN POCOS MINUTOS

Menús. Gestor de Menús

Figura 4.1 Clasificación de los lenguajes de bases de datos

Teclado sobre una PDA para Personas con Parálisis Cerebral

Análisis y gestión de riesgo

Para obtener una cuenta de padre

MANUAL DE USUARIO. Sistema de Administración de Proyectos de Vinculación con la Colectividad (SAPVC) MANUAL DE USUARIO DOCENTE

MACROS Y FORMULARIOS

SISTEMA ETAP en línea Estándares Tecnológicos para la Administración Pública

Proceso Transaccional

Hoja1!C4. Hoja1!$C$4. Fila

Guía para la elaboración de Proyectos de Formación Sindical Ambiental e Investigación en Trabajo y Desarrollo Sustentable

INTRODUCCION A LA PROGRAMACION DE PLC

Señal de petición de Interrupción

Capítulo 5: Pruebas y evaluación del sistema. A continuación se muestran una serie de pruebas propuestas para evaluar varias

2.1 Funcionamiento del MPLS

REGLAMENTO DEL AJEDREZ. Tablero cuadrado 8x8 de 64 casillas con colores alternados (típicamente blanco y negro).

Líneas de espera. Introducción.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

FIVB BEACH VOLLEYBALL WORLD TOUR PROTOCOLO DE EQUIPO NO PRESENTADO Y EQUIPO INCOMPLETO 2006

UF0320: Aplicaciones informáticas de tratamiento de textos

Pipelining o Segmentación de Instrucciones

Transcripción:

Curso sobre Controladores Lógicos Programables (PLC). Por Ing. Norberto Molinari. Entrega Nº 15. Capitulo 4 Otros Lenguajes de Programación Introducción Existen además de los lenguajes antes mencionados ( Ladder y Lista de Instrucciones), otros que en menor ó mayor grado también son muy adecuados cuando trabajamos como ser con equipos de origen Alemán ó Francés, estos son el lenguaje STL y el GRAFCET, aquí daremos una breve descripción de estos dos lenguajes de programación. Estructura del Programa STL El lenguaje STL le permite al programador resolver tareas de control usando expresiones sencillas en Inglés, las que describen la operación deseada del controlador. La naturaleza modular del lenguaje permite al programador resolver tareas complejas de una manera eficiente. El lenguaje STL como se describe aquí se aplica a los controladores de Festo Modelos FPC100 B / AF, FPC405, FEC, IPC y SF03. La información contenida en este documento se corresponde con el lenguaje STL Según la implementación del FST Software Versión 3.X. Los programas en Statement List están construidos usando diferentes elementos importantes. No es necesaria la totalidad de estos elementos, siendo además importante la forma en que esos elementos son combinados ya que influyen de modo importante en la operación del programa.

Jerarquía de los Elementos STL PROGRAM STEP SENTENCE CONDITIONAL PART EXECUTIVE PART Instrucción Step Aunque el uso de la instrucción STEP (Paso) es opcional, la mayoría de los programas requieren su uso. La instrucción STEP se utiliza para marcar el comienzo de un bloque lógico de código de programa. Cada programa STL puede contener hasta 255 STEPS discretos, pudiendo cada uno de estos STEP incluir una o más Sentences (o enunciados). Cada Step puede tener asignada una etiqueta (label), esto es a voluntad del programador, y puede ser requerida para referencia futura del Step. Un Label para un Step solo es requerido si el Step respectivo será asignado como destino por una instrucción de salto (Jump). Más adelante, después de la introducción de Sentences se presenta una descripción más detallada de Step Sentences ô Sentencias La Sentence (Sentencia: oración o enunciado) forma el nivel más básico de la organización del programa. Cada Sentence consiste en una Parte Condicional y una Parte Ejecutiva. La Parte Condicional sirve para enumerar una o más condiciones que deben evaluarse cuando el programa está corriendo y que pueden ser ciertas o falsas. La parte Condicional siempre comienza con la expresión lf y continúa con uno o más enunciados que describen las condiciones a ser evaluadas. Si las condiciones programadas son evaluadas como true (verdaderas), entonces cualquier instrucción programada en la parte Ejecutiva será cumplida. El comienzo de la parte Ejecutiva está marcado por la expresión THEN. Sentencias Típicas El siguiente capitulo presenta varias sentencias típicas en STL sin el uso de la instrucción Step.

IF I1.0 Si lnput 1.0 está activa THEN SETO1.2 entonces conmutar a si Output 1.2 IF N I2.0 Si lnput 2.0 NO está activa THEN SET O2.3 entonces conmutar a si Output 2.3 IF I6.0 Si Input 6.0 está activa AND N I2.1 y la Input 2.1 no está activa AND O3.1 y la Output 3.1 está activa THEN RESET O2.1 entonces apagar Output 2.1 RESET T6 y reset Timer 6 En el ultimo ejemplo, se ha introducido el principio de condiciones compuestas. Es decir, todas las condiciones establecidas en la sentencia deben cumplirse (ser verdaderas) para que las acciones después de la expresión THEN sean ejecutadas. Más Ejemplos IF I3.2 Si Input 3.2 está Activa ORN T6 o Timer 6 NO está corriendo THEN INC CW1 entonces incrementar Counter1 SET T4 y arrancar Timer 4 con parámetros preexistentes Este ejemplo muestra el uso de la estructura OR en la parte condicional de una sentencia. Por lo tanto, la sentencia será evaluada como verdadera (y se incrementará el Contador 1 y se arrancará el Timer 4) si alguna o ambas de las condiciones establecidas son ciertas. La próxima sentencia introduce el uso de paréntesis en la parte condicional para establecer la forma en que las condiciones son evaluadas. IF (11.1 Si lnput 1.1 está Activa Y AND T4 ) Timer 4 está corriendo OR (I1.3 O si lnput 1.3 está Activa AND I1.2 ) e Input 1.2 está Activa Hemos usado la instrucción OR para combinar por medio del paréntesis dos condiciones compuestas. Los ejemplos previos se han introducido para mostrar el uso de sentencias en el Lenguaje Statement List. Es posible crear programas enteros que consistan solo en múltiples sentencias sin usar la instrucción STEP.

A los programas construidos de esta forma se les llaman programas paralelos. Estos programas se comportan casi de la misma forma que los programas en el Lenguaje Ladder Diagram. Esto es sin usar la instrucción Step. Para que estos programas puedan funcionar y ser procesados continuamente, es necesario agregar la instrucción PSE Comparación con el Ladder Diagram Para quienes están familiarizados con el Lenguaje Ladder Diagram, puede decirse que hay gran similitud entre una sentencia STL y una rama en Ladder Diagram. Por ejemplo, una rama en Ladder Diagram para activar una salida (ponerla a ON) siempre que la entrada esté activa, y apagarla (OFF) cuando la entrada esté inactiva seria de la siguiente forma Fig. 4.1 Mientras que la sentencia equivalente STL seria: IF I1.0 Si lnput 1.0 está activa THEN SET 02.6 entonces conmutar a si Output 2.6 PSE fin de programa OTHRW RESET 02.6 de otra forma apagar Output 2.6 PSE fin de programa Se verá la inclusión de la instrucción OTHRW en este ejemplo. El lenguaje STL requiere instrucciones explícitas para alterar el estado de cualquier operando (por Ej. Output, Timer, Counter). La instrucción PSE se coloca al final de la sección del programa paralelo para forzar al programa a ejecutarse continuamente retornando a la primera sentencia del Step corriente o a la primera sentencia del programa si no hubiera Steps..

Instrucción Step Los programas que no usan la instrucción STEP son procesados en forma paralela (barrido).aunque este tipo de programa puede ser apto para resolver cierto tipo de tareas de control, el lenguaje STL provee la instrucción STEP. Esta instrucción permite que los programas sean divididos en secciones discretas (STEPS) que serán ejecutadas independientemente. En su forma más simple un STEP, incluye al menos una sentencia y toma la siguiente forma: STEP (label) IF I1.0 Si la lnput 1.0 es Activa THEN SET 02.4 entonces activar Output 2.4 y proceder al próximo step Es importante comprender que el programa esperará en este Step hasta que las condiciones sean ciertas, en ese momento las acciones serán ejecutadas y entonces, sólo entonces, el programa seguirá al próximo Step. La etiqueta (label) del Step solo es requerida si un Step será el destino de una instrucción de salto (JUMP) Debe notarse que cuando el software FST carga los programas STL en el PLC, asigna números relativos de Step a cada uno de estos. Estos números son reproducidos en los listados de programas, siendo de gran ayuda para monitorear la ejecución de programas On-Line con propósito de búsqueda de fallas (debugging). Los Step de un programa, pueden, incluir múltiples sentencias: STEP IF I2.2 Si lnput 2.2 es Activa THEN SET 04.4 Conmutar a activa Output 4.4 IF I1.6 Si Input 1.6 es Active THEN RESET 02.5 Apagar Output 2.5 SET 03.3 y activar Output 3.3 En el ejemplo previo, se ha introducido el concepto de múltiples Sentencias dentro de un Step único. Cuando el programa alcanza este Step, procesará la primera sentencia (en este caso en panicular activando la salida Output 4.4 si la entrada lnput 2.2 está activa) y luego se moverá a la segunda sentencia sin importar si las condiciones de la primera sentencia fueron verdaderas. Cuando la última (en este caso la segunda) sentencia de un Step es Procesada, si la parte Condicional es verdadera, entonces la parte Ejecutiva será llevada a cabo y el programa procederá al próximo Step.

Si la parte Condicional de la última sentencia es no verdadera, entonces el programa retornará a la primera sentencia del Step actual. Nota: Es importante comprender al desarrollar programas o Steps que contengan múltiples Sentencias, que estas serán procesadas en forma paralela (barrido); que cada vez que la parte Condicional de una Sentencia sea evaluada como verdadera, las instrucciones programadas en la parte Ejecutiva serán Ejecutadas. Esto debe ser considerado para evitar ejecución múltiple descontrolada tales como SET TIMER (arrancar un timer) o INC / DEC counter (incrementar / decrementar un contador). El lenguaje STL no usa condiciones de 'disparo por flancos', las condiciones se evalúan por verdadero o falso sin importar el estado previo. Esta situación es fácilmente manejada usando Steps, Flags u otro medio de control. Reglas de Ejecución Las siguientes líneas pueden aplicarse como guía para determinar como los Steps y las sentencias serán procesados por el PLC: Si las Condiciones de una Sentencia se cumplen, entonces las Acciones programadas serán Ejecutadas. Si las Condiciones de la última (o única) sentencia dentro de un Step se cumplen, entonces las Acciones programadas serán Ejecutadas y el programa procederá al próximo Step. Si las Condiciones de una Sentencia no se cumplen, entonces el programa se moverá a la Sentencia siguiente en el Step actual. Si las Condiciones de la última (o única) sentencia dentro de un Step no se cumplen, entonces el programa retornará a la primera sentencia del Step actual. La siguiente figura ilustra la estructura de proceso de un step STL. Usando varias combinaciones de Steps con una o varias Sentencias, el lenguaje STL brinda un amplio rango de posibilidades para resolver las más complejas tareas

Fig. 4.2 Modificando el Flujo del Programa Además de las estructuras de control inherentes dentro de la instrucción Step, hay varias instrucciones adicionales STL disponibles para modificar el criterio de ejecución de los Steps y Sentencias del programa. Instrucción NOP La instrucción NOP puede usarse en la parte Condicional o en la Ejecutiva de una sentencia. Si es usada NOP en la parte Condicional, siempre es evaluada como verdadera. La instrucción NOP puede usarse para la ejecución incondicional de una sentencia.

IF NOP THEN SET O1.0 esto siempre es verdadero entonces Output 1.0 será siempre activada cuando el programa ejecute esta línea. El uso típico puede verse en el ejemplo siguiente. El programador desea que cuando la ejecución del programa llegue al Step 50, se verifiquen determinadas condiciones, y en caso de ser estas verdaderas se ejecuten las acciones apropiadas. Sin embargo, sin importar si alguna de las condiciones se cumplen, después de pasar exactamente una vez el programa encenderá la Output 3.6 y procederá al próximo Step esto es porque hemos forzado la última sentencia a ser verdadera mediante la instrucción NOP STEP 50 IF I1.0 Si lnput 1.0 es Activa THEN SET 02.2 entonces activar Output 2.2 IF N I3.5 Si Input 3.5 Ni es Activa AND I4.4 e lnput 4.4 es Activa THEN RESET O1.2 entonces apagar Output 1.2 IF T3 Si Timer 3 está corriendo THEN SET F0.0 entonces set Flag 0.0 IF NOP En cualquiera de los casos nos aseguramos que la ULTIMA sentencia sea SIEMPRE verdadera. La instrucción NOP puede usarse en la parte Ejecutiva de una sentencia. Cuando se la usa de esta forma, un NOP es equivalente a 'hacer nada'. Se usa a menudo cuando el programa debe esperar por ciertas condiciones y luego proceder al próximo Step. IF I3.2 THEN NOP THEN SET 03.6 si lnput 3.2 es Activa no hacer nada e ir al próximo step encender Output 3.6, salir de este Step e ir al próximo Step.

Instrucción JUMP Otra instrucción STL que puede usarse para modificar el flujo de ejecución del programa es la instrucción JMP. La instrucción JMP permite al programa ramificarse. Modificando el ejemplo previo es posible consultar las condiciones de cada sentencia y si se cumplen ejecutar la acción programada y luego saltar (JUMP) al Step designado del programa. STEP 50 IF I1.0 Si lnput 1.0 es Activa THEN SET O2.2 encenderoutput2.2 JMP TO 70 y saltar a Step label 70 IF N I3.5 Si lnput 3.5 NO es Activa AND I4.4 e lnput 4.4 es Activa THEN RESET O1.2 apagar Output 1.2 JMPTO 6 y saltar a Step label 6 IF T3 si Timer 3 está corriendo THEN SET F0.0 entonces set Flag 0.0 IF NOP Siempre verdadero, luego... THEN SET 03.6 encender Output 3.6 e ir al próximo paso. Puede verse que no solamente hemos alterado el flujo del programa, sino que además hemos establecido prioridades entre las sentencias. Por ejemplo, las sentencias 2, 3 y 4 solamente tendrán la posibilidad a ser procesadas si la sentencia 1 es falsa y por lo tanto no ejecutada; si la sentencia 1 se ejecuta, el programa saltará (Jump) al Step 70 sin haber procesado ninguna de las sentencias siguientes en el Step 50. Instrucción OTHRW La instrucción OTHRW (otherwise - traducido: por otra parte/sino-) puede cambiar el flujo del programa. Esta instrucción se ejecuta cuando la última cláusula IF encontrada es evaluada como (not true) no valida. IF I2.0 Si lnput 2.0 es Activa THEN SET 03.3 encender Output 3.3 OTHRW SET 04.5 sino encender Output 4.5

Fig. 4.3 Sumario de Instrucciones STL El lenguaje STL tiene las siguientes instrucciones que permiten resolver en forma rápida y sencilla tareas de control simples y complejas..

Fig. 4.4

Fig. 4.5

Continuará... Nota de Radacción: El lector puede descargar el curso capítulo a capítulo desde la sección Artículos Técnico dentro del sitio de EduDevices (www.edudevices.com.ar )