Visualisierung (Touchpanel mit ARM-Prozessor, libnodave, VB2008)

Zuviel Werbung?
-> Hier kostenlos registrieren
Neuer Fehler

Habe nach langem Suchen eine Anleitun gefunden, um libnodave für CE zu erstellen.
Hat soweit auch geklappt. :-D

Jetzt habe ich neue Probleme:
Wenn ich das Programm auf dem Touchpanel ausführe, erscheint folgende Fehlermeldung:

Code:
Error
ExceptionCode: 0xc0000005
ExceptionAddress: 0x405e2b50
Reading: 0x000000ac
Jetzt bin ich wieder ratlos :confused:
 
Habe nach langem Suchen eine Anleitun gefunden, um libnodave für CE zu erstellen.
Hat soweit auch geklappt. :-D

Jetzt habe ich neue Probleme:
Wenn ich das Programm auf dem Touchpanel ausführe, erscheint folgende Fehlermeldung:

Code:
Error
ExceptionCode: 0xc0000005
ExceptionAddress: 0x405e2b50
Reading: 0x000000ac
Jetzt bin ich wieder ratlos :confused:

Wo hasst du den die Anleitung gefunden, das würde anderen viel. auch helfen.

Der Fehler bedeutet "memory access violation", kann natürlich auch an deiner compilierten DLL liegen, das da noch was falsch ist!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nachtrag zum neuen Fehler

Das die Anleitung hilfreich sein wird, habe ich eh gedacht. Hatte gestern nur keine Zeit mehr (müde) den Link einzufügen und genaueres zu schreiben.

Hier der Link zur Anleitung:
http://www.ms-mueller.ch/wp/?cat=5

Der Verfasser des Blog verlinkt selbst einem bearbeiteten Code von libnodave (download), der schon einen Code enthält, für CE.

Interessant ist die Änderung vom Aufruf:
Code:
fds.rfd = libnodave.openSocket(sps_port, IP_b(0))
In der Änderung wird nämlich opensocket nicht mit String übergeben, sondern mit
Byte. Was im ersten Moment natürlich unpraktisch ist, da die IP-Adresse zuerst in
Byte vorliegen muß.

Auch hier gibts einen fertigen Code von einer sehr hilfreichen Seite:
http://dotnet-snippets.de/dns/ip-adresse-in-bytearray-SID199.aspx
(Funktion IP (String) in Byte)).

Die Übergabe der IP als String (wie ursprünglich im Quellcode) funktioniert unter
CE anscheinend nicht. Habe das getestet. Andere Fehlermeldung (muß ich nachreichen, hab sie nicht abgeschrieben, ist aber rekonstruierbar).

Und genau hier tritt dieser Fehler auf.
Ist nicht so einfach dauernd das Programm zu ändern, kompilieren, auf SD-Karte zu spielen, im Touchpanel (nicht Siemens!) zu testen.
Die Emulatoren imVS haben keinen ARM-Prozessor und können diesen scheinbar auch nicht simulieren (meiner Meinung nach). Ich bekomme
dort nämlich eine andere Fehlermeldung, die ich schon kenne (PInvoke ..., siehe Eintrag http://www.spsforum.com/showpost.php?p=291081&postcount=5], :cool:)
 
Zuletzt bearbeitet:
Keine Verbindung?

Nach langem Tüfteln habe ich die DLL soweit hinbekommen, daß ich keine Fehlermeldung beim Aufruf des Programms (vom Touchpanel) bekomme.

Die einzige Meldung, die ich abfange, ist das ich keine Verbindung zur SPS bekomme.

Wie in anderen Foren, bzw. Threads zu lesen ist, spricht CE über einen anderen Port als XP, oder Windows allgemein.
Nur habe ich noch nicht herausgefunden, welcher Port.

Bei libnodave tue ich mich etwas schwer, da dies viel komplexer ist, als S7.net

hasst du eigendlich auch schon http://s7net.codeplex.com/ probiert, das ist nur managed code, das wäre viel. einfacher!

Das Problem mit der Ping-Klasse im CF habe ich mit OpenNETCF gelöst.
http://www.opennetcf.com/Products/SmartDeviceFramework/tabid/65/Default.aspx

Hier habe ich das Problem mit dem Port, bzw. dass keine Verbindung zur SPS. :cool:
 
Hilfeaufruf --> Untzerstützung

Ich vermute das bei S7net, in der Datei PLC.cs eine neue CPU anlegen muß vom Typ S7-1200.
Hier werden vom Verfasser schon TSAP für die anderen CPUs (200, 300, 400) angeführt,
für die 1200 bin ich auf der Suche.

Weiß jemand wie ich die TSAP auslesen kann, mit S7 Basic? :confused:

Würde mir wahrscheinlich sehr weiterhelfen.

Falls der Code von PLC.cs (mit OpenNETCF) auch benötigt werden, kann ich sie beifügen.

Danke.
 
Zurück
Oben