Programmazione PLC

Esempio corso PLC prof Gottardo. (clicca per vedere il video su youtube)

Esempio cancello a scorrimento degli allievi.

Esempio di lezione su SCADA

Libro di testo copertina morbida A4      Prezzo www.lulu.com: € 37,94

Let’s program a PLC!!! (edizione 2018)Let's program PLC ed 2018

ISBN: 9780244674076

Edizione
Quarta edizione (ampliata e aggiornata)
Pubblicato
11 Marzo 2018
Italiano
468
1,27Kg
Il libro di testo destinato ad essere il riferimento per  gli ITIS,  IPSIA e l’università’.E’ il più completo e nello stesso tempo semplice ed efficace disponibile nel mercato.

Questo libro, edito nel 2018, è l’evoluzione verso le nuove piattaforme software e nuove tecnologie delle reti di PLC. Introduce TIA Portal V14, e introduce il TIA V15, Simatic Step 7 V.5.5, il MicroWin e il WinCC. Concentra la ventennale esperienza nel campo maturata dall’autore e sostituisce la precedente edizione del 2016 già molto nota e apprezzata dal pubblico. Una nuova impaginazione e la successione con cui si presentano gli argomenti sono ottimali sia per l’apprendimento scolastico sia per autodidatta portando le conoscenze a livello professionale. L’impiego di sistemi HMI programmati tramite WinCC connessi in Profinet e Profibus completa la preparazione del tecnico. Ogni argomento è corredato di numerosi esercizi sia completamente svolti che proposti. Nella sezione programmazione avanzata si interfaccia un motore asincrono trifase a un convertitore statico, inverter, aprendo la strada a tutte le applicazioni reali. Fondamentale il capitolo sulla normalizzazione dei segnali analogici.

New from autumn 2017: PLC programming for foreigners in Italy. Lectures aimed at preparing specialized programmers operating all over the world.

PLC international lesson G-Tronic Italy GottardoPractical and theoretical contents. Many laboratory tests on Siemens systems. A certificate of attendance will be issued in English. Italian graduate, doctorates and postdoc will also admitted to participate.   Video demo


How to perform a HMI Back up

In industrial plants it is often necessary to save the existing program before loading a new version.

download docx -> Procedura per il Backup di un HMI


How to implement a personal webpage in the 1212C CPU


Profilo trapezoidale su Altivar 11 con CPU1200

Presso la Galvoservice srl abbiamo assemblato un PLC, con CPU 1212C AC/DC/RLY + modulo analogico due ingressi e due uscite a 14bit, + un modulo 8 ingressi e 8 uscite digitali a transistor, visibile in foto.

Abbiamo realizzato il profilo di marcia per il motore asincrono trifase secondo il digramma sottostante:

Profilo trapezoidale

SCARICA BOZZA PROGRAMMA -> Inverter_2

Una versione più evoluta dello stesso programma è stata realizzata al corso, nei week end, per allievi fuori sede. La versione qui proposta è stata realizzata dall’allievo Rossa Michele di Belluno.

Rampa_Motore_Screen_Shot

Scarica il programma completo di HMI con rampe impostabili ->Rampe_2

Questa versione del software, per CPU 1212C AC/DC/RLY firm. 40, consente la modifica della durata delle rampe da touch screen rendendo il prodotto altamente professionale. L’uscita analogica è collegato all’inverter Altivar 11, che muove un MAT della potenza di un kiloWatt.


Bordatura tubi di rame.

Questo esercizio è lo svolgimento dell’esercizio proposto n°20, presente a pag. 339 del libro di esercizi, edizione 2018, ISBN: 978-0-244-98452-6

La soluzione qui presentata è stata realizzata per CPU 1212C AC/DC/RLY firm. 40 durante i corsi di programmazione di primo livello che si tengono a Padova, nei week end per allievi provenienti da altre città, o studenti stranieri. Per iscriversi telefonare al 335 6204892.  ing. Gottardo.

Svolgimento: La macchina proposta è costituita da tre cilindri idraulici disposti come in figura.

bordatura tubi

La macchina mostrata in figura esegue la bordatura dei tubi di rame in due step. Per bordatura si intende che uno stampo per pressatura fa assumere al bordo del tubo la forma di interesse, ad esempio allo scopo di eseguire raccordi tra due tratte di tubo tramite incastro e successiva saldatura. Nel caso indicato il primo stampo, più sottile e più lungo, entra nel tubo più in profondità mentre il secondo stampo esegue la lavorazione di bordo tubo.  Tutti i cilindri sono a singolo effetto in spinta e con ritorno a molla e nell’immagine si trovano a zero macchina.

Ciclo di lavoro:  Il cilindro A effettua il serraggio in morsa del tubo in lavorazione, quindi il cilindro C va in spinta e quando è a fine corsa da il consenso al cilindro B di effettuare la prima bordatura. Al rientro di B viene dato il consenso di rientro allo stelo di C al cui rientro viene dato il consenso per la bordatura larga. Al di B il ciclo termina.

Viene impiegato un HMI da 4 pollici modello KTP400 basic color, la cui pagina principale è mostrata nell’immagine:

Bordatura tubi home

Lo stato di comando delle elettrovalvole dei cilindri è mostrato sulle pilot light indicate con A;B;C.  La sezione “solo test” abbozza la parte software che in caso di realizzazione professionale gestisce le sicurezze.

Bordatura tubi setup

La seconda pagina mostra il setup di macchina i pezzi lavorati e i tempi di ciclo e lavoro. Si consiglia, come esercizio aggiuntivo di aggiungere i relè reed come controllo della posizione dello stelo dei cilindri idraulici. inoltre:

  • Aggiungere i pulsanti di comando presenza uomo (si veda l’esercizio della pressa eccentrica).
  • Sviluppare il circuito pneumatico con valvole distributrici ed eventualmente selettrici.
  • Schema funzionale del ciclo sopra indicato.
  • Lista delle attribuzioni e programma Step 7 per CPU317-PN/DP, poi ripetere l’esercizio per la CPU 1200 su TIA PORTAL V15.

Una calcolatrice su KTP-400 e CPU 1212C TIA 14 e 15.

Questo programma è ad alta valenza didattica. Si implementa una calcolatrice sfruttando le potenzialità del processore dell’unità centrale. Dopo avere realizzato questo lo studente avrà ben chiari i formati numerici e la loro manipolazioni in calcoli sia elementari che più complessi. Tecnicamente complessa è la soluzione per la rappresentazione del risultato sul display dopo avere caricato i campi di immissione per singole cifre e ricostruito l’operando con l’operazione di shif all’interno di registri predefiniti.

Nel DB1 viene definito un array di 4 byte in cui vengono caricate le singole cifre degli operandi ca calcolare.

DB calcolatrice

Il blocco funzione FC1 gestisce la tastiera della calcolatrice caricando in due fasi, alla pressione sul Touch setta la variabile TP_Cifra e quando lo rilascio setta a 1 la variabile TP_Add_Cifra, consentendo il caricamento delle cifre una alla volta. E’ necessario manipolare indici di array in modo da non sovrascrivere le cifre nella stessa posizione.

La conversione tra una cifra inserita nel sistema posizionale pesato ottenuto dall’uso dell’array a valore numerico è possibile con la funzione SCL presente nel blocco funzionale FB_CONVERT.

funzione di conversione da cisfra a numero completo

Una volta caricati i valori degli operandi per la calcolatrice, cifra per cifra, questi sono convertiti in un valore allocato in una variabile REAL standard e quindi possono essere eseguite le funzioni matematiche di libreria di cui mostriamo l’esempio per la divisione:

FB divisione

L’aspetto dell’interfaccia HMI sarà quello di una calcolatrice standard.

calcolator KTP400

Scarica il programma archiviato in formato Zap14->My_Calc_scomppata_prima di disarchiaviare


Cambio pagina dinamico della KTP-400

Nella lezione del week end, 23 e 24 settembre 2017 si è affrontato il problema del cambio di pagina visualizzata nell’HMI su evento.  L’esempio più chiaro è quello della visualizzazione della posizione della cabina in un ascensore a 3 piani. Si tratta in realtà di commutare tre pagine diverse con il disegno della cabina nelle tre posizione diverse. L’evento che scatena il cambio pagina è l’itercetta della fotocellule di piano.

KTP_400_cambio_pagina_dinamico.

La presenza del campo numerico sotto alle pilot light sul lato sinistro gioco un ruolo essenziale. scarica l’articolo ->guida cambio pagina ktp

Scarica il progetto per S7-1200 con variabile di conteggio ASCENSORE_S71200

E’ consigliato gestire il cambio pagine usando i puntatori  ASCENSORE_S71200_PUNTATORE

Scarica i progetti completi per S7-1200 1212C AC/DC/RE – KTP400 basic con gestione del cambio pagina dinamico che mostra la posizione della cabina sul pannello operatore.


Ascensore a tre piani.

Questa versione è stata realizzata al corso di febbraio 2018 ed è stato testato dall’allievo Thomas Nardello.  Nell’archivio zap14 troverete la configurazione della rete costituita da 2 PLC, modello 1212C AC/DC/RLY e un HMI modello KTP400 basic. E’ possibile caricare il programma in un sistema costituito da un solo PLC e il touch.

L’immagine di sfondo del Touch è la seguente.

HMI_Screenshot

La casella numerica indica il numero del piano e rappresenta il display LED inserito nella meccanica del modellino in scala. Si tratta di un tipo integer definito nel DB1 del primo PLC.

Ottima la soluzione delle frecce sul lato sinistro che con una animazione indicano il verso di movimento della cabina.

Scarica il programma completo -> Ascensore 3 Piani con cambio pagina HMI


Sequencer programmabile da touch HMI

Questo programma è molto utile per controllare gruppi valvole la cui sequenza sia customizabile da touch.  E’ prevista una impostazione di default, e una impostazione custom del gruppo valvole in funzione della posizione dell’ingresso I0.2

Il touch ha una pagina principale in cui è predisposta la frequenza di oscillazione e quindi si controlla la velocità di esecuzione del tamburo ciclico.

Screen1

Nelle impostazioni della sezione di default il programma esegue la sequenza 10,12,11,13 su quattro step e su quattro valvole (EV1, EV2,EV3,EV4)

Screen2

Le valvole occupano in morsettiera le uscite Q0.0, Q0.1, Q0.3, Q0.4

Puoi usare questa immagine come sfondo.

valves setup

Scarica il programma completo -> Sequencer


Generatore sequenza su due motori DC.  08/04/2018

Questo programma è stato sviluppato al corso di programmazione dei PLC Siemens tenutosi a Padova il 08/04/2018, tra gli allievi presenti Bha Amadou (Ravenna), dott. Roberto Pretto (Lonigo), Rossa Michele (Agordo Belluno).

Corsa tempo esercizio Gottardo PLCIl testo dell’esercizio si trova nel libro “Esercizi di programmazione di PLC”. Qui viene riportato il sorgente completo, con tracciatura su HMI dello stato delle uscite che controllano i due motori DC in marcia avanti e in marcia indietro. Su questa ottica l’interfaccia di potenza è costituita da 4 relè a 24V, DC, che realizzano due ponti H.

Scarica il programma completo-> Sequenza Motori_1

Il pannello KTP400 basic, usato per sviluppare l’esercizio, contiene due pagine, una principale, in cui lo stato delle uscite sono rappresentate con spie luminose verdi, e in cui sono presenti i comandi di attivazione o stop della sequenza ciclica.

Pagina HMI principale esercizio Gottardo

Allo scopo di rendere l’esercizio più completo e interessante è stata aggiunta l’acquisizione della sonda di temperatura PT100, e dei relativi comandi di normalizzazione e messa in scala.  Nell’immagine vediamo che la temperatura ambientale rilevata è di 24 °C.

Diagrammi temporali sequenza motori

Nella foto sono visibili i 4 diagrammi corsa tempo che dall’alto rappresentano Avanti_mot_sx, Indietro_mot_sx, Avanti_mot_dx, Indietro_mot_dx, scorrono in tempo reale verso sinistra, ma nelle impostazioni possiamo decidere di farli scrorrree in tempo opposto.

ponte H

Questo esercizio è stato realizzato con il PLC S7-1212C AC/DC/RLY.

Amadou Michele Roberto alla G-Tronic Robotics 8 Aprile 2018

Il gruppo che ha realizzato l’esercitazione, da sinistra Amadou,Roberto, Michele.


Cancello con animazione in KTP400 30 settembre 2017.

Nella lezione di sabato 30 settembre 2017 è stato implementato un programma che oltre alla classica gestione del cancello a scorrimento, pietra miliare dei corsi che si tengono a Padova, è stata introdotta l’animazione del movimento del cancello sul KTP400. IL problema è stato risulto utilizzando i puntatori ad area. Il progetto completo è scaricabile dal pacchetto sottostante, e contiene anche il video dimostrativo.

CANCELLO_S71200 con animazione apertura su KTP400


Corso PLC edizione febbraio 2017.

Esempio di lettura simultanea di una termocoppia J e una PT100 con PLC S7-1200 modello 1214C DC/DC/relè in TIA Portal V13.

Valigetta PLC S71200 Michele Pirolo

ETK_convertitori_analogici

Descrizione del blocco FC1 che esegue l’acquisizione e la normalizzazione delle temperature da  PTC 100 TC tipo J

Ottimo esempio di termostato.

Questo programma attiva e disattiva il motore di un sistema di raffreddamento quando la temperatura supera il setpoint. La temperatura è acquisita da una PT100, normata e scalata nel canale %IW66. Il setpoint è acquisito con un potenziometro all’ingresso %IW64. I primi due segnali sono mostrati in traccia Blu (setpoint) e traccia rossa (temperatura). L’elettrovalvola viene mostrata con una traccia a forma rettangolare nel touch di ampiezza 8.0   Il fondo scala del grafico è a 40.0°C

scarica il programma per TIA V14 CPU1212C AC/DC/RLY -> Termometro_1


Parcheggio automatico.

Un parcheggio automatico mostra su l’interfaccia HMI il numero di posti liberi e impegnati, dispone di un semaforo a due luci rossa e verde, e l’accesso è subordinato a una sbarra automatica con fine corsa di aperto e chiuso. Idem per l’uscita.

scarica il programma -> parcheggio automatico


SCADA

Template da utilizzarsi come base per iniziare con SCADA usando Movicon Next. PLC S7-1200 modello 1212C AC/DC/RLY in cui è presente un programma composto da un DB globale DB1 contenente 4 variabili, 3 booleane e una intera a 16 bit in cui è scaricato il canale analogico IW64 del PLC.  Sul lato Movicon Next è stato inserito un display numerico, un Circula Gauge (bargraph circolare che funge da lancetta) e una spia luminosa. Abbiamo utilizzato il driver “Ethernet S7 TCP” e non quello che sembra più specifico S71200 e S71500 che non risulta funzionante.


