Software para control de telescopios
(ASCOM)
¿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.
![]() |
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?
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)
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
![]() |
|
![]() |
![]() |
|
|
|
Ultimos artículos
Últimos artículos incluidos en la web, por orden inverso de aparición (los más modernos arriba):
Observatorios remotos

Software
ASCOM

Astrofotografos aficionados

Religión
y astronomía

Astrofotografos profesionales

Spirit:
fin de la misión

Eclipse Lunar 15 de Junio 2011

Observación Junio 2011

Usar Elenin con Stellarium

LISA: Ondas gravitatorias

Noviembre
2011: Cometa Elenin

Observación Mayo 2011

Aumenta
la actividad solar

50
años del vuelo de Yuri Gagarin

Magnetosfera
de Saturno

Oposición
de Saturno

Ortos y Ocasos en Madrid

IMAX
y Cassini en Saturno

Primeras imágenes de Mercurio

Simulador
de las Fases de la Luna

Messenger
orbita Mercurio

Simulador de Ángulo Horario

Observación Abril de 2011

Observación Marzo de 2011

La
Super Luna del 19 de Marzo de 2011

El
cielo hoy

Los rovers
marcianos

Sondas
espaciales
El 17 de Marzo de 2011, la nave Messenger entró en órbita a Mercurio. Artículos relacionados:

Messenger
orbita Mercurio

Messenger se acerca a Mercurio
Referencias prácticas
Artículos relacionados con astronomía matemática. Cómo se miden y calculan los distintos sistemas de coordenadas y sus diferencias entre ellos:
Coordenadas cartesianas

Coordenadas cartesianas 3D

Coordenadas polares

Coordenadas horizontales

Coordenadas Ecuatoriales Absolutas

Coordenadas Ecuatoriales Horarias

Coordenadas Eclipticas
Posición de la Estación Espacial Internacional (ISS)
Posición en tiempo real de la ISS. La ISS viaja alrededor de la Tierra en una órbita de unos 360 Km de altura. Su velocidad media es de 27.743 km/h.Créditos Heavens-Above GmbH
NASA Astronomía Foto del Día
SOHO El Sol ahora mismo
Cortesía de la sonda SOHO de la NASAFASE de la Luna al día de hoy
Cortesía del U.S Naval ObservatoryEstadisticas web
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...

Home





