Controllare la scheda SX16B dalla rete EthernetData di pubblicazione: 15-05-2006 | Versione Italiana | (No English Version) Parole chiave: - Domotica - Networking - Telecontrollo - |
L'applicazione descritta in questo articolo mostra come realizzare un semplice nodo di rete capace di pilotare fino a sei rel�, controllare lo stato di ben 24 ingressi ed acquisire un valore di temperatura. Il sistema proposto utilizza il convertitore ethernet-seriale EZL70 e la scheda d'espansione input/output SX16B stand alone controllati da un semplicissimo software realizzato in Visual Basic
In questo articolo vediamo quanto sia semplice, collegando una SX16 ad un convertitore EzTCP della Sollae, realizzare un sistema che ci permette di controllare fino a sei carichi
(48V/2A), di sorvegliare lo stato di 24 linee di cui 8 optoisolate e di rilevare la temperatura tramite la rete Ethernet.
Introduzione al sistema
Attualmente sono presenti sul mercato molti apparati che consentono di controllare lo stato di ingressi o di attivare carichi utilizzando le connessioni di rete Ethernet, diffuse ormai a livello capillare in ogni ambiente lavorativo e domestico. Ma perch� affidarci ad un prodotto costoso e chiuso quando possiamo realizzarne uno con pochissimo sforzo? Ed in pi�, oltre ad avere un apparato di ottime prestazioni, avremo la possibilit� di personalizzarlo ed adattarlo alle nostre esigenze, come vedremo in fondo a questo articolo.
Per ottenere questo fantastico risultato non avremo bisogno di complicate realizzazioni o programmazioni: semplicemente collegando i 2 blocchi hardware a nostra disposizione saremo in grado di utilizzare l'apparato in 5 minuti!
Hardware e collegamenti elettrici
Realizzare il nostro dispositivo � veramente semplice: utilizzeremo infatti una scheda di espansione I/O SX16B (SX16B - Scheda di espansione IN/OUT) nella versione stand alone ed il convertitore Ethernet-Seriale EZL70 (EZL-50, EZL-60 e EZL-70 Convertitori Ethernet <--> Seriale) che andranno collegati tra loro con solo 4 fili.
La scheda SX16B stand alone, a differenza della versione base, � equipaggiata con il blocco di alimentazione ed il micro PIC che pu� essere fonito gi� programmato o che pu� essere programmato autonomamente (il firmware da caricare nella memoria � disponibile nella sezione Download di questo articolo). I collegamenti da effettuare tra la SX16B ed il convertitore EZL70 sono, come detto, veramente minimi. Nell'immagine che segue sono riportati in dettaglio i 4 fili da utilizzare:
SX16B - CONNETTORE |
EZL70 - CONNETTORE |
SEGNALE |
U10 PIN 5 |
JP17 PIN 3 |
TXD |
U10 PIN 6 |
JP17 PIN 2 |
RXD |
U10 PIN 8 |
JP2 PIN 5V |
VCC |
U10 PIN 9 |
JP2 PIN G |
GND |
Schema di collegamento se si adopera con il modulo CSE-M73
SX16B - CONNETTORE |
CSE-M73 - CONNETTORE |
SEGNALE |
U10 PIN 5 |
JP3 PIN 3 |
TXD |
U10 PIN 6 |
JP3 PIN 2 |
RXD |
U10 PIN 8 |
JP3 PIN 1 |
VCC |
U10 PIN 9 |
JP3 PIN 4 |
GND |
Sul modulo EZL70 � necessario chiudere i due ponticelli TTL presenti sul connettore JP13 come mostrato nella foto che segue:
Il sistema (SX16B-EZL70) va alimentato con una tensione di almeno 9V e una corrente di 500mA che pu� essere derivata da un semplice alimentatore a parete che collegheremo al morsetto JP13 (EXT PWR) presente sulla SX16B.
A questo punto il sistema hardware � gi� pronto al funzionamento; passiamo quindi ad analizzare l'unica configurazione necessaria.
Configurazione dei parametri di rete
La sola operazione di configurazione che richiede il nostro sistema � quella necessaria ad impostare i parametri di rete (indirizzo IP, Subnet, Local Port) del modulo EZL70.
Per eseguire questa operazione dobbiamo utilizzare il software EzlConfig nella versione 4.0f scaricabile gratuitamente dal link presente in fondo a questo articolo.
Una volta lanciato il tool EzlConfig � sufficiente cliccare sul pulsante Search ezTCP per avviare la ricerca di tutti i dispositivi EzTCP collegati alla nostra rete LAN.
Individuato il MAC address del nostro EZL70 (valore riportato nell'etichetta presente sul modulo stesso), basta cliccarlo per vedersi attivare le varie input box del software.
Gli unici parametri che abbiamo necessit� di modificare sono:
- Local IP Address: � l'indirizzo IP su cui sar� raggiungibile il nostro dispositivo. Possiamo scegliere un qualsiasi indirizzo IP libero della nostra LAN (Es: 192.168.0.176)
- Subnet Mask: questo parametro � fissato dalla nostra architettura di rete (Es: 255.255.255.0)
- Local Port: � il numero della porta TCP (compreso tra 1 e 65535) su cui vogliamo che il nostro modulo si ponga in ascolto.
- Baudrate: � la velocit� della seriale che nel firmware del nostro PIC � fissa a 19200 baud. Impostiamo quindi il valore 19200
- Parity: � la parit� che utilizziamo sul protocollo seriale. Nel nostro caso NONE
- Data Bits: � il numero di bit per frame che nel nostro PIC � fisso ad 8
A questo punto abbiamo terminato: salviamo� la configurazione cliccando sul pulsante Write.
Per verificare che le nostre impostazioni siano corrette possiamo utilizzare il comando di ping verso l'indirizzo IP precedentemente configurato. In ambiente windows � sufficiente cliccare su Start-Esegui e digitare il comando:
ping 192.168.0.176 -t
Se otteniamo delle risposte la nostra configurazione � corretta.
Software di controllo
Per controllare il nostro apparato cos� realizzato possiamo utilizzare qualsiasi tipo di linguaggio che ci consenta di inviare pacchetti sulla rete TCP/IP. Nel nostro esempio utilizzeremo Visual Basic 6, ma potremmo realizzare il nostro client in C, in Delphi, in Phyton ed in centinaia si altri linguaggi.
La nostra applicazione di esempio, che forniamo sia in formato sorgente che in pacchetto autoinstallante, esegue poche semplici operazioni.
Una volta aperto un socket TCP/IP all'indirizzo IP del modulo EZL70 in ascolto sulla rete, invia comandi composti da pacchetti di sei byte che vengono convertiti dall'EZL in comunicazioni seriali e passati al micro PIC.
Quest'ultimo, una volta riconosciuto ed eseguito il comando, restituisce un pacchetto di risposta sulla seriale, composto sempre da sei byte; tale pacchetto effettua il percorso inverso rispetto al precedente fino ad arrivare all'applicazione client in VB6 che lo interpreta e ne mostra a video il risultato.
Protocollo di comunicazione con la SX16B stand alone
Nelle tabelle che seguono vengono riassunti i comandi da inviare e le risposte ricevute dal PIC a bordo della scheda SX16B.
.
Acquisizione della temperatura
Comando da inviare alla SX16 |
Byte |
Descrizione |
Esadecimale |
1 |
START |
0x33 |
2 |
INDIRIZZO |
0x01 |
3 |
COMANDO |
0x02 |
4 |
ZERO |
0x00 |
5 |
ZERO |
0x00 |
6 |
ZERO |
0x00 |
|
Risposta dalla SX16 |
Byte |
Descrizione |
Esadecimale |
1 |
SOR |
0x22 |
2 |
INDIRIZZO |
0x01 |
3 |
COMANDO |
0x02 |
4 |
TEMPERATURA |
da 0x00 a 0xC9 |
5 |
TEMPERATURA |
0x00 o 0x80 |
6 |
ZERO |
0x00 |
|
Comando per il controllo dei rel�
Comando da inviare alla SX16 |
Byte |
Descrizione |
Esadecimale |
1 |
START |
0x33 |
2 |
INDIRIZZO |
0x01 |
3 |
COMANDO |
0x03 |
4 |
RELE' |
da 0x01 a 0x06 |
5 |
STATO |
0x00 OFF - 0x01 ON |
6 |
ZERO |
0x00 |
|
Risposta dalla SX16 |
Byte |
Descrizione |
Esadecimale |
1 |
SOR |
0x22 |
2 |
INDIRIZZO |
0x01 |
3 |
COMANDO |
0x03 |
4 |
STATO RELE' |
da 0x00 a 0x63 |
5 |
ZERO |
0x00 |
6 |
ZERO |
0x00 |
|
Acquisizione dello stato dei 24 ingressi
Comando da inviare alla SX16 |
Byte |
Descrizione |
Esadecimale |
1 |
START |
0x33 |
2 |
INDIRIZZO |
0x01 |
3 |
COMANDO |
0x01 |
4 |
ZERO |
0x00 |
5 |
ZERO |
0x00 |
6 |
ZERO |
0x00 |
|
Risposta dalla SX16 |
Byte |
Descrizione |
Esadecimale |
1 |
SOR |
0x22 |
2 |
INDIRIZZO |
0x01 |
3 |
COMANDO |
0x01 |
4 |
INPUT CTC |
da 0x00 a 0xFF |
5 |
INPUT TTL |
da 0x00 a 0xFF |
6 |
INPUT OPT |
da 0x00 a 0xFF |
|
Come montare il sistema su barra DIN
Nelle foto riportate di seguito vediamo come
ingegnerizzare il sistema appena descritto in un contenitore standard 9 moduli
per barra DIN
Estensioni e personalizzazioni
Il sistema proposto, perfettamente utilizzabile ed indispensabile anche in questa versione, si presta ad essere facilmente esteso in vari modi. In particolare vengono qui esposte alcune idee di base da cui poter partire per la realizzazione di sistemi pi� complessi e performanti.
- Controllo della scheda SX16B tramite rete Wi-Fi: sostituendo il modulo EZL-70 con un modulo wireless (ad es EZL80C) e con pochi accorgimenti hardware � possibile permettere il controllo della nostra scheda senza utilizzare alcun filo, tramite la rete Wi-Fi. In questo modo l'unico collegamento cablato sar� l'alimentazione del sistema che risulter� libero da qualsiasi vincolo di posizionamento.
- Estensione del numero di ingressi ed uscite: il firmware del PIC a bordo della scheda � in grado di controllare fino a 4 schede in cascata: in questo modo la capacit� complessiva del sistema diventa di 96 ingressi e 24 uscite. Ulteriori estensioni possono essere richieste ad Area SX.
- Aggiunta di ingressi Analogici al sistema: sempre con piccle modifiche da effettuare al codice sorgente del PIC di bordo � possibile collegare, in cascata alla nostra SX16B, una scheda Flex-Analog (FLEX-Analog: la scheda di acquisizione analogica per ogni esigenza!) per estendere il sistema con 8 ingressi e 2 uscite analogiche.
- Aggiunta di un sensore di temperatura ed umidit�: sulla scheda SX16B � presente un connettore pensato per alloggiare un sensore di temperatura ed umidit� SHT71 (Sensori di umidità e temperatura monolitici con uscita digitale) che, con semplici modifiche al sorgente del PIC di bordo, pu� essere controllato remotamente per la rilevazione ambientale
- Reazioni autonome agli eventi: modificando il PIC di bordo il sistema pu� essere trasformato in una vera centrale di allarme via WEB, in grado di rileavre i cambiamenti degli ingressi e di prendere decisioni autoome (ad esempio attivare alcune uscite) e di inviare allarmi ed avvisi tramite la rete ad un controllore esterno (che sia esso un PC o un altro sistema di controllo)
Download
Manuale utente EZL70: ezl70en_v17.pdf
Programma EzlConfig: ezcfgmp.zip
Sorgente: LAN2Sx16_Sorgente.zip
Programma: LAN2Sx16_Setup.zip
Rel� di potenza per la SX16
Nota per l'acquisto
Se si desidera acquistare l'hardware per realizzare questo sistema fare attenzione ad inserire nell'ordine la versione SX16B Stand Alone (codice prodotto SX16-EXT, che � completa di PIC e sezione di alimentazione e non la versione base.
Segnala questo articolo:
Parole chiave: - Domotica - Networking - Telecontrollo -
|