# libnodave  S7Online mir .Net



## eloboy (27 Dezember 2007)

Hallo,

ich Versuche mit vb.net Schnittstelle "S7Online" auf eine WinLC zuzugreifen. 
Bei 


```
[SIZE=2]fds.rfd = libnodave.openS7online([/SIZE][SIZE=2][COLOR=#a31515]"S7ONLINE"[/COLOR][/SIZE][SIZE=2])[/SIZE]
[SIZE=2][SIZE=2]fds.wfd = fds.rfd[/SIZE]
[/SIZE][SIZE=2][SIZE=2][SIZE=2]di = [/SIZE][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][SIZE=2] libnodave.daveInterface(fds, [/SIZE][SIZE=2][COLOR=#a31515]"IF1"[/COLOR][/SIZE][SIZE=2], localMPI, useProto, speed)[/SIZE]
[SIZE=2][SIZE=2]di.setTimeout(20000)[/SIZE]
[SIZE=2]res = di.initAdapter[/SIZE]
[/SIZE][/SIZE][/SIZE][SIZE=2]res = dc.readBytes(libnodave.daveDB, 130, 0, 32, buf)[/SIZE]
```
bekommen ich immer -128 zurück

das "testS7online.exe" funktioniert ohne Probleme
das C# Beispiel bekomme ich auch irgendwie nicht zum Laufen. 


hat jemand einen fertiges Beispiel vor vb.express 2005?
oder eine Lösung?

danke im Vorraus

Ps.: Gibt es auch noch eine ander Doku aus was bei "libnodave-0.8.4" beigelegt wurde?


----------



## MW (29 Dezember 2007)

eloboy schrieb:


> Hallo,
> 
> ich Versuche mit vb.net Schnittstelle "S7Online" auf eine WinLC zuzugreifen.
> Bei
> ...


 
Ich wusste zwar mal was die Fehlercodes bedeuten, ich finde es nur nicht mehr auf die schnelle 

Ich arbeite zwar nicht mit der S7online, aber schau dir mal die testS7online.c datei an. Speziell so ab Zeile 450.


in Zeile 476 lese ich folgendes:
	
	



```
[SIZE=2]dc =daveNewConnection(di,plcMPI,0,0);[/SIZE]
```
 
Wenn ich mich nicht irre musst du die "daveConnection" ja erst initialisieren um über sie Daten zu lesen zu können.

PS: Das übersetzten von C nach VB.net dürfte eigentlich keine probleme machen, musst halt nur etwas anders schreiben


----------



## Ralle (30 Dezember 2007)

-128 daveResUnexpectedFunc

Sie dir auch mal den Quelltext zum Beispiel für S7Online an. Ist zwar C, aber zumindest die Funktionsnamen sind ja gleich bzw. ähnlich. Ich denke auch, MW hat Recht, da fehlt etwas.


----------



## squonk (6 Januar 2008)

Falls Du es nicht schon selbst rausgefunden haben solltest: Du hast den Aufruf von daveNewConnection und daveConnectPLC vergessen.
Ich komme zwar aus der C# Ecke, aber in VB sollte das ungefähr so aussehen:


```
dc = daveNewConnection(di, remoteMPI, remoteRack, remoteSlot)
res = daveConnectPLC(dc)
```

Das ganze muss nach di.initAdapter und vor dem Verwenden von dc zum lesen / schreiben passieren.

Gruß
Squonk


----------



## integral (16 Mai 2008)

Gibt es schon eine Lösung?

Ich habe gerade das selbe Problem mit s7online über einen 
Deltalogic USB Adapter auf die Steuerung zuzugreifen

Mein programm ist nicht in .net sonder Python, aber die Sprachen sind
ziemlich identisch


