Hallo,
muss für ein neues Projekt ein Windows System einsetzen (Wahl liegt
zwischen CE 6.0 R3 und dem Embedded Standard 2009). Von den
Anschaffungskosten sind beide scheinbar identisch (ca 1000$ +
Lizenzgebühren).
Das System soll auf einem x86 Prozessor laufen und genügend
Arbeitsspeicher sowie Festplattenspeicher wird zur Verfügung stehen.
Sind die Realtime Eigenschaften vom Embedded Standard mit denen eines
CEs vergleichbar, wenn man ein Kiosk-System plant ohne IE und
dergleichen?
Als Programmiersprache würd ich irgendwas mit c wählen (also c, c++,
oder c#).
Gibt es noch signifikante Unterschiede zwischen den beiden OS die man
für dieses als auch für zukünftige Projekte beachten sollte?
Gruß
Thorsten
"Embedded Standard" ist der Nachfolger von XPe.
Das ist eine modularisierte Fassung von Windows, auf der, so die
erforderlichen Module installiert sind, auch normale Windows-Anwendungen
laufen können, und auch normale Windows-Devicetreiber verwendet werden
können.
Das ist ein nicht zu unterschätzender Vorteil, wenn denn schon
Entwicklungserfahrungen oder gar fertige Anwendungen für herkömmliches
Windows vorhanden sind, dann nämlich ist nur geringer oder sogar gar
kein Anpassungsaufwand erforderlich.
Echtzeiteigenschaften hat das nur, wenn entsprechende
Kernelerweiterungen hinzugefügt werden, ohne diese entspricht es einem
normalen Windows.
Ein großer Unterschied zum herkömmlichen Windows besteht in der
Möglichkeit des festplattenlosen Betriebs (bzw. Betrieb ohne jedwede
Schreibzugriffe).
Was ist denn die genaue geplante Anwendung? Was soll das "Kiosk-System"
machen?
>Das ist ein nicht zu unterschätzender Vorteil
stimmt, das ist mir noch gar nicht aufgefallen. Bei CE müssen spezielle
Treiber für dieses OS erstellt werden.
>Echtzeiteigenschaften hat das nur, wenn entsprechende>Kernelerweiterungen hinzugefügt werden..
Gibt es zu diesem auch sehr interessanten Punkt entsprechende
Application Notes? Oder kennst du ein paar solcher Kernelerweiterungen
per Namen, so dass man sich mal deren Funktionsweise anschauen kann?
>Ein großer Unterschied zum herkömmlichen Windows besteht in der>Möglichkeit des festplattenlosen Betriebs...
Mit festplattenlosen Betrieb ist hier gemeint, dass man auch eine
CF-Karte oder (vielleicht, ich weiß es nicht genau) einen USB-Stick
verwenden kann?
Geht das bei CE nicht (muss hier immer ein Flash-Speicher NAND vorhanden
sein?
>Was ist denn die genaue geplante Anwendung? Was soll das "Kiosk-System">machen?
Das OS (CE oder Embedded) soll ausgesucht werden für dieses as well as
für weitere Projekte.
Was dieses Kiosk-System angeht, soll ein Ethernet-to-RS485 Interface
gebaut werden (1Ethernet auf 16, 32 RS485 Ausgänge), mit einem TFT-Touch
zur Konfiguration. Wahrscheinlich würden beide OS dafür ausreichen.
Gruß
Thorsten
>>Echtzeiteigenschaften hat das nur, wenn entsprechende>>Kernelerweiterungen hinzugefügt werden..>> Gibt es zu diesem auch sehr interessanten Punkt entsprechende> Application Notes? Oder kennst du ein paar solcher Kernelerweiterungen> per Namen, so dass man sich mal deren Funktionsweise anschauen kann?
MS nennt welche (IntervalZero, RTX, TenAsys oder INtime) auf
http://www.microsoft.com/windowsembedded/de-de/products/westandard/default.mspx
Erfahrungen habe ich mit diesen nicht, da es bei meiner Anwendung von
XPe nicht auf das Echtzeitverhalten ankam.
>>Ein großer Unterschied zum herkömmlichen Windows besteht in der>>Möglichkeit des festplattenlosen Betriebs...>> Mit festplattenlosen Betrieb ist hier gemeint, dass man auch eine> CF-Karte oder (vielleicht, ich weiß es nicht genau) einen USB-Stick> verwenden kann?
Kann man auch. Hervorhebenswert ist, daß es auch komplett ohne
Schreibzugriffe funktioniert, also auch z.B. von einer CD gestartet
werden könnte. Zwar sind die "wear-leveling"-Algorithmen aktueller
Flash-Speicher recht gut geworden, wenn man die aber gar nicht erst in
Anspruch nimmt bzw. sehr genau kontrollieren kann, wann geschrieben
wird, dann hält so etwas halt noch länger.
> Geht das bei CE nicht (muss hier immer ein Flash-Speicher NAND vorhanden> sein?
Das wohl nicht, es wird wohl auch von Massenspeichern gestartet werden
können.
> Das OS (CE oder Embedded) soll ausgesucht werden für dieses as well as> für weitere Projekte.>> Was dieses Kiosk-System angeht, soll ein Ethernet-to-RS485 Interface> gebaut werden (1Ethernet auf 16, 32 RS485 Ausgänge), mit einem TFT-Touch> zur Konfiguration. Wahrscheinlich würden beide OS dafür ausreichen.
Das allerdings. Beide Systeme erscheinen mir für diese Aufgabe
ziemlicher Overkill zu sein.
CE bietet hier halt den Vorteil, nicht an x86-Hardware gebunden zu sein,
es lässt sich halt auch auf ganz anderen Prozessorarchitekturen wie
etwas größeren ARMen verwenden. Das geht mit XPe/"Standard" nicht, dafür
kann das problemlos auf sehr kostengünstiger PC-Hardware eingesetzt
werden.
> Was dieses Kiosk-System angeht, soll ein Ethernet-to-RS485 Interface> gebaut werden (1Ethernet auf 16, 32 RS485 Ausgänge), mit einem TFT-Touch> zur Konfiguration. Wahrscheinlich würden beide OS dafür ausreichen.
Ist das ein Witz? Dafuer braucht man doch kein Betriebssystem. Ich meine
bevor ich als Kunde da jedesmal die zusaetzlich notwenige Hardware und
die Lizensgebuehren bezahle, kaufe ich doch lieber bei der Konkurenz zum
halben Preis.
Olaf
>Das allerdings. Beide Systeme erscheinen mir für diese Aufgabe>ziemlicher Overkill zu sein.
das einzige Problem, welches überhaupt zur Erwägung eines x86 Prozessors
führte, war bzw. ist die Ethernet-Performance.
Hab mir mal den Ethernet-Stream via des Wiresharks angeschaut auf einem
normalen Rechner mit 2.5GHz und hatte Einbrüche in der Datenrate, welche
die ganze Zeit über konstant war.
Mit einem kleinen ARM9 hab ich es auch schon ausprobiert - ohne
jeglichem Software-Stack stieg dieser nach ein paar Sekunden aus (wegen
Überlastung, konnte die DMA Buffer nicht mehr schnell genug
freigeben)...
Ich kenne die Anwendung nicht aber mit diesem ganzen CE Krempel hab ich
mich nie richtig anfreunden können.
Ist in meinen Augen immer eine Bastellösung (hab viel mit XP empedded
gemacht) und macht nur Sinn wenn es wirklich nicht anders geht.
> Was dieses Kiosk-System angeht, soll ein Ethernet-to-RS485 Interface> gebaut werden (1Ethernet auf 16, 32 RS485 Ausgänge), mit einem TFT-Touch> zur Konfiguration. Wahrscheinlich würden beide OS dafür ausreichen.
Das geht auch wohl mit jedem System auch mit den kleinsten Rtos.
Den Kommunikation Layer hab ich nach Möglichkeit aus dem Gerät genommen
und per Ethernet direkt an die Empfänger gelegt.
Empfehlen kann ich z.B.
http://www.sphinxcomputer.de/MOXA/MOXA-NPort-IA5150-5250-Series/p1160.htmlhttp://www.sphinxcomputer.de/MOXA/MOXA-NPort-5430-Series/p270.html
sowohl Hersteller als auch Distri.
Wenn du in C# programieren möchtest, solltest du checken, ob auf dem
Windows Embeded das normale .Net Framework läuft. Ist dem so, dann nimm
das Windows Embeded, ich habe einige Anwendungen für CE geschrieben und
es ist immer wieder erstaunlich, was da alles nicht geht.
ich denke mal c# und Realtime passt auch nicht wirklich zusammen. Für
die Konfig mag das ja noch ok sein, aber das Datenhandlung sollte dann
doch in C geschrieben sein.
>weißt du, welche Hardware Prozessor mit oder ohne OS die verwenden? An>sich ist das eine schöne Sache, bei mir müssen bloß alle 16 / 32 RS485>Ports in einem Gerät drinnen sein.
Kein Ahnung, ist auch völlig egal da auf dem Ziellrechner (irgendwas
willst du mit den Daten ja machen) mit virtuellen Com Ports gearbeitet
wird.
Bei RS232 merkt die Anwendung es gar nicht das die Geräte irgendwo auf
der Welt stehen. Bei 485 ist es etwas aufwändiger wg. DTR DSR timing
usw.
Das ganze ist super zu administrieren da die Anlagen (hab es im
Automatisierungsbereich laufen) im Büro überwacht und konfiguriert
werden kann.
Bei einer Firma die mir die Firewall aufmacht (kommt leider nicht vor)
könnte ich das ganze vom Bett aus bedienen.
>bei mir müssen bloß alle 16 / 32 RS485>Ports in einem Gerät drinnen sein.
Frag mal an ob Sie was anbieten. Ich würde einfach ein paar von den
Dingern nebeneinander packen. Ist aber auch eine Kostenfrage.
Thorsten Mal schrieb:
> An> sich ist das eine schöne Sache, bei mir müssen bloß alle 16 / 32 RS485> Ports in einem Gerät drinnen sein.http://www.moxa.com/product/NPort_5600.htm
Matthias
Win CE ist von der Leistung dafür ausreichend, wichtig ist nur das es
Treiber für die HW gibt. Da führt CE ein ziemliches Schattenleben und
aufwändige Treiberentwicklung lohnt sich nur für grosse Serien.
Auch .NET wird unterstützt, zwar nur in abgespeckter Form aber für eine
komfortable Konfiguration des Gerätes reicht das auch. Und die Lizenzen
liegen so bei 15-45$, da sind bei anderen Plattformen die umgelegten
Kosten für die speziellen Entwicklungswerkzeuge oft teurer.
Matthias Weißer schrieb:
> http://www.moxa.com/product/NPort_5600.htm
Danke für den Link.
JojoS schrieb:
> Win CE ist von der Leistung dafür ausreichend, wichtig ist nur das es> Treiber für die HW gibt.
das ist richtig; wenn dann würd eh ein bereits fertiges CPU-Board
eingesetzt werden und lediglich ein Board für die jeweiligen Anschlüsse
erstellt werden.
Olaf schrieb:
> Ist das ein Witz? Dafuer braucht man doch kein Betriebssystem.
ohne OS geht es auf keinen Fall, da es mehrere Threads geben wird -
Ethernet, RS485 (Input, Output), TFT, Webserver eventuell etc.
Rufus t. Firefly schrieb:>>>Echtzeiteigenschaften hat das nur, wenn entsprechende>>>Kernelerweiterungen hinzugefügt werden..>>>> Gibt es zu diesem auch sehr interessanten Punkt entsprechende>> Application Notes? Oder kennst du ein paar solcher Kernelerweiterungen>> per Namen, so dass man sich mal deren Funktionsweise anschauen kann?>> MS nennt welche (IntervalZero, RTX, TenAsys oder INtime) auf> http://www.microsoft.com/windowsembedded/de-de/products/westandard/default.mspx>> Erfahrungen habe ich mit diesen nicht, da es bei meiner Anwendung von> XPe nicht auf das Echtzeitverhalten ankam.>>>>Ein großer Unterschied zum herkömmlichen Windows besteht in der>>>Möglichkeit des festplattenlosen Betriebs...>>>> Mit festplattenlosen Betrieb ist hier gemeint, dass man auch eine>> CF-Karte oder (vielleicht, ich weiß es nicht genau) einen USB-Stick>> verwenden kann?>> Kann man auch. Hervorhebenswert ist, daß es auch komplett ohne> Schreibzugriffe funktioniert, also auch z.B. von einer CD gestartet> werden könnte. Zwar sind die "wear-leveling"-Algorithmen aktueller> Flash-Speicher recht gut geworden, wenn man die aber gar nicht erst in> Anspruch nimmt bzw. sehr genau kontrollieren kann, wann geschrieben> wird, dann hält so etwas halt noch länger.>>> Geht das bei CE nicht (muss hier immer ein Flash-Speicher NAND vorhanden>> sein?>> Das wohl nicht, es wird wohl auch von Massenspeichern gestartet werden> können.>>> Das OS (CE oder Embedded) soll ausgesucht werden für dieses as well as>> für weitere Projekte.
Man muss sich auch nicht sofort für ein Betriebssystem entscheiden!
Hier sind auch noch Empfehlungen für Hardwareplattformen, bei denen man
sich bei einigen auch noch später entscheiden kann, z.B. Q7, Geode
Board, Wrap, ob man jetzt mit Windows CE oder mit Windows XP (Embedded)
arbeitet. http://schneeweiss.de/Technologien/Embedded_Boards.aspx
Gruß
Jens
Wenn Du meinen Beitrag schon zitierst - warum tust Du das? Gehst Du auf
irgendwas von dem ein, was ich als Antwort auf anderer Leute Fragen
geschrieben habe?
Siehst Du einen zeitlichen Bezug Deines Beitrages zu den anderen in
diesem Thread? (Hier war immerhin ein halbes Jahr lang Funkstille, und
also wohl alles wesentliche zum Thema gefragt und gesagt)
Wer ist "Euch"?
Ich habe vor mehreren Jahren mit XPe gearbeitet (aber auch mit
RTOS-32, was aber was ganz anderes ist), aber was Thorsten für sich
entschieden hat, wird er wohl nur selber wissen.
Also, ich habe in einem Projekt sehr ausführlich mit Win CE 5.0 auf
einer x86 basierenden Hardware gearbeitet und kann nur sagen, dass wir
sehr zufrieden waren.
-die Anforderungen an die Zielhardware sind deutlich niedriger als ein
Windows Embedded.
-Für standard Hardware gibt es im Platformbuilder fertige Treiber, wir
mussten keine eigenen schreiben, und wenn ist dies bei CE auch deutlich
einfacher. Wir haben z.B. ohne Probleme DirectDraw zum laufen gebracht,
was eine super geschwindigkeit beim Zoomen und Scrollen gebracht hat.
-Man kann unter CE auch von der Applikation auf die Hardware zugreifen,
auch Interrupt handler sind sehr einfach zu implementieren.
-Ganz wichtiger Punkt: Lizenzkosten! Je nach auswahl der Komponenten für
Deinen CE Kernel kostet CE so zwischen 3,50€ und 10€ wenn ich das
richtig im Kopf habe. Da liegt Windows Embedded weit darüber.
Wir haben damals ETX-Module von Advantech eingesetzt. Interessant sind
auch die JREX- Module von Kontron
http://de.kontron.com/products/boards+and+mezzanines/embedded+sbc/jrex+35+sbc/
Gruß
Tom