Trabajo de Investigación
Trabajo de Investigación
Trabajo de Investigación
Una característica que hay que resaltar, es que al depender estos lenguajes del hardware,
hay un distinto Lenguaje de máquina (y, por consiguiente, un distinto Lenguaje
Ensamblador) para cada CPU. Por ejemplo, podemos mencionar tres lenguajes
completamente diferentes, que sin embargo vienen de la aplicación de los conceptos
anteriores:
Esto llego a ser muy complicado debido a que se debían aprender series enormes de
códigos binarios para realizar operaciones. Por ejemplo:
Es la primera abstracción del lenguaje máquina, consiste en asociar los OPCODE con
palabras clave que sean fáciles de recordar para el programador. A estas palabras clave se
les llama MNEMÓNICOS. Un programa ensamblador traduce el o convierte el código fuente
(ensamblador) a código objeto (lenguaje maquina).La computadora UNIVAC fue la primera
en usar ensamblador.
Aplicaciones actuales.
Aparatos médicos.
Aparatos para datos sísmicos.
Reproductores de audio.
Módems.
Cámaras digitales.
CLASIFICACIÓN DE MEMORIAS.
Organizando estos tipos de memoria conviene destacar tres categorías si las clasificamos
en función de las operaciones que podemos realizar sobre ellas, es decir, memorias de sólo
lectura, memorias de sobre todo lectura y memorias de lectura escritura.
Es un tipo de chip de memoria ROM inventado por el ingeniero Dov Frohman que retiene
los datos cuando la fuente de energía se apaga.
Está basada en las memorias EEPROM pero permite el borrado bloque a bloque y es más
barata y densa. La memoria flash es una forma evolucionada de la memoria EEPROM que
permite que múltiples posiciones de memoria sean escritas o borradas en una misma
operación de programación mediante impulsos eléctricos, frente a las anteriores que sólo
permite escribir o borrar una única celda cada vez.
RDRAM.
SDRAM.
Esta Memoria entro en el mercado en los años 97, y mejoro la velocidad siendo su ritmo de
trabajo igual a la velocidad de Bus (FSB) es decir que tienen la capacidad de trabajar a la
misma velocidad de mother al que se conectan.
DDR SDRAM.
En este caso se consiguió que pudiera realizar dos transferencia en una pulsación o tic-tac
de reloj, esta memoria pude alcanzar velocidades de 200 a 266Mhz, Tiene una ventaja más
trabaja en sincronía con el bus del mother si este acelera la memoria también pero tiene
una desventaja son muy caras. Se conoce como DIMM DDR SDRAM PC 1600 Y PC 2100.
SRAM (Static Random Access Memory).
Los datos se almacenan formando biestables. Igual que DRAM es volátil. Son más rápidas
que las DRAM y más caras.
La memoria caché trabaja igual que la memoria virtual, tenemos caché en el procesador,
en los discos y en el mother y nos guarda direcciones de memoria.
2. GENERACIONES DEL LENGUAJE ENSAMBLADOR:
Los equipos de ordenador (el hardware) han pasado por cuatro generaciones, de las que
las tres primeras (ordenadores con válvulas, transistores y circuitos integrados) están muy
claras, la cuarta (circuitos integrados a gran escala) es más discutible. Algo parecido ha
ocurrido con la programación de los ordenadores (el software), que se realiza en lenguajes
que suelen clasificarse en cinco generaciones, de las que las tres primeras son evidentes,
mientras no todo el mundo está de acuerdo en las otras dos. Estas generaciones no
coincidieron exactamente en el tiempo con las de hardware, pero sí de forma aproximada,
y son las siguientes:
Uso actual.
Hay algunas situaciones en las cuales los profesionales pudieran elegir utilizar el lenguaje
ensamblador. Por ejemplo cuando:
Se escribe software compilador que genera código ensamblador, y por lo tanto los
desarrolladores deben ser programadores de lenguaje ensamblador.
Aplicaciones típicas.
Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran básicamente
en aplicaciones de tiempo real, control de procesos y de dispositivos electrónicos.
4. TIPOS DE LENGUAJE ENSAMBLADOR.
El lenguaje es la manera que utilizamos los seres humanos para comunicarnos, por medio
de sonidos, expresiones, símbolos, etc. de igual manera la computadora necesita de un
lenguaje para que pueda funcionar y nosotros como desarrolladores debemos entender. La
computadora utiliza el conocido lenguaje ensamblador, que es un lenguaje de alto nivel y
al hablar de lenguajes de alto nivel debemos comprender que trabaja por medio de código
binario.
Existen varios tipos de lenguaje ensamblador, aunque finalmente todos realizan las mismas
tareas podemos clasificarlos de acuerdo a características.
Se denominan así los ensambladores que se utilizan en una computadora que posee un
procesador diferente al que tendrán las computadoras donde va a ejecutarse el programa
objeto producido.
ENSAMBLADORES RESIDENTES.
MACROENSAMBLADORES.
Estos ensambladores leen una línea del programa fuente y la traducen directamente para
producir una instrucción en lenguaje máquina o la ejecuta si se trata de una
pseudoinstrucción. También va construyendo la tabla de símbolos a medida que van
apareciendo las definiciones de variables, etiquetas, etc.
Los ensambladores de dos fases se denominan así debido a que realizan la traducción en
dos etapas. En la primera fase, leen el programa fuente y construyen una tabla de símbolos;
de esta manera, en la segunda fase, vuelven a leer el programa fuente y pueden ir
traduciendo totalmente, puesto que conocen la totalidad de los símbolos utilizados y las
posiciones que se les ha asignado.
5. ¿QUÉ ES UN PLC?
Los PLC son utilizados en muchas aplicaciones reales, casi cualquier aplicación que
necesite algún tipo de control eléctrico necesita un PLC entonces se define un PLC como
una computadora especializada, diseñada para controlar máquinas y procesos en
ambientes industriales operando en tiempo real.
Los CLP o PLC (Programmable Logic Controller en sus siglas en inglés) son
dispositivos electrónicos muy usados en Automatización Industrial.
Hoy en día, los PLC no sólo controlan la lógica de funcionamiento de máquinas, plantas y
procesos industriales, sino que también pueden realizar operaciones aritméticas,
manejar señales analógicas para realizar estrategias de control, tales como
controladores proporcional integral derivativo (PID).
Los PLC actuales pueden comunicarse con otros controladores y computadoras en redes
de área local, y son una parte fundamental de los modernos sistemas de control distribuido.
Existen varios lenguajes de programación, tradicionalmente los más utilizados son el
diagrama de escalera LADDER, preferido por los electricistas, lista de instrucciones y
programación por estados, aunque se han incorporado lenguajes más intuitivos que
permiten implementar algoritmos complejos mediante simples diagramas de flujo más
fáciles de interpretar y mantener. Un lenguaje más reciente, preferido por los informáticos
y electrónicos, es el FBD (Function Block Diagram) que emplea compuertas lógicas y
bloques con distintas funciones conectados entre sí.
En la programación se pueden incluir diferentes tipos de operandos, desde los más simples
como lógica booleana, contadores, temporizadores, contactos, bobinas y operadores
matemáticos, hasta operaciones más complejas como manejo de tablas (recetas),
apuntadores, algoritmos PID y funciones de comunicación mutiprotocolos que le permitirían
interconectarse con otros dispositivos.
PROGRAMACIÓN.
Los primeros PLC, en la primera mitad de los 80, eran programados usando sistemas de
programación propietarios o terminales de programación especializados, que a menudo
tenían teclas de funciones dedicadas que representaban los elementos lógicos de los
programas de PLC. Los programas eran guardados en cintas. Más recientemente, los
programas PLC son escritos en aplicaciones especiales en un ordenador, y luego son
descargados directamente mediante un cable o una red al PLC. Los PLC viejos usan una
memoria no volátil (magnetic core memory) pero ahora los programas son guardados en
una RAM con batería propia o en otros sistemas de memoria no volátil como las memoria
flash.
Los primeros PLC fueron diseñados para ser usados por electricistas que podían aprender
a programar los PLC en el trabajo. Estos PLC eran programados con “lógica de escalera”
("ladder logic"). Los PLC modernos pueden ser programados de muchas formas, desde la
lógica de escalera hasta lenguajes de programación tradicionales como el BASIC o C. Otro
método es usar la Lógica de Estados (State Logic), un lenguaje de programación de alto
nivel diseñado para programas PLC basándose en los diagramas de transición de estados.
Recientemente, el estándar internacional IEC 61131-3 se está volviendo muy popular. IEC
61131-3 define cinco lenguajes de programación para los sistemas de control
programables: FBD (Function Block Diagram), LD (Ladder Diagram), ST (Structured Text,
similar al lenguaje de programación Pascal), IL (Instruction List) y SFC (Sequential Function
Chart).
Mientras que los conceptos fundamentales de la programación del PLC son comunes a
todos los fabricantes, las diferencias en el direccionamiento E/S, la organización de la
memoria y el conjunto de instrucciones hace que los programas de los PLC nunca se
puedan usar entre diversos fabricantes. Incluso dentro de la misma línea de productos de
un solo fabricante, diversos modelos pueden no ser directamente compatibles
Los PLC están adaptados para un amplio rango de tareas de automatización. Estos son
típicos procesos industriales en la manufactura donde el coste de desarrollo y
mantenimiento de un sistema de automatización es relativamente alto contra el coste de la
automatización, y donde van a existir cambios en el sistema durante toda su vida
operacional. Los PLC contienen todo lo necesario para manejar altas cargas de potencia;
se requiere poco diseño eléctrico y el problema de diseño se centra en expresar las
operaciones y secuencias en la lógica de escalera (o diagramas de funciones).
Las aplicaciones de PLC son normalmente hechos a la medida del sistema, por lo que el
costo del PLC es bajo comparado con el costo de la contratación del diseñador para un
diseño específico que solo se va a usar una sola vez. Por otro lado, en caso de productos
de alta producción, los sistemas de control a medida se amortizan por si solos rápidamente
debido al ahorro en los componentes, lo que provoca que puede ser una buena elección en
vez de una solución "genérica".
Sin embargo, debe ser notado que algunos PLC ya no tienen un precio alto. Los PLC
actuales tienen todas las capacidades por algunos cientos de dólares.
Diferentes técnicas son utilizadas para un alto volumen o una simple tarea de
automatización, Por ejemplo, una lavadora de uso doméstico puede ser controlada por un
temporizador CAM electromecánico costando algunos cuantos dólares en cantidades de
producción.
Un diseño basado en un micro controlador puede ser apropiado donde cientos o miles de
unidades deben ser producidas y entonces el coste de desarrollo (diseño de fuentes de
alimentación y equipo de entradas y salidas) puede ser dividido en muchas ventas, donde
el usuario final no tiene necesidad de alterar el control. Aplicaciones automotrices son un
ejemplo, millones de unidades son vendidas cada año, y pocos usuarios finales alteran la
programación de estos controladores. (Sin embargo, algunos vehículos especiales como
son camiones de pasajeros para tránsito urbano utilizan PLC en vez de controladores de
diseño propio, debido a que los volúmenes son pequeños y el desarrollo no sería
económico.)
Algunos procesos de control complejos, como los que son utilizados en la industria química,
pueden requerir algoritmos y características más allá de la capacidad de PLC de alto nivel.
Controladores de alta velocidad también requieren de soluciones a la medida; por ejemplo,
controles para aviones.
Los PLC pueden incluir lógica para implementar bucles analógicos, “proporcional, integral
y derivadas” o un controlador PID. Un bucle PID podría ser usado para controlar la
temperatura de procesos de fabricación, por ejemplo. Históricamente, los PLC fueron
configurados generalmente con solo unos pocos bucles de control analógico y en donde los
procesos requieren cientos o miles de bucles, un Sistema de Control Distribuido (DCS) se
encarga. Sin embargo, los PLC se han vuelto más poderosos, y las diferencias entre las
aplicaciones entre DCS y PLC han quedado menos claras.
6. ¿QUÉ ES UN PIC?
Un micro controlador PIC, es circuito integrado o chip que incluye en su interior las tres
unidades funcionales de una computadora: CPU, memoria y unidades, es decir, se trata de
un computador completo en un solo circuito integrado, pero con una capacidad de
almacenamiento mucho menor. Estos funcionan dependiendo el código de programa, rutina
o instrucciones que se le suban a su memoria y estos tienen una capacidad de
almacenamiento acorde al tipo y o modelo de microcontrolador.
Los PIC son una familia de micro controlador tipo RISC fabricados por microchip
Technology Inc. y derivados del pic1650, originalmente desarrollado por la división
de microelectrónica de general instrumentos.
El PIC original se diseñó para ser usado con la nueva ucp de 16 bits cp16000. Siendo en
general una buena ucp, ésta tenía malas prestaciones de e/s, y el PIC de 8 bits se desarrolló
en 1975 para mejorar el rendimiento del sistema quitando peso de e/s a la ucp. El PIC
utilizaba micro código simple almacenado en ROM para realizar estas tareas; y aunque el
término no se usaba por aquel entonces, se trata de un diseño RISC que ejecuta
una instrucción cada 4 ciclos del oscilador.
El PIC usa un juego de instrucciones tipo RISC, cuyo número puede variar desde 35 para
PIC de gama baja a 70 para los de gama alta. las instrucciones se clasifican entre las que
realizan operaciones entre el acumulador y una constante, entre el acumulador y una
posición de memoria, instrucciones de condicionamiento y de salto/retorno, implementación
de interrupciones y una para pasar a modo de bajo consumo llamada sleep.
PROGRAMADORES