Operational Amplifier Inserito: 17 marzo 2015 Segnala Inserito: 17 marzo 2015 Sto effettuando dei test con SET e CLR ed ho scritto il seguente codice all'interno di una FC : VAR IN : SP = REAL PV = REAL GAIN = REAL TEMPO_CAMPIONAMENTO = S5#TIME TIMER_CAMPIONAMENTO = TIMER VAR OUT : OUT = REAL BEGIN L #TEMPO_CAMPIONAMENTO SET SE #TIMER_CAMPIONAMENTO UN #TIMER_CAMPIONAMENTO BEB L #SP L #PV -R L #GAIN *R T #OUT CLR SE #TIMER_CAMPIONAMENTO In poche parole vorrei effettuare questa operazione ogni volta che interviene il timer.....vedo il timer che si setta e resetta con impostazione dell' S5#time ma le operazioni non sono corrette......
STEU Inserita: 17 marzo 2015 Segnala Inserita: 17 marzo 2015 Il timer conta solo quando vede il fronte del RLC.
Operational Amplifier Inserita: 17 marzo 2015 Autore Segnala Inserita: 17 marzo 2015 Grazie per aver risposto.....si è proprio quello che intendevo fare e quello lo fa, se provi a copiare il codice e creare l'FC vedrai che se metti una variabile di un DB sull' uscita OUT continuerà a cambiare valore in funzione del tempo che imposti con il parametro S5#time mentre se utilizzo un merker NO. Ho risolto così: AUF "PROVA" ---> DB1 CALL "PROVA FC" SP :=1.900000e+002 //"DATI PRODUZIONE".D_152 PV :=5.000000e+000 //"MD54" //"DB DATI PIANO FORNO".VELOCITA_CATENA GAIN :=3.000000e+000 TIMER_CAMPIONAMENTO:="T70" TEMPO_CAMPIONAMENTO:=S5T#1S OUT :=DBD0 <---- se quì scrivo DB1.DBD0 da problemi
pomat Inserita: 17 marzo 2015 Segnala Inserita: 17 marzo 2015 Ciao, anche se non era quello il problema, comunque se ti piace puoi semplificare: BEGIN UN #TIMER_CAMPIONAMENTO L #TEMPO_CAMPIONAMENTO SE #TIMER_CAMPIONAMENTO BEB L #SP L #PV -R L #GAIN *R T #OUT END_FUNCTION
Operational Amplifier Inserita: 17 marzo 2015 Autore Segnala Inserita: 17 marzo 2015 Grazie per il suggerimento pomat......
walterword Inserita: 20 marzo 2015 Segnala Inserita: 20 marzo 2015 set e clr sono due istruzioni che permettono di agire sul risultato logico combinatorio (RLC) che viene alcolato in base al flusso di istruzioni che la cpu sta eseguento .In pratica quando fai una logica , semplice , con due operandi in and , se li hai tutti e due veri allora RLC=1 Se RLC =1 puoi attivare timer , bobine ect . Se espliciti direttamente SET vuol dire che vuoi impostare l'RLC a prescindere dalle logiche che vengono prima , e' una forzatura come usare il true .La CLR invece imposta a zero l'RLC . Stai attento ad usare queste istruzioni .....e' meglio che da qualche parte usi una volta sola il SET per settare un bit sempre a true e poi usi quello
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