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

Ergebnis 1 bis 8 von 8

Thema: Fehler-Codes der Libnodave-Funktionen

  1. #1
    Registriert seit
    11.07.2007
    Beiträge
    29
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    möchte über die Libnodave-Bibliothek mit eine SPS komunizieren. Dabei tauchen verschieden Probleme auf.

    Erhalte z.B. bei
    "res = dc.writeBytes(libnodave.daveDB, db, pos_db, l, t_buf);"
    in res den Wert -3 wenn ich über einen PC-Adapter Daten in einen DB schreiben möchte.
    db = 170
    pos_db = 0
    l = 220

    Das Schreiben von z.B. 50 Bytes funktioniert.

    Kann mit jemand sagen, wo ich eine Beschreibung der Fehler-Codes welche die Funktionen zurückgeben finden kann.



    Gruß Thomas
    Zitieren Zitieren Fehler-Codes der Libnodave-Funktionen  

  2. #2
    Registriert seit
    09.11.2007
    Ort
    Rhein Main (Darmstadt)
    Beiträge
    663
    Danke
    61
    Erhielt 112 Danke für 80 Beiträge

    Beitrag

    So wie ich mich erinnere stehen Codes in einem der Header Files, waren aber anscheinend nicht komplett.

    Im speziellen Fall vermute ich, dass das Telegramm zu lang ist, zumindest weiss ich, dass man einen Block von 256 Bytes teilen muss.
    Als Freelancer immer auf der Suche nach interessanten Projekten.
    Zitieren Zitieren Header Files  

  3. #3
    Thomas450 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.07.2007
    Beiträge
    29
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Wo finde ich die Header-Files?

    Ich kann Daten mit einer MaxPDULen - 18 lesen. Beim Schreiben mit dieser Länge erhalte ich den Rückgabewert -3.

    Gruß Thomas

  4. #4
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Beim Schreiben gilt auch MaxPDULen-28
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  5. #5
    Thomas450 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.07.2007
    Beiträge
    29
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Mit MaxPDULen-28 funktioniert das Schreiben. Danke für die Info.

    Ein paar Infos über die Funktionsweise bei Fehlern wären schon hilfreich. Ich bekomme z.B. die Kommunikation über openS7online("/S7ONLINE") auch nicht ans Laufen.
    res = di.initAdapter liefert -44


    Gruß Thomas

  6. #6
    Registriert seit
    01.06.2010
    Beiträge
    13
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Idee

    bei mir kam der -44 Fehler, weil ich nach openS7online bei daveNewInterface das falsche Protokoll verwendet habe.

    So ists richtig:
    Code:
    ph = openS7online("s7online", 0)  ' to use Siemes libraries for transport 
    di = daveNewInterface(ph, ph, "IF1", 0, daveProtoS7online, 0)
    Das Handle kann "0" (Dez Null) sein. Außer man sucht sich das Handle von Excel raus...

    Bitte auch bei S7ONLINE beachten, dass die cleanUP Funktion auch angepasst werden muss, damit die DLL wieder korrekt geschlossen wird.
    Das "port handle" darf nicht hoch zählen.


    Also so:
    Code:
    If ph <> 0 Then
        'res = closePort(ph)
        'res = closeSocket(ph)
        res = closeS7online(ph)
        ph = 0
    End If


    Viel Spass beim Testen!

    P.S.: Ob S7ONLINE oder /S7ONLINE eingeben wird ist egal!

  7. #7
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    In meine Wrapper Bibliothek für LibNoDave fange Ich das lesen von mehr Bytes als die PDU Länge ab und das schreiben folgt in einer der nächsten Versionen...

    http://www.sps-forum.de/showthread.php?t=36363
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren schreiben von mehr bytes...  

  8. #8
    Thomas450 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.07.2007
    Beiträge
    29
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Dublin,
    hallo Jochen,

    vielen Dank für die Infos.
    Werd's gleich mal ausprobieren.


    Gruß Thomas

Ähnliche Themen

  1. IR Codes über IR-Trans und CP 340
    Von schrauber im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 06.09.2012, 16:25
  2. Fehler in LibNoDave- Komponente (Delphi)?
    Von Cliff im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 09.07.2010, 11:03
  3. Antworten: 2
    Letzter Beitrag: 13.05.2010, 22:16
  4. Erklärung von libnodave Funktionen...
    Von paddy_cmd im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 28.04.2009, 09:48
  5. Seltsame Codes
    Von kpeter im Forum Stammtisch
    Antworten: 19
    Letzter Beitrag: 26.11.2006, 21:41

Lesezeichen

Berechtigungen

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