Hallo zusammen,
zuerst zu meiner Person: Ich bin 26 Jahre alt und habe Medieninformatik
studiert. Seit neusten beschäftige ich mich in meinem Job mit der
Programmierung von Maschinen in C.
Jetzt zu meiner Frage. Die Maschine soll auch eine Fernbedienung haben.
IN dieser soll sich ein Touchscreen befinden. Der Benutzer soll anhand
der GUI die Maschine steuern. Jetzt habe ich noch ein paar Fragen. Ein
paar Antworten habe ich schon beim durchsuchen des Forums gefunden.
Ist es möglich auf einer PC104 ein Interface laufen zu lassen, welches
mit C# und WPF bzw. XAML programmiert wurde? ODer würde ihr eher eine
andere Hardware für die Fernbedienung nutzen? Die Kommunikation in der
Maschine geht über einen CANBus.
Ich hoffe ich befinde mich hier im richtigen Forum.
Vielen Dank für Eure Antworten,
Robert
OsirisBob schrieb:> Ist es möglich auf einer PC104 ein Interface laufen zu lassen
Solltest Du mit "eine PC104" einen embedded PC meinen, dann kann Deine
Frage dann mit ja beantwortet werden, wenn dessen Hardware ausreichend
Resourcen für die Anwendung mit sich bringt und das, was auch immer Du
mit "Fernbedienung" meinst, irgendwie sinnvoll mit diesem embedded PC
kommunizieren kann.
Ok - drei Fragen:
Touch-Screens lassen sich zum einen sehr leicht mit WPF-Programmieren.
Selbst Multi-Touch ist bereits ab Werk dabei. Für einfache Klicks
Buttons etc. in XAML ablegen, Designen und die Events in der
Code-Behind-Datei verarbeiten (eine Sache von Minuten ;-)). Visual
Studio Express ist bereits ausreichend.
PC/104 ist nur eine normierte Bauform und sagt wenig über die verwendete
Hardware aus. Für WPF muss eine GPU mit mindestens DirectX
9-Unterstützung vorhanden sein, um die API vollständig zu nutzen. Die
PC/104-Boards mit ATOMs haben fast immer eine solche GPU mit dabei (Oft
angeboten: ATOM 450 mit Intel GMA 3150). RAM 1GB Minimum. Mehr ist mehr!
Um zum CANBus-Durchzukommen ist ein leichter Kniff notwendig. Stellt der
Anbieter ein SDK bereit, dann kann die DLL zur CANBus-Steuerung einfach
mit C# und P/Invoke eingebunden werden.
Hallo,
danke Dir! Genau diese Antworten brauchte ich!
> Touch-Screens lassen sich zum einen sehr leicht mit WPF-Programmieren.> Selbst Multi-Touch ist bereits ab Werk dabei. Für einfache Klicks> Buttons etc. in XAML ablegen, Designen und die Events in der> Code-Behind-Datei verarbeiten (eine Sache von Minuten ;-)). Visual> Studio Express ist bereits ausreichend.
WPF fürs Design und C# für die Logik hab ich schonmal programmiert. Das
dürfte das kleinste Problem sein.
> PC/104 ist nur eine normierte Bauform und sagt wenig über die verwendete> Hardware aus. Für WPF muss eine GPU mit mindestens DirectX> 9-Unterstützung vorhanden sein, um die API vollständig zu nutzen. Die> PC/104-Boards mit ATOMs haben fast immer eine solche GPU mit dabei (Oft> angeboten: ATOM 450 mit Intel GMA 3150). RAM 1GB Minimum. Mehr ist mehr!
Genau solche PC104 mit diesen Eigenschaften haben wir! Also mit 2GB Ram.
> Um zum CANBus-Durchzukommen ist ein leichter Kniff notwendig. Stellt der> Anbieter ein SDK bereit, dann kann die DLL zur CANBus-Steuerung einfach> mit C# und P/Invoke eingebunden werden.
hmm das weiss ich jetzt nicht! Der Anbieter ist Advantech.
Noch zu den PC104, wie laufen die? Muss ich zuerst WIndows Embedded
installieren?
Vielen Dank im Voraus,
Robert
OsirisBob schrieb:> Noch zu den PC104, wie laufen die? Muss ich zuerst WIndows Embedded> installieren?
Sicher, ohne Betriebssystem tun die Dinger gar nichts. Wenn eine
Festplatte oder SSD dranhängt, kannst Du natürlich auch ein beliebiges
anderes Windows nutzen.
OsirisBob schrieb:> Ich denk ein WIndows Embedded sollte darein, oder?
Ganz plumpe Gegenfrage: Warum?
Und hast Du Dich schon mal damit beschäftigt, was es bedeutet, Windows
Embedded irgendwo zu installieren, und welcher Aufwand erforderlich ist,
um überhaupt an eine Lizenz dafür zu gelangen?
Unterschätz das nicht!
Nee hab ich noch nicht! Dann habe ich den Aufwand wohl unterschätzt. Und
warum ist das so schwer?
Die Anwendung auf der Fernbedienung sollte sofort laufen, also damit
meine ich ohne zuerst Windows hochfahren zu müssen. Gibts da noch andere
Möglichkeiten.
OsirisBob schrieb:> Und warum ist das so schwer?
Weil Windows Embedded nicht im Laden verkauft wird, sondern nur gegen
einen entsprechenden Lizenzvertrag von Microsoft rausgerückt wird. Und
das Werkzeug, das man dann verwendet, um das System an die vorhandene
Hardware anzupassen, ist auch deutlich komplexer als die übliche
Windows-Installationsroutine.
OsirisBob schrieb:> Gibts da noch andere Möglichkeiten.
Wenn die Fernbedienung eine Fernbedienung ist (also damit ein anderer PC
fernbedient wird, auf dem die fernzubedienende Software läuft), dann
würde eine Fernbedienungssoftware à la VNC, Remote Desktop o.ä. auf dem
Rechner mit dem Touchscreen genügen. Und die gibt es auch in Form
minimalistischer Linux-Systeme, die recht flott von CF-Karten o.ä.
booten.
OsirisBob schrieb:> Die Kommunikation in der>> Maschine geht über einen CANBus.
Ich glaube das ist eher mit "Fernsteuerung" gemeint? Für Prototypen und
Kleinstserien kann man auch ein XP-Pro (oder zur not 7 Pro) verwenden.
Die eigentliche Arbeit ist eher die CAN-Schnittstelle zu kapseln und mit
dem UI zu verbinden. Hier gibt es keine Unterschiede zwischen Windows
embedded und Windows XP Pro. Der Resourcen-Bedarf von XP-Pro ist
natürlich größer.
Der eigentliche Unterschied ist die Fähigkeit passgenaue OS-Images mit
Windows embedded zu erstellen (Target Analyzer), Windows ist hier in
"Feature Sets"/Komponenten zerlegt. Nur die Teile, die Deine Anwendung
braucht werden eingebunden und das OS-Image wird dann auf alle Geräte
einer Serie verteilt. Man kann dann auch aus dem internen Flash der PC
104's booten.
Während der Entwicklung würde ich einfach eine HD ans Board hängen.
HalfBit schrieb:> Der eigentliche Unterschied ...
Ja, das ist soweit richtig. Aber der andere, nicht zu unterschätzende
Unterschied, ist der Aufwand, den man treiben muss, um überhaupt an ein
Windows Embedded zu kommen. Wie schon geschrieben, im Laden wird das
nicht verkauft, und das Vertragswerk, das man unterzeichnen muss, das
räumt MS erstaunliche Rechte ein (so z.B. das Recht zum "Auditing", d.h.
Besuch in den Geschäftsräumen mit Kontrolle der Lizenznutzung). Bei XPe
war das ein fünfzehnseitiger englischsprachiger Vertragstext ("Microsoft
OEM Customer License Agreement for Embedded Systems").
Rufus Τ. Firefly schrieb:> Ja, das ist soweit richtig. Aber der andere, nicht zu unterschätzende> Unterschied, ist der Aufwand, den man treiben muss, um überhaupt an ein> Windows Embedded zu kommen. Wie schon geschrieben, im Laden wird das> nicht verkauft, und das Vertragswerk, das man unterzeichnen muss, das> räumt MS erstaunliche Rechte ein (so z.B. das Recht zum "Auditing", d.h.> Besuch in den Geschäftsräumen mit Kontrolle der Lizenznutzung). Bei XPe> war das ein fünfzehnseitiger englischsprachiger Vertragstext ("Microsoft> OEM Customer License Agreement for Embedded Systems").
Sollen Sie doch kommen ;)! Nee im Ernst. Ich habe mit unserer
IT-Abteilung gesprochen, die schauen was sich machen lässt.
Zur Entwicklung ist eine Festplatte garkeine schlechte Idee.
HalfBit schrieb:> Der Resourcen-Bedarf von XP-Pro ist> natürlich größer.
Ist nicht der von Win 7 grösser?
Rufus Τ. Firefly schrieb:> Wenn die Fernbedienung eine Fernbedienung ist (also damit ein anderer PC> fernbedient wird, auf dem die fernzubedienende Software läuft), dann> würde eine Fernbedienungssoftware à la VNC, Remote Desktop o.ä. auf dem> Rechner mit dem Touchscreen genügen. Und die gibt es auch in Form> minimalistischer Linux-Systeme, die recht flott von CF-Karten o.ä.> booten.
Die Fernbedienung bedient leider keinen anderen PC sondern eine mobile
Maschine.
Ich werde mich wohl oder übel in die Thematik Win Embedded einarbeiten
müssen.
Ich habe jetzt neben WIndows Embedded auch von Windows CE gelesen. Was
haltet ihr davon?
Also nochmal der Sachverhalt. Fernbedienung mit embedded PC (PC 104),
Interface soll mit C# und WPF gemacht werden. Ich überlege auch ob nicht
eine andere Hardware genutzt werden soll. Das wichtigste ist jedoch,
dass die Fernbedienung schnell eingeschaltet werden kann, da man diese
relativ oft an und ausschaltet.
Da wäre schon die nächste Frage. Das .NET Framework soll in Win Embedded
abgespeckt sein. Infwiefern? Wisst ihr das?
OsirisBob schrieb:> Ich habe jetzt neben WIndows Embedded auch von Windows CE gelesen. Was> haltet ihr davon?
Das ist noch schlimmer. Windows Embedded hat den Vorteil, daß Du
Programme und Devicetreiber dafür auch auf einem ganz normalen Windows
laufen lassen kannst (und umgekehrt), was die Entwicklung ganz enorm
vereinfacht. Und Du kannst Dein Zielsystem zunächst mit einem normalen
Windows und einer Festplatte betreiben, und irgendwann später, wenn die
eigentliche Softwareentwicklung abgeschlossen oder sehr weit
fortgeschritten ist, den Schwenk von normalem Windows zu Windows
Embedded vornehmen.
CE ist ganz anders. Da musst Du alles passend dafür entwickeln und
kannst nichts von einem herkömmlichen System übernehmen, keine
Devicetreiber, keine Software, nichts. Ich würd' die Finger davon
lassen.
Windows Embedded (und die zugehörigen Entwicklungswerkzeuge wie den
"Platform Builder") gibt es als zeitlich limitierte Testversion bei MS
zum Herunterladen, damit kannst Du schon etwas herumspielen, wenn Du
Dich darauf vorbereiten willst.
Empfehlenswert sind hier auch ein paar Bücher:
Sean Liming
"Windows XP Embedded Advanced"
"Windows XP Embedded Supplemental Toolkit"
(wenn Du mit XPe arbeiten möchtest)
und "Professional's Guide To Windows® Embedded Standard 7"
Hallo nochmal,
ich habe noch eine Frage: Der PC 104 bietet nur eine SATA SChnittstelle.
Wenn ich jetzt aber ein CD Laufwerk zum installieren und eine Festplatte
zum entwickeln anschliessen möchte hab ich schon ein Problem: Ein
anderer Anschluss wie IDE ist leider nicht dran. Habt ihr ne Idee?
Vielen Dank für Eure Antworten!
Benenne das Ding doch mal, statt es nur "PC104" zu nennen. Das wäre so,
als würde man "der ATX" schreiben.
Selbst wenn das Ding nur eine SATA-Schnittstelle hat, sollte es doch
auch über eine USB-Schnittstelle verfügen. Und an der kannst Du ein
CD-/DVD-Laufwerk anschließen.
Rufus Τ. Firefly schrieb:> Benenne das Ding doch mal, statt es nur "PC104" zu nennen. Das wäre so,> als würde man "der ATX" schreiben.>> Selbst wenn das Ding nur eine SATA-Schnittstelle hat, sollte es doch> auch über eine USB-Schnittstelle verfügen. Und an der kannst Du ein> CD-/DVD-Laufwerk anschließen.
Mittlerweile booten die Windows-Installationen auch direkt von USB (wenn
das BIOS mitmacht...). Bzw. kann man auch die älteren dazu bringen:
USBoot, WinToFlash, nLite, vLite etc.
Hallo zusammen,
ich habe da noch eine Frage zu Windows Embedded. Ich hoffe einer von
Euch kann mir sagen was da schief läuft. Also ich habe Win XPe Tools
installiert, d.h. Database Target- und Component-Designer bzw. alles was
man zum erstellen eines Win Xpe Images braucht. Der Industrie-Pc
(Advantech PCM-3362) läuft. Habe zum testen mal Win XP Pro installiert
--> Geht!
Um jetzt das Image zu erstellen habe ich mit Tap.exe (Tools des XPe
Entzicklungsstudios) die Hardware des Zielgerätes ermittelt und im
Component Designer alles festgelegt und in die Datenbank importiert. Im
Target-Analyser wird die neue Komponente auch gefunden. Wenn ich jetzt
mein Image zusammenstelle und es auf eine externe Festplatte lade
funktioniert es leider nicht. DIe Meldung "A disk read error occured"
erscheint. Kann mir wer sagen was ich falsch mache? Ich habs auch schon
auf CD gebrannt und so veruscht aber geht auch nicht.
Vielen Dank für Eure Antworten,
OsirisBob
Nimm lieber WES2011, das neuere Win Embedded das auf Win7 basiert. Da
gibt es vorgefertigte Installationen und das lässt sich auch vom USB
Stick installieren. Die Bedingungen für Toolkit und Lizenzen sind wie
bei XP Embedded, aber es ist wesentlich einfacher. Man braucht zwar mehr
RAM und HD Speicher, aber ein schlankes XP Image zu bauen kostet sehr
viel Zeit. Und ist mit c# und WPF kaum möglich.
OsirisBob schrieb:> Wenn ich jetzt mein Image zusammenstelle und es auf eine externe> Festplatte lade funktioniert es leider nicht.
Und wie "lädst" Du Dein Image auf die externe Festplatte?
Mit welchem Dateisystem ist die formatiert? Und welche
Dateisystemunterstützung hast Du Deinem XPe-System mitgegeben?
Vielen Dank für Eure Antworten!!
Rufus Τ. Firefly schrieb:> OsirisBob schrieb:>> Wenn ich jetzt mein Image zusammenstelle und es auf eine externe>> Festplatte lade funktioniert es leider nicht.>> Und wie "lädst" Du Dein Image auf die externe Festplatte?>> Mit welchem Dateisystem ist die formatiert? Und welche> Dateisystemunterstützung hast Du Deinem XPe-System mitgegeben?
Die Festplatte ist in NTFS formatiert und die Dateiunterstützung hab ich
auch NTFS ... ich kopiere das Image vor Entwicklungsrechner auf die
Platte.
JojoS schrieb:> Nimm lieber WES2011, das neuere Win Embedded das auf Win7 basiert. Da> gibt es vorgefertigte Installationen und das lässt sich auch vom USB> Stick installieren. Die Bedingungen für Toolkit und Lizenzen sind wie> bei XP Embedded, aber es ist wesentlich einfacher. Man braucht zwar mehr> RAM und HD Speicher, aber ein schlankes XP Image zu bauen kostet sehr> viel Zeit. Und ist mit c# und WPF kaum möglich.
Ok Ich schaumal ob ich das besorgen kann...
OsirisBob schrieb:> Die Festplatte ist in NTFS formatiert und die Dateiunterstützung hab ich> auch NTFS ... ich kopiere das Image vor Entwicklungsrechner auf die> Platte.
Wenn Du das dateiweise machst, dann sollte das System davon booten
können. Allerdings darfst Du das Kopieren nicht mit dem Explorer machen,
der ist zu doof dazu, sondern in der Kommandozeile mit xcopy /kreisch,
damit auch alle versteckten und Systemdateien kopiert werden.
So habe ich vor ein paar Jahren meine XPe-Systeme betrieben, alle
Dateien des "Images" per xcopy auf eine NTFS-formatierte CF-Karte und
die Kiste konnte davon starten.
Rufus Τ. Firefly schrieb:> OsirisBob schrieb:>> Die Festplatte ist in NTFS formatiert und die Dateiunterstützung hab ich>> auch NTFS ... ich kopiere das Image vor Entwicklungsrechner auf die>> Platte.>> Wenn Du das dateiweise machst, dann sollte das System davon booten> können. Allerdings darfst Du das Kopieren nicht mit dem Explorer machen,> der ist zu doof dazu, sondern in der Kommandozeile mit xcopy /kreisch,> damit auch alle versteckten und Systemdateien kopiert werden.>> So habe ich vor ein paar Jahren meine XPe-Systeme betrieben, alle> Dateien des "Images" per xcopy auf eine NTFS-formatierte CF-Karte und> die Kiste konnte davon starten.
Das war echt ein guter Tipp... bin ich nicht drauf gekommen aber geht
leider noch nicht. Meine Prozedur ist aber theoretisch richtig so, oder?
Wenn ja dann wird irgendne Komponente sein die fehlt. Habs auch schon
auf cd gebrannt und versucht zu starten aber geht auch nicht...
OsirisBob schrieb:> Meine Prozedur ist aber theoretisch richtig so, oder?
Scheint schon so zu sein. Die Platte ist wie an das Zielsystem
angeschlossen?
Dann muss dem Zielsystem noch die Fähigkeit mitgegeben werden, von USB
zu booten. Das würde ich, um die Anzahl der möglichen Fehlerquellen
etwas zu reduzieren, fürs erste sein lassen, also die Platte direkt am
Zielsystem anschließen.
OsirisBob schrieb:> Wenn ich das Ganze auf CD brenne... gehts auch nicht... ka warum ...
Weil auch das was anderes ist als von einer direkt angeschlossenen
Festplatte zu booten.
Eine CD verwendet beispielsweise kein NTFS, also musst Du auch noch
Unterstützung für das dort verwendete Dateisystem beischnallen.
Versuche die Anzahl der Fehlerquellen gering zu halten, schließe die
Platte direkt an. Wenn das geht, dann kannst Du anfangen, Schnörkel und
Schleifchen dranzukleben.
Es geht!!! Vielen Dank für deine Hilfe. Habs jetzt direkt mit SATA
gemacht und es geht! Jetzt schaue ich mal welche Komponenten ich brauche
und welche nicht...
Hallo zusammen,
wenn ich mit dem Advantech PCM-3362 von USB booten möchte.. kann ich das
einfach im Bios umstellen oder muss ich das Bios flashen?
Vielen dank für Eure Antworten!
Hallo zusammen,
hat jemand von Euch Erfahrungen damit gemacht, wie schnell Windows
Embedded Standard 7 starten kann?
Also wie schnell kann es im besten Fall hochfahren?
Gibt es Tipps und Tricks?
Da ich ein WPF-App laufen lassen möchte ist das schwer zu schätzen...
Vielen Dank für Eure Antworten!
Wünsche allen frohe Weihnachten!!