You are on page 1of 17

0.

INDICE

1. INTRODUCCIN

1.1. Protocolo IOCP

1.2. Estructura del Sistema de simulacin IOC

1.3. Sistema basado en eventos

1.4. Servidor IOCP

2. SISTEMA DE SIMULACION DE LAS IOCARDS -SIOC-

2.1. Variables del sistema

2.2. Mdulos del SIOC. Tipos de uniones (links) a variables del sistema

2.2.1. Mdulo FSUIPC


2.2.2. Mdulo cliente IOCP
2.2.3. Mdulo conexin a IOCards

2.2.3.1. Conexin SW IOCards


2.2.3.2. Conexin Salida IOCards
2.2.3.3. Conexin Dgitos IOCards
2.2.3.4. Conexin Encoders IOCards

2.3. Programa CONFIG-SIOC para la definicin de variables y scripts.

2.3.1. Opciones de ficheros


2.3.2. Opciones de edicin
2.3.3. Otras opciones

2.4. Programacin de scripts

2.4.1. Variables locales


2.4.2. Comando ASIGNACIN
2.4.3. Comando FUNCIN
2.4.4. Comando CONDICIN IF (Si la condicin X ocurre ...)
2.4.5. Comando CONDICIN ELSE (En otro caso ...)
2.4.6. El bucle sin fin
2.4.7. Ejemplos de programacin

2.5. Programa SIOC. Servidor IOC y ncleo de la aplicacin.


1. INTRODUCCIN

1.1. Protocolo IOCP

El protocolo IOCP (IOCards Protocol) nace como necesidad de intercomunicacin


de las placas IOCards con distintos software en distintas mquinas, utilizndose
para ello el protocolo de red TCP/IP, siendo posible la interconexin tanto en
entornos de redes locales como a travs de internet.

Este protocolo presenta notables avances frente a otros protocolos utilizados


para la interconexin de mdulos o placas electrnicas al simulador de vuelo Fligh
Simulator :

- Es un protocolo muchsimo ms rpido.


- Consume menos recursos.
- Basado en eventos.
- No necesita de aplicaciones tipo WideFS para interconectarse con otros
ordenadores.
- Es multiplataforma, pudindose conectar actualmente adems de al FSimulator, al
X-plane.
- Es totalmente Freeware para entornos no comerciales.

1.2. Estructura del Sistema de simulacin IOC

El Sistema de simulacin IOC, ha sido diseado para cubrir aquellas


cuestiones que el software de las IOCards no cubrian, atendiendo a las posibles
necesidades que surgen al ir ms all del funcionamiento electrnico de las
IOCards.

Mediante este sistema, es posible realizar simulaciones de todo tipo, que son
definidas por el usuario, afectando para ello no slo a la forma de funcionar de la
electrnica, sino por supuesto tambin a la forma de operar del simulador de vuelo
o de los mdulos asociados al mismo.

El Sistema utiliza el protocolo IOCP como medio de transporte de la


informacin, y como medio de acceder tambin a las variables internas del sistema.
El ncleo del SS-IOC se basa en :

- Un servidor IOCP capz de dar entrada y salida a cualquier variable definida en


el mismo.
- Un mdulo cliente IOCP para acceder a otros sistemas (como pueden ser el
FSimulator usando IOCPserver.dll, o X-plane mediante XLUIPC).
- Un mdulo cliente FSUIPC para acceder a otros sistemas (FSimulator, Project
Magenta, etc).
- Un mdulo de interconexin al sistema IOCards, para poder controlar las placas
directamente desde el sistema.
- Un programador de scripts visual que permite una amplia operatividad entre todos
estos mdulos, con funciones especiales, frmulas matemticas, condicionales,
timers, etc.
1.3. Sistema basado en eventos

Todo el sistema se basa en eventos.

Un evento lo podramos definir como un conjunto de operaciones que se


realizan al ocurrir algo.

En nuestro sistema, los eventos se pueden lanzar por varios motivos :

1) Al cambiar el estado o valor de una variable interna.

