Vai al contenuto
PLC Forum


Come Programmare Un Trasduttore Analogico Con S7-200


gia46nni

Messaggi consigliati

Ciao a tutti,

qualche settimana fa avevo chiesto già il vs aiuto per effettuare la programmazione di un trasduttore di pressione con uscita analogica a 4 fili, però ancora non sono riuscito, viste le mie modestissime conoscenze nel campo.

Avrei bisogno di un esempio pratico di programmazione, mi spiego meglio:

L'intero ciclo di movimentazione del recipiente da misurare,quindi dal prelevamento al posizionamento sotto a dei tamponi di riempimento, l'ho già scritto in KOP e provato ed è perfettamente funzionante.

A questo punto, mi trovo con il recipiente in posizione sotto i tamponi, riempito a 6 bar e chiuso da apposita elettrovalvola. Adesso devo misurare attraverso il mio trasduttore di pressione una eventuale perdita e nel caso ci fosse generare un'allarme.

Questa ultima parte, pur provando diverse volte a scriverla nel mio plc s7-200 non è corretta, evidentemente sbaglio qualcosa che la mia poca esperienza non mi fa notare, potreste aiutarmi per favore, anche indicandomi esempi di applicazioni simili da dove poter trovare spunto di riflessione o analogie tecniche da poter sfruttare per risolvere il mio problema.

Grazie a tutti

Link al commento
Condividi su altri siti


A meno che tu non sia tanto fortunato da trovare qualcuno su questo forum che non abbia nulla da fare e si mette a scriverti l'esempio, è difficile che una simile richiesta sia evasa.

Più che altro dovresti prima di tutto capire se riesci a rilevare la pressione ed avere un numero, nel programma, che corrisponda a questa, quindi:

- analisi del tipo di trasduttore;

- analisi dei collegamenti;

- analisi della conversione dal canale analogico ad un valore numerico da usare nel programma.

Fin qui, ci siamo? Si? No? Dove sono i problemi?

Fatto questo dovrai molto più semplicemente:

- calcolare e controllare la derivata della pressione.

- generare un allarme se la derivata sale/scede oltre un valore di soglia regolabile.

- generare un allarme se, in valore assoluto, la pressione varia entro delle soglie, (+ x%; - y%).

Renditi conto che, per la richiesta che hai fatto, equivale a dire: fatemi il programma.

Link al commento
Condividi su altri siti

Mi sembra, se ho capito bene il tuo problema, che tu possa risolvere tutto con un semplice confronto della word d'ingresso (per es. l'ingresso analogico di indirizzo 4) dell'analogica del trasduttore con una word ( per es. la merker word 10) in cui appoggi il valore minore del quale si genera l'allarme ed attiva l'uscita (per es. A0.0):

LDW< AEW4, MW10

= A0.0.

Ovviamente mancano tutti i filtri relativi, per es., al tempo entro cui la soglia di pressione è minore di quella accettata, le condizioni per cui è abilitato il confronto, etc. etc. ma quello si può fare solo se si conosce l'impianto da verificare e tutte le specifiche del caso; il mio è un'esempio semplice da coronare con tutto ciò che può essere necessario.

Modificato: da busanela
Link al commento
Condividi su altri siti

Salve,

mi ricordo di averti suggerito, probabilmente anche in modo sommario, la possibile via da percorrere per generare un bit di allarme per effetto della diminuzione della pressione all'interno della campana.

Questa ultima parte, pur provando diverse volte a scriverla nel mio plc s7-200 non è corretta

Se puoi specificare meglio i problemi che incontri con degli esempi o magari inserendo immagini o pezzi del codice programma incriminato, questa sarebbe la cosa migliore che potresti fare. In questo modo riceveresti da parte degli utenti di questo forum, indicazioni precise su come risolvere il problema.

Sicuramente dovresti verificare,confermare, specificare a mio avviso alcune cose del tipo:

1) Caratteristiche tecniche del tuo trasduttore es.: 0-6bar = 0-20ma oppure 4-20ma oppure 0-10V.

2) Nel programma riesci a leggere correttamente l'ingresso analogico?? Il valore degli ingressi analogici in S7-200, viene rappresentato numericamente in un range di valori che va da 0 a 32000 corrispondenti a 0-20ma, oppure 4-20ma, oppure 0-10V; questo dipende appunto dalle caratteristiche al punto 1 del tuo trasduttore.

3)L'indirizzo assegnato all'ingresso analogico che usi nel programma è quello esatto?? Il canale analogico utilizzato è quello a bordo della CPU (se eventualmente presente), oppure usi dei moduli analogici di espansione??

4) Se il canale analogico indirizzato e letto nel programma, restituisce un valore pertinente alla pressione misurata, allora si tratta di prendere la giusta istruzione che esegue la comparazione sul minore tra una costante numerica che rappresenta la tua soglia di allarme, ed il valore del segnale analogico letto.

Come risultato della comparazione mettere quindi un bit di indirizzo a te congeniale che rappresenta la presenza di allarme di min. pressione.

Questa diciamo che è la via più rapida per vedere se tutto fila liscio.

Poi se vuoi avere specialmente nelle fasi di test, un'idea immediata del valore della pressione espressa in bar (anche a fronte di future visualizzazioni su HMI), varrebbe la pena di passare attraverso una scalatura dell'ingresso analogico.

