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

Seite 1 von 6 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 59

Thema: LibNodave 0.8.4 - daveConnectPLC liefert Rückgabewert 4

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

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,
    ich habe mit libNoDave problemlos eine Verbindung über ISO TCP herstellen können, Werte aus der Steuerung auslesen funktioniert einwandfrei.
    Eine Verbindung über MPI (mit Siemens Programmieradapter) bekomme ich jedoch nicht hin. die Funktion daveConnectPLC gibt immer den Wert 4 zurück. Was bedeutet dies? Konnte bisher nichts darüber finden, bin am weitersuchen.

    Hier der Auszug aus meinem Programm:
    ph = setPort(CPar.port, CPar.baud, Asc(Left$(CPar.parity, 1)))
    If (ph > 0) Then
    di = daveNewInterface(ph, ph, "IF1", 0, daveProtoMPI2, daveSpeed187k)
    res = daveInitAdapter(di)
    If res = 0 Then
    dc = daveNewConnection(di, MpiPpi, Rack, Slot)
    res = daveConnectPLC(dc)
    Debug.Print ("res=" + Str(res) + " " + daveStrError(res))
    If res = 0 Then
    Initialize = 0
    End If

    Habe das alles aus dem Beispiel Modul12.bas in VB6 übernommen.

    ich sitz inzwischen komplett auf dem Schlauch und hab den Eindruck ich seh den Wald vor lauter Bäumen nicht mehr , vielleicht kann mir ja jemand weiterhelfen?

    Gruß
    Nuecke
    Zitieren Zitieren LibNodave 0.8.4 - daveConnectPLC liefert Rückgabewert 4  

  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

    Hast du schon das Testprogramm (testmpi.exe) ausprobiert ????
    wenn ja, gibts da fehler ???

    in daveStrerror (nodave.c) steht drin was die Codes Bedeuten:

    4 = daveAddressOutOfRange: = "the desired address is beyond limit for this PLC";

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

    Standard

    Zitat Zitat von MW Beitrag anzeigen
    Hast du schon das Testprogramm (testmpi.exe) ausprobiert ????
    wenn ja, gibts da fehler ???

    in daveStrerror (nodave.c) steht drin was die Codes Bedeuten:

    4 = daveAddressOutOfRange: = "the desired address is beyond limit for this PLC";
    Sorry, die Texte passen überwiegend nur für Fehlercodes, die von der SPS übermittelt werden...Ich schätze, hier kommt nichts von der SPS zurück...
    Geht testMPI?

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

    Standard

    Hallo zusammen ,

    evt . liegt es am MPI2 aufruf . Hab auch zuerst mit VB6 mit Libnodave probiert . Bei mir hat es mit folgendem geschnackelt ( mit genuzter adapteradresse 31 und auch 0 ) :

    myPH = setPort(port, baud$, Asc(Left$(parity$, 1)))
    myDI = daveNewInterface(myPH, myPH, "IF1", 31, daveProtoMPI, daveSpeed187k)

    mfg der Micha

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

    Standard

    Zitat Zitat von der Micha Beitrag anzeigen
    Hallo zusammen ,

    evt . liegt es am MPI2 aufruf . Hab auch zuerst mit VB6 mit Libnodave probiert . Bei mir hat es mit folgendem geschnackelt ( mit genuzter adapteradresse 31 und auch 0 ) :

    myPH = setPort(port, baud$, Asc(Left$(parity$, 1)))
    myDI = daveNewInterface(myPH, myPH, "IF1", 31, daveProtoMPI, daveSpeed187k)

    mfg der Micha
    Deshalb fragen wir nach testMPI: Da kann man die verschiedenen Untervarianten mal eben mit einer Option auf der Kommandozeile probieren. testMPI -2 COM1 verwendet daveProtoMPI2 usw.

  6. #6
    Registriert seit
    16.08.2006
    Beiträge
    17
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hm , habe die Konsolentestprogramme noch net ausprobiert . Werde mir die mal anschauen . Habe gerade mal das kleene Testprog in VB6 mit 0.8.4 gefüttert und mit daveProtoMPI2 probiert , bekomme dort auch Fehler 4 , daveProtoMPI funzt .

  7. #7
    Nuecke ist offline Benutzer
    Themenstarter
    Registriert seit
    02.05.2007
    Beiträge
    35
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo zusammen,
    also mit den Konsolentestprogrämmchen bekomme ich folgendes ergebnis

    D:\temp\LibNoDave>testmpi -d COM1
    1st parameter -d
    turning debug on
    fds8
    setPort COM1
    setPort 38400
    setPort O
    fds.rfd 2004
    fds.wfd 2004
    IF1 enter initAdapter(1).
    I send:
    0:0x02,
    readSingle 0 chars. 1st 02
    IF1 initAdapter() no answer (DLE) from adapter.
    readSingle 0 chars. 1st 10
    IF1 initAdapter() no answer (DLE) from adapter.
    IF1 initAdapter() fails.

    --> Verwende ich in VB6 daveProtoMPI, so erhalte ich bei daveInitAdapter(di) als Rückgabewert -44

    Wenn ich testMPI -2 verwende, bekomme ich folgendes Ergebnis
    D:\temp\LibNoDave>testmpi -2 -d COM1
    1st parameter -2
    turning debug on
    fds8
    setPort COM1
    setPort 38400
    setPort O
    fds.rfd 2004
    fds.wfd 2004
    I send:
    0:0x02,
    readSingle 0 chars. 1st 02
    IF1 initAdapter() no answer (DLE) from adapter.
    readSingle 0 chars. 1st 10
    IF1 initAdapter() no answer (DLE) from adapter.
    IF1 initAdapter() success.
    I send:
    0:0x10,
    I send:
    0:0x02,
    readSingle 0 chars. 1st 02
    IF1 connectPLC(2) no answer (DLE) from adapter.
    readSingle 0 chars. 1st 10
    IF1 connectPLC(2) no answer (DLE) from adapter.
    IF1 daveConnectPLC() step 4.
    IF1 daveConnectPLC() step 4 ends with 4.

    daveConnect step 4 scheint hier ebenfalls das Ergebnis 4 zurück zuliefern
    --> Bei verwendung von daveProtoMPI2 erhalte ich bei daveConnect(dc) den Rückgabewert 4

    Wenn ich das nun richtig interpretiere, scheint es bei mir hier auch mit den Konsolenprogrammen nicht zu funktionieren(?)

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

    Standard

    Da kommt einfach nichts vom Adapter zurück. Was ist es für ein Adapter? seriell? USB? Bei Siemens. Welche MLFB?

  9. #9
    Nuecke ist offline Benutzer
    Themenstarter
    Registriert seit
    02.05.2007
    Beiträge
    35
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Zottel,
    es handelt sich um einen Siemens MPI-Adapter (RS232 auf MPI). MLFB kann ich leider nicht ablesen, da der Adapter schon ziemlich abgegriffen ist.
    (--> Adapter siehe Bild).
    Gibts da eventuell Probleme mit älteren Adapterversionen?
    Angehängte Grafiken Angehängte Grafiken

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das sollte nichts besonderes sein...bist du sicher, daß du es auf 38400 Baud eingestellt hast?

Ähnliche Themen

  1. ANY-Zeiger als Rückgabewert
    Von Bensen83 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 04.06.2011, 11:41
  2. Funktion mit Array-Rückgabewert
    Von cas im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 25.03.2011, 12:07
  3. Antworten: 8
    Letzter Beitrag: 10.05.2010, 00:53
  4. Pointer als Rückgabewert einer Funktion
    Von kai86 im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 12.04.2010, 12:07
  5. Funktion Rückgabewert
    Von Basstarono im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 17.07.2008, 18:26

Lesezeichen

Berechtigungen

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