MÁQUINAS PROGRAMABLES (ORDENADORES) Sistemas programables: Cuando se realizan automatizaciones complejas puede ser conveniente utilizar un sistema de control polivalente, es decir que se pueda programar según los deseos del usuario. Para ello se utilizan máquinas que son capaces de ejecutar un programa elaborado por el diseñador o por el propio usuario. Todas las máquinas programables tienen la misma estructura interna y están compuestas entre otros de los siguientes elementos fundamentales: o o o o o o o o Microprocesador: Es el cerebro de la máquina. Se encarga de buscar y procesar la información. Memoria: En ella se escribe el programa que debe ejecutar el microprocesador. También es utilizada por el micro para almacenar información necesaria para efectuar operaciones. Tipos: RAM: Es la memoria que utiliza la máquina para guardar información de manera temporal. Es reutilizable, temporal y no queda información en ella de forma indefinida. En ordenadores, se vende en tarjetas que se quitan y se ponen del ordenador. La memoria principal o RAM (Random Access Memory, Memoria de Acceso Aleatorio) es donde el computador guarda los datos que está utilizando en el momento presente. El almacenamiento es considerado temporal por que los datos y programas permanecen en ella mientras que la computadora este encendida o no sea reiniciada. Físicamente, están constituidas por un conjunto de chips o módulos de chips normalmente conectados a la tarjeta madre. Los chips de memoria son rectángulos negros que suelen ir soldados en grupos a unas plaquitas con "pines" o contactos. ROM: (read only memory) Memoria permanente que no es posible borrar ni escribir una vez configurada. En ella, en informática, se guardan los datos de acceso al sistema operativo. Si se estropea, el ordenador no funciona. Reloj: Marca el ritmo de trabajo de la máquina programable. Cuanto más rápido sea mas potente es la máquina, pero a su vez mas compleja y cara. Un Hertzio es una operación por segundo, así que un ordenador que trabaje a 1KHz trabaja a 1000 operaciones por segundo, a 1MHz a 100.000.000… Periféricos: Son los elemento que el usuario maneja para comunicarse con la máquina. En un ordenador el teclado, ratón, pantalla, impresora, etc. Pueden ser de entrada de datos o de salida. Unidades (o tarjetas) de entrada/salida: Son circuitos que traducen las señales de los periféricos a señales eléctricas que pueda interpretar el microprocesador y viceversa. Se venden en forma de tarjetas que se insertan en ranuras en la placa base del ordenador, donde está el microprocesador. En algunos equipos vienen integrados en la placa base. En un autómata programable pueden ser termómetros, sensores… Lenguajes de programación: Son códigos con órdenes muy sencillas que son fácilmente traducibles al lenguaje que entiende un microprocesador (0, 1, ausencia o presencia de corriente). Son manejados por expertos. Para transmitir estos datos a la máquina se necesitan unos dispositivos especiales. Buses: Son los cables internos por donde circulan las señales eléctricas entre el micro y los demás circuitos (memorias, unidades E/S). Pueden ser SATA (modernos) o IDE. Discos de almacenamiento de datos. No siendo imprescindibles en un pequeño autómata programable, sí lo son en un ordenador. Son dispositivos que guardan los datos para su uso o acceso posterior. Son extraíbles y se pueden cambiar, añadir, sustituir. Los más conocidos son el disco duro C de equipo, el disquete, el CD, el DVD, el lápiz USB… o Puertos de entrada y/o salida. Se llaman así a las clavijas donde conectamos nuestros periféricos. Los más comunes son los de teclado, ratón, pantalla, puertos serie, de impresora o escáner (puertos paralelos), los USB, para dispositivos con esta clavija etc. Cuando todos estos circuitos (micro, memoria y unidades E/S) se integran en un solo chip, este se llama microcontrolador. Actualmente no son muy caros y pueden realizar muchas funciones en electrodomésticos, teléfonos móviles, automatismos de garajes, ascensores, etc… Cuando se integran en un conjunto complejo de chips y conexiones, se llama ordenador o PC (Personal Computer). Un microcontrolador sencillo tendría puertos de entrada, puertos de salida, y alimentación externa. Internamente tienen memoria donde el usuario puede almacenar el programa deseado mediante unas órdenes determinadas que componen su lenguaje de programación. La automatización de una máquina o proceso productivo simple tiene como consecuencia la liberación física y mental del hombre de dicha labor. Se denomina automatismo al dispositivo físico que realiza una determinada función controlando su funcionamiento. PASOS PARA CONSEGUIR QUE UNA MÁQUINA HAGA LO QUE NOSOTROS QUEREMOS (DISEÑO DE UNA TAREA REPETITIVA). o Buscar una necesidad. Queremos que una máquina haga una tarea, por ejemplo, por ser repetitiva y falta de ingenio. o Buscar un ANALISTA INFORMÁTICO. Es el profesional que desglosa esa tarea compleja en todos los pasos simples necesarios para ser llevada a cabo. No puede faltar ninguno, ni ninguno puede tener complejidad. Ha de desglosarse todo en lo más sencillo posible. o Buscar un PROGRAMADOR. Es el profesional que transforma las órdenes sencillas en instrucciones que son ejecutables por el microprocesador y que pueden ser grabadas en la memoria ROM o en un disco duro. o EJEMPLO: Queremos que una luz intermitente avise de que hay un paso a nivel sin barreras. En vez de conectar la bombilla a la corriente, por uno de sus extremos la conecto a un microcontrolador. Hemos realizado el trabajo del analista, descomponiendo la tarea en órdenes sencillas. El programa cocrodile nos hace la tarea del programador (sólo si el analista lo ha hecho bien). Las órdenes que entiende son muy básicas, así que para hablar con él hay que descomponer la tarea en órdenes simples. Las fundamentales son: Start (empieza) Stop (termina) Wait x (espera x segundos) Switch on output x (enciende la salida x) Switch off output x (apaga la salida x) Input x on? yes/no (¿está la entrada x conectada?, sí o no. X=0 (toma una variable un valor que le damos, en este caso 0). Add one to X (suma 1 a X) X=0? Yes/no (X = 0 si o no ) Los símbolos que se usan para representar las órdenes son los siguientes: OVALADOS Órdenes de principio y de fin de la programación. CUADRADOS Órdenes al procesador o introducción de variables ROMBOIDES Lectura de entrada y actuación según el resultado de la misma TRAPECIO Órdenes a las salidas del microprocesador. TAREA INFORMÁTICA. Inicialmente, la profesión se formalizó desde el enfoque Tayloriano de la especialización de funciones en la empresa. Así, el proceso de producción de software se concibe como un conjunto de tareas altamente especializadas donde está claramente definido el papel de cada categoría profesional: El analista tiene como cometido analizar un problema y describirlo con el propósito de ser solucionado mediante un sistema de información. El programador cuya única función consistía en trasladar las especificaciones del analista en código ejecutable por la computadora. Dichas especificaciones se recogen en un documento denominado cuaderno de carga, medio de comunicación entre ambos. Obsérvese que esto se consideraba un trabajo mecánico y de baja cualificación. Hoy día se reconoce que este enfoque no es válido para organizar tareas de tipo intelectual, como es la producción de software. De manera que la profesión de programador ha ido evolucionando. Las dificultades de comunicación entre analistas y programadores (un mero documento no basta para describir lo que se quiere hacer) dio origen a una categoría profesional intermedia, denominada analista-programador. La concepción original del programador ha desaparecido siendo sustituida por esta: la de un profesional mucho más formado y con unas funciones menos "mecánicas". PROGRAMACIÓN: BASIC es un lenguaje de programación que originalmente fue desarrollado como una herramienta de enseñanza; se diseminó entre las computadoras hogareñas a partir de la década de 1980, y sigue siendo muy popular hoy en día, en muchos dialectos bastante distintos del original. La sintaxis mínima de BASIC sólo necesita los comandos LET, INPUT, PRINT, IF y GOTO. Un intérprete que ejecuta programas con esta sintaxis mínima no necesita una subrutina. Algunas de las primeras implementaciones eran así de simples. Si se le agrega una subrutina, se pueden agregar también ciclos FOR anidados y el comando GOSUB. Un intérprete de BASIC con estas características necesita que el código tenga números de línea. 1.- Realice un programa que haga que la máquina espere (se entretiene contando) 10 20 30 40 50 x = 1 x = x + 1 print x if x = 1000 goto 50 else end goto 20