Vai al contenuto
PLC Forum


Rendere Indisponibile Una Pompa - se si è fermata dopo che è partita


Messaggi consigliati

Inserito:

Ho un pulsante che premuto da un operatore fa aprire una valvola motorizzata e, contemporaneamente, attiva un timer da 8h.

Appena la valvola è tutta aperta (il tempo di apertura della valvola è circa 30 secondi), il relativo finecorsa fa partire una pompa che si ferma dopo 7h (da quando è partito il timer).

Se durante la marcia della pompa la valvola inizia a chiudersi, per qualche anomalia di funzionamento della valvola stessa, il “finecorsa valvola aperta” fa fermare la pompa (visto che la marcia puo' avvenire solo se la valvola è completamente aperta). Dopo tale fermata, non deve essere più possibile far ripartire la pompa se non allo scadere del timer da 8h.

Come faccio a realizzare quest'ultimo passaggio cioè a rendere indisponibile la pompa nel caso sia partita e si sia fermata entro le 7 ore?


Inserita:

Se ho capito bene il tuo problema, io farei così:

quando la valvola si è completamente aperta, incrementi un contatore settato a 1; il set della pompa attraverso la serie del finecorsa valvola (NO), contatto del contatore (NC), e timer lavoro off (NC).

Al termine del conteggio del tempo di lavoro, resetti l'uscita della pompa ed il contatore, preparando il tutto per un nuovo ciclo.

Inserita:

Non serve tirare in ballo contatori, basta settare un merker.

Esempio:

U "MarciaPompa"
UN "ValvolaAperta"
S "InibizioneMarciaPompa"

U .....   Inserire tutte le condizioni per la marcia della pompa
U "ValvolaAperta"
UN "InibizioneMarciaPompa"
= "MarciaPompa"

Poi resetti il merker "InibizioneMarciaPompa" allo scadere del tempo.

Inserita:

Grazie x le risposte.

Batta puoi tradurre in ladder :rolleyes: ?

Grazie ancora

Inserita:

Se scrivi le istruzioni in due segmenti distinti, le puoi visualizzare in ladder.

Inserita:

Scusa Batta...hai ragione.

Per via della mia "allergia" cronica a quel linguaggio, e per via della stanchezza (sono al lavoro dalle 6) ho dato una risposta un po' affrettata.

Comunque ho seguito il tuo consiglio: funziona egregiamente!

Grazie a tutti.

Inserita:
Non serve tirare in ballo contatori, basta settare un merker

Non mi sembra che i contatori costino più cari dei merker! <_<

Sono due strade diverse per risolvere lo stesso problema, magari c'è chi ne ha immaginate altre utilizzando altri sistemi.

Poi ognuno è libero di scegliere quella che preferisce.

Inserita: (modificato)

franco1,

Seguendo la tua specifica di funzionamento, dovrebbe andare bene il codice sotto postato.

L'ho simulato impostando un timer di 1 minuto. Poi ho aggiunto la chiusura della valvola a fine ciclo e un pulsante di fine ciclo

in caso dovresti fermarlo e ripartire.

Comunque, non ho capito se il timer viene setato a 8 h oppure 7, ma quello lo vedi te, tanto per simulare non era importante.

Potresti copiare ed incollare dal AWL direttamente e poi converti in LAD automaticamente.

Se hai qualche dubbio, chiedi pure. ;)

AWL:

Network 1 :

      U(    
      O     "PSStartCiclo"
      O     "MemCicloInCorso"
      )     
      UN    "MemFineCiclo"
      =     "MemCicloInCorso"

Network 2 :

      U(    
      O     "MemCicloInCorso"
      O     "ComApreValvola"
      )     
      UN    "FcValvolaTuttaAperta"
      UN    "MemValvolaApertaEseguita"
      UN    "MemFineCiclo"
      =     "ComApreValvola"

Network 3:

      U(    
      O     "MemFineCiclo"
      O     "ComChiudeValvola"
      O     "PSStopCiclo"
      )     
      UN    "FcValvolaTuttaChiusa"
      =     "ComChiudeValvola"

Network 4 :

      U     "MemCicloInCorso"
      L     S5T#1M
      SE    "Timer8Ore"
      U     "PSStopCiclo"
      R     "Timer8Ore"
      NOP   0
      NOP   0

      NOP   0

Network 5 :

      U(    
      U     "MemCicloInCorso"
      U     "FcValvolaTuttaAperta"
      O     "MemValvolaApertaEseguita"
      )     
      UN    "MemFineCiclo"
      =     "MemValvolaApertaEseguita"

Network 6 :

      U(    
      U     "MemCicloInCorso"
      U     "MemValvolaApertaEseguita"
      UN    "FcValvolaTuttaAperta"
      O     "MemInibizionePompa"
      )     
      UN    "MemFineCiclo"
      =     "MemInibizionePompa"

