grenzo Inserito: 31 maggio 2003 Segnala Inserito: 31 maggio 2003 Ciao,sto 'studiando' l'AWL dello Step 7 e mi sono imbattuto nelle istruzioni FP ( fronte di salita positivo ) ed FN ( fronte di salita negativo ( discesa)), Da quanto ho capito servono x catturare l'evento ' ingresso area sensore' ed 'uscita area sensore ).Chi ne sa di piu?Ciaogrenzo
febfeb Inserita: 31 maggio 2003 Segnala Inserita: 31 maggio 2003 Hai già la soluzione...Posso dirti solo che la durata dell'impulso che questi fp e fn danno durano precisamente quanto dura un ciclo di CPU quindi ti danno solamente un impulso (One - Shot)
grenzo Inserita: 31 maggio 2003 Autore Segnala Inserita: 31 maggio 2003 Ok, quindi x catturare l'avvenuto fronte devo settare una memoria? Non ho capito bene questo:U E indirizzosensore ( quando lo stato del sensore diventa attivo?)FP M indirizzodimemoria a caso ( rileva l'avvenuto fronte positivo setta una memoria in modo che venga 'ricordato' su piu' cicli ( fino a che non si resetta la memoria indirizzata) l'avvenuto fronte?)e' cosi?ciaogrenzo
dlgcom Inserita: 31 maggio 2003 Segnala Inserita: 31 maggio 2003 Il fronte di salita ti puo' servire per sapere quando e' successo l'evento.Per esempio se devi contare quanti pezzi passano davanti ad un sensore usi un fronte di salita.Il programma con il fronte incrementa il contatore , ma al prossimo ciclo plc lo stesso pezzo e' davanti al sensore , verra' ignorato dal programma .Avverra il prossimo fronte solo quando verra' liberato il sensore e un altro pezzo sara di fronte allo stesso.Non hai bisogno di memorie se devi solo usare il fronte , lo usi nello stesso ciclo del programma se sensore =1 setta FUse fu=1 incrementa contatoreChiaro che se ti serve per piu' cicli devi usare una memoria.SalutiLuca
JumpMan Inserita: 1 giugno 2003 Segnala Inserita: 1 giugno 2003 Penso si stia parlando di S7-300, in tal caso l'istruzione di rilevamento fronte (a differenza di moltri altri plc) necessita di un bit per la memorizzazione dello stato dell'ingresso. Attenzione che se usi tante istruzioni FP (o FN) dovrai usare altrettanti flag (diversi) pena il malfunzionamento del programma. Non puoi usare nell'istruzione FP (o FN):- un flag già usato - un flag locale TEMP di un FC/FBPuoi usare:- M***.*- DBX***.*La sintassi giusta è questa (scritta in simbolico, per l'assoluto ci metti quello che vuoi):U "Ingresso1" FP "flag_qualsiasi_1" = "FrontePositivo" U "Ingresso1" FN "flag_qualsiasi_2" = "FronteNegativo" Il bit "FrontePositivo" ti dà un impulso della durata di un ciclo di scansione del programma ogni volta che il bit "Ingresso1" passa da FALSE a TRUE.Il bit "FronteNegativo" ti dà un impulso della durata di un ciclo di scansione del programma ogni volta che il bit "Ingresso1" passa da TRUE a FALSE.Gli usi sono i + svariati, in genere servono per assicurarsi che un determinato ingresso non mantenga forzato un merker o una funzione, per avere quindi la possibilità di resettare il merker anche se l'ingresso è ancora a 1 o per far si che una funzione venga elaborata solo una volta , o che un contatore (autocostruito) non conti i cicli del plc (vedi risposta di Dlgcom)Ciao
grenzo Inserita: 1 giugno 2003 Autore Segnala Inserita: 1 giugno 2003 Ok, grazie ma: Penso si stia parlando di S7-300, in tal caso l'istruzione di rilevamento fronte (a differenza di moltri altri plc) necessita di un bit per la memorizzazione dello stato dell'ingresso.vuole dire che l'istruzione : FP M***.* deve *assoultamente* esistere in quanto il Fronte viene rilevato *solamente* ponendo a 1 un bit della memoria richiamata?Ciaogrenzo
JumpMan Inserita: 2 giugno 2003 Segnala Inserita: 2 giugno 2003 Non ho ancora capito cosa non ti è chiaro, se vuoi rilevare un fronte è chiaro che FP (o FN) deve esistere, il flag che tu gli assegni (di fianco alla istruzione) serve solo ad'uso esclusivo della funzione FP (o FN), si arrangia la cpu a settarlo o resettarlo, tu non devi usare quel flag in nessun'altro posto del programma.Il flag che tu userai nel resto del programma (se hai bisogno di un'impulso generato da un fronte) è quello posto sulla riga successiva alla istruzione FP.Ciao
dlgcom Inserita: 2 giugno 2003 Segnala Inserita: 2 giugno 2003 (modificato) Grenzo,Come dice JumpMan la differenza tra s7200 e 300 e che il 300 appoggia il fronte di salita ad un merker.Tu non devi fare niente , solo dichiarare quale merker usare.Naturalmente devi usare un merker differente per ogni fronte che usi.Qui un esempio del fronte di salita:| I1.0 M1.0 Z1 |---| |--------(P)---------(ZV) |Come vedi sul simbolo del fronte devi inserire il merker associato... poi ci pensa luiSalutiLuca Modificato: 2 giugno 2003 da dlgcom
grenzo Inserita: 2 giugno 2003 Autore Segnala Inserita: 2 giugno 2003 Grazie delle Vs. delucidazioni ma quello che ho capito e' questo:1) Il fronte viene rilevato solamente appoggiandolo ad una memoria ( merker o altro ?) : riga di istruzione FP o FN2) questo e', probabilmente, necessario perche' il fronte 'dura' un solo ciclo del programma3) Questa memoria *non* puo' essere usata in nessun altra istruzione del programma ( e questo non mi e' chiaro, perche' non la posso usare visto che e' una memoria come un'altra? )4) In una riga successiva *devo* settare un'altra memoria ( S M**.* ) allo scopo di utilizzare tale memoria per verifiche, confronti, reset nel resto del programma.Giusto?Ciaogrenzo
dlgcom Inserita: 2 giugno 2003 Segnala Inserita: 2 giugno 2003 Grenzo,1) Il fronte viene rilevato solamente appoggiandolo ad una memoria ( merker o altro ?) : riga di istruzione FP o FN2) questo e', probabilmente, necessario perche' il fronte 'dura' un solo ciclo del programmaNo non e' per questo , infatti nello S7 200 non serve il merker. serve come appoggio interno.3) Questa memoria *non* puo' essere usata in nessun altra istruzione del programma ( e questo non mi e' chiaro, perche' non la posso usare visto che e' una memoria come un'altra? )Perche' non e' una memoria normale , ma un merker di appoggio al sistema , verra' modificato dal plc secondo le sue necessita' quindi non e' affidabile lo stato.Come vedi non e' la classica assegnazione tipo u = M4) In una riga successiva *devo* settare un'altra memoria ( S M**.* ) allo scopo di utilizzare tale memoria per verifiche, confronti, reset nel resto del programma.Questo dipende da te.Come vedi nel mio esempio , io lo uso per incrementare un contatore e non mi serve per fare altro quindi non uso altri merker.Ma se a te serve memorizzare l'avvenuto fronte allora si che devi usare un'altra memoria.Dimmi, quale s7 stai usando?SalutiLuca
grenzo Inserita: 3 giugno 2003 Autore Segnala Inserita: 3 giugno 2003 Perche' non e' una memoria normale , ma un merker di appoggio al sistema , verra' modificato dal plc secondo le sue necessita' quindi non e' affidabile lo stato.Come vedi non e' la classica assegnazione tipo u = Mvisto che ci siamo mi dici *esattamente* cos'e' un merker? a me hanno detto che e' una memoria di sistema la cui quantita' dipende dal tipo di CPU, ma non ho capito bene a cosa server e se puo' essere usata come qualsiasi altra memoria.... Dimmi, quale s7 stai usando?S7 300ciao e graziegrenzo
dlgcom Inserita: 3 giugno 2003 Segnala Inserita: 3 giugno 2003 Grenzo,Il merker e' una memoria , in inglese si chiama flag ( bandiera) normalmente si usa per memorizare uno stato.I merker sono composti in Byte per esempio da M1.0 a M 1.7.Li puoi usare come memorie in tutto il tuo programma e la quantita' dipende dal plc.Esempio uso merker | I0.0 M1.0 |---| |----- (S ) | | | M1.0 O1.0 |---| |------( ) |Si diceva di non usare quelli che usi per i fronti perche' li usa il sistema , ma gli altri li puoi settare e resettare come vuoi.SalutiLuca
Rango Inserita: 4 luglio 2003 Segnala Inserita: 4 luglio 2003 u Ex.xfp mx.xzv zxMi pare una istruzione da ......zv fa gia il fronte da secomunque tanto per la chiarezza tecnica un fronte di salita è una transizione dallo stato 0 allo stato 1.il bit di appoggio serve nell'. step7 è spiegato bene come funziona e ci sono pure i diagrammi temporali.se non li si capisce suggerisco di cambiare ...... Mica tutti possonno fare i dottori.
dago_ Inserita: 4 luglio 2003 Segnala Inserita: 4 luglio 2003 se non li si capisce suggerisco di cambiare ......Ciao RangoTi diro', io non e' che li capisco molto gli esempi nell'. dello Step7.Pero' onestamente mi dispiacerebbe cambiare mestiere.Preferisco continuare a far danni.Sorry
Rango Inserita: 4 luglio 2003 Segnala Inserita: 4 luglio 2003 gli . sono difficili da interpretare perchè danno per scontato alcune coseuna per tutte che tu sia un programmatore di PLC e no di temporizzatori!!!
dago_ Inserita: 4 luglio 2003 Segnala Inserita: 4 luglio 2003 tu sia un programmatore di PLC e no di temporizzatori!!!Ricevuto...passo e chiudo.
dlgcom Inserita: 4 luglio 2003 Segnala Inserita: 4 luglio 2003 una per tutte che tu sia un programmatore di PLC e no di temporizzatori!!!Il forum non e' riservato solo a persone esperte di PLC.Io avro fatto altre domande che possono sembrare banali ad altri che gia' hanno la soluzione... per questo che chiedo!Come si dice ... non ci sono damande banali ... ma solo risposte....SalutiLuca
ppaseri Inserita: 4 luglio 2003 Segnala Inserita: 4 luglio 2003 Io personalmente apprezzo molto i programmatori di " TEMPORIZZATORI" conosciuti in questo forum
Cristina Fantoni Inserita: 5 luglio 2003 Segnala Inserita: 5 luglio 2003 Io personalmente apprezzo molto i programmatori di " TEMPORIZZATORI" conosciuti in questo forum Concordo, tra l'altro credo che qualcuno programmi anche dei contatori Come si dice ... non ci sono damande banali ... ma solo risposte....Sai come si dice: la scienza ha i suoi limiti, in compenso l'ignoranza è senza confini....
Enya Inserita: 5 luglio 2003 Segnala Inserita: 5 luglio 2003 Ciao a tutti,mi permetto di intervenire nella discussione per sottolineare una cosa.Mi sono iscritta recentemente al forum perchè trovo sia un mezzo utilissimo per lo scambio di informazioni ed esperienze.Poco tempo fa ho posto un quesito perchè avevo necessità di risolvere un problema incontrato nella fase di sviluppo di un progetto.Un gentilissimo utente del forum mi ha fornito le informazioni che mi servivano con grande chiarezza e mi ha permesso di risolvere con grande velocità.Immagino che questo sia da attribuire al fatto che la mia domanda fosse per lui "banale" (anzi approfitto per ringraziare Fabios per il cortesissimo aiuto ).Adesso anche per me quel piccolo problema è diventato "banale".Probabilmente a mia volta potrò dare indicazioni a qualcuno che si troverà ad affrontare il problema per la prima volta.E così le informazioni si diffondono...Non è questo che rivela la potenza e l'utilità di un mezzo come un forum in rete?Buon lavoro a tuttiEnya
gabri Inserita: 7 luglio 2003 Segnala Inserita: 7 luglio 2003 Vacca ragazzi!!!Era un po' che mi aggiornavo su questa discussione e devo dire che non mi sarei mai aspettato che si sviluppasse in questa maniera!!! PLCforum: nei suoi meandri si annidano cellule di resistenza e focolai di lotta tra fazioni....vieni a trovarci anche tu!Anche questo fa bene allo sviluppo di un forum...
Rango Inserita: 16 luglio 2003 Segnala Inserita: 16 luglio 2003 ma gurda un pò!!! tutti si incazzanonessuno è nato maestro certo! il forum è uno strumento di scambio di idee, certoMa alcune cosa le si deve sapere prima di mettersi a scrivere codice.Prima si impara a camminare poi a correre.un concetto base non è un problema!!la prossima domanda?01+01=?oh! cavoli quanto fa?no perche il livello era questo!
robgvp Inserita: 16 luglio 2003 Segnala Inserita: 16 luglio 2003 Prima si impara a camminare poi a correre.Sono completamente d' accordo , ma chi impara a camminare con l' aiuto di qualcuno evita perlomeno di battere la testa e di perdere la ragione ! Saluti . Robgvp
Dario Valeri Inserita: 16 luglio 2003 Segnala Inserita: 16 luglio 2003 ciao daiiiii su !!!e' chiaro che entrambi anno ragione!!!!gli . sono scritti per chi gia' sa come funziona , anzi , alcune volte bisogna sapere piu' di chi li scrive!!(perche' sono sbagliati)pero'...... questa e' la sezione didattica e chiunque puo' scegliarla per cominciare , chiunque puo' sceglierlaper migliorare , chiunque puo' sceglierla per segnalare le cazzate che scrivono (talvolta) negli . e nei manualiMI PARE CHIARO !iaoc a tutti dario
dlgcom Inserita: 16 luglio 2003 Segnala Inserita: 16 luglio 2003 la prossima domanda?01+01=?oh! cavoli quanto fa?no perche il livello era questo!Ok Rango , ma la cosa piu' ovvia da fare , se la domanda ti irrita, e' non rispondere.Chi ha aperto questa discussione , non ti ha obbligato a fare niente.... .Immagina se domani fai una domanda su come configurare un Driver nuovo e per risposta hai :" leggi l'.! " ," e una cosa banale! " " se non sai programmare gli inversori ... torna alle valvole!"Penso che non ti piacerebbe.Alla domanda se e' possibile una risposta , io la do' ... mi costa 30" di tempo.SalutiLuca
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