Scada Movicon NEXT, monitoraggio temperatura.

SCADA_AmbienteDiSviluppoSinottico

Scarica il pacchetto completo ->SCADA_ES_19Marzo


 

Scada con Movicon 11.5 su PLC S7-1200 (impostazione driver come sopra)

Esempio di programmazione SCADA nelle lezioni di PLC, corso avanzato.  Nota Bene: da settembre 2016 le lezioni non si svolgono più nella sede indicata nel video, ma nella nuova sede della G-Tronic Robotics Didactis division di Via Austria 19b, 35127, Zona industriale Padova.

Scada-Movicom

Vedi filmato su youtube: Collegamento S71200 a supervisione SCADA

Programma di esempio con collegamento a S71200 SCADA_moviconTest1

Per collegare un PLC Siemens S7-1200 con la versione 11.5 di movicom potrebbe esserci qualche ambiguità nell’uso dei driver di comunicazione e nel loro setup. Seguire le indicazioni riportate nelle immagini. Cominciamo selezionando tra le varie marche il Siemens.

scada_movicom_siemens

scada_movicom_siemens

Aggiungiamo i driver di comunicazione, In questa versione si è costretti a aggiungere i driver per S7-300/400 benché siano presenti quelli per S7-1200 i quali a volte presentano difficoltà di utilizzo.  Probabilmente il problema non sussiste nel Movicom Next:

scada_movicom_siemens_300_for_1200

Dovremmo premere avanti per alcune volte arrivando alla seguente situazione:

scada_add_station

Oro effettuiamo il setup della stazione a cui ci si vuole collegare:

scada_TCP_IP

Fissiamo l’indirizzo IP

Scada_server_address

scada_station_properties

Lasciamo impostato il default:

scada_S7_TCP

Ora possiamo testare la comunicazione.

Scada_TCP-test


Esempio di applicazione dei blocchi funzionali.

In questo paragrafo mettiamo in evidenza lo scopo e la funzionalità dei blocchi funzionali FB da usarsi al posto dei blocchi funzione FC.

I blocchi funzionali permetto l’inserimento di un modello di oggetto presente in impianto in più elementi strutturalmente uguali ma parametrizzati differentemente.

Consideriamo un oggetto triangolare di cui siamo interessati di calcolare la superficie, ad esempio pellame per la costruzione dei sedili delle automobili di lusso.

Dato l’elevato costo della materia prima il taglio automatico deve essere ottimizzato minimizzando lo sfrido.

Il presente programma realizza il calcolo su più istanze del Funzionale area del triangolo della pelle impiegata per tappezzare i poggia testa.

Cattura

Il primo esercizio sul lato touch mostra la funzione FB come implementata in Step7 allo scopo di massimizzare il concetto.

Sfondo_Definitivo_HMI

Nella seconda fase dell’esercizio viene creata la pagina finale della macchina taglia pelle in cui compaiono i triangoli che andranno in lavorazione.

HMI_2

scarica il pdf dell’esercizio ► Uso degli FB

Scarica il programma in TIA V14 per 1212C AD/DA/RLY ►Uso_FB


Esercizio: Concetti sui blocchi Funzionali FB e i DB di istanza.

Nel file scaricabile da questo link troviamo la relazione svolta dall’allievo Lucas Sperduto sulle esperienze fatte durante la lezione del week end del 15/07/2017.

Blocchi Funzionali e Multistanza

Funzionali somme doppia istanza


Collegamento inverter.

In questo video vedrete una spiegazione semplificata ma comunque dettagliata sul funzionamento di un piccolo inverter monofase/trifase di tipo a controllo unipolare in tensione proporzionale alla frequenza generata.  IL sistema si interfaccia a un PLC S7-300 con CPU 314 IFM, la cui uscita analogica genera via software il segnale proporzionale di comando. Il motore collegato è da 1KW nominale. I collegamenti delle fasi cono fissi a stella. Si è ammessi a questo livello del corso dopo avere ottenuto l’attestato G-Tronic Robotics di primo livello oppure se si è in possesso di laurea in ingegneria delle automazioni  (non da diritto all’accesso diretto altri ti di ingegneria o altri tipi di laurea).

Scarica Esercizio svolto -> PLC Gottardo – Esperienza Inverter

Altivar-motore

Vedi il filmato su youtube: Collegamento inverter Altivar 11.

Controllo inverter Altivar ta HMI TP170 controlla Motore via inverter

English version on foreigners lectures in Padova: Altivar connection

Uso della CPU 313-C S7-300 in ambiente TIA Portal V14 professional.

Il programma scaricabile dal link sottostante controlla l’inverter mostrato nell’immagine, Altivar 11, con segnali proporzionali analogici, con funzioni di scale e unscale per la normalizzazione analogica. Nella CPU S7-300 sono stati attivati i Timer di tipo IEC a 32 bit per la generazione delle rampe.

Tia Portal S7-300 CPU313-C analogici -> CPU313C_Unscale_DAC


Acquisizione encoder modello E620 2000 10 24 R8 PP2 con S7-1200.

Questo programma è stato sviluppato al corso di programmazione avanzata dei PLC Siemens tenuto a Padova. Fa parte di un contesto più grande che è stato tolto per focalizzare l’attenzione sull’attivazione dell’HSC.

La piattaforma software è il TIA Portal V14 basic, ovvero i CD contenuti nello starter KIT distribuito da Siemens con la CPU S7-1200 modello 1212C-AC/DC/Relè. L’esatta versione firmware è visualizzabile nella configurazione hardware.

Attenzione: Nelle proprietà della CPU potrebbero essere impostati dei filtri sugli ingressi digitali, utili come anti rimbalzo o anti segnale spurio, che introducono una sorta di “delay” sull’acquisizione del segnale.  Supponiamo che il nostro encoder fornisca 2000 impulsi al giro ma che i filtri impostati abbiano un tempo di reazione troppo lento rispetto alla frequenza che dobbiamo leggere. Il risultato sarà che l’eventuale valore caricato su una variabile, su un DB o visualizzato sul touch pur reagendo al movimento dell’encoder riporteranno un valore anche di molto in inferiore. Più lungo è il filtro e più sballato sarà il valore letto.  Quindi andiamo nella sezione proprietà della CPU, digital I/O, digital inputs, e canale per canale impostare 20u sec (microsecondi).

Per chiarire le funzioni HSC scarica questo pdf -> ufficial HSC siemens.

Encoder_HSC

Il DB di istanza contiene le seguenti variabili:

tag

Il programma funziona solo se sono state effettuate le corrette configurazioni hardware degli HSC. Queste saranno:  L’abilitazione mettendo lo spunto su HSC1 (o gli altri canali) nel menu, sotto a generale (della CPU), HSC1 ..”attiva questo contatore veloce”.  A seguire, sulla voce funzione, impostare come da immagine sottostante:

funzione

Alla voce “Resetta i valori iniziali” come da immagine:

resetta valori

la voce configurazione evento, al momento la lasciamo libera. Alla voce ingressi Hardware impostiamo gli ingressi fissi come da immagine:

Indirizzi preinpostati

Impostare gli indirizzi di I/O come da immagine:

indirizziID

scarica il programma di esempio. encoder