2) Al lanzarse mediante un timer. Es decir, mediante un cronmetro que a cada


cierto tiempo lanza el evento.

3) Al ocurrir un cambio de estado en la electrnica entrante.

Para nosotros, todo ello siempre se reduce a lo mismo pues todo desemboca en
el apartado 1), un cambio en el estado o valor de una variable interna.

1.4. Servidor IOCP

Todo el sistema SIOC gira entorno a un servidor IOCP. Desde el software se


pueden definir hasta 10.000 variables IOCP, las cuales pueden llevar asociadas un
script que se ejecutar tal como se active un evento de alguna de ellas.

Estas variables que son definidas por el usuario, son accesibles adems de
internamente, desde cualquier aplicacin cliente que se conecte al servidor,
pudiendo dicho cliente tanto provocar un evento al cambiar el valor de cualquiera
de las variables del servidor, como recibir los valores de cualquier variable que
haya cambiado su estado.

Los eventos pueden ser lanzados de forma interna y recursiva al ejecutarse un


script, pues mediante el comando de asignacin se puede alterar el valor de una de
las variables internas, la cual ejecutar a su vez el script asociado a su evento.

Los clientes que conectan con el servidor IOCP lo primero que hacen es
inscribir en el servidor aquellas variables de las cuales se quiere tener
informacin cuando se produzca un evento de modificacin en ellas.
El diagrama de funcionamiento sera :

EVENTO

Se recibe un FIN
cambio en una
variable
Enviar el nuevo
valor de la
variable al
cliente

Lanzamientos
de otros Ejecutar Script No El cliente tiene en su S
eventos asociado
lista esa variable ?

EVENT

END
VAR value has
been changed

Send new
value of VAR
to clients

Launch others RUN VAR NO YES


Client have this VAR
events script
in your list ?

Por tanto, si no existen cambios en las variables, no existen eventos y no


existe transmisin de informacin. (este es uno de los motivos que provoca un
aumento de velocidad del protocolo IOCP respecto a las FSUIPC, adems de menos
necesidad de recursos).

Para que haya un evento, tiene que existir un cambio en la variable asociada.
2. SISTEMA DE SIMULACIN DE LAS IOCARDS -SIOC-

2.1. Variables del sistema

La programacin del sistema SIOC est basada en la definicin de sus


variables y de sus scripts asociados. (evento)

Cada una de las variables se distinguen por su nmero que puede ir desde el 0
hasta el 9999. De tal manera que cualquier cliente que conecte con el servidor del
SIOC, y requiera informacin de la variable #0134, est haciendo referencia a la
variable que habremos definido con ese nmero. Con lo que cualquier modificacin
del valor de la misma conllevar la notificacin al cliente de ese cambio. Adems,
una orden de modificacin de la variable por parte del cliente, conllevar el
lanzamiento del evento correspondiente y la ejecucin de su script asociado.

Las variables adems de su nmero de identificacin, pueden llevar una


descripcin de la misma y un valor inicial (opcional). Este valor ser el primero
que adopte la variable al iniciar el programa.

Para poder acceder al resto de mdulos que gestiona el SIOC, las variables
tienen una caracterstica especial, pueden ser LINKADAS o UNIDAS a estos mdulos de
tal manera que la modificacin de esta variable conllevar una interaccin con el
mdulo al que est unida, o al contrario, una accin de uno de lo mdulos
conllevar la modificacin y por tanto, el lanzamiento del evento de la variable a
la que est asociado.

Por tanto la forma de controlar los mdulos del SIOC, es a travs de las
variables que unimos al mdulo.
En el momento que definamos algn tipo de unin, el programa solicitara la
introduccin de los datos del mdulo al que queremos unirnos. En el caso de este
ejemplo podemos observar como al unir la variable al mdulo de switches de las
IOCards, automticamente se pide introducir el nmero de entrada asociada al switch
y el tipo del mismo.

Las variables siempre almacenan un valor entero en el rango -2147483648 a


