Machine Expert – Safety supporta il linguaggi di programmazione grafici della CEI 61131-3 Schema a blocchi di funzione (SBF) e Ladder (LD) per sviluppare il codice. SBF e LD si possono combinare, cioè i loro oggetti si possono usare insieme in un FdL di codice e gli schemi dei due linguaggi si possono connettere.
In aggiunta è supportato il linguaggio di testo della CEI 61131-3 Testo strutturato (TS).
La norma CEI 61131-3 definisce la sintassi di questi linguaggi di programmazione, specifica la loro rappresentazione e descrive gli elementi ed oggetti utilizzabili nei linguaggi.
Il codice programmato nel linguaggio grafico SBF è composto da funzioni e blocchi di funzione collegati tra di loro o a variabili o letterali mediante linee. Le linee possono anche essere collegate tra di loro. Nei network SBF non è possibile collegare uscite a uscite. A causa di requisiti di sicurezza inoltre non è permesso programmare feedback espliciti.
L'insieme di oggetti interconnessi viene chiamato schema (o network) SBF. Per migliorare la comprensibilità del codice si possono inserire dei commenti.
Il codice programmato nel linguaggio grafico LD è composto da contatti e bobine. La norma CEI 61131-3 prevede l'impiego di diversi tipi di contatti e bobine. I contatti (a seconda del loro tipo) trasmettono la corrente da sinistra a destra. Le bobine memorizzano il valore entrante. Ambedue, contatti e bobine, vanno assegnati a variabili booleane.
I contatti e le bobine sono collegati mediante linee e delimitati a sinistra e a destra da barre di alimentazione. Lo stato della barra di alimentazione sinistra è considerato continuamente ON. In aggiunta ai collegamenti in serie di contatti e bobine è possibile creare rami paralleli. I rami paralleli vengono chiamati anche OR cablati ('WIRED-ORs'). L'insieme di oggetti interconnessi si chiama schema (o network) LD. Ciascun network LD deve essere dotato di almeno una bobina e una barra di alimentazione sinistra e destra. Per migliorare la comprensibilità del codice si possono inserire dei commenti.
Il codice programmato nel linguaggio di testo TS consiste di istruzioni e espressioni. Ogni istruzione deve finire con un punto e virgola. Per migliorare la leggibilità del codice, iniziare ogni istruzione in una nuova riga di codice.
Gli operatori devono essere applicati agli operandi in modo che l'operatore con la precedenza più alta sia seguito dagli operatori con la precedenza di volta in volta più bassa. Anche se il compilatore è in grado di risolvere la precedenza corretta di diversi operatori usati insieme nella stessa istruzione, conviene utilizzare parentesi per evidenziare la precedenza dell'operatore e migliorare la leggibilità del codice.
Gli operandi in TS possono essere letterali, variabili o nomi di funzioni. Nelle espressioni, gli operandi sono usati insieme agli operatori.
Per migliorare la comprensibilità del codice si possono inserire dei commenti.
Descrizione degli elementi del linguaggio TS (istruzioni e espressioni).