Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: libnodave S7Online mir .Net

  1. #1
    Registriert seit
    18.09.2004
    Beiträge
    69
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

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

    Code:
    fds.rfd = libnodave.openS7online("S7ONLINE")
    fds.wfd = fds.rfd
    di = New libnodave.daveInterface(fds, "IF1", localMPI, useProto, speed)
    di.setTimeout(20000)
    res = di.initAdapter
    res = dc.readBytes(libnodave.daveDB, 130, 0, 32, buf)
    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?
    Zitieren Zitieren libnodave S7Online mir .Net  

  2. #2
    Registriert seit
    27.11.2005
    Ort
    im Osten
    Beiträge
    1.183
    Danke
    141
    Erhielt 271 Danke für 248 Beiträge

    Standard

    Zitat Zitat von eloboy Beitrag anzeigen
    Hallo,

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

    Code:
    fds.rfd = libnodave.openS7online("S7ONLINE")
    fds.wfd = fds.rfd
    di = New libnodave.daveInterface(fds, "IF1", localMPI, useProto, speed)
    di.setTimeout(20000)
    res = di.initAdapter
    res = dc.readBytes(libnodave.daveDB, 130, 0, 32, buf)
    bekommen ich immer -128 zurück

    das "testS7online.exe" funktioniert ohne Probleme
    das C# Beispiel bekomme ich auch irgendwie nicht zum Laufen.
    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:
    Code:
    dc =daveNewConnection(di,plcMPI,0,0);
    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
    Geändert von MW (29.12.2007 um 22:58 Uhr)

  3. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    -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.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  4. #4
    Registriert seit
    18.07.2007
    Beiträge
    4
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    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:

    Code:
    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

  5. #5
    Registriert seit
    30.04.2008
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    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

    Code:
        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"

  6. #6
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    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!

  7. #7
    Registriert seit
    30.04.2008
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    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

  8. #8
    Registriert seit
    02.05.2007
    Beiträge
    35
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    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 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 !!!!!!!!!!!

    oder oder

  9. #9
    Registriert seit
    15.11.2008
    Beiträge
    67
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo

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

    geht nicht ?
    Zitieren Zitieren komm nicht auf deine Seite  

  10. #10
    Registriert seit
    02.05.2007
    Beiträge
    35
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Sorry,
    hier der funktionierende Link:
    http://freenet-homepage.de/rc-elektronik/index.html

    Gruß
    Nuecke

  11. Folgender Benutzer sagt Danke zu Nuecke für den nützlichen Beitrag:

    Fluffi (29.07.2009)

Ähnliche Themen

  1. Libnodave und S7online
    Von adi im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 05.01.2011, 16:31
  2. Libnodave mit VBA und S7Online
    Von Watchdog im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 02.06.2010, 09:45
  3. LibNoDave + S7Online
    Von Lazarus™ im Forum Hochsprachen - OPC
    Antworten: 14
    Letzter Beitrag: 05.05.2009, 19:56
  4. LibNoDave - S7Online - TCP/IP
    Von Jochen Kühner im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 09.03.2009, 12:33
  5. Libnodave und S7Online
    Von Ralle im Forum Hochsprachen - OPC
    Antworten: 14
    Letzter Beitrag: 02.02.2007, 13:49

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •