Professional Documents
Culture Documents
INDICE
1. INTRODUCCIN
2.2. Mdulos del SIOC. Tipos de uniones (links) a variables del sistema
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.
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.
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 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
Para que haya un evento, tiene que existir un cambio en la variable asociada.
2. SISTEMA DE SIMULACIN DE LAS IOCARDS -SIOC-
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.
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.
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
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.
Para este mdulo, las variables del SIOC podrn unirse de dos formas: en modo
ENVO A FSUIPC, o en modo RECEPCIN DE FSUIPC.
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.
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.
La variable por tanto ser modificada dos veces, pero el script asociado slo
se lanzar cuando el valor de la variable no sea 0.
Adems podremos introducir los comandos asociados a cada variable, que sern
ejecutados en la activacin de su evento correspondiente.
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.
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 cada variable podremos definir una secuencia de comandos, que sern
ejecutados consecutivamente al lanzarse el evento correspondiente de dicha
variable.
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.
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.
Este comando sirve para asignar a una variable, el valor de otra o el valor
de una operacin entre 2 variables o valores.
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.
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).
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.