2147483647, con lo que para almacenar valores decimales deberemos tener siempre una
conversin del mismo.

Por ejemplo, si tenemos que guardar un valor con 4 decimales, por ejemplo
1.0345 , pues almacenaramos siempre el valor multiplicado por 10.000, de tal
manera que se almacenara 10345 y llegado el caso de necesitarse el valor real,
dividiremos siempre por 10.000 en las operaciones correspondientes. Esto es as por
las propias especificaciones del protocolo IOCP.

2.2. Mdulos del SIOC. Tipos de uniones (links) a variables del sistema

Existen 3 mdulos bsicos a los que podemos unir nuestras variables: el


mdulo FSUIPC, el mdulo IOCP y el mdulo de acceso a las IOCards.

Adems por supuesto, podemos no unir nuestra variable a ningn mdulo, para
ello seleccionaremos esta posibilidad en el desplegable correspondiente. Con lo que
dicha variable funcionar con el servidor sin que la alteracin de la misma afecte
a ningn mdulo.

La frmula adoptada para la interaccin con los mdulos es siempre la misma:


las variables toman el valor del resultado de un evento lanzado por un mdulo (al
cual se le ha unido) y a su vez se lanza el script correspondiente asociado, o por
el contrario, al modificarse el valor de una variable se lanza el evento y en ese
momento se enva al mdulo la informacin del mdulo que en cada caso afectar al
mismo de una u otra forma como podremos ver posteriormente.

Por tanto, deberemos diferenciar 3 tipos de uniones: aquellas que son de


envo o salida, las que son de recepcin o entrada, y aquellas que son
bidireccionales o de entrada y salida.

2.2.1. Mdulo FSUIPC

Mediante este mdulo nos conectaremos directamente al Flight Simulator (el


mdulo servidor FSUIPC debe de correr en el simulador), o a la utilidad WideFS que
a su vez se encargar de conectarse con el simulador, al cual adems pueden estar
conectado otras aplicaciones como los mdulos del Project Magenta u otros.

Para este mdulo, las variables del SIOC podrn unirse de dos formas: en modo
ENVO A FSUIPC, o en modo RECEPCIN DE FSUIPC.

En el modo de envo a FSUIPC , es necesario indicar el offset destino (con un


$ delante, por ejemplo $0B00), la longitud de la variable FSUIPC destino (puede ser
consultable en las tablas del SDK de las FSUIPC descargables en la web de Peter
Downson), y opcionalmente un valor inicial que ser enviado al arrancar nuestra
aplicacin.

En este modo, una vez ejecutado el evento con su script, el valor de la


variable ser enviado al offset correspondiente.

En el modo de recepcin desde FSUIPC, de igual manera es necesario indicar el


offset origen y la longitud del mismo.

El sistema realiza una lectura cada cierto tiempo (este tiempo es definido en
el fichero .ini), y en caso de que el valor del offset difiera del ltimo valor
recogido por el sistema, se enva un evento a la variable asociada, siendo el nuevo
valor de esta variable el del offset FSUIPC y arrancndose en ese momento el
correspondiente script.

Puede ser interesante, al venir la informacin de los offset en muchos casos


codificada, introducir en el script de la variable asociada los correspondientes
comandos que decodifiquen el valor real que indique el offset pasndose este valor
a otra variable para su proceso.

2.2.2. Mdulo cliente IOCP

No debemos de confundir el mdulo cliente IOCP, que incluye el SIOC, con el


propio servidor IOCP del SIOC.

Realmente hablamos de variables del servidor de IOCP del SIOC como las
variables propias del SIOC, pero cuando hablamos del mdulo cliente IOCP hablamos
de otras variables diferentes a las nuestras, que estn en otro servidor y a las
cuales accederemos desde nuestro mdulo cliente.

El SIOC puede por tanto conectarse a cualquier servidor IOCP, con slo
indicarle en el fichero de configuracion .INI la direccin IP y puerto TCP/IP donde
se encuentra el mismo. Este servidor puede ser por ejemplo el mdulo XPLUIPC para
X-plane, con lo que el SIOC podra acceder a las variables de este simulador, el
mdulo IOCPServer.dll para FlightSimulator, o cualquier otro servidor IOCP que se
encuentre en red con el nuestro (o por internet), incluido otro sistema SIOC.

La unin del este mdulo con las variables es del tipo bidireccional, es
decir, una modificacin en nuestra variable conllevar un envo por parte del
cliente al servidor de dicha modificacin, o una notificacin de modificacin de
variable por parte del servidor al cliente, de igual forma conllevar la activacin
del evento de la variable asociada al mdulo.

Cuando elegimos este tipo de unin a la hora de definir nuestra variable,


deberemos de indicar el nmero de identificacin de la variable destino a la que
queremos unirnos, as como opcionalmente un valor inicial para enviar a esta
variable al arrancar la aplicacin.

2.2.3. Mdulo conexin a IOCards

Este mdulo permite que el SIOC se conecte de forma directa a un sistema


IOCards que se encuentre conectado al ordenador.
Es importante tener en cuenta, que este no es el nico mtodo para conectarse
a un sistema IOCard, pues tambin tenemos la posibilidad de que el software de las
IOCards mediante su propio cliente IOCP se conecte al servidor IOCP del SIOC, y
mediante la configuracin de las IOCards y la programacin de los correspondientes
scripts se realice la interaccin que desee el propio usuario.

Segn el tipo de conexin que definamos con las IOCards, la variable


interaccionar de una u otra manera.

De igual manera, tendremos conexiones con las IOCards de envo y de recepcin


dependiendo del tipo de circuito que conectemos.

2.2.3.1. Conexin SW IOCards

En este modo de conexin, la variable se conectar directamente a las


entradas de la placa IOCard Master. Al definir la variable es necesario introducir
el nmero de la entrada correspondiente a la que se hace referencia y el tipo de
entrada (Los mismos que han sido definidos en el software de las IOCards).

El SIOC, al ser una conexin de recepcin, entonces lanzar un evento de la


variable correspondiente cuando exista una modificacin del estado de la entrada en
cuestin, quedando dicha variable con el valor 0 cuando la entrada se encuentre
desactivada y con el valor 1 si la entrada est activada. Cuando se lanza el evento
y su correspondiente script, el usuario puede definir entonces los comandos
correspondiente para las acciones que estime necesarias.

2.2.3.2. Conexin Salida IOCards

Al igual que en la opcin anterior, la variable se conectar directamente a


las salidas de la placa IOCard Master. Como parmetro se debe de indicar el nmero
de la salida correspondiente a la que se hace referencia.

En este caso la conexin es del tipo envo, y el script se lanzar justo


antes de mandar el comando de activado/desactivado de la salida correspondiente.

Para que el mdulo entienda que debe de desactivar la salida, el valor de la


variable asociada debe de ser 0, para que el mdulo active la salida, la variable
deber de tomar cualquier valor diferente de 0.

2.2.3.3. Conexin Dgitos IOCards

Esta conexin realizar el control de las placas IOCard Display, mediante la


variable asociada. Se trata de una conexin de envo donde adems del nmero del
primer dgito a utilizar ser necesario introducir las cifras que componen el
nmero a presentar, as como opcionalmente un parmetro tipo, para definir formas
alternativas de funcionamiento.

La variable asociada deber de almacenar el nmero a presentar, ejecutndose


primero el script asociado previamente al envo de la orden de presentacin en el
display.
2.2.3.4. Conexin Encoders IOCards

Se trata de una conexin de recepcin, en el que la variable asociada en el


momento de que se registre un incremento o decremento en el rotary-encoder ser
lanzado su evento correspondiente, de tal manera que el valor de la variable pasar
a ser la cantidad de incremento generado en el giro (depende directamente de la
aceleracin que se le haya determinado). Volviendo automticamente su valor a 0.

La variable por tanto ser modificada dos veces, pero el script asociado slo
se lanzar cuando el valor de la variable no sea 0.

Para esta configuracin, es necesario indicar la entrada inicial de la placa


IOCard Master a utilizar, la aceleracin correspondiente y el tipo de encoder a
utilizar. (Mismos parmetros que los usados en el software de las IOCards).

2.3. Programa CONFIG-SIOC para la definicin de variables y scripts.

Mediante este programa, el usuario podr definir el modo de funcionamiento


del SIOC, introduciendo las variables que vamos a necesitar, las uniones a los
distintos mdulos, as como los parmetros a configurar en cada una de ellas.

Adems podremos introducir los comandos asociados a cada variable, que sern
ejecutados en la activacin de su evento correspondiente.

Para ello, el programa realiza una presentacin en pantalla a modo de rbol


con distintos niveles, donde el primer nivel siempre corresponde a la definicin de
las variables, y a continuacin los comandos en el orden que sern ejecutados,
pudindose observar la posibilidad de que se creen otros niveles en los comandos
correspondientes de condicin. Estos ltimos slo sern ejecutados si se cumple
dicha condicin.
La edicin de las distintas variables y comandos se podr realizar a travs
del men de opciones o directamente mediante el men desplegable que aparece
pulsando el botn derecho del ratn.

2.3.1. Opciones de ficheros

Entre las distintas opciones del men, nos encontramos con la posibilidad de
crear un nuevo fichero de configuracin, abrir uno existente, grabar la
configuracin actual pudindose cambiar el nombre y ubicacin elegidos y por ltimo
una opcin para salir de la aplicacin.

2.3.2. Opciones de edicin

Ya sea mediante estas opciones del men de la aplicacin o con el desplegable


que aparecer pulsando el botn derecho de la aplicacin, podremos crear, insertar,
o borrar todas nuestras variables y comandos.

Al crear una nueva variable o comando, el programa nos presenta un pequeo


cuadrado en el lugar donde debe definirse la variable o comando.

Con un click de ratn en cualquier variable o comando, se seleccionar y


dicho objeto aparecer en un color ms oscuro.

Al hacer doble click de ratn en este pequeo cuadrado, nos aparece un


formulario donde podremos ir seleccionando las distintas opciones. En este
formulario aparecern apagadas aquellas opciones a las que no tengamos accesos,
debiendo cumplimentar el resto de datos.

Una vez pulsemos OK en este formulario, nuestro pequeo cuadrado pasar a


tomar otra forma dependiendo de la configuracin que se le haya dado a la variable
o comando distinguindose as a simple vista que tipo de objeto se ha definido.

Para insertar una nueva variable, deberemos seleccionar una ya existente y


elegir la opcin de insertar variable. Esta nueva variable aparecer justo antes de
la que tenemos seleccionada, y en forma de cuadrado mientras no se cumplimente el
formulario.

Igualmente ocurrir con un comando, seleccionando uno ya existente y


eligiendo la opcin insertar comando.

Teniendo seleccionada una variable, podemos elegir la opcin de crear comando


,de esta manera aparecer un pequeo cuadrado pero en una rama colgando de dicha
variable. Esto indicar que se trata de un comando del script asociado a dicha
variable. A partir de este comando ya podremos insertar o crear nuevos comandos que
compondrn el script de la variable, tenindose siempre en cuenta que el orden de
ejecucin siempre ser segn el orden que tengamos hecho, empezando por el primer
comando ms arriba y bajando hasta el ltimo.

En aquellos comandos de condicin que aparezcan, se podr crear otro comando


(una vez seleccionada la condicin) dependiente de l. De esta forma se indicar
que estos comandos que cuelgan de esta condicin sern ejecutados en el caso de que
dicha condicin sea cierta, en otro caso no sern ejecutados y se continuar con el
siguiente comando del mismo nivel que la condicin correspondiente.

Es decir, los distintos niveles nos indican que comandos sern ejecutados en
caso de cumplirse condiciones. Y siempre teniendo en cuenta que la ejecucin se
hace en funcin del recorrido del rbol desde arriba hacia abajo.

