In questo articolo vediamo quali sono le pratiche migliori da utilizzare per lo sviluppo di programmi PLC nell’ambiente LogicLab.
Approfondimenti
- In questo articolo come utilizzare Funzioni (F) e Blocchi funzione (FB).
- In questo articolo come utilizzare la raccolta di librerie (Package).
- In questo articolo informazioni sulla memoria dei sistemi.
Linguaggio da utilizzare
All’interno di un progetto possono coesistere tanti programmi (POU) sviluppati con linguaggi diversi, la normativa IEC-61131 prevede 5 linguaggi. Quindi starà al programmatore scegliere il linguaggio migliore per il tipo di operazioni che il programma deve eseguire, in generale:
- LD Ladder Diagram: Linguaggio grafico, intuitivo in cui si disegna letteralmente il circuito elettrico, ideale per i programmi di logica. Nato dall’esigenza di usare un linguaggio facilmente comprensibile a chi doveva utilizzare i PLC.
- FBD Functional Block Diagram: Linguaggio grafico in cui si disegna il circuito come un insieme di blocchi funzionali, le cui uscite e ingressi sono collegati da linee di comunicazione.
- SFC Sequential Function Chart: Linguaggio grafico, che descrive l’ordine cronologico di azioni particolari in un programma
- IL Instruction List: Linguaggio testuale tipo assembler che supporta la programmazione basata su un accumulatore.
- ST Structured Text: Linguaggio testuale di alto livello, simile al PASCAL o al C, si compone di espressioni e di istruzioni. A differenza del linguaggio IL è molto più adatto a sviluppare algoritmi complessi.
La scelta del linguaggio è a discrezione di chi sviluppa il programma e del tipo di programma che si stà sviluppando. In generale il vantaggio di utilizzare linguaggi testuali è la facilità di trasporto del programma da una marca di PLC ad un’altra purchè compatibile con lo standard IEC-61131. Tutti gli esempi riportati nel manuale sono realizzati in ST proprio perchè permette con un semplice Copia/Incolla portarli all’interno del proprio progetto (Vedi articolo).
Esportazione/Importazione variabili
All’interno dell’ambiene di sviluppo LogicLab esistono apposite procedure di esportazione/importazione oggetti (Programmi, Funzioni, Blocchi funzione) e variabili. Come vedi dallo screenshot con il tasto destro del mouse su di un gruppo di variabili è possibile eseguirne l’eportazione sia in un file di libreria che in un file XML compatibile con PLCopen.
Analogamente con il tasto destro del muose sulla cartella programmi è possibile importare oggetti dal file di libreria o PLCopen precedentemente esportato.
Ma la soluzione più semplice per esportare/importare TAGs tra i progetti e/o per duplicarle all’interno del progetto modificandone il nome, è quella di attivare la visualizzazione a lista delle variabili e modificarle con l’editor di LogiLab e/o con editor esterni.
La visualizzazione a lista permette di operare anche sulle variabili locali dei singoli oggetti (Programmi, funzioni e blocchi funzione) oltre che sulle definizioni delle strutture dati. Questa è anche la soluzione che utilizziamo per gestire le variabili nella importazione dei programmi di esempio dalla knowledge base in LogicLab (Vedi articolo).

Creazione libreria
Con la distribuzione di LogicLab viene fornita una raccolta di librerie (Vedi articollo), tutte queste librerie sono state create dal programma stesso. Da un progetto LogicLab è possibile esportare in una libreria oltre alle variabili anche qualsiasi oggetto (Programma, Funzione, Blocco funzione, Struttura dati, ecc). Nella esportazione degli oggetti è anche possibile definire una eventuale crittografia, che permette di utilizzare l’oggetto in altri programmi ma non di visualizzarne il contenuto.
Consigliamo l’utilizzo di librerie per creare una propria biblioteca con tutti gli oggetti che si utilizzano più frequentemente nei proprii programmi. Le librerie potranno essere incluse o meglio collegate al proprio progetto (Vedi articolo), in questo modo aggiornando gli oggetti di libreria quando si scoprono bug di funzionamento si è certi di disporre sempre della versione più aggiornata e corretta.Aggiornando le librerie e ricompilando il programma si correggono automaticamente tutti gli eventuali bugs.
Negli oggetti di libreria è anche possibile eseguire il controllo sull’eventuale MID del prodotto (Vedi articolo), creando in questo modo una protezione sul programma realizzato. Gli oggetti di libreria funzioneranno solo se eseguiti su moduli CPU dove è installato il proprio MID.