Scarica versione del programma con pannello operatore KTP400 e contatore A/B. Questo programma è stato sviluppato nella lezione del 18/06/2017. Si vuole controllare un asse lineare progettato con una barra filettata che per ogni giro avanza di 1,25mm, ovvero ogni 2000 impulsi dell’encoder utilizzato. Nel touch viene richiesta la quota di posizionamento dell’asse in mm con due decimali dopo la virgola, ad esempio la quota 5,65 mm viene prima moltiplicata per 100 (allo scopo di togliere la virgola) e poi convertita dal formato Real to Double Int. Viene spatata in un merker Double. Viene convertita dalla funzione calcolate in 9040 impulsi.

Immagine_calculate

touch_quote_encoder

Il comparatore della quota inserita è impostato nell’FC1, e si tratta di un esercizio.

Nella realtà la comparazione di quota è effettuata tramite interrupt nell’HSC modificando le sue proprietà nell’hardware. -> Encoder con Touch e quota stop su IP ciclico.

scarica il databook dell’encoder Encoder_databook

Acquisizione encoder e visualizzazione su bargraph.

Questo programma è stato realizzato alla lezione del 3 Marzo 2018 presso il laboratorio della G-Tronic Robotics, docente Marco Gottardo e discenti Marco Dal Zotto e Nardello Thomas.  L’encoder usato è il modello delle esperienze precedenti Encoder_databook.

IL sistema si compone di due PLC 1212C AC/DC/Rly e un HMI KTP400basic posti in rete profinet.

Il programma realizza: Acquisizione dell’encoder nel PLC numero 1, scalatura e normalizzazione tramite un FB scritto in SCL che implementa la funzione y=mx+q , Ricevitore del dato normalizzato nel PLC 2 tramite comando GET di profinet, accensione e spegnimento di 6 pilot lights a seconda del range del dato compreso tra 0.0 e 100.0

scarica il programma per studiarlo e testarlo -> EncoderBarGraph

Versione del programma precedente sviluppato da Nardello Thomas.

HMI

Scarica il programma completo in pdf ►Encoder_Via_Profinet

scarica il programma completo archiviato per TIA V14 ►Encoder_Via_Profinet

Programmazione Servomotore per valvola modulante controllata da encoder.

L’encoder dell’esempio precedente viene ora impiegato come manopola per posizionare una valvola modulante.  L’angolo eseguito manualmente dall’operatore, viene riprodotto da un motore passo che controlla la serranda della valvola di modulazione del flusso. Il motore stepper, bipolare, compie un giro ogni 100 impulsi ovvero ogni 25 matrici di passo intero. L’interfaccia è un doppio ponte H a transistor il cui schema elettrico è presente nel testo Esercizi di programmazione di PLC. L’encoder ha invece una risoluzione di 2000 impulsi al giro quindi è necessaria una normalizzazione eseguito da una funzione di scala come mostrato nell’esempio.  Esistono due contatori, il primo scandisce la matrice di passo 0->3, mentre il secondo riceve come preset il valore dall’HSC. Questo è settato come nell’esempio precedente. L’oscillatore è stato impostato a una velocità opportuna affinchè l’esercizio sia realizzabile anche se siamo in possesso di un PLC 1212C AC/DC/RELE, ovvero con le uscite elettromeccaniche. Vedrete comunque un movimento dello stepper stupefacentemente fluido e non troppo lento. Invertendo il movimento della manopola di controllo anche lo stepper inverte  il senso di movimento, riducendo la portata del fluido nelle eventuali condotte.

normalizzatore

download programma completo TIA V14 -> Encoder_Valvola_Modulante

Seconda versione TIA V14 -> Servovalvola_2

scarica pacchetto programma per TIA V14 e documento stampabile ->Servovalvola_2


Encoder comanda decoder software via profinet (gruppo valvole remoto).

Il sistema si compone di due PLC, il primo acquisisce l’encoder, quindi ne viene abilitato l’HSC, e si cura della trasmissione via Profinet al PLC remoto. Il PLC remoto contiene una rete di decodifica che pilota un gruppo di quattro valvole in funzione della tabella qui riportata.

tabella decodifica

il pannello operatore viene progettato con questa grafica:

HMI

Scarica il programma completo per TIA V14. -> ES23_Sequencer_Controllo_Encoder


Programmazione di allarmi su interrupt con CPU S7-1200.

Questo programma è un esempio di come si gestiscono gli allarmi e interrupt con OB40 e OB41. Nel sistema sono presenti due PLC e il pannello operatore TP400k color in rete profinet. L’interrupt che evoca il OB40 è generato da un comparatore di soglia sul segnale analogico. Gli OB40 e 41 contengono solo la reazione a questo interrupt ovvero il set e il reset della spia luminosa ALLARME visualizzata nell’HMI. Il software è scaricabile dal link: Allarmi


Programmazione di multiistanze.

In data 15/07/2017, presso la sede della G-Tronic di Via Austria 19/b a Padova abbiamo realizzato un un programma per meglio comprendere  come creare e utilizzare i blocchi funzionali: il programma consisteva nel realizzare la somma di due differenti coppie di addendi alla chiusura  del contatto E124.0. Nel procedimento testato abbiamo visto come per ogni operazione necessitiamo di un corrispondente DB, ossia volendo eseguire tramite lo stesso FB1 (“Somma”) più addizioni dobbiamo associare a ciascuna di esse un diverso DB di istanza. Per ridurre il numero dei blocchi dati (che con tale procedura sarebbero tanti quante le istanze create) occorre ricorrere alla multiistanza.

multiistanza

continua scaricando il file doc dell’allievo Lucas Sperduto -> Blocchi Funzionali e Multistanza


ServoStepper

Questo programma posiziona l’angolo di uno stepper motor bipolare a 4 fili in funzione di un angolo impostato tramite un Encoder (vedi databook del progetto precedente) a 2000 impulsi al giro. Si consideri uno stepper motor con caratteristiche elettriche 5V DC per bobina, corrente <=2A, numero impulsi al giro 200, gradi a impulso 1,8°.

Matrice full step, numero di matrici per fare un giro 50.

Il rapporto giro encoder/giro stepper è 1/10, quindi nel programma viene eseguita una divisione per 10.

Immagine_divisone_per_10

Per il funzionamento è necessario impostare un canale di interrupt in OB40 per reagire al fine conteggio e altri stimoli provenienti dal contatore veloce.

Immagine_OB_interrupt

L’interfaccia di controllo dello stepper si trova descritta sul libro di testo

copertina Advanced PLC ed 2018

Advanced PLC Programming ed. 2018  ing. Marco Gottardo

Il programma è stato testato alla lezione di programmazione avanzata del 18 giugno 2017.  Chi volesse partecipare a questi corsi nella formula week end o serale può scrivere una mail a ad.noctis@gmail.com

Scarica il programma per CPU 1212C AC/DC/Re    Servo_stepper


Calcolo intergrazione area di una curva. Stima consumo aria.

Questo programma è molto importante in molte situazioni industriali reali. Nell’esempio si calcola il consumo di aria compressa in un sistema di trasporto pneumatico istallato in acciaieria.

Il sistema si compone di un sistema di propulsione costituito da una tramoggia di carico e una “bombola” in cui caricare, tramite un sistema di serrande comandate da valvole a commutazione assistita pnemumatiche, due per il carico e e due per creare un ambiente isobaro in camera di propulsione prima del lancio. Queste due valvole sono montate in una protuberanza aperta, tramite un filtro all’atmosfera, detto il camino.

dust conveyor

