Durante todo el año recibimos muchos mail, pidiéndonos información para realizar trabajos sobre autómatas. Así que ahora es el momento para recordaros que necesitamos de vuestra colaboración enviándonos los que ya habéis presentado.
|
MANUAL DE INSTRUCCIONES
EL ENTORNO GUI Lo primero que nos encontraremos cuando ejecutemos el programa será la siguiente pantalla: Una foto del TSX07, las entradas/salidas en la parte inferior, a la derecha un recuadro en el que aparecerá el listado de los programas a cargar y arriba unos menús tipo Windows. Podremos desplazarnos por dos zonas diferenciadas de la pantalla: los menús, las entradas y el listado del programa cargado. PROGRAMA CON RATÓN Nota: Los menús Run y Stop no tienen submenús,
sólo activan o desactivan la ejecución cíclica del programa cargado.
Con el submenú Abrir nos podremos mover por el PC para buscar los archivos que queremos cargar. Para que no nos salgan todo tipo de archivos hemos realizado un filtrado; SÓLO se podrán cargar ficheros con la extensión AUT. Una vez que aceptamos nos saldrá el listado del fichero cargado a nuestra derecha. Nota: Si el listado es muy extenso, nos aparecerá una barra de desplazamiento con lo que nos podremos mover a lo largo de todo el fichero mediante las teclas de desplazamiento o RePag y AvPag. MENÚ NUEVO/EDITAR Con el submenú Nuevo/Editar cargaremos un editor de texto muy sencillo con el que podremos editar o modificar nuestros ficheros. Éste lleva su propia ayuda si hiciera falta. Nota: Si no nos gusta este editor de textos, podemos usar cualquier otro siempre y cuando se asegure que utiliza SÓLO caracteres ASCII. MENÚ SALIR A DOS Con el submenú Salir a Dos podremos salir al sistema operativo (en nuestro caso a la Shell de DOS) y ejecutar distintos comandos de éste: dir,type, cd xxx, format xx ... Para volver a nuestro programa deberemos teclear EXIT. MENÚ RUN Con el menú Run ejecutaremos cíclicamente un programa QUE PREVIAMENTE HEMOS DEBIDO CARGAR (véase Menú Archivo). Como este menú no tiene submenús evidentemente no aparecerá ninguno. MENÚ STOP Con el menú Stop pararemos la ejecución cíclica del programa que estemos ejecutando. ESTA OPERACIÓN HA DE REALIZARSE ANTES DE VOLVER A CARGAR CUALQUIER OTRO PROGRAMA. MENÚ %TMI Con este menú definiremos las bases de tiempos y los tipos de cada uno de los temporizadores que vayamos a utilizar. La forma de proceder es la siguiente: 1.- Introducir el número del temporizador (0,1,2,3...) 2.- Introducir el tiempo de preselección. 3.- Introducir el tipo del temporizador: TP, TON, TOFF. 4.- Introducir la base de tiempos. 5.- Si ya hemos terminado activaremos la casilla VOLVER si no es así activaremos la casilla OTRO. MENÚ %CI Con este menú definiremos la preselección de los diferentes contadores. La forma de proceder es la siguiente: 1.- Introducir el número del contador (0,1,2,3...) 2.- Introducir el contaje de preselección. 3.- Si ya hemos terminado activaremos la casilla VOLVER si no es así activaremos la casilla OTRO. MENÚ SALIR En este menú el programa nos preguntará si deseamos salir. MENÚ AYUDA Pequeño texto de ayuda de la utilización del programa, como se indica en él para salir se ha de teclear UNA SOLA VEZ ESC. Nota: Si se teclea repetidas veces ESC se saldrá del programa sin que el usuario sea preguntado.
PORQUÉ UNA VERSIÓN CON RATÓN Y OTRA SIN ÉL. Se ha comprobado que en ciertas máquinas existen problemas al cargar el ratón
y en algunas máquinas podemos tener problemas al dibujar en pantalla, en
concreto la aparición de basura en pantalla al mover el ratón, por esto he
decidido cargar el ratón (si no se carga también han aparecido errores en
algunas máquinas) pero NO dibujarlo para que el programa funcione correctamente
en TODAS LAS MÁQUINAS para las que está compilado. Para saber si en tu máquina
funciona correctamente con el ratón sólo tienes que probar (no pasa nadaaa, sólo
que si aparece basura en pantalla, sales y ya está). Para estudiar en detalle la programación que está permitida en este simulador tendría que volver al apartado de ANÁLISIS SINTÁCTICO (que no he incluido porque he creído que no es necesario) y ver cuál es la sintaxis permitida. De todas maneras le adelanto que el tipo de programación en este simulador es casi idéntica a la del TSX07, las únicas operaciones que no están permitidas son: mezclar en la carga Set/Reset con Store/StoreNot y la programación no reversible de contadores como temporizadores. NOTA: Posiblemente vuelva a rediseñar la gramática para incluir este caso aunque lo interesante sería volver a realizar el programa en C++ (incluyendo cosas que actualmente el programa no puede hacer como la anterior e incluso operaciones de bits y cosas de esas) y mejorar la presentación. Espero que cuando te acuerdes de mi familia por tener que copiar más líneas de las necesarias por este motivo seas comprensivo ya que YO NO SOY PROGRAMADOR así que si te interesa el programilla y sabes algo de diseño de gramáticas y cosas de esas me podrías echar una manilla (yo no tengo ni idea, y lo más importante para que funcione correctamente el programa ES SU GRAMÁTICA) Veamos unos ejemplos: Combinación Serie-Paralelo LD %I0.0 AND %I0.1 OR( %I0.2 AND %I0.3) ST %Q0.0 Combinación Paralelo-Serie LD %I0.1 OR %I0.2 AND( %I0.3 OR %I0.4) ST %Q0.0 Programación empleando entradas y salidas LD %I0.0 OR %I0.1 AND( %I0.4 OR %I0.5) ST %Q0.0 LD %I0.0 OR %I0.1 AND %I0.3 ST %Q0.1 LD %I0.0 OR %I0.1 AND %I0.3 AND %I0.2 ST %Q0.2 Programación empleando marcas LD %I0.0 OR %I0.1 ST %M0 LD %I0.4 OR %I0.5 ST %M1 LD %M0 AND %M1 ST %Q0.0 LD %M0 AND %I0.3 ST %Q0.1 LD %M0 AND %I0.3 AND %I0.2 ST %Q0.2 Programación empleando marcas y salidas como entradas LD %I0.0 OR %I0.1 ST %M0 LD %I0.4 OR %I0.5 ST %M1 LD %M0 AND %M1 ST %Q0.0 LD %M0 AND %I0.3 ST %Q0.1 LD %Q0.1 AND %I0.2 ST %Q0.2 Cómo resolver la imposibilidad de mezclar Set/Reset con Store/StoreNot Supongamos el siguiente programa: LD %I0.0 AND %I0.1 ST %Q0.1 STN %Q0.2 S %M3 R %M4 Si se introduce este listado en nuestro programa éste nos dirá que el listado es incorrecto puesto que si analizamos la estructura de la sintaxis permitida por el programa no está permitido mezclar secuencias de Store/StoreNot con Set/Reset como hemos dicho anteriormente. La solución: duplicar el código o mejor aún utilizar marcas. LD %I0.0 AND %I0.1 ST %M0 LD %M0 ST %Q0.1 STN %Q0.2 LD %M0 S %M3 R %M4 Paso de programación irreversible a reversible Como ya se ha mencionado anteriormente, tampoco está permitida la programación de temporizadores y contadores de forma irreversible. Veamos un ejemplo de paso de programación irreversible a reversible. Programación irreversible: LD %I0.1 IN %TM1 LD %TM1.Q ST %Q0.3 Programación reversible: BLK %TM1 LD %I0.1 IN OUT_BLK LD Q ST %Q0.3 END_BLK Con los contadores pasa exactamente lo mismo, hemos de utilizar la programación de bloques. Autor: Jose Maria Sirvent http://perso.wanadoo.es/bullende
|
|
Todos los nombres comerciales que se utilizan en esta web están o pueden estar registrados por sus respectivos fabricantes. 2000, 2006 Última modificación: 02/03/2006 |