Buongiorno,
il blocco logico Pixsys PID richiede che il PV sia una Word.( ho scritto un programma FBD in cui c'è unicamente il blocco PID)
Dato che leggo il PV da un MCM5AD, il valore ha formato INT, non modificabile nell'area di parametrizzazione.
Se do come input al PID il PV in formato INT, nascono errori legati al PID in fase di compilazione.
Ho cercato una funzione per trasformare il formato INT in Word: ho usato il MOVE ma mi da errore (variabile con segno in variabile senza segno). Quale procedura posso usare?
Inoltre, si ha un ulteriore errore di compilazione del PID che indica "errore G0008 accesso non valido a variabile": devo scrivere l'output del PID su una uscita analogica di ETD1644, parametrizzata come Word, e quindi ho messo questa variabile come output. QUal'è l'errore?
A latere, oltre a quanto sopra e sempre relativamente al blocco PID, la compilazione mi da 14 warnings relativi a funzioni interne al PID
Cordiali saluti
PID: Variabili ed errori
-
- Moderatore
- Posts: 1198
- Joined: 12/09/2016, 14:49
Re: PID: Variabili ed errori
Buongiorno,
il PV intende il valore di processo letto su un ingresso della MCM?
Mi risulta possa fare un Assing con variabili di tipo INT o WORD.
Per cambiare il formato in WORD deve utilizzare il blocchetto "TO_WORD" dalla libreria standard.
Per l'errore di accesso alla variabile, che altre funzioni o programmi utilizzano la variabile di uscita del PID?
I warning del PID sono segnalazioni al blocco funzione PID e li può al massimo nascondere (tasto dx mouse sopra il warning).
Cordiali Saluti
il PV intende il valore di processo letto su un ingresso della MCM?
Mi risulta possa fare un Assing con variabili di tipo INT o WORD.
Per cambiare il formato in WORD deve utilizzare il blocchetto "TO_WORD" dalla libreria standard.
Per l'errore di accesso alla variabile, che altre funzioni o programmi utilizzano la variabile di uscita del PID?
I warning del PID sono segnalazioni al blocco funzione PID e li può al massimo nascondere (tasto dx mouse sopra il warning).
Cordiali Saluti
-
- Posts: 45
- Joined: 11/10/2013, 12:55
Re: PID: Variabili ed errori
OK, grazie, avevo già trovato il to-word!
L'errore relativo all'output era dovuto al fatto che nella parametrizzazione dell'ETD avevo messo gli AO nella cartella Input, come si fa per gli MCM. Invece vanno assegnati alla cartella Output, e tutto funziona!.
Altre due domande.
- il timer pausa lavoro è ciclico? ( ovvero, una volta abilitato continua a ripetere pausa e lavoro all'infinito? mi servirebbe avere questa funzionalità)
- c'è un metodo comodo per impostare i tempi dei timer in secondi o minuti invece che in millisecondi?
- posso dare un valore fisso a una variabile UINT nella tabella delle Ungrouped Vars in modo da usarla come una costante in un blocco operatore?
Grazie e buona giornata
L'errore relativo all'output era dovuto al fatto che nella parametrizzazione dell'ETD avevo messo gli AO nella cartella Input, come si fa per gli MCM. Invece vanno assegnati alla cartella Output, e tutto funziona!.
Altre due domande.
- il timer pausa lavoro è ciclico? ( ovvero, una volta abilitato continua a ripetere pausa e lavoro all'infinito? mi servirebbe avere questa funzionalità)
- c'è un metodo comodo per impostare i tempi dei timer in secondi o minuti invece che in millisecondi?
- posso dare un valore fisso a una variabile UINT nella tabella delle Ungrouped Vars in modo da usarla come una costante in un blocco operatore?
Grazie e buona giornata
-
- Moderatore
- Posts: 1198
- Joined: 12/09/2016, 14:49
Re: PID: Variabili ed errori
Buongiorno,
-Il timer pausa lavoro è ciclico, quindi se abilitato il blocchetto funziona all'infinito.
-La grandezza del tempo deve essere sempre espressa in mS sull'ingresso del blocchetto, quindi deve fare una conversione a monte.
-Si può farlo, basta compilare il campo della colonna "Init value", nella tabella delle variabili. In alternativa può sfruttare il task "Init" per inizializzare la variabile.
Cordiali Saluti.
-Il timer pausa lavoro è ciclico, quindi se abilitato il blocchetto funziona all'infinito.
-La grandezza del tempo deve essere sempre espressa in mS sull'ingresso del blocchetto, quindi deve fare una conversione a monte.
-Si può farlo, basta compilare il campo della colonna "Init value", nella tabella delle variabili. In alternativa può sfruttare il task "Init" per inizializzare la variabile.
Cordiali Saluti.