[an error occurred while processing this directive]

Software para control de telescopios

(ASCOM)

ASCOM logo        ¿Que es ASCOM? Es una iniciativa formada por un grupo de desarrolladores de software de astronomía y los fabricantes de dispositivos dedicados a la astronomía para proveer de forma  independiente de software de control de tipo plug-and-play (es decir, software que reconozca el dispositivo cuando se enchufe en la computadora e, inmediatamente instale los drivers necesarios para hacerlos funcionar). Como tal, ASCOM tiene una arquitectura de muchos a muchos y es independiente del lenguaje, siendo apoyado por la mayoría de los fabricantes de dispositivos de astronomía que se conectan a los computadores que funcionan bajo sistema operativo Windows. El siguiente diagrama muestra cómo ASCOM se diferencia de las arquitecturas tradicionales de control de instrumentos de astronomía. 

Especificaciones ASCOM y diferencias con otros sistemas


DIFERENCIAS ENTRE LOS TRES SISTEMAS
  • En el sistema monolítico
    • Cada programa contiene su propio código de control de dispositivos.
    • El vendedor debe desarrollar su propio código de control de dispositivos.
    • Cada vez que se desarrolle un nuevo dispositivo, el vendedor debe desarrollar nuevas versiones del programa que los controle.
    • Los errores en el software requieren nuevas versiones de programas.
  • En el sistema extensible:
    • Algunos programas de distintos vendedores pueden compartir los drivers de control de dispositivos.
    • Cualquiera puede escribir plug-ins de control de dispositivos.
    • Cuando se desarrolle un nuevo dispositivo, sólo habrá que desarrollar un nuevo plug-in.
    • Los errores en el software requieren nuevas versiones de plug-ins.
  • En el sistema abierto (ASCOM):
    • Independiente del vendedor: cualquier programa puede usar un driver.
    • Cualquiera puede escribir y mantener drivers.
    • Cuando hay un nuevo dispositivo, tan sólo es necesario el driver adecuado.
    • Los errores requieren nuevas versiones del driver.

Compatibilidad de lenguajes

Drivers para todo tipo de dispositivos astronómicos (por ejemplo focalizadores, cúpulas y telescopios) utilizan las funciones del sistema operativo Windows nativo (COM). Prácticamente todos los lenguajes de programación y herramientas permiten el uso de objetos COM de Windows de forma nativa, sin adaptador de bibliotecas.

Los siguientes lenguajes de desarrollo, lenguajes de programación y herramientas de secuencias de comandos pueden utilizar directamente los drivers ASCOM:

  • C++
  • Delphi Pascal
  • Visual Basic 6
  • FORTRAN
  • C#.NET
  • VisualBasic.NET
  • Java (the real thing)
  • COBOL
  • RemObjects PascalScript
  • Perl
  • Python
  • Tcl/Tk
  • PL/1
  • ReXX
  • JavaScript/JScript
  • VBScript
  • Microsoft Office (all products!)
  • Squeak Smalltalk
  • Visual Smalltalk
  • REALBasic
  • MATLAB
  • LABView

¿Por qué son importantes los drivers?

Drivers ASCOM    Bueno, vamos a dar un paso atrás en la astronomía por un minuto. Cuando usted va a comprar una impresora nueva, puede estar prácticamente seguro que va a trabajar con todos los programas de su ordenador. Del mismo modo, cuando se instala un nuevo programa en su computadora, usted puede estar prácticamente seguro que se puede imprimir en la impresora existente, incluso si ya no está en producción. Lo damos por hecho. Las impresoras vienen con un disco que instala el driver de la impresora. El driver se encarga de todos los detalles para que la impresora funcione, dejando a todos sus programas de Windows con una impresora común independiente del modo de enviar las páginas de papel.

   Bien, de vuelta a la astronomía. Hasta ASCOM, cada programa de astronomía que era necesario para controlar telescopios, concentradores, etc tenía que incluir su propio código para todos los tipos de instrumentos diferentes. Mantenerse al día con nuevos instrumentos, dando a la vez apoyo a los antiguos, y hacer frente a las revisiones de firmware es una carga tremenda. Todos los desarrolladores de software de astronomía se enfrenta a la reescritura de código para cada dispositivo que va a soportar. Además, los fabricantes de dispositivos de astronomía se enfrentan a tener que pedir a una serie de proveedores de software de astronomía que soporten su dispositivo en el futuro, lo que retrasa la adopción de sus nuevos dispositivos.

  ASCOM elimina estos problemas. La mayoría de los programas que se necesitan para controlar telescopios, concentradores, etc, ahora esperan que haya un driver disponible para los instrumentos. Por ejemplo, usted puede tener varios programas que necesita para controlar su telescopio (el planetario, el software de imágenes, la herramienta de ayuda a la alineación). Si hay un driver para su equipo, puede estar prácticamente seguro de que todos estos programas puede controlarlo. Para averiguarlo, pidale a su fabricante de su equipo "¿Su equipo tiene un driver ASCOM?" Si es así, ya está todo listo. Y de igual manera, puede preguntarle a un grupo de desarrolladores de software "¿Su software da soporte a mi montura?"