Para borrar cualquier comando o variable, tan slo deberemos seleccionar y


elegir la opcin de eliminar. En el caso de que la eliminacin conlleve el borrado
de un grupo de comandos, el programa solicitar autorizacin para ello.

2.3.3. Otras opciones

Otra opciones disponibles son las de Expandir y Contraer la informacin


presentada en pantalla, de tal manera que los distintos niveles de comandos
dependientes de las variables aparecern o todos visibles, o en el caso de elegir
la opcin de contraer, todos ellos ocultos.

Tan slo con hacer un click de ratn en el icono +, aparecer de nuevo la


rama con los comandos que se mantenan ocultos.

Otra opcin disponible es la de elegir el lenguaje de la aplicacin. Es


importante tener en cuenta que una vez se elija un nuevo lenguaje, deberemos de
entrar y salir de la aplicacin para que aparezca el nuevo idioma.

2.4. Programacin de scripts

Para cada variable podremos definir una secuencia de comandos, que sern
ejecutados consecutivamente al lanzarse el evento correspondiente de dicha
variable.

La programacin permite realizar asignaciones, usar funciones o comandos de


condicin.

Tambin se disponen de distintas variables adicionales que podemos usar para


valores temporales.

2.4.1. Variables locales

Al arrancar un script automticamente se crean varias variables locales. Se


definen como locales porque su valor slo se mantienen para el script en ejecucin
con idea de almacenar valores temporales.

Existen dos tipos de variables, las reales, y las booleanas:

Las variables reales almacenan un valor real, es decir, valores decimales o


enteros, positivos o negativos en el rango 5.0 x 10^-324 a 1.7 x 10^308.

Existen 3 variables reales que estn definidas como L0, L1 y L2.

Las variables booleanas almacenan el valor de una condicin que puede ser
falsa o verdadera. Se utilizan fundamentalmente para formar condiciones a partir de
condiciones simples ya que en los comandos condicionales slo se permite una
condicin.

Existen 3 variables booleanas que estn definidas como C0, C1 y C2.

Por ejemplo, para definir una condicin del tipo Si L0>5 y L0<10, haramos
una primera asignacin del tipo C0 = L0>5, C1 = L0<10, C0 = C0 AND C1. De tal
manera que C0 ser falso o verdadero cumpliendo las condiciones anteriores.

Por defecto, al arrancar el script las variables reales toman el valor 0, y


las booleanas el valor false.

2.4.2. Comando ASIGNACIN

Este comando sirve para asignar a una variable, el valor de otra o el valor
de una operacin entre 2 variables o valores.

El primer parmetro ser la variable receptora del clculo o asignacin, de


tal manera que slo podr ser una variable (local o del servidor). En el caso de
ser una variable local booleana, los siguientes parmetros slo podrn ser una
condicin entre otras variables o valores, o una asignacin directa de otra
variable local booleana.

En el caso de que la variable receptora sea una del servidor, la variable


tomar dicho valor, que si difiere del valor que tena antes provocar el
lanzamiento del evento asociado a esa variable en ese punto del script,
continundose con la ejecucin una vez finalizado el proceso de dicho nuevo evento.

En los desplegables se pueden ver las variables disponibles para dicha


operacin tenindose en cuenta que en una asignacin dentro del script de una
variable, dicha variable nunca puede ser receptora de una asignacin pues se
entrara en un bucle infinito.

Los siguientes parmetros pueden ser a su vez variables locales, variables


del servidor o valores constantes reales (enteros o decimales, positivos o
negativos).

La variable tomar en este caso el resultado de la operacin realizada entre


los parmetros.

Si la variable receptora es del servidor y el valor del resultado a asignar


no es entero, automticamente se har un redondeo y ser este el valor asignado.

Entre los distintos operadores tendremos + , - ,* , / ,AND , OR, siendo estos


ltimo ante variables numricas, operadores binarios.

En caso de tratarse de condiciones, podemos usar > , >= , = , <= , < , AND y
OR como condiciones Y y O.
2.4.3. Comando FUNCIN

