MWS485 equipaggiato di firmware 07/10/2013 L'utente che acquista la scheda MWS485 ha la possibilità di programmarne il firmware mediante la scrittura di codice basato su librerie pcode e codice Assembler relativo al microcontrollore AT90S8515. Vengono forniti esempi di programmazione e viene dato supporto tecnico. Tuttavia questa programmazione è rivolta ai soli utenti programmatori esperti. La scheda viene fornita già programmata con un nostro codice (MWS485-07/10/2013) che permette, anche a coloro che non hanno conoscenza approfondita di programmazione, di sviluppare facilmente applicazioni di lettura/programmazione di strumentazione o dispositivi con canale seriale RS485 (esempio i nostri strumenti DV36PP) e permette di programmare (e leggere) 4 pin configurati come uscita e leggere lo stato di 4 pin configurati come ingresso. Per esempio mediante la nostra scheda elettronica MWS485 (Webserver + RS485) ed i nostri strumenti DV36PP(W) è possibile realizzare facilmente dei sistemi di telelettura e telecontrollo. Potete visualizzare un esempio collegandovi all'indirizzo: http://217.133.118.39:96/ qui trovere visualizzati tutti i parametri in tempo reale del nostro consumo energetico elettrico. Documentazione e software scaricabile da: http://www.paologentili.it/mws485/
Pagina WEB Configurazione di base La scheda viene fornita con numero IP già programmato. Un'etichetta posta sulla scheda riporta il numero MAC (Ethernet MAC-ADDRESS) ed il numero IP. L'utente dovrà configurare i parametri per adattarli alla propria rete esistente, questa operazione può essere effettuata facilmente raggiugendo con il browser la pagina di configurazione generata dalla scheda stessa. I parametri da programmare per una corretta configurazione di rete sono: IP Address: permette di programmare l'indirizzo IP di rete della scheda Netmask: permette di programmare la maschera di rete Gateway: permette di programmare l'indirizzo IP del vostro gateway Inoltre è facoltà dell'utente variare altri parametri: TCP/IP Port: permette di programmare la porta per l'utilizzo del procollo TCP/IP. In particolare questa porta è anche utilizzata per la funzione relay descritta più avanti. RS485 RX Terminator: permette di programmare il carattere terminatore di ricezione RS485, il carattere terminatore ricevuto sul canale RS485 è interpretato come fine stringa. Se il carattere non viene ricevuto il fine stringa è generato per timeout (1 secondo). Il carattere deve essere programmato in notazione decimale: il valore 13 corrisponde al CR (Carriage return, Ritorno a capo). RS485 TX Terminator: permette di programmare il carattere terminatore di trasmissione RS485. Il carattere terminatore di trasmissione sarà appeso alla stringa inviata al canale RS485. Il carattere deve essere programmato in notazione decimale: il valore 13 corrisponde al CR (Carriage return, Ritorno a capo).
External JS File: permette di programmare l'indirizzo di un file Javascript esterno. Mediante l'utilizzo del file Javascript esterno la possibilità di generare pagine Web anche di notevoli dimensione e complessità diventa molto semplice e a portata di molti... basta conoscere un minimo di programmazione Javascript. Sarà così possibile modificare il solo file appoggiato su un server in rete per avere la vostra applicazione perfettamente funzionante e come voi la desiderate. Con questa modalità è stata realizzata la nostra pagina dimostrativa all'indirizzo http://217.133.118.39:96/. New Password (optional): Una volta che la password è programmata le future programmazioni chiederanno di inserire la password. Se la password viene smarrita inserire clearpassword alla richiesta. La password verrà così eliminata. Tasto Reload: Permette di Rileggere i valori di impostazione della scheda cancellando eventuali variazione digitate nei campi. Tasto Send: Invia alla scheda la nuova programmazione, verrà chiesta conferma, se il sistema è protetto da password essa verrà richiesta. Una volta inviata la programmazione la scheda verrà resetta e la pagina web verrà ricaricata nel browser. Settare i parametri di rete se scheda non è raggiungibile da pagina web Nel caso non si sia in grado di raggiungere la scheda attraverso la pagina WEB sarà necessario programmare i parametri minimi di rete mediante l'utilizzo del programma setip.exe, tale programma utilizza il MAC-ADDRESS per raggiungere la scheda. Aprire una finestra di shell, quindi digitare il seguente comando: setip MAC IP [NM GW] dove: MAC Ethernet MAC-ADDRESS della scheda MWS485 esadecimale: xx:xx:xx:xx:xx:xx IP Nuovo indirizzo IP (es. 192.168.0.123) decimale: ddd.ddd.ddd.ddd NM Opzionale nuova netmask (es. 255.255.255.0) decimale: ddd.ddd.ddd.ddd GW Opzionale nuovo default gateway (es 192.168.0.255) Nota: Il programma setip.exe è scaricabile dal nostro sito.
Pagina WEB Principale Dalla pagina Web principale potrete: - Inviare comandi sul canale RS485 e leggerne la risposta. Inserire la stringa da inviare al canale RS-485, quindi premere il tasto send. Il comando verrà inviato sul canale RS485 (9600 bps) e quindi potrete leggere eventuale risposta - Leggere stato ingressi digitali e impostare le uscite digitali - Accedere alla pagina JS esterna programmata (mediante la pagina di setting)
Pagina WEB Configurazione modo Relay Mediante l'utilizzo di due o più schede è possibile realizzare dei semplici telecomandi e/o ripetitori di segnali digitali in modalità completamente automatica e trasparente. Per attivare questa funzionalità entrare in pagina di configurazione modo Relay, settare i parametri interessati per ogni ingresso: - Enable: Se attivato la funzionalità relay su questo ingresso sarà attiva, la scheda invierà ciclicamente ed in automatico lo stato dell'ingresso ad un'altra scheda identificata dal numero IP specificato. Nell'esempio di configurazione in figura gli ingressi 1 e 2 verranno inviati alla scheda con indirizzo 192.168.1.202. L'ingresso 4 sarà inviato ad una differente scheda avente indirizzo 192.168.1.203. L'ingresso 3 non viene reindirizzato. L'ingresso inviato verrà ripetuto sulla relativa uscita della scheda ricevente indirizzata. OUT1 IN2 OUT2 IN4 OUT4 IN1 Questa modalità utilizza il protocollo TCP/IP con chiamate sulla relativa porta (def. 1000) Trucco: se si desidera la effettiva conferma della ricezione e attuazione del comando impostare la stessa funzionalità sulla scheda ricevente con indirizzamento alla scheda che ha chiamato, cablando opportunamente ingresso ed uscita.
Usare le cgi Nella scrittura della pagina Javascript è necessario conoscere fe unzioni cgi inserite nel webserver, mediante semplici chiamate a queste funzioni è infatti possibile leggere lo stato degli ingressi e uscite, programmere lo stato uscite ed inviare stringhe di comando al canale RS485 quindi ricevere l'eventuale risposta inout.cgi Lettura/Settaggio INGRESSI e USCITE Mediante l'utilizzo della funzione inout.cgi è possibile interrogare lo stato degli ingressi e delle uscite, inoltre è possibile programmare le uscite. NOTA: Lo stato programmato delle uscite è salvato in memoria non volatile (eeprom) in questo modo le uscite saranno sempre settate correttamente in base a quanto programmato anche in caso di mancanza e successivo ripristino alimentazione. OUT1 Programma l'uscita 1 OUT2 Programma l'uscita 2 OUT3 Programma l'uscita 3 OUT4 Programma l'uscita 4 Comandi URL dati da browser (sostituire xxx.xxx.xxx.xxx con l'ip assegnato alla scheda): http://xxx.xxx.xxx.xxx/inout.cgi Restituisce in formato xml lo stato attuale dei 4 ingressi e delle 4 uscite. http://xxx.xxx.xxx.xxx/inout.cgi?out1=1 Setta l'uscita 1 a livello alto e risponde xml con nuovo stato http://xxx.xxx.xxx.xxx/inout.cgi?out4=0 Setta l'uscita 4 a livello basso e risponde xml con nuovo stato http://xxx.xxx.xxx.xxx/inout.cgi?out1=0&out2=1&out3=0&out4=1 Setta le uscite: 1 e 3 a livello basso, 2 e 4 a livello alto. Torna xml con nuovo stato <INOUT> <out4>0</out4> <out3>0</out3> <out2>0</out2> <out1>0</out1> <rdout4>0</rdout4> <rdout3>0</rdout3> <rdout2>0</rdout2> <rdout1>0</rdout1> <in4>1</in4> <in3>1</in3> <in2>1</in2> <in1>1</in1> </INOUT> Funzione incapsulata in HTML (compatibilità max per browser): inout.htm Esempio: http://xxx.xxx.xxx.xxx/inout.htm?out1=0&out2=1&out3=0&out4=1 Esempio: http://xxx.xxx.xxx.xxx/inout.htm send485.cgi Invio comandi al canale seriale RS485 Mediante la chiamata alla funzione send485.cgi è possibile inviare una stringa sul canale seriale RS485 e ricevere l'eventuale risposta. La velocità di cominicazione è fissa a 9600bps. Esempio: http://xxx.xxx.xxx.xxx/send485.cgi?c="stringa da inviare" Il carattere terminatore viene inserito automaticamente dalla scheda Funzione incapsulata in HTML (compatibilità max per browser): send485.htm Esempio: http://xxx.xxx.xxx.xxx/send485.htm?c="stringa da inviare"
Morsettiera M1-M2: Alimentazione 9-15Vac // 8-22Vdc Connettore J1: RJ-45 cavo LAN Ethernet Connettore J2 (SPI / programmazione firmware): 1 SPI MOSI 2 +5V 3 n.c. 4 GND 5 RESET 6 GND 7 SPI CLOCK 8 GND 9 SPI MISO 10 GND Connettore J3 (ingressi e uscite user): 1 +5V (<100mA) 2 +NR (<200mA) 3 GND 4 GND 5 PD7 6 PD6 7 PD5 (uscita 4) 8 PD4 (uscita 3) 9 PD3 (uscita 2) 10 PD2 (uscita 1) 11 TXD 12 RXD 13 PB3 (ingresso 4) 14 PB2 (ingresso 3) 15 PB1 (ingresso 2) 16 PB0 (ingresso 1) Connettore J4 (RS-485): 1 G RS485 GROUND/SHIELD 2 B RS485 + 3 A RS485 -