Vai al contenuto
PLC Forum


Serbatoio Cilindrico Orizzontale E Sferico - FC S7-300/400 per calcolo volume


Messaggi consigliati

Inserito:

Ho sviluppato 2 funzioni per plc S7-300/400 per calcolare il volume del liquido in un serbatoio cilindrico orizzontale e in un serbatoio sferico.

Nel progetto in allegato trovate le due funzioni. Quella per il serbatoio cilindrico orizzontale l'ho già messa nel forum Plc Siemens (dove era sorta la richiesta), ma qui c'è una versione leggermente migliorata.

Le funzioni non sono protette (ci mancherebbe) e sono descritte, mi sento di affermare, in modo dettagliato.

Questo perché lo scopo non è solo quello di fornire un lavoro pronto all'uso, ma soprattutto spero possa essere d'esempio per chi non è molto abituato ad effettuare calcoli in AWL con Step 7.

Le funzioni possono essere utilizzate, modificate, ridistribuite liberamente.

Chiedo una sola cosa: non modificate il nome dell'autore. Grazie.

Clicca qui per scaricare il file


Inserita:

Non entro nel merito tecnico perche' non ho nemmeno aperto gli FC in questione per motivi di tempo, ma volevo ringraziarti per il gesto, sperando che ne seguano altri (di ringraziamenti).

Inserita:

Mi sono accorto che nella funzione calcolo volume serbatoio cilindrico orizzontale è ancora dichiarata ed inizializzata la variabile locale "PI", e poi non viene più usata. E' un residuo della precedente funzione. In questa può essere eliminata.

Inserita:

Bravo Batta ! Sembrava un calcolo difficile, ma l’hai commentato così bene che è diventato comprensibilissimo!

Mauro Dalseno
Inserita:
:) Grazie Batta, sei stato un bel esempio di quello che deve essere lo spirito di PLCforum
  • 2 weeks later...
Inserita:

Batta, personalmente non uso Siem..., nè mi serve il tipo di calcolo che hai postato, ma volevo comunque farti i complimenti per come hai approcciato i problemi e per la disponibilità a pubblicare il tuo lavoro.

Bravo ! :)

Inserita:

E' un piacere sapere che il mio lavoro è stato apprezzato :)

luiginodorigo
Inserita:

Ho scaricato il tuo file, grazie, per me è molto interessante, mi può ritornare utile

Ciao.

Inserita:

Ciao a tutti, sono un neofita della programmazione S7-300 (ho sempre programmato apparecchiature custom) e quindi sono affamato di informazioni. Ringrazio l'autore del file e spero un giorno non troppo lontano di poter fare la mia parte...

Inserita:

funzioni molto utili.....spero appena sarò in grado di dare il mio apporto.... ma ho incominciato da poco!!!

saluti

Inserita:

Ringrazio Batta sentitamente per la disponibilità e l'ottimo lavoro.

Ciao

B)

Inserita:

Ciao Batta,

sono nuovo al forum - ho aperto il tuo progetto per curiosità

Mi occupo di automotive pertanto credo che il tuo lavoro non sia utile al mio

Comunque è molto interessante ma soprattutto complimenti per lo spirito di gruppo

Grazie e buon lavoro :)

  • 4 weeks later...
Inserita:

GRAZIE BATTA

veramente per le mie piccole applicazioni uso quasi sempre l'S7200 ,

con il 300 sono un pò indietro ( perche l'ho uso poco )

comunque cercare di capire il tuo lavoro mi darà una rinfrescata .

( sempre che ci riesca ;) )

Inserita:

ottimo lavoro!!!!!!

grazie batta ciaooooooooooooo

  • 2 weeks later...
Inserita: (modificato)

Nello specifico non credo mi occorra, ma apprezzo l'opera di diffusione di informazioni ed esperienze che possono arricchire tutti.

Così dovremmo operare tutti, condividere al massimo esperienze e lavori in modo di semplificare il alvoro a tutti noi.

La crescita è nella diffusione della conoscenza ed attraverso questa possiamo miglioraci senza dover ogni volta rifare qualcosa che è già stato fatto da altri ed evitando che altri ripetano fatica e errori già fatti da noi.

Appena avrò occasione cercherò anche io di condividere quella parte dei lavori che potranno essere utili ad altri.

Auguri!

Modificato: da cibe
  • 2 weeks later...
  • 1 month later...
Inserita:

Grazie Batta, io ho unzippato il tuo file ma non sono nemmeno riuscito a capire come e con quale sw aprirlo!

Sono da pochissimo approdato in questo settore, ed il tuo biglietto da visita mi ha fatto tirare un sospiro di sollievo.

Complimenti.

imparsa

PS" ringrazio ugualmente chi volesse indicarmi come cacchio si visualizzano queste soluzioni di calcolo!!!"

Inserita:

Con STEP7 V5.3 . Però se leggi tutta la discussione Batta lo spiega.

Inserita:

Dal mio primo post puoi scaricare il file "VolSerb.zip" che contiene un progetto Step7. Ti serve quindi Step7 per aprirlo.

Nel post di Gabriele Corrieri trovi il link per scaricare il file "Volserbatoio.zip". Questo file contiene due files con estensione .awl. Sono dei sorgenti che, se compilati con Step7, generano due FC da utilizzare, ovviamente, sempre in Step7. Questi files li puoi però aprire con qualsiasi editore di testi. La sintassi è quella dei plc Siemens S7-300/400, ma puoi prendere lo spunto per sviluppare gli stessi calcoli per altri plc. Il procedimento è ampiamente commentato. Alla fine si tratta di due semplici problemi di geometria.

Inserita:

grazie Batta,

:D ora ci sono arrivato,..grazie.

Ma per me che devo fare il salto dal logo ad un st-200, risulto ancora acerbo per comprendere a pieno il tuo lavoro.

Inserita:

ciao,

anche io non utilizzo siemens ma, saperne un poco di più non fa mai male....

grazie

  • 2 weeks later...
Inserita:

:) Ciao Batta,

io programmo da pochissimo con Siemens in linguaggio ladder,non ho aperto ancora il tuo file zippato,ma desidero ringraziarti anch'io per lo spirito di gruppo dimostrato.

Sono nuovo del forum,ma spero in futuro di poter mettere a disposizione qualcosa anch'io.

Grazie ancora,

Frank

  • 4 weeks later...
Claudio Monti
Inserita:

Riprendo questa discussione interessantissima, ringraziando Batta innanzitutto.

Ho scritto la funzione su PLC Telemecanique (in ST - letterale strutturato) in quanto mastico poco e male l'AWL (soprattutto il Siemens).

Ho modificato leggermente la funzione ma il risultato e' lo stesso, inoltro ho aggiunto una variabile "Distanza" che e' la distanza dello strumento dal bordo del cilindro.

(*Calcolo del volume del serbatoio*)
(*formula usata: r*r*(2*arccos((H-r)/r)-sen(2*arccos(H-r)/r)))/2 *)
Segmento:=Altezza_letta-Raggio-Distanza;
Angolo:=2.0*(ACOS(Segmento/Raggio));
Area:=((Raggio*Raggio)/2.0)*(Angolo-(SIN(Angolo)));
Volume:=Area*Lunghezza;

In questo caso si presume che lo strumento legga il valore max col serbatoio vuoto, nel caso contrario bisogna togliere l'area calcolata dalla sezione dello stesso.

Per comodita' (e per i calcoli) occorre dichiarare tutte le variabili come REAL (virgola mobile).

Bisogna avere l'accortezza di non eseguire i calcoli quando la distanza letta e' uguale al diametro (divisione per 0).

Inserita:
Bisogna avere l'accortezza di non eseguire i calcoli quando la distanza letta e' uguale al diametro (divisione per 0).

Claudio è sufficiente inserire in testa alla funzione il test

Altezza_letta < 2*raggio

se il risultato è vero si esegue la funzione.

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...