Vai al contenuto
PLC Forum


Sottoprogrammi


Messaggi consigliati

Inserito:

Salve a tutti, e da poco che ho iniziato ad utilizzare i plc ed in particolare varie SBRO/1/2 ecc.

la mia domanda e la seguente: Sto cercando di utilizzare queste SBRO come se fossero dei programmi distinti,quindi abilitandoli separatamente con un selettore,solo che mi accorgo che passando da un SBRO a un SBR1 le uscite, se abilitate, mi rimangono ugualmente allo stato 1.

Esiste una funzione che mi permetta di portarle a zero ogni qualvolta deciso di cambiare sottoprogramma?

Ho provato con il settaggio e resettaggio e con altri sistemi,ma non ho raggiunto lo scopo desiderato.

Grazie per i consigli che potete darmi.

Spero di essere stato chiaro.


Inserita:
abilitandoli separatamente con un selettore,solo che mi accorgo che passando da un SBRO a un SBR1 le uscite, se abilitate, mi rimangono ugualmente allo stato 1.

Già, è cosi. Ti consiglio di non lavorare direttamente sulle uscite ma sui merker che vanno ad abilitare le uscite.

In sostanza crei una funzione, sempre aggiornata nel ciclo, in cui vai ad abilitare le uscite tramite dei merker che sono delle immagini delle stesse. Non so se ti ho reso l'idea.

Ciao

Inserita:

non so se sono stato abbastanza chiaro,ma io vorrei sapere come fare a richiamare un sottoprogramma resettando i parametri.

ad esempio se lavoro con sbr1 e voglio passare a sbr2,i valori delle uscite mi devono tornare a livello basso e gestirle nuovamente con sbr2.

Tu mi consigli i merker,ma ho già provato non ottengo cio che voglio.

Inserita:

Ciao.

Non so che sistema stai usando (SBRxx), ma generalmente nei PLC, quando un sottoprogramma non viene elaborato, lo stato delle memorie, delle uscite e dei parametri in generale rimane inalterato com'era stato impostato all'ultima elaborazione. Così, se abbandoni una subroutine, cioè non la esegui più per passare ad un'altra, lo stato delle tue uscite resta inalterato.

Penso che dovresti utilizzare delle memorie di appoggio (come dice Malis), diverse per la subroutine 1 e la 2, poi, alla fine del programma, copiare le memorie della subroutine che stai elaborando sulle uscite. Se vuoi puoi anche resettare tutte le memorie di quella che non stai elaborando, così al prossimo cambio di subroutine riparti con una situazione 'vergine'

Spero di aver capito il tuo problema e di essere stato chiaro.

Ciao.

Inserita: (modificato)

vediamo se ho capito bene, porto le mie uscite allo stato alto tramite dei merker,quando cambio il sottoprogramma resetto tutti i merke?

io devo ottenere la situazione "vergine" come dici tu.

Modificato: da Malis
Inserita:

Gentilissimo dago, domani mattina proverò questa soluzione,comunque visto che ci siamo vorrei chiederti/vi come mai la mia soluzione non va bene,ossia:

Io ho realizzato le due sub routine con dei merker che azionano a loro volta delle uscite,nel momento in cui cambio sub_routine ho impostato come condizione iniziale il resetaggio di tutti i merker con il comando SM0.1.

Come mai questa soluzione non mi permette il resetaggio dei merker? SM0.1 ha un tempo troppo basso?

A voi la risposta intanto grazie.

Per Dago ti farò sapere se la soluzione può andare bene,intanto grazie.

Matteo Montanari
Inserita: (modificato)

il sistema è un S7-200, per rispondere a "gramma"

il bit di stato "SM0.1" è attivo solo alla prima accensione del PLC, normalmente viene utilizzato per configurare la comunicazione, contatori veloci o quantaltro desideri o bisogni di un'inizializzazione.

per azzerare le memorie (o uscite) dovresti fare o un fronte di salita su di una memoria che è sempre alta (SM0.0 ad esempio) o "settare" una memoria con il suo negato:

Mx.x        Qy.y  
-I/I------i--( R )-
             i  Mx.x
             i--( S )

SM0.0     0        Qy.y  
-I I------IPI------( R )-

Modificato: da keosmm
Inserita:

Grazie per la spiegazione...quello che mi hai descritto immagino sia la giusta sequenza da inserire all'interno della sub_routine al posto di quello che pensavo io.Domani farò le prove e vo sapro dire.

Grazie ancora a tutti.

Inserita:

Ciao,

scusate se la mia domanda è OT, ma volevo sapere da Dago che programma ha usato per fare lo schema ladder

Grazie

Inserita:

Ok ragazzi per ora ho risolto il problema,grazie al vostro aiuto.Ho provato il ladder di dago con una piccola modifica e va che è una amore.

Grazie ancora.

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