Vai al contenuto
PLC Forum


Problemi uscite PLC S7-1200 - Primi passi


Seiko4

Messaggi consigliati

Buonasera a tutti,

per la mia tesi di laurea ho installato un plc su un vecchio banco FESTO di gestione di un magazzino automatico. Ho iniziato da qualche giorno la programmazione con il TIA PORTAL V16 e ho qualche dubbio che vi riporto in seguito, sperando possiate darmi una mano.

In pratica: nel segmento 1 comando una serie di attuatori e motori (tramite un pulsante RESET) verso la posizione "di riposo", in preparazione all'avvio del ciclo automatico. Tra questi comandi è presente il comando "EV_2-", presente nello screen sottostante, che comanda la discesa di un attuatore. Ho provato il programma e funziona correttamente.

 

image.png.c0f7d2d9e90096ec9da14b0c8919b384.png

Continuo con la programmazione, premo il pulsante START e parto con il ciclo vero e proprio, dopo qualche fase del ciclo ho necessità di comandare nuovamente "EV_2-" per la discesa dello stesso attuatore di cui al segmento 1:

 

image.png.08cabb71a3a6694c207febbb2dcadf6f.png

 

Il problema è il seguente: se voglio eseguire la fase di cui al segmento 1 tramite pulsante RESET, tutto funziona correttamente ad eccezione appunto dell'uscita "EV_2-". Non si accende nemmeno il LED della relativa uscita sul PLC. Eliminando "EV_2-" dal segmento 8 il problema si risolve. E' come se due uscite analoghe ma su segmenti diversi andassero in conflitto (anche se non comandate dai relativi pulsanti!).

Qualcuno ha qualche idea? Che errore posso aver commesso?

Vi ringrazio anticipatamente per le risposte, se servono altri screen del programma posso allegarli senza problemi.

Grazie a tutti.

Link al commento
Condividi su altri siti


Hai commesso questo errore

Quote

E' come se due uscite analoghe ma su segmenti diversi andassero in conflitto (anche se non comandate dai relativi pulsanti!).

In breve, non puoi comandare un uscita in questo modo, la seconda volta che la comandi avrà sempre prevalenza sulla prima (o in generale, l'ultima volta che la comandi ha la prevalenza sulle altre). Visto che sembri alle prime armi, eviterei db o area temporanee, nei 2 segmenti interessati, invece di comandare l'uscita Q0.2 farei 2 appoggi su merker, poi in fondo al software prendi le 2 merker e le metti in parallelo per comandare l'uscita.

Link al commento
Condividi su altri siti

17 minuti fa, il toby ha scritto:

Hai commesso questo errore

In breve, non puoi comandare un uscita in questo modo, la seconda volta che la comandi avrà sempre prevalenza sulla prima (o in generale, l'ultima volta che la comandi ha la prevalenza sulle altre). Visto che sembri alle prime armi, eviterei db o area temporanee, nei 2 segmenti interessati, invece di comandare l'uscita Q0.2 farei 2 appoggi su merker, poi in fondo al software prendi le 2 merker e le metti in parallelo per comandare l'uscita.

Grazie mille per la rapida risposta! Immaginavo fosse quello il problema, ma non sapevo come risolvere.

Provo come mi hai suggerito e ti faccio sapere

 

Link al commento
Condividi su altri siti

1 ora fa, il toby ha scritto:

Hai commesso questo errore

In breve, non puoi comandare un uscita in questo modo, la seconda volta che la comandi avrà sempre prevalenza sulla prima (o in generale, l'ultima volta che la comandi ha la prevalenza sulle altre). Visto che sembri alle prime armi, eviterei db o area temporanee, nei 2 segmenti interessati, invece di comandare l'uscita Q0.2 farei 2 appoggi su merker, poi in fondo al software prendi le 2 merker e le metti in parallelo per comandare l'uscita.

Perfetto! Grazie mille.

 

In sostanza, visto che dovrò eseguire una serie di operazioni in sequenza con uscite che si ripeteranno: conviene associare ad ogni "azione" un merker e in fondo al software associare le varie uscite fisiche ai merker messi in parallelo come in questo caso? Corretto?

 

Per cercare di capire il motivo per cui il PLC non accetta due uscite analoghe su segmenti diversi: si può dire che sia legato al tipo di scansione del PLC o il motivo è un altro?

 

Grazie ancora!

Link al commento
Condividi su altri siti

Quote

In sostanza, visto che dovrò eseguire una serie di operazioni in sequenza con uscite che si ripeteranno: conviene associare ad ogni "azione" un merker e in fondo al software associare le varie uscite fisiche ai merker messi in parallelo come in questo caso? Corretto?

Non è il metodo migliore, a parere mio, ma va benissimo fatto in questa maniera.

 

Quote

Per cercare di capire il motivo per cui il PLC non accetta due uscite analoghe su segmenti diversi: si può dire che sia legato al tipo di scansione del PLC o il motivo è un altro?

Esatto, come esempio stupido, immagina il plc come un foglio di carta, sul foglio scrivi per ogni riga un istruzione del tipo

 

variabile = 1

variabile = 2

.....

variabile = n

 

alla fine del foglio non ti importa quanti e quali valori ha assunto la tua variabile, il suo valore sarà dato dall'ultima istruzione eseguita sulla tua variabile, in questo caso variabile varrà n.

 

PS, curiosità personale non per giudicare, quanto ne sai di programmazione in generale, non solo plc?

Link al commento
Condividi su altri siti

8 ore fa, il toby ha scritto:

PS, curiosità personale non per giudicare, quanto ne sai di programmazione in generale, non solo plc?

Diciamo che non è esattamente il mio ramo, sto studiando Ingegneria Meccanica e le mie conoscenze di PLC si limitano alle nozioni base di qualche corso. Programmazione quasi nulla, conosco giusto il linguaggio C a livello universitario diciamo. E' la mia prima esperienza reale di programmazione.

 

Grazie ancora per i consigli!

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