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

Seite 21 von 31 ErsteErste ... 111920212223 ... LetzteLetzte
Ergebnis 201 bis 210 von 304

Thema: DotNetSiemensPLCToolBoxLibrary (LibNoDave) Zugriff auf Dual-Port RAM / FB15

  1. #201
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich steh' auf dem Schlauch, mir fällt da keine Logik zu ein.

    Was passiert wenn du unackcount z.B. auf 7 festsetzt? Nicht dass die NC einfach eine Zeit abwartet in der nichts kommt, und dann erst sagt "weitermachen".
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  2. #202
    Hans54216 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.04.2013
    Beiträge
    208
    Danke
    10
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Code:
    C:\Users\1\Documents\_löschen\_LibNoDave\libnodave-0.8.5.1-nc>testISO_TCP.exe --slot=4 192.168.214.1
    Connected.
    Starte PutNC Program...
    davePutNCProgram: tot_len=989133
    davePutNCProgram: unackcount=0, warte auf Antwort von NC um fortzusetzen...
    davePutNCProgram: tot_len=988201
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=987269
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=986337
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=985405
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=984473
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=983541
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=982609
    davePutNCProgram: unackcount=0, warte auf Antwort von NC um fortzusetzen...
    davePutNCProgram res=-1025
    Finished.

  3. #203
    Hans54216 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.04.2013
    Beiträge
    208
    Danke
    10
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Bei unackcount = 9 kommt zwar auch der Fehler, Datei wird aber vollständig übertragen.

  4. #204
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Ich könnte mir vorstellen, dass wir nach dem Absenden von EndDownload bei der Antwort von der NC nochmal prüfen, ob sich da nicht noch eine alte "Fortsetzungsanweisung" von der NC im Empfangspuffer befindet, und diese einfach wegwerfen/ignorieren. Dann kommt es hoffentlich immer zu einem erfolgreichen Abschluss.
    Das ist dann zwar nicht richtig, aber es funktioniert.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  5. #205
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Also ab Zeile 7592 (hoffentlich sind wir da noch in sync):
    Code:
                    /* Antwort auswerten */
                    if (res == daveResOK) {
                        res = _daveSetupReceivedPDU(dc, &p2);
                        if (daveGetDebug() & daveDebugPDU) {
                            _daveDumpPDU(&p2);
                        }
                        while (p2.param[5] == 0x3f && p2.param[6] == 0x03 && p2.dlen == 6) {
                            /* noch ein altes Fortsetzungstelegramm im Puffer? Ignorieren und nochmal lesen */
                            LOG1("davePutNCProgram: Noch ein Fortsetzungstelegramm im Puffer, versuche nochmal zu lesen...\n");
                            res = _daveGetResponseISO_TCP(dc);
                            if (res == daveResOK) {
                                res = _daveSetupReceivedPDU(dc, &p2);
                                if (daveGetDebug() & daveDebugPDU) {
                                    _daveDumpPDU(&p2);
                                }
                            }
                            if (res != daveResOK) {
                                break;
                            }
                        }
                        if (p2.param[5] == 0xbf && p2.param[6] == 0x04) {
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  6. #206
    Hans54216 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.04.2013
    Beiträge
    208
    Danke
    10
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Code:
    davePutNCProgram: tot_len=11465davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=10533
    davePutNCProgram: unackcount=0, warte auf Antwort von NC um fortzusetzen...
    davePutNCProgram: tot_len=9601
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=8669
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=7737
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=6805
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=5873
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=4941
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=4009
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=3077
    davePutNCProgram: unackcount=0, warte auf Antwort von NC um fortzusetzen...
    davePutNCProgram: tot_len=2145
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=1213
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=281
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: tot_len=0
    davePutNCProgram: Senden ohne auf Antwort zu warten, Aufruf _daveSendTCP...
    davePutNCProgram: Daten sind gesendet, gehe zu 'End Download'
    davePutNCProgram: Sende End download...
    davePutNCProgram: End download, res=0
    davePutNCProgram: Noch ein Fortsetzungstelegramm im Puffer, versuche nochmal zu
    lesen...
    davePutNCProgram: End download, errorcode in parameterteil war res=0
    davePutNCProgram res=0
    Finished.
    Datei ist auf der Steuerung vorhanden.

    testISO_TCP_NC_File_Download8_v4_5_5_5_work.rar

  7. #207
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Nicht schön aber selten.
    Oder wir prüfen ob in dem Telegramm von der NC eine 18 steht, und dann wird eine 8 angekommen. Wenn dort eine 10 oder 8 steht dann wird dieser Wert übernommen, denn dann scheint sich die NC auch so zu verhalten. Die v4.7 schickt zumindest die 10, und das passt dann auch.

    Als Notfallbremse dann die Prüfung ob noch was im Puffer ist, für sonstige Exoten.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  8. #208
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    So in der Art (Zeile 7566):
    Code:
                                if (unackcount == 18) {
                                    unackcount = 8;
                                } else if (unackcount == 0) {
                                    LOG2("davePutNCProgram: in continue response unackcount=%d. Exit!\n", unackcount);
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  9. #209
    Hans54216 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.04.2013
    Beiträge
    208
    Danke
    10
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Hab ich so eingebaut und getestet.

  10. #210
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Dann müsste man zumindest nochmal den Code "durchfegen", und die Kommunikation unabhängig von den Übertragungswegen machen. Jetzt ist ja fest Iso-On-TCP eincodiert.

    Ich weiß nur noch nicht was ich in Wireshark an dieses Datenfeld (1.Byte) schreiben soll, oder ich lass es einfach ohne Beschreibung.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

Ähnliche Themen

  1. Zugriff auf WinAC RTX mit LibnoDave
    Von rm2001 im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 27.04.2012, 20:31
  2. Libnodave & VB.NET Zugriff auf geschützte Speicherbereiche
    Von KJ1234 im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 10.11.2007, 16:02
  3. Zugriff mit libnodave (unter Delphi) auf S7-CP443-1
    Von Frank im Forum Hochsprachen - OPC
    Antworten: 19
    Letzter Beitrag: 29.04.2007, 13:59
  4. Zugriff auf Siemens S7 per libnodave (MPI)
    Von Anonymous im Forum Hochsprachen - OPC
    Antworten: 15
    Letzter Beitrag: 02.11.2005, 17:09
  5. Fehler bei Zugriff auf COM- Port
    Von h_matthias im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 08.03.2004, 22:14

Stichworte

Lesezeichen

Berechtigungen

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