Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

14
voti

Alcune RISPOSTE DI: Ivan_Iamoni, un kamikaze con PLC


Indice

Presentazione

Ivan_Iamoni, nickname di Ivan Iamoni ( per chi fosse interessato al significato dei nickname ;-) ), si è presentato sul forum oltre cinque anni fa ( ...beh, è automatica e la devo dire: ma come passa il tempo :| ).
Come nickname usava kamikaze, il soprannome attribuitogli agli inizi della sua carriera per segnalare l'impavido risolutore di automazioni che c'è in lui.
Non ci volle molto a riconoscerne valore, esperienza e passione per il suo lavoro. Così feci il possibile per tenerlo legato al forum. Non che avessi (come non ho tuttora) mezzi molto più convincenti della mia speranza di riuscirci. Giocai (come faccio ancora in modo più blando) con i gradi che webmaster aveva appena introdotto per segnalare l'attività dei partecipanti al forum ( simboli che hanno suscitato reazioni contrastanti, ogni tanto riproposte).

Nella sua mini biografia, Ivan dichiara di essere laureando all'Università di ElectroYou. In realtà ne è da tempo professore ordinario, con laurea acquisita a pieni voti. Su una solida base di elettrotecnica, ha saputo costruire, con un'intensa attività di assistenza tecnica per l'installazione e la manutenzione di macchine per il trattamento di resine poliuretaniche, conoscenze di pneumatica, oleodinamica, meccanica, chimica e di programmazione di PLC, portandole dentro questa Università virtuale ( ;) ). Le sue capacità decisionali hanno poi fatto di lui un perfetto moderatore globale.
Ma bando alle chiacchiere come si dice: entriamo nel vivo delle sue risposte.

Profibus

La

domanda

è quella riportata cinque anni fa nella sezione D&R con la risposta di Paolino.

L'allora kamikaze esordì nel forum con la seguente

risposta

Il PROFIBUS , e' conveniente soprattutto per 2 applicazioni. Comunicare con I/O remoti su lunghe distanze , come gia' precisato nella sezione "domande e risposte" e con conseguente risparmio sui cablaggi, ma soprattutto, l'uso che ne faccio personalmente, e' di far comunicare tra loro dispositivi di diversa natura, PLC con PLC o con PC, apparecchi di misura evoluti, robot antropomorfi , inverter, schede assi e chi più ne ha più ne metta.
E' uno standard di comunicazione stabile ,semplice intuitivo e di facile configurazione.
Non dimentichiamoci la velocita' arriva fino a 12 Mb/s (mai sperimentato tale velocita') e soprattutto ho avuto recentemente modo di vedere sul campo la rete profibus Wireless: non male.

È da subito evidente il settore in cui opera, ma non tarda a precisarlo. Poco tempo dopo infatti fornisce alcuni chiarimenti per gestire

PLC, encoder, inverter

Domanda

Devo controllare con encoder incrementale un motore asincrono pilotato da inverter: cosa potrei usare? (come PLC in ditta si vorrebbe usare Cubloc)

Risposta

Ti consiglio le unità che conosco:

  • Siemens FM350-1 ed FM350-2 , unita' di conteggio veloce per impulsi rispettivamente ad uno e due canali, controllo direzione e conteggio infinito.
  • Siemens FM351 unita' di posizionamento veloce/lento con encoder incrementali o assoluti e controllo diretto del motore tramite la scheda stessa.