Nel lato sinistro dell’immagine è visibile il propulsore, in rosso l’otturatore del camino. Il propulsore, tramite una linea pneumatica ovvero una condotta del diametro tipicamente da 2 a 4 pollici, di lunghezza variabile tra i 20 e i 200 metri, a seconda dell’istallazione, è collegato alle tramogge di raccolta. Il ciclo di “Purge” detto anche sparo o trasporto impone che nel propulsore la pressione sia salita a un valore nell’intorno di 2 Bar e che nel lato delle tramogge di arrivo sia azionato il motore che crea una depressione. Nel ciclo di lavaggio si deve garantire che nelle condotte di trasporto non sia rimasto del materiale depositato come anche nelle tramogge di destinazione.   Spesso lungo le linee sono inseriti rubinetti pneumatici in grado, una volta aperti, di iniettare un flusso di aria “sbloccante” se fosse necessario, mentre la tramoggia di destinazione è munita di sistema vibrante.

In questo programma ci curiamo di calcolare l’effettivo consumo di compressa nel periodo di sparo. E’ necessaria un’integrazione numerica. Viene anche calcolato il valore massimo di pressione raggiunto durante il trasporto.

Integrazione numerica PLC siemens gottardo

Il metodo dei trapezi consiste nel dividere la durata dell’impulso in quanti temporali, nel nostro esempio pari a 0,4s, moltiplichiamo il valore attuale proveniente dal sensore (dopo averlo normalizzato e scalato) per questo valore temporale. Si ottiene l’area del Quanto. Viene iterato per tutto il periodo temporale della durata del trasporto pneumatico impostato dall’operatore sull’HMI.

Scarica il programma completo zap14 -> stima_consumo


Comunicazione PROFINET tra due PLC S7-1200.

Alla lezione del week end 18/19 febbraio 2017, dedicata ai fuori sede, abbiamo collegato  un PLC S7 1200 mod. 1212c AC/DC/RLY XX31 con id PLC_1 ad un PLC  con id PLC_2 mod 1212c AC/DC/RLY XX31

Lo scopo è quello di trasferire 4 interi, ovvero 8 byte di dati da un PLC a un altro usando i DB dei partener di comunicazione. Nello stato iniziale il primo PLC contiene nel DB i valori 1,2,3,4 a partire da byte 4, mentre il secondo contiene PLC contiene i valori 5,6,7,8 a partire sempre dal byte 4 del DB.

Dopo il trasferimento entrambi i DB dei partner online contengono 1,2,3,4 a partire dal byte 4 del DB.   Il trasferimento avviene usando la funzione PUT.

Nella rete i dispositivi sono stati inseriti con i seguenti IP

  • PLC_1 192.168.0.1
  • PLC_2 192.168.0.3
  • HMI KTP400 BASIC COLOR 192.168.0.2

In entrambi i PLC abbiamo creato un DB globale con la forma:

Blocco dati di destinazione

Le prime due righe sono variabili locali mentre i dati che intendiamo leggere/spedire sono 4 e si trovano all’indirizzo byte 4. Trattandosi di INTEGER hanno un’estensione totale di 8 byte come dovremmo indicare nel puntatore di accesso del comando PUT di cui vogliamo dimostrare il funzionamento.

Nell’immagine l’azione di trasferimento è già stata eseguita quindi nella colonna valore di controllo (visibile solo dopo avere agito negli “occhiali” di controllo delle variabili) compaiono i valori provenienti dal PLC che ha eseguito il PUT.  Quello che stiamo osservando è il DB del partner di comunicazione che ha subito la scrittura.

Nel PLC_2 usiamo il DB2 mentre nel PLC_1 il DB4.

Dati contenuti nel DB2   -> Dato5,6,7,8=5,6,7,8

Dati contenuti nel DB4  -> Dato1,2,3,4=1,2,3,4

L’obbiettivo è quello di trasferire i dati 1,2,3,4 nel DB2 del partner sovrascrivendo gli attuali 5,6,7,8 come già a visualizzato nell’immagine sovrastante.

Useremo i comandi GET e PUT nel protocollo profinet, inizialmente testiamo il PUT.

rete profinet gottardo

Obbiettivo trasferire quattro INTEGER dal DB4 del PLC_1 ad un DB2 del  PLC_2 remoto.

Funzione-PUT

Attenzione: Usare il comando ” -|P|-” sul pin “REQ” allo scopo di generare il fronte di salita necessario per spedire i dati successivi alla prima esecuzione.  

Agiamo sull’icona con la forma di cassetta degl’attrezzi.

collegamento al partner di comunicazione gottardo

Salviamo la configurazione .

In caso di problemi di comunicazione verificare di aver compilato la configurazione hardware con tutti i PLC e i dispositivi offline, e assicurarsi di aver ricaricato hardware e software in tutti i PLC dopo aver compilato.

Salvare la configurazione hardware profinet

 Scarica pdf bozza di questo articolo -> comunicazione profinet tra CPU 1200

Scarica il programma con questo esempio di comunicazione profinet -> nastro_hmi

In questo progetto, oltre alla comunicazione Profinet tra le due CPU sopradescritta troverete la configurazione per il pannello HMI modello KTP400 basic color (con programma Wincc) che accede contemporaneamente a ai TAG di entrambi i PLC centralizzando il controllo.

Profinet: Esercizio di comunicazione tra PLC e HMI (allievo Lucas Sperduto)

Scarica da questo link la relazione tecnica del programma svolto da Lucas Sperduto.

Comunicazione PROFINET tra due PLC S1

Profinet:  Un HMI accede a due PLC scambiando i dati tra i loro DB.

In questo esercizio, simile al precedente ma più completo, viene progettato un HMI modello KTP400 basic, in grado di accedere ai DB di due diversi PLC simultaneamente. L’area del pannello è divisa in due zone, la metà di sinistra per il controllo di un PLC e l’area di destra per il controllo dell’altro PLC.

Scarica il programma completo Comunicazione Profinet tra 2 S7-1200 e un HMI

TIA_HMI_Panel_esercizio_Profinet_Gottardo

In ogni PLC viene definito un DB contenente un set di dati con l’obbiettivo di trasmetterli al partner di comunicazione. Viene inoltre trasmetto il valore analogico acquisito da uno dei PLC. Il touch panel supervisiona e comanda le azioni. I valori sono mostrati nei campi HMI.

Profinet_esercizio_Gottardo_DB2_PLC1

Contenuto iniziale di DB2 nel PLC1, è fondamentale dalle proprietà del DB togliere lo spunto dal menù “accesso ottimizzato” allo scopo di poter visualizzare la colonna “offset” che mostra gli indirizzi in Byte.

Ecco la situazione, con una vista più globale, di DB1 nel lato PLC2.

PLC2_DB1

PLC_2_DB1

Aspetto del programma sul lato WinCC.

PANNELLO

Nella prossima immagine la tabella delle variabili lato HMI.

TABELLA_VARIABILE_TOUCH

Il contenuto di FC1 sul PLC1- ->PLC_1_FC1


Seconda versione del programma comunicazione Profinet.

Scarica il programma -> trasmissione profinet


Time server emulato in una rete 1200.

Questo programma, sviluppato durante il corso di programmazione avanzata tenuto presso la sede di Via Austria della G-Tronic robotics, il 7/12/2017, sincronizza l’ora dei PLC della rete profinet. L’ora corretta viene inserita dall’operatore nel KTP400 e corregge il PLC Master. Viene poi aperto un canale di comunicazione in streaming che tiene allineato il PLC slave. Benchè in questo esercizio siano presenti solo tre elementi nella rete PN, è possibile l’estensione al numero necessario si PLC slave.  Benchè qui sia proposta una velocità di aggiornamento massima, basata sulla scansione dei tempi di ciclo, in molte occasioni non sarà necessario riallineare così di sovente ad esempio sfruttando le caretteristiche dei normali DB a tempo. L’esercizio è anche molto utile per fissare bene le idee sull’uso dei puntatori e delle dati trasmessi con essi.