¿Cómo funciona ASCOM?

    Antes de que usted pueda comprender como funciona ASCOM, es necesario entender por qué ASCOM es lo que es. Si no está familiarizado con la programación orientada a objetos en general, lo siguiente probablemente no tendrá mucho sentido.

Fondo

    El objetivo principal de ASCOM es proporcionar una capa de driver-cliente para separar dispositivos específicos de astronomía de la aplicación de software que utiliza estos dispositivos. Es también un objetivo hacer los drivers utilizables por todos los lenguajes de programación, dejando a los desarrolladores de software de astronomía la libertad de utilizar las herramientas de desarrollo y lenguajes a su elección. Cualquiera de los drivers debe ser utilizable en cualquier lenguaje. Sin embargo, cada lenguaje tiene sus propias bibliotecas, así que ¿cómo se puede evitar la necesidad de escribir el driver de astrodispositivos a veces múltiples veces, una para cada lenguaje?

    Sin pasar por la evolución de la arquitectura del driver ASCOM, la respuesta es utilizar el servicio integrado en el sistema operativo Windows llamado COM. Prácticamente todos los lenguajes de programación en Windows ya vienen con las características que proporcionan acceso a los servicios de Windows OS, incluyendo COM. Por lo tanto, un driver que tiene un objeto COM puede acceder desde cualquier lenguaje sin necesidad de librerías adicionales o especiales para ese lenguaje.

API del driver

   El driver, entonces, es un objeto COM. Su API se compone de un conjunto de propiedades y métodos estándar ("miembros"), tal como se define en la especificación de la interfaz ASCOM. Un driver ASCOM API estándar aparece en todos los lenguajes de Windows con los mismos nombres de miembros y parámetros de llamada (para los métodos). Los tipos de datos permitidos se han visto limitados para permitir la compatibilidad con todos los lenguajes de Windows.

¿Cómo trabajan los drivers?.

   Entonces, ¿cómo utiliza el driver un programa de software de astronomía ("aplicación", o "app")?... Usemos un ejemplo sencillo, un mecanismo de enfoque, en concreto un enfocador MicroGlide (hipotético). El MicroGlide se conecta al ordenador mediante un puerto serie, y usa un sencillo conjunto de comandos ASCII. ¡Pero la aplicación no necesita saber nada acerca de la conexión o los comandos ASCII!... Utiliza la API estándar ASCOM de Enfoque, que funcionará con cualquier driver de enfoque, incluyendo el de la MicroGlide.

Paso 1: Elección y configuración de los drivers (fase 1 de preparación)

Carga del Driver ASCOM    Dado que todos los enfocadores tienen el mismo aspecto para la aplicación, primero tiene que dar al usuario la oportunidad de seleccionar el MicroGlide como el tipo de enfocador que está usando. Para ello, la aplicación utiliza un componente que viene con la plataforma ASCOM llamado el Selector. Omitiendo los detalles, la aplicación muestra el Selector y el usuario selecciona el tipo de MicroGlide de enfoque de una lista. Una vez elegido, el usuario hace clic en el botón Propiedades. Esto carga el controlador MicroGlide en el Selector y pide al driver que muestre su ventana de configuración. Allí, el usuario establece el puerto COM en el que el foco está conectado, así como cualquier otra cosa que necesite la MicroGlide para la configuración, de una sola vez. El selector es exactamente el mismo, independientemente de en qué lenguaje esté escrita la aplicación o el tipo de driver que se elija. Cuando el usuario termina, cierra la ventana de configuración y el Selector. En este punto, el conductor MicroGlide guarda la configuración introducida por el usuario y luego desaparece del sistema. Por lo tanto, la configuración del usuario se recuerda y no es necesario entrar de nuevo a menos que algo cambie.

