fortun Inserito: 30 ottobre 2003 Segnala Inserito: 30 ottobre 2003 C'è qualcuno che ha voglia di spiegarmi in parole semplici quando devo dichiarare una variabile di tipo In_OUT piuttosto che Stat? io non capisco bene la differenza ai fini pratici.Grazie a chiunque risponderà e buonlavoro.
robyvelocity Inserita: 30 ottobre 2003 Segnala Inserita: 30 ottobre 2003 Per capire bene come utilizzarle devi concentrarti prima sulle FC e poi sulle FB interpretando bene il loro significato e la loro funzione. Manuale e manuale ...Ciao
pigroplc Inserita: 30 ottobre 2003 Segnala Inserita: 30 ottobre 2003 Sulle FB la dichiarazione di parametro STAT si riferisce ad un parametro che mantiene il valore anche al di fuori della elaborazione del blocco. La call del blocco sarà corredata dall'informazione aggiuntiva del blocco dati di istanza, cioè un blocco dati che il compilatore crea alla conferma della call:es CALL FB11, DB11il DB11 verrà creato con la struttura dati che tu hai indicato nel blocco. Se vuoi leggere la variabile in un' altraparte dell'applicativo devi scrivere L DB11.DBW 2se la variabile ha l'indirizzo 2 (lo vedi a sinistra in alto).Il parametro IN-OUT si riferisce ad un parametro che compare nella CALLes CALL FB11,DB11 ALFA:MW90 // parametro inputBETA:MW92 // parametro inputSOMMA:MW100 // parametro IN-OUTdove SOMMA è ALFA + BETAe la FB è0 in:ALFA WORD2 in:BETA WORD4 inout:SOMMA WORD6 stat: INCR WORDla dichiarazione serve a vedere rinfrescato il valore sulla MW100 anche dopo il lancio della FB11L #ALFAL #BETA+IT #SOMMAL #INCR // contatore delle volte che lanci la sommaL 1 // serve solamente a spiegarti ....+IT #INCR Questo parametro INCR lo potrai leggere fuori dalla FB11 con l'indirizzo DB11.DBW6Ti consiglio di parametrizzare blocchi di eleborazioni matematiche e di debuggare il blocco con una sola call altrimenti perdi la visualizzazione dello stato. Inoltre ti consiglio di non cadere nel solito errore dei "pivellini" di parametrizzare routines che effettuano semplici operazioni AND / OR.Perche????prova e lo sapraiciao
walterword Inserita: 5 novembre 2003 Segnala Inserita: 5 novembre 2003 (modificato) negli fc trovi variabili:-in-in-out-out-tempnegli fb trovi invece variabili:-in -in-out-out-temp-statai fini pratici della validita non c'e' molta differenza tra in-out e statiche le statiche stanno su un db di istanza dell'fb in questioneentrambe si aggiornano e rimangono valide tra un ciclo di scansione ed un altrole statiche hanno il loro indirizzo in un db mentre le in-out le passi come parametri quando richiami il blocco esempio:se devo programmare un s7-200 e faccio un blocco parametrizzato dove devo pilotare lo start stop di un motore e dove non dispongo di statiche creo un blocco parametrizzato dove chiedo sicuramente in in-out un parametrodi tipo bool che mi mantenga il valore dell'autoritenuta .lo stesso in s7300-400 , se usi un fb puoi usare le statiche ma anche le in-outin tempo e' chiaro che un fb "consuma" di piu che un fcma agli effetti pratici di validita nonho mai notato differenze esistenziali tra i due tipi di variabiliciaop.s.: unavariabile in-out la dichari quando devi leggerla e scriverla , cosi come anche una statica la leggi e la scrivi. Modificato: 5 novembre 2003 da walterword
JumpMan Inserita: 6 novembre 2003 Segnala Inserita: 6 novembre 2003 Può essere preferibile usare STAT anzichè IN-OUT quando devi memorizzare grandi quantità di dati o valori che non devi necessariamente passare all'OB/FB/FC richiamante.L'esempio classico potrebbe essere un FB che memorizza in un grande array della DB d'istanza la durata dei cicli macchina, oppure la quantità di produzione con la data e l'ora ecc. ecc.I dati memorizzati non servono nel blocco richiamante, ma sono disponibili per essere visualizzati su un pannello operatore, per cui è preferibile usare variabili STAT.Un'altro esempio potrebbe essere un FB che legge o scrive parametri da più azionamenti collegati in profibus, per ogni azionamento si fa una DB d'istanza nelle cui variabili STAT risiedono i dati da scrivere e quelli letti dall'azionamento. Poi si richiama l'FB tante volte quanti sono gli azionamenti (cambiando DB ogni volta) e si passano all'FB solo i parametri indispensabili (p.es. indirizzo dell'azionamento).
walterword Inserita: 6 novembre 2003 Segnala Inserita: 6 novembre 2003 (modificato) concordo pienamente con teio mi riferivo ad una validita esistenziale piuttosto che applicativai tuoi esempi sono piu che validi ciaops nelle comunicazioni poi e' inevitabile l'uso di statiche contenute in fb dedicati Modificato: 6 novembre 2003 da walterword
robur Inserita: 18 novembre 2003 Segnala Inserita: 18 novembre 2003 "Inoltre ti consiglio di non cadere nel solito errore dei "pivellini" di parametrizzare routines che effettuano semplici operazioni AND / OR."Mi potreste spiegare meglio questa affermazione !! Io ho parametrizzato fc anche per semplici operazioni "and" ed "or" ma non ho trovato niente di anomalo , qual'è il rischio che ho corso ? Grazie.
Luca Bab Inserita: 18 novembre 2003 Segnala Inserita: 18 novembre 2003 Ti rispondo io anche se non avevo fatto l'affermazionema penso che chi ha detto cio' era perche'per semplici funzioni non vale la pena fare dei blocchi parametrizzati e indicizzatipoiche' sono molto piu' pesanti ( in tempo di elaborazione ) delle istruzioni stessela morale e' " fai le cose difficili solo quando non e' possibile farle facili"CiaoLuca
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