EJEMPLO DE LENGUAJE SIOC
Vamos a hacer un sencillo ejemplo de configuración SIOC: un interruptor que enciende y apaga un led. Para ello creamos una variable llamada "interruptor" asociada a la entrada número 1 de la tarjeta Master:
Var 0001, name interruptor, Link IOCARD_SW, Input 1
y otra llamada "salida" asociada a la salida número 1:
Var 0002, name salida, Link IOCARD_OUT, Output 1
Las reglas de funcionamiento son:
IF &interruptor = 0 // Si el interruptor esta OFF
{
&salida = 0 // el led está apagado
}
ELSE
{
&salida = 1 // de lo contrario el led está encendido
}
Con estos datos creamos el fichero "prueba.txt" que queda:
Ahora, desde el programa "Config_SIOC", importamos este fichero de texto:

que se nos muestra ahora así:
Lo guardamos como "sioc.ssi", y también como "prueba.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). En el fichero "sioc.ini" definimos que queremos usar el simulador:
[ 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=localhost
[ 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 "Interrupt" para definir la entrada (definimos la número 1), y "leds" para definir la salida (también es la número 1):


Pulsando sobre el interruptor simulado encendemos y apagamos el led:

Funciona como queremos. Podemos guardar el fichero que usa el simulador como "prueba.ioc".
Cambiando:
[ Activar en modo SIMULADOR yes/no]
[ Use simulated card yes/no]
simulator=no
podríamos trabajar ya directamente con las IOCards.
Como vemos el simulador no se ha usado para nada, es decir, podemos usar las IOCards para otras cosas como automatización de una casa, etc.
Ultima edición: 18.10.2005