antstan Inserito: 6 aprile 2005 Segnala Share Inserito: 6 aprile 2005 Salve!!!Sto scrivendo del codice con Rs logix 5000....Ho bisogno di cambiare il valore Preset all'istruzione TON mentre il controllore è in run. Ma è possibile che questa istruzione scritta in Ladder non me lo permette???Praticamente mi acceta solo valori numerici DINT: non posso inserire un Tag dichiarato DINT?? Link al commento Condividi su altri siti More sharing options...
rguaresc Inserita: 6 aprile 2005 Segnala Share Inserita: 6 aprile 2005 (modificato) Quando hai creato il timer, per esempio "Timer_x" hai costruito anche il registro di preselezione "Timer_x.PREDa qualche parte con un'istruzione MOVE scrivi il tempo variabile in questo registro.E' un metodo usuale nei programmi Allen Bradley Modificato: 6 aprile 2005 da rguaresc Link al commento Condividi su altri siti More sharing options...
jumpier Inserita: 7 aprile 2005 Segnala Share Inserita: 7 aprile 2005 Già, "rguaresc" ha ragione! E' del tutto similare al vecchio SLC500 o PLC5.Un esempio che fa al caso tuo lo trovi sul manuale 1756.6.4.1. Io ne ho una vecchia ediz. del marzo 1999.Prova a controllareCiao, Jumpier Link al commento Condividi su altri siti More sharing options...
antstan Inserita: 7 aprile 2005 Autore Segnala Share Inserita: 7 aprile 2005 Ciao!!Quel manuale non lo trovo....Comunque: Quando in ladder chiamo l'istruzione Ton devo obbligatoriamente inserire un valore!!!! Ora devo modificarlo attraverso l'istruzione Mov! naturalmente, credo, nel rung successivo. Giusto??Ma una cosa non capisco in rslogix 5000: Quando dichiaro un Tag non posso inizianizzarlo ad un valore appropriato??? Devo per forza far riferimento all'istruzione S:fs???Inoltre immaginiamo di avere 200 ingrassi digitali, tutti indipendenti tra loro, i quali vanno temporizzati. per esempio: Sul fronte di discesa devo incrementare un int se però nell'arco di 5 secondi ho un altro fronte questo non deve contarlo.... In tal caso avevo pensato di utilizzare una subroutine e richiamare 200 volte la routine nel main ma in tal caso non dovrei avere dei conflitti sulla variabile che richiama?? Mi spiego meglio:Ho, ad esempio, definito un tag personalizzato il quale contiene una variabile timer, ne dichiaro tanti quanti sono gli ingressi. Attraverso jsr richiamo la routine e gli invio il tag nella routine: prendo il tag con l'istruzione sbr. Nella routine utilizzo un tag di appoggio, ed alla Fine restituisco il tag modificato. Non posso ancora provare il codice a causa dell'hardware ma mi sembra che in questo modo ci possono essere dei conflitti sui tag in particolare sul timer... Che ne pensate??Spero di essermi spiegato!!! Link al commento Condividi su altri siti More sharing options...
Gianluca Caredda Inserita: 7 aprile 2005 Segnala Share Inserita: 7 aprile 2005 L'istruzione MOV può essere messa in qualunque punto del programma dove quel Timer è visibile (dappertutto se è una variabile globale, nel solo Program dove è stata creata se è una variabile locale).I Tag non vengono dichiarati durante l'esecuzione del programma: vengono creati durante la scrittura del programma. Da RsLogix puoi impostare nel tag del timer un determinato valore di preset: questo verrà mantenuto nella memoria del PLC vita natural durante, per cui non c'è necessariamente bisogno di un'inizializzazione del valore di preset, a meno che tu non abbia particolari esigenze.Per quanto riguarda l'esecuzione di routines con timer interni, io uso dei timer con indirizzamento indicizzato (dei vettori di timer che hanno come indice l'indice di avanzamento del loop for..next che richiama la routine).Non so però se sia il tuo caso, perchè sei stato abbastanza vago nell'esposizione. Link al commento Condividi su altri siti More sharing options...
antstan Inserita: 7 aprile 2005 Autore Segnala Share Inserita: 7 aprile 2005 devo poter inizializzare il valore di preset perchè devo gestirlo da PC.So che non devo sempre inizializzarlo Mi chiedevo in realtà se posso ad esempio impostare le word di controllo direttamente alla dichiarazione senza chiamarmi il mov....Comunque sembra che riesco a capire...... Link al commento Condividi su altri siti More sharing options...
Gianluca Caredda Inserita: 7 aprile 2005 Segnala Share Inserita: 7 aprile 2005 Cosa intendi per dichiarazione? E cosa devi gestire esattamente da PC? Link al commento Condividi su altri siti More sharing options...
antstan Inserita: 7 aprile 2005 Autore Segnala Share Inserita: 7 aprile 2005 Ad esempio ho dei moduli seriali 1734-232asc su controlnet e devo impostarne le caratteristiche sul protocollo...Da PC, dove risiede il mio hmi che scriverò in vb devo ad esempio poter modificare il tempo di ritardo di cui specificato precedentemente!!Comunque il tuo suggerimento sul for mi sembra appropriato!!!! Così, proprio ora, ho dichiarato un array di elementi la cosa mi sembra molto più fattibile e veloce. tuttavia ora non posso impostare il preset del ton presente nella subroutine, se inserisco un mov nella sub forse risolvo il problema....Forse ora sono un pò confuso, ma dovrò cominciare da qualche parte Comunque grazie per la disponibilità!!!!!!!!!! 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