Hola, bueno, yo he manejado autómatas industriales de siemens un poquito más grandes que esos (el Siemens 314IFM si no recuerdo mal).
Ese bichejo en cuestión no le he manejado (aunque si que lo estuve "manoseando" XD un día y me estuvieron contando cosas del pequeñín). Por lo que tengo entendido el cacharro costaba unos 200€ (que para lo que puede llegar a costar un PLC no es demasiado caro) y creo que en la pantalla LCD que tiene se puede programar por diagrama de contactos (como si hicieras el circuito lógico usando interruptores y relés) sin necesidad de conectarlo al PC, eso si, creo que no se puede expandir ni con entradas/salidas adicionales ni con tarjetas de comunicaciones ni nada de nada.
Supongo que se podrá conectar al PC y programarlo (mediante software (proporcionado por siemens creo) bien por diagrama de contactos, bien por código. Copio un trocito de código para que veas de que va la peli (es un programa sencillote sencillote para controlar un toldo con interruptores y un fotosensor):
ORGANIZATION_BLOCK "Cycle Execution"
TITLE = "Main Program Sweep (Cycle)"
VERSION : 0.1
VAR_TEMP
OB1_EV_CLASS : BYTE ; //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
OB1_SCAN_1 : BYTE ; //1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
OB1_PRIORITY : BYTE ; //Priority of OB Execution
OB1_OB_NUMBR : BYTE ; //1 (Organization block 1, OB1)
OB1_RESERVED_1 : BYTE ; //Reserved for system
OB1_RESERVED_2 : BYTE ; //Reserved for system
OB1_PREV_CYCLE : INT ; //Cycle time of previous OB1 scan (milliseconds)
OB1_MIN_CYCLE : INT ; //Minimum cycle time of OB1 (milliseconds)
OB1_MAX_CYCLE : INT ; //Maximum cycle time of OB1 (milliseconds)
OB1_DATE_TIME : DATE_AND_TIME ; //Date and time OB1 started
END_VAR
BEGIN
NETWORK
TITLE =Reset
U E 124.0;
S M 0.0;
R M 0.1;
R M 0.2;
R M 0.3;
R A 124.0;
R A 124.1;
NETWORK
TITLE =Copia de estados
U M 0.0;
= M 10.0;
U M 0.1;
= M 10.1;
U M 0.2;
= M 10.2;
U M 0.3;
= M 10.3;
NETWORK
TITLE =E0-->E1
U M 10.0;
UN E 124.0;
S M 0.1;
R M 0.0;
NETWORK
TITLE =E1-->E2
U E 124.1;
FP M 124.1;
U M 10.1;
UN E 124.5;
S M 0.2;
R M 0.1;
NETWORK
TITLE =E1-->E2 por fotosensor
U M 10.1;
UN E 124.5;
U E 124.3;
S M 0.2;
R M 0.1;
NETWORK
TITLE =E1-->E3
U E 124.2;
FP M 124.2;
U M 10.1;
UN E 124.4;
S M 0.3;
R M 0.1;
NETWORK
TITLE =(E2 U E3)-->E1
U E 124.2;
FP M 124.4;
U( ;
U M 10.2;
O M 10.3;
) ;
S M 0.1;
R M 0.2;
R M 0.3;
U E 124.1;
FP M 124.3;
U( ;
U M 10.2;
O M 10.3;
) ;
S M 0.1;
R M 0.2;
R M 0.3;
NETWORK
TITLE =E2-->E1
U M 10.2;
U E 124.5;
S M 0.1;
R M 0.2;
NETWORK
TITLE =E3-->E1
U M 10.3;
U E 124.4;
S M 0.1;
R M 0.3;
NETWORK
TITLE =acciones E1
U M 10.1;
R A 124.0;
R A 124.1;
NETWORK
TITLE =acciones E2
U M 10.2;
R A 124.0;
S A 124.1;
NETWORK
TITLE =acciones E3
U M 10.3;
S A 124.0;
R A 124.1;
END_ORGANIZATION_BLOCK
Si piíllas uno francés también tendrás la posibilidad de programarlo por GRAFCET que a los franceses les encanta (pa eso se lo inventaron ellos XDD), y es bastante fácil por su parecido a un diagrama de flujo (aunque tampoco hay grandes problemas para pasar de GRAFCET a código [el código que te he escrito lo hice a partir de un grafcet que me hice antes])
De la gama de SIEMENS creo que ese es el más básico (ideal para programarte la calefacción y el riego de la casa del pueblo jajaja)
Hasta luego
Abhotha