Newsgroup: it.comp.lang.visual-basic
Titolo: .net 2008 ethernet stack

Oookay.. 
Finalmente ci siamo decisi ad abbandonare VB6 per migrare verso .net...
L'UCAF (ufficio complicazione affari semplici) ci mette del suo, quindi 
oltre ad abbandonare VB6 abbandoniamo anche la porta seriale per 
muoverci verso ethernet.
Il punto e' tanto semplice (nella descrizione) quanto arduo (per me)
nella realizzazione, provo a spiegare.
Il reparto "pazzi scatenati con il saldatore a stagno" ha realizzato una
protoboard con un PIC ethernet, l'uso degli OCX su VB6 ha consentito
di verificare che la comunicazione ethernet funziona correttamente, ora
tocca a me far funzionare la cosa in .net.
In pratica, la mia applicazione deve comunicare con la protoboard
in ETHERNET liscio, quindi no TCP/IP ma puro protocollo ethernet;
si tratta quindi di creare il pacchetto dati  e trasmetterlo sulla 
ethernet; leggere la "risposta" e mostrare la stringa hex risultante
in un textbox.
Il punto e' che trovo centinaja di esempi con TCP/IP, ma a me
serve andare piu' a fondo fino al "puro" ethernet, ma non ho idea
di come fare....
Qualcuno ha un'idea ? Grazie anticipate.

 di come fare....
Primo punto: chiediti cos'č il "puro ethernet" (ti anticipo la risposta:
non esiste, in questi termini. Gugla semmai per "osi model layer").
Secondo punto: chiedi a loro di cosa hanno bisogno *davvero*.
99 volte su cento non ha il minimo senso reinventare la ruota.
Soprattutto se poi ci si trova a tentare di utilizzare un bidone,
un bicchiere o una penna, al posto di una ruota, pensando
"tanto č rotondo, rotolerą di sicuro".
Bye, G. 

 layer").
Si, scusami la leggerezza, intendevo una comunicazione direttamente
sul livello fisico della scheda, usando il livello datalink, nello specifico
tramite indirizzamento MAC (mac sorgente--mac sestinazione--payload).
Ti ringrazio molto, comunque, per la gentilezza... ho davvero bisogno
di una dritta :)
Ah.. nota a pie' pagyna.. nell'accozzaglia scritta in VB6 mi ero
ispirato alla ligica degli sniffer utilizzando packetX.... 

di una dritta :)
Noi abbiamo usato i moduli tibbo per un applicazione che richiedeva la Ethernet,
ma naturalmente su TCP-IP:
http://www.tibbo.com/products/
anche la olimex ha prodotti simili e con un milgior rapporto q/p
http://www.olimex.com/dev/pdf/cs8900a-h.pdf
--
ciao
  Stefano

 la Ethernet, ma naturalmente su TCP-IP:
Grazie, purtroppo non mi sono d'aiuto se legati a tcp/ip.

come funziona una rete :D
Può darsi, del resto non ho mai visto usare Ethernet come vorresti fare tu.
Ma poi magari funziona, anche se non capisco come.
--
ciao
  Stefano


Non ho capito, in vb6 sei riuscito ad usare l'"ethernet liscio"?
Da quello che mi risulta, l'unico modo di comunicare "quasi" a basso livello 
(anche in vb6) è l'uso di WSA e non di sicuro del winsock di vb6.
Se pero' hai usato WSA per vb6, non credo che si faccia molta fatica a 
portarlo sotto .NET, che tra l'altro quest'ultimo consente operazioni di 
rete prima quasi impossibili con vb6.
ciao
umbe

 successive della catena non sono raggiungibili.
ehm.....su questo non sono molto d'accordo...reti ad esempio master-slave in 
RS422 o RS485 (usate in ambito industriale), ti permettono tranquillamente 
di bypassare il problema della periferica "rotta o spenta" in mezzo alle 
altre due, e la lunghezza fisica consentita è piuttosto elevata (sui 100 
metri...oltre questi anche ethernet ha qualche problemino....)
ciao
umbe 

 Non ho capito, in vb6 sei riuscito ad usare l'"ethernet liscio"?
