
Benvenuto Visitatore ( Log In | Registrati )
![]() ![]() |
24/07/2004, 16:41
Messaggio
#1
|
|
|
Utente con >60 post ![]() ![]() ![]() Gruppo: Utenti PLCforum + Messaggi: 100 Iscritto il: 28/08/02 Da: Vi Utente Nr.: 1121 |
funzione........
Ciao a tutti......in un impianto che sto realizzando ho la necessita' di realizzare (PLC S7 300) una funzione che mi permetta di fare quanto ora vi spiego: Ci sono 3 serbatoi che devono costantemente essere monitorati e non appena il livello di uno qualsiasi scende sotto una soglia di minimo, questo deve essere riempito fino alla soglia di massimo, ma se mentre sta per essere riempito arriva anche la richiesta di riempimento anche da parte di un altro dei tre, la fase di riempimento del primo si deve arrestare a una soglia intermedia di lavoro, e il controllo del riempimento deve passare al secondo. Fin qui nessun problema, ma se mentre sto riempendo il primo che ha richiesto , mi arriva la richiesta dal secondo, e sucessivamente anche dal terzo ,prima che il primo arrivi alla soglia intermedia,devo poter discriminare quale dei secondi due ha inviato la richiesta per primo per andare a riempire quello. Sembra una cosa facile......ma io finora non ho trovato un modo semplice pr poterlo fare.... chi mi puo' dare una mano? federico |
|
|
|
24/07/2004, 18:05
Messaggio
#2
|
|
![]() Utente con >400 post Gruppo: Forum Card Member Messaggi: 573 Iscritto il: 28/08/02 Da: Palazzolo sull' oglio (BS) Utente Nr.: 11 |
Personalmente farei una cosa del genere:
Quando arriva una richiesta incremento una word "numero di richieste attive" (o un contatore), shifto tre word e scrivo il numero di serbatoio nella prima delle tre word. Quando illivello della vasca che sto riempiendo è sufficiente, shifto in direzione opposta le word e decremento il contatore. Se ho altre richieste (contatore > 0), riempio il serbatoio con numero scritto nella prima word. Questa è la prima cosa che mi viene in mente, poi per andare da un luogo ad un altro ci sono mille strade, dipende da te quale scegliere. Messaggio modificato da Ivan Castellaro il 24/07/2004, 18:06 |
|
|
|
25/07/2004, 13:10
Messaggio
#3
|
|
|
Utente con >60 post ![]() ![]() ![]() Gruppo: Utenti PLCforum + Messaggi: 100 Iscritto il: 28/08/02 Da: Vi Utente Nr.: 1121 |
mi sa che faro' in questo sistema....
ad ogni richiesta di riempimento alzo un bit relativo in una word, che poi vado a shiftare in su di una posizione. contemporaneamente incremento un contatore di uno (contatore richieste in corso) poi assegno a una word stato_richieste la word dello shift_register indirizzata dal contatore_richieste_in_corso. ad ogni riempimento eseguito deconto il contatore_richieste_in_corso. in questo modo, nella word stato_richieste dovrei avere sempre la condizione di chi ha fatto la richiesta per ultimo, senza dover afre lo shift register inverso.... |
|
|
|
![]() ![]() |
|
Versione Lo-Fi | Oggi è il: 9/02/2010 - 09:27 |