macro Inserito: 10 settembre 2007 Segnala Share Inserito: 10 settembre 2007 un mio collega ha creato un fb collegato ad un db d'istanza per il comando di numerose elettrovalvole presenti in un impianto.il mio problema è questo lui ha usato 2 timer all'interno dell'fb per definire i timeout del movimento ma io credo non sia corretto, o meglio non sono sicuro se i timer funzionano correttamente.avete una risposta in merito?io avrei fatto un contatore appoggiando un impulso di clock in ingresso al mio Fb comparandolo poi con un valore fisso o variabile. in questo modo nel mio db d'istanza si dovrebbe creare anche un a voce dove c'è l'accumulatore del conteggio e l'eventuale confronto. ciao a tutti macro Link al commento Condividi su altri siti More sharing options...
kamikaze Inserita: 10 settembre 2007 Segnala Share Inserita: 10 settembre 2007 (modificato) un mio collega ha creato un fb collegato ad un db d'istanza per il comando di numerose elettrovalvole presenti in un impianto.il mio problema è questo lui ha usato 2 timer all'interno dell'fb per definire i timeout del movimento ma io credo non sia corretto, o meglio non sono sicuro se i timer funzionano correttamente.Se ha scirtto bene il programma e' corretto I blocchi associati ad un DB di istanza , sono detti FB con multiistanza.Dove non esistono delle variabili assolute come nei blocchi comuni , ma delle variabili che possono essere associate a valori assoluti di ingressi uscite timers ecc. via via che vengono richiamati nell'interfaccia del blocco.Esempio:// Controllo timer 1CALL FB1 , DB1 // chiama sottoprogr. FB1 associato alla DB istanza DB1"Ingresso" := E0.1// variabile IN"Uscita" := A1.0// variabile OUT oppure IN/OUT"Timer" := T10 // Variabile IN// Controllo timer 2CALL FB1 , DB1 // chiama sottoprogr. FB1 associato alla DB istanza DB1"Ingresso" := E0.2// variabile IN"Uscita" := A1.1// variabile OUT oppure IN/OUT"Timer" := T11 // Variabile INNel blocco FB1 troverai scritto U #IngressoLs5T#1sSE #TimerU #Timer=#UscitaIn questo modo , richiamando piu' volte lo stesso FB (che fara' sempre le lmedesime operazioni), associandogli via via diversi valori all'interfaccia , risparmierai tempo a scriverti diversi FB che poi farebbero la stesa cosa , e risparmieresti memoria.CiaoIvan Modificato: 10 settembre 2007 da kamikaze Link al commento Condividi su altri siti More sharing options...
macro Inserita: 10 settembre 2007 Autore Segnala Share Inserita: 10 settembre 2007 no quello scritto è qualcosa del tipo:// Controllo timer 1CALL FB1 , DB1 // chiama sottoprogr. FB1 associato alla DB istanza DB1"Ingresso" := E0.1// variabile IN"Uscita" := A1.0// variabile OUT oppure IN/OUT// Controllo timer 2CALL FB1 , DB1 // chiama sottoprogr. FB1 associato alla DB istanza DB1"Ingresso" := E0.2// variabile IN"Uscita" := A1.1// variabile OUT oppure IN/OUTNel blocco FB1 trovo scritt0U #IngressoLs5T#1sSE t10U t10=#Uscita Link al commento Condividi su altri siti More sharing options...
macro Inserita: 10 settembre 2007 Autore Segnala Share Inserita: 10 settembre 2007 ... e credo sia del tutto sbagliato.... Link al commento Condividi su altri siti More sharing options...
kamikaze Inserita: 11 settembre 2007 Segnala Share Inserita: 11 settembre 2007 Si..... non e' proprio correttissimo .Il nome di un timer deve essere univoco all'interno del programma.Beh, non e' che hai un errore crtico, ma solo rischi che il timer abbia un funzionamento imprevisto.Deve associare il nome di un timer alla variabile tipo IN--->Tipo del dato TIMER da inserire nell'interfaccia di chiamata del blocco.Ivan 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