No...scusami l'imprecisione: ho usato packetx e winpcap 
per accedere al basso livello...

"Franz_aRTiglio" <fran...@N0SPAMtin.it> ha scritto nel messaggio 
news:487b5fb8$1...@news.bluewin.ch...

ah..componenti di terzi....roba scritta in certamente in c++, sicuramente 
sono driver.
E' ovvio a questo punto che bisogna vedere se esistono per .net.
Sicuramente non si scrivono in vb...e neanche in 
vb.net
!
ciao
umbe 

 ethernet ha qualche problemino....)
Si, e' vero, ma con ethernet posso usare powerlan, wi-fi e tutti gli
altri ammenicoli attualmente presenti sul mercato a basso costo.
Anche questo e' stato valutato nello scegliere ethernet come "futuro". 

 Sicuramente non si scrivono in vb...e neanche in 
vb.net
!
C'e' il modo (googlando) di rendere pseudocompatibile l'accozzaglia
anche con sVista, ma ovviamente previa installazione del relativo
driver e aggiustamenti a mano... se gia' ci facciamo lo scrupolo
di dare all'installatore finale (conoscendo i "tennici"...)  il compito
di cambiare un IP... figurati installare un packet driver che non
consente l'hot streaming nel mio installer... pensare di fargli
modificare un .reg e' da folli :) 

"Franz_aRTiglio" <fran...@N0SPAMtin.it> ha scritto nel messaggio 
news:487b63d8$1...@news.bluewin.ch...

Lungi da me nel mettere in discussione la vostra scelta, anzi, pure io 
preferisco ethernet quando possibile, poichè la ritengo più moderna e 
veloce, e certamente il futuro.
però credimi: lascia stare wifi in ambito industriale (o di controllo) e per 
quanto riguarda powerlan è meglio non parlare di costi.....
In seriale trovi tutti i trasduttori che vuoi... e anche molti dei PLC o 
Inverter che trovi in commercio, nonostante spesso implementino ethernet, 
alla fine spesso necessitano di MODBUS....
ciao
umbe

 ethernet, alla fine spesso necessitano di MODBUS....
Guarda, l'esempio del microonde di cui sopra e' l'ideale: e' bello che
da remoto posso accendere la luce interna e assicurarmi della
cottura, e' bello che da remoto sento il "ding" di arrosto cotto, ma
il lavoro lo fa' il microonde in autonomia: il PIC sulla macchina
gestisce tutto il lavoro, se poi via ethernet mi avverte che l'arrosto
e' cotto ha fatto tutto quello di cui avevo bisogno :) 

Franz_aRTiglio ha scritto:

il 99.9% della gente x fare queste cosa usa modbus profibus o 
simili...xke te no??? se proprio vuoi usare etherne xke non implementi 
sull'hardware qualcosa che sappia lavorare con lo stak tcp-ip? fatta 
cosi mi sembra davvero tirarsi le martellate sulle palle per nulla!!!
ciao ciao

 ciao ciao
straquoto,
e mi permetto di suggerire al tuo reparto "pazzi scatenati con il
saldatore a stagno" questo link:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2504&redirects=ethernet
buon lavoro

 
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2504&redirects=ethernet
Grazie, ma come ho detto, non useremo tcp/ip. 

Mi intrometto perchč anche noi usiamo dei PIC ed ethernet....
Ma TCP/IP...
Al tuo posto io farei cosě:
A bordo del PC un aggeggino con un PIC con due Eth una TCP/IP verso il PC ed 
una verso il sistema.
Dato che a basso livello si tratta di uno scambio di memoria con il tcp 
trasferisci l'intera area di 2k poi in .net te la analizzi come vuoi.
Ciao
Tullio
"Franz_aRTiglio" <fran...@N0SPAMtin.it> ha scritto nel messaggio 
news:487c5272$1...@news.bluewin.ch...