Le schede FM però sono utilizzabili unicamente in abbinamento ad una CPU Siemens modello 300 (poi anch'essa disponibile in varie versioni).
Aggiungo che se devi pilotare l'inverter avrai bisogno anche di una comunicazione con l'inverter. Quindi dovrai prevedere un'uscita analogica, un comando digitale o una trasmissione dati , scegli tu, pero' la cosa diventera' un pochino onerosa e complessa, valuta bene il fattore costi.
Non conosco il PLC CUBLOC, ma per mia personale curiosita' ho dato un'occhiata al sito.
Prodotto interessante, devo essere sincero ma devo approfondire.
Anche con il modello CUBLOC CuSB-22D, scheda integrata di controllo Industriale (24V) quello che chiedi sembra fattibile.
La scheda ha due high counters che credo siano ingressi "veloci" che userai come ingressi per il canale A e B dell'encoder ma devi valutare 2 cose importanti.

  1. La tensione di questi ingressi deve essere compatibile con la tensione d'alimentazione ed in uscita dal tuo encoder.
  2. La frequenza max supportata da queste due high counters non deve superare la frequenza che generera' il tuo encoder in rotazione F=(Impulsi-giro) x Nr Giri max encoder.

Per il controllo dell'inverter userai degli I/O digitali, ne hai a sufficienza, per una gestione basilare del dispositivo e il controllo digitale ti garantisce la compatibilita' con il 100% degli inverter sul mercato. Chiaro dunque da subito quale fosse l'attività ed il ivello di competenza professionale del kamikaze-Ivan. Dalle informazioni generali della precedente risposta si passa rapidamente ad informazioni specifiche, come nella risposta alla seguente

domanda

Come posso fare con un PLC Siemens, a fare sì che i segnali provenienti da un encoder incrementale, vengano memorizzati nel momento in cui determinati sensori, si trovano nel punto desiderato? Il Plc è u siemens S7-200 CPU 226..

risposta

Acquisire "al volo" un valore di conteggio dell'encoder quando si attiva l'ingresso di un finecorsa.
Cominciamo......
Supponiamo che la tua macchina +(PLC) gia' legga i valori di conteggio, quindi ci sia gia' correttamente configurato ed abilitato un contatore veloce HSC.... la sua routine di interrupt. ecc.: sei gia' a buon punto.
A questo punto se hai solo bisogno di "catturare" tramite un segnale in ingresso il valore istantaneo devi usare una nuova routine di interrupt.
Prima cosa collega il tuo finecorsa all'ingresso I0.0
Poi nella SBR0 (sub. di inizializzazione) aggiungi questo network

LD     SM0.0 // bit Always ON
ATCH   INT_70, 0 //scatena evento 70 su fronte salita E0.0 (evento nr.0)

Ora devi creare un sottoprogramma di interrupt che si chiama INT70
Questo sottoprogramma, si attivera' se l'evento 0 e' vero indipendentemente dallo stato di esecuzione del programma (massima precisione di lettura posizione).
Nel nuovo INT70 inserisci questo nuovo network:

LD SM0.0 // bit Always ON
MOVD   HC1, VD1000 //trasferisci valore reale istantaneo di HC1 

Ho usato come esempio HC1 , cioe' il primo contatore della serie, tu ovviamente userai il tuo reale contatore ai cui ingressi e' collegato l'encoder.
Il valore letto "al volo" viene trasferito come doppia parola nella area di memoria da V1000 a V1003 compresa (risoluzione a 32bit) ed e' un numero intero con segno.
Poi fanne cio' che vuoi........

Il piacere di contribuire a realizzare automazioni si manifesta progressivamente nel forum in modo sempre più articolato, come dimostra la risposta (che può essere considerata un nucleo del progetto) alla seguente

domanda

Sto lavorando su un impianto di movimentazione di portoni di un hangar, realizzato mediante PLC S7 200 e da un touch panel Siemens OP177B. Devo far visualizzare il movimento dell'anta sul touch panel e ho alcuni problemi a realizzarlo. L'idea è quella di far partire un generatore di impulsi quando il portone inizia a muoversi, e contarli con un contatore di conteggio UP/DOWN, quando poi viene impegnato un finecorsa la variabile dal contatore vorrei che venisse impostata ad un valore prefissato (così da evitare che la visualizzazione possa diventare erronea a lungo andare. Ho tre finecorsa posizionati a distanze diverse su cui si può fermare il portone, non posso usare il reset.


Risposta

Non sai come realizzare un contatore UP/DOWN con preset , o non sai come visualizzare oggetti in movimento sul pannello?
Per il contatore, se hai l'editor per S7-200 (Microwin) , vedi nell'help .....e' ben spiegato con esempi , usa CTUD come argomento di ricerca.
Comunque rimango scettico sul metodo di "stima" della posizione , a parere mio , poco realistico, e di poca utilita'.
Quel genere di porte si muovono molto lentamente e la loro velocita' non e' mai costante, dipende se fa' caldo o freddo, se c'e' vento o meno, se qualcosa ostacola la corsa delle ruote nei binari, troppe troppe variabili, rischi che il tuo portone sia chiuso e tu lo visualizzi ancora semi-aperto.
Quindi se accetti un suggerimento, senza scomodare strane schede di controllo , ma semplicemente con un proximitye un'ingresso veloce gia' presente on-board nel PLC, ma anche senza ingrasso veloce , puoi fare il track della posizione.
In genere quel tipo di porta (parliamo di angar per aerei di linea), ha un gruppo mobile motore (a volte a scoppio) che e' motato sull'anta e azionando una ruota gommata si muove con essa , poi una serie di ruore folli , sostengono la porta. Prendi una di quelle ruote e sull'asse gli monti una ruota dentata , con il proximity conti i denti , una piccola conversione nel PLC Et Voila', controlli la posizione con precisione quasi assoluta e ti calcoli anche la velocita'....
Per la visulaizzazione puoi usare come oggetto una "barra", associata ad una variabile, ti visualizza il riampimento della barra da zero al suo valore massimo.
Sfruttando quei finecorsa avrai un'aprrossimazione minore di quello che prevedevo. Il valore del contatore puo' essere aggiornato, ma solo il valore di confronto; al contario il valore di conteggio puo' essere solo azzerato, quindi invece di usare il contatore standard, ne creiamo uno che fa al tuo caso con poche semplici righe di codice. Et voila': Nel primo segmento sul fronte di salita di uno dei finecorsa di posizione, durante la marcia del motore avanti o indietro , aggiorno il valore della word che uso per contare i secondi di apertura o chiusura.
In questo caso ho previsto che esistono 3 finecorsa, tutto aperto, tutto chiuso, meta' corsa.
Che esistono 2 ingressi provenienti dai teleruttori avanti+indietro del motore di manovra, per sapere se diminuire o aumentare il conteggio.

Network 1 // Aggiorna il valore del contatore in funzione della posizione
// I0.0 = Marcia avanti motore
// I0.1 = Marcia indietro motore
// I0.3 = Finecorsa posizione 1 (carica valore 0) portone aperto
// I0.4 = Finecorsa posizione 2 (carica valore 2000) portone a meta' corsa
// I0.5 = Finecorsa posizione 3 (carica valore 3000) portone chiuso
// VW100 = Word di appoggio valore di conteggio
LD     I0.0
O      I0.1
LPS
A      I0.3
EU
MOVW   0, VW100
LRD
A      I0.3
EU
MOVW   2000, VW100
LPP
A      I0.4
EU
MOVW   3000, VW100


Nel secondo segmento con un'operazione di somma ogni 1 secondo (special merker SM0.5) sommo 1 alla word100 se ho attivo il teleruttore di chiusura , oppure se e' attivo il teleruttore di apertura sottrago 1. Per maggior sicurezza al termine di ogni operazione , verifico il limite del valore minimo (che ho supposto zero)e massimo (che ho supposto 4000), se per qualche motivo i valori superano il range vengono riportati all'interno del range automaticamente.

Network 2 // Aggiorna il valore della word mentre il portone apre o chiude
//I0.0 = Marcia avanti motore
//I0.1 = Marcia indietro motore
//I0.3 = Finecorsa posizione 1 (carica valore 0) portone aperto
//I0.4 = Finecorsa posizione 2 (carica valore 2000) portone a meta' corsa
//I0.5 = Finecorsa posizione 3 (carica valore 3000) portone chiuso
//VW100 = Word di appoggio valore di conteggio
LD     SM0.5
LPS
A      I0.0
EU
+I     1, VW100
AENO
AW>=   VW1000, 4000
MOVW   4000, VW100
LPP
A      I0.0
EU
-I     1, VW100
AENO
AW<=   VW1000, 0
MOVW   0, VW100

Il codice ti sembrera' alquanto strano, ma e' scritto in LAD e poi tradotto in AWL per poterlo postare nel messaggio. Lo puoi convertire in LAD in qualsiasi momento. P.S. Che modello di CPU e'....e' importante saperlo perche alcune non accettano tutti i set di comandi. L'esempio che ho creato va' bene per CPU S7-200 dalla 221 in su'

Sto scorrendo le risposte di Ivan a partire dal suo esordio in ElectroYou (Electroportal a quei tempi), e mi accorgo che ce ne sono poche da saltare. Ovviamente non sono in grado di riprodurre ciò che costituisce la peculiarità del forum: messaggi che si susseguono e da leggere in sequenza per capire il senso e l'utilità delle risposte.

Ma lo scopo di questa rubrica non è tanto o comunque non è solo quello di mostrare risposte che hanno un alto grado di autonomia, quanto piuttosto di invogliare come detto negli articoli precedenti, a navigare tra le risposte dell'autore per conoscerlo meglio.

Tanto per non lasciarmi sfuggire qualche frase fatta "molta acqua è passata sotto i ponti" dopo quelle risposte, prima di Electroportal poi di ElectroYou. Ivan vi ha continuato la sua presenza attiva da ogni angolo del pianeta devo dire. Ha nel frattempo dato vita al suo blog, Eppure ieri funzionava, animandolo con articoli interessanti e dettagliati, ma, la cosa ancora più bella, nel frattempo ha dato vita (con l'aiuto della moglie però) ad un meraviglioso bambino.
Faccio dunque un rapido salto alle risposte più recenti che mostrano, oltre alla conoscenza dei materiali, la metodologia efficace per dare l'attacco (sempre kamikaze è) corretto ai problemi di automazione.
La prima risposta è relativa ad una richiesta generica dei criteri di scelta di un materiale platico per la realizzazione di un

Profilato in plastica

Confesso che non è facilissimo capire cosa tu voglia realizzare.
Ti posso solo dire che i "profili" sono realizzati con due metodologie, discontinuo e continuo.
Il discontinuo, è lo stesso che tu menzionavi prima, delle presse con iniezione in stampo, permette di ottenere particolari anche di dimensioni molto più grandi di quanto ti possa aspettare.
Continuo, usa lo stesso tipo di inettore ma alla sua uscita vi è un estrusore che da la "sagoma", poi via via vi sono in linea dei processi di raffreddmento e calandratura in funzione dei tipi di profilo, ne più ne meno della produzione dei profili in alluminio.

Se deve essere poco flessibile " a naso" suggerirei del polisitirene. Per la forma dipende, ma non è una caratteristica fondamentale per la scelta della materia prima. Per fori e tagli si deve stabilire se averli in origine, ossia a fine stampaggio o se devono essere applicati successivamente. Se li deve possedere già in origine, la soluzione più pratica è l'iniezione in stampo, altrimenti la cosa diventa alquanto complicata.

Per la resistenza meccanica, dipende se si tratta di una lastra, di una barra, quanto lunga, e quanto sarà il peso che deve sorreggere e come lo dovrà sorreggere, al centroalla sua estremità.....
La scelta di una materia prima, non è determianata solo dalle caratteristiche dimensionali.
Lo è solo se vengono estremizzate, in termini di volumi verso l'eccessivamente grande e l'infinatamente piccolo.
Le caratteristiche fondamentali sono.

  • Campo di applicazione:Alimentare, chimico, domestico, automobilistico, navale, aereospaziale, militare.........
  • Temperatura di esercizio minma e massima, per esempio lo stirene che ti ho proposto decompone a solo 270°C.
  • Resistenza agli agenti chimici ed atmosferici.

Ecc. Ecc...

La seconda è su come si deve affrontare un problema di

Robotica

domanda

Sono uno studente di ingegneria dell'automazione ,non sono molto esperto di robot e di plc, devo interfacciare un robot COMAU smart 5 con un plc di siemens 300. Il robot che sta in un'azienda dove sto facendo tirocinio, deve scaricare e caricare e deve spostare da un tavolo in un altro tavolo. Quindi devo programmare il robot eed interfacciarlo con il plc per comandare manulmente. Con un pulsante di stop devo fermare il robot che deve tornare al suo posto di riposo , e poi devo accendere anche qualche luce quando il robot è il movimento...

risposta

Cominciamo con il livello HW della comunicazione, questo è quanto ti serve dal punto di vista della connessione Profibus:

In questo modo, crei una connessione Profibus tra CPU e robot controller. In seguito, userai un protocollo DP ( Periferia decentrata), che fà sì che i due dipsositivi vedano l'un l'altro come fossero dei blocchi I/O, dove tu scrivi valori sulle uscite CPU per trasmetter dati a Comau, che verrano da lui visti come ingressi e viceversa, per comunicare con la CPU.
Il prossimo passo sarà la configurazione HW della CPU e la stesura del programma PLC.
Personalmente trovo la tua descrizione ghasem al post precedente piuttosto confusa e superficiale.
Ora perdonami se posso sembrarti ostile e severo, ma mal sopporto chi fa le cose con superficialità solo perché è tirocinante, senza la dovizia di chi invece lo fa perché vuole raggiungere un obbiettivo preciso. Questa tua frase per esempio "poi devo accendere anche qualche luce quando il robot è in movimento, e in funzionamento, cosi si illumina il robot si vede bene il suo funzionamento," è la ciliegina sulla torta.
Devi, per cominciare, definire bene come è fatta la tua applicazione. Se non inizi con le idee chiare, non finirai mai la tua realizzazione. Nel caso ci riuscissi, ti ci vorrà più tempo ancora a capire percéè funziona o a rifarne una identica.
Sei partito dal problema minore, ossia come fare comunicare un controller robot ed un PLC, ma manca ancora tutta la parte iniziale: come è composta la cella?
Questo "schizzo" è solo per farti un esempio di isola robotizzata o "cella" come io sono solito dire.

Come vedi, è molto generico, mancano i circuiti di protezione, le barriere, le emergenze e molti comandi importanti, ma in linea di massima è un punto di principio.
Corrisponde a tutto questo la tua applicazione?
Se sì o quasi, completa tu i dispositivi a campo, che devi inserire, e come secondo passo, decidi a quale dispositivo verranno collegati i vari sensori.
Devi redigere una tabella di occupazione degli ingressi uscite sia del robot che del PLC, meglio se crei una tabella in cui vi siano sia la rappresentazione funzionale che "simbolica" che torna utile nella stesura dei programmi.
Quando avrai stabilito chi controlla "che cosa" , dovrai decidere chi fà "che cosa" ossia un ciclogramma di funzionamento della cella, le varie fasi di lavorazione, le condizioni utili allo svolgimento del ciclo automatico.
Solo dopo avere affrontato queste problematiche, puoi capire di che tipo e di che quantità di dati devono essere trasferiti dal PLC al robot e viceversa, quindi passare alla stesura del progetto PLC cominciando dalla configurazione HW.

Mi piace a questo punto mettere in risalto le doti di disegnatore con FidocadJ di Ivan: quando ho visto la sua isola robotica sono rimasto a bocca aperta insieme a mubeta ;).

Tale abilità la possiamo poi vedere in quest'altro argomento


Finecorsa a scatto rapido

La domanda, ovvio, è cosa sono e come funzionano. La risposta di Ivan la seguente.

Giusto per chiarire cosa distingue un finecorsa a scatto rapido meglio chiamato "snap swithc". Schematicamente non vi è nessuna differenza sostanziale, mentre al contrario è costruttivamente molto particolare. Al suo interno, la slitta contatti è vincolata ad una molla antagonista speciale, detta a "ginocchiera", una speciale molla che ha due punti di equilibrio speculari tra loro, soggetta ad una forza di compressione, questa molla raggiunge un punto critico, dopo di che passa al punto di equilibrio successivo, con estrema velocità, rilasciando improvvisamente tutta la forza che gli è stata applicata per comprimerla. In sostanza un finecorsa di tipo Snap è fatto così:

Come si vede vi sono due fasi distinte durante la compressione, una in cui viene raggiunto il cosiddetto punto critico (nr.2) mentre i contatti elettrici si trovano ancora nella posizione originale. Superato tale punto, i contatti elettrici si spostano ad una velocità data dalla deformazione della molla verso il suo secondo punto di equilibrio. Tale velocità è costante ed è indipendente dalla velocità di compressione del cursore.

Conclusione

Belli quei disegni con FidocadJ, vero?
E' per tale motivo che voglio concludere questo nuovo articolo della collana Alcune Risposte di:..., riportando il disegno del microcontrollore preparato rapidamente da Ivan al tempo delle icone del Forum ;-).
Perché, vorrei sottolineare, che il sito vuole essere un luogo di informazione tecnica seria e precisa, cosa che non non è disgiunta dall'allegria di un gioco piacevole: anzi è dai giochi belli che nascono le cose più serie che riempiono la nostra vita e che ci fanno trovare la possibilità di darle un senso.
Non dimentichiamolo!

Appendice

Anteprima del diploma di Laurea ;-)

12

Commenti e note

Inserisci un commento

di ,

Ivan è veramente un tipo professionalmente tosto e, a livello umano, veramente una brava e piacevole persona. Un meritato applauso per i suoi interventi e congratulazioni per la laurea di EY.

Rispondi

di ,

CLAP CLAP CLAP per Ivan: oltre alla disponibilita`, conoscenza tecnica, fare quei disegni non e` da tutti. Mi ero perso anch'io lo scatto rapido: roba da professionisti, in confronto non so neanche far partire il programma!

Rispondi

di ,

L'articolo è bellissimo come del resto tutti gli altri. Mi hanno colpito molto i disegni con FidoCad. Avevo già visto quello del robot, poi mi sono soffermato su quello dell'integrato da 8 pin.. WOW!! Colgo quindi l'occasione per fare i complimenti, tanto per questo come per le ottime risposte, anche a Zeno per la bellissima collana.. Sarebbe da stampare :) ¡Enhorabuena!

Rispondi

di ,

Grazie a tutti quanti hanno lasciato un commento e quanti lo faranno. Mi rendete molto felice per questa vostra approvazione. In così tanti anni di partecipazione, ho imparto da voi molte più cose di quante sono stato in grado di elargire, ma a parte questo, ho ottenuto una schiera di amici in ogni angolo di Italia e non solo. Admin, la laurea è bellissima, appena posso la stampo, la incornicio e la metto tra i miei "diplomi".

Rispondi

di ,

Bellissima presentazione di admin degli eccellenti contributi al forum/portale del Neolaureato IvanIamoni in arte Kamikaze,al quale faccio i miei Auguri per la sua Laurea con Lode in Automazione e Moderazione Globale, Complimenti Ivan continua così.... ;-) mir

Rispondi

di ,

Hai ragione Ivan. La Laurea deve ancora esserti spedita. Mi sono informato: la segreteria purtroppo non ha ancora trovato il tempo di inviartela. Gli applicati sono tutti in sciopero da anni, (devo dire che hanno ragione perché sottopagati, se così si può dire) tanto che mi ero dimenticato dell'esistenza dell'ufficio. Mi scuso ed inserisco nell'articolo, in appendice, un'anteprima ;-).

Rispondi

di ,

Chapeau! Riuscire a integrare il testo con disegni così chiari e belli è veramente notevole: complimenti Ivan! :-)

Rispondi

di ,

Avevo già visto dei bei disegni di Ivan, fatti con FidoCadJ; ma i finecorsa me li ero perso. Questo dimostra che per quanto semplice, è un bello strumento quand'è nelle mani di uno che ci sa fare. Evviva Ivan!

Rispondi

di ,

Ivan, sono particolarmente felice di questo articolo: l'ha scritto admin e parla di un mio caro amico! Grazie per i tuoi preziosi contributi! Si impara sempre moltissimo! Ciao. Paolo.

Rispondi

di ,

Grazie Zeno, sono felice e orgoglioso di appartenere a questa bella comunità. P.S. Aspetto con ansia che tu mi invii il diploma di laurea :)

Rispondi

di ,

La mia stima per Ivan, almeno a lui è nota da tempo, ancora complimenti a Lui e a Zeno che cura questa rubrica tutta speciale.

Rispondi

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.