Lucky67 Inserito: 27 luglio 2023 Segnala Share Inserito: 27 luglio 2023 Purtroppo non ho un plc sottomano e non posso provare e quindi vorrei fare una domanda: Avendo un ramo con più ingressi programmati come fronti di salita in OR che comandano un'uscita, mi chiedo: Un ingresso va alto e l'uscita reagisce al fronte andando ON per per un ciclo. Supponiamo che l'ingresso rimanga alto. L'uscita chiaramente dopo l'impulso del fronte in ingresso rimarrà bassa. Se un altro ingresso (in OR) va alto (con l'ingresso precedente in ON fisso), l'uscita reagirà al fronte non curandosi dell'ingresso stazionario? Link al commento Condividi su altri siti More sharing options...
dina_supertramp Inserita: 27 luglio 2023 Segnala Share Inserita: 27 luglio 2023 (modificato) Ciao, L'RLO in uscita dal parallelo di fronti sarà vero se almeno uno dei fronti è verificato, indipendentemente dagli altri. Quando si alza l'altro ingresso? Nello stesso ciclo di scansione?...E' questo il punto. Se si alzano in sequenza, ma nello stesso ciclo di scansione, l'uscita la vedrai sempre alta. Se si alzano in sequenza ma in cicli di scansione diversi, l'uscita sarà spenta dalla fine del ciclo del primo fronte verificato, fino a che non viene verificato il successivo fronte nel successivo ciclo. Modificato: 27 luglio 2023 da dina_supertramp Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 27 luglio 2023 Autore Segnala Share Inserita: 27 luglio 2023 16 minuti fa, dina_supertramp ha scritto: Nello stesso ciclo di scansione?...E' questo il punto. NO in cicli diversi 17 minuti fa, dina_supertramp ha scritto: Se si alzano in sequenza ma in cicli di scansione diversi, l'uscita sarà spenta dalla fine del ciclo del primo fronte verificato, fino a che non viene verificato il successivo fronte nel successivo ciclo. Anche se un ingresso rimane sempre alto dopo aver "esaurito" il suo fronte? Link al commento Condividi su altri siti More sharing options...
84paolo Inserita: 27 luglio 2023 Segnala Share Inserita: 27 luglio 2023 se rimane alto il merker di appoggio non si resetta e quindi l'altro fronte non va Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 27 luglio 2023 Autore Segnala Share Inserita: 27 luglio 2023 36 minuti fa, 84paolo ha scritto: se rimane alto il merker di appoggio non si resetta e quindi l'altro fronte non va Quindi, se ogni volta che viene azionata l'uscita per il suo ciclo di scansione io resetto tutti i merker di appoggio coinvolti nel ramo il fronte successivo azionerà l'uscita anche se un ingresso è attivo stabilmente? Link al commento Condividi su altri siti More sharing options...
84paolo Inserita: 28 luglio 2023 Segnala Share Inserita: 28 luglio 2023 (modificato) se il parallelo lo fai solo con gli ingressi e usi una funzione tipo p_trig con un solo merker di appoggio non funziona. se il parallelo lo fai con ogni ingresso il suo p_trig e tutti appoggi diversi funziona senza resettare niente. come hai detto tu se resetti l'appoggio subito la scansione dopo se l'input é alto ti fa un altro fronte. posta un esempio così lo vediamo Modificato: 28 luglio 2023 da 84paolo Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 28 luglio 2023 Autore Segnala Share Inserita: 28 luglio 2023 32 minuti fa, 84paolo ha scritto: posta un esempio così lo vediamo Una cosa del genere? Link al commento Condividi su altri siti More sharing options...
dina_supertramp Inserita: 28 luglio 2023 Segnala Share Inserita: 28 luglio 2023 (modificato) Ciao, In base alla logica che hai allegato vale quello che ti ho scritto. Hai un parallelo di tre fronti. Avrai l'uscita alta per tutto il ciclo di scansione in cui almeno uno di essi è verificato, se uno degli ingressi interrogati dal fronte resta alto l'uscita non si alza, perchè la stai comandando solo con fronti, senza interrogazioni dirette dell'ingresso. In parole povere: se l'ingresso resta alto, l'RLO in uscita dal fronte sarà falso finito il ciclo di scansione in cui il passaggio da 0 a 1 dell'ingresso è verificato, appunto perchè è un fronte, deve verificare il passaggio da 0 a 1 o viceversa, non verificare che l'ingresso resti alto. Focalizzati su questo concetto, il RLO in uscita dal fronte è verificato solo per il ciclo di scansione in cui il fronte viene rilevato. Solo una cosa: su qualsiasi manuale Siemens, anche quelli dell'S7 di vent'anni fa viene detto (e motivato il perchè) che i merker dei fronti non vanno mai richiamati in nessun punto del codice tranne che per il fronte stesso. Togli il reset di quei merker. Per i merker di fronte: Usare aree statiche dei DB per dichiararli (consiglio mio, fatti un DB di tanti bool dichiarati static che userai solo per i merker di fronte. Non richiamare mai il merker di fronte (ne in letture ne in scrittura) tranne che per il fronte stesso. Modificato: 28 luglio 2023 da dina_supertramp Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 28 luglio 2023 Autore Segnala Share Inserita: 28 luglio 2023 Alla fine la curiosità ha prevalso sulla pigrizia (per fortuna): ho cercato una cpu l'ho collegata e ho messo dentro una rete simile a quella postata collegata a un counter per vedere se l'uscita dava un clock per fare avanzare il counter stesso. Ho messo due ingressi col fronte e poi uno l'ho messo ON fisso. Lavorando col secondo, su ogni front il counter avanzava ed è quello che mi serve. 1 ora fa, dina_supertramp ha scritto: Solo una cosa: su qualsiasi manuale Siemens, anche quelli dell'S7 di vent'anni fa viene detto (e motivato il perchè) che i merker dei fronti non vanno mai richiamati in nessun punto del codice tranne che per il fronte stesso Da qui, una mia vecchia "querelle" coi fronti di salita/discesa siemens...mi dite cosa aspetta siemens a togliere quel bit di appoggio che, a mia conoscenza, non usa nessuno? Con il 200 era facilissimo e non c'era (il sotware non era tedesco) mentre col tia portal è stato fatto ancora un paso indietro!! In ogni caso grazie a tutti per la pazienza e per il supporto. Link al commento Condividi su altri siti More sharing options...
dina_supertramp Inserita: 28 luglio 2023 Segnala Share Inserita: 28 luglio 2023 15 minuti fa, Lucky67 ha scritto: Alla fine la curiosità ha prevalso sulla pigrizia (per fortuna): ho cercato una cpu l'ho collegata e ho messo dentro una rete simile a quella postata collegata a un counter per vedere se l'uscita dava un clock per fare avanzare il counter stesso. Ho messo due ingressi col fronte e poi uno l'ho messo ON fisso. Lavorando col secondo, su ogni front il counter avanzava ed è quello che mi serve. Si, proprio così ! Quote Da qui, una mia vecchia "querelle" coi fronti di salita/discesa siemens...mi dite cosa aspetta siemens a togliere quel bit di appoggio che, a mia conoscenza, non usa nessuno? Con il 200 era facilissimo e non c'era (il sotware non era tedesco) mentre col tia portal è stato fatto ancora un paso indietro!! Ma vallo a sapere, sono filosofise. Le inc***** che mi sono preso perchè scrivevo il merker di fronte non te le dico. (evitabilissime leggendo i manuali, cosa che dico la verità, quando inizai a programmare non facevo mai, andavo di metodo distruttivo, mentre ora prima leggo la teoria per poi applicarla e testarla...). Comunque col tuo DB statico dedicato solo ai merker di fronte non sbagli! Altro metodo: creati il tuo FB "Trig". Quando programmo in testo faccio cosi, non uso la funzione di sistema Link al commento Condividi su altri siti More sharing options...
batta Inserita: 28 luglio 2023 Segnala Share Inserita: 28 luglio 2023 (modificato) 3 ore fa, dina_supertramp ha scritto: se uno degli ingressi interrogati dal fronte resta alto l'uscita non si alza, perchè la stai comandando solo con fronti Forse sto interpretando male io. Nell'esempio, con il passaggio da FALSE a TRUE di "pippo", "topolino" o "pluto" avremo "paperino" TRUE per un ciclo. Se "pippo" rimane TRUE, e poi "topolino" passa da FALSE a TRUE, viene rilevato il fronte, e "paperino" sarà nuovamente TRUE per un ciclo. Tutto quello che c'è nel segmento 2 dell'esempio, va assolutamente tolto. Modificato: 28 luglio 2023 da batta Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 28 luglio 2023 Autore Segnala Share Inserita: 28 luglio 2023 6 minuti fa, batta ha scritto: Forse sto interpretando male io. Nell'esempio, con il passaggio da FALSE a TRUE di "pippo", "topolino" o "pluto" avremo "paperino" TRUE per un ciclo. Se "pippo" rimane TRUE, e poi "topolino" passa da FALSE a TRUE, viene rilevato il fronte, e "paperino" sarà nuovamente TRUE per un ciclo. Tutto quello che c'è nel segmento 2 dell'esempio, va assolutamente tolto. Si, probabilmente ho interpretato male io la frase di "paolo84" e pensavo di dover resettare i flag di appoggio. Diciamo che ho costruito un casino per una ca...ta. Questo perchè su alcuni plc su "rami di fronti di salita" in parallelo, se un ramo rimane impegnato non vengono più rilevati i fronti e quindi volevo capire siemens come si comportava. Adesso ho compreso corrobarato anche da una prova "fisica". Grazie Batta Link al commento Condividi su altri siti More sharing options...
batta Inserita: 28 luglio 2023 Segnala Share Inserita: 28 luglio 2023 5 ore fa, Lucky67 ha scritto: Questo perchè su alcuni plc su "rami di fronti di salita" in parallelo, se un ramo rimane impegnato non vengono più rilevati i fronti e quindi volevo capire siemens come si comportava. Su qualsiasi PLC se si mettono i fronti di salita in parallelo, ogni singolo fronte attiva l'uscita. Diverso se si mettono in parallelo più contatti, e si rileva il fronte dopo, come nei due esempi che seguono: Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 28 luglio 2023 Autore Segnala Share Inserita: 28 luglio 2023 30 minuti fa, batta ha scritto: Su qualsiasi PLC se si mettono i fronti di salita in parallelo, ogni singolo fronte attiva l'uscita. TI assicuro che per alcuni plc non è così e te lo dico con sicurezza avendoci sbattuto la testa personalmente...è per questo che mi era venuto il dubbio. Link al commento Condividi su altri siti More sharing options...
Claudio F Inserita: 30 luglio 2023 Segnala Share Inserita: 30 luglio 2023 C'è da dire che con questa configurazione Paperino "fa un saltino" ad ogni fronte di almeno uno degli ingressi, a condizione che i singoli fronti degli ingressi siano distanziati di almeno due cicli di scansione. Se i fronti sono più di uno nello stesso ciclo, o compaiono in sequenza nei cicli di scansione immediatamente seguenti, Paperino fa un salto solo, o un salto un po' più lungo. Quindi se lo scopo è sapere se arriva almeno un fronte va bene, ma se lo scopo è contare i fronti, anche se contemporanei o in sequenza un ciclo dopo l'altro, serve un'altra strategia. Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 1 agosto 2023 Autore Segnala Share Inserita: 1 agosto 2023 11 ore fa, Claudio F ha scritto: se lo scopo è sapere se arriva almeno un fronte va bene E' questo lo scopo. comunque grazie della precisazione che era dovuta.. Link al commento Condividi su altri siti More sharing options...
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