Nel HMI, il campo di sinistra mostra il tempo presente nel PLC master. Questo campo è di tipo input/output così l’operatore ha la possibilità di aggiornarlo. Nel campo di destra è mostrato l’orologio del PLC slave. In questa immagine sono riportate date e orari di default, mentre nell’esecuzione reale i valori risulteranno corretti.

touchscreen


 Datalogger con S7-1200.

Questo programma salva su un file excel in un PC che funge da terminale scada oppure da server 10 pacchetti schedulati contenenti ciascuno il time stamp e la registrazione del canale analogico. Questo potrà essere una temperatura o altro proveniente da un sensore in campo.

  • scarica il progetto TIA V13 del datalogger per 1212C AC/DC/relay ->data_log
  • Scarica il progetto TIA V14 del datalogger per 1212C AC/DC/RLY ->data_log_V14

L’acquisizione è sincronizzata su un merker di clock i cui fronti, posti in ingresso a un contatore determina il numero di campioni richiesti nel pacchetto registrato nel file excel in formato CSV, ovvero i campi sono separati da una virgola.

DB1 globale Project_tree

Sul PLC deve essere attivato il WEB server. Sarà parte essenziale del progettoun DB globale, nel nostro caso chiamato datalog che potrete vedere scaricando il file sopra.

scren1

Attenzione:  Il campo RECORDS in DataLogCreate, qui impostato a “1” indica il numero delle righe che troveremo nel file Excel. Possiamo cambiare questo parametro  indicando, ad esempio, 10.  Verranno registrati 10 campioni con i relativi Time stamp.scren2 scren3 scren4

Il file excel ottenuto è ->Recorder[1]

Per esercizio si tracci il grafico in RunTime del valore analogico schedulato.


Impianto distribuito bilance Laumas con periferiche decentrate VIPA

Questo progetto è una tipica applicazione in impianto di produzione chimica. Ie materie prime sono stoccate in Silos esterni al capannone. Questi sono numerati e/o identificati tramite stringhe alfanumeriche che rappresentano l’elemento chimico contenuto. Il nostro impianto dispone di 5 silos esterni, in cui sono stoccate le materie prime mentre all’interno del capannone sono presenti 4 Mixer per la produzione. L’immagine riporta la planimetria dell’impianto.

Chemical

Vigono delle apposite normative che dicono quante zampe deve avere il Silos a seconda della zona in cui questo verrà istallato, ad esempio zona sismica (obbligo di 6 zampe) o terreni particolari.

Il peso complessivo del silos/mixer è quindi ripartito nel numero di zampe. Spesso i dispositivi hardware di interfaccia si curano della somma di più celle di carico, ad esempio 4 celle per quattro zampe del singolo silos.

I silos, come i mixer, sono muniti di celle di carico gestiti da bilance Laumas che possono fornire uscite dati in analogico, in seriale, in profinet.

Celle di carico sulle zampe dei silos

Benché le celle di carico siano così massicce da sostenere meccanicamente il peso del serbatoio non ci si deve lasciare trarre in inganno dall’aspetto. Sono molto sensibili e in grado di rilevare facilmente la variazione del singolo chilogrammo sui possibili 50 mila di un silos di media taglia. L’immagine sottostante mostra il particolare di una cella di carico.

cella carico silos

Le celle di carico, abbinate alle zampe di ogni singolo silos, sono cablate in una singola bilancia Laumas visibile nell’immagine. Si nota il connettore RJ45 che permette di indirizzarla e il dialogo con il protocollo Profinet. I segnali e le alimentazioni da e verso le celle di carico sono connessi ai morsetti laterali verdi secondo le serigrafie indicate a lato del dispositivo.

Va effettuata un’operazione di taratura e di posizionamento dello zero.  E’ importante prendere visione del manuale utente distribuito dal costruttore per capire dove il valore letto è posizionato e in che formato all’interno dell’apposito registro.

Scarica il manuale delle Bilance Laumas celle di carico Ethernet e RS485.

Laumas

L’impianto dispone di un unico PLC in un quadro centrale e i Mixer come i silos sono raggiunti da periferiche decentrate. Ogni postazione di lavoro o controllo è munita di un HMI.

Bilance e HMI sono raggiunti da un’unico cavo RJ45 via Profinet usando delle periferiche decentrate tipicamente ET200 o nel caso di VIPA nel modelli SLIO. Spesso, ove sia presente un Profibus, troveremo dispositivi denominati Wago. Il metodo di inserimento e riconoscimento nella rete è il medesimo e viene qui esposto.

L’immagine sotto mostra una periferica decentrata VIPA SLIO. Il modulo di intestazione (impropriamente detto ciabatta) dispone di due porte Profinet dato che uno riceve il cavo dall’unità centrale e l’altro lo rimanda al Touch screen sicuramente posizionato in loco.

SLIO_053

In questa periferica decentrata i primi due moduli a sinistra sono l’alimentatore e il terminatore di bus.  Tutti i morsetti sono a molla e quindi non vanno intestati con puntalini.

L’unica CPU presente nel quadro elettrico centrale comanda un elevato numero di periferiche decentrate, tra loro anche molto distanti, è quindi necessario partire con un numero equivalente di cavi RJ45. Questi trovano punto di innesto in un hub switch montato sullo stesso rack.  E’ importante che tutti i dispositivi impiegati siano idonei all’utilizzo in ambiente industriale, per questo motivo siemens produce HubSwitch specifici con supporto a innesto su guida omega DIN.

switch siemens

Attenzione: Non impiegare hubswitch di tipo office perché non garantiti negli ambienti industriali.

L’operazione preliminare sarà quella di fare riconoscere a TIA Portal gli oggetti non Siemens tramite l’installazione dei file GSD (General Station Description) rilasciati dai costruttori.

 

Setting Hardware/Sottoreti

Per semplicità usiamo un impianto distribuito con periferiche decentrate costituito da:

  • CPU 315 2PN/DP
  • Morsettiere decentrate VIPA 053-1PN00
  • Blocchetti espansione per morsettiere VIPA Input (8 ingressi)  021-1BF00
  • Blocchetti espansione per morsettiere VIPA Output (8uscite) 022-1BF00
  • Bilance LAUMAS per celle di carico con comunicazione PROFINET.

Scarica i file GSD delle bilance e delle periferiche decentrate-> GSD Bilance Laumas e Periferiche decentrate VIPA

Scarica esempio in pdf -> Impianto distribuito pesatura

Bozza programma TIA14 per PLC 1212C AC/DC/RLY ->Chemical_1_20180127_1727

Se disarchivi il progetto scaricato dal link, senza avere prima istallato i file GSD, questi verranno trovati all’interno dell’archivio ZAP14 e automaticamente installati.

installa GSD

IL progetto ha questa struttura, oltre ai normali dispositivi visibili nel Project tree, PLC e HMI sono indicati dei “Ungrupped devices” in cui figurano le morsettiere decentrate con le relative espansioni di I/O e la bilancia Laumas.

struttura progetto chemical

L’esempio mostra come procedere per definire il silos e il mixer come tipo di dato definito dall’utente UDT.