Paso 2: Carga del driver

Cuando el usuario cierra el Selector, se devuelve el identificador (ID) del driver MicroGlide a la aplicación. En este punto, la aplicación puede cargar el controlador haciendo una llamada a la función de Windows que carga el controlador y devuelve una referencia al controlador de carga. 

Paso 3: Uso del driver

En este punto, la aplicación tiene una referencia para el driver y su uso, la aplicación puede hacer referencia a cualquiera de los miembros de la interfaz estándar de Enfocadores ASCOM. 

Tenga en cuenta que en ningún momento el código le dice el número de puerto COM (o incluso el puerto COM está siendo utilizado) o el protocolo ASCII que utiliza la aplicación con el MicroGlide. Así, la aplicación es completamente independiente de todos los detalles del MicroGlide. Sólo se necesita saber acerca de la API estándar para Focalizador ASCOM.

¿Por qué usar COM?

    COM está integrado en Windows. Cualquier lenguaje puede utilizar COM para visualizar en la pantalla o escribir en un archivo de disco. COM no es un servicio de E/S sin embargo, es un servicio de objetos componentes (de ahí el nombre que es sinónimo de Component Object Model). Los componentes son un tipo especial de objeto. Dentro de cualquier lenguaje de programación orientada a objetos, se pueden definir y crear objetos, a continuación, utilizar a sus miembros mientras que el tratamiento del objeto se toma como una caja negra. Sin embargo, los componentes son diferentes. Existen además del código de la aplicación, y son servidos por el sistema operativo. Una vez cargados, sin embargo, se pueden utilizar exactamente igual que los objetos creados en el idioma nativo. Lo interesante, sin embargo, es que los componentes pueden ser utilizados por cualquier programa en cualquier lenguaje. Esto hace que los componentes sean una elección natural para los drivers, ya que después de todo son cosas que deben ser utilizados por cualquier programa en cualquier idioma.

¿Cómo funciona COM?

    Cuando una aplicación solicita al sistema operativo un componente, se utiliza el ID del componente. Los IDs son de todo el sistema. La ubicación en el disco de los componentes no es importante para la aplicación. El sistema operativo tiene un object broker que utiliza el identificador para localizar el código del componente y activarlo. Una vez que el componente se activa, se llama a su constructor. A partir de entonces está listo para su uso por la aplicación. Varias instancias de un componente pueden ser utilizadas simultáneamente por aplicaciones diferentes. El sistema operativo, que activa el componente, devuelve una referencia al componente activado. La referencia de componentes se mantiene en una variable y se utiliza como una referencia a un objeto creado en el lenguaje nativo de la aplicación. Así, el código de la aplicación ve el componente como idéntico a uno de sus propios objetos y lo utiliza de forma idéntica. Tal vez ahora se puede ver lo poderoso que es el concepto de componentes, y por qué fue una elección natural para los drivers de ASCOM.

Página original: http://ascom-standards.org/index.htm

Traducción propiedad de Antonio González Estévez  © 2011

Madrid, 6 de Octubre de 2011 

Blender

Tutoriales Blender

Blender es un programa gratuito de diseño 3D con una increible cantidad de recursos en la red. Puedes usarlo para recrear la astronomía entre otras cosas...

ETACI Escuela de Terapias alternativas

Escuela de Terapias alternativas

En Madrid, centro de estudio de terapias alternativas:

  • Reiki
  • Geometría sagrada y cristales
  • Astrología arquetípica
  • Anatomía del cuerpo energético...
Contuct Us

Contacta con nosotros

Contacta con nosotros a través del correo electrónico.