corso base plc PREFAZIONE STORIA DEL PLC DOVE E QUANDO Questo corso è dedicato a chi si affaccia al mondo del PLC per la prima volta. Il nostro intento è quello di spiegare al lettore i rudimenti del controllore programmabile,partendo dalla nascita del PLC, illustrando poi la struttura fisica e il concetto di funzionamento, per poi arrivare ai linguaggi di programmazione all'indirizzamento ed infine alla programmazione vera e propia. HARDWARE CICLO DI SCANSIONE LINGUAGGI DI PROGRAMMAZIONE ZONE E FORMATI STRUTTURA DELLA MEMORIA INDIRIZZAMENTI PROCEDURE DIDATTICA http://www.plcforum.info/didattica/CORSO/master.htm21/06/2004 18.18.15 il seguente corso è stato redatto da Massimo Vergani prendendo spunto da vari file trovati in rete, tra i quali citiamo "APPUNTI PLC" redatto da Claudio Ferrari, e gentilmente messo a disposizione degli utenti del forum nella sezione UP DOWNLOAD . http://www.plcforum.info/didattica/CORSO/pagina5.htm CICLO DI SCANSIONE (ciclo di funzionamento del PLC) Da questo diagramma di flusso possiamo vedere e sopratutto capire come funziona o (passatemi il termine) come ragiona un PLC una cosa scontata ma fondamentale è che il plc esegue il ciclo di scansione solo quando il suo modo di funzionamento è su RUN o su PROGRAM, mai quando è su STOP. questi stati , a seconda del plc , sono selezionati da un selettore fisico posto sulò plc o da un comando impartito tramite il computer direttamente collegato al PLC per la programmazione. la prima operazione che compie è la lettura degli ingressi, e con questo intendiamo propio tutti , digitali , analogici, on board o su bus di campo (su schede remotate ovvero collegate al plc tramite una rete di http://www.plcforum.info/didattica/CORSO/pagina5.htm (1 of 2)21/06/2004 18.18.26 http://www.plcforum.info/didattica/CORSO/pagina5.htm comunicazione). Dopo aver letto tutti gli ingressi , il loro stato viene memorizzato in una memoria definita REGISTRO IMMAGINE DEGLI INGRESSI. A questo punto viene elaborato il programma. Le istruzioni di comando vengono elaborate in Sequenza dalla cpu. Al termine dell'elaborazione, il risultato viene memorizzato nel REGISTRO IMMAGINE DELLE USCITE. in fine , il contenuto dell'immagine delle uscite viene scritto sulle uscite fisiche ovvero le uscite vengono attivate. Poichè l'elaborazione delle istruzioni si ripete continuamente, si parla di elaborazione ciclica, Il tempo che il controllore impiega per una singola elaborazione delle istruzioni del programma, è denominato tempo di ciclo . Quest'ultimo è costantemente controllato da un apposito sistema definito watchdog, che al superamento del tempo massimo preimpostato causa un allarme che pone il plc nello stato di STOP. http://www.plcforum.info/didattica/CORSO/pagina5.htm (2 of 2)21/06/2004 18.18.26 Nuova pagina 3 INDIETRO LINGUAGGI DI PROGRAMMAZIONE TIPOLOGIE LADDER INSTRUCTION LIST STRUCTURED TEXT GRAFCET http://www.plcforum.info/didattica/CORSO/indice2.htm21/06/2004 18.18.36 http://www.plcforum.info/didattica/CORSO/pagina6.htm LINGUAGGI DI PROGRAMMAZIONE Normativa IEC1131-3: LINGUAGGI DI PROGRAMMAZIONE: ● GRAFICI : ❍ Diagramma a contatti (Ladder Diagram) LD ❍ Schema a blocchi funzionale (Functional Block Diagram) FBD ❍ ● Sequential Function Chart SFC o diagramma funzionale in sequenza GRAFCET LETTERALI : ❍ ❍ Lista istruzioni (Instruction List) IL Letterale strutturato (Structured Text) ST http://www.plcforum.info/didattica/CORSO/pagina6.htm21/06/2004 18.18.40 http://www.plcforum.info/didattica/CORSO/pagina7.htm LINGUAGGI DI PROGRAMMAZIONE LADDER Normativa IEC1131-3: ● ● Contatto normalmente aperto. Lo stato della linea alla sinistra viene preso dalla linea alla destra solamente se lo stato della variabile booleana del contatto è ON. Contatto normalmente chiuso. Lo stato della linea alla sinistra viene preso dalla linea alla destra solamente se lo stato della variabile booleana del contatto è OFF. /1Normativa IEC1131-3 Lo stato del collegamento a sinistra è copiato nella variabile booleana associata. Il linguaggio Ladder Permette una rappresentazione della logica di comando simile allo schema eletromeccanico, poiché utilizza la stessa simbologia. http://www.plcforum.info/didattica/CORSO/pagina7.htm (1 of 2)21/06/2004 18.18.52 http://www.plcforum.info/didattica/CORSO/pagina7.htm NOZIONI FONDAMENTALI DEL LINGUAGGIO LADDER 1. I segni grafici sono strutturati in reti delimitate da barre a sinistra e a destra, dette barre di alimentazione. 2. Le linee di collegamento dei segni grafici possono essere orizzontali o verticali e il loro stato di http://www.plcforum.info/didattica/CORSO/pagina7.htm (2 of 2)21/06/2004 18.18.52 http://www.plcforum.info/didattica/CORSO/pagina8.htm LINGUAGGI DI PROGRAMMAZIONE INSTRUCTION LIST Normativa IEC1131-3: Questo linguaggio di programmazione è composto da una sequenza di istruzioni scritte in linguaggio mnemonico. Ogniiistruzione comprende un indirizzo, un codice, seguito da un eventuale modificatore, e uno o più operandi, separati da virgole. Nel confronto con gli altri linguaggi trova una corrispondenza diretta con diagramma ladder. Esempio di programma scritto il lista istruzioni e sua corrispondenza con diagramma ladder http://www.plcforum.info/didattica/CORSO/pagina8.htm21/06/2004 18.19.00 http://www.plcforum.info/didattica/CORSO/pagina9.htm LINGUAGGI DI PROGRAMMAZIONE STRUCTURED TEXT Normativa IEC1131-3: Il linguaggio letterale strutturato è un linguaggio molto simile al Visual Basic , per cui sui avvicina molto a coloro che provengono dal settore informatico anzichè elettrotecnico. http://www.plcforum.info/didattica/CORSO/pagina9.htm21/06/2004 18.19.10 http://www.plcforum.info/didattica/CORSO/pagina10.htm LINGUAGGI DI PROGRAMMAZIONE GRAFCET Normativa IEC1131-3: Il GRAFCET è un diagramma funzionale , il principio di funzionamento è quello di di descrivere graficamente con un flow chart il comportamento di un automatismo sequenziale. Ogni blocco di questo flow chart è diviso in tre settori programmabili in ladder, uno attivo alla prima lettura del blocco, uno attivo fino a che il blocco è in esecuzione, uno attivo all'ultima lettura del blocco. anche le diramazioni contengono delle condizioni programmabili. In fine nella struttura del programma si creano dei blocchi sempre attivi che possono fare riferimento al blocco in esecuzione, ovveroo alla fine del programma io ho dei blocchi dove posso dire.. "se è in esecuzione il blocco 1 ed ho l'ingresso %I1.2 allora accendo l'uscita %Q4.3 " ( queste istruzioni dovranno essere editate in ladder). http://www.plcforum.info/didattica/CORSO/pagina10.htm (1 of 2)21/06/2004 18.19.15 http://www.plcforum.info/didattica/CORSO/pagina10.htm http://www.plcforum.info/didattica/CORSO/pagina10.htm (2 of 2)21/06/2004 18.19.15 http://www.plcforum.info/didattica/CORSO/pagina11.htm ZONE E FORMATI Normativa IEC1131-3: Nel PLC sono presenti 5 zone che identificano tipologie di dispositivi o aree di memoria con funzione assegnata. Zona memoria (%M) Zona degli Ingressi (%I) Zona delle Uscite (%Q) Zona delle Costanti (%K) Zona Sistema (%S) Ad ognuna di queste zone è possibile accedervi con un determinato formato. Il formato è la quantità di bit che viene presa in considerazione dall'istruzione che stiamo componendo. Ad esempio se vogliamo utilizzare una memoria come se fosse un relè (on-off) utilizzeremo il formato a BIT, ovvero un singolo bit può contenere gli stati 0 - 1 . Se dobbiamo elaborare un valore avremo bisogno di unire più bit la cui codifica sarà il nostro valore, quindi, in base alla grandezza del valore da contenere dovremo scegliere quanti bit ci servono. Bit (X) Byte (B) =8 bit Word (W) =16 bit Doppia Word (D) =32 bit Word flottanti (F) =32 bit http://www.plcforum.info/didattica/CORSO/pagina11.htm21/06/2004 18.19.43 http://www.plcforum.info/didattica/CORSO/pagina12.htm SRUTTURA DELLA MEMORIA VARIABILI E' necessario fare molta attenzione agli indirizzi di memoria utilizzati. infatti come si vede dalla tabella seguente a volte i vari formati si sovrappongono. Se ad esempio utilizziamo la %MW0 o la %MW1, non potremo usare anche la %MD0 o la %MD1 , altrimenti avremmo dei valori non reali. Attenzione sopratutto alle Dword, ad esempio se usiamo la % MD0, non possiamo usare la MD1, la prima libera sarà %MD2, infatti sia %MD0 che %MD1 utilizzano la %MW1 http://www.plcforum.info/didattica/CORSO/pagina12.htm21/06/2004 18.20.00 PLC Forum - Didattica DIDATTICA HOME PLC - HMI -PID DESCRIZIONE AUTORE Corso base PLC Massimo Vergani Corso base PLC Dal vecchio sito Gabriele Riva Esempio di programmazione del pannello operatore Esa VT60 file Descrizione scaricabile ESA - Pietro Ravasio Corso controllo e regolazione Livio Orsini Come utilizzare i puntatori dei PLC Siemens famiglia S7-300 Federico Milan Introduzione di blocchi standard nella stesura di software plc Gabriele Corrieri Documentazioni varie su PLC e Scada Marco Dalpra Introduzione ai comandi elettronici e ai controllori logici programmabili (1a parte) file scaricabile Claudio Ferrari Introduzione ai comandi elettronici e ai controllori logici programmabili (2a parte) file scaricabile Claudio Ferrari Corso PLC (power point) file scaricabile Claudio Ferrari Corso software (power point) file scaricabile Claudio Ferrari Esempio di manipolatore motorizzato con ventosa file scaricabile Giorgio Ponzo Programma Base file scaricabile Giorgio Ponzo Che cos'è STEP5 file scaricabile Giorgio Ponzo Corso PLC new (power point) file scaricabile Claudio Ferrari Testo accademico in inglese su IEC 61131 Karl-Heinz ELETTROTECNICA DESCRIZIONE http://www.plcforum.info/didattica/index.htm (1 of 3)21/06/2004 18.20.16 AUTORE NOTE NOTE PLC Forum - Didattica I principi fondamentali dell'elettrotecnica file scaricabile 201kb Federico Milan Corso base per elettricisti Gabriele Riva Il vademecum dell'elettrotecnico (foglio di calcolo di numerose misure elettriche, da non perdere) FabioM ELETTRONICA DESCRIZIONE AUTORE Introduzione ai microprocessori file scaricabile Claudio Ferrari Il microcontrollore ST6 (1a parte) file scaricabile Claudio Ferrari Il microcontrollore ST6 (2a parte) file scaricabile Claudio Ferrari Il microcontrollore ST6 (3a parte) file scaricabile Claudio Ferrari Il microcontrollore ST6 (4a parte) file scaricabile Claudio Ferrari Il microcontrollore ST6 (5a parte) file scaricabile Claudio Ferrari NOVITA' NOTE Introduzione all'utilizzo di un oscilloscopio analogico Claudio Ferrari Introduzione all'utilizzo di un oscilloscopio digitale MATEMATICA DESCRIZIONE Claudio Ferrari AUTORE NOTE Prontuario di matematica - Matematica dal punto di vista tecnico Federico Milan © Copyright 2004 - Associazione PLC FORUM Tutti i diritti riservati. Le immagini grafiche, i bottoni e i testi contenuti in questo sito Web sono di proprietà http://www.plcforum.info/didattica/index.htm (2 of 3)21/06/2004 18.20.16 PLC Forum - Didattica di Associazione PLC FORUM e non possono essere copiati, utilizzati o distribuiti senza il consenso esplicito di Associazione PLC FORUM, eccetto che con un browser HTML. HOME www.plcforum.it . http://www.plcforum.info/didattica/index.htm (3 of 3)21/06/2004 18.20.16 ***PLCforum*** Corso PLC CORSO SUI PLC (Controllori a logica programmabile) Questo corso è dedicato a tutti coloro che vogliono avvicinarsi per la prima volta ai PLC. N.B.: Questo corso è tuttora in fase di sviluppo, infatti troverete alcuni capitoli ancora vuoti, scusateci, verranno pubblicati al più presto. INDICE : Storia del PLC Prima parte Hardware del PLC Algebra booleana Teorema di De Morgan Seconda parte Sistemi di numerazione Differenza tra un circuito a relè e la logica del PLC Linguaggi dei PLC Terza parte Istruzioni base dei PLC IN COSTRUZIONE Esempi di programmazione http://www.plcforum.info/didattica/01/corsoind.htm (1 of 2)21/06/2004 18.20.43 ***PLCforum*** Corso PLC PLC Siemens PLC Omron PLC Allen Bradley PLC Telemecanique Quarta parte PLC Matsushita IN COSTRUZIONE PLC Mitsubishi PLC Hitachi Altri PLC Bibbliografia Link http://www.plcforum.info/didattica/01/corsoind.htm (2 of 2)21/06/2004 18.20.43 ***PLCforum*** Corso PLC Prima parte CORSO SUI PLC (Controllori a logica programmabile) PRIMA PARTE Storia del PLC Hardware del PLC Storia del PLC Il PLC (Programmable Logic Controller) nasce intorno agli anni '70 come sistema di controllo nelle fabbriche produttrici di materiali pesanti, in sostituzione dei sistemi che utilizzano relè. Oggigiorno il PLC ha in gran parte soppiantato i quadri a logica cablata a relè, esso è considerato il punto di intermediazione tra elettromeccanica ed elettronica. Hardware del PLC Ogni PLC è costituito da: ● Unità alimentatore Alcuni modelli di PLC hanno l'alimentatore direttamente dalla rete 230V, altri modelli invece usano un'ingresso a 24VDC, il quale viene solitamente poi ridotto a 5V per la CPU. Alcuni modelli di PLC hanno a disposizione un'uscita stabilizzata a 24VDC per alimentare direttamente i suoi ingressi digitali. ● Unità centrale o CPU CPU dall'inglese Central Processing Unit è il cuore del sistema, le sue funzioni sono: eseguire l'acquisizione dei segnali d'ingresso, creandone l'immagine negli appositi registri di memoria dati http://www.plcforum.info/didattica/01/prima.htm (1 of 3)21/06/2004 18.20.51 ***PLCforum*** Corso PLC Prima parte controllare la sequenza con cui le istruzioni del programma vengono lette nella memoria programma, interpretate secondo i loro codici operativi e infine eseguite secondo lo stato logico assegnato agli ingressi interrompere la sequenza normale di programma in presenza di salti, di richiami a sottoprogrammi e interruzioni generare le uscite abilitate dell'elaborazione delle varie istruzioni del programma, aggiornandole di volta in volta a ogni ciclo di scansione ● Unità di memoria L'unità di memoria dei PLC può essere di diversi tipi: RAM, ROM, PROM, EPROM, EEPROM. In genere le memorie di tipo RAM vengono utilizzate per la memoria dati e la memoria programma in esecuzione, esse sono di tipo volatile, cioè perdono il contenuto se viene a mancare tensione, quindi devono essere tamponate da batteria. Le memorie di tipo ROM-PROM contengono il firmware (sistema operativo del PLC). Le memorie di tipo EPROM e EEPROM contengono il programma utente in veste definitiva, con la differenza che le EPROM per essere scritte hanno bisogno di un apposito scrittore e per essere cancellate hanno bisogno di una lampada a raggi ultravioletti, invece le EEPROM possono essere scritte e riscritte con dei semplici comandi da programma o da PLC. Queste in alcuni modelli di PLC sono di tipo estraibile. ● Unità di ingresso e uscita I/O La loro funzione è di trasformare i segnali elettrici dai/ai dispositivi esterni al PLC in segnali interpretabili dalla CPU. Esistono tante tipologie di unità ingresso e uscita in seguito trovate un breve riassunto, per informazioni dettagliate potete fare riferimento ai manuali hardware dei rispettivi PLC, oppure richiedermeli via e-mail. ● Unità ingresso digitale PNP a logica positiva (dal dispositivo d'ingresso proviene un segnale positivo) NPN a logica negativa (dal dispositivo d'ingresso proviene un segnale negativo) http://www.plcforum.info/didattica/01/prima.htm (2 of 3)21/06/2004 18.20.51 ***PLCforum*** Corso PLC Prima parte ● Unità ingresso analogico in tensione 0-10V in corrente 4-20mA Il valore rilevato in ingresso viene convertito in digitale con risoluzione di 8, 10, 12 ,16 bit. Per esempio, se abbiamo un convertitore digitale a 8 bit, in ingresso una tensione che varia da 0 a 10V l'uscita digitale del convertitore varierà da 0 a 255. ● Unità uscite digitali PNP (transistor) NPN (transistor) a relè a triac ● Unità uscite analogiche sono l'inverso degli ingressi analogici ● Moduli speciali (vedere il rispettivo manuale) interfacciamento termocoppia, PT100 conteggio veloce posizionamento assi comunicazione PID seriali AVANTI > http://www.plcforum.info/didattica/01/prima.htm (3 of 3)21/06/2004 18.20.51 ***PLCforum*** Corso PLC Seconda parte CORSO SUI PLC (Controllori a logica programmabile) SECONDA PARTE Algebra booleana Teorema di De Morgan Sistemi di numerazione Differenza tra un circuito a relè e la logica del PLC Algebra booleana L'algebra di Boole (1815/1864) venne sviluppata come modello matematico da applicarsi alle operazioni sugli insiemi formati da due soli valori (0,1). Lo studio si articola su tre passi distinti: 1. definizione dei concetti fondamentali 2. derivazione dei postulati partendo dai concetti fondamentali 3. teoremi CONCETTI FONDAMENTALI: CLASSE(K) è definita come l'insieme costituito dagli elementi 0,1 OR(+) o somma binaria, è un'operazione definita su due elementi della classe AND(*) o prodotto binario, è un'operazione definita su due elementi della classe NOT(-) o negazione, un'operazione definita su un solo elemento della classe = uguale, è il simbolo che definisce l'uguaglianza di elementi della classe POSTULATI: Proprietà commutativa: http://www.plcforum.info/didattica/01/seconda.htm (1 of 4)21/06/2004 18.21.01 ***PLCforum*** Corso PLC Seconda parte A+B=B+A A*B=B*A Proprietà distributiva: A+(B*C)=(A+B)*(A+C) A*(B+C)=A*B+A*C Elementi identità: 0+A=A 1*A=A Uguaglianze: A+A/=1 A*A/=0 TEOREMI: Teorema di idempotenza: A+A=A A*A=A Teorema dell'involuzione (doppia negazione): A//=A (con numero pari di negazioni) A///=A/ (con numero dispari di negazioni) Teorema dell'assorbimento: A+A*B=A A*(A+B)=A http://www.plcforum.info/didattica/01/seconda.htm (2 of 4)21/06/2004 18.21.01 ***PLCforum*** Corso PLC Seconda parte Teorema dell'unione e dell'intersezione: A+1=1 A*0=0 Teorema dell'associazione: A+(B+C)=(A+B)+C A*(B*C)=(A*B)*C Teorema di De Morgan Il teorema afferma che: A+B(tutto negato)=A/*B/ A*B(tutto negato)=A/+B/ quindi: un nor equivale ad un and con gli ingressi negati un nand equivale ad un or con gli ingressi negati Sistemi di numerazione Numerico decimale: 0,1,2,3,4,5,6,7,8,9 Ottale: 0,1,2,3,4,5,6,7 http://www.plcforum.info/didattica/01/seconda.htm (3 of 4)21/06/2004 18.21.01 ***PLCforum*** Corso PLC Seconda parte Esadecimale: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Binario: 0,1 bit 0 bit 1 byte 11001100 (gruppo di otto bit) word 11001100 11001100 (due byte) (16bit) doppia word 11001100 11001100 11001100 11001100 (due word) (32 bit) Differenza tra un circuito a relè e la logica del PLC In un circuito di tipo a relè (od a logica cablata) l'attivazione delle uscite avviene in modo parallelo e quindi il rinfresco delle stesse avviene con tempi legati alla sola risposta delle singole apparecchiature. In un circuito a logica programmabile l'elaborazione avviene in modo sequenziale: 1. elaborazione segnali in ingresso 2. elaborazione programma 3. elaborazione stato uscite < INDIETRO AVANTI > http://www.plcforum.info/didattica/01/seconda.htm (4 of 4)21/06/2004 18.21.01 ***PLCforum*** Corso PLC Terza parte CORSO SUI PLC (Controllori a logica programmabile) TERZA PARTE Linguaggi dei PLC Istruzioni base dei PLC Esempi di programmazione Linguaggi dei PLC I linguaggi di programmazione dei PLC sono svariati e soddisfano in genere le necessità dell'operatore che si avvicina a tale ambiente. Anche in questo settore, si è sentita l'esigenza di uniformare i linguaggi utilizzati; è infatti nata la norma IEC 1131 la quale, partendo da un'analisi dei linguaggi impiegati dalle varie ditte produttrici, indica quali sono gli standard. Vediamo ora, i principali linguaggi utilizzati dai PLC: ● ● ● ● Ladder diagram Linguaggio booleano (mnemonico o lista istruzioni) Linguaggio letterale Linguaggio grafcet Ladder diagram Il ladder diagram è il primogenito tra i linguaggi utilizzati per la programmazione dei PLC. Questo si deve al fatto che inizialmente il PLC andava a sostituire la logica cablata che utilizzava i relè. Il ladder (chiamato anche schema a contatti o diagramma a relè) è tuttora il linguaggio più diffuso, poiché permette l'avvicinamento al PLC in modo immediato. E' un linguaggio molto assomigliante ad una elaborazione di tipo elettromeccanico, dove il programma è scritto all'interno di due barre verticali che indicano le alimentazioni (la barra di destra alcuni software la omettono). Ogni riga circuitale è divisa in due parti: zona di test (con le variabili d'ingresso o interne) e zona delle azioni (comprende le bobine d'uscita ed interne oltre a determinati blocchi funzione). Nella lettura del programma la CPU esegue una scansione ciclica, che compie il suo percorso segmento per segmento, da sinistra verso destra e dall'alto verso il basso. Questa differenza tra logica cablata è molto http://www.plcforum.info/didattica/01/terza.htm (1 of 3)21/06/2004 18.21.17 ***PLCforum*** Corso PLC Terza parte importante da comprendere prima di iniziare a programmare un PLC. (Per approfondimenti postate nella sezione PLC didattica del PLCforum). Linguaggio booleano Esso è il metodo di programmazione che più si avvicina alla logica con cui lavora il microprocessore. Tale linguaggio è usato anche dalle console di programmazione. La programmazione assume la sembianza di una lista istruzioni, dove compare il passo di programma associato al codice della funzione logica e l'indirizzo a cui si riferisce l'operazione. Le istruzioni variano da marca a marca. In particolare Siemens utilizza un linguaggio un po' diverso chiamato AWL. Linguaggio letterale Sono quei linguaggi di base informatica, evoluzioni del Basic, C, Fortran o Pascal. Esso è costituito da una successione di stringhe che contengono: - un'etichetta identificatrice di linea - una frase letterale, che è il programma vero e proprio - un commento alla riga di programma Questo è senza dubbio il linguaggio più potente per la programmazione dei PLC che però non è supportata da tutti i PLC. Linguaggio grafcet Il linguaggio grafcet (Graphe de Commande Etape/Transition) nasce in Francia con l'obbiettivo di creare una rappresentazione grafica delle funzioni che un ciclo automatico compie. E' un'insieme di simboli grafici che descrivono delle fasi e delle transizioni che rispettano determinate regole di sintassi. Il grafcet è stato normalizzato con la normativa NF C03-190 dell'UTE. Istruzioni base del PLC Le varie istruzioni variano da marca a marca e solo in questi ultimi anni quasi tutte le case produttrici stanno uniformando i linguaggi di programmazione utilizzando la norma IEC 1131. Quindi tutti i software dichiarati IEC1131 compatibili sono tutti simili tra loro, col le stesse funzioni. Tabella di esempio delle principali funzioni logiche analizzate tra varie marche di PLC: LOAD STR STR L L http://www.plcforum.info/didattica/01/terza.htm (2 of 3)21/06/2004 18.21.17 STRT LD STR L ***PLCforum*** Corso PLC Terza parte LOADNOT STRNOT STRNOT LN LN AND AND AND A A AND AND AND-NOT ANDNOT ANDNOT AN AN AND-NOT OR OR O O ON OR STRT-NOT LD-NOT STR-NOT LN U AND A ANDNOT UN AND-NOT AN OR OR O OR O ON OR-NOT ORNOT ON OR-NOT ON OR-NOT OROR-NOT NOT OUT OUT OUT = = OUT OUT = OUT = TIMER TMR T TR PT T TIM T TMR =T COUNTER CNT C C PP C CNT Z CNT CU/CD CGE HITACHI MOELLER LOVATO NATIONAL OMRON SIEMENS SPRECHER TELEMECANIQUE SCHUCH < INDIETRO AVANTI > http://www.plcforum.info/didattica/01/terza.htm (3 of 3)21/06/2004 18.21.17 ***PLCforum*** Corso PLC Terza parte Esempi di programmazione Veniamo ora alla parte più interessante, faremo degli esempi su come trasferire un circuito a logica cablata su un PLC. Circuito con combinazione logica AND Esso corrisponde al collegamento in serie della logica cablata Circuito con combinazione logica AND In AWL Siemens: U E0.0 U E0.1 = A1.0 Circuito con combinazione logica OR Esso corrisponde al collegamento in parallelo della logica cablata Circuito con combinazione logica OR In AWL Siemens: O E0.0 O E0.1 = A1.0 http://www.plcforum.info/didattica/01/terza_a.htm (1 of 8)21/06/2004 18.21.40 ***PLCforum*** Corso PLC Terza parte Circuito con combinazione logica AND prima di OR Circuito con combinazione logica AND prima di OR In AWL Siemens: U U O U U = E0.0 E0.1 E0.2 E0.3 A1.0 Circuito con combinazione logica OR prima di AND Circuito con combinazione logica OR prima di AND In AWL Siemens: U( O E0.0 O E0.1 ) U( O E0.2 O E0.3 ) = A1.0 http://www.plcforum.info/didattica/01/terza_a.htm (2 of 8)21/06/2004 18.21.40 ***PLCforum*** Corso PLC Terza parte Circuito di temporizzazione con ritardo all'eccitazione (Siemens SE) Esempio di programma in ladder: http://www.plcforum.info/didattica/01/terza_a.htm (3 of 8)21/06/2004 18.21.40 ***PLCforum*** Corso PLC Terza parte Circuito di temporizzazione con uscita ad impulso (Siemens SI) Esempio di programma in ladder: Circuito di temporizzazione con uscita ad impulso prolungato (Siemens SV) http://www.plcforum.info/didattica/01/terza_a.htm (4 of 8)21/06/2004 18.21.40 ***PLCforum*** Corso PLC Terza parte Esempio di programma in ladder: Circuito di temporizzazione con ritardo all'eccitazione con memoria (Siemens SS) http://www.plcforum.info/didattica/01/terza_a.htm (5 of 8)21/06/2004 18.21.40 ***PLCforum*** Corso PLC Terza parte Esempio di programma in ladder: http://www.plcforum.info/didattica/01/terza_a.htm (6 of 8)21/06/2004 18.21.40 ***PLCforum*** Corso PLC Terza parte Circuito di temporizzazione con ritardo alla diseccitazione (Siemens SA) Esempio di programma in ladder: http://www.plcforum.info/didattica/01/terza_a.htm (7 of 8)21/06/2004 18.21.40 ***PLCforum*** Corso PLC Terza parte < INDIETRO AVANTI > http://www.plcforum.info/didattica/01/terza_a.htm (8 of 8)21/06/2004 18.21.40 ***PLCforum*** Corso PLC Terza parte Esempi di programmazione IN COSTRUZIONE Esempio di circuito marcia-arresto + spia di segnalazione Esempio di programma in ladder Su PLC Siemens in AWL: U E0.0 U( O E0.1 O A1.0 ) = A1.0 (SB1) U A1.0 = A1.1 (KM1) (HL1) (SB2) (KM1) (KM1) http://www.plcforum.info/didattica/01/terza_b.htm (1 of 2)21/06/2004 18.21.55 Esempio di programma utilizzando le istruzioni SET e RESet Nota: se i pulsanti SB1 e SB2 sono premuti contemporaneamente, sia il SET che il RES vengono comandati; in questo caso prevale il RES che è l'ultima operazione svolta dal programma. ***PLCforum*** Corso PLC Terza parte Esempio di timer simmetrico: il tempo di ON e' uguale al tempo di OFF Esempio di clock variabile utilizzando 2 timer (in AWL Siemens S5) Esempio di clock variabile utilizzando 1 timer (in AWL Siemens S5) UN T0 L KT 050.0 SE T1 UN T0 L KT 100.0 SE T0 U T1 L KT 050.0 SE T0 L T0 L KF +50 >F =M0.0 U T0 = M0.0 //clock (clock) Cambiando la base dei tempi ed il valore di comparazione, e' possibile variare indipendentemente il tempo di OFF e di ON IN COSTRUZIONE < INDIETRO AVANTI > http://www.plcforum.info/didattica/01/terza_b.htm (2 of 2)21/06/2004 18.21.55