UDT

Vediamo come è definita la struttura che implementa il tipo di dato Silos e Mixer.

UDT silos

UDT mixer

Ora che sono stati definiti gli oggetti come nuove variabili possiamo definire, nel DB globale, un array di variabili di tipo silos o mixer.

UDT array nel DB

Notiamo che viene calcolato automaticamente l’offset, in funzione dei 5 silos, più 4 mixer (il numero è stato inserito nel contesto aziendale diverso volontariamente). L’offset arriva fino a 1300 byte.

Rete Bilance e morsettiene PN

L’immagine mostra la rete profinet completa di periferiche decentrate VIPA, con a bordo un byte di espansione di ingressi e uno di uscite, e una bilancia Laumas.

L’operatore del Mixer, opera come segue:

  • riceve l’ordine dall’ufficio tecnico per la produzione di una ricetta, attualmente in forma cartacea, nell’evoluzione in via telematica tramite SCADA.
  • imposta le componenti della ricetta tramite lettore Barcode.

Le ricette si impostano in due possibili maniere:

  1. sul lato PLC (sconsigliato)
  2. sul lato HMI (oggi in uso comune).

I pannelli, anche nelle versioni basic, mettono a disposizioni strumenti software per la creazione automatica delle ricette.

menu ricette

Nella foto sopra notiamo che sull’albero del progetto, in corrispondenza del device HMI, esiste la voce Recipes ovvero ricette.

Creiamo 3 ricette , come mostrato sotto.  Queste diventeranno selezionabili dall’operatore

Ricette

Se clicchiamo su ciascuna di queste ricette, possiamo entrarci al suo interno visualizzando e eventualmente impostando, gli ingredienti di ciascuna ricetta. Vediamo per la ricetta 1 cosa è stato impostato.

Vista_Ricette_2

La ricetta B e C contiene invece:

Ricetta_3

Ricetta_3

Nel pannello HMI la prima pagina mostra i silos numerati

silos HMI

Vediamo come funziona la ricetta. Per ogni mixer creiamo un DB e una ricetta con all’interno tutte le materie prime.  Nel progetto quindi figurano, nella stessa CPU, 4 DB per le ricette associate ai 4 Mixer.  Dato che nell’esercizio disponiamo di un solo HMI, sono stati aggiunti 4 tasti ricetta nella home page. Nella realtà ogni mixer ha un suo touch che permette l’inserimento della specifica ricetta. E’ bene che se un’altro operatore su un altro mixer sta prelevando materia prima dai silos esterni non sia possibile impostare una ricetta (tirare materiali) su un’altra postazione Mixer. In altre parole impostiamo una ricetta sul mixer una alla volta. Se è una limitazione si troverà una soluzione a posteriori ma per il momento e nell’ambito dell’esercizio è la condizione più pratica e sicura.

HMI_home

I tasti Mixer1,2,3,4 in questa pagina sono presenti perché disponiamo di un solo touch al fine dell’esercizio, ma nell’impianto vero, essendoci un HMI per ogni postazione mixer si chiameranno semplicemente “imposta ricetta”.

Screenshoot Ricette

 

Screenshoot selezione per singolo pannello

Sopra è mostrato uno screenshoot che mostra come è impostata la selezione per singolo mixer e il suo pannello.

Selezionare sul device tree lo screen a cui vogliamo abbinare una ricetta, ad esempio “Mixer1” su Proprietà -> Generarli -> Recipe viene abbinata la ricetta a cui è stato dato nome “Mixer1”.

Spuntando Editing mode si abilità la possibilità di sovrascrivere i dati dal touch nella memoria della CPU. Questo permette di rendere effettiva l’impostazione della ricetta passando i dati ai relativi DB.

Lasciamo vuota la selezione del Tag, al momento non è necessario quanto invece lo è Editing mode.

Nell’immagine sotto la selezione da DB in postazione Mixer1.

In pratica creiamo 4 postazioni di lavoro (mixer) rinominate per numero perchè quando andiamo ad inserire i materiali sottostanti nella cartella “Elements” nelle specifiche, diamo un nome al materiale, successivamente scriviamo come deve apparire scritto sul pannello touch e infine dobbiamo ricollegare il materiale, come in esempio l’acqua addolcita, cliccando i 3 puntini, ricercando la DB del mixer che si sta creando ed infine selezionarla: bisogna fare questo procedimento su tutti e 4 le postazioni selezionando ovviamente i DB dei rispettivi mixer su tutti i materiali inseriti negli elementi. Dopo aver effettuato questo passo bisogna passare nella cartella di fianco, Data records, dove da li si crea una voce, come nell’immagine, lo rinominiamo sia sul PLC che sul pannello touch e, se lo richiede l’operatore, si possono già inserire dei dati preimpostati degli elementi quando si va a compilare e caricare il programma su PLC ma per apparire il dato su PLC bisogna mandarlo dal pannello touch o lo si imposta direttamente su TIA Portal quando si è online.

Screenshoot selezione Tag da DBmixer1 a ricetta

Vediamo l’impostazione di una ricetta analoga da una postazione Mixer diversa ovvero Mixer 2.

Screenshoot selezione Tag da DBmixer2 a ricetta

Scarica dal link sottostante la versione con le ricette funzionanti impostabili dalle postazioni HMI poste in uso ad ogni mixer.

Chemical_con ricette_attive_Donnarumma

scarica documentazione ufficiale con spiegazione per creare e manipolare le ricette in ambiente TIA Portal -> manuale ricette

 


Array indicizzati

Esercizio di indicizzazione di un  array. Si genera la matrice di passo di un motore stepper usando una tabella indicizzata.


Documentazione tecnica utile.


Generatore PWM per CPU 313C

Nelle proprietà hardware della CPU bisogna abilitare le proprietà di “Conteggio” come mostrato nell’immagine. Ovviamente queste impostazioni sono accessibili solo dopo avere abilitato nella CPU le funzioni integrate di sistema. Analogamente, si otterrà un funzionamento hardware solo dopo avere evocato dalla libreria la funzione integrata software. Nel caso di questa CPU e questa versione di Step 7 si tratta dell’SFB 49.

Come ogni FB troverò appoggio sul proprio DB di istanza che ci cureremo di nominare con lo stesso numero allo scopo di una agevole identificazione quando si troverà nel mezzo degli altri DB nel Simatic Manager.

cpu_1

Per ottenere una forma d’onda corretta, che si aggiri almeno sui 2KHz, impostiamo i campi come mostrato sotto.  E’ possibile eseguire il preset tramite costanti oppure passando variabili da programma oppure tramite segnali provenienti dai canali analogici.

cpu_2

cpu_3

Nel DB globale inseriamo le variabili di controllo esterne al blocco funzionale, ad esempio la marcia e arresto dell’eventuale motore.

DB1

Nel DB di istanza (numerato come il funzionale di appartenenza) mettiamo le variabili di input e output del blocco di sistema.  Nella normale modalità operativa i DB di istanza vengono creati automaticamente quando si configura il blocco funzione integrata di sistema. (come in questo caso la creazione avviene quando scriviamo il nome del DB in testa al blocco FB nel segmento KOP).

DB49

pulse

Scarica -> FC1

Imposta la VAT per eseguire un test controllando le variabili.

vat

Nell’interfaccia HMI impostiamo questa semplice grafica:

WINCC_INTERFACCIA

Il pannello operatore utilizzato in questo esempio è un TP170A. L’interfaccia opera in queste variabili impostate in WinCC:

WINCC_VARIABILI

Si consiglia di collegare un oscilloscopio all’uscita digitale A124.0 del PLC per osservare l’azione di controllo del Duty Cycle.

Collegare un mosfet di potenza, con il gate connesso ad un partitore di tensione che eviti il superamento di 4V a partire dai 24 di uscita. E’ bene proteggere dagli spike il gate, il linea di massima con uno Zener (ad esempio da 3v3) o meglio con un transil.

Il Drain del Mosfet potrà essere collegato a un motore DC anche di discrete dimensioni la sui alimentazione di potenza non deve ovviamente provenire dall’alimentatore del PLC. Ad esempio un 36VDc, 5A. Le masse del PLC e dell’interfaccia di potenza, per questa prova, dovranno essere in comune.

Il programma completo è scaricabile ad inizio dei questo esercizio.


Corso avanzato: Attivazione misuratore di frequenza PLC314IFM

Vogliamo risolvere il problema del controllo della velocità, ad esempio di un nastro trasportatore al cui asse è abbinato un disco con n fori. Tale esercizio è ben esposto sul testo di programmazione avanzata dei PLC.

Potremmo realizzare il sistema con un motore DC per asservimenti o un MAT al cui asse sia collegato anche un disco forato che generi un treno di impulsi, oppure munito di un magnete o elemento metallico il cui passaggio sia rilevabile da proximity.  In alternativa il sistema potrà essere mosso da un motore stepper.

 Per lo svolgimento sarà necessario abilitare la funzione FC40 “IEC Time to S5TI”  e successivamente il funzionale integrato di sistema SFB30 che realizza la misurazione della frequenza appoggiandosi al DB di istanza DB62.

Il segnale a cui perviene la frequenza sarà E126.0 “proximity”, a cui la CPU abbina il canale hardware del misuratore di frequenza.

Si generano delle rampe, tramite dei Timer di tipo ritardato all’eccitazione “SA”, la cui durata indica la distanza tra due letture del sensore, da cui ricaviamo la velocità.

Ovviamente è fondamentale la trasformazione tra velocità angolare “omega” e la velocità tangenziale che costituisce la velocità effettiva del materiale posto sul nastro.

 Vedi il blocco di programma FC1

Per abilitare le funzioni integrate di sistema bisogna eseguire dei preset nella configurazione dell’hardware.

frequenzimetro sfb30

Hardware1

Hardware2

progetto_frequenzimetro

tabella_simboli

SFB30

DB62_istanza


Esercizio di programmazione avanzata dei PLC S7-300 CPU 314 IFM e HMI

In questo esercizio si vuole controllare e mantenere costante la velocità di un nastro trasportatore usando le funzioni integrate di sistema Frequenzimentro, Pulsgen e PID di una CPU 314IF. Il pannello operatore impiegato è il TP170A. il software è stato testato. La meccanica è esposta nel testo “Advanced PLC programming

Scarica il progetto e disarchivialo in Step7 V5.5 ->Progetto_velocita_nastro

Elenco funzioni integrate di sistema, visualizzate nel simatic manager:

manager_nastro_speed

  • SFB30 -> misuratore di frequenza (ci sono 5 impulsi al giro su un proximity), il DB di istanza è DB62.
  • SFB43 -> PID, il DB di istanza è DB43.
  • SFB49 ->  Uscita PWM il DB di istanza è DB49.

Sfondo per il pannello HMI modello TP170A

nastro


Inviare una Mail di notifica dal PLC S7-1200.

I PLC di nuova generazione, che si programmano con TIA Portal, oggi giunto alla versione V14, sono facilmente parametrizzatili per inviare e-mail subordinate a eventi di bordo macchina, interrupt o situazioni varie ad esempio di comunicazione o diagnostica. Il comando da configurare è il TM_MAIL

TM_Mail

Per un corretto funzionamento è necessario:

  1. disporre di un account su un webserver di cui conosciamo l’IP (in esadecimale)
  2. Avere un indirizzo mail a cui spedire.
  3. Definire il protocollo SMTP.
  4. Definire, nelle proprietà della CPU, l’IP del router affinché possa uscire dalla LAN.

L’indirizzo IP del server di posta viene inserito obbligatoriamente in formato esadecimale, ad esempio DW#16#D5CD210D, come vediamo nel DB di istanza della funzione TM_Mail.

TM_Mail_DB_istanza

Avvertenza

  • Attivare il router nella CPU e impostare l’indirizzo IP corretto del router. Altrimenti la CPU non raggiunge l’indirizzo pubblico IP del server e-mail.
  • TMAIL_C può comunicare con un server e-mail mediante SMTP su porta 25. Il numero di porta assegnato non può essere modificato.

Nelle reti aziendali, che consentono l’accesso Internet solo tramite proxy e di norma bloccano tutte le altre porte, inclusa la porta 25, TMAIL_C non funziona con server e-mail esterni. Deve essere possibile comunicare verso l’esterno tramite la porta TCP 25.
Tramite SMTP è possibile stabilire una connessione con un server e-mail interno e far gestire al server interno le attuali estensioni di sicurezza, necessarie per inoltrare e-mail tramite Internet ad un server e-mail esterno.

Scarica una bozza del programma che spedisce mail -> mail


Basi di SCL:  Bozza del programma semaforo.

Il programma qui proposto genera una rampa di durata impostatile da touch screen. Sono impiegati due comparatori, il primo riavvia la rampa creando una forma d’onda a dente di sega mentre il secondo la intercetta al centro generando un’onda quadra su un’uscita digitale.  Viene lasciato come esercizio al lettore l’implementazione completa del ciclo semaforico che possa anche distinguere funzione notturna e diurna.

Scarica l’immagine da usare come sfondo del pannello KTP400 Basic.

cross-ita

Scarica la bozza del programma sviluppato in linguaggio SCL -> Semaforo_2_Vie


Cancello a doppia anta battente 

Programma di controllo di un cancello a doppia anta, sviluppato per CPU 1212C AC/DC/Rly su piattaforma TIA V14.

Scarica il programma completo -> Doppia anta_3


Scarica sfondo cancello scorrevole

L’immagine è dimensionata per KTP400 basic color, ed è molto utile per l’esercizo nel libro di testo Let’s program a PLC, cancello scorrevole.

Cancello

Aggiungi il pulsante di apertura, una pilot light lampeggiante per la fase di movimento e il preavviso di 3 secondi, lo stato dei finecorsa che indicano se l’anta è aperta o chiusa.

Cancello aperto

Scarica il progetto ApriChiudiCancelloTemporizzato_1_20180701_1853 archiviato per TIA V14, CPU 1212C AC/DC/RLY  V31 , KTP400 basic color


Manuali e documentazione.

  1. CPU 314IFM e 312IFM ->CPU314IFM_Manuale
  2. Siemens_Simatic_S7-1500_PLC_UVBAW6_v1_0
  3. Bilance Laumas celle di carico Ethernet e RS485
  4. Azionamento brushless trifase 1S servo drive 1S – Datasheet EN – I188E-EN-01B
  5. Basi azionamenti uscita a impulsi  PTO_s71200_motion_control_function_manual
  6. S5Win basic concept S5_for_Windows_STEP5_Basics

 


Tutorial

  1. Collegamento Monitouch Hakko ai PLC 1200 ->Hakko monitouch to S7-1200
  2. programma S71200, monitouch Hakko, rampe inverter->Test_Rampe_Hakko
  3. Come implementare delle Ricette su PLC 1200->Guida_Ricette