Vai al contenuto
PLC Forum


ascensore Plc


Matxico

Messaggi consigliati

Salve sono uno studente dell'ultimo anno di elettronica e mi hanno assegnato un  progetto nel quale devo realizzare  un programma che simuli un  ascensore a 3 piani ( dal piano alla terra al secondo piano). Ho scritto un  programma che simula ascensore ma il non riesco a fare in modo che l'ascensore torni al piano terra quando si trova nel primo o nel secondo piano. Ho simulato l'ascensore attraverso PC simu e l's7 200 simulator.  il programma spero che verrà allegato questa discussione.

il mio programma : https://drive.google.com/open?id=1ZMk28Z28ScCsRRF8dTk_qyFQFtfTiN8e

per la creazione del programma mi sono ispirato a https://www.youtube.com/results?search_query=ascensore+s7+200

Link al commento
Condividi su altri siti


Ciao  non ho aperto il link , ma una domanda   vuoi cioè che senza che nessuno usi l ascensore , dopo un tot di minuti lui torni da solo al piano terra ?

 

In genere si fa così con gli oleo dinamici

Link al commento
Condividi su altri siti

Il ritorno al pianto T per mancato utilizzo dopo 40sec si faceva anche con gli elettrici tutti a relè negli hotel per avere sempre la cabina pronta alla reception.

Basta che fai la condizione che se non è al piano T dopo 40sec simula una chiamata al piano T.

Il timer ero lo stesso che si usava per la funzione occupato.

Link al commento
Condividi su altri siti

Giuseppe Signorella

Ancora oggi vi è il rimando ad un piano dopo un certo tempo di inattività. 

Normalmente è una funziona parametrizzabile. Sia l'abilitazione, il tempo di attesa, che il piano a cui deve essere rinviato.

 

Link al commento
Condividi su altri siti

12 ore fa, luigi69 scrisse:

Ciao  non ho aperto il link , ma una domanda   vuoi cioè che senza che nessuno usi l ascensore , dopo un tot di minuti lui torni da solo al piano terra ?

 

In genere si fa così con gli oleo dinamici

no, voglio che rimanga nell'ultimo piano in cui è stato chiamato finché non arriva un altro richiamo da un altro piano. il problema è che quando l'ascensore si trova al piano 2 o 1 riesco a portarlo al piano 1 e 2 ma non riesco a portarlo al piano terra 

Link al commento
Condividi su altri siti

2 ore fa, Matxico scrisse:

il problema è che quando l'ascensore si trova al piano 2 o 1 riesco a portarlo al piano 1 e 2 ma non riesco a portarlo al piano terra 

 

Scusa ma mi sembra una spegazione un po' confusa.

Vediamo s ho capito bene.

L'ascensore sal al piano 2 e li rimane,

Se viene una chiamata dal piano 1 l'ascensore esege il conado, mentr se la chiamata arriva dal piano 0 l'ascensore non esegue il comando.

 

Se è così devi per prima cosa sincerarti che il comando di richiesta dal piano 0 sia veramente operativo, quesgto dipende dalla condizioni deltuo programma.

Link al commento
Condividi su altri siti

Ho guardato solo frettolosamente il programma e, sinceramente, non ho capito perché non scenda al piano terra.

Però, io ripartirei proprio da zero.
Come primo consiglio, ti direi di assegnare un simbolo a tutti i merker. Non ti pare che il programma diventi più semplice da interpretare se, per esempio, al posto di M0.0 trovo "AuxSalita_P1"?

Poi dovresti mettere un po' di ordine.
Perché nel segmento 1 c'è il merker per la salita al primo piano, nel segmento 2 c'è il comando di salita del motore, e nel segmento 3 c'è il merker per la salita al secondo piano?
Non ti sembra sarebbe meglio invertire i segmenti 2 e 3?
Lo stesso per i segmenti 5-6-7.
Non ho capito poi come funziona la chiusura delle porte.
E, sempre riguardo le porte, manca una condizione importantissima: il controllo che le porte siano chiuse (con segnale da finecorsa) per poter muovere l'ascensore.
Quando premo un pulsante per far muovere l'ascensore, prima si chiudono le porte e, quando le porte sono chiuse, si muove l'ascensore.

