I riassunti , gli appunti i testi contenuti nel nostro sito sono messi a disposizione gratuitamente con finalità illustrative didattiche, scientifiche, a carattere sociale, civile e culturale a tutti i possibili interessati secondo il concetto del fair use e con l' obiettivo del rispetto della direttiva europea 2001/29/CE e dell' art. 70 della legge 633/1941 sul diritto d'autore
Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).
Presentazione
Queste brevi note sono indirizzate a coloro che si approcciano alla realizzazione di automazioni mediante PLC, e contiene indicazioni pratiche per la programmazione.
La programmazione rimane un argomento molto ostico, in quanto è difficile parlarne senza riferirsi ad una marca precisa (i PLC sono tutti simili, ma sono anche tutti diversi).
Dopo aver "assaggiato" varie marche di provenienza Europea ed Orientale, mi sono orientato verso un produttore Statunitense.
Tutto sommato l'elettronica e l'informatica sono stati inventati da quelle parti, e ciò si riflette ancora oggi nei prodotti figli di queste tecnologie.
Vorrei comunque puntualizzare che un PLC per essere un buon prodotto, oltre che affidabile e completo nella gamma, deve essere semplice e pratico da programmare.
La programmazione, in particolare, deve sfruttare gli strumenti e soprattutto i concetti che si à gia abituati ad utilizzare nel PC dell'ufficio e negli impianti elettrici.
Per quanto riguarda il linguaggio di programmazione si à scelto lo "Schema a contatti", dato la sua comprensibilità praticamente immediata, anche senza nessuna cognizione di programmazione, e che paradossalmente dovrebbe essere chiara anche per un matematico che conosce la logica di Boole.
Questo manualetto è un riepilogo di nozioni tecniche generali e consigli pratici; per gli obblighi di legge o imposti dalle norme tecniche è necessario consultare le stesse.
Prerequisiti
Questo testo non è alla portata di tutti, e da per scontate molte nozioni tecniche.
In primo luogo è necessario avere dimestichezza con gli Schemi Funzionali, condizione inderogabile per approcciarsi alla programmazione dei PLC.
Ne consegue che bisogna essere a conoscenza dei concetti generali di Elettrotecnica : che cos'è un relé, un motore, un avviamento stella-triangolo, una elettrovalvola, ecc.
Per utilizzare un PLC è anche indispensabile saper utilizzare un Personal Computer con i relativi software, visto che la programmazione dei PLC si esegue proprio in tale ambiente (generalmente con sistema operativo MS - Windows).
Non è invece necessario essere degli esperti di elettronica, anche se le nozioni di base non guastano.
I tecnici informatici invece tipicamente non sono adatti per svolgere questo tipo di attività in quanto nella loro cultura mancano le basi di elettrotecnica e di meccanica.
Non è possibile approcciare al mondo industriale e dei PLC con questi concetti :
Del resto il programma in un PLC, come già detto, non è altro che una "rappresentazione su PC " dello schema funzionale.
Obbiettivi
Scopo di questo documento è la programmazione di PLC orientati al controllo di Macchine Industriali, che è il settore d'uso primario di questo dispositivo.
Tra l'altro, data la varietà di macchine ed impianti automatizzati esistenti nel mondo industriale, questo settore è quello che ne fa l'uso più completo e severo.
Gli altri settori, come le piccole automazioni, ed il Building Automation, seguono a ruota, in quanto tipicamente hanno applicazioni più semplici.
Il cammino, in ogni caso, sarà lungo, in quanto si vorra anche far conoscere al lettore i rischi in cui si incorre scrivendo un programma in modo approssimativo e senza una attenta "progettazione"
Il tutto allo scopo di realizzare software affidabili, sicuri e comprensibili.
Cosa non fare!
Tipicamente appena ci si approccia ad un PLC si installa subito il software di programmazione nel PC e si comincia per tentativi a scrivere il programma.
Tipicamente dopo qualche ora ci si rende conto che non solo non si conosce bene il software, che però se si è fortunati è stile Windows e si riesce quantomeno a farlo funzionare, ma che non si sa assolutamente nulla del PLC.
Ecco quindi che ci si rende conto che e' necessario per prima cosa guardare il manuale di programmazione del PLC per capire come si chiamano le istruzioni, come è organizzata la memoria, ecc.
Dopodiche' si inizia di nuovo a smanettare con il PC per tentare di sviluppare il programma.
Tutto ciò comporta il risultato di realizzare un programma confuso, senza capo né coda, che poi si è costretti a rivedere da zero.
Questo manuale affronta il problema a monte, cercando di impostare un metodo di lavoro rigoroso e lineare.
L'uso del PC e la trascrizione del programma è solo l'ultimo passo !
Obbiettivi
Normative
Le norme sono documenti di standardizzazione emessi da comitati tecnici nazionali, europei o internazionali, nei campi più svariati della tecnologia.
Non sono da confondere con le Direttive, che sono praticamente le "leggi" emesse dal parlamento europeo.
Le normative nel mondo sono emesse da due enti normatori :
In Europa questa struttura si riflette sui due comitati tecnici "equivalenti" :
In Italia la situazione è praticamente la stessa con questi due enti :
L'iter delle norme tecniche (detti Standard in inglese) è quello qui rappresentato, che a partire dai comitati internazionali, passando per i comitati europei, arriva agli enti italiani.
1.1 Introduzione
All'inizio c'era l'Elettrotecnica, e l'automazione si realizzava con relé e relativi contatti collegati in serie o in parallelo.
In questo modo per far funzionare un qualunque macchinario, semplice o complesso, si cablavano i vari componenti elettrici nella sequenza esatta di come veniva richiesto, realizzando quindi la Logica di Funzionamento.
Ne conseguì che il disegno che rappresenta questi componenti nel gergo venne appunto chiamato "schema funzionale".
La logica di ogni componente era ovviamente a due stati, che si identificava con il relé eccitato o meno.
Gli elettrotecnici, senza volerlo, avevano messo in pratica la logica binaria di George Boole (matematico inglese, 1815-1864), utilizzando relé e circuiti elettrici !
Poi un giorno arrivarono le "valvole termoioniche", cosicché si comincio realmente ad intravedere l'elettronica digitale.
Questi circuiti a valvole, infatti, potevano eseguire delle operazioni logiche che si facevano con i relé, ma molto più velocemente (e nel silenzio).
Con le valvole si passò inoltre alla costruzione di un elaboratore che potesse compiere operazioni "logiche" a piacimento, e quindi eseguire un programma, mentre con i relé, una volta cablati, si poteva solamente ripetere sempre la stessa operazione.
Il primo computer fu realizzato nel 1943 dal governo americano per scopi militari : si chiamava ENIAC, ed era composto da 18.000 valvole, che causavano un consumo elettrico per 150 kW. |
1.2 L'Elettronica Digitale
Il transistor, componente inventato nel 1945 nei laboratori Bell della compagnia telefonica americana AT&T, è la vera rivoluzione nel ramo della tecnologia elettrica.
Con esso praticamente si scinde dall'elettrotecnica una nuova disciplina tecnica basata sull'elaborazione di segnali elettrici a bassissima energia, ossia l'Elettronica.
L'elettronica aveva quindi come scopo non di inviare elettricità come forma di energia, ma come segnale che esprime un preciso significato, come si faceva con il telefono o con il telegrafo.
Inizialmente l'elettronica era orientata alla gestione dei segnali elettrici (elettronica analogica), e quindi con lo scopo di manipolarne il valore, amplificarlo, filtrarlo, ecc. come richiesto dagli impianti telefonici, ma gli sviluppi furono presto in tutti i settori.
Dato che il transistor aveva soppiantato le valvole, anche per chi si occupava di logica binaria con le valvole era nata una nuova era : l' Elettronica Digitale.
In questa disciplina sono cambiati i componenti ed il dimensionamento "elettrico", ma i concetti base dell'algebra di Boole sono comunque rimasti invariati.
In pratica il relé viene virtualmente sostituito da una cella di memoria del circuito elettronico, denominata bit, dove gli stati possono essere 1 e 0.
Riassumiamo i paragoni tra i due mondi
Elettrotecnica |
Elettronica |
Collegamento in serie di contatti |
Logica AND |
Collegamento in parallelo |
Logica OR |
Relé Eccitato |
Bit = 1 |
Relé Diseccitato |
Bit = 0 |
Anche se può sembrare impossibile, ma teoricamente un PC potrebbe essere costruito con relé anzichè con transistor. Resterebbe "solo" il problema di dove mettere i milioni di relé che sono necessari per realizzarlo ! |
2.1 I Microprocessori
Il microprocessore è il dispositivo massima espressione dell'elettronica digitale : è molto piccolo, fa moltissime cose e consuma pochissima energia.
Questo gadget compie operazioni logiche (e matematiche) molto velocemente, e soprattutto le esegue secondo una "scaletta" predefinita a nostro piacimento, chiamata semplicemente programma.
L'elenco di tutte le operazioni che un microprocessore può eseguire è detto Set di Istruzioni, in inglese Instruction Set. |
Il programma quindi non è altro che un elenco di operazioni che deve compiere il microprocessore.
Tra le tante istruzioni che un microprocessore può elaborare vi sono anche quelle della logica binaria (vedi ad esempio AND e OR citati in precedenza), ecco quindi che può essere utilizzato per elaborare dei segnali elettrici e comandare delle macchine, proprio come si fa in elettrotecnica con i circuiti di comando.
La trasposizione del microprocessore dal mondo dell'elettronica digitale al mondo elettrotecnico è stata quindi abbastanza semplice, viste le affinità dal punto di vista della logica.
Queste affinità comportano, in generale, una straordinaria conseguenza :
ogni schema funzionale puo essere tradotto in una sequenza di istruzioni per un microprocessore.
E' quindi possibile trasformare uno schema elettrico funzionale che comanda una macchina in un programma che praticamente svolge la stessa funzione all'interno del microprocessore.
Un PLC è appunto un apparecchio dotato di microprocessore è destinato al comando di dispositivi elettrici, ma con il vantaggio che una modifica del programma è molto semplice e veloce, rispetto alla modifica del circuito elettrico che deve essere ricablato.
2.2 Differenza PC - PLC
Vediamo nella tabella che segue una comparazione esemplificativa che confronta i mondi PC e PLC :
Caratteristica |
PC |
PLC |
Spostamento di dati |
> 500.000 kByte/sec |
< 10 kByte/s |
Dimensione dei programmi |
> 10.000 kByte |
< 10 kByte |
Operazioni binarie tipiche |
spostamento di 32 bit |
operazioni su 1 bit singolo |
Frequenza Microprocessore |
> 1 GHz |
< 100 MHz |
Funzionamento tipico |
8 ore al giorno |
24 ore su 24 |
Immunità a disturbi elettrici |
scarsa |
elevata |
Condizioni ambientali |
interno climatizzato |
da 0 a 55 °C |
Programmazione |
Compilata con linguaggi ad alto livello |
diretta, praticamente in "linguaggio macchina" |
Il programma di un PLC, se confrontato con i software che abbiamo nel Personal Computer posto sulla nostra scrivania, è veramente piccolo, anzi microscopico.
Quando si usa un PC il microprocessore al suo interno sposta centinaia di MegaByte al secondo attraverso i vari bus, mentre nel PLC si spostano pochi Byte, se non addirittura bit singoli.
Paradossalmente si potrebbe costruire un PLC anche con un processore per PC dell'ultimissima generazione, ma sarebbe un tantino sovradimensionato.
2.3 Caratteristiche Hardware
Come già accennato, un PLC è un piccolo computer, ma a differenza del PC non deve interfacciarsi con l'uomo, ma con circuiti elettrici.
Il suo microprocessore non si aspetta quindi di ricevere un segnale da un mouse o da una tastiera, ma da dispositivi elettrici quali un singolo pulsante, un contatto di allarme, un segnale di livello, ecc.
A sua volta il PLC, una volta elaborati i segnali di ingresso tramite il programma, produrrà in uscita un risultato atto, non a essere visualizzato su un monitor, ma a comandare un motore, elettrovalvole, spie luminose, ecc.
Vi sono quindi :
Dei circuiti di ingresso che "adattano" i segnali elettrici, provenienti dal macchinario o dall'impianto, alle tensioni e correnti interne al PLC;
Dei circuiti di uscita che compiono la sequenza contraria.
Tipicamente i circuiti di ingresso sono costituiti da foto-accoppiatori che dal lato "campo" gestiscono segnali a 24 Vcc, mentre dal lato interno a 5Vcc.
Per le uscite generalmente il microprocessore pilota delle bobine di relè o dei transistor "open collector".
Tra gli accessori più usati da non dimenticare i dispositivi di interfaccia uomo-macchina, indispensabili per segnalare errori, anomalie, e dare la possibilità all'operatore di inserire set-point e scegliere modalità diverse di funzionamento.
Nota : Per un approfondimento di tutti questi aspetti si rimanda alle altre sezioni del "Manuale Pratico del PLC" (edizione 2002).
2.4 Tipi di Segnali elettrici Gestiti
Tipicamente un PLC, nell'interfacciarsi con il mondo esterno, gestisce :
DI - Digital Inputs Ingressi Digitali |
Sono segnali provenienti da contatti, pulsanti, termostati, ecc. e che tipicamente hanno tensione 0 quanto OFF e tensione +24 Vcc quando ON. |
DO - Digital Outputs |
Sono i segnali con i quali il PLC comanda (tramite relé ausiliari e/o contattori) gli attuatori, quali motori, elettrovalvole, segnalazioni, ed altri circuiti. |
AI - Analog Inputs |
Sono segnali provenienti da trasduttori di pressione, portata, o termometri, igrometri, analizzatori chimici, analizzatori di Energia Elettrica e altri strumenti che trasducono la grandezza fisica analizzata in un segnale elettrico proporzionale (tipicamente 4-20 mA o anche 0-10 V); |
AI - Analog Outputs |
Sono segnali atti a pilotare valvole proporzionali, strumenti indicatori, registratori, Regolatori di Velocità per motori (Drives o Inverter), e altre apparecchiature regolatrici. |
In particolare la gestione di queste ultime due categorie di segnali e di grande utilità e consente un enorme passo avanti ai sistemi di controllo programmati rispetto a quelli cablati, con i quali non sono possibili simili operazioni.
2.5 Dummy, il nostro PLC ideale
Dato che nel presente manuale si farà spesso ricorso ad esempi, configuriamo ora un PLC virtuale con il quale fare tutte le nostre successive sperimentazioni, e che chiameremo "Dummy".
Dummy è un ipotetico PLC di media potenza e con caratteristiche Hardware e Software abbastanza aggiornate, in modo da poter sviluppare programmi con le concezioni più avanzate (senza esagerare).
In poche parole Dummy ci metterà a disposizione gli strumenti più moderni e contemporaneamente più pratici che si hanno a disposizione
Come è fatto Dummy
Il PLC sara composto da un telaio, detto rack, con 7 posti scheda così utilizzati :
Slot 0 - CPU
Slot 1 - Modulo con 16 segnali di Ingresso Digitali 16 DI
Slot 2 - Modulo con 8 segnali di Ingresso Digitali 8 DI
Slot 3 - Modulo con 16 segnali di Uscita Digitali 16 DO
Slot 4 - Modulo con 8 segnali di Uscita Digitali 8 DO
Slot 5 - Modulo con 8 segnali Analogici di Ingresso 8 AI
Slot 6 - Modulo con 4 segnali Analogici di Uscita 4 AO
nr. |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
Modulo |
CPU |
16 in |
8 in |
16 Out |
8 Out |
8 In |
4 Out |
Nota : tipicamente a lato della CPU vi è il modulo Alimentatore, ma non ha numerazione.
Articolo n° 3 su 9 del corso "PLC - Controllori a logica programmabile". Vai all'indice del corso.
Paragrafi dell'articolo:
3.1 Generalità
Il presente capitolo affronta brevemente le varie modalità di programmazione dei PLC soffermandosi poi sulla più usata, che tra l'altro è quella che ricalca in forma grafica gli schemi elettrici.
3.2 Modi di programmazione
La norma di riferimento sulla programmazione dei PLC, come già indicato nella premessa dedicata alle normative, è la IEC 1131-3, che riassume un po' tutte le modalità di programmazione.
Di tutti i linguaggi di programmazione si può fare una prima macro-distinzione in due grandi categorie :
Espandi/contrai | Rimpicciolisci | Ingrandisci | Nuova finestra
3.3 Linguaggi di programmazione testuali
Questi modi di programmazione sono quelli più "ostici" per chi si approccia al mondo PLC dal settore elettrotecnico.
Tali sistemi di programmazione sono di provenienza prettamente elettronica e/o informatica e quindi costituiscono dei veri linguaggi di programmazione con enormi possibilità di sviluppare le necessità del progetto.
Lista Istruzioni - IL - Instruction List
Questo modo di programmazione è praticamente il linguaggio macchina, ossia un linguaggio che usa direttamente le istruzioni del microprocessore.
Tale sistema oltre che poco intuitivo e poco pratico, in quanto no ha alcuna rappresentazione grafica e richiede molto tempo al programmatore per la ricerca di errori nel programma o guasti all'impianto controllato.
Alcuni PLC non permettono l'uso di questo sistema, mentre con altri e indispensabile per sfruttare appieno le potenzialità del PLC.
Testo Strutturato (ST)
Questo è un linguaggio di programmazione ad alto livello, come lo sono il Pascal, il Basic, il linguaggio C++, ecc.
Talvolta è indispensabile determinate applicazioni e/o reti di comunicazione
3.4 Linguaggi di programmazione Grafici
Tuttaltro mondo è quello dei linguaggi di programmazione grafici, che si presentano al programmatore come veri e propri schemi elettrici o schemi a blocchi.
Schema a contatti - LD - Ladder Diagram
Questo è il linguaggio di programmazione più usato, in quanto è analogo ad uno schema elettrico funzionale.
Ladder significa letteralmente "scala a pioli", dato che esteticamente lo schema ricorda appunto una scala; nel mondo anglosassone ogni ramo orizzontale viene chiamato rung, ossia piolo.
Nel paragrafo seguente verrà ampiamente approfondito.
Schema Blocchi di Funzione - FBD - Funcion Block Diagram
E' un linguaggio a "porte logiche" che permette di disegnare uno schema classico dell'elettronica digitale
E' molto usato nei sistemi di controllo dei grossi impianti di processo (centrali termoelettriche, impianti chimici, ecc).
Schema Funzionale in Seguenza - SFC - Sequential Funcion Chart
E' un linguaggio sviluppato in Francia con il nome di "Linguaggio Grafcet".
Rappresenta il funzionamento per passi di un processo automatico in modo del tutto similare ad un Flow-chart, ma dove ogni blocco rappresenta uno stato del processo di lavorazione della macchina.
3.5 Lo Schema Funzionale Europeo
Nelle norme del gruppo EN 61082 riguardanti la documentazione degli impianti elettrici, il termine "schema funzionale" non esiste.
Il termine schema funzionale è comunque ampiamente consolidato, e consente di distinguere chiaramente lo schema di comando (tipicamente un circuito FELV), dallo schema di potenza (tipicamente a 230/400Vac).
In esso si trovano i contatti e tutti i relé che compongono la parte elettrica, cosicché talvolta nel gergo viene chiamato anche "Schema degli ausiliari".
Precisazione. Il più simile al termine nella norma EN 61082-2/5 è il termine Circuit Diagram, che indica un disegno nel quale può essere trascritto sia lo schema di comando, sia lo schema di potenza. Per completezza, nella norma si trova anche il termine logic-function diagram, ma esso indica uno schema a porte logiche, ad uso abituale nell'elettronica digitale, che corrisponde appunto al linguaggio FBD. |
Lo schema funzionale, in ogni caso, è un disegno che si sviluppa con i rami disposti in senso verticale, e nel quale si trova nella parte alta la sorgente di alimentazione dei circuiti ausiliari, e nella parte bassa il conduttore "comune" (detto anche di ritorno o anche neutro nel caso di circuiti a 230V).
3.6 Lo Schema Funzionale Americano
Negli Stati Uniti lo schema di comando di una macchina viene tracciato in per linee orizzontali, e da sinistra verso destra come nella scrittura ordinaria.
In pratica è come se si ruotasse lo schema Europeo di 90°.
In tale schema si parte da sinistra con l'alimentazione e passando per i vari contatti si arriva alla bobina del relé nella parte destra.
Per fare questi disegni, anzichè fogli, si usavano talvolta dei lunghi rotoli da consultare in senso longitudinale, come era uso farsi nel medioevo. |
Questo modo di fare gli schemi di comando è stato di grandissimo aiuto per l'invenzione del PLC, infatti i software nei PC, non fanno altro che riproporre sullo schermo lo schema elettrico, mentre al loro interno in realtà lo traducono in una sequenza di istruzioni.
Per il tecnico "elettrico" statunitense, quindi, questa nuova tecnologia e stata praticamente indolore, in quanto si è ritrovato ad usare i soliti simboli, i soliti schemi, ma nello schermo del computer, con l'ovvio vantaggio di poterli modificare a piacimento senza spostare alcun filo.
Tweet
Tweet
Articolo n° 5 su 9 del corso "PLC - Controllori a logica programmabile". Vai all'indice del corso.
Paragrafi dell'articolo:
5.1 Introduzione
Dopo aver trattato alcuni cenni storici ed aver presentato brevemente le caratteristiche hardware del PLC, si presentano ora due argomenti ben distinti :
In questo capitolo si affrontera l'argomento progettazione, mentre il secondo aspetto verrà analizzato nel capitoli successivi (che comunque deve essere sempre approfondito con i manuali forniti dal costruttore del PLC).
5.2 Principi generali di Progettazione
Come visto finora, la stesura del software per un PLC ha bisogno di un quantitativo di carta al quadrato rispetto al listato finale del programma.
Sulla base di quanto detto fino ad ora, buona parte di questa carta e costituita da :
A questo punto si può cominciare a tracciare lo schema a blocchi del sistema di controllo, ossia del programma.
Non si tratta di un flowchart, ma piuttosto di un layout che da l'impostazione generale del programma, ossia la struttura.
Il layout sara graficamente composto da più blocchi ognuno dedicato ad una appropriata funzione, e che nella realtà finale del progetto saranno dei sottoprogrammi (subroutine).
Quando si trascrive un programma per un piccolo impianto, infatti, dato l'esiguo numero di segnali, è possibile avere sott'occhio (e a mente), tutto il sistema controllato.
Al contrario, nel caso di grosse macchine o impianti estesi ciò e praticamente impossibile, quindi è necessario suddividerli in unita elementari, che riconducano al caso dell'impianto semplice.
Ogni subroutine avrà quindi al proprio interno delle logiche autonome inerenti la funzione che deve svolgere.
Espandi/contrai | Rimpicciolisci | Ingrandisci | Nuova finestra
Figura 1 - Esempio di organizzazione del sistema di controllo di una ipotetica macchina.
Tale suddivisione potrebbe risultare esagerata per un PLC con 10 ingressi e 10 uscite, ma non è detto.
La strutturazione del progetto consente infatti una più agevole ricerca guasti e comprensibilità dello stesso ad un "estraneo", come affrontato nel paragrafo "Comprensibilità e Documentazione".
La suddivisione del programma i più blocchi "logici" consente inoltre di aumentarne l'affidabilità, dato che durante la stesura del programma sara più semplice evitare interferenze o errori di battitura tra righe destinate a compiti diversi.
5.3 Analisi della macchina
Come è visto nell'esempio precedente, per costruire il Layout di un sistema di controllo (ossia del programma), è necessario avere ben chiari tutti i componenti dell'impianto che si deve a controllare, e tutte le funzionalità che si dovranno realizzare.
Ecco che quindi è necessario analizzare ciascuna macchina con il relativo "processista" che l'ha concepita per comprenderne tutti gli aspetti che influiscono il modo di funzionamento e quindi la programmazione.
Una volta tracciato il Layout, questo potrebbe essere usato come documento ufficiale.
Ad esempio se viene tralasciato di informare il programmatore che e' necessario gestire con il PLC gli scarti di produzione in una determinata maniera, il blocco 4 non figurerebbe nel Layout, ed il progettista meccanico, osservando tale diagramma, si accorgerebbe della incompletezza.
Il Layout poi non deve essere obbligatoriamente fatto in modo grafico, ma può essere trascritto anche sotto la forma di un elenco delle funzioni da realizzare.
5.4 Power-on
Si potrebbe cominciare a ragionare sul programma con considerare il momento dell'accensione di una macchina e del relativo PLC.
In questa fase può essere necessario lanciare procedure di pre-avviamento indispensabili per il buon funzionamento della macchina.
Si cita ad esempio :
Anche per questi casi è necessario discutere con il progettista meccanico della macchina o con il processista come si deve procedere
5.5 Modalità di Funzionamento
In fase di progettazione dovranno essere ben chiarite quali saranno le modalità di funzionamento della macchina o dell'impianto.
Ad esempio si dovranno descrivere i modi di funzionamento manuale e automatico, che tra l'altro tipicamente non sono compatibili tra loro.
Dovrà quindi essere documentato come funziona la macchina a seconda della posizione del Selettore Modale di Funzionamento (EN 60204-1, articolo 9.2.3).
Questo selettore, gerarchicamente posizionato al di sotto del famigerato Pulsante di Emergenza, in realtà prevale su tutti gli altri comandi.
Per contro il cambiamento della sua posizione non deve provocare nessuna azione nella macchina, ma solo la preselezione della logica nel programma.
5.6 Black-Out
Questo è un'altro argomento che spesso viene tralasciato: lo spegnimento improvviso.
Forse dipende dal fatto che si considera la mancanza di energia elettrica un fatto raro, e che comunque non incide nella programmazione dato che "in quei momenti" il programma è praticamente morto con tutta la macchina che deve controllare.
Al contrario anche il black-out è un episodio che andrebbe considerato in fase di programmazione.
Le tipiche fasi di black-out di un macchinario. In una piccola industria l'operatore addetto ad un macchinario lo sta facendo funzionare in serenità e pace e questo gli corrisponde producendo i prodotti che deve.
|
Dato che oggi praticamente tutti i PLC sono dotati di memorie "a rimanenza", nelle quali i dati restano memorizzati anche in mancanza dell'energia elettrica, utilizzando queste aree di memoria, talvolta e possibile "fotografare" la situazione del macchinario nell'ultimo instante prima della mancanza di energia elettrica, cosicché al ritorno dell'energia è possibile riprendere il processo dal punto che era rimasto.
Deve sempre e comunque essere possibile cancellare queste memorie, laddove la situazione sia da ricominciare da zero, cosa attuabile con un apposito pulsante di reset, che tipicamente viene previsto nella consolle di comando della macchina.
Talvolta è utile discutere di un possibile black-out, in quanto gli ideatori della macchina si accorgono se è o meno necessario dotare la macchina di gruppi di continuità, per garantire la sicurezza in queste fasi (ad esempio per la frenatura, ecc).
5.7 La Logica Principale
In questa logica, detta anche Main e talvolta anche Blocco Organizzativo, si gestiscono tutte le altre subroutine e le funzioni di particolare importanza per tutto l'impianto controllato.
5.7.1 Consenso al Funzionamento
Per una macchina nella logica principale le prime operazioni da affrontare saranno quelle inerenti i controlli sulla sicurezza :
Solo con il benestare di tutte queste logiche si potrà procedere all'avviamento della macchina.
Il relé che riassume il benestare a procedere può essere chiamato KF, in quanto è da considerarsi il Consenso al Funzionamento.
Il relé che riassume la presenza regolare di tutte le alimentazioni, invece, tipicamente è chiamato relé di Linea o KL.
5.7.2 Settaggi al Power-On
All'accensione di un PLC tipicamente sono necessarie delle procedure di set-up, per cui è meglio prevedere un sottoprogramma apposito.
Tale subroutine verrà richiamata dalla logica principale solo all'accensione.
Tipicamente si resettano tutti i temporizzatori, i contatori, ecc. , sempre che la macchina non abbia bisogno di una funzione di "ripartenza a freddo".
In questa fase può essere utile ricaricare in memoria i set-point di funzionamento, quali misure, conteggio pezzi, ecc. che potrebbero essere memorizzati invece nel terminale operatore (interfaccia uomo-macchina), esterno al PLC.
5.7.3 Chiamate delle Subroutine
Per il resto il programma principale dovrebbe essere composto da chiamate alle subroutine, condizionate o meno dalla logica del macchinario.
Articolo n° 7 su 9 del corso "PLC - Controllori a logica programmabile". Vai all'indice del corso.
Paragrafi dell'articolo:
7.1 Introduzione
Come già accennato il PLC è un piccolo computer, del quale eredità le caratteristiche principali.
E quindi è dotato di un microprocessore, una memoria interna, un "sistema operativo", e di dispositivi di Input / Output.
Tipicamente i microprocessori dei PLC sono a 16 bit, e questo si riflette sulla struttura dei dati interna, come si potrà vedere in seguito.
Il set di istruzioni a disposizione di questi micoprocessori è generalmente molto vasto e potente, consentendo moltissime funzioni rispetto a quelle basilari usate per il controllo di un impianto elettrico.
7.2 Tipi di Processori
In linea generale tra i PLC si possono individuare due grandi famiglie :
La differenza tra i due mondi, in realtà è molto sottile, e tipicamente agli effetti pratici nel funzionamento non sortisce alcun effetto.
La prima soluzione comporta tipicamente un costo minore.
Nel secondo caso a fronte di un costo maggiore si hanno vantaggi notevoli in fase di programmazione, con istruzioni ottimizzate che fanno risparmiare tempo al programmatore e risorse di memoria nel PLC.
Questa seconda opzione è tipicamente seguita solo dalle grandi case produttrici, che possono permettersi di impiegare risorse per progettare un microprocessore adatto alle esigenze della loro clientela.
7.3 Set di Istruzioni
Come già accennato i microprocessori dei PLC sono dotati di un ampio Set di istruzioni.
A prescindere dal fatto che tra marche diverse si trovano istruzioni diverse, si è cercato di fare un elenco che riproponesse le istruzioni in modo generalizzato al fine di fare una prima distinzione esemplificativa.
Diciamo che il nostro PLC Dummy è dotato del seguente set di istruzioni, suddiviso per gruppi, in modo da separare le istruzioni per funzionali omogenee o per categorie.
All'interno di ogni gruppo, poi, si trovano altre sotto categorie.
Gruppo |
Tipi di istruzioni |
A |
Istruzioni BASE per il controllo di circuiti elettrici
|
B |
Istruzioni per la Gestione del Programma
|
C |
Istruzioni per la Manipolazione di Dati
|
D |
Istruzioni per la Manipolazione di Dati Numerici
|
E |
Istruzioni per la Manipolazione di Dati Alfanumerici (stringhe) |
F |
Istruzioni per la gestione delle comunicazioni |
G |
Istruzioni per il controllo di variabili nei processi (PID) |
Tipicamente le istruzioni del gruppo "A" sono sempre utilizzate, mentre per le istruzioni degli altri gruppi dipende dalla complessità dell'applicazione.
7.4 La memoria del PLC
7.4.1 Memoria Statica
Nei PLC di prima concezione la memoria era di tipo Statico, quindi all'utente erano assegnate delle aree "preconfezionate" con quantitativi fissi di dati memorizzabili all'interno, e che non potevano essere cambiati in alcun modo.
La memoria era rigidamente divisa tra dati e programmi ed anche tra tipi diversi di dati.
Un sistema di questo tipo non permette di personalizzare la memoria a seconda dell'applicazione, e soprattutto accadeva spesso che molte aree dati restavano inutilizzate a scapito di altre aree che avevano la necessità di ampliamento.
Anche il programma, sebbene potesse venir suddiviso in subroutine, in realtà appariva come un unica sequenza di istruzioni, creando non poca confusione.
Per fare un paragone con l'ambiente PC, è un po' come se nel nostro PC tutti i documenti Word fossero concentrati in un unico file.
Un sistema del genere, anche se non influisce nel funzionamento del PLC, non permette una gestione efficiente e chiara dell'intero progetto.
Questo sistema è ancora ampiamente usato per piccoli PLC con applicazioni semplici e pochi ingressi e uscite da gestire, dove la gestione della memoria in un modo piuttosto che in un altro non influisce nel risultato.
Tipicamente si tratta di PLC monoblocco e/o non espandibili.
7.4.2 Memoria Dinamica
Nei PLC più moderni la memoria interna è di tipo Dinamico, e può essere considerata come un Hard Disk di un Personal Computer, con file di dati e file di programmi.
In fase di caricamento del software applicativo il PLC alloca dinamicamente la memoria a seconda delle risorse che sono richieste.
A parte certe aree di sistema, ed alcune aree preconfezionate al fine di facilitare la programmazione ai meno esperti, la memoria per il resto è liberamente configurabile.
Si possono decidere nuove aree dati, anche dello stesso tipo, ma usate da sottoprogrammi diversi ed in fasi diverse.
Ogni area dati può avere un nome, denominato Nome File, e tipicamente ogni area al suo interno può avere fino a 256 elementi.
Per i programmi valgono le stesse considerazioni, anche se non vi sono limiti al numero di istruzioni inseribili in ogni programma se non quelle dovute alla dimensione massima della memoria.
Tipicamente si possono creare fino a 256 sottoprogrammi.
Nota : consideriamo quindi che il nostro PLC "Dummy" sia dotato di memoria Dinamica.
7.5 Organizzazione interna dei Dati
I dati memorizzabili nei PLC possono essere di vario tipo, ma in realtà al loro interno si tratta sempre di informazioni Binarie.
Tale caratteristica è comunque invisibile al programmatore, che vede solo i dati nel formato da lui prescelto.
7.5.1 File di Input / Output
Dato che il PLC è un dispositivo che dialoga con l'esterno, vi saranno anche due file appositamente destinati a tale attività, relativa ai moduli di Ingresso e Uscita.
I dati di ingesso ed uscita sono infatti acquisiti dal microprocessore in momenti distinti dall'esecuzione del programma e conservati in questi due file detti anche File di Immagine degli Ingressi e File di Immagine delle Uscite.
nr. File |
Sigla File |
Tipo di Dati |
Composizone |
0 |
O |
Uscite |
1 bit per ogni segnale digitale |
1 |
I |
ingressi |
1 bit per ogni segnale digitale |
7.5.2 File di Sistema
In quest'area di memoria, di tipo statico e non facente parte delle aree programmabili, vi sono memorizzate la configurazione del PLC ed altri parametri necessari per il suo funzionamento.
nr. File |
Sigla File |
Tipo di Dati |
Composizone |
2 |
S |
Registro di Sistema |
Dati di configurazione del PLC |
La conoscenza di quest'area di memoria al programmatore è indispensabile in quanto in essa si trovano i bit di errore, le configurazione delle porte seriali e di programmazione, i bit di allarme e di overflow nei calcoli matematici.
Come già per altri casi si rimanda alla specifica documentazione del PLC.
7.5.3 File di Dati Interni
All'interno di ogni PLC vi sono dei file dati molto utili nella programmazione e che svolgono funzioni virtuali dei componenti usati nell'elettrotecnica, quali Temporizzatori, Contaimpulsi e Relé.
Naturalmente questi elementi cambiano a seconda del PLC utilizzato, ma sono quasi tutti presenti in tutti i modelli, anche se con nomi diversi.
Ipotizziamo quindi che il nostro PLC Dummy sia dotato dei seguenti File Dati :
nr. File |
Sigla File |
Tipo di Dati |
Composizone |
3 |
B |
Bit * (oppure Bool) |
1 File con 256 word = 4096 bit |
4 |
T |
Timer (temporizzatori) |
1 File = 256 timer |
5 |
C |
Counter (Contatrori) |
1 File = 256 Counter |
7 |
N |
Numeri Interi (anche Integer) |
1 File con 256 word = 256 dati N |
8 |
F |
Floating - numero in virgola mobile (o anche Real) |
1 File con 256 dati F |
9 |
ST |
Stringhe ASCII (String) |
1 File = 256 Stringhe di n caratteri |
* Nota : i BIT sono tipicamente chiamati relé Interni.
File Speciali
Per alcune attività sono necessari dei file di dati strutturati in modo particolare, come ad esempio i file per gestire le comunicazioni o per la manipolazione di stringhe ASCII.
Dato che tali formati variano a seconda della marca, in fase di programmazione sara necessario approfondire se le istruzioni utilizzate fanno ricorso a file speciali.
7.6 Il PLC in configurazione DEFAULT
Come già accennato, anche nei PLC con memoria di tipo Dinamico si possono trovare delle aree di memoria preconfigurate.
Ciò è molto utile agli utenti meno esperti, e comuque tali aree sono quelle maggiormente usate per la stesura dei programmi.
Anche per la programmazione vi è un file già pronto, denominato o Main Program.
I restanti programmi sono configurabili liberamente in base alle proprie esigenza.
7.7 Indirizzamento
Una delle questioni di fondamentale importanza quando si approccia ad un PLC, anche per gli esperti programmatori, è quella che bisogna conoscere il modo di indirizzamento.
Con questo termine si intende la sintassi con la quale accedere ai dati durante la programmazione.
Il primo aspetto dell'indirizzamento da apprendere è quello degli Ingressi e delle Uscite.
Per fare un esempio utilizziamo il nostro PLC Dummy già preparato in precedenza :
0 |
1 |
2 |
3 |
4 |
5 |
6 |
CPU |
16 in |
8 in |
16 Out |
8 Out |
8 In |
4 Out |
Segnali Digitali
Per i segnali di tipo digitale si trova la seguente sintassi :
Segnali Analogici
I segnali analogici, che praticamente sono delle word, la sintassi potrebbe essere:
Nota : L'indirizzamento usato dalla norma IEC ha una sintassi similare a quella esposta, ma più complessa (ad esempio I:1/3 diventa I%1.0.0.3), e poco usata nei PLC.
L'indirizzamento vale per tutti i file di dati (Ingressi, Uscite, e per i file interni elencati nei paragrafi precedenti); Ad esempio :
Articolo n° 8 su 9 del corso "PLC - Controllori a logica programmabile". Vai all'indice del corso.
Paragrafi dell'articolo:
8.1 Introduzione
La programmazione dei PLC, eccetto che per modelli molto piccoli non trattati nel presente manuale, tipicamente si esegue mediante un software da caricare su Personal Computer.
Questa fase di scrittura del programma si fa Off-Line, cioè scollegati dal PLC, che può non essere ancora nelle mani del programmatore.
Una volta preparato il programma, si collega il PC al PLC e si "scarica" il programma nella memoria del PLC stesso, operazione chiamata Download.
In questo caso si dice che il PC è On-Line, in quanto su può vedere il programma in esecuzione nello schermo del PC e se ne possono vedere le "evoluzioni" durante il funzionamento dell'impianto che il PLC controlla.
Nota di invidia : gli informatici che scrivono i programmi ordinari per PC non possono fare una cosa del genere, è impensabile !!
Nei PLC di maggior potenza è anche possibile, attraverso comandi dal PC collegato On-Line, modificare il programma nel PLC mentre e in Run (!).
In tutti gli altri è necessario modificare il programma nel PC, salvarlo, e quindi scaricarlo completamente nel PLC a programma fermo.
8.2 Modi di Funzionamento
Quasi tutti i PLC, all'esterno, sono dotati di un piccolo selettore con il quale si può selezionare il modo di funzionamento.
Tipicamente questo selettore ha due posizioni :
In questa modalità il PLC è "fermo" e attende che il programmatore effettui modifiche al programma stesso o alla configurazione della memoria.
Praticamente rimane in uno stato di stand-by dal quale non esce fino a nuovo ordine.
In questa modalità il PLC esegue il programma interno ed aggiorna le uscite sulla base dello stato degli ingressi e delle condizioni imposte dal programma.
Quando il PLC è in RUN e accade un errore irreversibile nel programma o nei componenti elettronici interni, il PLC passa automaticamente in Program (o anche in STOP) attendendo che il programmatore si connetta con il PC per verificare tipo e origine dell'errore.
Una causa classica di fault di un PLC è l'esecuzione di una operazione aritmetica che tenti una divisione per zero.
In altri modelli di PLC, privi del suddetto selettore, la commutazione del modo di funzionamento viene operata attraverso il software di configurazione.
8.3 Scansione
Tipicamente un microprocessore, di qualunque tipo, può eseguire un programma :
Nel PLC il programma è praticamente sempre in esecuzione, in quanto devono sempre essere controllati i circuiti che vi sono collegati.
Quando il PLC è in RUN, il microprocessore esegue il programma ciclicamente senza interruzioni, eccetto che per aggiornare lo stato dei file degli ingressi e delle uscite.
Questo modo di eseguire operare significa che il microprocessore ciclicamente esegue la Scansione del programma, che viene eseguito dall'inizio alla fine ad intervalli di tempo piuttosto regolari, tipicamente ogni 2-3 millisecondi.
In realtà per il programmatore questa informazione ha un aspetto marginale che interessa solo nei casi in cui si controllano macchine ad elevata velocità.
In tali casi infatti l'aggiornamento degli ingressi e uscite non puo essere rimandato ad altri momenti, ma deve essere fatto in sincronia con alcuni calcoli o elaborazioni del programma.
In taluni casi il programmatore può inserire nel mezzo del programma una istruzione di REFRESH immediato degli Input/Output che non attende altri tempi morti per aggiornare il suddetti file di I/O.
Articolo n° 9 su 9 del corso "PLC - Controllori a logica programmabile". Vai all'indice del corso.
Paragrafi dell'articolo:
9.1 Generalità
Ecco il tanto agognato capitolo dedicato alla programmazione.
Ripensando ai tanti concetti già esposti, ora ci si rendera conto che l'argomento non era cos'è semplice ed ha risvolti molto lontani dall'uso della tastiera e del mouse per inserire una sequenza di istruzioni.
Come già detto dietro ad un programma di un macchinario complesso o un impianto esteso c'e moltissima carta che ci dovrà essere fornita, ma anche che produrremo con i nostri appunti ed i nostri schemi a blocchi.
Per quanto riguarda la programmazione di base si rimanda ai manuali che forniscono le case costruttrici dei PLC dove vi sono sempre esempi pratici.
9.2 Alcuni esempi pratici
9.2.1 Marcia - Arresto Motore
Un esempio classico di un circuito di comando industriale è quello dell'avviamento di un motore tramite due pulsanti Marcia-Arresto.
In pratica premendo il pulsante Start si causera l'avviamento della pompa., che rimarrà in moto fino a che non verrà premuto il pulsante Stop, o non viene spento il PLC.
Il Pulsante Stop, ai fini della sicurezza, dovrà essere di tipo Normalmente Chiuso.
Espandi/contrai | Rimpicciolisci | Ingrandisci | Nuova finestra
9.2.2 Marcia - Arresto con Memoria
Questo secondo esempio serve per eseguire la stessa funzione, ma e stato utilizzato un relé interno per fare in modo che alla mancanza di energia elettrica non venga "cancellato" il comando di avviamento.
Sono stati anche inseriti alcuni consensi di sicurezza (che comunque agiscono anche nella logica cablata del quadro elettrico).
In particolare è stato inserito il contatto relativo al relé termico di protezione del motore, e un contatto di sicurezza posto in un portello apribile.
Con questo programma il relé interno viene settato (eccitato) dal pulsante Start, e viene resettato dal pulsante Stop o dalle sicurezze.
Il contatto del relé termico è quello NO in quanto quello NC e stato cablato in serie con la bobina del contattore che avvia il motore.
Lo stesso discorso vale per il contatto proveniente dal riparo.
Da ciò si desume la seguente regola pratica :
Nota
Le istruzioni "Set" e "Reset", da adesso si troveranno con le sigle "L" ed "U", che significano, per analogia, "Latch" e "Unlatch".
Cio' per non confondersi con il comando Reset, che serve per resettare timer e contatori.
9.2.3 Errore
Il programma appena presentato potrebbe funzionare in modo pericoloso se si inseriscono le righe di start e stop nell'ordine inverso.
In tal caso infatti succederebbe che il comando Start avrebbe la prevalenza sullo Stop.
Al fine di evitare questi problemi, ed al fine di rendere più evidente se una macchina è abilitata a funzionare, si è creato un apposito rele interno denominato "OK Sicurezze" e posto all'inizio del programma.
Tutte le uscite devono sempre avere in serie con la logica che le comando il contatto di consenso generale derivato dalle sicurezze.
Altri esempi di programma possono essere
NOTA FINALE
Attendo suggerimenti su argomenti che ho tralasciato o consigli per migliorare quelli già trattati.
Bibliografia
Libri |
||
Enrico Grassani |
L'equipaggiamento elettrico delle macchine |
Editoriale Delfino |
Enrico Grassani |
La Direttiva Macchine (DPR 459/96) |
Editoriale Delfino |
Francesco Dal Mas |
Manuale di Disegno Elettrotecnico |
Edizione CEI - Milano |
La Direttiva Macchine - Problemi e Soluzioni |
Edizioni TNE - Torino |
|
Vito Carrescia |
Fondamenti di Sicurezza Elettrica |
Edizioni TNE - Torino |
Carlo Torresan |
Controllo dei processi chimici e termici (ed. 1999) |
Editoriale Delfino |
Riviste mensili |
||
ELETTRIFICAZIONE |
Editoriale Delfino |
|
AUTOMAZIONE Oggi |
Editore VNU |
|
TUTTONORMEL |
Edizioni TNE - Torino |
|
WATT |
Tecniche Nuove |
Appendice "A": Programmi e Programmatori
I PLC contengono del software, e come tale questo dovrebbe essere soggetto alla legge dei diritti di autore.
Personalmente non ho mai approfondito l'argomento.
A protezione del proprio software si possono usare vari sistemi :
. la password nella CPU che impedisce qualunque accesso (in questo modo ci si mette al sicuro da manomissioni e da copie non autorizzate);
. la consegna del listato stampato al cliente e l'apposizione delle firme vostra e sua su di esso (in questo modo ci si mette al sicuro da contestazioni del cliente su malfunzionamenti o su problemi di sicurezza).
Un programmatore serio dovrebbe astenersi dal modificare un programma eseguito da altri : fondamentalmente si diventerebbe responsabili di tutto il comportamento di un software che non si può conoscere perfettamente.
Meglio quindi pensarci due volte, a meno che non si tratti di modifiche veramente minime per correggere errori di "battitura" che aveva il programma.
In altri casi meglio riscrivere tutto il software da zero .
Copyright - Proprietà del documento
Questo documento è stato redatto da Marco Dal Prà, perito industriale iscritto all'albo della Provincia di Venezia, e responsabile tecnico della ditta Novatekno Srl di Mestre (VE). Tutti i diritti sono riservati.
Cosa si può fare
Il documento può essere liberamente utilizzato e distribuito per scopi didattici sia da parte di studenti che di docenti di scuole pubbliche di ogni grado, e di corsi di specializzazione pubblici.
Puo essere liberamente stampato per uso personale da chiunque sia interessato ad approfondire l'argomento in proprio.
Cosa non si può fare
Il documento non può essere replicato, nemmeno parzialmente, su altri siti internet, mailing list, pubblicazioni cartacee (riviste) e cd-rom, ciò indipendentemente dalle finalità di lucro.
E' proibito utilizzarlo a scopo di lucro, come ad esempio da parte di società private che a qualsiasi titolo tengano corsi di aggiornamento e/o di specializzazione.
Per tali finalità è possibile prendere accordi con il responsabile di Novatekno Srl, Marco Dal Prà, accordi che dovranno essere formulati in forma scritta da entrambe le parti.
Esclusione di Responsabilità
I contenuti del presente documento sono utilizzabili così come sono.
Nonostante i controlli fatti prima di renderlo di pubblico dominio nel sito internet della ditta Novatekno Srl, non è possibile assicurare che il documento sia esente da errori e/o omissioni.
Nessuna responsabilità può essere attribuita all'autore del documento per l'utilizzo dello stesso.
E' quindi responsabilità del lettore controllare molto attentamente il buon funzionamento dei programmi da lui realizzati seguendo gli esempi contenuti nel presente testo.
Aggiornamenti
I presente documento può essere aggiornato dall'autore a sua discrezione e senza alcun preavviso. Ad esempio l'autore può decidere di effettuare un aggiornamento sulla base di libere segnalazioni fatte dai lettori.
In ogni caso, ciò non avviene a cadenza periodica.
Gli eventuali aggiornamenti saranno messi a disposizione di tutti nel sito internet della Novatekno Srl, alla pagina download.
L'edizione del documento è costituita dalla data, visibile nella prima pagina.
Fonte: http://www.hensemberger.it/~docenti/TDP-TPS/Classe%204/CORSO%20DEL%20PLC.docx
Sito web da visitare: http://www.hensemberger.it/
Autore del testo: non indicato nel documento di origine
Il testo è di proprietà dei rispettivi autori che ringraziamo per l'opportunità che ci danno di far conoscere gratuitamente i loro testi per finalità illustrative e didattiche. Se siete gli autori del testo e siete interessati a richiedere la rimozione del testo o l'inserimento di altre informazioni inviateci un e-mail dopo le opportune verifiche soddisferemo la vostra richiesta nel più breve tempo possibile.
I riassunti , gli appunti i testi contenuti nel nostro sito sono messi a disposizione gratuitamente con finalità illustrative didattiche, scientifiche, a carattere sociale, civile e culturale a tutti i possibili interessati secondo il concetto del fair use e con l' obiettivo del rispetto della direttiva europea 2001/29/CE e dell' art. 70 della legge 633/1941 sul diritto d'autore
Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).
"Ciò che sappiamo è una goccia, ciò che ignoriamo un oceano!" Isaac Newton. Essendo impossibile tenere a mente l'enorme quantità di informazioni, l'importante è sapere dove ritrovare l'informazione quando questa serve. U. Eco
www.riassuntini.com dove ritrovare l'informazione quando questa serve