Este comando opera sobre una variable ya sea local o del servidor.

Existen varias funciones definidas para cada tipo de variable :

ROUND : Esta funcin realiza el redondeo de la variable o constante que tiene


como parmetro, asignando el resultado a la variable a la que se refiere. Si dicha
variable es del servidor, dicha funcin puede provocar un evento en ese punto de la
variable afectada.( Por ejemplo L0=ROUND( L1 ) ).

SETBIT : La funcin activa el bit indicado en el parmetro (ya sea a travs


de una variable o de una constante entera). Si dicha variable es del servidor,
dicha funcin puede provocar un evento en ese punto de la variable afectada.( Por
ejemplo L0=SETBIT( 5 ), con lo que el bit nmero 5 se pone a 1 y el resto no queda
afectado ).

CLEARBIT : La funcin desactiva el bit indicado en el parmetro (ya sea a


travs de una variable o de una constante entera). Si dicha variable es del
servidor, dicha funcin puede provocar un evento en ese punto de la variable
afectada.( Por ejemplo L0=CLEARBIT( 5 ), con lo que el bit nmero 5 se pone a 0 y
el resto no queda afectado ).

NOT : Esta funcin invierte el valor de una variable local booleana. Es


decir, si el valor fuera verdadero pasara a ser falso y viceversa. ( Por ejemplo
NOT(C0) ).

TOOGLE : An no est implementada.

TIMER : An no est implementada.

2.4.4. Comando CONDICIN IF (Si la condicin X ocurre ...)

Este tipo de comando nos permite ejecutar un conjunto de comandos en el caso


de que se cumpla una condicin.

El conjunto de comandos estar definido por aquellas lneas de comandos que


se encuentran dependiendo o colgando de este comando IF.

Entre los parmetros de este comando podemos tener, o una condicin entre
variables y constantes, o simplemente una variable booleana (con lo que siendo
verdadera ya se cumplira la condicin), o como uniones con AND o OR de 2 variables
booleanas (que se cumplira si el resultado final de la operacin entre ambas es
verdadero).

De no cumplirse la condicin (sea falsa), entonces se continuara con el


siguiente comando en el script.
2.4.5. Comando CONDICIN ELSE (En otro caso ...)

Este comando tambin nos permite ejecutar un conjunto de comandos.

Siempre acompaa a un comando de CONDICIN IF, de tal manera que en el caso


de no cumplirse la condicin, sera este otro bloque de comandos los que seran
ejecutados. Sin embargo, si se cumpli la anterior CONDICIN IF, este bloque de
comandos no se ejecutara.

2.4.6. El bucle sin fin

Un peligro en la programacin de script es el bucle sin fin.

El bucle sin fin se produce cuando se lanzan eventos de forma circular de tal
manera que la ejecucin nunca para, pues unos eventos arrancan a otros y estos de
nuevo al mismo de origen sin posibilidad de parar o parar despus de un overflow.

2.4.7. Ejemplos de programacin

Con la combinacin de las distintas posibilidades, variables, comandos, etc,


podremos realizar complejas simulaciones y operaciones.

En www.opencockpits.com aparecern distintos tutoriales donde se explicar


paso a paso como realizar distintas cuestiones con este software.
2.5. Programa SIOC. Servidor IOC y ncleo de la aplicacin.

La aplicacin SIOC.EXE es la encargada de leer el fichero de configuracin e


iniciar el servidor IOC y los distintos mdulos de la aplicacin.

Mediante el fichero SIOC.INI se configuran los parmetros bsicos de la


aplicacin. Dicho fichero explica el uso de cada parmetro.

La aplicacin se podr arrancar en la misma mquina donde est el simulador o


en otra distinta, conectndose a travs del cliente FSUIPC o el cliente IOCP
(indicndose en este caso los parmetros de la conexin TCP/IP).

En la pantalla de la aplicacin podremos observar el estado del servidor IOCP


as como de cada uno de los mdulos activos en la aplicacin.

You might also like