Beruflich Dokumente
Kultur Dokumente
- 21 -
La instalación es típica así que no tendremos ningún problema, por defecto se instalará
en la carpeta C:\Archivos de programa\CCS. En este proyecto se ha instalado la versión 2.21
ya que es la que se encontraba en el proyecto anterior a éste, aunque conocemos la existencia
de la versión 3.2 y sabemos que es compatible con este proyecto ya que se instaló inicialmente,
pero se decidió volver a la versión anterior debido a que esta nueva versión tiene la misma
funcionalidad y añadía complejidad al manejo y a la instalación.
4.1.3. LabVIEW.
Necesitamos instalar el LabVIEW, para ello hemos elegido la versión 7.1. Actualmente
existe la versión 8.0 pero para nuestras necesidades nos basta con la versión elegida. La
instalación es sencilla, ya que se puede realizar una configuración típica, solamente debemos
conocer el password requerido para la instalación, hemos utilizado como nombre eDSPlab y
organización Laboratorio remoto.
Como este laboratorio está basado en un proyecto anterior tendremos que partir de los
archivos de ese proyecto, por tanto necesitamos el programa creado en LabVIEW, para ello
Isabel Román creó un CD con estos archivos, así que es necesario guardarlos en el PC
destinado al nuevo Laboratorio donde lo estamos implementando. La ubicación de estos
archivos debe ser la misma que se indica en el proyecto, ya que así no tendremos que
modificarlo en el programa, por tanto lo grabaremos en C:\LabCSED, esta carpeta se compone
de dos subcarpetas.
- 22 -
el bus, esto es debido a la evolución de todos los estándares que se han llevado a cabo a partir
de la creación del bus GPIB. Estos drivers están disponibles en la página de National
Instruments http://www.ni.com/ aunque los adjunto con el CD del presente proyecto. Para
entender mejor el porqué necesitamos estos controladores se muestra a continuación un simple
esquema explicando como estarían dispuestos éstos dentro de la comunicación.
- 23 -
involucrados y la capacidad para intercambiar instrumentos. La estructura de comandos es
jerárquica permitiendo la extensión en caso de nuevas innovaciones.
Un driver es por tanto un conjunto de funciones, llamadas desde dentro de una
aplicación y que realizan una o más acciones sobre el instrumento. Estas acciones pueden ir,
desde mandar un mensaje SCPI a través del bus, hasta el tratamiento de los datos recibidos del
instrumento (FFT, series de Fourier, etc.).
Una de las arquitecturas usadas para este fin es VISA (Virtual Instrument Software
Architecture). En esta se definen una serie de tipos de datos utilizados en las distintas funciones
del driver. Un ejemplo de tipo de datos sería ViStatus (Entero sin signo de 32 bits).
Los tipos de datos definidos en VISA permiten la portabilidad de drivers a distintos
sistemas operativos y lenguajes de programación. Cada la función del dispositivo es genérica e
independiente del tipo de interfaz usado (Ej. GPIB, VXI) para controlar el instrumento.
Otra arquitectura para la creación de drivers de instrumentos, es IVI (Interchangeable
Virtual Instrument) que cuenta con las siguientes características:
- 24 -
Existen plug-ins disponibles para Microsoft Explorer, Netscape Navigator y para sistemas
operativos Linux.
LabView contiene un editor del archivo html donde podemos elegir varias opciones de
construcción (opción Web Publishing Tool, en el menú Tools). Podremos seleccionar si
queremos ver la imagen estática, la imagen con refresco o el control absoluto del instrumento.
También podemos hacer que, una vez cargada la página, se pida el control automáticamente
(Request Control).
Pero antes de esto lo primero que debemos hacer es activar este servidor, para ello
tomamos el punto Options dentro del menú Tools del LabVIEW. En la pestaña web server
configuration habilitamos el servidor Web. En el espacio Root Directory ponemos la ruta
donde se ubicará nuestro el HTML creado. Se puede ver una captura en la figura para nuestra
configuración.
- 25 -
Figura 9. Configuración del Web Server
- 26 -
Figura 10. Interfaz Web del Laboratorio remoto
Y cada módulo tiene en el diagrama de bloques una zona restringida por un bucle con
las condiciones adecuadas para entrar y salir cuando es requerido. Durante la corrección de los
problemas se irán explicando con detalle la mayoría de todos estos módulos junto con sus
bucles asociados.
- 27 -
creado en LabVIEW tiene que comunicarse con ese elemento a través de esa dirección, si éstas
no coinciden, no se entenderán y será imposible mantener una conversación entre el equipo y el
PC. Estas direcciones se tienen que indicar en ambos lados manualmente, tanto dentro del
programa como en los equipos.
Para corregirlo tenemos que cambiar las direcciones GPIB en los equipos, así es más
sencillo ya que de esta forma no hay que cambiar el programa creado en LabVIEW.
4.2.2. DSK.
El principal problema que se encontró en el módulo que maneja el DSK es que no existe
información en el proyecto anterior para configurar el programa Code Composer Studio, sin esta
concreta configuración el instrumento virtual VI no puede conectarse a la placa de desarrollo.
Este problema esta resuelto en el capítulo anterior cuando se instala el programa Code
Composer Studio, allí se explica como se debe hacer la configuración para el DSK6711, que es
el DSP que actualmente se utiliza en las prácticas, si éste es sustituido por otro tendremos que
hacer los cambios oportunos.
Aún resuelto este problema nos dimos cuenta que aunque el programa en LabVIEW era
capaz de comunicarse con el DSP a través del Code Composer Studio la carga del programa en
memoria y su ejecución no se hacía bien, ya que no terminaba de cargarlo y se reiniciaba la
placa. Esto se debía a que la secuencia de órdenes que se daba a la placa a través del
LabVIEW no era la correcta.
Los cambios que se hicieron fueron básicamente de dos tipos, en el primero se cambió
de posición la función que resetea la placa (CCS Reset.vi), y se colocó antes de cerrar el Code
Composer, entre Halt y Close, esto podemos observarlo en la figura anterior. Para el segundo
cambio se tuvo que aumentar el tiempo de carga de programa en memoria ya que el que estaba
puesto era insuficiente. Para ello dentro de CCS Download Code.vi cambiamos varios valores
que se utilizaban para el cálculo del tiempo. Los valores dependen un poco del ordenador donde
se esté ejecutando, por tanto, no me aventuro a dar posibilidades, el método que se ha usado en
nuestro caso ha sido el de prueba y error, al ver que no es suficiente se ha ido aumentado hasta
que se ha llegado a un valor razonable.
- 28 -
Figura 11. Valores que se utilizan para el cálculo del tiempo de carga
En principio no debía existir ningún problema, pues son totalmente compatibles, pero al
intentar comunicarse con el instrumento de medida se observó que el nuevo elemento no
reaccionaba a los comandos.
Vemos que SCPI intenta crear un formato general para cualquier instrumento, ya que
con 488.2 cada fabricante tenía su propio formato y lenguaje para comunicarse a través de
GPIB. El problema que encontramos residía en que SCPI no especifica el lenguaje sino un estilo
de formato, por tanto podemos adaptar cualquier programa creado para controlar un instrumento
- 29 -
de medida específico a otro instrumento de medida haciendo cambios en los comandos que se
mandan al bus GPIB.
Existen guías de programador para cada instrumento donde se pueden ver los
comandos que se utilizan para el Agilent DSO3062A y el Hewlett packard 4603B. Realmente son
comandos muy parecidos pero tienen pequeñas diferencias, por tanto, hay que cambiar todos los
que se crearon ya que solo funcionaban para el osciloscopio anterior. A parte de estos cambios
se comprobó que además de usar el separador punto y coma para separar comandos hay que
utilizar nueva línea para que el nuevo osciloscopio ejecute dicho comando.
La solución consistía en cambiar todas las funciones que mandaran comandos GPIB al
osciloscopio, esto no era un trabajo complicado pero suponía un trabajo engorroso y largo, y
para ello tuvo que hacerse un estudio previo de todas las funciones VI que se habían creado en
el proyecto anterior.
- 30 -
Después de corregir este problema, el Laboratorio remoto funcionó a la perfección, por
tanto, se puso en funcionamiento a la espera de que los alumnos puedan ver pequeños fallos
que se pudieron pasar por alto y hacérnoslo comunicar.
Para poder poner en funcionamiento este laboratorio se necesita crear una página
escrita en PHP para poder subir archivos .out en el servidor para poder cargarlos en el DSP, y
más importante aún todavía, dotar a todo el sistema de seguridad para que nadie pueda entrar
en el sistema. Todo esto se ha explicado en el siguiente capítulo dedicado a la seguridad.
- 31 -