Con riferimento allo schema allegato, guardo il ramo inferiore composto da un tre variabili su cui agisce un operatore AND; in C si scrive così (X35 & X7 & X20).
Il ramo centrale composto da: X20, X11, in C scrive così: (X20 & X11)
Il ramo principale composto da: X10, X14, X4, X9 comporta:
Un OR tra (X10 OR (X20 AND X11)); in C (X10 | (X20 & X11))
Questo deve essere posto in AND con X14 e X4, quindi: ( ( X10 | ( X20 & X11 ) ) & ( X14 & X4 ) )
Tutto questo è posto in OR con il terzo ramo, quindi:
( ( ( X10 | ( X20 & X11 ) ) & ( X14 & X4 ) ) | ( X35 & X7 & X20 ) )
Manca solo l'ultimo AND di X9, quindi:
( ( ( ( X10 | ( X20 & X11 ) ) & ( X14 & X4 ) ) | ( X35 & X7 & X20 ) ) & X9 )
Credo sia corretto, ma ho dubbi sul concetto di negato perché in algebra C esiste l'operatore negazione che trasforma uno vero in falso e viceversa, mentre in LADDER sta ad indicare circuito chiuso.
Se X9, X35 ecc sono delle variabili booleane, quando il loro valore è diverso da 0 sono da considerare vere, false se valgono zero.
Quindi penso che in ladder si disegna X20 quando il valore è 1.
Mentre se alcune variabili li vuoi negare in C puoi anteporre loro il simbolo !, es: !X20
Se il valore di X20 è 1 sottoponendolo all'operatore ! otterrai zero come risultato, se il valore di X20 è 0 otterrai 1.
Spero ti sia di aiuto, io sono lontano dal ladder e molto vicino all'algebra di bool quindi prendi il mio intervento con le pinze ed aspetta qualche altra conferma.
Ciao.