Matteo Montanari Inserito: 22 febbraio 2005 Segnala Inserito: 22 febbraio 2005 Ciao Keosmm,mi potresti spiegare o fornire un esempio di come hai utilizzato lo shift all'interno di ob35 per la gestione di più FB58 o meglio gestione di più termoregolazioni senza appesantire lo scan time della cpu ?Grazie in anticipo .Ecco riportato un esempio.in questo caso si tratta di un OB35, ma può essere utilizzato in ogni blocco.da tenere conto di non utilizzare memorie temporanee o volatili, perderebbero il ciclo di attivazione.ORGANIZATION_BLOCK OB 35 NETWORK TITLE =Scan memory creation // SET ; U M 130.6; = M 130.7; SET ; U M 130.5; = M 130.6; SET ; U M 130.4; = M 130.5; SET ; U M 130.3; = M 130.4; SET ; U M 130.2; = M 130.3; SET ; U M 130.1; = M 130.2; SET ; U M 130.0; = M 130.1; SET ; UN M 130.1; UN M 130.2; UN M 130.3; UN M 130.4; UN M 130.5; UN M 130.6; UN M 130.7; = M 130.0; NETWORK TITLE =Jump if not scan n°4 UN M 130.3; SPB pid5; NETWORK TITLE =ELABORAZIONE BLOCCO NETWORK TITLE =Jump if not scan n°5 pid5: UN M 130.4; SPB pid6; NETWORK TITLE =ELABORAZIONE BLOCCO NETWORK TITLE =Jump if not scan n°6 pid6: UN M 130.5; SPB pid7; NETWORK TITLE =ELABORAZIONE BLOCCO NETWORK TITLE =Jump if not scan n°7 pid7: UN M 130.6; SPB pid8; NETWORK TITLE =ELABORAZIONE BLOCCO NETWORK TITLE =end program pid8: NOP 0 END_ORGANIZATION_BLOCK
zeddini Inserita: 12 agosto 2005 Segnala Inserita: 12 agosto 2005 hey matteo, dove l'hai coppiata questa!zeddini
LaRocca Inserita: 12 agosto 2005 Segnala Inserita: 12 agosto 2005 Salve...Credo che possa fare anche una fetta di tempo, per esempio, se abbiamo l'OB35 correndo a 10ms, puoi fare che ogni programma corra ogni 100 ms (chiaro, a patto che non si richieda che il tempo di esecuzione sia molto piccolo), questa soluzione che do è un esempio che può utilizzarsi per ritagliare il tempo di scan del PLC...[B]ORGANIZATION_BLOCK OB 35[/B] NETWORK TITLE =Fetta di tempo AUF DB 50 L L#10 L DBB 0 INC 1 >I SPB M000 L 0 M000: T DBB 0 L DBB 0 SPL M012 // META DE SALTO SI ACCU1 > VALOR SPA M001 // META DE SALTO SI ACCU1 = 0 SPA M002 // META DE SALTO SI ACCU1 = 1 SPA M003 // META DE SALTO SI ACCU1 = 2 SPA M004 // META DE SALTO SI ACCU1 = 3 SPA M005 // META DE SALTO SI ACCU1 = 4 SPA M006 // META DE SALTO SI ACCU1 = 5 SPA M007 // META DE SALTO SI ACCU1 = 6 SPA M008 // META DE SALTO SI ACCU1 = 7 SPA M009 // META DE SALTO SI ACCU1 = 8 SPA M010 // META DE SALTO SI ACCU1 = 9 M012: SPA M011 M001: CLR CALL [B]FC XXX[/B] SPA M011 M002: CLR CALL [B]FC XXX+1[/B] SPA M011 M003: CLR CALL [B]FC XXX+2[/B] SPA M011 M004: CLR CALL [B]FC XXX+3[/B] SPA M011 M005: CLR CALL [B]FC XXX+4[/B] SPA M011 M006: CLR CALL [B]FC XXX+5[/B] SPA M011 M007: CLR CALL [B]FC XXX+6[/B] SPA M011 M008: CLR CALL [B]FC XXX+7[/B] SPA M011 M009: CLR CALL [B]FC XXX+8[/B] SPA M011 M010: CLR CALL [B]FC XXX+9[/B] M011: BE Spero che si capisca questo piccolo esempio
Matteo Montanari Inserita: 12 agosto 2005 Autore Segnala Inserita: 12 agosto 2005 LaRocca utilizzando il tuo esempio, occorre creare tanti FC quanti "salti" si desiderano.tra l'etichetta di salto, ad esmpio M001:, ed il salto incondizionato SPA M011, potresti mettere il codice da eseguire, lo stesso codice che scriveresti nel FC richiamato.
rddiego Inserita: 12 agosto 2005 Segnala Inserita: 12 agosto 2005 premetto come già detto in 1000 altre discussioni che le soluzioni possono essere molteplici, però se vorresti semplificare la tua routine potresti eliminare un po' di istruzioni e scrivere semplicemente L MB 130 L 2 *I T MB 130 U( L MB 130 L 0 ==I ) = M 130.0e poi fai i tuoi salti che dici keosmm?
Matteo Montanari Inserita: 12 agosto 2005 Autore Segnala Inserita: 12 agosto 2005 (modificato) che dici keosmm?dico chele soluzioni possono essere molteplicistà solamente nella fantasia, esperienza (o inesperenzia) del programmatore a trovarne una nuova, fortunatamente (in alcuni casì no) tutti abbiamo una testa per pensare (che venga usata o meno)...-o-o-o-o-o-o-o-o-o-o-o-o-o-la discussione è nata da una richiesta personale tramite e-mail, io ho messo la mia soluzione (datata, ai miei primi approcci con il mondo step7, ripresa da una cosa simile fatta per step5), però nulla e nessuno vieta a trovare nuove soluzioni.come ho detto in un altro post, la soluzione migliore è quella che utilizza meno risorse possibili, da altro canto occorre renderla "comprensibile" anche per NOI umani e non solo per il PLC. Modificato: 12 agosto 2005 da keosmm
LaRocca Inserita: 16 agosto 2005 Segnala Inserita: 16 agosto 2005 come ho detto in un altro post, la soluzione migliore è quella che utilizza meno risorse possibili, da altro canto occorre renderla "comprensibile" anche per NOI umani e non solo per il PLC.In questo caso concordo con Matteo, credo che abbiano molta logica le sue parole, Ogni testa ed ogni pensiero è un mondo
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