Opencockpits SIOC Software

SIOC is a programming language/system that is used to program a flight simulator based on Opencockpits IOCards. Basically this means connecting a switch in your home build cockpit to the aircraft add-on in MS Flight simulator and, the other way around, using information in that add-on to control leds and digits in your cockpit.

The documentation of Opencockpits about SIOC is huge and overwhelming, and not always correctly translated into English... There is often confusion about how to use SIOC. Therefore I will try to explain the basics.

To start with one should forget about running at multiple PC's, forget about the IOCP protocol/variables and forget about 'servers'. One only needs:

Furthermore, the controlador.exe program is handy to check whether your hardware is correctly working or not. Sioc, config_sioc and controlador are all installed by the sioc37.exe package (free).

Jump to top of this page


SIOC: The Golden Rule

Very important to understand is that SIOC is not a 'normal' procedural programming language with a clear start and a clear end (like Pascal, C, C++, Java, ...), but an event driven scripting language ...

Ok... (uh, yes)... but what does that mean?

Well, SIOC works with Variable declarations. Variables represent connections to the outside  world, such as FSUIPC offsets (your link with your aircraft in FS9/FSX), push buttons, switches, rotary switches, rotary encoders, leds, 7-segment display, servo's, and so on, or they represent internal program states or subroutines.

SIOC monitors the Variables connected to the outside world say 50 times per second in order to detect any changes in values. If a Variable gets another value, then (and only then!) the code in the body of the Variable, enclosed by curly brackets { }, is executed. This can cause another Variable to change value and so you may get a chain of events. Ideal for simulating the logics of an aircraft!

It is very important to understand this behaviour of SIOC. One might call it the SIOC Golden Rule:

SIOC golden Rule

[sheet from a powerpoint presentation by Opencockpits]

Jump to top of this page


SIOC Main Window

Below is a screenshot of the main window of SIOC running (version 3.7 beta 1). In the Devices window (top right) you may recognize my two USB expansion cards, my USB MCP module and my USB Outputs card.

sioc 3.7b1

The LOG window (and the bottom status line) show that SIOC has loaded and is running 'cockpit9.ssi'.

The <IOCP> server window gives information about the Hostaddress and the Port over which an IOCP serve,r that is build in SIOC, is available. My lekseecon program connects to this IOCP server in order to exchange information about the Variables in the running SIOC program.

Parameters for SIOC are once specified in the file 'sioc.ini'. There is a Config_SiocIni.exe tool available at Opencockpits (in downloads, SIOC), that will help you to get your settings right.

Jump to top of this page