Vai al contenuto
PLC Forum


fb58


ferrarino

Messaggi consigliati

ciao a tutti, sto impazzendo su un fb58 non riesco in nessun modo a farlo funzionare in allegato ho messo il codice che uso, su LMN_PER non ho nessun valore di uscita, stiamo comunque parlando di una 314ifm con sonda 4-20ma.

Il tutto lo sto provando con il simulatore .

Grazie mille per l`aiuto.

fb58.PNG

Link al commento
Condividi su altri siti


Magari, se potessimo conoscere come sono impostati i parametri interni, soprattutto PVPER_ON, GAIN, TI e TD, qualche aiutino in più si riuscirebbe a dartelo.
La funzione PID poi, andrebbe richiamata in un OB a tempo e, in CYCLE, si deve impostare il tempo col quale viene richiamata la funzione.

Domanda: il manuale, l'hai letto?

Link al commento
Condividi su altri siti

grazie batta per la risposta, ob 35 lasciato in default 100ms,il manuale letto si infatti sono arrivato a questo leggendo, pvper_on,gain,,ti,td lasciati in default non ho impostato niente.

Link al commento
Condividi su altri siti

E quindi? Che valore hanno? A memoria non ricordo come sono impostati i valori di default.

Apri il DB di istanza, o creati una VAT, e controlla, online, i valori attuali.

Link al commento
Condividi su altri siti

buongiorno,

ecco le schermate, su LMN_PER ho  27648, che pur variando il valore di PV_IN non cambia .

Grazie ancora per il supporto.

(domanda off topic ma con la tessera del forum si accede a programmi didattici e altro ?)

docum1.PNG

Cattura2.PNG

Link al commento
Condividi su altri siti

20 ore fa, ferrarino ha scritto:

su LMN_PER non ho nessun valore di uscita

 

30 minuti fa, ferrarino ha scritto:

su LMN_PER ho  27648

contrastano un po le due affermazioni. e poi i valori del db non sono quelli che hai attualmente, vedo valori ben diversi tra blocco e DB.

Non ho mai usato questo PID di temperatura ma è evidente che l'uscita sia saturata perchè hai un errore (differenza tra SP_IN e PV_IN).

L'ingresso Sp_int non lo vedo in formato real, e deve esserlo.

Così a naso, una volta che avrai PV_IN e SP_In a ugaule valore l'uscita dovrebbe azzerarsi (con un tempo che dipende dall'integrale)

 

Modificato: da ken
Link al commento
Condividi su altri siti

Condivido totalmente quanto detto da Ken.

 

Aggiungo solo che non ha molto senso fare la scalatura della PEW per passare la PV in formato Real, quando si potrebbe passare alla funzione PID direttamente la PEW (su PV_PER e impostando PVPER_ON = True) e impostare i valori di scalatura nel PID.

 

Domanda; perche utilizzi FB58 al posto di FB41, più leggera e un po' più semplice da usare?

 

Link al commento
Condividi su altri siti

Dunque, ho provato, col simulatore, lasciando i parametri di default, e tutto funziona al primo colpo.

Comunque, anche il tuo PID pare funzionare: hai PV = 22.5749, SP = 91.0, LMN_PER = 27648 (che significa 100.0 %).
Cosa non ti torna?

 

Molto utile sarebbe vedere i valori attuali del DB di istanza del PID, quello che hai postato precedentemente, ma se non clicchi sugli occhialini...

Link al commento
Condividi su altri siti

uso fb 58 perche` mi sembrava piu` indicato per un controllo temperatura con valvola modulatrice,ho modificato come indicato ma il risultato sempre lo stesso.

MODIFICA1.PNG

MODIFICA2.PNG

Cattura.PNG

Link al commento
Condividi su altri siti

Ascolta, ora non passi più la PV all'ingresso PV_IN, ma passi l'ingresso analogico a PV_PER. Ma in questo modo 120 non significa più 120, ma è un valore che viene scalato a seconda di cosa imposti nel parametro PER_MODE.
Nel tuo caso, PER_MODE è 0, e l'ingresso analogico viene scalato come se provenisse da un modulo RTD o TC, ovvero con il valore dell'analogico che è la temperatura espressa in decimi di grado.
E, infatti, tu scrivi 120 su PV_PER, e leggi 12.0 su PV.
Mi pare quindi corretto che se hai SP = 120.0 e PV = 12.0, ti ritrovi l'uscita del PID al 100% (LMN_PER = 27648).

 

Devi sempre fare riferimento al valore che leggi nel parametro di uscita PV.
Quando, nel mio precedente post, dicevo che puoi lasciar fare la scalatura alla funzione PID, intendevo anche che il valore scalato lo puoi leggere dalla funzione PID, senza bisogno di dover fare un'altra scalatura, perché la scalatura già la fa la funzione PID.

 

I manuali, anche se lunghi e noiosi, vanno letti (e capiti) per intero, non solo le prima quattro righe.

Modificato: da batta
Link al commento
Condividi su altri siti

22 minuti fa, ferrarino ha scritto:

uso fb 58 perche` mi sembrava piu` indicato per un controllo temperatura con valvola modulatrice,ho modificato come indicato ma il risultato sempre lo stesso.

Da molti anni ho perso il conto delle regolazioni di temperatura con valvole proporzionali. La FB58 credo di averla usata solo un paio di volte, perché espressamente richiesto dal cliente.

La FB41 (o SFB41 se presente nel firmware della cpu, che però non riesci a testare col simulatore), per controlli di temperatura con valvole proporzionali funziona benissimo.

Comunque, oramai sei in pista con la FB58, e puoi continuare così.
Nel DB di istanza della funzione puoi leggere tutto quello che sta facendo la funzione. Devi, ovviamente, imparare ad interpretare i dati.

Link al commento
Condividi su altri siti

Ciao ferrarino,

aggiugno qualche altra informazione a quelle che ti ha già dato Batta. Nel tuo primo post hai scritto che usi una sonda 4-20mA e quindi avrai sicuramente un valore in ingresso che va da 0 da 27648; va bene quindi associare l'ingresso a PV_PER ma, come ti ha detto Batta, lasciando PER_MODE a 0 leggi il sensore come se fosse una termocoppia.

La prima cosa da fare, quindi, è impostare PER_MODE a 2; in questo modo nella prima parte della formazione della differenza di regolazione avrai un valore percentuale che va da 0 a 100. Il problema, a questo punto, è che dobbiamo far capire a FB58 a che temperatura corrisponda il valore da 0 a 100: per il tuo sensore a quanti gradi corrispondono 4mA (tmin) e a quanti gradi corrispondono 20mA (tmax)?

Scoperto questo bisogna utilizzare le 2 variabili PV_FAC e PV_OFFS (che tu hai lasciato sul default) per fare la normalizzazione del valore secondo le formule:

PV_FAC = 100/(tmax sonda-tmin sonda)

PV_OFFS = 0-(PV_FAC*tmin sonda)

 

L'altra cosa che secondo me non va bene è l'abbinamento con l'OB35, nel senso che è corretto usare l'OB35 ed è corretto impostare il richiamo a 100ms, ma la parametrizzazione del blocco va fatta diversamente. Ti allego una schermata di esempio: quello che va ricordato è che, se viene attivato il generatore di impulsi, è lui che "comanda" e quindi i 100ms dell'OB35 vanno impostati lì. Dopodichè il tempo di campionamento del regolatore sarà un suo multiplo (io di solito metto un fattore 10 e, in questo momento, non ricordo se ci sia una qualche restrizione particolare per il fattore impostabile).

Ultima cosa che ti consiglio è quella di copiare anche gli altri due valori del generatore di impulsi per "strapazzare" un po' meno l'attuatore.

FB58.jpg

Link al commento
Condividi su altri siti

3 ore fa, bleny ha scritto:

se viene attivato il generatore di impulsi, è lui che "comanda"

Mi pare però che Ferrarino debba pilotare una valvola proporzionale, quindi non usa il generatore di impulsi.

Link al commento
Condividi su altri siti

2 ore fa, batta ha scritto:

Mi pare però che Ferrarino debba pilotare una valvola proporzionale, quindi non usa il generatore di impulsi.

Ah ok, io mi ero basato sulla schermata che aveva allegato lui dove l'opzione era attiva...

Link al commento
Condividi su altri siti

11 ore fa, bleny ha scritto:

Ah ok, io mi ero basato sulla schermata che aveva allegato lui dove l'opzione era attiva...

Hai ragione. Se non usa il generatore di impunlsi, va disattivato.

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