Vai al contenuto
PLC Forum


Rotazione Ventilatori - Blocco di avviamento ventilatori in sequenza e rotazione


treemezzo

Messaggi consigliati

Ciao ragazzi, ho un problemino da risolvere,

Ho 7 ventilatori da far partire in sequenza da 1 a 7 in base ad una temperatura e uno pronto di scorta che interviene qualora uno dei 7 non parta. .... sin qui nulla di straordinario... il punto è che devo implementare il discorso della rotazione in base al numero di ore di lavoro. Mi spiego meglio:

Quando la temperatura sale fa partire prima il ventilatore 1 e in sequenza sino al settimo, in questo modo il primo ventilatore lavorerà sempre di piu' del secondo e cosi sino ad arrivare al settimo che lavorerà pochissimo.

Ora devo implementare il discorso della rotazione in base al numero di ore, ogni ventilatore dovrà sempre avere il numero di ore uguale agli altri... Questo tipo di implementazione è molto standard negli impianti di building automation (con controllori px per intenderci programmati in CFC) dove esistono dei moduli del firmware appositamente implementati per questo tipo di utilizzo, mi riferisco ad un blocco in particolare detto appunto rotational che controlla, se non ricordo male, sino a 16 uscite, gestisce lo scambio in caso di anomalia sul motore che deve essere comandato e gestisce il numero di ore di lavoro uguale per tutte le uscite.

Tornando alla mia implementazione questa cosa devo farla con un 300. Il soft è in ladder che sicuramente poco si presta a questo tipo di implementazione, ma posso farlo in SCL, anche se non conosco questo tipo di programmazione, dovrei cominciare da zero con notevole ritardo e risultati dubbi!!

La domanda è:

Esiste qualcosa di gia' implementato da scaricare dal sito siemens, io non ho trovato nulla. Mi sembra strano che non sia stato implementato un rotational, anche perchè è un'applicazione che è utile per lo scambio e conteggio di ore di funzionamento di pompe ecc ecc...

Quindi per ricapitolare il sistema controlla 8 ventilatori, uno è di scorta, in caso l'impianto non venga mai spento, ogni settimana avviene il controllo del numero di ore, viene compilata una tabella per decidere qual'è l'ordine di avviamento dal piu' basso al piu' alto.

Se viene spento l'impianto alla riaccensione si ha un nuovo controllo e poi riparte...

p.s. spero che ci sia qualcosa di implementato, in ladder non è impossibile ma è molto laborioso!!

grazie per l'aiuto....

Link al commento
Condividi su altri siti


Ciao, mi sembra proprio che non ci sia niente del genere, io se fossi in te mi preparerei un blocco in AWL, che mi genera la lista di start ma anche quella di stop in modo da fermare il motore con più ore con due o più motori in funzione.

Buon divertimento.

Link al commento
Condividi su altri siti

....aggiungerei anche "divertente"

infatti lo è...

ma in ambito building questa gestione è veramente una fesseria, e viene retribuita come tale....

con linguaggi di programmazione piu' tradizionali le cose si complicano, quindi se c'è qualcosa di sviluppato è meglio!!

se fossi in te mi preparerei un blocco in AWL

intanto grazie per il consiglio .... AWL o SCL ... per me è uguale... programmo in ladder e non conosco AWL,

comunque comincio a farmi un'idea di come eventualmente sviluppare il sistema grazie ancora....

P.S. ci tengo a precisare che attualmente il software è completo tranne il sistema di rotazione, ho implementato il conteggio delle ore e l'avvio in sequenza... questo giusto per la cronaca

Link al commento
Condividi su altri siti

Be, allora vediamo io partirei da una struttura simile:

1) Tabella dove registro i valori di funzionamento secondo motore ovvero posizione 1 ore 1° motore e così via

2) una semplice routine per riordinare la tabella in base al motore che ha più ore di funzionamento che mi genera una altra tabella ordinata dove al posto delle ore salvo il numero del motore

3) al momento dello start controllo quale motore deve partire

Ti consiglio di farti una bella letta sui puntatori AR, perchè una struttura come l'ho pensata si basa sull'uso dei puntatori, nel senso che se devo far partire il 2° motore (come ore di funzionamento) il numero 2 è il mio puntatore alla tabella "ordinata" dove è registrato il numero del motore che deve partire es. motore n° 7

Struttura analoga per trovare quello che si deve fermare.

Se butti giù due righe di codice poi ti posso aiutare a svilupparle.

Link al commento
Condividi su altri siti

Non c'è un modo univoco per farlo... la prima cosa che mi viene in mente è quella di memorizzare le ore di lavoro di ogni ventilatore, e far partire sempre quelli che hanno il numero di ore più basso, senza stabilire una rotazione predeterminata.

Link al commento
Condividi su altri siti

Il modo di gestire più pompe, compresa una pompa di scorta, è analogo.

Si registrano le ore di funzionamento delle singole pompe e si avvia per prima la pompa che ha lavorato meno.

Potresti fare qualche cosa di simile. Se poi fia una ricerca sulla gestione delle pompe trovi parecchie discussioni in cui viene analizzato come realizzare questo tipo di controllo.

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