La BieMme è orgogliosa di annunciare di aver sviluppato una libreria dedicata ai pannelli Ltouch7 GS che permetto l’utilizzo della funzione PID. Grazie al sistema operativo Android sarà molto più facile creare e personalizzare le tue esigenze.
Non vi servirà altro che solamente un nostro HMI Android Ltouch7 GS che ha di serie due ingressi analogici con risoluzione fino a 17bit, 4 uscite a relè oppure la linea RS485 Modbus che permette l’interfaciamento con sucessiva modulazione a dispositivi slave.
La libreria ha il nome di MathProcess, con molteplici funzionalità e personalizzazioni. Di seguito alcuni metodi disponibili:
- String GetVersion();
restituisce la versione della libreria in uso - int InitPid(char channels):
Anzitutto chiamare questa funzione per dichiarare il numero di canali richiesti
channels : numero di canali da gestire
valori di ritorno : EXIT_FAIL, EXIT_OK - void ClosePid()
chiamare alla chiusura dell’applicazione per liberare le risorse allocate - double[] ChangePidGains(char ch, double p_gain, double i_gain, double d_gain)
imposta i guadagni per il canale selezionato
restituisce i guadagni applicati - double[] GetPidSettings(char ch)
restituisce le impostazioni in uso per il canale impostato: p_gain, i_gain, d_gain , inverted state (true se invertito, false altrimenti) - public native int SetPidCh(boolean inverted, char ch, double p_gain, double i_gain, double d_gain, int sample_time_ms, int pulse_time_ms, double refval, double maxval, double minval);
boolean inverted:
char ch: canale da configurare
double p_gain, double i_gain, double d_gain : guadagni
int sample_time_ms : tempo in ms tra 2 elaborazioni
int pulse_time_ms : durata dell’impulso nell’ uscita a relè (durata dell’impulso intesa come somma del tempo in cui l’uscita è alto e in cui è bassa)
double refval : valore target per il segnale
double maxval : valore massimo per il segnale oltre cui non si deve salire
double minval : valore minimo per il segnale oltre cui non si deve scendere - public native int PidLoop(double []inputs,double []outputs);
double []inputs :vettore conente le acquisizioni dagli ingressi analogici
double []outputs : vettore contenente i valori calcolati dalla libreria pid
La funzione MathProcess.SetPidCh dovrà essere richiamata ciclicamente attraverso un thread, questa potrà comandare dei relè a bordo oppure modulare altri dispositivi attraverso la porta seriale Modbus di serie.