Uso dei Relè con la nuova libreria Android

In questo semplice post vi spiego come usare i 4 relè a bordo del Ltouch 4.3, HMI touch screen da 4.3″ con sistema operativo Android

La nuova libreria è scaricabile dal nostro portale download.

Tutti e quattro i relè sono disponibili in contatto di scambio con la possibilità di collegarli in Normalmente Aperto oppure in Normalmente chiuso. Un’ulteriore comodità di questi relè è la loro connessione grazie a morsetti estraibili così da permettere un plug and play veloce ed istantaneo.

Creiamo un progetto utilizzando uno degli ambienti di sviluppo per Android, in questo caso usiamo Android Sudio.

Dopo aver aggiunto la libreria BMTouch nel nostro progetto, non si fa altro che eseguire tre semplici operazioni:

1)  Inizializziamo la nostra libreria subito dopo onCreate con il comando byte LIBsetup(long pinsetting):

BMTouch.LIBsetup( BMTouch.EN15+ BMTouch.EN14 + BMTouch.EN13 + BMTouch.EN12);

pinsetting: ()long), a ciascun bit corrisponde lo stato bloccato (bit a 0) o sbloccato di un piedino (bit a 1) .
LSB del primo byte corrisoponde a GP0
Se il piedino non viene sbloccato, ogni operazione di lettura scrittura su di esso termina con un codice di errore.
exit codes: EXIT_OK per uscita terminata con successo
EXIT_HW_ERROR : hardware non riconosciuto
EXIT_WRONG_PARAM : si è cercato di attivare un piedino non esistente
EXIT_FAIL nel caso di errori

Fisicamente i relè sono assegnati così:
Relè 1 : BMTouch.EN12
Relè 2 : BMTouch.EN13
Relè 3 : BMTouch.EN14
Relè 4 : BMTouch.EN15

2) Oltre al comando di questi relè la Libreria BMTouch dispone di ulteriori input/output GPIO fisicamente presenti nell’Ltouch4.3 e dato che i relè sono come uscite, configuriamo questi piedini in modalità uscita.

byte GPIOsetup (byte pin,byte mode,byte value):

val[0]= 0;
        BMTouch.GPIOSetupOut(BMTouch.GP15, val[0]);
        BMTouch.GPIOSetupOut(BMTouch.GP14, val[0]);
        BMTouch.GPIOSetupOut(BMTouch.GP13, val[0]);
        BMTouch.GPIOSetupOut(BMTouch.GP12, val[0]);


per configurare ciascun piedino di gpio;
pin: indice compreso tra 0 e lastgpio() , indica il piedino di gpio da utilizzare secondo la numerazione indicata per la scheda in uso
mode: indica il tipo di accesso richiesto:
0x00 – GPIO_OUT : piedino di uscita
0x10 – GPIO_IN : piedino di ingresso
0x20 – GPIO_RELEASE : rilascia il piedino
value: impostazione iniziale per i piedini configurati come uscita; ininfluente per i piedini impostati come ingresso.
Exit codes: EXIT_FAIL (1) : errore generico
EXIT_WRONG_PARAM (2) : specificato un piedino non valido
PIN_LOCKED (3) : il piedino non è stato sbloccato durante l’inizializzazione
EXIT_OK (0) : uscita terminata con successo
EXIT_SETTING_NOT_APPLICABLE : se viene impostata la scrittura o la lettura per un piedino che non la supporta

3) Supponiamo che vogliamo commutare tutti i 4 relè in ON, non ci resta che usare il comando:

byte GPIOwrite (byte pin,byte value):

val[0]= 1;
tmp=BMTouch.GPIOWrite(BMTouch.GP15, val[0]);
tmp=BMTouch.GPIOWrite(BMTouch.GP14, val[0]);
tmp=BMTouch.GPIOWrite(BMTouch.GP13, val[0]);
tmp=BMTouch.GPIOWrite(BMTouch.GP12, val[0]);

Questo non configura il piedino come uscita , ma imposta il valore in uscita nel caso di piedini configurati come uscita.
pin : intero che indica il numero di piedino, secondo la numerazione di cui sopra
value : valori possibili 0x01 – GPIO_PIN_HI
0x00 – GPIO_PIN_LOW
Exit codes: EXIT_FAIL (1) :errore generico
EXIT_WRONG_PARAM (2) :pin o value non validi
PIN_LOCKED (3) :piedino non sbloccato/disponibile
EXIT_SETTING_NOT_APPLICABLE : se viene richiesta la scrittura su un piedino che non la supporta

Nel prossimo post vi spiegheremo come usare la libreria con la funzione modbus RTU.