Network 7 :

      U(    
      U     "MemCicloInCorso"
      U     "FcValvolaTuttaAperta"
      O     "ComPompa"
      )     
      UN    "MemInibizionePompa"
      UN    "MemFineCiclo"
      =     "ComPompa"

Network 8 :

      O     "Timer8Ore"
      O     "PSStopCiclo"

      =     "MemFineCiclo"



////////////////////////

LAD:

Network 1 :

    PS          MemFine                     MemCicloIn    
 StartCiclo     Ciclo                        Corso
                                  
+---[ ]----+-----[/]--------------------------( )-|
+          +          
+ CicloIn  +
+  Corso   +  
+          +                                 
+---[ ]----+


Network 2 :

  MenCicloIn FCValvola  MemValvola
    Corso      Tutta    Aperta     MemFine    ComApre
               Aperta   Eseguita    Ciclo     Valvola

+---[ ]----+-----[/]-------[/]-------[/]-------( )-|
+          +          
+  ComApre +
+  Valvola +    
+          +                    
+---[ ]----+


Network 3 :
                               
          

                               
  MemFine      FCValvola                      ComChiude
  Ciclo       TuttaChiusa                      Valvola
                                           
+---[ ]----+------[/]---------------------------( )-|
+          +          
+ ComChiude+
+ Valvola  +  
+          +                                 
+---[ ]----+
+          +          
+ PSStop   +
+  Ciclo   +  
+          +                                 
+---[ ]----+


Network 4 :


   MemCiclo       Timer80Ore
|  InCorso      +-----------+
|               |  S_EVERZ  |
+---[ ]---------+ S       Q +-----------
|               |           |
|               |           |
|        S5T#1M + TW   DUAL +..
|               |           |
|     PSStop    |           |
|     Ciclo   ..+ R    DEZ  +..
|               +-----------+
|
|


Network 5 :
                                             
               FCValvola                    MemValvola
   MenCicloIn  Tutta              MemFine   Aperta
    Ciclo      Aperta              Ciclo    Eseguita

+---[ ]----------[ ]------+----------[/]-------( )-|
+                         +          
+  Mem                    +
+ Valvola                 +
+ Aperta                  +
+ Eseguita                +    
+                         +                    
+---[ ]-------------------+


Network 6 :

                           FC
  MenCicloIn MemValvola   Valvola    Mem      Mem
    Corso     Aperta      Tutta     Fine    Inibizione
              Eseguita    Aperta    Ciclo    Pompa

+---[ ]----------[ ]-------[/]---+---[/]-------( )-|
+   Mem                          +          
+Inibizione                      +
+  Pompa                         +    
+                                +                    
+---[ ]--------------------------+


Network 7 :

              FC
  MenCicloIn  Valvola     Mem        Mem    
    Corso     Tutta    Inibizione    Fine      Com
              Aperta     Pompa       Ciclo     Pompa

+---[ ]----------[ ]---+---[/]-------[/]-------( )-|
+                      +          
+  Com                 +
+  Pompa               +    
+                      +                    
+---[ ]----------------+


Network 8 :

               
   Timer                                       Mem    
   80Ore                                       Fine  
                                               Ciclo      

+---[ ]----+-----------------------------------( )-|
+          +          
+  PSStop  +
+  Ciclo   +    
+          +                    
+---[ ]----+



///////////////////////////////////////////////////////////////

// VAT

M      1.0    "MemFineCiclo"                BOOL         false
M      1.1    "MenCicloInCorso"             BOOL         false
A      0.1    "ComApreValvola"              BOOL         false
M      1.3    "MemValvolaApertaEseguita"    BOOL         false
M      1.4    "MemInibizionePompa"          BOOL         false
T      1      "Timer8Ore"                   SIMATIC_TIME S5T#0ms
E      0.0    "PSStartCiclo"                BOOL         false
E      0.1    "FCValvolaTuttaAperta"        BOOL         false
A      0.0    "ComPompa"                    BOOL         false
A      0.2    "ComChiudeValvola"            BOOL         false
E      0.3    "PSStopCiclo"                 BOOL         false
E      0.2    "FCValvolaTuttaChiusa"        BOOL         false

Modificato: da Savino
Inserita:
Non mi sembra che i contatori costino più cari dei merker!

Non sono d'accordo.

Un counter rispetto ad un merker non costa certo di più in termine di soldini, ma richiede risorse maggiori. E poi, specialmente in Siemens dove timer e counter certo non abbondano, a mio avviso usare un counter dove basta un semplice merker mi pare un inutile spreco.

Poi certo, come dici tu, ognuno è libero di scegliere quello che preferisce. Ci mancherebbe altro :)

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