SIOC is the programming language/system that you can use to program your flight simulator based on Opencockpits IOCards. Programming a flight simulator basically means connecting a switch in your home build cockpit to the aircraft add-on in MS Flight simulator and/or, vice versa, using state 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'. Generic program examples can be found at the howto sub page. Level-D specific program examples can be found at the howto-767 sub page.
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 (see this sub page for more detail):
Furthermore, the controlador.exe program is handy to check whether your Opencockpits hardware is correctly working or not. Sioc, config_sioc and controlador are all installed by the sioc37.exe package (free).
Very important to know is that SIOC is not a normal executable programming language with a begin and an end, but an event driven scripting language ...
Ok... (uh, yes)... but what does that mean?
Well, SIOC works with Variable declarations. Variables represent either connections to the outside world, such as FSUIPC offsets (your link with 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. In the background and transparent to the user, SIOC monitors the Vars connected to the outside world 50 times per second, in order to detect any Variable changes. If a Variable gets another value, then (and only then) the code in the body of the Variable, enclosed by curly braces { }, 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!
Below is a screenshot of the main window of SIOC, version 3.7 beta 1, running. In the Devices window you may recognize my two USB expansion cards, my USB MCP module and my USB Outputs card.
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 the IOCP server is available. My lekseecon program connects to this IOCP server.
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.