<<Volver atrás |
Para realizar la programación de los modelos o robots a través del PC se utiliza el software Lucky Logic para Windows o el LLWin 3.03, además de la tarjeta de control que sirve como nexo entre el ordenador y el modelo. También se pude programar con otros lenguajes, para mas información consulte la sección Programación de la tarjeta con otros lenguajes de esta documentación. 3.1.2. Requisitos de instalación para LLWin 3Los requisitos para la instalación de LLWin 3.03 son los siguientes: · Un PC compatible con procesador Pentium con una frecuencia de reloj mínima de 100 MHz, 32 MB de RAM y aproximadamente 20 MB de espacio libre en el disco duro. · Microsoft Windows 95, 98, 2000 o NT. · Un Puerto RS232 libre COM1-COM4 para conectar la tarjeta de control. 3.1.3. Programas de LLWinEl grupo de programas de los que consta LLWin es el siguiente: · Programa "Diagnóstico de interfaz": sirve para probar si la tarjeta de control funciona y si está conectada de forma correcta al PC. · LLWin 3.03: sirve para crear los programas de control para los modelos de fischertechnik. · Desinstalar LLWin. · Ayuda de LLWin. 3.1.4. Conexión de la tarjeta de control al PC y comprobación de que la conexión es correctaPara comprobar que la conexión entre el ordenador y la placa controladora es correcta, se tendrá que utilizar un puerto serie del PC, el que se quiera o esté libre del COM1 al COM4, abasteciendo a la tarjeta de control con corriente eléctrica (con una fuente de alimentación o la batería que se suministra). Si la tarjeta controladora dispone de corriente eléctrica se encenderá una luz roja. Posteriormente hay que comprobar que la conexión entre la tarjeta de control y el PC es correcta. Para ello hay que ajustar la tarjeta utilizando el programa "Diagnóstico de interfaz" de LLWin como se indicó en la sección Comprobación del correcto funcionamiento de la tarjeta de control de esta documentación. 3.1.5. Crear programas de controlUna vez que se ha probado que la tarjeta funciona y que está correctamente conectada al PC, ya se pueden comenzar a crear programas de control para manipular o controlar los modelos o robots a través de la tarjeta de control. Para ello se utilizará el programa LLWin. Para acceder a él el camino es Inicio > Programas > LLWin 3.03. La pantalla principal de este programa es la siguiente: En la barra de menús están todos los comandos requeridos para manejar el software. A los comandos de menú más importantes o útiles puede accederse a través de los iconos de la barra de herramientas. Para aprender a manejar este programa se van a crear unos programas de control sencillos para manipular una lámpara y un motor. Programa de control para manipular una lámpara1.- Hay que crear un nuevo proyecto a través de la opción de la barra de menús Proyecto > Nuevo. 2.- Deje todas las opciones seleccionadas por defecto y pulse el botón Aceptar. De esta forma habrá creado y abierto un nuevo proyecto. Se desplegará la ventana siguiente: En la hoja o área de trabajo (sección cuadriculada de la ventana) es el lugar donde se pueden crear los diagramas de flujo de los programas de control utilizando los bloques funcionales de la Ventana de bloques funcionales. 3.- Como se puede observar, directamente al crear un nuevo proyecto se inserta un bloque funcional "Arranque" y se abre la Ventana de bloques funcionales. Si ésta no se abre seleccione en la barra de menús Editar > Insertar bloques funcionales. Si siguiese sin aparecer, actívela en el menú Opciones > Ventana de bloques funcionales. 4.- Ahora trataremos de crear los diagramas de flujo para controlar la lámpara. Para ello se tendrán que ir insertando los bloques funcionales necesarios desde la Ventana de bloques funcionales. El primer bloque funcional que se va a insertar es la "Entrada". A tal efecto, sitúe el ratón sobre el bloque funcional en cuestión. Adicionalmente aparecerá el nombre del bloque funcional. 5.- Pulse ahora el botón izquierdo y arrastre el bloque funcional (manteniendo pulsado el botón izquierdo del ratón) hasta el área de trabajo. Al soltar el botón del ratón aparecerá el cuadro de diálogo de este bloque funcional. Aquí se puede ajustar a qué entrada de la tarjeta de control estará conectado el pulsador. Seleccione E1. En "Tipo" debe ajustarse a "Pulsador" y en la "Bifurcación derecha en:" el 0 deberá tener fondo claro. Una vez hecho esto confirme con el botón Aceptar. El bloque funcional quedará insertado en el área de trabajo. 6.- Para mover el bloque funcional a la posición deseada sitúese sobre el bloque funcional, mantenga pulsado el botón izquierdo del ratón y arrastre el bloque funcional. Si quiere modificar los valores del bloque funcional sitúese sobre el bloque funcional y pulse el botón derecho del ratón, el cuadro de diálogo del bloque funcional se mostrará. 7.- A continuación inserte del mismo modo el bloque funcional "Salida". En el cuadro de diálogo ajuste el valor de la salida a "M1", como "Tipo" seleccione "Lámpara" y en "Acción:" el icono de conectar deberá tener fondo claro.
8.- El diagrama de flujo deberá tener un aspecto parecido al siguiente después de haber insertado los dos bloques funcionales:
9.- Ahora queda conectar con líneas de conexión los bloques funcionales entre sí. Tal vez haya colocado los bloques funcionales de tal modo que las líneas de conexión hayan sido trazadas automáticamente. Esta conexión automática de dos bloques funcionales se llama "Auto Connect". Esto siempre funciona si se inserta un nuevo bloque funcional a distancia no superior a 9 puntos de cuadrícula de otro bloque funcional.
10.- Para dibujar las líneas a mano, hay que seleccionar en el menú Editar > Dibujar líneas o seleccionar el icono del símbolo del lápiz en la barra de herramientas.
El cursor adopta la forma de un lápiz. Ahora puede trazar una línea entre dos bloques funcionales, en primer lugar haciendo clic con el botón izquierdo del ratón en la salida del primer bloque funcional. Después de esto, el cursor se vuelve una cruz. Esto indica que se "ha dado" en la salida del bloque funcional. A continuación haga clic en la entrada del segundo bloque funcional y la línea de conexión será trazada.
11.- Para borrar líneas de conexión entre bloques funcionales lo primero es seleccionar en el menú Editar > Borrar líneas o seleccionar el icono de borrar líneas en la barra de herramientas. El cursor adoptará la forma de un borrador. Si se hace clic con el botón izquierdo del ratón sobre una línea de conexión, ésta se borrará.
12.- Al final el primer diagrama de flujo del programa de control, el cual servirá para encender la lámpara, deberá tener un aspecto similar al siguiente:
13.- Sólo queda crear de forma similar un segundo diagrama de flujo que servirá para apagar la lámpara mediante un segundo pulsador que estará conectado a la entrada digital E2. Así el programa de control tendrá el siguiente aspecto:
14.- Para guardar el proyecto seleccione en la barra de menús Proyecto > Guardar como... Escriba el nombre que desee ponerle al proyecto, por ejemplo "Bombilla" y pulse el botón Guardar.
15.- Ahora sólo queda probar si el programa funciona y si es así ver lo que hace. Pero antes de nada, deberá conectar en la tarjeta de control una lámpara en la salida digital M1, un pulsador en la entrada digital E1 y otro en E2. Use los contactos 1 y 3 de los pulsadores. Para probar el programa seleccione en la barra de menús Ejecutar > Inicio. Desaparecerá la cuadrícula y si falta alguna conexión de algún bloque funcional éste aparecerá en color violeta. En ese caso vuelva al "modo de edición" mediante el menú Editar > Programa principal y realice los cambios necesarios. 16.- Si todo está bien, seleccione Ejecutar > Arranque o pulse sobre el icono del semáforo en verde. En primer lugar se traduce el programa, donde una barra informa del estado de procesamiento. Después se inicia el proyecto en "modo Online".
Los bloques funcionales "Entrada" de las dos secuencias (que se ejecutan en paralelo) se encienden en color rojo. Se indica así que ambas secuencias esperan un evento. Accione el pulsador conectado a la entrada E1. La lámpara se encenderá. Si quiere apagarla pulse el pulsador de E2. Pruebe a realizar este proceso varias veces.
17.- Para parar el programa seleccione en el menú Ejecutar > Parar o pulse sobre el icono del semáforo en rojo. 18,- Si quiere ejecutar el programa en "modo Download" en lugar de en "modo Online", seleccione la opción de menú Ejecutar > Download. Una barra informará sobre el estado de procesamiento. Cuando termine, el programa se habrá descargado en la tarjeta de control y se podrá desconectar el cable que une la tarjeta de control con el PC. 19.- Otra forma de lograr manipular una lámpara conectada a la tarjeta de control sería a través del siguiente diagrama de flujo:
Conecte la lámpara a la salida digital M1 y un pulsador a la entrada E1. Al accionar el pulsador la lámpara se encenderá y al volver a accionar el pulsador ésta se apagará. Luego se volverá a esperar hasta que se vuelva a accionar el pulsador. Como habrá podido observar, se puede manipular una lámpara de distintas formas, con distintos diagramas de flujo. Pruebe usted a realizar su propio diagrama para manipularla. Programa de control para manipular un motorAhora se van a realizar los diagramas de flujo para poder manipular un motor que esté conectado a la salida digital M1 de la tarjeta de control. Algunos de los bloques funcionales se han empleado para que se familiarice con distintos bloques funcionales. 1.- Para que el motor gire a la izquierda se utilizará un pulsador conectado a la entrada digital E1. Al accionarlo se oirá un pitido, el motor estará girando el tiempo escogido en segundos, pasados los cuales el motor se parará automáticamente. 2.- Luego se volverá a esperar hasta que se vuelva a accionar el pulsador. Para que el motor gire a la derecha se usará un pulsador conectado a E2. El proceso será similar al anterior. Si no comprende alguno de los bloques funcionales empleados revise la sección Bloques funcionales en LLWin 3.0 donde se explican todos los bloques funcionales que se pueden emplear para realizar diagramas de flujo con LLWin. Los diagramas deberán tener un aspectos similar al siguiente:
A continuación se van a describir en detalle todos los bloques funcionales que aparecen en la ventana de bloques funcionales según el orden en el que aparecen en ésta.
Con el bloque funcional "Salida" se conmuta una de las salidas M1-M4 de la tarjeta de control (M1-M8 en caso de tener dos tarjetas de control). A una salida digital se puede conectar un motor, una lámpara o un electroimán. Se deberá elegir una de estas tres opciones en la lista desplegable de "Tipo" cuando se inserte este bloque funcional. El símbolo del tipo seleccionado se representa en el bloque funcional.
Además, en el cuadro de diálogo de este bloque se debe ajustar el estado deseado de la salida: - En un motor: girar izquierda, girar derecha o desconectar. - En una lámpara o electroimán: conectar o desconectar. El estado ajustado también aparece representado en el símbolo del bloque funcional. Ejemplos:
El bloque funcional "Entrada" interroga el estado de una entrada digital E1-E8 de la tarjeta de control (E1-E16 en caso de tener dos tarjetas de control). Una entrada digital solo puede tomar dos valores: 0 ó 1.
En una entrada digital se pueden conectar los siguientes sensores digitales de la controladora: - Pulsador: accionado - no accionado - Fototransistor: claro - oscuro - Contacto de láminas (sensor magnético): conmutado - no conmutado Debe elegirse uno de estos tipos de sensores en la lista desplegable "Tipo" cuando se inserte este bloque funcional. El símbolo del sensor aparecerá en el bloque funcional.
En función del estado (0 ó 1) que tenga la entrada, la secuencia del diagrama de flujo puede bifurcarse a la derecha o continuar en la conexión inferior del bloque funcional. En el cuadro de diálogo puede elegirse si la bifurcación a la derecha debe producirse con un 0 o un 1.
Además de las entradas digitales E1-E16, en LLWin están disponibles entradas digitales adicionales: - E17-E26: se trata de los interruptores y pulsadores del terminal, que se pueden accionar con el ratón. Como imagen aparece un pulsador de terminal accionado en el bloque funcional. Para mayor información, consultar el bloque funcional "Terminal". - E31-E38, E41-E48: en estas entradas digitales LLWin guarda internamente el sentido de giro de los motores que se controlan desde la tarjeta de control. E31-E38 representan el sentido de giro a la izquierda de los motores conectados de M1 a M8 (como imagen aparece un motor que gira a la izquierda), y E41-E48 el sentido de giro a la derecha de M1-M8 (como imagen aparece un motor que gira a la derecha). Esto ofrece la posibilidad de bifurcar la secuencia del programa en función del sentido de giro del motor. Por ejemplo: si en M1 está conectado un motor y éste gira a la izquierda, la entrada E31 estará activada (1) y E41 estará desactivada (0).
El bloque funcional "Flanco" espera a que una entrada digital cambie de 0 a 1 o de 1 a 0. A esta transición se le llama flanco. En el cuadro de diálogo de este bloque funcional puede ajustarse qué flanco (0-1 ó 1-0) debe esperarse en una entrada digital determinada.
El tipo del flanco ajustado aparece representado en el símbolo del bloque funcional.
El bloque funcional "Posición" cuenta los impulsos en una determinada entrada digital hasta que se haya alcanzado el valor final deseado. Se cuenta cada flanco en la entrada, es decir, que si se acciona y se vuelve a soltar un pulsador, se cuentan dos impulsos. El valor de contaje actual se registra en la variable de contaje. Si en el cuadro de diálogo se activa la casilla "Variable de contaje estándar", automáticamente se asigna una variable de contaje Z1-Z16 a la entrada de contaje digital E1-E16 seleccionada. Estas 16 variables de contaje se pueden procesar por todos los bloques funcionales en donde hay variables (ej.: comparación, asignación, etc.). Si se quiere utilizar una variable de contaje distinta a la estándar, habrá de desactivar la casilla "Variable de contaje estándar" e introducir en el campo "Variable de contaje" una de las variables Var1-Var99 disponibles.
También se puede ajustar la dirección de contaje. Con "+" el valor de la variable de contaje aumenta en 1 con cada impulso y con "-" disminuye en 1.
Un ejemplo práctico para utilizar este bloque funcional es desplazar un motor a una determinada posición. Para ello, se conecta el motor a una salida digital de la tarjeta de control, se cuentan los impulsos a través de un pulsador accionado por una rueda de impulsos que debe estar conectado a una entrada digital y se desconecta el motor una vez alcanzado el valor final de la variable de contaje asociada.
Un diagrama de flujo siempre comienza con un bloque funcional de arranque. Si falta este bloque funcional al principio, no se procesa la secuencia. Si un proyecto contiene varias secuencias, cada una de estas secuencias debe incluir un bloque funcional de arranque. En este caso arrancan al mismo tiempo las diferentes secuencias.
Para finalizar una secuencia, se conecta la salida del último bloque funcional con el bloque funcional "Fin". Una secuencia también puede terminar en diferentes puntos conectando cada uno con un bloque funcional "Fin". También existe la posibilidad de conectar varias salidas a un solo bloque funcional "Fin". Pero también puede ocurrir que una secuencia sea ejecutada como bucle sin fin y no contenga símbolo de "Fin".
El bloque funcional "Reset" repone todas las secuencias de un proyecto al estado de "Arranque" cuando se cumple la condición introducida en su cuadro de diálogo.
Este bloque funcional se coloca sobre el área de programación sin líneas de conexión hacia otros bloques funcionales. En un proyecto sólo puede insertarse un bloque funcional de este tipo.
En el cuadro de diálogo de este bloque funcional se tiene que introducir la condición que provoca el re-arranque del programa. En el "Asistente de entrada" pueden seleccionarse directamente los operadores de comparación, lógicos y los paréntesis que forman parte de la condición, aunque también puede introducirse la expresión completa a través del teclado. La longitud máxima de la expresión es de 40 caracteres. Si se introduce una expresión que no es matemáticamente correcta o que no es admisible, aparecerá un mensaje de error cuando se pulse el botón de ACEPTAR.
El bloque funcional "Parada emerg." desconecta, cuando se activa, todas las salidas de la tarjeta de control. Éste se coloca sobre el área de programación sin líneas de conexión hacia otros bloques funcionales.
En un proyecto sólo puede insertarse un bloque funcional de este tipo.
En el cuadro de diálogo de este bloque funcional se tiene que introducir la condición que provoca la parada de emergencia. En el "Asistente de entrada" pueden seleccionarse directamente los operadores de comparación, lógicos y los paréntesis que forman parte de la condición de parada, aunque también puede introducirse la expresión completa a través del teclado. La longitud máxima de la expresión es de 40 caracteres. Si se introduce una expresión que no es matemáticamente correcta o que no es admisible, aparecerá un mensaje de error cuando se pulse el botón de ACEPTAR.
El bloque funcional "Terminal" sirve para visualizar e introducir determinados valores durante la ejecución del programa. Este bloque funcional se coloca sobre el área de programación sin líneas de conexión hacia otros bloques.
1- En la parte de arriba de este bloque se indica qué salidas de la tarjeta de control M1-M8 están conectadas y en qué dirección giran los motores conectados. 2- Son dos displays para visualizar valores actuales de variables, entradas analógicas, parámetros EA-ED o números definidos con un bloque funcional "Display". 3- Se muestra el mensaje definido con el bloque funcional "Mensaje". 4- Los parámetros EA-ED son valores modificables en cualquier momento, incluso durante la ejecución del programa, a no ser que se trabaje en el modo Download. 5- El botón Parada de emergencia (5) solo funcionan en modo Online. Si el proyecto se ejecuta en modo Download se deberán utilizar el bloque funcional "Parada emerg". 6- El botón Reset funciona de mantera similar al botón de parada de emergencia. El terminal dispone de diez entradas digitales E17-E26 que se pueden usar con el botón izquierdo del ratón. 7- De la E17-E21 se utilizan como interruptores que permanecen activados después de soltar el ratón y se pueden modificar (activado / no activado) antes de arrancar el programa en EJECUTAR > INICIO. 8- De la E22-E26 se utilizan como pulsadores y solo se pueden utilizar cuando ya se ha arrancado el programa.
El bloque funcional "Display" sirve para visualizar un número, una variable, una de las entradas analógicas EX-EY o una de las entradas EA-ED del terminal en uno de los dos displays del bloque funcional "Terminal".
En el cuadro de diálogo se debe seleccionar el valor a mostrar y cuál de los dos displays del terminal se debe utilizar para ello.
El bloque funcional "Mensaje" sirve para introducir un texto con una longitud máxima de 17 caracteres en el campo de texto del bloque funcional "Terminal". Además permite determinar el color de dicho mensaje.
El bloque funcional "Mostrar valores" visualiza constantemente el valor actual de una variable, de una entrada digital, de una entrada analógica o los valores de EA-ED, siempre y cuando el programa se ejecute en modo Online.
Este bloque funcional se inserta en el área de programación sin líneas de conexión hacia otros bloques funcionales.
El bloque funcional "Variable +/-1" permite aumentar o disminuir el valor de una variable en una unidad.
El bloque funcional "Asignación" sirve para asignar un valor a una variable VAR1-VAR99 o a una variable-contador Z1-Z16 (mirar bloque funcional "Posición"). El valor puede ser un número o el resultado de una expresión matemática, siendo la longitud máxima para esta expresión 34 caracteres.
Si se introduce una expresión que no es matemáticamente correcta o que no es admisible, aparecerá un mensaje de error cuando se pulse el botón de ACEPTAR.
El bloque funcional "Comparación" sirve para crear una bifurcación en la secuencia de un diagrama de flujo, dependiendo de si se cumple o no una determinada condición. Los números 0 y 1 en las salidas de este bloque funcional significan "Condición no cumplida" y "Condición cumplida", respectivamente. En el cuadro de diálogo del bloque funcional se puede determinar si la bifurcación derecha se produce con un 0 o con un 1.
La longitud máxima de la expresión para la condición es de 40 caracteres. Si se introduce una expresión que no es matemáticamente correcta o que no es admisible, aparecerá un mensaje de error cuando se pulse el botón de ACEPTAR.
El bloque funcional "Pitido" emite una señal sonora a través del altavoz del PC. En el cuadro de diálogo se puede ajustar la altura tonal y la duración del tono. La altura tonal puede introducirse como frecuencia (50-10000Hz) o como nota (do-si en 5 octavas). La duración del tono puede variar entre 0-5 segundos.
Destacar que en el modo Download no pueden generarse tonos porque la tarjeta de control no tiene altavoces.
Con el bloque funcional "Esperar" se puede programar un tiempo de espera (en segundos, como máximo 999,99s) en una secuencia de un diagrama de flujo. El tiempo de espera comienza al llegar a este bloque funcional. Una vez transcurrido el tiempo de espera introducido, continúa la secuencia.
En el cuadro de diálogo de este bloque funcional, además de introducir el tiempo de espera, se puede elegir el tipo de espera, que puede ser "definido", en cuyo caso se espera exactamente el tiempo introducido, o "aleatorio", en cuyo caso se espera un tiempo aleatorio tomando como valor máximo el tiempo introducido.
El bloque funcional "Texto" permite introducir un texto en cualquier posición del área de programación. Por ejemplo, sirve para documentar el programa. Este bloque funcional permite ajustar el tamaño de fuente.
Estos dos bloques funcionales sólo son visibles en la ventana de bloques funcionales si se está editando un subprograma. Estos constituyen el enlace entre el programa principal y el comienzo del subprograma (SubIn) o entre el final del subprograma y el programa principal (SubOut). Estos bloques funcionales deben tener un nombre, se pude introducir uno o dejar el que se sugiere por defecto.
Después de insertar bloques de este tipo en un subprograma, éstos también deberán insertarse como círculos en el recuadro del símbolo del subprograma. Para ello se utiliza el menú SUBPROGRAMA > DISEÑO. Sólo entonces podrán trazarse líneas de conexión entre la secuencia del programa principal y un símbolo de subprograma.
3.2. PROGRAMACIÓN DE LA TARJETA CON OTROS LENGUAJES 3.2.1. Consideraciones previas Esta tarjeta de control se puede programar en más de un lenguaje de programación, además del LLWin. Como ya se ha visto, esta tarjeta está diseñada para usarse desde cualquier puerto serie del ordenador (COM1-COM4). En esta documentación sólo se hará referencia al puerto serie COM1. Para usar cualquiera de los otros puertos serie, los valores de las órdenes deberán adecuarse al tipo de puerto utilizado. Parámetros de control del puerto Lo primero de todo es abrir el puerto serie que queremos usar y establecer el modo de acceso al mismo (velocidad en baudios, paridad, bits de datos y bits de parada). Estos valores deben ser los siguientes:
Comunicación con la tarjeta Hay 2 bytes necesarios para el control del interface a través del puerto serie. El primer byte es el Comando de Interface, que indica a la tarjeta que ha de enviar como respuesta. El segundo byte describe que motor debe trabajar y en que dirección. La tarjeta controladora, envía 1 o 3 bytes según el Comando de Interface. 1er. Byte: Comando de Interface
2. Byte: Estado del motor
Es posible trabajar con los 4 motores a la vez. Si el bit izquierdo y el bit derecho de un mismo motor, son activados, el motor rechazará la operación. Respuestas desde la tarjeta
En la programación de la Tarjeta Controladora Fischer, es necesario el uso de bucles, ya que necesita un comando cada 300 msg, ya que de otra forma, el motor se apagara. 3.2.2. Lenguajes de programaciónA continuación se explicarán las distintas rutinas de control básicas, para el manejo de la tarjeta (activar las salidas digitales y recibir datos en las entradas analógicas y digitales), en los lenguajes de programación mas comunes. Estos lenguajes son: Para que la aplicación creada en visual basic se pueda comunicar con la controlador de Fischer, se utilizará el módulo “Fischer.bas”. Descripción de variables globales y funciones del modulo FISCHER.BAS Las variables globales pueden ser consultadas en cualquier zona del proyecto y almacenan parámetros y valores de interés referidas a la situación de la controladora. Estas son:
Las funciones definidas son:
Para activar mas de una salida digital a la vez, solo hay que poner en "Dato" la suma de cada de cada una de ellas: Por ejemplo, si queremos activar las salidas 2,3 y 6, debemos poner 76.
Una vez creado el proyecto en Visual Basic, hay que agregar un objeto del tipo “Microsoft Comm Control 6.0”, dentro del formulario donde se trabaja. Si en la barra de herramientas no existe un objeto del tipo MSComm, identificado por un icono de un teléfono, deberá añadirlo a la barra de herramientas del siguiente modo:
Suponiendo que se utiliza el puerto serie COM1, se actuará de la siguiente manera: (para cualquier otro puerto, los valores deberán adecuarse con el puerto elegido) Todas las ordenes referidas a la comunicación con el puerto, tienen el siguiente formato: Nombre_Formulario.Nombre_Objeto_MSComm.Operación = Valor_Operación Por ejemplo, nosotros asumiremos lo siguiente, aunque el usuario podrá ponerlo a su gusto: Nombre_Formulario = FormFischer Nombre_Objeto_MSComm = FischerComm De esta manera, en el procedimiento Form_Load del formulario FormFischer, se inicializará el puerto COM1: Además se adjunta una aplicación visual basic que nos permita comprobar si la controladora Fischer funciona correctamente. Comprobacion de funcionamiento de la tarjeta fischer Asegurese que la controladora tiene alimentación (se encendera la luz roja), y descarguese el archivo Chequeo.zip, y descomprímalo en un directorio a parte. En el se encuentran los codigo del programa de comprobación de la tarjeta. Ejecute el archivo de proyecto fischertechnik.vbp y visualizara los codigos y los formularios. O bien ejecute el archivo fischertechnik.exe. Aparece la siguiente pantalla: En la parte de la izquierda, se reflejan si las entradas digitales estan activadas o no. Cuando una entrada de estas entradas se active, se marcara la correspondiente casilla. En la parte de la derecha, se reflejan la activacion de las salidas digitales, correspondientes a los 4 motores. Podra activarse la casilla del motor izquierda o derecha, según se quiera que le motor gire en un sentido o en otro. En un mismo motor, no podran seleccionarse ambas casillas, por lo que la activacion de una, provocara la desactivacion de la otra (si estuviera seleccionada). Un poco mas abajo, aparecen los valores que se reflejan en las entradas analógicas EX y EY. Para la programación en Visual C, nos ayudaremos del archivo de cabecera Fischer.h. Este modulo se ha implementado para facilitar el desarrollo de aplicaciones y programas bajo Visual Basic. En este, se han definido las funciones y variables globales que permiten la comunicación con la tarjeta controladora Fischer. El usuario, puede modificar este modulo ypersonalizarlo a su medida, pero debe tener especial cuidado, ya que muchas funciones son muy sensibles, y puede provocar la imposibilidad de comunicarse con la controladora. Crearemos un proyecto, donde incluiremos este archivo. Posteriormente, deberemos hacer una llamada al fichero Fischer.h desde donde queramos ejecutar el proyecto: #include “Fisher.h” Descripción de variables globales y funciones del modulo FISCHER.H Las variables globales pueden ser consultadas en cualquier zona del proyecto y almacenan parámetros y valores de interés referidas a la situación de la controladora. Estas son:
Las funciones definidas son:
Para activar mas de una salida digital a la vez, solo hay que poner en "Dato" la suma de cada de cada una de ellas: Por ejemplo, si queremos activar las salidas 2,3 y 6, debemos poner 76.
Nos ayudaremos del fichero fischer.lgo, que contiene las funciones y variables necesarias para poder manejar la tarjeta controladora. Ejecutar el programa MSWlogo 6.5b en su versión española y en la ventana de trabajo teclear, <carga "fischer.lgo>. O bien, directamente de la barra de menu, pinche en “Fichero /Cargar” y seleccione el archivo deseado. A partir de ese momento los procedimientos de control ya están cargados y se puede empezar a trabajar con la controladora. Descripción de variables globales y funciones del modulo FISCHER.LGO Las variables globales pueden ser consultadas en cualquier zona del proyecto y almacenan parámetros y valores de interés referidas a la situación de la controladora. Estas son:
Las funciones definidas son:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |