Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Esercizio Plc


Messaggi consigliati

Inserito:

Salve a tutti e chiedo scusa per la mia ignoranza.

avrei un esercizio che mi sta facendo perdere la ragione, e cerco aiuto.

In pratica ho un pulsante con il quale devo accendere varie luci in questa maniera:

Premo una volta e si accende la luce 1

premo la seconda volta, si spegne la 1 e si accende la 2

premo una terza volta, si spengono 1 e 2 ma si accende la 3

premo una quarta volta, si spengono 1 2 e 3 ma sia accede la 4

premo una quinta volta, si accendono tutte

premo la sesta volta e si spegono tutte.

qualcuno sa darmi una spiegazione per farlo? io ho pensato ad un set reset ma poi mi blocco.

grazie mille a chi puo darmi un aiuto.

andrea

  


Inserita:

Pui utilizzare lo shift di un Bit all'interno di una Word 

Inserita:

Per prima cosa è previsto espressamente l'uso di un PLC 1200? Perchè questa sezione è dedicata esclusivamente a questo tipo di PLC.

 

Il tuo problema.

Ci sono parecchi modi per risolverlo.

A me viene in mente subito di contare le pigiate del pulsante. A ogni nuova pressione si incrementa un contatore. Quando il conteggio è uguale a 6 spegni tutto e azzeri il contatore.

Associ ad ogni valore di conteggio la corrispettiva configurazione delle lampade.

Inserita:

Si, va usato un plc s7-1200,

ma con un counter non riesco a fare tutti i passaggi che mi servono

 

Inserita:
2 ore fa, devilmaycry24 ha scritto:

ma con un counter non riesco a fare tutti i passaggi che mi servono

 

Ma non è vero!

Figurati, ci saranno migliaia di applicazioni che funzionano in questo modo oppure con uno shift register come ha suggerito Ifach.

Ragionaci e sforzati un poco. Fatti un diagramma di flusso o scriviti la sequenza logicaper ragionare sul meccanismo.

Inserita:

non è uno schema complicato e puoi farlo in molti modi uno dei quali è appunto lo shift register. Come esempio ti mando una generica logica a stati (10.00, 20.00 etc) gestita da un Flip FLop comandato dal tuo pulsante (io uso Keep ma va bene anche usare Set Reset) che si può adattare facilmente al tuo PLC. Ricordati di aggiungere la sezione delle uscite che non ho messo, facendo attenzione ad evitare duplicazioni ovviamente. 

2022-02-15 134551.jpg

Inserita:
1 ora fa, _gian ha scritto:

Come esempio ti mando una generica logica

 

Non hai fatto un gran favore a devilmaycry24.

Essendo un esercizio per una persona che sta imparando non è una cosa buona per lui ritrovarsi un listato quasi pronto.

Se si vuol fare un favore ad un principiante ch sta imparando, bisogna cercare di farlo ragionare guidandolo verso la soluzione, non fornigliela.

Copiare i compiti dal compagno può servire magari per ottenere una suffcienza, ma non si impara niente. Questo l'ho appreso a mie spese, ai tempi della scuola.🙂

Inserita:

Ciao, esistono tanti modi per farlo il primo passo è riconosce il fronte del pulsante, puoi usare un riconoscimento di fronte o costruirtelo da te, poi devi fare "qualcosa" con questo fronte.

In alternativa a quanto ti hanno già suggerito io ti propongo di usare un array di byte ( meglio ancora di un tipo di dato che ti sei definito ) dove ogni elemento costituisce lo stato delle uscite per ogni step.

La pressione del pulsante incrementa una variabile che usi come indice per il suddetto array, l'elemento indicizzato aggiorna lo stato delle tue uscite.

In questo modo ti sei esercitato sia sui fronti che sugli array e la logica di funzionamento è chiara, se domati ti chiedono di estendere il numero di stati o variare la mappatura diventa un giochetto semplice.

 

 

Inserita:

forse devilmaycry24 ha desistito o si è perso.

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