INTRODUZIONE AL LINGUAGGIO SFC(SEQUENTIAL FUNCTION CHART) PER PLC

Linguaggio SFC per PLC

Benvenuto in questa lezione del corso gratuito di programmazione PLC. Oggi voglio presentarti uno dei cinque linguaggio di programmazione definiti nella IEC 61131-3, il linguaggio a diagramma di funzioni sequenziali SFC, in inglese (sequential function chart).

Questo è uno dei linguaggi più semplici da comprendere anche dai non addetti ai lavori, e che viene utilizzato non solo in ambito programmazione plc ma in diversi altri settori.

Novità automazione e plc
Ecco gli argomenti della lezione:
I linguaggi di programmazione PLC dello standard IEC 61131-3.
Il linguaggio SFC (sequential function chart).
Trasformare una sequenza in un programma SFC per plc.
Init step nel linguaggio SFC.
Gli steps nel linguaggio SFC.
Le transizioni nel linguaggio SFC.
La transizione “Delay”, ovvero di ritardo nel linguaggio SFC.
Azioni e qualificatori nel linguaggio SFC.

I linguaggi di programmazione PLC dello standard IEC 61131-3.
Come abbiamo imparato nella lezione sui linguaggi di programmazione plc, nella IEC 61131 sezione tre vengono definiti 5 linguaggi che possiamo utilizzare per creare i programmi dei controllori logici programmabili: ladder (LD), a blocchi di funzione (FBD), a lista di istruzioni (IL), di testo strutturato (ST), e naturalmente quello di cui ci occupiamo oggi, il linguaggio SFC (sequential function chart).

Ogni linguaggio ha le sue caratteristiche ed è più o meno adatto a diversi tipi di figure professionali; per esempio i manutentori elettrici prediligono il linguaggio ladder, mentre come appena accennato i non “tecnici” si trovano meglio con linguaggi come l’SFC.

Naturalmente un grosso ruolo nel determinare la facilità di lettura dei diagrammi viene svolto dal modo di programmare, tuttavia anche dal punto di vista grafico i linguaggi sono abbastanza differenti.
Nella prossima immagine vediamo come appaiono i cinque linguaggi di cui sopra.
Linguaggi di programmazione PLC IEC61131-3
Il linguaggio SFC (sequential function chart).
Il linguaggio a grafico sequenziale di blocchi funzionali è indicato per creare direttamente delle sequenze nel plc, così come le descriveremmo a voce; facciamo un esempio: supponiamo di dover preparare una tazza di the, e cerchiamo di definire tutti i passi (step) da compiere per ottenere il nostro obbiettivo.

Passo 1: immettere acqua nel pentolino.
Passo 2: accendere il fuoco per scaldare acqua.
Passo 3: quando l’acqua è calda immergere bustina di the.
Passo 4: attendere un tempo e togliere la bustina.
Ecco nella prossima immagine la sequenza di preparazione con gli steps appena definiti.
Sequenza di preparazione the

Trasformare una sequenza in un programma SFC per plc.

Vediamo ora come possiamo programmare questa ipotetica sequenza in linguaggio SFC nel plc, in questo linguaggio ogni stato è rappresentato da un simbolo grafico.

Cominciamo con il simbolo di “Init step”, ovvero passo iniziale.

Init step nel linguaggio SFC.

Solitamente lo step iniziale è rappresentato da un rettangolo con la linea del bordo doppia, questo è il passo con cui il programma comincia quando viene avviato.

Ecco nella prossima figura il simbolo dell’init step.

Istruzione Init SCL

il nome che diamo a ogni step del programma SFC deve essere univoco, nell’esempio sopra abbiamo semplicemente chiamato questo step “Init”.

Gli steps nel linguaggio SFC.

A differenza del passo iniziale, nel linguaggio SFC gli altri steps sono rappresentati da un rettangolo con singolo bordo, e anche questi devono avere un nome univoco.

Nella prossima immagine vediamo un esempio dove il passo iniziale è chiamato step1, e Step32 è un passo “normale”.

