Einfaches Protokoll über Ethernet?

28/04/2009 - 17:23 von Tobias Zuercher | Report spam
Hallo allerseits,

Ein Automatisierungssystem soll über Ethernet gesteuert werden.
Auf der einen Seite befindet sich der PC mit einer Ethernetkarte und
auf der andern Seite ein noch nicht entwickeltes Modul mit
Mikrocontroller (wahrscheinl. Atmel AVR). Die Schaltung soll mit einer
Latenzzeit <5ms reagieren.
Erfahrungsgemàss bedeutet Ethernet viel Overhead und langsame
Reaktionszeiten durch den Windows Software- Stack auf der PC- Seite.
Ich bin leider noch nicht fündig geworden und ein Ethernet- und
Netzwerk- Crack bin ich auch nicht, aber gibt es nicht andere
Möglichkeiten, auf eine Netzwerkkarte zuzugreifen?
Ich stelle mir ein einfacheres Protokoll, beispielsweise nur bis
hinauf zum TCP- Layer vor, mit dem ich auch beispielsweise 8 Bytes
ohne grossen Overhead und ohne lange Latenzzeiten übertragen kann.
Gibt es solche Protokolle, ev. genormt und entsprechende Bibliotheken
dazu, die sich unter Windows nutzen lassen? Ausserdem, welche
möglichkeiten hàtte ich zur Verteilung des Netzes? Ein Standard-
Switch o.à. wird wahrscheinlich nicht mehr funktionieren.
Lösungen wie EtherCat sind natürlich sehr gut, benötigen aber wieder
mehr Hardware (IIRC) wie dedizierte ASICs. In Bezug auf den Netto-
Datendurchsatz sollten 250kbit/s ausreichen.

Danke vielmals für die Hilfe! Tobias
 

Lesen sie die antworten

#1 Lutz Schulze
28/04/2009 - 17:34 | Warnen spam
Am Tue, 28 Apr 2009 08:23:13 -0700 (PDT) schrieb Tobias Zuercher:

Hallo allerseits,

Ein Automatisierungssystem soll über Ethernet gesteuert werden.
Auf der einen Seite befindet sich der PC mit einer Ethernetkarte und
auf der andern Seite ein noch nicht entwickeltes Modul mit
Mikrocontroller (wahrscheinl. Atmel AVR). Die Schaltung soll mit einer
Latenzzeit <5ms reagieren.
Erfahrungsgemàss bedeutet Ethernet viel Overhead und langsame
Reaktionszeiten durch den Windows Software- Stack auf der PC- Seite.
Ich bin leider noch nicht fündig geworden und ein Ethernet- und
Netzwerk- Crack bin ich auch nicht, aber gibt es nicht andere
Möglichkeiten, auf eine Netzwerkkarte zuzugreifen?
Ich stelle mir ein einfacheres Protokoll, beispielsweise nur bis
hinauf zum TCP- Layer vor, mit dem ich auch beispielsweise 8 Bytes
ohne grossen Overhead und ohne lange Latenzzeiten übertragen kann.
Gibt es solche Protokolle, ev. genormt und entsprechende Bibliotheken
dazu, die sich unter Windows nutzen lassen? Ausserdem, welche
möglichkeiten hàtte ich zur Verteilung des Netzes? Ein Standard-
Switch o.à. wird wahrscheinlich nicht mehr funktionieren.



Solange du das Ethernetformat mit Mac-Adresse usw. einhàlst wird er weiter
funktionieren.

Lösungen wie EtherCat sind natürlich sehr gut, benötigen aber wieder
mehr Hardware (IIRC) wie dedizierte ASICs. In Bezug auf den Netto-
Datendurchsatz sollten 250kbit/s ausreichen.



Dafür wurde eigentlich UDP (anstelle TCP) entwickelt. Das hat den Vorteil
dass du auch weiter mal über einen der üblichen Router gehen kannst und es
eigentlich recht schnell ist.

Absicherungen so wie bei TCP gibt es da nicht, das musst du also selbst
realisieren.

Ich habe das dann so gelöst das der eben übertragene Inhalt (kurze Kommandos
und wenige Daten) wieder gelesen und dann erst aktiviert wird.

Hier eine Grafik mit dem Frameaufbau:

http://www.networksorcery.com/enp/protocol/udp.htm

Natürlich kommt davor noch der MAC- und der IP-Header.

Lutz

Mit unseren Sensoren ist der Administrator informiert, bevor es Probleme im
Serverraum gibt: preiswerte Monitoring Hard- und Software-kostenloses Plugin
auch für Nagios - Nachricht per e-mail,SMS und SNMP: http://www.messpc.de
Neu: Ethernetbox jetzt auch im 19 Zoll Gehàuse mit 12 Ports für Sensoren

Ähnliche fragen