EJEMPLO DE LENGUAJE SIOC

Ahora vamos a trabajar con una variable del simulador, como es la velocidad indicada, y la vamos a mostrar en 3 displays. Ademas vamos a utilizar la red: en un ordenador está el X-Plane (IP 192.168.2.3) con el plugin XPLUIPC, y en otro (IP 192.168.2.5) el "sioc" y las IOCards.

En el ordenador con X-Plane creamos el fichero "datos.dat" conteniendo la variable "IAS" y lo guardamos en la carpeta "plugins".

Arrancamos X-Plane y comprobamos que XPLUIPC está activo en el menú "Plugins". Ponemos cualquier avión a volar con el piloto automático y lo dejamos así.

Nos cambiamos de ordenador y si queremos podemos abrir la consola (el funcionamiento de la consola se explica aquí) para ver que los datos de la IAS llegan correctamente (hay que definir la IP correcta):

Como los datos llegan correctamente, pasamos a crear ya el fichero de configuración SIOC. Definimos la variable que nos llega desde X-Plane:

Var 0001, name IAS_SIM, Link IOCP, Offset 1

Es la que tiene el indice 1 en el fichero "datos.dat" de la carpeta "plugins", por eso ponemos "Offset 1".

Definimos la variable que vamos a enviar al simulador de las IOCards:

Var 0002, name IAS, Link IOCARD_DISPLAY, Digit 0, Numbers 3

Comentar que en el dígito 0 estará la cifra menos significativa de la velocidad (las unidades).

Las reglas de funcionamiento son:

L0 = &IAS_SIM / 10000
&IAS = TRUNC L0

es decir, en la variable local L0 guardo la información que nos llega de X-Plane (dividida entre 10000), y en la variable de salida almacenamos este valor sin los decimales.

Con estos datos creamos el fichero "prueba2.txt" que queda:

Ahora, desde el programa "Config_SIOC", importamos este fichero de texto:

Lo guardamos como "sioc.ssi", y también como "prueba2.ssi" para trabajar con varias configuraciones y saber cual es cual. En realidad el que usa "sioc" es "sioc.ssi". Ya podemos cerrar el "Config_SIOC".

Ahora, vamos a utilizar el simulador de las IOCards (antes de cablear, vamos a comprobar que funciona como queremos), y vamos a definir los parámetros de la red. En el fichero "sioc.ini":

[ fichero de configuracion para el SIOC ver. 2.0 ]
[ Configuration file for SIOC ]

[************** SIOC ***************]

[ Puerto del servidor IOCP ]
[ IOCP port ]
IOCP_port=8092

[ Tiempo de respuesta máximo de los paquetes IOCP ]
[ IOCP Timeout ]
IOCP_timeout=4000

[ Arranque minimizado en la barra ]
[ Start minimized in tray ]
Minimized=No

[ Retraso necesario para las variables toggles (Project Magenta)]
[ Deley needed for var. toggles (Project Magenta) ]
toggle_delay=20

[ Fichero de configuracion ]
[ Configuration File ]
CONFIG_FILE=.\sioc.ssi

[************** IOCARDS MODULE ***************]

[ Desactivar el módulo de las IOCards ]
[ Disable IOCards module ]
IOCard_disable=No

[ Uso de Expansión USB ]
[ Iocard Master expansion USB ]
USB=yes

[ Múltiples USBs ]
[ Non unique USB ]
MUSB=No

[ Número de periférico para el USB ]
[ USB Device number ]
deviceUSB=2048

[ Número de A/D a usar de la placa de Expansión USB ]
[ A/D used by Iocard Master expansion USB ]
USB_AD=0

[ Puerto donde se encuentra conectada la IOCard Master ]
[ Iocard Master, parallel port address ]
Port=$0378

[ Modo compatible yes/no , necesita cable especial ]
[ Compatibility Mode yes/no, needed special cable ]
FullCompatible=No

[ Numero de tarjetas Master inter-conectadas ]
[ Number of connected master cards ]
NCards=1

[ Utiliza placa de expansión yes/no]
[ Use Expansion card yes/no]
Expansion=No

[ Activar en modo SIMULADOR yes/no]
[ Use simulated card yes/no]
simulator=yes <- usamos el simulador

[ Refresco de poll tarjetas Master ]
[ Master cards refresh ]
MasterRefresh=10

[************** FSUIPC MODULE ***************]

[ Desabilitar lectura de las FSUIPC ]
[ FSUIPC disable mode yes/no ]
FSUipcdisable=yes <- no estamos usando FS, luego las FSUIPC tampoco

[ Refresco recepción FSUIPC ]
[ FSUIPC refresh ]
FSUipcRefresh=50

[************** IOCP CLIENT MODULE ***************]

[ Desactivar el módulo cliente IOCP ]
[ Disable IOCP client module ]
IOCPclient_disable=no

[ IP del servidor donde debe de conectar el cliente ]
[ IOCP client host name ]
IOCPclient_host=192.168.2.3 <- IP del ordenador con X-plane

[ Puerto de envio del protocolo IOCP cliente ]
[ IOCP client port ]
IOCPclient_port=8090

[ Retraso para inicializacion una vez conectado el cliente en milisegundos ]
[ Delay for initialization when client has been connected in mseconds ]
IOCPini_delay=3000

[ End of File ]

Arrancamos "sioc" y automáticamente se nos activa el simulador:

Minimizamos "sioc" y pulsamos el boton "Displays" para definir los displays. Quiero que las unidades (display 0) se muestren en el display simulado número 2, y las centenas (display 2) en el display simulado 0:

y vemos como se nos muestra la velocidad indicada en los displays:

Funciona como queremos. Podemos guardar el fichero que usa el simulador como "prueba2.ioc".

Cambiando:

[ Activar en modo SIMULADOR yes/no]
[ Use simulated card yes/no]
simulator=no

podríamos trabajar ya directamente con las IOCards.

 

Ultima edición: 18.10.2005

 

 

Versión española

English version

     

Página optimizada para una resolución de 1024x768

Mapa del web

Comentarios, sugerencias, dudas, preguntas, enlaces rotos...

Lista de construcción de cabinas