control de variables por medio de plc.148.206.53.84/tesiuami/uami10383.pdf · el paso siguiente...

120
UNIVERSIDAD AUTÓNOMA METROPOLITANA IZTAPALAPA CONTROL DE VARIABLES POR MEDIO DE PLC. Alumnos: Ortiz Romero Juan Manuel. 96219208 Huerta Ayala Alfredo Carlos Muñoz González Saúl Asesor: Victor Hugo Téllez Arrieta “Si puedes soñarlo... ...puedes hacerlo” Mayo 2003

Upload: truongdang

Post on 13-Oct-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

  • UNIVERSIDAD AUTNOMA

    METROPOLITANA

    IZTAPALAPA

    CONTROL DE VARIABLES POR MEDIO DE PLC.

    Alumnos: Ortiz Romero Juan Manuel. 96219208 Huerta Ayala Alfredo Carlos

    Muoz Gonzlez Sal

    Asesor: Victor Hugo Tllez Arrieta

    Si puedes soarlo......puedes hacerlo

    Mayo 2003

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - I -

    CONTROL DE VARIABLES POR MEDIO DE PLC.

    Durante el proyecto de ingeniera electrnica, en el primer perodo, se trabajo con el aprendizaje

    del software, para el control del PLC, as como su manejo; se realizaron varias practicas,

    comenzando con la programacin, planteando algunos problemas, para despus darle solucin, y

    comprobando su desempeo fsicamente con el PLC, proporcionado por el profesor.

    Durante el segundo periodo del proyecto de ingeniera electrnica, el trabajo realizado, se baso

    principalmente en el conocimiento del manejo de la comunicacin PLC-PC, mediante Sockets,

    para de esta forma pasar a la practica y desarrollar un programa, que realizara una simulacin de

    la transmisin de datos entre el PLC y la PC.

    El paso siguiente seria el realizar la interfaz grafica y lograr la interaccin entre el software y el

    PLC, para tener el control de diferentes variables, por ejemplo la apertura y cierre de puertas y

    ventanas, como un sistema de seguridad y control, con el propsito final de implementarlo en el

    edificio A-T, principalmente en el rea de laboratorios.

    El trabajo realizado, se muestra en 3 captulos, ubicados de la siguiente forma:

    Captulo 1: Primer periodo del Proyecto.

    Captulo 2: Segundo periodo del Proyecto.

    Captulo 3: La parte de conclusiones dada por el equipo en la segunda parte del proyecto.

    Esperamos sea un trabajo interesante e importante para las siguientes generaciones.

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - II -

    CAPITULO 1

    INTRODUCCIN AL CONTROL INDUSTRIALAntecedentes HistricosTopologa de los sistemas de controlTipos de sistemas de control

    CLASIFICACIN DE LOS SISTEMAS DE CONTROL SEGN LATECNOLOGA

    Autmata programableControl por ordenadorArquitectura de los autmatas programables

    INTRODUCCIN A LOS AUTMATAS PROGRAMABLESEstructura externaClasificacinBloques que forman un autmata programableMemorias internasConvertidor A / DConvertidor D / AOtras variables que se almacenan en la memoria interna:Memorias de programaInterfaces de entrada y salidaFuente de Alimentacin

    PROGRAMACIN DE AUTMATASIntroduccin a la programacin del autmata

    Definicin del sistema de control Descripciones literales Funciones algebraicas Esquemas de rels Diagramas lgicos Diagramas de flujo Grafcet Definir las variables que intervienen y asignarles direcciones de memoria

    Lenguajes de programacin Lista de instrucciones Diagramas de contactos y funciones Lenguajes de alto nivel

    Grafcet Introduccin Smbolos normalizados Reglas de evolucin del Grafcet

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - III -

    Posibilidades de representacin de automatismos con Grafcet Estructuras base Estructuras lgicas Ejemplo Implementacin del Grafcet sobre autmatas programables Niveles de Grafcet Representacin de situaciones especiales en Grafcet Secuencias exclusivas Temporizadores y contadores en Grafcet

    Marchas de intervencinMarchas de ajuste del sistemaSeguridadTratamiento de alarmas y emergenciasDiseo estructurado de un sistema de control.

    CAPITULO 2

    COMUNICACIONES EN REDSockets

    Sockets Stream (TCP) Sockets Datagrama (UDP) Sockets Raw

    PROGRAMACIN DE SOCKETS Programacin de URL

    LA CLASE INETADDRESSLA CLASE URLLA CLASE URLCONNECTIONLA CLASE SOCKET

    Cliente Eco Cliente Fecha Cliente HTTP

    LA CLASE DE SERVERSOCKET Agente de seguridad Servidor Eco Servidor HTTP

    LA CLASE DATAGRAMPACKETLA CLASE DATAGRAMSOCKET

    Cliente Eco Servidor UDP

    CAPITULO 3

    CONCLUSIONES

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - IV -

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 1 -

    CAPITULO 1

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 2 -

    Introduccin al Control Industrial

    Se puede definir control como la manipulacin indirecta de las magnitudes de unsistema llamado planta a travs de otro sistema llamado sistema de control.

    Antecedentes Histricos

    Los Primeros sistemas de control se desarrollaron en la Revolucin industrial a finales del sigloXIX y principios del XX.

    Basados en componentes mecnicos y electromagnticos, bsicamenteengranajes, palancas, pequeos motores, rels, contadores y temporizadores.

    El uso de contadores, rels, temporizadores, ... para automatizar tareas fue aumentando a lo largodel tiempo, con lo cual se tuvieron diversos problemas derivados de ello, como:

    Armarios donde se alojaban muy grandes y voluminosos Probabilidad de avera muy alta Localizacin de la avera muy difcil y complicada Stock de material muy importante. Costo econmico muy alto No flexibles

    A partir de los aos 50, se utilizaron semiconductores, y los primeros circuitos integradossustituiran las funciones realizadas por los rels.

    Algunas de estas Mejoras fueron:

    Sistemas de menor tamao y con menor desgaste. Reduca el problema de fiabilidad y de stock.

    El Problema de estos sistemas: Su falta de FLEXIBILIDAD.

    OPERADOR SISTEMA DECONTROL

    PLANTA

    CONSIGNAS SEALES DECONTROLRESPUESTA

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 3 -

    A finales de los aos 60, la industria estaba demandando cada vez ms un sistema econmico,robusto, flexible y fcilmente modificable.

    En 1968 nacieron los primeros autmatas programables (APIs o PLCs).Los primeros PLCs estaban constituidos por memoria cableada y una unidad central diseadapor circuitos integrados.

    A principios de los 70, Los PLCs incorporan el MICROPROCESADOR, los cual los llevo a:

    Ms prestaciones, elementos de comunicacin hombre-mquina ms modernos,manipulacin de datos, clculos matemticos, funciones de comunicacin, etc.

    En la Segunda mitad de los 70 los PLCs tuvieron:

    Ms capacidad de memoria, posibilidad de entradas/salidas remotas, analgicas ynumricas, funciones de control de posicionamiento, aparicin de lenguajes con mayornmero de instrucciones ms potentes y, desarrollo de las comunicaciones conperifricos y ordenadores.

    En la Dcada de los 80 la mejora de las prestaciones se refiere a:

    Velocidad de respuesta, reduccin de las dimensiones, mayor concentracin de nmerode entradas / salidas en los mdulos respectivos, desarrollo de mdulos de controlcontinuo, PID, servocontroladores, y control inteligente, fuzzy

    Mas capacidad de diagnstico en el funcionamiento e incremento en los tipos delenguajes de programacin: desde los lenguajes de contactos, lenguajes de funcioneslgicas, lista de instrucciones basados en nemotcnicos, flujogramas, lenguajesinformticos, Grafcet, etc.

    Debido al desarrollo de la electrnica. Hoy en da hay distintas variedades de autmatas que vandesde:

    Microautmatas y Nanoautmatas que se utilizan en apertura y cierre de puertas,domtica, control de iluminacin, control de riego de jardines, etc.

    Autmatas de gama alta prestaciones de un pequeo ordenadorLa principal virtud de un PLC es su robustez y facilidad de interconexin con el proceso.

    Su tendencia actual es: dotarlo de funciones especficas de control y de canales de comunicacinpara que puedan conectarse entre si y con ordenadores en red. Red de autmatas. CIM

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 4 -

    Estudio preliminar

    Conocer con el mayor detalle posible lascaractersticas, el funcionamiento, las distintasfunciones, etc. De la mquina o proceso aautomatizar.

    Anlisis tcnico y econmicoEspecificaciones tcnicas del automatismo:materiales, aparatos, su adaptacin al sistema, etc.Valoracin econmica

    Toma de la decisin final - Ventajas e inconvenientes - Posibles ampliaciones - Rentabilidad de la inversin - Etc

    Topologa de los sistemas de controlTipos de topologas

    El objetivo de un sistema de control es:

    Gobernar la respuesta de una planta, sin que el operador intervenga directamente sobre suselementos de salida. El operador manipula nicamente las magnitudes de consigna y el sistemade control se encarga de gobernar dicha salida a travs de los accionamientos.

    El sistema de control opera, en general, con magnitudes de baja potencia, llamadasgenricamente seales, y gobierna unos accionamientos que son los que realmente modulan lapotencia entregada a la planta.

    INICIO

    Especificaciones tcnicas del sistema oproceso a automatizar

    Toma de Decisiones

    Lgica ProgramadaLgica Cableada

    FIN

    Eleccin de las opciones tecnolgicasms eficaces

    Evaluacin de las opciones desde elpunto de vista econmico

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 5 -

    Existen dos tipos de topologas: Lazo Abierto Lazo Cerrado

    Lazo Abierto Sistema de control no recibe informacin del comportamiento de la planta.

    Lazo Cerrado Existe una realimentacin a travs de los sensores desde la planta hacia el sistema decontrol.

    Tipos de sistemas de control

    Clasificacin, segn el tipo de seales que interviene en la planta a controlar:

    Sist. Control analgicos. Seales de tipo continuo (0 a 10 V, 4 a 20 mA, etc.)proporcionales a unas determinadas magnitudes fsicas (presin, temperatura, velocidad,etc.)

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 6 -

    Sist. Control Digitales: seales binarias (todo o nada) slo puede representar dos estadoso niveles.

    Sist. Control hbridos analgicos- digitales: Autmatas programables

    La unidad de control esta formada por un microprocesador: Seales digitales de entrada y salida Seales analgicas de entrada previamente convertidas (A/D) Seales analgicas de salida previamente convertidas (D/A)

    Clasificacin de los sistemas de control segn la tecnologa

    Tipos de sistemas de controlCaracterstica a estudiar Programada Lgica Cableada LgicaFlexibilidad Baja AltaPosibilidad de ampliacin Baja AltaTiempo de desarrollo del sistema Mucho Poco

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 7 -

    Mantenimiento Difcil FcilHerramientas de simulacin No SiCoste para pequeas series Alto BajoEstructuracin en bloques independientes Difcil Fcil

    Autmata programable

    Juega el papel de UNIDAD DE CONTROL Incluye total o parcialmente las interfaces con las seales de la planta (niveles de tensin

    e intensidad industriales, transductores y perifricos electrnicos) Programable por el usuario Entradas: seales de consigna y de realimentacin Salidas: seales de control Hardware estndar y modular (mdulos nterconectables, configurar sistema a la medida

    de las necesidades)

    Control por ordenador

    Los Procesos complejos en los sistemas de control cuentan con:

    Gran capacidad de clculo Conexin a estaciones grficas Mltiples canales de comunicacin Facilidad de adaptacin Capacidad multiproceso etc.

    Para ellos se han utilizado mini ordenadores, con interfaces especficas para la planta a controlar. INCONVENIENTE: Es caro y poco estndar

    La frontera entre autmatas de gama alta y los mini ordenadores esta actualmente muy difusa

    Actualmente

    red de autmatas controlados por uno o varios ordenadores, con lo que se consiguecombinar las ventajas de ambos, facilidad de interfaces estndar (autmata) y la potenciade clculo (ordenador).

    El sistema resultante tiene las siguientes caractersticaso Sistema programable con una capacidad de clculo elevadao Interfaces hombre-mquina estndar, proporcionados por el ordenadoro Software estndar para el manejo de datos y gestin de la produccin

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 8 -

    o Posibilidad de control descentralizadoo Sistemas de comunicacin estndar: LAN o WANo Mantenimiento fcilo Interfase con la planta sencillo debido a los autmataso Visualizacin del proceso en tiempo realo Multitud de herramientas para simulacin y mantenimientoo Flexibilidad

    Arquitectura de los autmatas programables

    Introduccin a los autmatas programables Estructura externa del autmata Bloques que forman un autmata programable

    Arquitectura interna de un autmata programable Unidad central de proceso Memoria

    o Memorias internaso Memoria de programa

    Interfaces de entrada salidaFuente de alimentacin

    Introduccin a los autmatas programables

    Un autmata programable es:un equipo electrnico, basado en un microprocesador o microcontrolador, que tienegeneralmente una configuracin modular, puede programarse en lenguaje no informticoy est diseado para controlar procesos en tiempo real y en ambiente agresivo (ambienteindustrial)

    Una caracterstica diferenciadora del autmata programable frente a otros sistemas de controlprogramables est en la estandarizacin de su hardware, que permite la configuracin desistemas de control a medida.

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 9 -

    Estructura externa

    Aspecto fsico exterior del mismo, los bloques en los que esta dividido, etc.

    ClasificacinEstructura compacta

    En un solo bloque todos sus elementos : fuente de alimentacin, CPU, memorias,entrada/salida, etc.Aplicaciones en el que el nmero de entradas/salidas es pequeo, poco variable yconocido a prioricarcasa de carcter estanco, que permite su empleo en ambientes industrialesespecialmente hostiles

    Estructura modularPermite adaptarse a las necesidades del diseo, y a las posteriores actualizaciones.Configuracin del sistema variable

    Funcionamiento parcial del sistema frente a averas localizadas, y una rpida reparacincon la simple sustitucin de los mdulos averiados.

    Estructura modular del autmata S7-224.

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 10 -

    Bloques que forman un autmata programable

    Bloques principales Bloque de entradas

    Adapta y codifica de forma comprensible para la CPU las seales procedentes delos dispositivos de entrada o captadores, como por ejemplo, pulsadores, finales decarrera, sensores, etc.Misin: proteger los circuitos internos del Autmata, proporcionando unaseparacin elctrica entre estos y los captadores.

    Bloque de salidasDecodifica las seales procedentes de la CPU, las amplifica y las enva a losdispositivos de salida o actuadores, como lmparas, rels, contactores,arrancadores, electrovlvulas, etc.

    Unidad central de proceso (CPU)Este bloque es el cerebro del autmataSu funcin es la interpretacin de las instrucciones del programa de usuario y enfuncin de las entradas, activa las salidas deseadas.

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 11 -

    Bloques necesarios para el funcionamiento del autmata

    Fuente de alimentacinA partir de una tensin exterior proporciona las tensiones necesarias para elfuncionamiento de los distintos circuitos electrnicos del autmata.Batera, condensador de alta potencia: para mantener el programa y algunos datosen la memoria si hubiera un corte de la tensin exterior.

    Consola de programacinPC o consolas de programacin

    PerifricosSon aquellos elementos auxiliares, fsicamente independientes del autmata, quese unen al mismo para realizar una funcin especfica y que amplan su campo deaplicacin o facilitan su uso. Como tales no intervienen directamente ni en laelaboracin ni en la ejecucin del programa.

    InterfacesCircuitos o dispositivos electrnicos que permiten la conexin a la Chp. de loselementos perifricos descritos.

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 12 -

    Esquema de la arquitectura interna de un PLC

    Unidad central de proceso (CPU)

    La CPU (Control Processing Unit) es la encargada de ejecutar el programa de usuario y activar elsistema de entradas y salidas

    Tiene la misin, en algunos tipos de autmatas, de controlar la comunicacin con otrosperifricos externos, como son la unidad de programacin, LCDs, monitores, teclados,otros autmatas u otros ordenadores, etc.

    La CPU esta formada por el microprocesador ( P), la memoria y circuitos lgicoscomplementarios

    El microprocesador se sustituye por dispositivos lgicos programables (DLP), o redes depuertas lgicas (gate array), tambin llamados circuitos integrados de aplicacinespecfica ASIC.

    La CPU ejecuta el programa de usuario, que reside en la memoria, adquiriendo las instruccionesuna a una.

    El funcionamiento es de tipo Interpretado, con decodificacin de las instrucciones que cada vezque son ejecutadas

    Unidad central de proceso (CPU)

    Lenguaje compilado vs interpretado Compilado

    programa fuente -> compilacin -> programa objeto -> enlazado linkado ->programa ejecutable

    Interpretado

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 13 -

    analiza y ejecuta un programa sentencia a sentencia

    Bloques fundamentales de una CPU

    ALU (Arithmetic Logic Unit) Acumulador Flags Contador de programa (PC) Decodificadores de instucciones y secuenciador Programa ROM

    Esquema de los bloques fundamentales que componen una CPU

    ALUUnidad aritmtico lgica, es la parte de la CPU donde se realizan los clculos y lasdecisiones lgicas (combinaciones Y, O, sumas, comparaciones, etc.).

    ACUMULADORAlmacena el resultado de la ltima operacin realizada por la ALU

    FLAGSIndicadores de resultado de operacin (mayor que, positivo, negativo, resultado cero,etc.). El estado de estos flags puede ser consultado por el programa.

    CONTADOR DE PROGRAMA (PC)Direccionamiento de la memoria donde se encuentran las instrucciones del programa decontrol, y del cual depende la secuencia de ejecucin de ellas.

    DECODIFICADOR DE INSTRUCCIONES Y SECUENCIADOR

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 14 -

    Cableado y/o programado, donde se codifican las instrucciones ledas en la memoria y segeneran las seales de control pertinentes.

    PROGRAMA ROMEl fabricante suele grabar una serie de programas ejecutables fijos, firmware o softwaredel sistema y es a estos programas a los que acceder el microprocesador para realizar lasfunciones ejecutivas.El software de sistema de cualquier Autmata consta de una serie de funciones bsicasque realiza en determinados tiempos de cada ciclo:

    En el inicio o conexin Durante el ciclo o ejecucin del programa y, A la desconexin.

    PROGRAMA ROMEste software o programa del sistema es ligeramente variable para cada autmata, pero,en general, contiene las siguientes funciones:

    Supervisin y control de tiempo de ciclo (watchdog), tabla de datos, alimentacin,batera, etc.

    Autotest en la conexin y durante la ejecucin del programa. Inicio del ciclo deexploracin de programa y de la configuracin del conjunto.

    Generacin del ciclo base de tiempo. Comunicacin con perifricos y unidad de programacin. Etc.

    Hasta que el programa del sistema no ha ejecutado todas las acciones necesarias que lecorresponden, no se inicia el ciclo de programa de usuario.

    MEMORIA

    DefinicinCualquier tipo de dispositivo que permita almacenar informacin en forma de bits (unosy ceros), los cuales pueden ser ledos posicin a posicin (bit a bit), o por bloques de 8(byte) o diecisis posiciones (word)

    Clasificacin

    RAM (Random Access Memory), memoria de acceso aleatorio o memoria delectura-escritura. Pueden realizar los procesos de lectura y escritura porprocedimientos elctricos. Su informacin desaparece al faltarle la alimentacin.

    ROM (Read Only Memory), o memoria de slo lectura. En estas memorias sepuede leer su contenido, pero no se puede escribir en pila; los

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 15 -

    Memorias de slo lectura, reprogramables, con borrado por ultravioletas, EPROM Memorias de slo lectura, reprogramables, alterables por medios elctricos,

    EEPROM. Tienen un nmero mximo de ciclos de borrado/grabado.

    Memorias internas

    Se almacena el estado de las variables que maneja el autmata entradas, salidas, contadores, relsinternos, seales de estado, etc.

    Clasificacin por el tipo de variables que almacena y el nmero de bits que ocupa la variable:

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 16 -

    Posiciones de 1 bit (bits internos).o Memoria imagen entradas/salidaso Rels internoso Rels especiales/auxiliares

    Posiciones de 8,16 o ms bits (registros internos).o Temporizacioneso Contadoreso Otros registros de uso general

    Las variables contenidas en la memoria interna pueden ser consultadas y modificadascontinuamente por el programa, cualquier nmero de veces. RAM

    Memoria Imagenalmacena las ltimas seales ledas en la entrada y enviadas a la salida, actualizndose tras cadaejecucin completa del programa.

    Ciclo de tratamiento de las seales de entrada/salida a travs de las memorias imagen:

    o Antes de la ejecucin del programa de usuario, la CPU consulta los estados de lasentradas fsicas y carga con ellos la memoria imagen de entradas.

    Durante la ejecucin del programa de usuario, la CPU realiza los clculos a partir de los datos dela memoria imagen y del estado de los temporizadores, contadores y rels internos. El resultadode estos clculos queda depositado en la memoria imagen de salidas.

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 17 -

    o Finalizada la ejecucin, la CPU transfiere a las interfaces de salida los estados de lasseales contenidos en la memoria imagen de salidas, quedando el sistema preparado paracomenzar un nuevo ciclo

    Ciclo real (optimizar)

    Carga en la memoria imagen de entradas de las entrada digitales.

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 18 -

    Carga en la memoria imagen de entradas de las entradas analgicas.

    Esquema de la transferencia de los datos contenidos en la memoria de salidas a las salidasdigitales

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 19 -

    Esquema de la transferencia de los datos contenidos en la memoria de salidas a las salidasanalgicas.

    Convertidor A / D

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 20 -

    Convertidor D / A

    OTRAS VARIABLES QUE SE ALMACENAN EN LA MEMORIAINTERNA:

    rels internos ocupan posiciones RAM de 1 bit, y son utilizados como rea de datostemporales, como salida de resultados de operaciones intermedias, y para controlar otrosbits o registros, temporizadores y contadores.

    rels auxiliares / especiales se guardan en posiciones de 1 bit, y mantienen informacinsobre seales necesarias para el sistema, como relojes, bits de control, flags de estados dela CPU, e informacin sobre el autmata (Run, Stop, Halt, errores, etc.). Estos relspueden consultarse y utilizarse desde el programa usuario.

    rea de temporizadores y contadores ocupa posiciones de 16 bits o ms bits, capaces dealmacenar los valores de preseleccin y estado actualizados de estos elementos.

    Memorias de programa

    Almacena el programa de usuario. Adems puede contener datos alfanumricos y textos variables, y tambin informacin

    parametrizada sobre el sistema, por ejemplo nombre o identificacin del programa

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 21 -

    escrito, indicaciones sobre la configuracin de E/S o sobre la red de autmatas, si existe,etc.

    Cada instruccin del programa de usuario ocupa un paso o direccin del programa y necesitapara ser almacenada dos posiciones de memoria (dos bytes o lo que es lo mismo una palabra(word)).

    MODELOS DE AUTMATAS Memoria central o memoria de programa (memoria para programa y datos)

    SIMATIC S7-200 (1 inst =2. bytes)CPU 210 512 bytes / 185 instrucciones de programaCPU 212 1 Kbytes / 500 instrucciones y 512 palabras

    datosCPU 216 8 Kbytes / 4K instrucciones y 2.5K palabras

    datosCPU 224 8 Kbytes / 4K instrucciones y 2560 palabras

    datosSIMATIC S7-300 (1 inst = 3 bytes)CPU 312 ]FM 6 Kbytes / 2K instruccionesCPU 313 12 Kbytes / 4K instruccionesCPU 316 128 Kbytes / 42K instrucciones

    Memoria de usuario es siempre de tipo permanente RAM + batera o EPROM / EEPROMSecuencia normal de trabajo

    En la fase de desarrollo y depuracin del programa de control se utilizan las memoriasRAM respaldadas por batera

    Una vez se este seguro del funcionamiento correcto del programa se pasa este a lasmemorias no voltiles EPROM o EEPROM. Cartuchos de memoria

    A todas las posiciones de memoria que es capaz de direccionar el autmata se le denomina mapade memoria.

    Depende de varios factores: La capacidad de direccionamiento de la CPU, que determinael nmero de direcciones asignadas a los dispositivos internos. El nmero deentradas/salidas conectadas, que determina la longitud de la memoria imagen de FIS. Lalongitud de la memoria de usuario utilizada.

    Interfaces de entrada y salida

    Misin establecer un puente de comunicacin entre el autmata y el proceso Interfaces de entrada filtran, adaptan y codifican de forma comprensible para la CPU las

    seales procedentes de los elementos de entrada. Las interfaces de salida son las encargadas de decodificar, y amplificar las seales

    generadas durante la ejecucin del programa antes de enviarlas a los elementos de salida.

    En los autmatas pequeos, el tipo de interfaces disponibles suele ser limitado, siendo las msfrecuentes, clasificadas por entradas y salidas:

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 22 -

    EntradasCorriente continua a 24 o 48 Vcc. Corriente alterna a 110 o 220 Vca. Analgicasde 0-10 Vcc o 4-20 mA

    SalidasPor rel. Estticas por triac a 220 Vca mximo. Colector abierto para 24 o 48 Vcc.Analgicas de 0-10 V o 4-20 mA.

    Fuente de Alimentacin

    Misin: Proporcionar las tensiones necesarias pare el funcionamiento de los distintos circuitosdel sistema

    Debido a: Autmatas formados por bloques que requieren niveles de tensin y de potencia

    diferentes Estn en ambientes con un alto contenido en ruido electromagntico.

    Por estos motivos normalmente la alimentacin se obtiene de diferentes fuentes separadas,procurando aislar o independizar las siguientes partes del circuito:

    Unidad central e interfaces E/S (alimentacin autmata). Alimentacin de entradas. Alimentacin de salidas (cargas) de tipo electromagntico.

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 23 -

    La alimentacin de la CPU: Puede ser continua a 24 Vcc o alterna a 110/220 Vca La propia CPU la que alimenta las interfaces conectadas a travs del bus interno.

    La alimentacin de los circuitos de E / S puede realizarse, segn tipos , en alterna a 48/110/220Vca, o en continua a 12/24/48 Vcc.

    Formas de alimentar a un autmata y a sus unidades de expansin de entradas/salidas locales(unidas por el bus interno del autmata), con sus sensores y actuadores:

    Una nica fuente incorporada en el autmata alimenta a la CPU con sus interfaces deentrada y salida y a los sensores y actuadores. A la unidad de expansin le llega latensin a travs del bus interno.

    Varias fuentes de alimentacin diferentes parao La propia del autmatao La auxiliar para alimentacin de E/So Fuente de alimentacin CC para los actuadores de salidao Fuente de alimentacin de CA para los actuadores de salida

    La eleccin de uno u otro sistema de alimentacin depende de los siguientes aspectos: Niveles de potencia necesarios para la aplicacin. Compatibilidad entre la

    tensin auxiliar suministrada por el autmata y las necesarias en el sistemade E/S

    Funcionamiento o no de sensores y cargas a igual tensin de alimentacin Necesidad de aislamiento galvnico en el sistema de E/S

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 24 -

    Programacin de autmatas: Introduccin al Grafcet

    Introduccin a la programacin del autmata Definicin del sistema de control Descripciones literales Funciones algebraicas Esquemas de rels Diagramas lgicos Diagramas de flujo Grafcet

    Definir las variables que intervienen y asignarles direcciones de memoria

    Lenguajes de programacin Lista de instrucciones Diagramas de contactos y funciones Lenguajes de alto nivel

    Grafcet Introduccin Smbolos normalizados Reglas de evolucin del Grafcet Posibilidades de representacin de automatismos con Grafcet Estructuras base

    Estructuras de secuencia nica Estructuras de secuencias paralelas

    Estructuras lgicas Divergencia OR Convergencia OR Divergencia en AND convergencia en AND Saltos condicionales

    Ejemplo Implementacin del Grafcet sobre autmatas programables Niveles de Grafcet Representacin de situaciones especiales en Grafcet Secuencias exclusivas Temporizadores y contadores en Grafcet Programacin de autmatas: Introduccin al Grafcet

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 25 -

    Introduccin a la programacin del autmata

    Sistemas y recursos envueltos en la transferencia de informacin que rodean al autmataIntroduccin a la programacin del autmata

    Podramos dividir la programacin del autmata en varios pasos: Definir el sistema de control (que debe hacer, en que orden, etc.): diagrama de flujo, la descripcin literal o un grafo GRAFCET. Identificar las seales de entrada y salida del autmata. Representar el sistema de control mediante un modelo, indicando todas las funciones que

    intervienen, las relaciones entre ellas, y la secuencia que deben seguir. Algebraica(instrucciones literales) o grfica (smbolos grficos).

    Asignar las direcciones de entrada / salida o internas del autmata a las correspondientesdel modelo.

    Codificar la representacin del modelo. Lenguaje de programacin. Cargar el programa en la memoria del autmata desde la unidad de programacin. Depurar el programa y obtener una copia de seguridad.

    Esquema del desarrollo de un proceso controlado por un autnoma

    INICIO

    Documentacin del proceso:-Memoria de funcionamiento-Planos-Etc.

    Interpretacin del proceso a controlar

    Determinacin de E / S , temporizadores,contadores, etc, necesarios

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 26 -

    Definicin del sistema de control

    Se complementa con otras formas de representacin:Funciones algebraicas Y = (BC + BC) A

    Las funciones algebraicas de cada una de las salidas se obtienen: O bien directamente de la descripcin literal del proceso a controlar O bien se aplican mtodos de sintesis basados en el lgebra de Boole

    (tablas de verdad, Kamaugh, etc.).

    Eleccin del autmata

    Asignacin de E / Stemporizadores, contadores, etc.

    ProgramacinDiagramaLista de instruccionesEtc.

    Esquema elctricoDe potenciaDe proceso

    AutmataPuesta en funcionamiento

    Plano Distribucincomponentes del

    Puesta en modo RUN Esquema de conexionadoE/S al autmata

    Montaje

    Proceso a controlar

    FIN

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 27 -

    Difcil de analizar y sintetizar sistemas secuenciales. Limitado a la representacin decombinaciones de variables independientes del tiempo (condiciones de alarma,operaciones aritmticas con variables analgicas, etc.)

    Esquemas de relsOrigen: en la representaciones electromecnicas de sistemas de mando

    Esquemas de rels

    Es una representacin de sistemas sencillos: seales lgicas binarias todo - nada (digitales), obloques secuenciales predefinidos, como temporizadores y contadores.

    Deficiencias en cuanto a la representacin de funciones secuenciales complejas y sobre todo enla manipulacin de seales digitales de varios bits (por ejemplo, las obtenidas de una conversinA/D).

    Utilizado por electricistas o ingenieros con formacin elctrica

    Esquema de rels

    Funcin Lgica:[(X1*X2)+(X4*X5)+Y1]*x3=Y1

    Diagramas lgicos

    Este tipo de representacin del sistema de control se utiliza en la documentacin de lasespecificaciones y representacin de los mismos

    En muy pocos casos los usuarios finales de autmatas utilizan esta representacin

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 28 -

    Diagramas de flujo

    Organigrama y flujograma, es un sistema de representacin que se basa en una serie desmbolos que segn un convenio establecido tienen un determinado significado.

    2 Niveles :Nivel 1:

    o secuencia de acciones a realizaro representar el funcionamiento general del sistema

    Nivel 2:o especificadas las acciones en forma de instruccin: instrucciones entendibles

    directamente por el autmata o en forma de funciones lgicas.

    Grafcet (Graphe de Comande Etape Transition, cuya traduccin literal es Grfico de OrdenEtapa Transicin)

    Es una secuencia de etapas que tienen asociadas unas determinadas acciones a realizar sobre elproceso junto con las condiciones o transiciones que provocan que se produzca el paso de unaetapa a otra

    Una de las mejores herramientas para representar automatismos secuenciales

    INICIOFIN ACCIONES

    TOMA DEDECISION

    NO

    SI

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 29 -

    Definir las variables que intervienen y asignarles direcciones de memoria

    Con los mtodos anteriores: Descripcin funcional del sistema de control Fijadas las entradas y salidas que tendrn nombres simblicos

    Ejemplo:

    Control de una puerta corredera accionada por medio de un motor. El contador S1 produce laapertura de la puerta, el contador S2 controla el cierre de la puerta. El interruptor E3 de finalde carrera se activa cuando la puerta esta abierta, y el interruptor E2 de fin de carrera se activacuando la puerta esta cerrada. La puerta se abre al aplicar una determinada presin sobreun sensor de paso de vehculos El situado enfrente de la puerta. Si el sensor El no se activa, lapuerta se cierra despus de transcurridos 10 segundos. Si se activa El, se cierra el contador S2 yse mantiene cerrado hasta que el interruptor E3 de final de carrera desactive el contador S2.Cuando se esta abriendo la puerta, o bien cuando una vez abierta haya detectado un vehculocon el sensor El, el temporizador TI no se activa. Si no se dan estas circunstancias y la puertaesta abierta E3 activado, se activa el tempo rizador Tl, y transcurridos 10 segundos, la puerta secierra mediante el contador S1 por el temporizador TI. La accin de cerrar se produce hastaque o bien se detecta fin de carrera E2 o bien se detecta otro vehculo mediante la activacin deEl en cuyo caso se abre la puerta activando para ello el contador S2.

    Las lmparas LED1 y LED2 indican cuando se est cerrando o abriendo la puertarespectivamente.

    Tabla de asignacin de variablesTipo Termino Smbolo Descripcin

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 30 -

    El VEHCULO Sensor presenciavehculo

    E2 CERRADA Limite pueda cerrada

    Entradas

    E3 ABIERTA Limite puerta abierta

    S1 CERRAR Contador cerrar

    S2 ABRIR Contador abrir

    LED1 LEDCER Lmpara puertacerrndose

    Salidas

    LED2 LEDABI Lmpara puertaabrindose

    Temporizador T1 TIEMPO Temporizador 10 seg

    Posteriormente se asignan las direcciones fsicas a estas variables

    Tipo Termino Smbolo DireccinE1 VEHICULO I0.0E2 CERRADA I0.1

    Entradas

    E3 ABIERTA I0.2S1 CERRAR Q0.0S2 ABRIR Q0.1LED1 LEDCER Q0.2

    Salidas

    LED2 LEDABI Q0.3Temporizador T1 TIEMPO T5

    Adems de estas variables: necesitare un contador que cuente los periodos de temporizacin. Enlas tablas anteriores este contador no se ha tenido en consideracin.

    Lenguajes de programacin

    Conjunto de instrucciones y/o smbolos que estn disponibles para escribir el programa, sedenomina lenguaje de programacin

    Tipo Lenguajes de ProgramacinAlgebraicos Lenguajes Bolanos

    Lista de InstruccionesLenguajes de alto nivel

    Grficos Diagrama de contactos

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 31 -

    Diagrama de FuncionesInterprete Grafcet

    Si unidad de programacin acepta directamente la representacin del Sist. de control, se carga enla CPU. Si no hay que traducirla al lenguaje de programacin pertinente.

    Lista de instrucciones

    Es un lenguaje booleano al cual se le ha aadido una serie de instrucciones que permiten lamanipulacin de datos y variables digitales y gestin del programa.

    Y=(BC+BC)A

    Diagrama de contactos. Diagrama de funciones

    Es un lenguaje grfico procedente del lenguaje de rels que en base smbolos que representancontactos, bloques funcionales, etc. codifican la secuencia de control.

    Diagrama de funciones: deriva de la representacin lgica utilizada por los tcnicos enelectrnica digital

    Lenguajes de alto nivel

    Lista de instrucciones, diagramas de contactos, ... Insuficientes para programar aplicacionescomplejas para autmatas de gama media y alta.

    Herramientas de ingeniera: S7-SCL: lenguaje de alto nivel que se asemeja al Pascal

    LD BAN CLDN BA COLDA A= Y

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 32 -

    M7-ProC/C++: Entorno Borland C/C++ y depurador multitarea.

    Casi todos los fabricantes de autmatas este tipo de herramientas que permiten programar enBasic, C, Pascal, Fortran, etc. mediante el uso de los interpretes o compiladores respectivos.Estas herramientas permiten resolver tareas de clculo cientfico de alta resolucin,clasificaciones y tratamiento de datos, estadsticas, etc., con acceso a subrutinas especficas delenguajes informticos.

    GrafcetIntroduccin

    El Grafcet es un mtodo grfico de modelado de sistemas de control secuenciales

    Surgi en Francia a mediados de los aos 70, y fue creado por una agrupacin de algunosfabricantes de autmatas, en concreto Telemecanique y Aper, junto con dos organismosoficiales, AFCET (Asociacin Francesa para la Ciberntica, Economa y Tcnica y ADEPA(Agencia Nacional para el Desarrollo de la Produccin Automatizada).

    Fue homologado en Francia (NFC), Alemania (DIN), y con posterioridad por la ComisinElectrotecnia Internacional ( IEC 848, en 1998).

    Describe la evolucin de un proceso que se pretende controlar, indicando las acciones que hayque realizar sobre dicho proceso que informaciones provocan el realizar una u otra accin

    Smbolos normalizados

    Etapas La evolucin de un proceso representada mediante un grfico Grafcet, esta formada por

    una sucesin de etapas que representan cada uno de sus estados, llevando cada una deellas asociada una o varias acciones a realizar sobre el proceso.

    Las etapas se representan con un cuadro y un nmero o smbolo con un subndicenumrico en su interior, en ambos casos el nmero indica el orden que ocupa la etapadentro del Grafcet

    Las etapas iniciales, aquellas en las que se posiciona el sistema al iniciarse el proceso, serepresentan con un cuadro doble.

    Accin asociada Son una o varias acciones a realizar sobre el proceso, cuando la etapa de la cual dependen

    dichas acciones se encuentra activada. Dichas acciones correspondientes a una etapa, se simbolizan mediante rectngulos

    conectados y situados a la derecha de dicha etapa. En el interior de estos rectngulos seindica, bien de forma literal, bien de forma simblica, las acciones a realizar.

    En una primera clasificacin se puede dividir las acciones en dos tipos: Incondicionales: acciones que se ejecutan con solo quedar activadas las etapas

    correspondientes.

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 33 -

    Condicionales : son las acciones que necesitan el cumplimiento de una condicin ademsde la propia activacin de la etapa correspondiente.

    Clasificar las acciones en: Internas : acciones que se producen en el equipo de control, por ejemplo

    temporizaciones, contadores, clculos matemticos, etc. Externas : las acciones que se producen sobre el proceso, por ejemplo abrir o cerrar una

    vlvula, activar o desactivar una bomba, etc.

    Transicin y Condicin de transicin En el diagrama Grafcet, un proceso se compone de una serie de etapas secuenciales que

    se activan una tras otra unidas mediante una transicin. El paso de una etapa a la siguiente se realiza dependiendo de si se cumple o no la

    condicin de transicin entre ellas.

    Toda transicin lleva asociada una condicin de transicin o funcin lgica booleana que sedenomina receptividad, y que puede ser verdadera o falsa.

    Se dice que la transicin est validada, cuando la etapa o etapas anteriores a la transicin estnactivadas. El franqueamiento de la transicin se producir si, y slo si, la transicin esta validaday la receptividad es verdadera.

    Arco Es el segmento de recta que una transicin (con su condicin de transicin) con una etapa

    y viceversa, pero nunca dos elemento iguales entre s. Los arcos pueden ser o verticales uhorizontales, adems los arcos verticales deben llevar una flecha indicando su sentido enel caso de ser este ascendente

    Reglas de evolucin del GrafcetReglas

    La etapa inicial de un Grafcet se activan de forma incondicional. Esta situacin inicial secorresponde en general con una situacin de reposo.

    Activar Motor 2A

    Activar Motor 11

    Activar Motor 11

    Activar Motor 22

    Condicin de transicin

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 34 -

    Una transicin esta en disposicin de ser validada cuando todas las etapasinmediatamente precedentes, unidas a dicha transicin, estn activadas. La activacin deuna transicin se produce cuando est validada y la condicin de transicin oreceptividad es verdadera. Se podra definir una etapa como activable cuando latransicin precedente esta validada.

    Franquear una transicin implica la activacin de todas las etapas siguientes inmediatas,y la desactivacin de las inmediatas precedentes.

    Transiciones conectadas en paralelo, se activan de forma simultnea si se cumplen lascondiciones para ello.

    Una o varias acciones se asocian a cada etapa. Estas acciones slo estn activas cuando laetapa esta activa.

    Estructura Base

    Grafcet soporta diferentes tipos de estructura secuencial: Estructura base: trata conceptos de secuencialidad y concurrencia Estructura lgica: trata conceptos de concatenacin de estructuras

    Estructuras base

    Estructuras de secuencia nicao Son estructuras formadas por secuencias de etapas que se van activando una tras

    otra, sin interaccin con ninguna otra estructura

    Estructuras de secuencia paralelao Son un conjunto de estructuras nicas activadas por una misma transicin de

    forma simultanea. Despus de la activacin de las distintas secuencias suevolucin se produce de forma independiente

    1

    2

    Estructura base

    11 21

    22

    n1

    n2

    1x

    yx

    2x

    yy

    nx

    ny

    Estructura desecuenciasparalelas

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 35 -

    Estructuras LgicasFunciones lgicas OR AND y saltos condicionalesDivergencia OR

    Se utiliza cuando lo que se trata es de modelar la posibilidad de tomar dos o mssecuencias alternativas a partir de una etapa comn.

    La etapa n pasara a estar activa si estando activa la etapa n1 sesatisface la condicin de transicin o receptividad x , De igualforma la etapa n2 pasara a estar activa si estando activa la etapan1, se satisface la condicin de transicin o receptividad y.

    Convergencia OR

    La etapa n1 pasara a estar activa si estando activa la etapa n sesatisface la condicin de transicin o receptividad x , o siestando activa la etapa n2 se satisface la condicin de transicino receptividad y.

    Divergencia AND

    Permite la implementacin de procesos concurrentes sncronos, de forma que dos o mssubprocesos del sistema, representados por las secuencias paralelas, pueden activarse deforma sincronizada.

    La etapa n2 y n pasaran al estado activo, si estando activa la etapa n1 sesatisface la condicin de transicin o receptividad d+c

    Convergencia en AND

    n1

    n2n

    x y

    n1

    n2nx y

    n1

    n2n

    d+c

    n1

    n2n

    x

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 36 -

    La etapa n1 pasara al estado activo, si estando las etapas n1 y n2 activas se satisface la condicin de transicin oreceptividad x

    Saltos condicionales

    (a) Se implementa un salto condicional a la etapa i+j+1 siesta activada la etapa i y se cumple la condicin detransicin o receptividad

    (b) Se implementa un bucle que permite la receptividad dela secuencia de etapas hasta que x sea igual a 1.

    En el siguiente ejemplo, dos montacargas se mueven cuando se pulsa un botn (xl o x2) ensentido ascendente hasta el final de recorrido (s,t), y de inmediato se descendiende a la situacininicial (q,r).

    La pulsacin de xl o x2 deber iniciar el movimiento ascendente del montacargas ml om2 respectivamente. Slo un montacargas debe estar en funcionamiento a la vez.Tambin inicialmente se supone que el accionamiento simultneo de los dos pulsadoresno puede ocurrir.

    i

    i+1

    x

    y

    i+j

    i+j+1

    z

    u

    i

    i+1

    x

    y

    i+j

    i+j+1

    z

    u

    (a) (b)

    UD1

    q

    s

    X1

    UD2

    r

    t

    X2

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 37 -

    Implementacin del Grafcet sobre A.P.I.

    Diagrama Grafcet que representa el proceso, en un algoritmo de control y su posteriorprogramacin sobre un API.

    Para ello a cada una de las etapas en las que se divide el Grafcet se le asocia una variable interna.

    La condicin de transicin es la encarga de activar la etapa siguiente y desactivar la anterior;para ello se utilizan las instrucciones Set y Reset que poseen todos los autmatas programables.

    En el Siemens S7-200 las instrucciones SET y RESET son:

    Cuando se ejecutan las operaciones Set (Poner a 1 (S)) yReset (Poner a O (R)), se activa (se pone a 1) o se desactiva(se pone a 0) el nmero indicado de salidas (N) a partir del valorindicado por el bit o por el parmetro OUT. EL margen de E / Sque se pueden poner a 0 est comprendido entre 1 y 255. Lasinstrucciones Set y Reset se utilizan para activar o desactivar lasvariables internas que en este autmata son las marcas internas(M0.0, M0.l,.....etc.)

    q

    U11

    D12

    s

    X1.q

    0

    r

    U23

    D24

    t

    X2..r

    S1

    M0.0I0.0S1

    M0.0

    S1

    M0.0I0.1R1

    M0.1

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 38 -

    Activa la etapa y ydesactiva la etapa x

    Activa la etapa z y desactivala etapa y

    Para activar la etapa inicial 0 existen diferentes formas: Como ltima lnea del programa de control del autmata, se pone a cero Reset de la

    marca asignada a la ltima etapa, siempre que la condicin de transicin se cumpla.Adems aadimos una lnea ms donde se active la marca correspondiente a la etapainicial siempre que todas las etapas anteriores estn desactivadas.

    x bS1

    M0.0S1

    y

    S1

    M0.0R1

    x

    x bS1

    M0.0S1

    z

    S1

    M0.0R1

    y

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 39 -

    Otra posibilidad es que cuando se cumpla la ltima condicin de transicin se desactivela ltima etapa activa y se active la etapa inicial.

    Existe otra posibilidad de activacin de la etapa inicial, que se realiza mediante el uso devariables internas del sistema. Esta ltima opcin depende del tipo de autmata utilizado.

    Varios ejemplos de cmo codificar en lenguajes de contactos algunos casos que sepueden dar en diagramas Grafcet

    Divergencia OR

    Caso de secuencias paralelas

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 40 -

    Saltos condicionales a otras etapas

    Mediante funciones lgicas en un diagrama de escaleraLa ecuacin de activacin o desactivacin asociada a la etapa ensima

    En = En-1 . Tn-1 + (En+1) . En

    La etapa En se activar, si estando activada la etapa En-1 y desactivada la En+1 sesatisface la transicin Tn-1. Apartir de este instante permanecer activada hasta que se active laEn+1

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 41 -

    Aparte se tiene que afrontar las ecuaciones de activacin de las acciones asociadas a lasetapas. La expresin de estas ecuaciones depender del carcter condicional oincondicional de estas acciones.

    Partiendo de ecuacin General:- CondA: condicin de activacin- Cond D condicin de mantenimiento y desactivacin

    Divergencia OR

    Convergencia OR

    Divergencia AND

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 42 -

    Convergencia AND

    Etapas iniciales- La etapa/as inicial/es deben quedar activadas cuando se inicializa el sistema.- Las etapas iniciales no tienen ninguna etapa ni transicin precedente que puedan

    incluirse en las condiciones de activacin (CondA) de la expresin general.- Para solucionar este problema se introducen unas condiciones de activacin iniciales

    CondAl, adicionales a las condiciones de activacin CondA.- Este tipo de etapas se implementan, mediante la siguiente expresin:

    E0(t)=Cond AI +Cond A

    La expresin de las condiciones de activacin iniciales se puede obtener de dos formas:

    - Aprovechando el hecho de que, en la fase de inicializacin del programa las variablesestn inicializadas a cero y por tanto, tambin todas las variables internasrepresentativas de las diversas etapas existentes estarn nicialzadas a cero.

    Esta expresin puede llegar a ser laboriosa de implementar, si el Grafcet que se est realizandodispone de un gran nmero de etapas.

    Otra posibilidad, aparece por el hecho de que los autmatas programables disponen de una seriede marcas del sistema o marcas especiales. Existe una de ellas que est activa durante el primerciclo de programa y desactiva en los restantes.

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 43 -

    Niveles de Grafcet

    A la hora de representar mediante un grafcet el sistema de control es conveniente estructurarlo endos niveles

    - Nivel 1 : En este nivel se representa solamente el funcionamiento lgico del sistemaen una terminologa prxima al lenguaje corriente, se realiza independientemente delas decisiones que a posteriori se tomen en cuanto a la tecnologa a utilizar, a lanomenclatura y tipo de variables seleccionadas, etc

    - Nivel 2 : En este nivel se tienen en cuenta las decisiones tecnolgicas tomadas, lanomenclatura y tipo de variables, etc. y se hace referencia a ellas en el diagramagrafcet de este nivel

    Ejemplo : Sistema de control de una mquina taladradora

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 44 -

    Funcionamiento de la taladradora.

    - Existe un pulsador B de inicialzacn del sistema, con objeto de que el motoradquiera una velocidad de giro de rgimen permanente, que se obtiene accionando M.El taladro posee varias velocidades en el sentido longitudinal del eje, lase bajadalenta del utensilio del taladro BL, bajada rpida BR y subida rpida SR.

    - La pieza en la que se va a realizar el taladro se detecta mediante un detector inductivoP, y se sujeta mediante dos sujeciones accionadas por C. La tarea de realizar untaladro sigue la siguiente secuencia: primero se detecta la pieza mediante el detectorinductivo, posteriormente se pulsa el botn A de inicio de operacin con lo queactan las sujeciones de la pieza y al mismo tiempo se inicia el descenso rpido de labroca BR.

    - Antes de empezar a realizar el taladro propiamente dicho a la pieza, el detector Yprovoca el paso de descenso rpido de la broca a descenso lento BL, el cual seinterrumpe cuando se detecta el final de carrera Z. Inmediatamente se produce lasubida rpida de la broca hasta alcanzar la posicin de reposo X.

    Grafcet de nivel 1:

    Grafcet de nivel 2:

    1 Motor de giro reg. permanente

    Pulsador de inicializacin

    Inicio de operacin y detectada pieza

    2 Apresar pieza y descenso rpido de broca

    Fin de descenso rpido

    3 Descenso Lento

    Final de carrera descendente

    4 Ascenso rpido de la broca

    Final de carrera ascendente

    0

    A . P

    Y

    Z

    1 M

    B

    2

    3

    4

    0

    M C BR

    M C BL

    M C SR

    1 M+

    B

    2

    3

    4

    0

    C+ BR+

    M - SR- C-

    A . P

    Y

    Z

    BR- BL+

    BL- SR+

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 45 -

    Representacin de situaciones especiales en Grafcet

    Secuencias exclusivas

    Temporizadores y contadores Funcin temporizacin en Grafcet se implementa a travs del operador de temporizacin

    El valor de la temporizacin en seg. min. u hor. Etapa a la cual esta referida la temporizacin. Indica la operacin de temporizacin.

    Clasificacin de las temporizaciones:

    - Temporizacin con retardo: Cada dispositivo de temporizacin tiene asociada unavariable que en este tipo de temporizacin permanece en estado bajo 0, mientrasque se efecta la operacin de temporizacin.

    - Temporizacin al arranque: Cada dispositivo de temporizacin tiene asociada unavariable que en este tipo de temporizacin permanece en estado lgico alto 1, desdeel mismo comienzo de la temporizacin, pasando a estado lgico bajo O cuando hatranscurrido la temporizacin establecida. Su funcionamiento es el mismo que latemporizacin con retardo si la variable asociada al temporizador es complementada,

    9

    112

    10

    ab ab

    t / n / temp

    temp

    Variable de temporizacin

    Etapa n

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 46 -

    por lo tanto este tipo de temporizacin se denota complementando la notacin querepresenta la temporizacin con retardo.

    Incorporacin de las temporizaciones al Grafcet:

    - Temporizacin de acciones: Es el caso en el cual se pretende temporizar la ejecucinde la accin asociada a una etapa, de forma que no se ejecute la accin hasta quetranscurra un cierto instante de tiempo.

    - Temporizacin de la transicin de una etapa: Es el caso en el cual la receptividadasociada a una transicin depende de que la variable de temporizacin sea activada.Si se trata de una temporizacin con retardo esta transicin no ser superada hastaque transcurra un cierto instante de tiempo.

    Contadores- Hay tres tipos, los que realizan la operacin cuenta de forma ascendente, descendente o ambas a la vez.

    temp

    Variable de temporizacin

    Etapa n

    Accion A

    Trn

    temp

    Variable de temporizacin

    Etapa n

    n A

    T r n-1

    Trn

    t / n / temp

    Accion A

    temp

    Variable de temporizacin

    Etapa n

    n B

    T r n-1

    t / n / temp

    n B = B+1

    T r n-1

    Trn

    n B = B-1

    T r n-1

    Trn

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 47 -

    Anteriormente, diagrama Grafcet teniendo en cuenta slo funcionamiento normal, sin considerarposibles paradas de emergencia, tipos de funcionamiento manual o automtico, etc.

    Como resulta obvio en todo diseo estructurado existen relaciones de intercambio deinformacin y jerarqua entre cada uno de los subsistemas.

    - Orden: Seguridad, modos de marcha y funcionamiento normal

    Los modos de marcha son los distintos modos de funcionamiento que pueden darse en lossistemas automatizados(se excluye de esta definicin todo comportamiento no determinista delsistema).

    Funcionamiento normal de un sistema de control es cclico. Segn como se ejecute este ciclo,

    CLASIFICACIN:- Sistemas que ejecutan el ciclo de funcionamiento indefinidamente a partir de una

    autorizacin del operador.- Sistemas que ejecutan un ciclo y requieren la autorizacin del operador, para realizar el

    siguiente y as consecutivamente.- Sistemas en los que el operador tiene un control permanente sobre la activacin de cada

    una de las etapas.Con estos modos multitud de combinaciones. Dividir en dos grandes grupos: marchasautomticas y marchas de intervencin.

    Es el modo de funcionamiento normal, para el cual el sistema ha sido diseado.Se puede realizar una clasificacin dentro de las marchas automticas en:

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 48 -

    - Funcionamiento semiautomtico- Funcionamiento automtico

    En este modo de funcionamiento cada ciclo necesita la autorizacin del operador para ejecutarse.- La ejecucin de cada uno de los ciclos: mediante la variable CC (Comienzo de ciclo).- Introducida e transicin inicial junto con las condiciones iniciales (CI) de inicio de ciclo.

    Cuando se ejecuta la orden de comienzo de ciclo(CC), el sistema permanece funcionando deforma ininterrumpida, hasta que se produce una orden de parada, complementaria de la anterior.

    - La parada, es este modo de funcionamiento detiene el sistema al final del ciclo en curso,a diferencia de las paradas de emergencia, cuyo objeto es parar de inmediato la ejecucindel ciclo sea cual sea su situacin.

    Para implementar este modo de funcionamiento se utiliza una estructura jerarquizada de dosdiagramas Grafcet, donde el de orden superior(maestro), controla el funcionamiento del de ordeninferior ( esclavo).

    Grafcet, donde el de orden superior (maestro), controla el funcionamiento del de orden inferior(esclavo).

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 49 -

    Marchas de intervencin

    Son modos de funcionamiento especiales, utilizados en los perodos de ajuste delfuncionamiento de los sistemas de control automticos.

    - Una vez implementado un sistema automtico, pueden aparecer asincronismos en sufuncionamiento, de difcil previsin a priori, derivados entre otros motivos de la clase detecnologa utilizada.

    - Adems estos asincronismos tambin pueden aparecer por envejecimiento, deterioro ofalta de mantenimiento de los elementos integrantes del proceso.

    Marchas de ajuste del sistema

    El operador ejerce un control estricto no ya sobre la ejecucin de un ciclo, sino sobre laejecucin de una etapa o conjunto de ellas en un mismo ciclo.

    Es la forma de operacin utilizada, sobre todo en los procesos de ajuste y puesta a punto de lossistemas automatizados, mediante el cual se corrigen funcionamientos imprevistos, fallos,averas o correcciones precisas en el funcionamiento de las mquinas o dispositivos de control.

    Frecuentemente la parada del sistema, bien sea por inhibicin de las acciones asociadas a lasetapas, o bien por congelacin del automatismo impidiendo el franqueamiento de determinadastransiciones.

    - Este modo de funcionamiento requiere un conocimiento exhaustivo del sistema, por partedel operador, as como la implementacin del sistema mediante una tecnologa que hagaposible una fcil Intervencin.

    Seguridad

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 50 -

    El sistema de control diseado ha de tener en cuenta situaciones imprevistas, averas,emergencias, etc de forma que se garantice el buen funcionamiento del sistema.

    - Hay del que asegurar la integridad de los operadores humanos al cargo de los sistemas obien la seguridad de las propias instalaciones industriales donde se ubique el sistema,cuya reparacin puede suponer un coste elevado.

    Seguridad engloba:- Seguridad: anular el posible peligro para las personas e instalaciones- Disponibilidad: eliminar las paradas como consecuencia de fallos del sistema

    El estudio de la seguridad del sistema tiene que abordar tanto el anlisis de riesgos(probabilidady gravedad en la aparicin), as como el cumplimiento de la normativa legal al respecto.

    Tratamiento de alarmas y emergencias

    Segn el grado en que la alarma pueda afectar al sistema:

    - Alarmas locales: son las que afectan slo parcialmente al sistema.- Alarmas generales: son las que afectan a la totalidad del sistema y por lo general sern

    prioritarias.

    Implementar mediante la introduccin de una nueva variable de la forma siguiente:- Introduccin de la variable asociada en las condiciones de desactivacin de la funcin

    lgica activadora / desactivadora de etapa.

    - Introduccin de la variable asociada en las funciones lgicas asociadas a lasreceptividades.

    - Introduccin de la variable asociada

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 51 -

    Congelacin del automatismo

    - Con secuencia de emergencia: Alarma deriva hacia la ejecucin de una secuencia de emergencia, constituida por

    una o ms etapas, cuyas acciones estn orientadas a situar a los operadores y alproceso mismo en las mejores condiciones posibles, en orden a salvaguardar suintegridad.

    Diseo estructurado de un sistema de control.

    - Representacin separada de los diversos aspectos del modelo del sistema, tales como: funcionamiento normal modos de marcha posibles paradas de emergencia, etc.

    - Este diseo se consigue realizar con ayuda de diagramas funcionales parciales, as comolas relaciones existentes entre ellos.

    Macro etapas

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 52 -

    - Las macroetapas, sustituyen secuencias de etapas, cuya aparicin se repite en variasocasiones a la largo del diagrama grafcet. El objetivo que se persigue es la simplicidad ylegibilidad de los diagramas grafcet.

    - Reglas: La expansin de una macroetapa siempre tendr una sola etapa de entrada y una

    sola etapa de salida. La etapa de entrada (E) se activar cuando se active la macroetapa. La activacin

    de la etapa de salida (S) implicar la validacin de las transicionesinmediatamente posteriores a la macroetapa.

    Diagramas Grafcet Jerarquizados- Entre cada uno de estos diagramas grafcet parciales debe haber una relacin jerrquica.

    Forzado de estados de uno u otro gracet.- La jerarquizacin debe respetar una serie de reglas:

    o Si un grafcet tiene la posibilidad de forzar otro, este no tendr ninguna posibilidadde forzar al anterior

    o En todo instante un grafcet slo podr ser forzado por un nico grafcet.

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 53 -

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 54 -

    CAPITULO 2

    COMUNICACIONES EN RED

    Cada uno de los dispositivos de la red puede considerarse corno un ,nodo. y cada no de estosnodos est identificado mediante una direccin nica. La forma en que se signan estadirecciones varan de un tipo de red a otro, pero en todos los casos la direccin de cadadispositivo debe ser nica. para permitir distinguir a ese dispositivo Le cualquier otro. Lasdirecciones son cifras con las cuales los computadores trabajan con facilidad, pero son muydifciles de recordar para los humanos por lo tanto, algunas redes tambin proporcionannombres, que son ms fciles de recordar.

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 55 -

    Las redes actuales utilizan para la transferencia de datos un concepto conocido como packetswitching. Los datos son encapsulados en paquetes que son transferidos desde el origen hasta eldestino, en donde los datos se van extrayendo de uno o ms paquetes para reconstruir el mensajeoriginal.

    Aunque el lector deba conocer todos estos parmetros para entender el funcionamiento deuna red, lo cierto es que el concepto de red no es nada difcil, ya que se trata solamente de pasarla informacin de una maquina a otra, o viceversa: es decir, es semejante a la lectura y escriturade archivos, excepto en que estos archivos estn situados en otra mquina remota, y esa maquinaremota puede decidir que es lo que quiere hacer con la informacin que le llega. Una de lasprincipales caractersticas de Java es precisamente su tratamiento de la red. Tanto como esposible. Java abstrae todos los detalles de manejo a bajo nivel de la red. dejndole ese trabajo ala Mquina virtual java. El modelo de programacin que se utiliza es el de archivos; de hecho, sepuede comparar una conexin de red (un socket) con un canal. Adems, la capacidad de manejode mltiples conexiones a la vez.

    SOCKETS

    Java proporciona dos formas diferentes de atacar la programacin de comunicaciones atravs de red, al menos en lo que a la comunicacin web concierne. Por un lado estn las clasesSocket, DatagramSocket y ServerSocket, y por otro lado estn las clases URL, URLEncoder yURLConnection.

    Los sockets son puntos finales de enlaces de comunicaciones entre procesos. Los procesoslos tratan como descriptores de archivos, de forma que se pueden intercambiar datos con otrosprocesos transmitiendo y recibiendo a travs de sockets. El tipo de sockets describe la forma enla que se transfiere informacin a travs de ese socket.

    Sockets Stream (TCP)

    Son un servicio orientado a conexin, donde los datos se transfieren sin encuadrarlos enregistros o bloques. Si se rompe la conexin entre los procesos, stos sern informados de talsuceso para que tomen las medidas oportunas.

    El protocolo de comunicaciones con streams es un protocolo orientado a conexin, ya quepara establecer una comunicacin utilizando el protocolo TCP, hay que establecer en primerlugar una conexin entre un par de sockets. Mientras uno de los sockets atiende peticiones deconexin (servidor), el otro solicita una conexin (cliente). Una vez que los dos sockets estnconectados, se pueden utilizar para transmitir datos en ambas direcciones.

    Sockets Datagrama (UDP)

    Son un servicio de transporte sin conexin. Son ms eficientes que TCP, pero en su utilizacinno est garantizada la fiabilidad. Los datos se envan y reciben en paquetes, cuya entrega no estgarantizada. Los paquetes pueden ser duplicados, perdidos o llegar en un orden diferente al quese envi.

    El protocolo de comunicaciones con datagramas es un protocolo sin conexin, es decir, cada

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 56 -

    vez que se enven datagramas es necesario enviar el descriptor del socket local y la direccin delsocket que debe recibir el datagrama. Como se puede observar, hay que enviar datos adicionalescada vez que se realice una comunicacin, aunque tiene la ventaja de que se pueden indicardirecciones globales y el mismo mensaje llegar a un muchas mquinas a la vez.

    Sockets Raw

    Son sockets que dan acceso directo a l a capa de software de red subyacente o aprotocolos de ms bajo nivel. Se utilizan sobre todo para la depuracin del cdigode los protocolos.

    Programacin de Sockets

    La programacin utilizando sockets involucra a dos clases principalmente: Socket yDatagramSocket, a la que se incorpora una tercera no tan empleada, ServerSocket, quesolamente se utiliza para implementar servidores, mientras que las dos primeras se pueden usarpara crear tanto clientes como servidores, representando comunicaciones TCP la primera ycomunicaciones UDP la segunda.

    La programacin con sockets es una aproximacin de bastante bajo nivel para lacomunicacin entre dos computadores que van a intercambiar datos. Uno de ellos ser el clientey el otro el servidor, como ya se ha repetido en numerosas ocasiones.

    Aunque la distincin entre cliente y servidor se va haciendo menos clara cada da, en Javahay una clara diferencia que es inherente al lenguaje. El cliente siempre inicia conversacionescon servidores y los servidores siempre estn esperando a que un cliente quiera establecer unaconversacin. Ya despus, a nivel de aplicacin, se determinar lo que sucede una vez que seestablezca la conexin y se inicie la conversacin.

    El hecho de que dos computadores puedan conectarse no significa que puedan comunicarse,es decir, que adems de establecerse la conexin, las dos mquinas deben utilizar un protocoloentendible por ambas para poder entenderse. Por ejemplo, el hecho de que se pueda marcar unnmero de telfono de China, no da por sentado que se pueda establecer una comunicacin conla persona que descuelgue al otro lado, porque no hay conocimiento del lenguaje chino; o lapersona habla espaol, o chapurrea ingls, o muy poca comunicacin va a poder tener lugaraunque la conexin sea perfecta y la voz de ambos clara y sin distorsiones.

    La programacin de sockets en el mundo Unix viene desde muy antiguo, Java simplementeencapsula una gran parte de la complejidad de su uso en clases, permitiendo un acercamiento aesa programacin mucho mas orientado a objetos de lo que poda hacerse antes. Bsicamente, laprogramacin de sockets hace Posible que el flujo de datos se establezca en las dos direccionesentre cliente y servidor, por ello lo de comentar que la diferencia entre cliente y servidor, que unavez establecida la conexin, se diluye. El flujo de datos que se intercambian cliente y servidor sepuede considerar de la misma forma que cuando se guardan y recuperan datos de un disco: comoUn conjunto de bytes a travs de un canal., y como en todo proceso en el que intervienen datos,el sistema es responsable de llevar esos datos desde su punto de origen al destino, y es

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 57 -

    responsabilidad del programador el asignar significado a esos datos.

    Y asignar significado tiene una especial relevancia en el caso de la utilizacin de sockets. Enparticular, como se ha dicho, entre las responsabilidades del progrmador est la implementacinde un protocolo de comunicaciones que sea mutuamente aceptable entre dos maquinas a nivel deaplicacin para hacer que los datos fluyan de forma ordenada. Un protocolo a nivel deaplicacin es un conjunto de reglas a travs de las cuales los programas que se ejecutan en losdos computadores pueden establecer una conversacin e intercambiarse datos. Por ejemplo, ellector puede escribir un programa utilizando el protocolo de correo SMTP para enviar unmensaje de correo electrnico a alguien. Aqu tambin se desarrollarn ejemplos queimplementen de forma muy bsica el protocolo HTTP para poder descargar pginas web desdeun servidor de Internet y presentarlas en pantalla, o bien un servidor que soporte el protocoloecho tanto para TCP como para UDP. Cada uno de estos programas involucran la aceptacin yuso de un protocolo para poder entender la informacin que proviene o se enva a la otramquina.

    Programacin de URL

    La programacin de URL se produce a un nivel ms alto que la programacin de sockets y, almenos en teora, resulta una idea muy poderosa. Esa teora dice que, utilizando la clase URL, sepuede establecer una conexin con cualquier recurso que se encuentre en Internet, especificandoun objeto URL y simplemente invocando el mtodo getContent() sobre ese objeto URL. Elcontenido del recurso ser descargado y aparecer en la mquina cliente, incluso aunque requieraun protocolo que no exista cuando el programa fue escrito y ese contenido no fuese entendido enel momento de escribir la aplicacin.

    Esta descripcin puede resultar un poco oscura, pero es concretamente lo que se proclama a loscuatro vientos que se puede hacer. La idea es excelente, pero habr que esperar un poco ms alfuturo para recoger sus frutos. Si estuviese completamente implementada en los navegadores,esta idea significara poder colocar un material y desconocido en un sitio web junto con losmanejadores de contenido y protocolos. Cuando un navegador bajase este contenido desde elsitio web, se bajara el manejador del contenido y podra interpretarlo sin necesidad de instalarningn software nuevo.

    La cosa vara si de lo que se trata es de una intranet, ya que si se quiere dotar a los clientes de lacapacidad de manejar nuevos contenidos, ser necesario proporcionar el adecuado protocolo ymanejador de esos contenidos; y probablemente ser necesario que los clientes ejecutenaplicaciones escritas en Java en vez de usar los navegadores estndar para acceder a los datos.

    La clase URL tambin proporciona una forma alternativa de conectar un computador con otro ycompartir datos, basndose en streams. En algn ejemplo se ver esta tcnica, que es un tantoredundante con la programacin de sockets.

    LA CLASE INETADDRESS

    Hasta ahora se ha visto la fundamentacin terica en que se basa la programacin decomunicaciones a travs de res, asi que ha llegado la hora de presentar cdigo Java que utiliceeste tipo de comunicacin. El ejemplo siguiente presenta el uso de la clase InetAddress, y cmo

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 58 -

    se emplean varios de sus mtodos.

    Ser necesario estar conectado a Internet a la hora de ejecutarlos para que funcionencorrectamente; en caso contrario, se obtendra una excepcin de tipo UnknownHostException.

    La salida que se obtiene al ejecutar el programa es la que se reproduce a continuacin.Al utilizar un proveedor de Internet, la direccin IP puede ser diferente de una ejecucin a otra.

    -> Direccin IP de una URL, por nombre members.es.tripod. de/62 . 52 . 93. 153

    -> Nombre a partir de la direccion

    members.es tripod de/62 52 93. 153

    -> Direccion IP actual de LocalHost breogan/194.224.37.156

    -> Nombre de LocalHost a partir de la direccion

    iv156.eintec.es/

    -> Nombre actual de LocalHost

    iv156.eintec.es

    -> Direccion IP actual de LocalHost

    194 224 37 156

    Y el cdigo completo del ejemplo es el que se reproduce a continuacin posteriormente secomentar en detalle.import java.net.*;

    class java1701 { public static void main( String[ ] args ) { try { System.out.println( "-> Direccion IP de una URL, por nombre" ); InetAddress address = InetAddress.getByName( "usuarios.tripod.es" ); System.out.println( address );

    // Extrae la direccin IP a partir de la cadena que se // encuentra a la derecha de la barra /, luego proporciona // esta direccin IP como argumento de llamada al mtodo // getByName() System.out.println(

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 59 -

    "-> Nombre a partir de la direccion" ); int temp = address.toString().indexOf( '/' ); address = InetAddress.getByName( address.toString().substring(temp+1) ); System.out.println( address );

    System.out.println( "-> Direccion IP actual de LocalHost" ); address = InetAddress.getLocalHost(); System.out.println( address );

    System.out.println( "-> Nombre de LocalHost a partir de la direccion" ); temp = address.toString().indexOf( '/' ); address = InetAddress.getByName( address.toString().substring(temp+1) ); System.out.println( address );

    System.out.println( "-> Nombre actual de LocalHost" ); System.out.println( address.getHostName() );

    System.out.println( "-> Direccion IP actual de LocalHost" ); // Coge la direccin IP como un array de bytes byte[ ] bytes = address.getAddress(); // Convierte los bytes de la direccin IP a valores sin // signo y los presenta separados por espacios for( int cnt=0; cnt < bytes.length; cnt++ ) { int uByte = bytes[cnt] < 0 ? bytes[cnt]+256 : bytes[cnt]; System.out.print( uByte+" " ); } System.out.println(); } catch( UnknownHostException e ) { System.out.println( e ); System.out.println( "Debes estar conectado para que esto funcione bien." ); } } }Todo el cdigo del programa est en el mtodo principal main( ). La clase InetAdressproporciona objetos que se pueden utilizar para manipular tanto direcciones IP como nombres dedominio; sin embargo, no se pueden instanciar estos objetos directamente. La clase proporcionavarios mtodos estticos que devuelven un objeto de tipo InetAddress.

    El mtodo esttico getByName() devuelve un objeto InetAddress representando el host que se lepasa como parmetro. Este mtodo se puede utilizar para determinar la direccin IP de un host,

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERTAAL TIEMPO

    - 60 -

    conociendo su nombre; entendiendo por nombre del host el nombre de la mquina, comojava.sun.com, o la representacin como cadena de su direccin IP, como 206.26.48.100. Elmtodo getAllByName() devuelve un array de objetos InetAddress, y se puede utilizar paradeterminar todas las direcciones IP asignadas a un host. El mtodo getLocalHost() devuelve unobjeto InetAddress representando el computador local sobre el que se ejecuta la aplicacin.

    El primer trozo de cdigo interesante es el que obtiene un objeto InetAddress repreesentando undeterminado servidor y presenta esta direccin utilizando el mtodo sobrecargado toString() dela clase InetAddress.

    InetAddress address = InetAddress.getByName( members.es.trpod.de );System.out.println( address );

    El siguiente trozo de codigo es la accin contraria al anterio, en que se proporciona la direccinIP para presentar el nombre del host. Como ya se ha indicado, el mtodo getByName( ) puedeaceptar como parmetro de entrada tanto el nombre del host, como su direccin IP en forma decadena. El cdigo, utiliza el resultado de la llamada al mtodo anterior para construir una cadenacon la parte numrica del resultado, que es pasada al mtodo getByName( ).

    Int Temp. = address.toString( ).indexof( );Address = InetAdress.getByName( address.toString( ).substring(temp+1) ),System.out.println( address);

    El trmino localhost se utiliza para describir el computador local, la mquina en la que se estejecutando la aplicacin. Cuando se conecta a una red IP, el computador local debe tener unadireccin IP, que se puede conseguir de diferentes formas; no obstante, la siguiente explicacinse basa en que el computador sobre el cual se ejecuta aplicacin se conecta a travs de la lneatelefnica con un proveedor de Internet, que es el que abre el acceso a Internet de la mquinalocal.

    El proveedor de Internet tiene reservadas una serie de direcciones IP, que puede compartir entretodos sus clientes. Cuando alguien se conecta al proveedor, automticamente se le asigna unadireccin a esa conexin, vlida durante todo el tiempo que dure la sesin. Si se produce unadesconexin y luego se vuelve a conectar, lo ms seguro es que la direccin IP no sea la mismaque se haba asignado a la primera conexin.

    Aunque sa sea la situacin ms habitual del lector, en otras ocasiones puede ser diferente. Porejemplo, si el computador se encuentra en la red interna de computadores de una empresa, esaempresa puede tener un bloque de direcciones IP reservadas asignar permanentemente lasdirecciones a los computadores; en cuyo caso, cada que se ejecute el programa, la direccin IPser siempre la misma. Tambin es posible que el lector disponga de su propia direccinpermanente IP y nombre de dominio.

    En cualquier caso, el mtodo getLocalHost() se puede utilizar para obtener un objeto de tipoInetAddress que represente al computador en el cual se est ejecutan la aplicacin. Eso esjustamente lo que muestra el cdigo que aparece a continuacin.

  • UNIVERSIDAD AUTNOMA METROPOLITANA IZTAPALAPA CASA ABIERT