nickbeca Inserito: 29 aprile 2003 Segnala Inserito: 29 aprile 2003 Salve,spero mi possiate aiutare....Sto implementando un programma con Step7 Ver 5.2 in cui devo utilizzare uno stack LIFO.Ho cercato nele funzioni ed ho trovato la "FC 84 ATT" per inserire un elemento nello stack e la funzione"FC 87 LIFO" per prelevare l'ultimo elemento inserito. :ph34r: Avete avuto eseperienze di utilizzo di queste funzioni? Ci sono dei particolari accorgimenti da prendere?Qualcuno ha un esempio di utilizzo che posso confrontare con il mio?Grazie.... smemo
Gianmario Pedrani Inserita: 29 aprile 2003 Segnala Inserita: 29 aprile 2003 se devi creare una tabella fifo o lifo devi utilizzare la fc92 ed la fc 93 che trovi in s5-s7 converting block leggi il loro help sono molto semplici da usare se hai bisogno altre info fammelo sapere ciaooooo
nickbeca Inserita: 29 aprile 2003 Autore Segnala Inserita: 29 aprile 2003 Ma tanto perchè le mie funzioni non vanno bene??Ciao...
Gianmario Pedrani Inserita: 29 aprile 2003 Segnala Inserita: 29 aprile 2003 Perche le funzioni che tu hai scelto leggono un buffer gia creato e non ti permettono di inserire dei dati. per inserirli devi usare un altra funzione mentre con quelle che ti ho suggerito puoi inserire e leggere. io non ho mai detto che sono sbagliate.devi scegliere tu ora quella che fa al caso tuo.Io ti ho solo solo dato un altra strada ciao
Luca Bab Inserita: 29 aprile 2003 Segnala Inserita: 29 aprile 2003 le funzioni ATT , LIFO e FIFO vengono dal mondo Texas e vanno molto bene , non ho trovato controindicazionidevi abbinare una DB dove la prima word e' la lunghezza e la seconda e' quante word sono occupatel'unico inconveniente e' che se devi usare la db per conto tuo , quando togli un valore con lifo o fifo , questo rimane comunque presente nella db ( non viene cancellato )CiaoLuca
nickbeca Inserita: 29 aprile 2003 Autore Segnala Inserita: 29 aprile 2003 Entro ancora piu' nel dettaglio cosi' riesco a descrivervi il problema per come è!Devo accendere delle pompe (da 2 a 5 a seconda dei casi) in base a delle sogli di livello e poi rispengerle nello stesso ordine in cui le ho accese.Il fatto e' che devo anche prevedere la rotazione di accensione delle pompe.Io ho individuato come soluzione più pulita l'utilizzo di uno stack....Suggerimenti??Grazie...
Luca Bab Inserita: 30 aprile 2003 Segnala Inserita: 30 aprile 2003 Forse fare un fifo o lifo e' un po' esageratocredo che la logica te la puoi fare tu senza utilizzare FC precostruiti che vanno molto benema non sono proprio leggeripensa anche a farti te uno shiftmagari a byte o word ( ottieni lo stesso risultato del fifo )CiaoLuca
nickbeca Inserita: 30 aprile 2003 Autore Segnala Inserita: 30 aprile 2003 x Luca BabMi immaginavo che lo stack fosse esagerato, ma mi sembrava uno strumento puliti e efficace...comunque se puoi mi fai un esempio di shift di word o byte come mi hai suggerito??Grazie...
nickbeca Inserita: 30 aprile 2003 Autore Segnala Inserita: 30 aprile 2003 In generale, ormai che ho iniziato la discuss. finisco, mi potreste fare un esempio come ho chiesto a Luca?Vi ringrazio!!Ciao
dago_ Inserita: 30 aprile 2003 Segnala Inserita: 30 aprile 2003 (modificato) A ogni pompa corrisponde un WordPompa 1 Word_1=Valore 0,1,2,3,4,5 Pompa 2 Word_2=Valore 0,1,2,3,4,5Pompa 3 Word_3=Valore 0,1,2,3,4,5Pompa 4 Word_3=Valore 0,1,2,3,4,5Pompa 5 Word_3=Valore 0,1,2,3,4,5Esempio Impostazione SequenzaWord_1=4Word_2=1Word_3=3Word_4=5Word_5=2Il valore 0 da assegnare manualmente ad una pompa che deve essereesclusa oppure im modo automatico se e' in allarme (termico,ecc...)Se ad esempio imposto tutte le Word con valore 1 le pompe partonotutte insieme.Sequenza di MarciaPompa_2 > Pompa_5 > Pompa_3 > Pompa_1 > Pompa_4Allo Start Mov #1 nella Word (es:Word10) di conteggio sequenza Se WordX=Word_10 start pompa corrispondentePer avviare la seconda pompa incrementa Word_10Sequenza di ArrestoPompa_4 > Pompa_1 > Pompa_3 > Pompa_5 > Pompa_2Arresta l'ultima pompa avviata WordX=Word_10 stop pompa corrispondentePer arrestare la precedente decrementa Word_10Sequenza di MarciaStart Pompa_1 se word_1=Word_10 StartStart Pompa_2 se word_2=Word_10 StartStart Pompa_3 se word_3=Word_10 StartStart Pompa_4 se word_4=Word_10 StartStart Pompa_5 se word_5=Word_10 StartSequenza di ArrestoStart Pompa_1 se word_1=Word_10 StopStart Pompa_2 se word_2=Word_10 StopStart Pompa_3 se word_3=Word_10 StopStart Pompa_4 se word_4=Word_10 StopStart Pompa_5 se word_5=Word_10 StopPiu' o meno, ma non fidarti troppo e' probabile che esistano modi molto meno spartani. Modificato: 30 aprile 2003 da dago_
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