Vai al contenuto
PLC Forum


Set E Clr S7300


Operational Amplifier

Messaggi consigliati

Operational Amplifier
Inserito:

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......


Inserita:

Il timer conta solo quando vede il fronte del RLC.

Operational Amplifier
Inserita:

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

Inserita:

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:

Grazie per il suggerimento pomat...... :thumb_yello:

Inserita:

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

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...