Per finire, io cambierei anche l'approccio generale dei comandi salita/discesa. Perché perdersi con merker per salire o scendere ad ogni singolo piano?
Ora sono solo tre piani, ma pensa se diventassero, non dico i 100 piani di un grattacielo, ma anche solo una decina di piani.
Perché non gestire tutto con delle variabili? Una variabile che ti dice dove si trova l'ascensore, ed una variabile che ti dice dove vuoi che l'ascensore vada.
Basta una semplice comparazione per sapere se l'ascensore deve salire o scendere.

 

Una domanda: perché usate S7-200, che è un PLC praticamente in disuso da parecchi anni?
 

Link al commento
Condividi su altri siti

Secondo me nelle scuole si trova spesso ancora il validissimo 200 per due motivi

Il primo è del badget che hanno sugli acquisti che è sempre minore mentre il secondo e che ho trovato più volte insegnanti che non vogliono mettersi ad imparare un prodotto nuovo.

Fino a qualche anno fa insegnavano ancora il 100 e spesso qualche studente mi chiedeva aiuto su quel modello. Del resto io fino a quando era commercializzato il 200 lo preferivo di gran lunga al 1200 soprattutto per il Tia che era a dir poco sperimentale.

 

Link al commento
Condividi su altri siti

Giuseppe Signorella

Normalmente in un ascensore il conteggio dei piani è fatto con due contatori e due reed. I contatori lavorano quasi simultaneamente.

In tal modo si può avere un controllo se qualche reed non legge un magnete.

La logica di funzionamento è molto semplice.

Ad ogni piano assegni un valore.

1)

Il valore all'interno del contatore è maggiore del valore di chiamata del piano?

L'ascensore deve scendere finchè il valore dei contatori non è uguale a quello del piano di chiamata.

2)

Il valore all'interno del contatore è minore del valore di chiamata del piano?

L'ascensore deve salire finchè il valore dei contatori non è uguale a quello del piano di chiamata.

Ciao.

 

Link al commento
Condividi su altri siti

5 ore fa, batta scrisse:

Ho guardato solo frettolosamente il programma e, sinceramente, non ho capito perché non scenda al piano terra.

Però, io ripartirei proprio da zero.
Come primo consiglio, ti direi di assegnare un simbolo a tutti i merker. Non ti pare che il programma diventi più semplice da interpretare se, per esempio, al posto di M0.0 trovo "AuxSalita_P1"?

Poi dovresti mettere un po' di ordine.
Perché nel segmento 1 c'è il merker per la salita al primo piano, nel segmento 2 c'è il comando di salita del motore, e nel segmento 3 c'è il merker per la salita al secondo piano?
Non ti sembra sarebbe meglio invertire i segmenti 2 e 3?
Lo stesso per i segmenti 5-6-7.
Non ho capito poi come funziona la chiusura delle porte.
E, sempre riguardo le porte, manca una condizione importantissima: il controllo che le porte siano chiuse (con segnale da finecorsa) per poter muovere l'ascensore.
Quando premo un pulsante per far muovere l'ascensore, prima si chiudono le porte e, quando le porte sono chiuse, si muove l'ascensore.

Per finire, io cambierei anche l'approccio generale dei comandi salita/discesa. Perché perdersi con merker per salire o scendere ad ogni singolo piano?
Ora sono solo tre piani, ma pensa se diventassero, non dico i 100 piani di un grattacielo, ma anche solo una decina di piani.
Perché non gestire tutto con delle variabili? Una variabile che ti dice dove si trova l'ascensore, ed una variabile che ti dice dove vuoi che l'ascensore vada.
Basta una semplice comparazione per sapere se l'ascensore deve salire o scendere.

 

Una domanda: perché usate S7-200, che è un PLC praticamente in disuso da parecchi anni?
 

il programma è ancora in lavorazione

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