```
libnodave = ctypes.windll.LoadLibrary('../dll/libnodave.dll')
    fds = daveOSserialType()

    fds.rdf = libnodave.openS7online("/S7online", 0)
    fds.wdf = fds.rdf
    if(fds.rfd >= 0):

        di = libnodave.daveNewInterface(fds, "IF1", 0 ,_daveProtoS7online ,_daveSpeed187k)
        libnodave.daveSetTimeout(di, 5000000)
        res = libnodave.daveInitAdapter(di)
        print "InitAdapter: " + str(res)

        dc = libnodave.daveNewConnection(di,2,0,2);
        res = libnodave.daveConnectPLC(dc)
        print "ConnectPLC: " + str(res)

        buf = ctypes.create_string_buffer(100)
        res = libnodave.daveReadBytes(dc,_daveDB,2,0,0,buf)
        print "ReadBytes: " + str(res)
```


Bei mir kommt bei Read auch immer -126 was im Klartext heisst:
"Unexpected function code in answer"


----------



## Zottel (16 Mai 2008)

> Bei mir kommt bei Read auch immer -126 was im Klartext heisst:
> "Unexpected function code in answer"


Bei mir steht "this result contains no data"!

S7online ist LEIDER reichlich experimentell! Wenn es eben geht, bevorzugt besser jedes andere Protokoll!

Die Fehlercodes sind LEIDER etwas durcheinander. Die Texte stimmen eigentlich nur für Fehler in der laufenden Kommunikation.

daveSetTimeout(di, 5000000) hat bei S7online keine Wirkung, wenn ich mich recht erinnere.

Bei openS7online("/S7online" frage ich mich, was der führende "/" soll!


----------



## integral (16 Mai 2008)

Der "/" war ein Fehler, daran lags aber nicht.

Mit einem PG mit integrierter Schnittstelle funktioniert das ganze,
nur über den Datalogic Netlink Usb scheinbar nicht.

Nicht so schlimm, der CP343-1 Lean kommt ja bald


----------



## Nuecke (14 Juli 2008)

Hallo zusammen,
habe inzwischen ein Beispiel in Visual Basic und mit VB.Net Express 2008 geschrieben. Verwendet wird libnodave 0.8.4.4.
Es hat bei mir die Verbindung über den S7 MPI-Programmieradapter und die Verbindung über Ethernet funktioniert.

Für alle, die ein Beispielprogramm :TOOL: suchen, ihr findet die beiden Beispielprojekte auf meiner Homepage unter http://nueckes.redirectme.net

Gruß
Nuecke

 :!::!: PS: Ich übernehme natürlich* KEINERLEI Gewährleistung *für die Anwendung dieser Programme und eventuell daraus entstehende Schäden !!!!!!!!!!!

:sw14: oder  :sw12: oder :sm1:


----------



## Blackforest (27 Dezember 2008)

*komm nicht auf deine Seite*

Hallo

dein Link unter http://nueckes.redirectme.net

geht nicht ?


----------



## Nuecke (7 Januar 2009)

Sorry,
hier der funktionierende Link:
http://freenet-homepage.de/rc-elektronik/index.html

Gruß
Nuecke


----------



## Blackforest (7 Januar 2009)

*Vielen Dank*

Vielen Dank

Da kann ich ja jetzt richtig loslegen


----------



## youfyouk (13 März 2011)

Nuecke schrieb:


> Sorry,
> hier der funktionierende Link:
> http://freenet-homepage.de/rc-elektronik/index.html
> 
> ...



Hi,
ist zwar schon paar Tage her, wollte mal fragen ob ich das auch bekommen könnte.
Die Adresse funtzt nicht.

MfG
youfyouk


----------



## Blackforest (14 März 2011)

*Guten Abend*

Ja wirklich lange her, hab aber alles auf dem PC was du brauchst.
Schick mir deine E-Mail Adresse


----------



## kinglazee (29 April 2011)

Hey Leute,

ich bin auch sehr an diesen beiden Beispielprogrammen interessiert.

Könnte mir jemand der die Dateien noch hat vllt alles per eMail schicken?

meine Email ist: kinglazee@web.de
Vielen Dank im voraus!

Gruß kinglazee


----------



## Mahon (31 August 2011)

Der Link funktioniert auch nicht mehr... hat jemand noch was für mich?

Gruß
Markus


----------