In questo modo il valore letto dall'ingresso analogico, risulta di facile comprensione, senza dover fare dei passaggi mentali per ricondurre il valore letto es. 17584 al valore di pressione di xxbar.

Siemens rilascia gia ad uso gratuito alcune funzioni di biblioteca per S7-200 che ti permettono di fare questo.

Allego link web da dove poterle scaricare:

http://support.automation.siemens.com/IT/a...;ehbid=27043396

Riassumendo, sarebbe il caso che tu indicassi come detto all'inizio, il punto o i punti in cui incontri le tue difficoltà.

Modificato: da cagliostro
Link al commento
Condividi su altri siti

Intanto, grazie a tutti.

Mubeta capisco benissimo che nessuno ha tempo di mettersi a scrivere un programma, o parte di esso solo per fare una cortesia a me, speravo ci fosse reperibile in rete qualcosa di simile per fare un confronto.

Cagliostro, grazie ancora, ricordi bene miavevi già dato delle dritte per questo problema ma come vedi i miei limiti sono tanti e sono ancora fermo allo stesso punto.

Rispondo alle tue domande:

1) il trasduttore è del tipo a 4 fili uscita 4-20mA range di misura 0-8bar

2) uso un modulo d'espansione analogico

3) a me non interessa visualizzare in futuro la pressione misurata

Al momento io conosco il valore letto dall'ingresso analogico che è 22547 (mi pare di ricordare) , se a causa di una perdita il valore letto risulta essere 22223 ho bisogno di generare un allarme.

Questa è la parte che non riesco a far funzionare molto probabilmente perchè scritta erroneamente in programmazione , speravo in un esempio per scriverlo ed adattarlo alle mie esigenze.

Grazie

Link al commento
Condividi su altri siti

Al momento io conosco il valore letto dall'ingresso analogico che è 22547 (mi pare di ricordare) , se a causa di una perdita il valore letto risulta essere 22223 ho bisogno di generare un allarme.

Se ne deduce che tu leggi tranquillamente il trasduttore, vuoi solo comparare il valore letto con un valore costante; se la lettura è <= della costante generi un allarme.

Per fare la comparazione il 200 ha un'apposita istruzione, basta leggere l'elenco delle istruzioni ed eventualmente l'help in linea.

Compari il valore letto con il valore di soglia. Se la lettura è maggiore salti le righe di programma che genearano l'allarme, altrimenti le esegui.

Per generare un'allarme dipende cosa vuoi fare. Il metodo più semplice è alzare un'uscita che comanderà una lampadina, una sirena o altro.

Per eseguire questa funzione sono sufficienti 2 righe 2 scritte in ladder diagram (KOP).

Link al commento
Condividi su altri siti

Grazie ancora,

credo sia proprio quell'apposita istruzione che il 200 ha che non riesco a trovare, comunque hai centrato il mio obbiettivo e dove mi sono incastrato, proprio quelle ultime due righe........ :rolleyes:

Link al commento
Condividi su altri siti

l'immagine a seguire, illustra una semplice comparazione di un intero (in questo caso il segnale analogico AIW0=pressione da trasduttore)

sul valore di minore uguale.

La soglia di interventoi allarme è rappresentata dal valore 22223 come da te indicato.

Se il valore di pressiopne risulta uguale o minore al valore della soglia, attivo il merker M0.0.

Sia il canale analogico che il merker di allarme usano indirizzi di fantasia......

Poi sostituiscili con quelli che a te servono.

Il merker M0.0 = OFF = tutto OK (pressione nel range).

Poi tutto può essere migliorato introducendo isteresi ed allarmi temporizzati in funzione delle esigenze che hai o avrai.

immaginecbw.png

Link al commento
Condividi su altri siti

Permettetemi un'osservazione ...... il consiglio dato nel: Messaggio #8 ...... è più "visivo" ed intuitivo del messaggio #3, forse, anzi sicuramente, "dritte" sotto questa forma di "espressione" è la più apprezzata da persone (come il sottoscritto !) conoscono a malapena le istruzioni in LADDER.

A volte con semplici esempi (e ...... un pò di testardaggine !) si portano a temine anche dei discreti obbittivi.

Complimenti a tutti

Link al commento
Condividi su altri siti

Grazie ancora Cagliostro, e grazie anche a Busanela, ma Walter 64 ha detto una grande verità, chi è all'abc dei plc ha più bisogno di esempi pratici proprio perchè non prorpie determinate terminologie o esperienze tecniche, con l'esempio pratico di Cagliostro, io ho risolto il mio problema capendo esattamente dove commettevo l'errore.

Grazie, grazie a tutti,ancora una volta

Link al commento
Condividi su altri siti

  • 1 month later...
Ci sono gli esempi applicativi (intoro a 27 esempi), che aiutano tanto.

Ti riferisci alla documentazione Siemens allegata al cd di installazione di Step7 Micro o al link del sito Siemens riportato da Cagliostro (e che riporto sotto)?

http://support.automation.siemens.com/IT/a...;ehbid=27043396

So che nel cd di installazione ci sono una serie di esempi applicativi, ma non mi sono sembrati particolarmente illuminanti. Sembra che sul sito Siemens ci sia più roba, e più interessante.

Link al commento
Condividi su altri siti

  • 1 month later...

Per completezza, specifico che alla pagina del link sopra bisogna cliccare sulla FAQ "Esecuzione di operazioni", e poi accedere al secondo punto ("tips di programmazione S7-200").

Saluti.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...