MS-Blog

libnodave unter windows CE läuft :)

Sonntag, 14. Dezember 2008 von Marco

So nach einem langen Wochenende habe ich es geschafft.

Die libnodave läuft unter WinCE.

Man muss dabei beachten das WinCE Standartmässig Unicode verwendet die Beispielprogramme müssen also Dementsprechend angepasst werden.

Was auch noch wichtig ist beim Binden des Sockets muss man darauf achten das man einen freien Port vergibt. Standartmässig wird der Port 102 verwendet unter WinXP wird da dieser durch die SoftSPS belegt ist automatisch ein anderer genommen unter WinCE nicht und anstatt mit der SPS zu kommunizieren redet nodave mit sich selber.

Tja muss man auch erst drauf kommen 😉

Werde schauen das die Dateien in die Library aufgenommen werden dann haben alle was davon.

Da anscheinend ein grosses Interesse am Quellcode besteht habe ich hier das Projekt zum Download:

Source Code

Ein grosser Dank geht an Giorgio der den Sourcecode auf die aktuelle Libnodave Version aktualisiert hat.

libnodave unter windows CE

Sonntag, 14. Dezember 2008 von Marco

Nun unternehme ich mal einen Versuch libnodave für Windows CE 5.0 zu kompilieren.

Meine Konfiguration:

Siemens Simatic MP277 8″ Touch

WinAC MP 2007

Windows CE (spezielles Siemens Image)

Als erstes benötigen wir mal das SDK. Am besten natürlich das vom Hersteller.

Leider ist Siemens was das betrifft nicht sehr grosszügig. Dieses SDK muss man sich teuer kaufen desshalb versuchen wir es mit dem Standart SDK von MS:

http://www.microsoft.com/downloads/details.aspx?familyid=FA1A3D66-3F61-4DDC-9510-AE450E2318C3&displaylang=en

Nach dem installieren können wir ein Leeres Smart Device Projekt erstellen das auf dem SDK basiert.

Wir kopieren die Dateien für die DLL in das Projekt:

log2.h

nodave.h

nodave.c

openS7online.h

openS7online.c

openSocketw.c

setportw.c

In den Einstellungen müssen wir für den Preprozessor folgende Variablen noch setzen:

DOEXPORT
BCCWIN
DAVE_LITTLE_ENDIAN
ARM_FIX

und unter Advance stellen wir das Kompillieren auf C um da wir ja kein C++ Code haben.

Dem Linker müssen wir noch die Ws2.lib als abhängigkeit angeben.

Jetzt muss nur noch der Code angepasst werden damit alle Funktionen sich auch auf dem CE gerät ausführen lassen.

Und schon haben wir eine DLL.

VC Problem die zweite

Donnerstag, 11. Dezember 2008 von Marco

Wer die Programme bedinenen kann ist klar im Vorteil.

Um in der Komandozeile zu kompillieren mussen nicht die Dateien, wie vorher geschrieben, kopiert werden. Sondern nur vor dem kompilieren die

C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat

gestartet werden dann werden auch die Variablen für Verzeichnisse und Bibliotheken die man benötigt gesetzt.

Probleme mit VC

Donnerstag, 11. Dezember 2008 von Marco

Da wollte ich die libnodave mal kompilieren mit Visual C++ 9.0 und siehe da:

NMAKE : fatal error U1077:

und dann schmiert der Compiler ab.

Habe danach mal die Cl.exe direkt gestartet und da erzählt das Programm:

mspdb80.dll was not found !

Ein wenig suchen und siehe da Anscheinend muss man die follgenden Dateien in das vom Common7/IDE in das VC/bin Verzeichniss kopieren:

msobj80.dll
mspdb80.dll
mspdbcore.dll
mspdbsrv.exe

und schon geht es.

Wieso MS die Dateien nicht standartmässig in das Verzeichnis kopiert?

Seiten

Kategorien

Suchen


RSS-Feeds

Blogroll

Meta

 

© Marco – Powered by WordPress – Design: Vlad (aka Perun)