Gli steps nel linguaggio SFC per PLC

Le transizioni nel linguaggio SFC.

Il passaggio da uno step (stato) all’altro della sequenza di programma SFC si chiama transizione. Le transizioni sono rappresentate solitamente da una linea orizzontale, e a ogni transizione corrisponde una condizione che deve avverarsi per far sì che il passaggio allo step di destinazione avvenga.

Un esempio di transizione è la valutazione di un bit che passa dallo stato zero a uno, nella prossima immagine vediamo un esempio.

Le transizioni nel linguaggio SFC per PLC

Come si nota nella figura sopra, questa volta il passo iniziale ha le doppie linee solo ai lati del rettangolo, il modo di rappresentare gli elementi grafici nei programmi SFC può variare leggermente a seconda del sistema software utilizzato, i principi però non cambiano.

Nel programma rappresentato nell’esempio vediamo che al verificarsi della condizione chiamata “Condition 1”, la sequenza avanza e viene generata un’uscita. Nello stato corrente si valuta poi un’altra condizione chiamata “Condition 2”, che quando è verificata si passa agli stati successivi, per giungere al termine nello stato chiamato “Stop”.

Le transizioni nel linguaggio SFC possono essere semplici valutazioni di bit oppure complesse operazioni logiche.

La transizione “Delay”, ovvero di ritardo nel linguaggio SFC.

Una delle transizioni più comunemente utilizzate nel diagramma a blocchi di funzione sequenziali è sicuramente il ritardo, una semplice istruzione che dice al programma di avanzare allo step successivo dopo aver atteso un tempo.

Nella prossima immagine troviamo un esempio dove si passa dallo step 2 allo step 3 semplicemente dopo 0.5 secondi.

Il rettangolo che vediamo collegato allo Step3 rappresenta un’azione con il suo qualificatore, ne parliamo nel prossimo paragrafo.


Transizione delay nel linguaggio SFC per PLC

Azioni e qualificatori nel linguaggio SFC.

Oltre agli steps (passi), nel programma SFC abbiamo le azioni e i qualificatori, essi permettono di svolgere i vari compiti assegnati a ogni step. Questi elementi sono connessi allo step per mezzo di una linea orizzontale e lavorano solamente all’interno dello step a cui sono collegati.

Le azioni possono essere di diverso tipo, dalla semplice manipolazione di un bit, all’avviamento di una macro contenente molte istruzioni; per questa lezione ci limitiamo a imparare l’azione semplice di valorizzazione di una variabile booleana.

All’interno del rettangolo dell’azione, i qualificatori indicano al programma cosa deve fare con la variabile specificata all’interno dell’azione; tra i qualificatori più importanti del linguaggio SFC abbiamo N, R e S.

Il qualificatore N indica che la variabile specificata deve essere messa a 1 durante la permanenza nello step, e deve automaticamente tornare a zero quando si esce da questo.

Il qualificatore S indica di settare (mettere a uno) la variabile e lasciarla a 1 quando si esce dallo step; per riportarla a zero è necessaria un’azione con qualificatore R (reset).

I qualificatori S e R funzionano come le bobine set e reset nel linguaggio ladder (latch e unlatch).

Nella prossima immagine vediamo un esempio di programma SFC dove premendo un pulsante si attiva l’uscita di una lampada; premendo un altro pulsante la lampada si spegne. Questo programma utilizza l’azione con qualificatore N per porre a uno l’uscita durante la permanenza della sequenza nel passo 1, al quale si arriva quando dal passo iniziale si preme il pulsante di start (condizione della transizione).

Il pulsante di stop rappresenta la transizione che fa riportare il programma al passo Init.

Azioni e qualificatori nel linguaggio SCL per PLC


Copyright(C) automazione-plc.it
P. IVA: 11676200964
Sito di informazione e didattica sull'automazione industriale, il mondo dei PLC e dei sistemi di supervisione.
Programmazione PLC.
Programmazione SCADA e HMI.
Apparecchiature e hardware industriale.
Strumentazione da campo.
Policy sulla Privacy e utilizzo dei Cookies