Vai al contenuto
PLC Forum


Controllare Variabile Virgola Mobile


er-fulmine

Messaggi consigliati

SU UNA CPU S7 319 ho un dato in Real di una db (da ingresso analogico) e voglio verificare se nell'arco di un certo tempo rimane stabile o ha dei cambiamenti.

ho provato a giocare un po' con i trasferimenti all'interno della db, con timer vari, e con la funzione CMP ma non trovo la strada giusta...

Link al commento
Condividi su altri siti


Il formato Virgola mobile occupa 2 word ed è una codifica particolare, per cui devi usare una istruzione CMP>R ed una CMP<R per creare un po di tolleraza intorno al valore che devi controllare. Ciao

Link al commento
Condividi su altri siti

il valore che devo controllare è incrementale. nel senso che parte da zero e arriva a un valore massimo.

a me serve settare un merker nel caso che per qualche motivo quel valore rimane fisso per un certo tempo.

devo ad esempio trasferire il valore in un'altra doppiaword della stessa DB e mantenerlo "bloccato" in qualche modo per poi confrontarlo con il valore attuale.

facile a dirsi ... :lol:

Link al commento
Condividi su altri siti

Ciao , questa è una possibile soluzione

U(

L MD0 ----------- VALORE IN INGRESSO

L MD4 ----------- VARIABILE DI APPOGGIO

<>R

SPBN RIVA

L MD0

T MD4

SET

S M7.0

RIVA: NOP 0

UN M7.0

L S5T#10S

SE T20

U M7.0

R M7.0

ogni volta che il valore di ingresso varia viene resettato il timer .

Spero che il mio suggeriemnto ti sia utile

Link al commento
Condividi su altri siti

mi spiego:

come per i controlli PID (FB 43), si può "costruire" un FB specifico (appoggiato a una relativa DB) che abbia come variabili d'ingresso l'input analogico e il tempo di "campionamento", e in uscita il bit di "allarme"?

Link al commento
Condividi su altri siti

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