MINISTERIO DEL PODER POPULAR PARA LA EDUCACION SUPERIOR
INSTITUTO UNIVERSITARIO DE TECNOLOGAALONSO GAMERO PROGRAMA NACIONAL DE FORMACION EN MECANICA UNIDAD CURRICULAR: AUTOMATIZACIN INDUSTRIAL
TECNOLOGAS APLICADAS A LA AUTOMATIZACIN INDUSTRIAL
Autores: T.S.U Abel Oropeza C.I: 19.059.461 T.S.U Giuseppe Richiusa C.I: 18.770.299 T.S.U Wilfredo Vargas C.I: 18.293.615 T.S.U Luis Maury C.I: 8.775.702
Santa Ana de Coro, Junio del 2014
NDICE
Pg. INTRODUCCIN............................................................................................ 3 MICROPROCESADORES.. 4 Clasificacin o gama de Microprocesadores.. 4 Lenguajes de Programacin. 15 Algunos fabricantes de Microprocesadores 19 Estructura interna de un Microprocesador. 21 MICROCONTROLADORES 21 Clasificacin o gama de Microcontroladores.. 24 Lenguajes de Programacin. 24 Algunos fabricantes de Microcontroladores 28 Estructura interna de un Microcontrolador. 29 Diferencias entre un Microprocesador y un Microcontrolador. 34 PLC (CONTROLADORES LGICOS PROGRAMABLES). 35 Estructura del PLC Siemens S7-300 36 Algunos fabricantes de PLC.. 40 Gama o clasificacin de los PLC.. 40 Tipo de lenguajes de Programacin de los PLC 41 Tipos de tarjetas de entrada y de salida. 42 Direccionamiento directo e indirecto 45 Memorias del PLC.. 46 PLC Compacto. 50 PLC Modular. 50 Diferencias entre un PLC compacto y modular. 51 CONCLUSIN.. 52 BIBLIOGRAFA.. 53
3
INTRODUCCIN
La informtica es la ciencia que estudia, mtodos, tcnicas, procesos, con el fin de almacenar, procesar y transmitir informacin en digital, con el propsito de solventar o facilitar necesidades de las personas. Cada da las exigencias para solventar las necesidades de las personas son mayores referente al apoyo informtico, entonces desde dcadas atrs se ha venido ocurriendo una evolucin informtica desde donde exista una Hardware de microprocesadores que solo podan sumar y restar datos de 4 bits hasta la actualidad donde su capacidad es muy extensa, como Intel, AMD, Apple y mas. La Automatizacin industrial es el uso de los sistemas o elementos computarizados y electromecnicos para controlar maquinarias o procesos industriales. Como una disciplina de la ingeniera ms amplia que un sistema de control, abarca la instrumentacin industrial, que incluye los sensores, los transmisores de campo, los sistemas de control y supervisin, los sistemas de trasmisin y recoleccin de datos y las aplicaciones de Software en tiempo real para supervisar, controlar las operaciones de plantas o procesos industriales. En la automatizacin se encuentra uno de las unidades mas usadas, el Controlador lgico programable (PLC), tiene como funciones especficas ser: lgicas, secuenciales, temporizadas, de conteo y aritmticas; con el objeto de controlar mquinas y procesos.
4
MICROPROCESADORES
Microprocesador
Es un circuito digital generalmente bastante complejo que realiza procesamiento de datos, las operaciones que se llevan a cabo durante dicho procesamiento son controladas por lo que se denomina un programa, este ltimo, es el que le indica al microprocesador exactamente qu es lo que tiene que hacer, por ejemplo, leer un dato de un teclado y mandarlo a una pantalla de cristal lquido o tomar dos valores de la memoria, sumarlos y poner este resultado en la misma. Los microprocesadores han cambiaron la forma en las que se realizaban las operaciones de tratamiento de informacin, y desde que aparecieron en los aos 70 no han dejado de evolucionar, el primer microprocesador fue el 4004 desarrollado por Intel el cual era muy limitado pues slo sumaba y restaba datos de 4 bits. El 4004 fue el microprocesador que le dio vida a una de las primeras calculadoras electrnicas. Intel lanzo posteriormente, en 1971 el 8008, el que sera el primer microprocesador de 8 bits, luego en 1973 saca al mercado el 8080, microprocesador que se utilizara en la construccin de las primeras computadoras para el hogar, el aspecto fsico de este procesador se muestra en la figura. Unos aos despus, en 1978, Intel lanz el famoso 8086 y un ao y medio ms tarde el 8088 con los cuales se puso en el mercado el IBM PC que apareci en 1982, con esto Intel estara en la mayora de computadores personales hasta llegar al Pentium IV que es ampliamente utilizado en los computadores de escritorio actuales.
Clasificacin o Gama de Microprocesadores Intel o AMD
El microprocesador 4004 Historia y descripcin El 4004 fue lanzado en un paquete de 16 pines CERDIP el 15 de noviembre de 1971. El 4004 fue el primer procesador de 5
computadora diseado y fabricado por el fabricante de chips Intel, quien previamente haca semiconductores de chips de memoria. Marcian "Ted" Hoff formul la propuesta arquitectnica en 1969. Sin embargo, la implementacin del microprocesador slo comenz en 1970 cuando Federico Faggin fue empleado por Intel, procedente de Fairchild Semiconductor, para dirigir el proyecto y para disear el 4004 (1970-1971). En Fairchild, Faggin haba desarrollado la tecnologa pionera llamada Silicon Gate Technology (SGT) y haba tambin diseado el primer circuito integrado MOS usando la tecnologa SGT (el Fairchild 3708) en 1968. Tan pronto como empez a trabajar para Intel, Faggin cre una nueva metodologa de "random logic design" con silicon gate, que no exista previamente, y que la utiliz para encajar el microprocesador en un nico chip. Su metodologa fue usada en todos los primeros diseos de microprocesadores de Intel (8008, 4040, 8080). Masatoshi Shima de Busicom asisti a Faggin durante el desarrollo de la familia 4004 y ms tarde escribi el software para la calculadora Busicom. Shima se uni a la compaa ZiLOG, la primera compaa dedicada exclusivamente a microprocesadores, fundada por Federico Faggin a finales del 1974, y desarroll el diseo del Z80 con Faggin. Originalmente diseado para la compaa japonesa Busicom para ser usado en su lnea de calculadoras, el 4004 tambin fue proporcionado con una familia de chips de soporte especialmente diseados para l. Por ejemplo, cada "ROM de programa" internamente guardaba para su propio uso los 12 bit de direccin de programa del 4004, lo que permita, si las 16 ROM fueron instaladas, acceso de 4 KB de memoria desde el bus de direcciones de 4 bits. El circuito 4004 fue construido con 2.300 transistores, y fue seguido el ao siguiente por el primer microprocesador de 8 bits, el 8008, que contena 3.300 transistores, y el 4040, que era una versin revisada del 4004. 6
El microprocesador 8008 Historia del 8008
En 1969 Computer Terminal Corp. (ahora Datapoint) visit Intel. Vic Poor, vicepresidente de Investigacin y Desarrollo en CTC quera integrar la CPU (unos cien componentes TTL) de su nueva terminal Datapoint 2200 en unos pocos chips y reducir el costo y el tamao del circuito electrnico. Ted Hoff observ la arquitectura, el conjunto de instrucciones y el diseo lgico que haba presentado CTC y estim que Intel podra integrarlo en un slo chip, as que Intel y CTC firmaron un contrato para desarrollar el chip. El chip, internamente llamado 1201, sera un dispositivo de 8 bits. Pensado para la aplicacin de terminal inteligente, debera ser ms complejo que el 4004. Al principio pareca que el 1201 saldra antes que el 4004 ya que Federico Faggin tena que desarrollar cuatro chips, siendo el 4004 el ltimo de ellos. Sin embargo, despus de algunos meses de trabajo con el 1201, el diseador, Hal Feeney, fue puesto a disear un chip de memoria, con lo que el proyecto del 1201 fue puesto en el "freezer". Mientras tanto, CTC tambin contrat a la empresa Texas Instruments para hacer el diseo del mismo chip como fuente alternativa. Al final de 1970 Intel continu con el proyecto del 1201 bajo la direccin de Faggin y Feeney fue puesto nuevamente a trabajar en este proyecto. En junio de 1971, TI puso un aviso en la revista Electronics donde se detallaban las capacidades de este integrado MOS LSI. Con la leyenda "CPU en un chip" se acompaaba la descripcin del circuito a medida para la terminal Datamation 2200. El aviso deca "TI lo desarroll y lo est produciendo para 7
Computer Terminal Corp.". Las dimensiones indicadas eran 5,46 por 5,71 mm, un chip enorme aun para la tecnologa de 1971 y era 225% ms grande que el tamao estimado por Intel. El chip de Texas Instruments, sin embargo, jams funcion y no se puso en el mercado. Sorprendentemente, TI patent la arquitectura del 1201, que fue realizado por CTC con algunos cambios de Intel, con lo que luego hubo batallas legales entre Intel y TI. Durante el verano (en el hemisferio norte) de 1971, mientras el trabajo con el 1201 estaba progresando rpidamente, Datapoint decidi que no necesitaba ms el 1201. La recesin econmica de 1970 haba bajado el costo de los circuitos TTL de tal manera que ya no era rentable el circuito a medida. Datapoint le dej usar la arquitectura a Intel y a cambio la ltima no le cobraba ms los costos de desarrollo. Intel decidi cambiarle el nombre al 1201: se llamara 8008. El primero de abril de 1972 se lanz este microprocesador al mercado con un conjunto de chips de soporte, como una familia de productos llamado MCS-8. Estos chips de soporte eran integrados existentes con los nombres cambiados. El inters del mercado por el MCS-8 fue muy alto, sin embargo las ventas fueron bajas. Para solucionar este inconveniente, se disearon herramientas de hardware y software, entrenamiento y sistemas de desarrollo. Estos ltimos son computadoras especializadas para desarrollar y depurar programas (quitarles los errores) para el microprocesador especfico. Un ao despus, Intel reciba ms dinero de los sistemas de desarrollo que de los microprocesadores y chips de soporte. A ttulo informativo cabe destacar que este microprocesador de ocho bits posea alrededor de 3500 transistores, direccionaba 16 KBytes y la frecuencia mxima de reloj (clock) era de 108 KHz.
8
Conjunto de registros del 8008 Este conjunto de registros forma la base para comprender el conjunto de registros de los siguientes procesadores, ya que se basan en ste. El 8008 no tiene registro de puntero de stack (SP). Tiene una pila interna de 8 posiciones para almacenar las direcciones de retorno en el caso de llamadas a subrutina. Los Intel 80186 y 80188 (i80186 e i81088) son dos microprocesadores que fueron desarrollados por Intel alrededor de1982. Los i80186 e i80188 son una mejora del Intel 8086 y del Intel 8088 respectivamente. Al igual que el i8086, el i80186 tiene un bus externo de 16 bits, mientras que el i80188 lo tiene de 8 bits como el i8088, para hacerlo ms econmico. La velocidad de reloj del i80186 e i80188 es de 6 MHz. Ambos microprocesadores no fueron muy usados en ordenadores personales, sino que su uso principal fue como procesadores empotrados. De todos modos hubo excepciones, como el Mindset, un ordenador muy avanzado para la poca, y el Gateway Handbook, un pequeo subnotebook. Otro ms fue el Compis, un ordenador escolar sueco. Una caracterstica principal del i80186 e i80188 es que utilizndolos es posible reducir el nmero de circuitos integrados auxiliares necesarios, al integrar caractersticas como un controlador de acceso directo a memoria (DMA), un controlador de interrupciones, temporizadores y lgica de seleccin de circuito integrado. El Intel 80286 (llamado oficialmente iAPX 286, tambin conocido como i286 o 286) es un microprocesador de 16 bits de la familiax86, que fue lanzado al mercado por Intel el 1 de febrero de 1982. Cuenta con 134.000 transistores. Las versiones iniciales del i286 funcionaban a 6 y 8 MHz, pero acab alcanzando una 9
velocidad de hasta 25 MHz. Fue el microprocesador elegido para equipar al IBM Personal Computer/AT, lo que caus que fuera el ms empleado en los compatibles PC (ms propiamente compatibles AT) entre mediados y finales de los aos 80. Tras las versiones iniciales a 6 y 8 MHz, Intel lanz un modelo a 12,5 MHz. AMD y Harris ampliaron esa velocidad a 20 MHz y 25 MHz, respectivamente. En promedio, el 80286 tena una velocidad de unas 0,21 instrucciones por ciclo de reloj.[1] El modelo de 6 MHz operaba a 0,9 MIPS, el de 10 MHz a 1,5 MIPS, y el de 12 MHz a 2,66 MIPS. El rendimiento del 80286 es ms del doble que el de sus predecesores (los Intel 8086 e Intel 8088) por ciclo de reloj. De hecho, el aumento de rendimiento por ciclo de reloj puede ser el mayor entre las diferentes generaciones de procesadores x86. El clculo de los modos de direccionamiento ms complejos (como base + ndice) utilizaban menos ciclos de reloj porque eran realizados por un circuito especial en el 286; el 8086, ha de realizar el clculo de la direccin efectiva en la ULA general, lo que consume muchos ciclos. Adems, operaciones matemticas complejas (como MUL/DIV) ocupan menos ciclos que en el 8086. Al tener un bus de direcciones de 24 bits, es capaz de direccionar hasta 16 MB (16 MiB) de memoria RAM, mientras que el 8086 slo puede 1 MB. Aunque MS- DOS puede utilizar la RAM adicional (memoria extendida ) mediante una llamada a la BIOS INT 15h, AH=87h), como disco RAM o mediante emulacin de memoria expandida previamente habilitada mediante software la memoria extendida, pocos ordenadores basados en el i286 tuvieron ms de 1 MB de memoria. El i286 fue diseado para ejecutar aplicaciones multitarea, incluyendo comunicaciones (como PBX automatizadas), control de procesos en tiempo real y sistemas multiusuario. Para ello se le aadi un modo protegido, en el cual existan cuatro anillos de ejecucin y divisin de memoria mediante tablas de segmentos. En este modo trabajaban las versiones de 16 bits del sistema operativo OS/2. En este modo protegido se permita el uso de toda la memoria directamente, y que adems ofreca proteccin entre aplicaciones para evitar la escritura de datos accidental (o malintencionada) fuera de la zona de memoria 10
asignada. Sin embargo, una vez que el procesador entraba en el modo protegido, no poda volver al modo real sin resetear el procesador. El microcontrolador Intel 8042, utilizado para controlar el teclado en los AT, tiene una funcin que resetea slo la CPU (la famosa combinacin CTRL - ALT - DEL). A pesar de su gran popularidad, hoy en da quedan pocos ordenadores con el i286 funcionando. El sucesor del i286 fue el Intel 80386, de 32 bits.
El Intel 80386 (i386, 386) es un microprocesador CISC con arquitectura x86. Durante su diseo se le llam 'P3', debido a que era el prototipo de la tercera generacin x86. El i386 fue empleado como la unidad central de proceso de muchos ordenadores personales desde mediados de los aos 80 hasta principios de los 90. Fabricado y diseado por Intel, el procesador i386 fue lanzado al mercado el 16 de octubre de 1985. Intel estuvo en contra de fabricarlo antes de esa fecha debido a que los costes de produccin lo hubieran hecho poco rentable. Los primeros procesadores fueron enviados a los clientes en 1986. Del mismo modo, las placas base para ordenadores basados en el i386 eran al principio muy elaboradas y caras, pero con el tiempo su diseo se racionaliz. En mayo de 2006 Intel anunci que la fabricacin del 386 finalizara a finales de septiembre de 2007.[1] Aunque ha quedado obsoleto como CPU de ordenador personal, Intel ha seguido fabricando el chip para sistemas empotrados y tecnologa aeroespacial.
11
Intel 80386EX
El intel 80386EX es una variante del procesador intel 386 diseado para sistemas integrados introducido en agosto del ao 1994. Ha sido un xito y se utiliza en satlites espaciales como el Telescopio espacial Hubble. Ha tenido ms xito que el intel 80376. Cuenta con 2 canales DMA, ISO asncrona, cach de 32 Kb, Direccionamiento de 26 bits con un max. de 64 Mb de DRAM, I/O de 24 lneas, disponible con velocidades de 16, 20, 25 Mhz, con 3, 3,3 y 5 vol. respectivamente.
Celeron es el nombre que lleva la lnea de procesadores de bajo costo de Intel. El objetivo era poder, mediante esta segunda marca, penetrar en los mercados impedidos a los Pentium, de mayor rendimiento y precio. Los procesadores Celeron pueden realizar las mismas funciones bsicas que otros, pero su rendimiento es inferior. Por ejemplo, los Celeron usualmente tienen menos memoria cach o algunas funcionalidades avanzadas desactivadas. Estas diferencias impactan variablemente en el rendimiento general del procesador. Aunque muchos Celeron pueden trabajar prcticamente al mismo nivel de otros procesadores, algunas aplicaciones avanzadas (juegos, edicin de video, programas de ingeniera, etc.) tal vez no funcionen igual en un Celeron. Se vende desde agosto de 1998, y estaba basado en el Pentium II. Posteriormente, salieron nuevos modelos basados en las tecnologas Pentium 12
III, Pentium IV e Intel Core 2 Duo. El ms reciente est basado en el Core 2 Duo (Allendale).
Celeron D El Celeron D est basado en la versin Prescott de los Pentium 4; Socket 775 y tiene un cach ms grande que los anteriores: 256KB. Adems, el FSB de 533 MHz y las tecnologas SSE3 y EM64T lo convierten en un procesador de buenas prestaciones. Trabajan con los chipsets* Intel 875, 865, 915 y 925. En esta ocasin, se ha dejado de lado la cuestin de los MHz y cada microprocesadores denominado con un nmero, hasta ahora han sido lanzados los siguientes:
Celeron D 310 (2,13 GHz) Celeron D 315 (2.26 GHz) Celeron D 320 (2,40 GHz) Celeron D 325 (2,53 GHz) Celeron D 330 (2,67 GHz) Celeron D 335 (2,80 GHz) Celeron D 336 (2,80 GHz) Celeron D 345 (3,06 GHz) Celeron D 350 (3,20 GHz)
Las principales diferencias del nuevo ncleo son: Fabricacin en tecnologa de 90nm, en lugar de los 130nm del Celeron previo. Pipeline de 31 etapas, en lugar de las 20 del ncleo Northwood. Set de instrucciones SSE3, con 13 nuevas instrucciones. Cache primario de Datos de 16 Kb, en lugar de 8 Kb, pero con una latencia mayor. Cache secundario de 256 Kb, en lugar de los 128 KB del ncleo previo, nuevamente con 50% mayor latencia. 13
Frecuencia frontal de 133 MHz en lugar de 100 MHz (o 533 en lugar de 400 MHz, de acuerdo a la forma marketera de medir el FSB) El Celeron D, es el primer Celeron en utilizar los nuevos "nmeros de modelo" de Intel, mediante los cuales Intel pretende desenfatizar el uso de la frecuencia mxima del procesador como un parmetro de comparacin.
Intel Core Duo es un microprocesador de sexta generacin lanzado en enero del 2006 por Intel, posterior al Pentium D y antecesor al Core 2 Duo. Dispone de dos ncleos de ejecucin lo cual hace de este procesador especial para las aplicaciones de subprocesos mltiples y para multitarea. Puede ejecutar varias aplicaciones exigentes simultneamente, como juegos con grficos potentes o programas que requieran muchos clculos, al mismo tiempo que permite descargar msica o analizar el PC con un antivirus en segundo plano, por ejemplo. Este microprocesador implementa 2 MB de cach compartida para ambos ncleos ms un bus frontal de 667 553 MHz; adems implementa el juego de instrucciones SSE3 y mejoras en las unidades de ejecucin de SSE y SSE2. Sin embargo, el desempeo con enteros es ligeramente inferior debido a su cach con mayor latencia, adems no es compatible con EM64T por lo que solo trabaja a 32 bits. Inicialmente estos procesadores fueron producidos con el proceso de manufactura de 65 nanmetros (ncleo Kentsfield), con frecuencias que van desde los 2.4 Ghz hasta los 3 Ghz y con un FSB de entre 1066 y 1333 Mhz y una memoria cach L2 de 8 MB (2x4 MB) Posteriormente, se redujo el proceso productivo a 45 nanmetros, creando el ncleo Yorkfield que, al igual que su antecesor, corresponde a 2 ncleos Wolfdale bajo el mismo empaque. Sus frecuencias van desde los 2.53 Ghz hasta los 3.2 Ghz, su FSB va desde los 1333 hasta los 1600 Mhz y su cach L2 es de 12 MB (2x6 MB). Como medida 14
econmica el modelo Q9300 posee solamente 6 MB (2x3 MB) de cach L2 a diferencia de sus pares de mayor frecuencia. Aunque inicialmente el Core 2 Quad fue lanzado exclusivamente en los mercados desktop y server, debido principalmente a su alto consumo de energa (desde los 95W en ese entonces). Con el paso al proceso productivo de 45 nanmetros y la introduccin del ncleo Penryn, Intel tiene planeado introducir un modelo Quad Core para el mercado mvil en conjunto con la plataforma mvil Centrino 2. El modelo, conocido como QX9300, tendra una frecuencia de 2.53 Ghz, un bus de 1066 Mhz y una cach L2 de 12 MB (2x6 MB), con un consumo energtico de slo 45 W, menos de la mitad en comparacin a un modelo desktop tradicional.
Intel Core i9 Core i9CPU Produccin: 2010 Fabricante: Intel Procesos: (Longitud de canal del MOSFET) 32nm m Conjunto de instrucciones: x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 Microarquitectura: Westmere Socket: LGA-1366 Nmero de ncleos: 6 Nombre de ncleo: Gulftown Intel Core i9 es el nombre del futuro procesador de seis ncleos de Intel, que usar la arquitectura Westmere. Al contrario que su predecesor, el Core i7, estar fabricado en 32nm.
15
Lenguaje de Programacin
Un lenguaje de programacin es un lenguaje que puede ser utilizado para controlar el comportamiento de una mquina, particularmente una computadora. Consiste en un conjunto de reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos, respectivamente. Aunque muchas veces se usa lenguaje de programacin y lenguaje informtico como si fuesen sinnimos, no tiene por qu ser as, ya que los lenguajes informticos engloban a los lenguajes de programacin y a otros ms, como, por ejemplo, el HTML.
Segn la forma de ejecucin
Lenguajes compilados Naturalmente, un programa que se escribe en un lenguaje de alto nivel tambin tiene que traducirse a un cdigo que pueda utilizar la mquina. Los programas traductores que pueden realizar esta operacin se llaman compiladores. stos, como los programas ensambladores avanzados, pueden generar muchas lneas de cdigo de mquina por cada proposicin del programa fuente. Se requiere una corrida de compilacin antes de procesar los datos de un problema. Los compiladores son aquellos cuya funcin es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje mquina con cdigo binario). Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el cdigo.
16
Lenguajes interpretados Se puede tambin utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el cdigo objeto que se produce durante la corrida de compilacin para utilizarlo en una corrida de produccin futura, el programador slo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuacin, un programa intrprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la mquina, convierte cada proposicin del programa fuente en lenguaje de mquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el cdigo objeto para utilizarlo posteriormente. La siguiente vez que se utilice una instruccin, se le debe interpretar otra vez y traducir a lenguaje mquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instruccin del ciclo tendr que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea ms lento en tiempo de ejecucin (porque se va revisando el cdigo en tiempo de ejecucin) pero ms rpido en tiempo de diseo (porque no se tiene que estar compilando a cada momento el cdigo completo). El intrprete elimina la necesidad de realizar una corrida de compilacin despus de cada modificacin del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelacin deber ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de produccin.
ALGOL APL ASP ASP.NET AWK B BASIC BCPL Befunge Boo C C++ C# Caml Clipper CLIPS CLU COBOL CORAL D Delphi DIV Dylan Eiffel Erlang Ensamblador Extended ML Euphoria Fnix Flow-Matic Forth Haskell Icon Inform INTERCAL ISWIM J Java JavaScript Joy KWC LADDER Lexico Lingo Lisp Logo Lua MAGIC Mainsail Mesa Miranda ML Modula Modula-2 Modula-3 Natural NetREXX Oberon Object REXX Objective-C Ocaml Occam PostScript PowerBuilder Prolog Python Rapid REXX RPN RPG Ruby Sail Sather Scheme Scriptol Seed7 Self Sh Simula Smalltalk Snobol SPARK Squeak SR Standard ML TI-Basic TCL VBA Visual Basic Visual C++ Visual DialogScript Visual Foxpro Yurix 18
Oz Pascal ZPL
Programacin modular
La programacin estructurada es una tcnica de diseo de programas que comenz a ponerse en prctica a principios de los aos 70. Su utilizacin tiene como objetivo paliar algunas deficiencias: 1. Los programas que estn constituidos por un nico bloque, ms o menos grande, de cdigo, dependiendo de la complejidad y tamao de la aplicacin, por ejemplo 5000 6000 lneas de cdigo sin comentar, sin documentar y sin estructurar, esto es, sin hacer uso de un slo submdulo, son programas pocos legibles, difciles de depurar y modificar y poco reutilizables. 2. Un problema complejo no puede solucionarse de una sola vez y con un nico algoritmo; adems, existen operaciones que se repiten una y otra vez a lo largo del programa, de tal manera que es necesario el mismo bloque de cdigo pero con diferentes datos. Con el fin de dar solucin a los puntos anteriores se introdujo la programacin estructurada. Su objetivo primordial es resolver un problema, ms o menos complejo, dividindolo en otros ms sencillos, que ligados convenientemente, nos den la solucin del problema original. Cada subproblema se representar mediante uno o varios mdulos segn su complejidad. La idea es que estos mdulos sean independientes, es decir, que se puedan modificar o reemplazar sin afectar al resto del programa o que puedan ser reutilizados en otros programas. Supongamos el siguiente ejemplo. Un profesor quiere crear un programa para gestionar la notas de sus alumnos. Quiere que dicho programa le permita realizar tareas tales como asignar notas, cambiar notas, ver las notas segn las distintas calificaciones, etc. Un posible divisin del problema en mdulos sera: Esta subdivisin nos permitira, fcilmente, cambiar la forma de visualizar a los alumnos, reutilizar el mdulo Visualizar en otro programa y sobre todo es mucho ms fcil de comprobar su funcionamiento. 19
Por tanto, las ventajas del diseo modular se traducen, principalmente, en que los programas son: Ms fciles de escribir y probar (los mdulos pueden escribirse y probarse separadamente) Ms fciles de mantener y documentar.
Programacin Estructurada Se refiere a un conjunto de tcnicas que han ido evolucionando. Estas tcnicas aumentan considerablemente la productividad del programa reduciendo el tiempo requerido para escribir, verificar, depurar y mantener los programas. La programacin estructurada utiliza un nmero limitado de estructuras de control que minimizan la complejidad de los problemas y que reducen los errores. sta incorpora entre otros elementos: el diseo descendente, recursos abstractos y estructuras bsicas. La programacin estructurada es una forma de escribir programacin de ordenador de forma clara, para ello utiliza nicamente tres estructuras: secuencial, selectiva e iterativa; siendo innecesario y no permitindose el uso de la instruccin o instrucciones de transferencia incondicional.
Algunos fabricantes de Microprocesadores
Los principales fabricantes de microprocesadores son: Freescale, Fujitsu, Intel, AMD, Intersil, Toshiba, Zarlink, Arm, Motorola, Apple, Sun, Compaq, IBM, cyrix. Aunque sin lugar a duda las dos marcas que manejan el Mercado de los microprocesadores y estn en constante competencia son: INTEL y AMD.
20
INTEL: INTEL CORPORATION
Es una fbrica lder de dispositivos semiconductores que fue fundada en 1968 por BOB NOYCE y GORDEN MORE en MOUNTAIN VIEW, California. Un ao ms tarde introdujo su primer producto un chip RAM bipolar esttico de 64 bits. Para 1971 los chips de memoria comenzaron a reemplazar los ncleos de ferrita. Intel fue la empresa que invent el microprocesador en 1971 con el nombre de chip 4004 y su primer gran xito fue el microprocesador 8086. Intel produce
AMD: ADVANCE MICRO DEVICES
Advanced Micro Devices, Inc. (NYSE: AMD) o AMD es una compaa estadounidense de semiconductores basada en Sunnyvale, California, que desarrolla procesadores de cmputo y productos tecnolgicos relacionados para el mercado. Sus productos principales incluyen microprocesadores, placas base, circuitos integrados auxiliares, procesadores embebidos y procesadores grficos para servidores, estaciones de trabajo, computadores personales, y aplicaciones para sistemas embedidos. AMD es el segundo proveedor de microprocesadores basados en la arquitectura x86 y tambin uno de los ms grandes fabricantes de unidades de procesamiento grfico. Tambin posee un 8,6% de Spansion, un proveedor de memoria flash no voltil.)7 En 2010, AMD se ubic en el lugar 20 en la lista de fabricantes de semiconductores en trminos de ingresos.
21
Estructura interna de un Microprocesador (Data Chip)
Componentes Principales Memoria Cache Unidad Aritmtico-Lgica ALU Unidad de Control CU ("Control Unit" ) Bus interno Conexiones con el exterior
MICROCONTROLADORES
Un Microcontrolador es un circuito integrado de alta escala de integracin que incorpora la mayor parte de los elementos que configuran un controlador. Un Microcontrolador dispone normalmente de los siguientes componentes: Procesador o UCP (Unidad Central de Proceso). Memoria RAM para Contener los datos. Memoria para el programa tipo ROM/PROM/EPROM. Lneas de E/S para comunicarse con el exterior. Diversos mdulos para el control de perifricos (temporizadores, Puertas Serie y Paralelo, CAD: Conversores Analgico/Digital, CDA: Conversores Digital/Analgico, etc.). Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema. Los productos que para su regulacin incorporan un Microcontrolador disponen de las siguientes ventajas: Aumento de prestaciones: un mayor control sobre un determinado elemento representa una mejora considerable en el mismo. Aumento de la fiabilidad: al reemplazar el Microcontrolador por un elevado nmero de elementos disminuye el riesgo de averas y se precisan menos ajustes. Reduccin del tamao en el producto acabado: La integracin del Microcontrolador en un chip 22
disminuye el volumen, la mano de obra y los stocks. Mayor flexibilidad: las caractersticas de control estn programadas por lo que su modificacin slo necesita cambios en el programa de instrucciones. El Microcontrolador es en definitiva un circuito integrado que incluye todos los componentes de un computador. Debido a su reducido tamao es posible montar el controlador en el propio dispositivo al que gobierna. En este caso el controlador recibe el nombre de controlador empotrado (embedded controller).
Qu pueden hacer los Microcontroladores? Para entender con ms facilidad las razones del xito tan grande de los Microcontroladores, vamos a prestar atencin al siguiente ejemplo. Hace unos 10 aos, disear un dispositivo electrnico de control de un ascensor de un edificio de varios pisos era muy difcil, incluso para un equipo de expertos. Ha pensado alguna vez en qu requisitos debe cumplir un simple ascensor? Cmo lidiar con la situacin cuando dos o ms personas llaman al ascensor al mismo tiempo? Cul llamada tiene la prioridad? Cmo solucionar las cuestiones de seguridad, de prdida de electricidad, de fallos, de uso indebido? Lo que sucede despus de resolver estos problemas bsicos es un proceso meticuloso de disear los dispositivos adecuados utilizando un gran nmero de los chips especializados. Este proceso puede tardar semanas o meses, dependiendo de la complejidad del dispositivo. Cuando haya terminado el proceso, llega la hora de disear una placa de circuito impreso y de montar el dispositivo. Un dispositivo enorme! Es otro trabajo difcil y tardado. Por ltimo, cuando todo est terminado y probado adecuadamente, pasamos al momento crucial y es cuando uno se concentra, respira profundamente y enciende la fuente de alimentacin. Esto suele ser el punto en el que la fiesta se convierte en un verdadero trabajo puesto que los dispositivos electrnicos casi nunca funcionan apropiadamente desde el inicio. Preprese para muchas noches sin dormir, correcciones, mejoras... y no se olvide de que todava estamos hablando de cmo poner en marcha un simple ascensor. 23
Cuando el dispositivo finalmente empiece a funcionar perfectamente y todo el mundo est satisfecho, y le paguen por el trabajo que ha hecho, muchas compaas de desarrollo estarn interesadas en su trabajo. Por supuesto, si tiene suerte, cada da le traer una oferta de trabajo de un nuevo inversionista. Sin embargo, si lo requieren para trabajar en el control de los elevadores de un nuevo edificio que tiene cuatro pisos ms de los que ya maneja su sistema de control. Sabe cmo proceder? Cree acaso que se pueden controlar las demandas de sus clientes? Pensamos que usted va a construir un dispositivo universal que se puede utilizar en los edificios de 4 a 40 pisos, una obra maestra de electrnica. Bueno, incluso si usted consigue construir una joya electrnica, su inversionista le esperar delante de la puerta pidiendo una cmara en el ascensor o una msica relajante en caso de fallo de ascensor. O un ascensor con dos puertas. De todos modos, la ley de Murphy es inexorable y sin duda usted no podr tomar ventaja a pesar de todos los esfuerzos que ha hecho. Por desgracia, todo lo que se ha dicho hasta ahora sucede en la realidad. Esto es lo que dedicarse a la ingeniera electrnica realmente significa. Es as como se hacan las cosas hasta aparicin de los Microcontroladores diseados - pequeos, potentes y baratos. Desde ese momento su programacin dej de ser una ciencia, y todo tom otra direccin. El dispositivo electrnico capaz de controlar un pequeo submarino, una gra o un ascensor como el anteriormente mencionado, ahora est incorporado en un slo chip. Los Microcontroladores ofrecen una amplia gama de aplicaciones y slo algunas se exploran normalmente. Le toca a usted decidir qu quiere que haga el Microcontrolador y cargar un programa en l con las instrucciones apropiadas. Antes de encender el dispositivo es recomendable verificar su funcionamiento con ayuda de un simulador. Si todo funciona como es debido, incorpore el Microcontrolador en el sistema. Si alguna vez necesita cambiar, mejorar o actualizar el programa, hgalo. Hasta cundo? Hasta quedar satisfecho. Eso puede realizarse sin ningn problema.
24
Clasificacin de Microcontroladores
Por su funcin: - Propsito general: CPU+Memoria+E/S+.... y juego de instrucciones no especficas - Especializados: Arquitectura e instrucciones orientadas hacia algn tipo de aplicaciones concretas: Comunicaciones, manejo de teclados, DSP, procesamiento de video ..... Por su longitud de palabra: 4, 8 ,16, 32 y 64 bits
Lenguajes de programacin
El microcontrolador ejecuta el programa cargado en la memoria Flash. Esto se denomina el cdigo ejecutable y est compuesto por una serie de ceros y unos, aparentemente sin significado. Dependiendo de la arquitectura del microcontrolador, el cdigo binario est compuesto por palabras de 12, 14 o 16 bits de anchura. Cada palabra se interpreta por la CPU como una instruccin a ser ejecutada durante el funcionamiento del microcontrolador. Todas las instrucciones 25
que el microcontrolador puede reconocer y ejecutar se les denominan colectivamente Conjunto de instrucciones. Como es ms fcil trabajar con el sistema de numeracin hexadecimal, el cdigo ejecutable se representa con frecuencia como una serie de los nmeros hexadecimales denominada cdigo Hex. En los microcontroladores PIC con las palabras de programa de 14 bits de anchura, el conjunto de instrucciones tiene 35 instrucciones diferentes.
Lenguaje ensamblador
Como el proceso de escribir un cdigo ejecutable era considerablemente arduo, en consecuencia fue creado el primer lenguaje de programacin denominado ensamblador (ASM). Siguiendo la sintaxis bsica del ensamblador, era ms fcil escribir y comprender el cdigo. Las instrucciones en ensamblador consisten en las abreviaturas con significado y a cada instruccin corresponde una localidad de memoria. Un programa denominado ensamblador compila (traduce) las instrucciones del lenguaje ensamblador a cdigo mquina (cdigo binario). Este programa compila instruccin a instruccin sin optimizacin. Como permite controlar en detalle todos los procesos puestos en marcha dentro del chip, este lenguaje de programacin todava sigue siendo popular.
26
Ventajas de lenguajes de programacin de alto nivel A pesar de todos los lados buenos, el lenguaje ensamblador tiene algunas desventajas: Incluso una sola operacin en el programa escrito en ensamblador consiste en muchas instrucciones, hacindolo muy largo y difcil de manejar. Cada tipo de microcontrolador tiene su propio conjunto de instrucciones que un programador tiene que conocer para escribir un programa Un programador tiene que conocer el hardware del microcontrolador para escribir un programa Programa escrito en C (El mismo programa compilado al cdigo ensamblador):
Los lenguajes de programacin de alto nivel (Basic, Pascal, C etc.) fueron creados con el propsito de superar las desventajas del ensamblador. En lenguajes de programacin de alto nivel varias instrucciones en ensamblador se sustituyen por una sentencia. El programador ya no tiene que conocer el conjunto de instrucciones o caractersticas del hardware del microcontrolador utilizado. Ya no es posible conocer exactamente cmo se ejecuta cada sentencia, de todas formas ya no importa. Aunque siempre se puede insertar en el programa una secuencia escrita en ensamblador. 27
Si alguna vez ha escrito un programa para un microcontrolador PIC en lenguaje ensamblador, probablemente sepa que la arquitectura RISC carece de algunas instrucciones. Por ejemplo, no hay instruccin apropiada para multiplicar dos nmeros. Por supuesto, para cada problema hay una solucin y ste no es una excepcin gracias a la aritmtica que permite realizar las operaciones complejas al descomponerlas en un gran nmero operaciones ms simples. En este caso, la multiplicacin se puede sustituir con facilidad por adicin sucesiva (a x b = a + a + a + ... + a). Ya estamos en el comienzo de una historia muy larga... No hay que preocuparse al utilizar uno de estos lenguajes de programacin de alto nivel como es C, porque el compilador encontrar automticamente la solucin a ste problema y otros similares. Para multiplicar los nmeros a y b, basta con escribir a*b.
Lenguaje C El lenguaje C dispone de todas las ventajas de un lenguaje de programacin de alto nivel (anteriormente descritas) y le permite realizar algunas operaciones tanto sobre los bytes como sobre los bits (operaciones lgicas, desplazamiento etc.). Las caractersticas de C pueden ser muy tiles al programar los microcontroladores. Adems, C est estandarizado (el estndar ANSI), es muy portable, as que el mismo cdigo se puede utilizar muchas veces en diferentes proyectos. Lo que lo hace accesible para cualquiera que conozca este lenguaje sin reparar en el propsito de uso del microcontrolador. C es un lenguaje compilado, lo que significa que los archivos fuentes que contienen el cdigo C se traducen a lenguaje mquina por el compilador. Todas estas caractersticas hicieron al C uno de los lenguajes de programacin ms populares. 28
La figura anterior es un ejemplo general de lo que sucede durante la compilacin de programa de un lenguaje de programacin de alto nivel a bajo nivel.
Algunos fabricantes de Microcontroladores
Microchip Technologi Inc Microchip Technology Inc. es una empresa fabricante de microcontroladores, memorias y semiconductores analgicos, situada en Chandler, Arizona, EE. UU. Su Producto ms pupular son los microcontroladores PIC de 8 bits.
freescale semiconductor Freescale Semiconductor es una compaa global lder en la industria de semiconductores enfocada proveer procesamiento embebido y productos de conectividad. Actualmente, se enfoca al suministro de productos para la industria automotriz, de redes, comunicaciones inalmbricas, control industrial e industrias de consumo electrnico. Con se oferta de procesadores embebidos y de productos complementarios, proporciona una solucin completa de semiconductores y software.
29
Atmel Corporation Atmel es una compaa de semiconductores, fundada en 1984. Su lnea de productos incluye microcontroladores (incluyendo derivados del 8051, el AT91SAM basados en ARM, y sus arquitecturas propias AVR y AVR32), dispositivos de radiofrecuencia, memorias EEPROM y Flash, ASICs, WiMAX, y muchas otras. Tambin tiene capacidad de ofrecer soluciones del tipo system on chip (SoC).
Texas Instruments Texas Instruments o TI, es una empresa norteamericana que desarrolla y comercializa semiconductores y tecnologa para sistemas de cmputo. TI es el tercer mayor fabricante de semiconductores del mundo tras Intel y Samsung y es el mayor suministrador de circuitos integrados para telfonos mviles. Igualmente, es el mayor productor de procesadores digitales de seal y semiconductores analgicos. Otras reas de actividad incluyen circuitos integrados para mdem de banda ancha, perifricos para ordenadores, dispositivos digitales de consumo y RFID.
Estructura interna de un Microcontrolador
Aunque inicialmente todos los Microcontroladores adoptaron la arquitectura clsica de von Neumann, en el momento presente se impone la arquitectura Harvard. La arquitectura de von Neumann se caracteriza por disponer de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a travs de un sistema de buses nico (direcciones, datos y control). La arquitectura Harvard dispone de dos memorias independientes una, que contiene slo instrucciones y otra, slo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultneamente en ambas memorias. 30
La arquitectura Harvard dispone de dos memorias independientes para datos y para instrucciones, permitiendo accesos simultneos. Los Microcontroladores PIC responden a la arquitectura Harvard. Es el elemento ms importante del Microcontrolador y determina sus principales caractersticas, tanto a nivel hardware como software. Se encarga de direccionar la memoria de instrucciones, recibir el cdigo OP de la instruccin en curso, su decodificacin y la ejecucin de la operacin que implica la instruccin, as como la bsqueda de los operandos y el almacenamiento del resultado. Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales. CISC: Un gran nmero de procesadores usados en los Microcontroladores estn basados en la filosofa CISC (Computadores de Juego de Instrucciones Complejo). Disponen de ms de 80 instrucciones mquina en su repertorio, algunas de las cuales son muy sofisticadas y potentes, requiriendo muchos ciclos para su ejecucin. Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas que actan como macros. RISC: Tanto la industria de los computadores comerciales como la de los Microcontroladores estn decantndose hacia la filosofa RISC (Computadores de Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones mquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutan en un ciclo. La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador. SISC: En los Microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, adems de ser reducido, es "especfico", o sea, las instrucciones se adaptan a las necesidades de la aplicacin prevista. Esta filosofa se ha bautizado con el nombre de SISC (Computadores de Juego de Instrucciones Especfico).
Memoria En los Microcontroladores la memoria de instrucciones y datos est integrada en el propio chip. Una parte debe ser no voltil, tipo ROM, y se destina a contener el programa de instrucciones que gobierna la aplicacin. Otra parte de memoria ser tipo RAM, voltil, y se destina a guardar las variables y los datos. 31
Hay dos peculiaridades que diferencian a los Microcontroladores de los computadores personales: No existen sistemas de almacenamiento masivo como disco duro o disquetes. Como el Microcontrolador slo se destina a una tarea en la memoria ROM, slo hay que almacenar un nico programa de trabajo. La RAM en estos dispositivos es de poca capacidad pues slo debe contener las variables y los cambios de informacin que se produzcan en el transcurso del programa. Por otra parte, como slo existe un programa activo, no se requiere guardar una copia del mismo en la RAM pues se ejecuta directamente desde la ROM. Los usuarios de computadores personales estn habituados a manejar Megabytes de memoria, pero, los diseadores con Microcontroladores trabajan con capacidades de ROM comprendidas entre 512 bytes y 8 k bytes y de RAM comprendidas entre 20 y 512 bytes. Segn el tipo de memoria ROM que dispongan los Microcontroladores, la aplicacin y utilizacin de los mismos es diferente. Se describen las cinco versiones de memoria no voltil que se pueden encontrar en los Microcontroladores del mercado.
1. ROM con mscara Es una memoria no voltil de slo lectura cuyo contenido se graba durante la fabricacin del chip. El elevado coste del diseo de la mscara slo hace aconsejable el empleo de los Microcontroladores con este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades.
2. OTP El Microcontrolador contiene una memoria no voltil de slo lectura "programable una sola vez" por el usuario. OTP (One Time Programmable). Es el usuario quien puede escribir el programa en el chip mediante un sencillo grabador controlado por un programa desde un PC. La versin OTP es recomendable cuando es muy corto el ciclo de diseo del producto, o bien, en la construccin de prototipos y series muy pequeas. Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptacin mediante fusibles para proteger el cdigo contenido. 32
3 EPROM Los Microcontroladores que disponen de memoria EPROM (Erasable Programmable Read OnIy Memory) pueden borrarse y grabarse muchas veces. La grabacin se realiza, como en el caso de los OTP, con un grabador gobernado desde un PC. Si, posteriormente, se desea borrar el contenido, disponen de una ventana de cristal en su superficie por la que se somete a la EPROM a rayos ultravioleta durante varios minutos. Las cpsulas son de material cermico y son ms caros que los Microcontroladores con memoria OTP que estn hechos con material plstico.
4 EEPROM Se trata de memorias de slo lectura, programables y borrables elctricamente EEPROM (Electrical Erasable Programmable Read OnIy Memory). Tanto la programacin como el borrado, se realizan elctricamente desde el propio grabador y bajo el control programado de un PC. Es muy cmoda y rpida la operacin de grabado y la de borrado. No disponen de ventana de cristal en la superficie. Los Microcontroladores dotados de memoria EEPROM una vez instalados en el circuito, pueden grabarse y borrarse cuantas veces se quiera sin ser retirados de dicho circuito. Para ello se usan "grabadores en circuito" que confieren una gran flexibilidad y rapidez a la hora de realizar modificaciones en el programa de trabajo. El nmero de veces que puede grabarse y borrarse una memoria EEPROM es finito, por lo que no es recomendable una reprogramacin contina. Son muy idneos para la enseanza y la Ingeniera de diseo. Se va extendiendo en los fabricantes la tendencia de incluir una pequea zona de memoria EEPROM en los circuitos programables para guardar y modificar cmodamente una serie de parmetros que adecuan el dispositivo a las condiciones del entorno. Este tipo de memoria es relativamente lenta.
33
5 FLASH Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar. Funciona como una ROM y una RAM pero consume menos y es ms pequea. A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es ms rpida y de mayor densidad que la EEPROM. La alternativa FLASH est recomendada frente a la EEPROM cuando se precisa gran cantidad de memoria de programa no voltil. Es ms veloz y tolera ms ciclos de escritura/borrado. Las memorias EEPROM y FLASH son muy tiles al permitir que los Microcontroladores que las incorporan puedan ser reprogramados "en circuito", es decir, sin tener que sacar el circuito integrado de la tarjeta. As, un dispositivo con este tipo de memoria incorporado al control del motor de un automvil permite que pueda modificarse el programa durante la rutina de mantenimiento peridico, compensando los desgastes y otros factores tales como la compresin, la instalacin de nuevas piezas, etc. La reprogramacin del Microcontrolador puede convertirse en una labor rutinaria dentro de la puesta a punto.
Puertas de Entrada y Salida La principal utilidad de las patitas que posee la cpsula que contiene un Microcontrolador es soportar las lneas de E/S que comunican al computador interno con los perifricos exteriores. Segn los controladores de perifricos que posea cada modelo de Microcontrolador, las lneas de E/S se destinan a proporcionar el soporte a las seales de entrada, salida y control.
Reloj principal Todos los Microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta frecuencia, que configura los impulsos de reloj usados en la sincronizacin de todas las operaciones del sistema. Generalmente, el circuito de reloj est incorporado en el Microcontrolador y slo se necesitan unos pocos componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Dichos componentes suelen consistir en un cristal de cuarzo junto a elementos pasivos o bien un resonador cermico o una red R-C. Aumentar la 34
frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones pero lleva aparejado un incremento del consumo de energa.
Diferencias entre un Microprocesador y un Microcontrolador
Los principiantes en electrnica creen que un Microcontrolador es igual a un microprocesador. Esto no es cierto. Difieren uno del otro en muchos sentidos. La primera y la ms importante diferencia es su funcionalidad. Para utilizar al microprocesador en una aplicacin real, se debe de conectar con componentes tales como memoria o componentes buses de transmisin de datos. Aunque el microprocesador se considera una mquina de computacin poderosa, no est preparado para la comunicacin con los dispositivos perifricos que se le conectan. Para que el microprocesador se comunique con algn perifrico, se deben utilizar los circuitos especiales. As era en el principio y esta prctica sigue vigente en la actualidad.
Por otro lado, al Microcontrolador se le disea de tal manera que tenga todas las componentes integradas en el mismo chip. No necesita de otros componentes especializados para su aplicacin, porque todos los circuitos necesarios, que de otra manera correspondan a los perifricos, ya se encuentran 35
incorporados. As se ahorra tiempo y espacio necesario para construir un dispositivo.
PLC (CONTROLADORES LGICOS PROGRAMABLES)
Segn lo define la Asociacin Nacional de Fabricantes Elctricos de los Estados Unidos un PLC Programable Logic Controller (Controlador Lgico Programable) es un dispositivo digital electrnico con una memoria programable para el almacenamiento de instrucciones, permitiendo la implementacin de funciones especficas como ser: lgicas, secuenciales, temporizadas, de conteo y aritmticas; con el objeto de controlar mquinas y procesos. Tambin se puede definir como un equipo electrnico, el cual realiza la ejecucin de un programa de forma cclica. La ejecucin del programa puede ser interrumpida momentneamente para realizar otras tareas consideradas ms prioritarias, pero el aspecto ms importante es la garanta de ejecucin completa del programa principal. Estos controladores son utilizados en ambientes industriales donde la decisin y la accin deben ser tomadas en forma muy rpida, para responder en tiempo real. Los PLC son utilizados donde se requieran tanto controles lgicos como secuenciales o ambos a la vez.
36
Estructura del PLC Siemens S7-300
Caractersticas El sistema de miniautmatas modulares para las gamas baja y media. Con una amplia gama de mdulos para una adaptacin ptima a la tarea de automatizacin en particular. De aplicacin flexible gracias a la posibilidad de realizar estructuras descentralizadas e interconexiones por red. Cmodo de aplicar gracias a su facilidad de uso y a su instalacin simple y sin necesidad de ventilacin. Ampliable sin problemas en el caso de que aumenten las tareas. Potente gracias a la gran cantidad de funciones integradas
37
Caractersiticas de la CPU La CPU de seguridad con gran memoria de programa y capacidad funcional para aplicaciones sofisticadas. Para configurar un sistema de automatizacin de seguridad positiva para instalaciones con altos requisitos de seguridad. Conforme a los requisitos de seguridad hasta SIL 3 segn IEC 61508, AK6 conforme a DIN V 19250 y cat. 4 segn EN 954-1. No requiere un cableado adicional de la periferia orientada a la seguridad. 1 interfaz maestro/esclavo PROFIBUS DP y 1 interfaz DP maestro/esclavo/MPI. Ambos interfaces utilizables para la conexin de mdulos de seguridad. Mdulos perifricos de seguridad de ET 200S PROFIsafe conectables de forma descentralizada. Mdulos perifricos de seguridad de ET 200M conectables de forma centralizada y descentralizada. Mdulos estndar para aplicaciones no de seguridad utilizables de forma centralizada y descentralizada.
CPU 312C La CPU compacta con entradas y salidas digitales. Para pequeas aplicaciones que exigen gran capacidad de procesamiento. Con funciones tecnolgicas.
CPU 313C La CPU compacta con entradas y salidas digitales y analgicas integradas. Para sistemas que requieren gran velocidad de procesamiento y breves tiempos de reaccin. Con funciones tecnolgicas. 38
CPU 313C-2 PtP La CPU compacta con entradas y salidas digitales integradas y un segundo puerto serie. Para sistemas que requieren gran velocidad de procesamiento y de reaccin. Con funciones tecnolgicas
CPU 313C-2 DP La CPU compacta con entradas y salidas digitales integradas y un puerto PROFIBUS-DP maestro/esclavo. Con funciones tecnolgicas. Para tareas con funciones especiales. Para conectar periferia distribuida.
CPU 314C-2 PtP La CPU compacta con entradas y salidas digitales y analgicas integradas y un segundo puerto serie. Para sistemas que requieren gran velocidad de procesamiento y de reaccin. Con funciones tecnolgicas.
CPU 314C-2 DP La CPU compacta con entradas y salidas digitales y analgicas integradas y un puerto PROFIBUS DP maestro/esclavo. Con funciones tecnolgicas. Para tareas con funciones especiales. Para conectar periferia distribuida.
39
Mdulos de entradas digitales SM321 Entradas digitales. Permite conectar contactos y detectores de proximidad a 2 hilos (BERO).
Mdulos de salidas digitales SM322 Salidas digitales. Permite conectar electrovlvulas, contactores, pequeos motores, lmparas y arrancadores de motor.
Mdulos de entradas y salidas digitales SM323/SM327 Entradas y salidas digitales. Permite conectar contactos, detectores de proximidad a 2 hilos (BERO), electrovlvulas, contactores, pequeos. Motores, lmparas y arrancadores de motor.
Mdulos de entradas analgicas SM331 Entradas analgicas Para conectar sensores con seal de tensin y de corriente (intensidad), termopares, resistencias y termoresistencias.
Mdulos de salidas analgicas SM332 Salidas analgicas. Para conectar actuadores analgicos.
40
Algunos fabricantes de PLC Siemens Allen Bradley Mitsubishi Schneider Telemecanique GE Fanuc Kloner Moller Bosh Rexroth Gidding Lewis Honeywell ABB Delta PLC VIPA Twincat Beckhoff
Gama o clasificacin de los PLC Podemos considerar distintos aspectos:
1.- Por su construccin - Integral - Modular
2.- Por su capacidad - Nivel 1: Control de variables discretas y pocas analgicas, operaciones aritmticas y capacidad de comunicacin elementales - Nivel 2: Control de variables discretas y analgicas. Matemticas de punto flotante. E/S inteligentes. Conexin de red. Gran capacidad de manejo de datos analgicos y discretos.
3.- Por cantidad de E/S - Micro PLC (hasta 64 E/S) 41
- PLC pequeo (65 a 255 E/S) - PLC mediano (256 a 1023 E/S) - PLC grande (ms de 1024 E/S)
Clasificacin por construccin Puede ser: Compacta o Integral: En un solo bloque estn todos los elementos. Modular: - Estructura americana: separa las entradas y salidas (E/S) del resto del controlador. - Estructura europea: cada mdulo es una funcin (fuente de alimentacin, CPU, E/S, etc). - Tipos de lenguajes de programacin de los PLC
En la actualidad cada fabricante disea su propio software de programacin, lo que significa que existe una gran variedad comparable con la cantidad de PLCs que hay en el mercado. No obstante, actualmente existen tres tipos de lenguajes de programacin de PLCs como los ms difundidos a nivel mundial; estos son: 1. Diagrama de escalera o "ladder" (semejante a un diagrama elctrico) 2. Lista de instrucciones (en cada lnea de programa solo puedes escribir un comando, un operando y comentario). 3. Bloques de funciones (cajitas, donde los parmetros de entrada se escriben del lado izquierdo y los parmetros de salida se escriben de lado derecho). 4. Diagrama secuencial, conocido como Grafcet. 5. Texto estructurado. Es obvio, que la gran diversidad de lenguajes de programacin da lugar a que cada fabricante tenga su propia representacin, originando cierta incomodidad al usuario cuando programa ms de un PLC 42
Tarjetas de entrada y tarjetas de salida (tipos)
Dispositivos de entrada Los dispositivos de entrada y salida son aquellos equipos que intercambian (o envan) seales con el PLC. Cada dispositivo de entrada es utilizado para conocer una condicin particular de su entorno, como temperatura, presin, posicin, entre otras. Entre estos dispositivos podemos encontrar: Sensores inductivos magnticos, pticos, pulsadores, termocuplas, termoresistencias, encoders, etc.
Dispositivos de salida Los dispositivos de salida son aquellos que responden a las seales que reciben del PLC, cambiando o modificando su entorno. Entre los dispositivos tpicos de salida podemos hallar: Contactores de motor Electrovlvulas Indicadores luminosos o simples rels
Generalmente los dispositivos de entrada, los de salida y el microprocesador trabajan en diferentes niveles de tensin y corriente. En este caso las seales que entran y salen del PLC deben ser acondicionadas a las tensiones y corrientes que maneja el microprocesador, para que ste las pueda reconocer. sta es la tarea de las interfaces o mdulos de entrada o salida. Las entradas se pueden clasificar en: Entradas Digitales: tambin llamadas binarias u on-off, son las que pueden tomar slo dos estados: encendido o apagado, estado lgico 1 0. Los mdulos de entradas digitales trabajan con seales de tensin. Cuando por un borne de entrada llega tensin, se interpreta como 1 y cuando llega cero tensin se interpreta como 0. Existen mdulos o interfaces de entradas de 43
corriente continua para tensiones de 5, 12, 24 48 Vcc y otros para tensin de110 220 Vca. Los PLC modernos tienen mdulos de entrada que permiten conectar dispositivos con salida PNP o NPN en forma indistinta. La diferencia entre dispositivos con salida PNP o NPN es como la carga (en este caso la carga es la entrada del PLC) est conectada con respecto al neutro o al positivo.
Seales del Campo Seales lgicas a la CPU
Rectificador: en el caso de una entrada de corriente alterna, convierte la seal en continua. En el caso de una seal de corriente continua, impide daos por inversin de polaridad. Acondicionador de seal: elimina los ruidos elctricos, detecta los niveles de seal para los cuales conmuta el estado lgico, y lleva la tensin al nivel manejado por la CPU. Indicador de estado: en la mayora de los PLC existe un indicador luminoso por cada entrada. Este indicador (casi siempre un LED) se encender con la presencia de tensin en la entrada y se apagar en caso contrario. Aislacin: en la mayora de los PLC las entradas se encuentran aisladas para que, en caso de sobretensiones externas, el dao causado no afecte ms que a esa entrada, sin perjudicar el resto del PLC. Circuito lgico de entrada: es el encargado de informar a la CPU el estado de la entrada cuando ste lo interrogue. Cuando la seal llega hasta los bornes del PLC tiene que atravesar todos estos bloques. Recorrer este camino le lleva un tiempo que es llamado: tiempo de respuesta de la entrada. Un aspecto a analizar es el mnimo tiempo de permanencia o ausencia de una seal requerido para que el PLC la interprete como 0 1. Si una variable de proceso pasa al estado lgico 1, y retorna al estado 0 en un tiempo inferior al tiempo de respuesta de la entrada, es posible que le PLC no llegue a leerla. 44
Entradas Analgicas: estos mdulos o interfaces admiten como seal de entrada valores de tensin o corriente intermedios dentro de un rango, que puede ser de 4- 20 mA, 0-5 VDC o 0-10 VDC, convirtindola en un nmero. Este nmero es guardado en una posicin de la memoria del PLC. Los mdulos de entradas analgicas son los encargados de traducir una seal de tensin o corriente proveniente de un sensor de temperatura, velocidad, aceleracin, presin, posicin, o cualquier otra magnitud fsica que se quiera medir en un nmero para que el PLC la pueda interpretar. En particular es el conversor analgico digital (A/D) el encargado de realizar esta tarea. Una entrada analgica con un conversor A/D de 8 bits podr dividir el rango de la seal de entrada en 256 valores (28) En la medida que el conversor A/D tenga mayor nmero de bits ser capaz de ver o reconocer variaciones ms pequeas de la magnitud fsica que estamos observando. Los mdulos de salida digital permiten al autmata programable actuar sobre elementos que admitan rdenes de tipo prendido - apagado, todo o nada u on - off. El valor binario de las salidas digitales se convierte en la apertura o cierre de un rel interno del autmata, en el caso de mdulos de salidas a rel. Existe una gran cantidad de mdulos de salida discreta, todos ellos con la misma estructura que se presenta a continuacin.
De la CPU Al Campo
Circuitos lgicos de salida: es el receptor de la informacin enviada por la CPU. Aislacin: cumple la misma funcin que en las interfaces de entrada. Indicador de estado: tambin tiene la misma funcin que en la entrada. Circuitos de conexin: est compuesto por el elemento de salida al campo que maneja la carga conectada por el usuario. Existen tres tipos de circuitos de conexin que se describirn ms adelante. 45
Proteccin: son internas al PLC y pueden ser fusibles en serie con los contactos de salida, alguna proteccin electrnica por sobrecarga, o algn circuito RC. Recordar que en caso de que ms de una salida use un solo borne de referencia, es ste el que lleva asociada la proteccin. Por lo cual si esta proteccin acta dejarn de funcionar todas las salidas asociadas a ese borne comn.
1. Salida a rel: Es una de las ms usuales. Con ellos es posible conectar tanto cargas de corriente alterna como continua. Suelen soportar hasta 2A de corriente. Una buena prctica en la instalacin es verificar que la corriente mxima que consume la carga est dentro de las especificaciones de la salida del PLC. Los tiempos de conmutacin de estos tipos de salidas llegan a los 10 mseg. Tanto para la conexin como para la desconexin. Algunas cargas son muy problemticas, por ejemplo las cargas inductivas, que tienen la tendencia a devolver corriente al circuito cuando son conectadas. Siendo la corriente estimada en unas 30 veces a la corriente de consumo nominal. Esto genera picos de voltaje que pueden daar la salida a la que est conectada la carga. Para minimizar estos riesgos se utilizan comnmente diodos, varistores u otros circuitos de proteccin.
Direccionamiento directo e indirecto
Direccionamiento Directo La direccin del operando se encuentra codificada en la operacin, es decir, el operando indica la direccin del valor que va a procesar la operacin. El operando se compone de dos partes: un identificador (p. ej. IB para byte de entrada) una direccin exacta dentro del rea de memoria indicada por el identificador. El operando indica directamente la direccin del valor. 46
Direccionamiento Indirecto Permite asignar direcciones que no son conocidas hasta la ejecucin Permite mltiples procesamientos de partes del programa Como las direcciones no son calculadas hasta la ejecucin hay un riesgo e que reas de la memoria sean sobrescritas.
Tipos de direccionamiento indirecto
Memorias del PLC
La memoria es el almacn donde el Controlador Lgico Programable guarda todo cuanto necesita para ejecutar la tarea de control 47
- Datos Del proceso. - Seales de planta, entradas y salidas. - Variables internas, de bit y de palabra. - Datos alfanumricos y constantes. - Datos de control: - Instrucciones de usuario (programa) - Configuracin Controlador Lgico Programable (modo de funcionamiento, nmero de e/s conectadas, ...)
Existen varios tipos de memorias: RAM. Memoria de lectura y escritura. ROM. Memoria de solo lectura, no reprogramable. EPRON. Memoria de solo lectura, reprogramables con borrado por ultravioletas. EEPRON. Memoria de solo lectura, alterables por medios elctricos. La memoria RAM se utiliza principalmente como memoria interna, y nicamente como memoria de programa en el caso de que pueda asegurarse el mantenimiento de los datos con una batera exterior. La memoria ROM se utiliza para almacenar el programa monitor del sistema como hemos visto en el apartado dedicado a la CPU. Las memorias EPROM se utilizan para almacenar el programa de usuario, una vez que ha sido convenientemente depurada. Las memorias EEPROM se emplean principalmente para almacenar programas, aunque en la actualidad es cada vez ms frecuente el uso de combinaciones RAM + EEPROM (NOVRAM), utilizando estas ltimas como memorias de seguridad que salvan el contenido de las RAM. Una vez reanudada la alimentacin, el contenido de la EEPROM se vuelca sobre la RAM. Las soluciones de este tipo estn sustituyendo a las clsicas RAM + batera puesto que presentan muchos menos problemas. Memoria interna En un Controlador Lgico Programable, la memoria interna es aquella que almacena el estado de las variables que maneja, entradas, salidas, 48
contadores, relees internos, seales de estado, etc. Esta memoria interna se encuentra dividida en varias reas, cada una de ellas con un cometido y caractersticas distintas. La clasificacin de la memoria interna no se realiza atendiendo a sus caractersticas de lectura y escritura, sino por el tipo de variables que almacena y el nmero de bits que ocupa la variable. As, la memoria interna del Controlador Lgico Programable queda clasificada en las siguientes reas. rea de imgenes de entradas/salidas y rea interna (IR). Elementos y Equipos Elctricos.
En esta rea de memoria se encuentran: - Los canales (registros) asociados a los terminales externos (entradas y salidas). - Los relees internos (no correspondidos con el terminal externo), gestionados como relees de E/S. - Los relees E/S no usados pueden usarse como IR. - No retienen estado frente a la falta de alimentacin o cambio de modo de operacin. - rea especial (SR). Son relees de sealizacin de funciones particulares como: - Servicio (siempre ON, OFF) - Diagnsticos ( sealizacin o anomalas) - Temporizaciones (relojes a varias frecuencias) - Calculo - Comunicaciones. - Accesible en forma de bit o de canal. - No conservan su estado en caso de fallo de alimentacin o cambio de modo. - rea auxiliar (AR). - Contienen bits de control e informacin de recursos de PLC como: puertos perifricos, casetes de memoria. Se dividen en dos bloques: Sealizacin: 49
Errores de configuracin, datos del sistema. Memorizacin y gestin de datos - Es un rea de retencin. - Accesible en forma de bit o de canal. - No conservan su estado en caso de fallo de alimentacin o cambio de modo - rea de enlace (LR). - Dedicados al intercambio de informacin entre PLCs. - Si no se utilizan como LR pueden usarse como IR. - Accesible en forma de bit o canal - No conservan su estado en caso de fallo de alimentacin o cambio de modo. - rea de retencin (HR). - Mantienen su estado ante fallos de alimentacin o cambio de modo de PLC. Son gestionados como los IR y direccionales como bit o como canal. - rea de temporizadores y contadores (TIM/CNT). - Es el rea de memoria que simula el funcionamiento de estos dispositivos. - Son usados por el PLC para programar retardos y cuentas. - rea de datos (DM). - Se trata de memoria de 16 bits (palabra). - Utilizable para gestin de valores numricos. - Mantiene su estado ante cambios de modos de trabajo o fallo de alimentacin. - Direccionables como Canal (palabra). - Esta rea suele contener los parmetros de configuracin del PLC (setup). Elementos y Equipos Elctricos
Las variables contenidas en la memoria interna, pueden ser consultadas y modificadas continuamente por el programa, cualquier nmero de veces. Esta actualizacin continua de los datos obliga a construir la memoria con dispositivos RAM. 50
Memoria de programa La memoria de programa, normalmente externa y enchufable a la CPU mediante casete de memoria, almacena el programa escrito por el usuario para su aplicacin. Cada instruccin del usuario ocupa un paso o direccin del programa. Las memorias de programa o memorias de usuario son siempre de tipo permanente RAM + batera o EPROM / EEPROM. Por lo general la mayora de los fabricantes de autmatas ofrecen la posibilidad de utilizar memorias RAM con batera para la fase de desarrollo y depuracin de los programas, y de pasar estos a memorias no voltiles EPROM o EEPROM una vez finalizada esta fase. La ejecucin del programa en el mdulo es siempre prioritaria, de forma que si se da tensin al autmata con un mdulo conectado, la CPU ejecuta su programa y no el contenido en memoria RAM interna.
PLC compacto
Este tipo de Controlador Lgico Programable se distingue por presentar en un solo bloque todos sus elementos, esto es, fuente de alimentacin, CPU, memorias, entradas/salidas, etc. Son los PLC de gama baja o nano autmatas los que suelen tener una estructura compacta. Su potencia de proceso suele ser muy limitada dedicndose a controlar mquinas muy pequeas o cuadros de mando.
PLC modular
Su caracterstica principal es la de que existe un mdulo para cada uno de los diferentes elementos que componen el PLC como puede ser una fuente de alimentacin, CPU, E/S, etc. 51
La sujecin de los mismos se hace por riel DIN, placa perforada o sobre RACK, en donde van alojado el BUS externo de unin de los distintos mdulos que lo componen. Son los PLC de gama alta los que suelen tener una estructura modular, que permiten una gran flexibilidad en su constitucin.
Diferencias entre un PLC compacto y un modular
En los PLC compactos las interfaces de E/S son limitadas y no permite expansiones, adems de que la fuente de alimentacin, los mdulos de E/S, CPU, memorias, etc., se presentan todos juntos en un solo bloque, generalmente son de bajo costo. El PLC modular admite la configuracin y expansin de hardware que est disponible para su gama correspondiente, y puede ser configurado de acuerdo a la expansin y eliminacin de mdulos extrables y expandibles, adems todos sus elementos como Fuentes de Alimentacin, CPU, Memoria de programacin, etc., se encuentran en mdulos independientes.
52
CONCLUSIN
El Automatizar un proceso es unas de las necesidades ms primordiales en la actualidad, ya por facilitar el trabajo al hombre, mejorarlo, reducir tiempos o ciclos y ms caractersticas del porque es una necesidad nos hace entender la importancia y el objetivo de la evolucin de la inteligencia digital para poder mejorar e innovar en nuestras vidas y as como en las vidas del futuro.