over Inserito: 20 agosto 2004 Segnala Inserito: 20 agosto 2004 Fino all'altro giorno usavo S5 o S7-300, e quando in una sequenza avevo bisogno di alcune temporizzazioni usavo sempre lo stesso timer caricato con valori opportuni di volta in volta.In questi giorni sto sperimentando S7-200 (cpu 224) ed ho notato che i temporizzatori funzionano in modo leggermene diverso; a parte questo, ho provato a creare una sequenza usando un solo timer (TOF T38, +xxx) per diversi passi della seq. ma caricato con diversi valori di tempo; il tutto non mi funziona !Potete suggerirmi qualche sistema (codice sorgente awl aprezzato) che voi utilizzate con successo ?
Gabriele Corrieri Inserita: 20 agosto 2004 Segnala Inserita: 20 agosto 2004 Ciaomi sa tanto di metodi non troppo ortodossi ... se posti tu il codice è possibile vedere dove sta l'errore ....Ciao
over Inserita: 20 agosto 2004 Autore Segnala Inserita: 20 agosto 2004 ...mmmhh ... ecco qua' la mia routine ; in sostanza i bit del byte 20 sono gli appoggi dei passi sequenza,M16.0 e' un flag che viene subito resettato e serve ad attivare il T38 (TOF) che viene caricato con la MW24.Cosi' come e' la MW24 non riesce a caricare altro che "+300" ed il timer continua a contare da 0..300 senza mai mandare a 0 il suo stato, ma se io tolgo i commenti su "U M28.1" , "U M28.2" , "U M28.3" e fornisco manualmente (quando necessario) questi flag, lasequenza mi funziona esattamente come voglio io.NETWORK 1 //TITOLO DEL SEGMENTO (una riga)LD M20.0 //passo 0S M20.1, 1 //passo 1R M20.0, 1 //passo 0S M0.0, 1S M16.0, 1 //abilitazione tempoR M0.1, 3MOVW +300, MW24 //in MW24 il tempo da caricare in T38NETWORK 2LD M20.1 //passo 1UN T38 //tempo scaduto (300 * 100ms)//U M28.1S M20.2, 1 //passo 2R M20.1, 1 //passo 1S M0.1, 1S M16.0, 1 //abilitazione tempoMOVW +400, MW24 //in MW24 il tempo da caricare in T38NETWORK 3//LD M20.2 //passo 2UN T38 //tempo scaduto (400 * 100ms)//U M28.2S M20.3, 1 //passo 3R M20.2, 1 //passo 2S M0.2, 1S M16.0, 1 //abilitazione tempoMOVW +500, MW24 //in MW24 il tempo da caricare in T38NETWORK 4//LD M20.3 //passo 3UN T38 //tempo scaduto (500 * 100ms)//U M28.3S M20.0, 1 //passo 0R M20.3, 1 //passo 3S M0.3, 1S M16.0, 1 //abilitazione tempoMOVW +200, MW24 //in MW24 il tempo da caricare in T38NETWORK 5//LD M16.0 //flag di lancio T38TOF T38, MW24 //T38 rimane alto fino all esaurim. di MW24R M16.0, 1 //reset del flag di lancioNETWORK 6//MOVB MB0, AB0
Gabriele Corrieri Inserita: 20 agosto 2004 Segnala Inserita: 20 agosto 2004 Ciaoci credo che non va Probabilmente non hai molto chiara la programmazione di plc, difatti la tua programmazione è molto più riferita ad un sistema tipo "personal computer".In pratica tu dovrai, fra uno step e l'altro dovrai riportare il segmento 5, altrimenti il segmento 5 entrerà in azione solo con il tempo di 20 secondi.Spero di essere stato esauritente, in caso contrario chiedi pure ancora! Ciao
over Inserita: 20 agosto 2004 Autore Segnala Inserita: 20 agosto 2004 ....in realta' non sono un professionista ...ma non mi ritengo neanche un principiante quando scrivevo in s5 o s7-300 in effetti "riportavo" il "segmento 5" sotto ad ogni passo perche' seguivo uno "schema aziendale", ma visto che S7-200 me lo sto studiando per i fatti miei ho deciso di buttare giu' uno "schema mio".Ad ogni modo (non ho ancora provato il tuo suggerimento) non capisco perche' il segmento 5 verrebbe eseguito solo con un valore di tempo di 20 sec. ....mi sfugge qualcosa ?
Gabriele Corrieri Inserita: 20 agosto 2004 Segnala Inserita: 20 agosto 2004 Ciaolo "schema aziendale" non c'entra niente ... perdonami la battuta, o una cosa funzia oppure non funzia In particolare il segmento che carica T38 da MW24 (il segmento 5 appunto) entra in gioco solo DOPO la terza fase ... cioè quando MW24 ha valore 200 (20.0 secondi), mentre per le altre fasi funziona con ciò che c'era caricato prima in T38, che non so non avendo tutto il programma sottomano.Spero che sia chiaro, altrimenti repetitia juvant ... spiego ancora Ciao
bigalex Inserita: 21 agosto 2004 Segnala Inserita: 21 agosto 2004 Il problema principale è la sintassi, ovvero dovrai utilizzare dei salti condizionati ad ogni segmento che identifica il passaggio di passo in modo tale che solo un preset del timer di combio passo sia attivo durante ogni singolo passo.Così come hai scritto verrà sempre caricato l'ultimo preset (ultimo processato prima del lancio del timer) poichè non c'è nessuna condizione che abiliti i singoli preset in modo univoco.Questo problema avresti dovuto averlo anche con S5 o S7-300 .bigalex
over Inserita: 21 agosto 2004 Autore Segnala Inserita: 21 agosto 2004 Ho corretto il listato aggiungendo tanti "segmenti 5" tra i passi della sequenza ed adesso in effetti _sembrerebbe_ funzionare; ma se io mi metto in "stato variabile" ed osservo il conteggio del T38 vedo che avanza ad un ritmo accelerato (un valore di 500 mi da luogo ad un tempo di una ventina di secondi).C'e' una spiegazione a questo ?
over Inserita: 21 agosto 2004 Autore Segnala Inserita: 21 agosto 2004 In S5 / S7-300 usavo un listato del tipo : UN M15.1 SPB=M001 U E1.0 S M15.2 R M15.1 --- --- S M40.0M001: U M40.0 R M40.0 LKT 10.1 SV T10 *** UN M15.2 SPB=M001 UN T10 S M15.3 R M15.2 --- --- S M40.0M001: U M40.0 R M40.0 LKT 15.2 SV T10 ***... e posso garantire che funzionava bene. Ciao.
Ivan Castellaro Inserita: 21 agosto 2004 Segnala Inserita: 21 agosto 2004 Prova a premere F1 con lo step 7 attivo ed il cursore sulla riga SPB=M001
over Inserita: 21 agosto 2004 Autore Segnala Inserita: 21 agosto 2004 (per Ivan Castellaro) ...Non ho capito il perche'; comunque mi sembrava evidente che il listato fosse in S5, mentre in S7(300) faccio cosi': U #P2 SPBN P2A UN "E 4.5" S #P3 R #P2 S M 40.0P2A: U M 40.0 R M 40.0 AUF DB 11 L DBW 8 SV T10Ciao.
Ivan Castellaro Inserita: 21 agosto 2004 Segnala Inserita: 21 agosto 2004 La mia indicazione era per il salto condizionato.Nel programma per il 200 non hai saltato un bel niente. tutto il programma viene sempre processato.In s5 e s7 invece fai dei salti entro i quali vai a caricare il valore del timer solo quando è attivo il passo in questione.Ecco perche con il 200 non ti funonzia!
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora