gerolamo Inserito: 4 gennaio 2008 Segnala Share Inserito: 4 gennaio 2008 scusatemi se di nuovo sono qui a farvi perder tempo con i miei dubbi elementari.Il quesito è questo: Devo attivare a intervalli di tempo ( con T3-T4-T5) lo stesso timer T1 il quale deve tenere alto un merker per 1S.ho scritto queste istruzioni (banali) ma, purtroppo qualcosa non va e non capisco cosa. UN T 6 L S5T#5S SE T 3 U T 3 L S5T#5S SE T 4 U T 4 L S5T#5S SE T 5 U T 5 L S5T#5S SE T 6 U T 3 FP M 1.0 U T 4 FP M 1.1 U T 5 FP M 1.2 O M 1.0 O M 1.1 O M 1.2 S M 4.4 U M 4.4 L S5T#1S SE T 1 U T 1 R M 4.4Non ne vengo a capo, scritto cosi mi sembra giusto. Vi ringrazio in anticipo per eventuali aiuti. Link al commento Condividi su altri siti More sharing options...
Supertony Inserita: 4 gennaio 2008 Segnala Share Inserita: 4 gennaio 2008 (modificato) ...scritto così sembra SBAGLIATO! :-)Nel momento in cui interroghi T3 e poi lanci l'FP, l'RLC utile dopo quel punto dura solo un giro programma, quindi non certo quanto basta per attendere anche T4 e T5 con relativi fronti... perchè in effetti lì è tutta una serie. Ora, se ho ben capito, non credo tu volessi ottenere quella serie, ma piuttosto leggere separatamente ogni fronte per poi interrogarli pù sotto in OR, ma nota bene che hai interrogato direttamente il bit di appoggio, cioè quello scritto a fianco l'FP, e non il risultato di tale RLC!In altre parole, quella parte andrebbe riscritta così: U T 3 FP M 1.0 = M 2.0 U T 4 FP M 1.1 = M 2.1 U T 5 FP M 1.2 = M 2.2 O M 2.0 O M 2.1 O M 2.2 S M 4.4...per il resto non ho guardato anche se non sembra male, sono di stra-fretta e quanto sopra mi saltava all'occhio velocemente ... riprova un po'! :-) Modificato: 4 gennaio 2008 da Supertony Link al commento Condividi su altri siti More sharing options...
gerolamo Inserita: 4 gennaio 2008 Autore Segnala Share Inserita: 4 gennaio 2008 Io non posso che ringraziarti per la tempestività mi dispiace dirti che ho provato la modifica ma non funziona.Il T1 parte ma non scarica mai il tempo di 1S e M4.4 non si setta mai. Link al commento Condividi su altri siti More sharing options...
gerolamo Inserita: 4 gennaio 2008 Autore Segnala Share Inserita: 4 gennaio 2008 Le istruzioni che ho evidenziato sono un estratto, provo a spiegare la funzione di cui ho bisogno e magari si trovano soluzioni alternative.Con un simulatore di presenza devo comandare le luci di un appartamento, Queste luci sono interfacciate da relè passo passo ecco perchè T1 deve resettare il comando dopo 1S,Ho pensato di costruirlo con questa sequenza di timer ma purtroppo mi sono arenato subito.Se avete delle alternative sono ben accette. Link al commento Condividi su altri siti More sharing options...
Supertony Inserita: 4 gennaio 2008 Segnala Share Inserita: 4 gennaio 2008 (modificato) Appena provato così sul simulatore (non mi passa proprio, stasera, sono in una camera di hotel a Telaviv che non riesco a dormire!!!!!! :-O ) e funziona a meraviglia: UN T 6 L S5T#2S SE T 3 U T 3 L S5T#2S SE T 4 U T 4 L S5T#2S SE T 5 U T 5 L S5T#2S SE T 6 U T 3 FP M 1.0 = M 2.0 U T 4 FP M 1.1 = M 2.1 U T 5 FP M 1.2 = M 2.2 O M 2.0 O M 2.1 O M 2.2 S M 4.4 U M 4.4 L S5T#1S SE T 1 U T 1 R M 4.4Quello che ciclava sul simulatore (e vedo chiaramente il 4.4 che sale e scende) l'ho copiato e incollato qui :-) Buona notte! Modificato: 4 gennaio 2008 da Supertony Link al commento Condividi su altri siti More sharing options...
cisio Inserita: 5 gennaio 2008 Segnala Share Inserita: 5 gennaio 2008 la parte che setta M4.4 si può scrivere anche così: U T 3 FP M 1.0 O( U T 4 FP M 1.1 ) O( U T 5 FP M 1.2 ) S M 4.4ciao Link al commento Condividi su altri siti More sharing options...
gerolamo Inserita: 5 gennaio 2008 Autore Segnala Share Inserita: 5 gennaio 2008 Grazie Supertony e Grazie cisio, riconosco di avere delle grosse lacune ma questo non me lo spiego.Vi metto una sequenza di quanto succede nella cpu che ho in prova.E' strano che M4.4 non si setta e il T1 non finisce mai di contare. Link al commento Condividi su altri siti More sharing options...
gerolamo Inserita: 5 gennaio 2008 Autore Segnala Share Inserita: 5 gennaio 2008 Vi è mai successo che un timer si guastasse?Forse è questo il problema.Ho cambiato T1 con T100 e in effetti funziona. Link al commento Condividi su altri siti More sharing options...
kamikaze Inserita: 5 gennaio 2008 Segnala Share Inserita: 5 gennaio 2008 Trove veramente difficile che un timer si guasti, anche se confesso che ho letto velocemente i codici di Supertony e Cisio, ma confido al100% che siano corretti, presumo che il motivo possa essere che all'interno del programma si agia presente da un'altra parte il T1 (Doppie dichiarazioni, nel migliore dei casi non funzionanao, nei peggiori, funzionano in modo imprevisto).CiaoIvan Link al commento Condividi su altri siti More sharing options...
Luca Bettinelli Inserita: 5 gennaio 2008 Segnala Share Inserita: 5 gennaio 2008 Vi è mai successo che un timer si guastasse?Ne ho viste di tutti i colori ma che un timer software si possa guastare :ph34r: Fosse un timer fisico, potrebbe essere.Sicuramente ci sarà qualche baco nel programma, lo stesso timer usato in due punti diversi o qualche cosa di simile. Link al commento Condividi su altri siti More sharing options...
cisio Inserita: 5 gennaio 2008 Segnala Share Inserita: 5 gennaio 2008 se vedi T1 che conta con M4.4 che rimane a 0e il codice è rimasto il seguente: U M 4.4 L S5T#1S SE T 1significa che T1 è avviato/stoppato anche da qualche altra parte nel programmacontrolla con i riferimenti incrociati che non ci siano altri utilizzi di tutti i timer e di tutti i merker coinvolticiao Link al commento Condividi su altri siti More sharing options...
Supertony Inserita: 5 gennaio 2008 Segnala Share Inserita: 5 gennaio 2008 Ti faccio un'osservazione potenzialmente utile... uan volta, mi sono trovato a impazzire perchè T0 e T1 non funzionavano, e ovviamente non erano usati da nessun'altra parte... ebbene, nel rack avevo anche una scheda FM357, che guarda te... LI RISERVA PER USO INTERNO, maledizione!!!!!!!! Effettivamente, la cosa era scritta, nel manuale.. .. .. solo che era una vita che usavo la scheda, vai tu a pensare.. . . . . Link al commento Condividi su altri siti More sharing options...
gerolamo Inserita: 5 gennaio 2008 Autore Segnala Share Inserita: 5 gennaio 2008 Per curiosità ho cancellato la memoria della cpu e in ob1 ho scritto le istruzioni, vi sembrerà strano ma il T1 si comporta allo stesso modo.Grazie per tutte le info che mi state dando, sto imparando più qui in questi giorni che non a scuola. Link al commento Condividi su altri siti More sharing options...
gerolamo Inserita: 5 gennaio 2008 Autore Segnala Share Inserita: 5 gennaio 2008 (modificato) Data la mia avversità con i timer ho provato a cercare un'alternativa.In questo modo ho sempre un valore di confronto casuale che importo dai secondi dell'orologio interno la cpu.Secondo voi mi sto complicando la vita? però mi piacciono questi esperimenti (quando funzionano!)Potete darmi un consiglio/giudizio? U "abilitazione" U "Mk_di_clock_1Hz" FP M 245.5 U M 245.5 SPB m001 SPA m003 m001: U M 4.4 U M 245.5 R M 4.4 L MW 32 + 1 T MW 32 L MW 30 >I SPB m002 SPA m003 m002: NOP 0 S M 4.4 L "secondi da LB5" T MW 30 L 0 T MW 32 m003: NOP 0 Modificato: 5 gennaio 2008 da gerolamo Link al commento Condividi su altri siti More sharing options...
cisio Inserita: 6 gennaio 2008 Segnala Share Inserita: 6 gennaio 2008 Data la mia avversità con i timer ho provato a cercare un'alternativa.In questo modo ho sempre un valore di confronto casuale che importo dai secondi dell'orologio interno la cpu.Secondo voi mi sto complicando la vita? però mi piacciono questi esperimenti (quando funzionano!)Potete darmi un consiglio/giudizio?sinceramente, non si capisce nè cosa volevi ottenere (valore di confronto CASUALE???), nè cosa faccia realmente quel pezzo di codice.una cosa invece è chiara: non hai capito come funziona l'istruzione FPse scrivi FP M 245.5il merker M245.5 non ha il significato che pensi tu: è solo un merker d'appoggio per l'istruzione e non devi più interrogarlose invece scrivi U "abilitazione" U "Mk_di_clock_1Hz" FP M 245.5 = M 200.0allora M200.0 è un merker che sarà ON solamente per una scansione, sul fronte di salita della condizione dalle righe precedenti al FPguarda l'aiuto in linea di STEP7 per l'istruzione FPciao Link al commento Condividi su altri siti More sharing options...
gerolamo Inserita: 6 gennaio 2008 Autore Segnala Share Inserita: 6 gennaio 2008 Grazie cisio, bisogna che che abitui a usare F1 in caso di dubbio. il punto è che spesso sono pigro e ancora non mi viene naturale applicarmi.I miei e gli insegnanti me lo sottolineano sempre.Tornando al codice: con l'ultimo che ho scritto voglio impostare un tempo di intervallo tra un'attivazione e l'altra che non sia mai lo stesso.In modo tale che la simulazione di presenza persone sembri casuale.Lo so che può sembrare stupida come esercitazione ma a me serve per prendere confidenza con la programmazione.Grazie per le dritte che mi dai Link al commento Condividi su altri siti More sharing options...
cisio Inserita: 6 gennaio 2008 Segnala Share Inserita: 6 gennaio 2008 Allora, se prendo il tuo ultimo parto e lo riscrivo meglio viene cosi: U "abilitazione" U "Mk_di_clock_1Hz" FP M 245.5 = M 4.0 /// U M 4.0 SPBN m003 /// U M 4.4 R M 4.4 /// L MW 32 + 1 T MW 32 L MW 30 >I S M 4.4 SPBN m003 /// L "secondi da LB5" T MW 30 L 0 T MW 32 m003: NOP 0nota l'utilizzo del salto negato che ti permette una migliore leggibilitàadesso ho capito piu o meno cosa volevi fare: ogni x secondi M4.4 va a 1 per 1 secondo e puoi usarlo come simulazione presenza personeciao Link al commento Condividi su altri siti More sharing options...
gerolamo Inserita: 6 gennaio 2008 Autore Segnala Share Inserita: 6 gennaio 2008 Grazie ancora cisio, effettivamente il salto negato permette una maggiore leggibilità.Mi ci devo abituare, certo che la possibilità di saltare all'etichetta by passando parti di programma è interessante.Ciao alla prossima. 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