libnodave - linux

waschtl

Level-2
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
ich hab in den letzten Wochen mit libnodave herum gespielt. Mein Ziel eine kleine S5 101U mit meinem Rechner zu verbinden und ohne teuren OPC-Server darauf zugreifen zu können habe ich grundsätzlich erst mal ans laufen bekommen. Ich habe mir einen kleinen Wrapper in Python geschrieben der mir einen Zugriff auf die DLL- Dateien erlaubt. Laufen lassen würde ich das ganz gerne unter Ubuntu 9.10 (später mal ne akutellere Version)- das habe ich sowohl auf meinem Desktop am laufen als auch auf meinem kleinen Server auf dem das letztendlich kommen soll.
Während der Entwicklung habe ich hauptsächlich auf einer Virtuellen Maschine mit XP getestet. Die Virtuelle Maschine läuft auf meinem Ubuntu 9.10. Unter dem virtuellen XP gibt es keine Probleme. Die Probleme Fangen erst an wenn ich das gleiche Projekt unter Ubuntu laufen lassen möchte. Manchmal funktioniert es (genau wie unter WinXP) meisstens bekomme ich von libnodave Fehlermeldungen wie:

Code:
ttyUSB0 - VerbindungR� daveEndTrans *** no accept of eot/ETX from plc.
ttyUSB0 - VerbindungR� *** Error in Exchange.EndTrans request.
ttyUSB0 - VerbindungR� *** Error in ImageAddr.Exchange sequence.
ttyUSB0 - VerbindungR� writeS5Bytes *** Requested data is out-of-range.
Da der gleiche Code manchmal funktioniert und manchmal nicht vermute ich das ich irgend welche Timings oder waswasichwas einstellen muss. Leider habe ich in der Doku dazu keine Informationen gefunden. Gibt es irgend etwas besonderes das ich bei Verbindungen unter Linux beachten muss?

schon mal Danke
Sebastian
 
Beim Übersetzen von libnodave habe ich folgende #defines gesetzt
LITTLEENDIAN
LINUX

Damit funktioniert libnodave bei mir problemlos.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi pvbrowser,
ich habe libnodave gar nicht selber compiliert. Ich nutzte die mitgelieferten libnodave.dll und libnodave.so Dateien. Das Testprogramm für XP (testAS511.exe) läuft ohne Probleme bei mir. Das Testprogramm für linux (testAS511) zeigt ähnliche Probleme wie oben beschrieben.
 
Man hört ja manchmal, dass USB/Seriell Adapter problematisch sein können.
Ich habe hier aber auch so einen Adapter verwendet und es funktioniert problemlos.

Falls Du Ubuntu in einer VM laufen hast und über den Wirtsrechner und USB auf die serielle Schnittstelle kommst, sind da natürlich noch ein paar Unwägbarkeiten drin.

Ich würde mal mit einem richtig installierten Linux testen.
 
Also auf dem Wirtsrechner läuft Ubuntu 9.10. In der Virtuellen Maschine läuft ein WinXP.

In der Virtuellen Maschine läuft alles wunderbar.
Direkt auf dem Wirtsrechner bekomme ich die Fehler.

Macht es Sinn für verschiedene Distributionen extra die libnodave.so zu compilieren? Ich würde vermuten das mich das nicht weiterhilft, oder?
 
Zurück
Oben