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

Seite 20 von 31 ErsteErste ... 10181920212230 ... LetzteLetzte
Ergebnis 191 bis 200 von 304

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

  1. #191
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ändere mal die gesamte if-Bedingung Zeile 7564/7565 auf diese eine Zeile:
    Code:
                            if (p2.param[5] == 0x3f && p2.param[6] == 0x03 && p2.dlen == 6) {
    Dann sollte eine Datei von der Größe zumindest fuktionieren.

    In deinen anderen Downloads wird dann so wie es aussieht gelegentlich schon nach 8 PDUs auf eine Fortsetzungsanweisung gewartet. Vermutlich wird es ab einer Datei mit dieser Größe dann haken. Falls es dazu kommt, dann kannst du direkt mal testen was passiert wenn du in der nachfolgenden Zeile 7565:

    unackcount = 8; /* Anzahl an Paketen die gesendet werden dürfen, ohne auf ein Ack zu warten */

    schreibst. Falls die Anzahl 8 nicht übermittelt wird sondern wie auch immer vereinbart wird.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

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

  2. #192
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    D.h. nun? Es wäre doch besser Ich ändere das, dann Funktionierts mit den PLCs und auch mit der NC, oder?
    Ich würde es so machen (TPDU=1024 und S7-PDU=960). Ich wüsste nichts was für die bisherigen Werte spricht.
    WinCC verwendet TPDU=1024 und S7-PDU=480, dass ein Kommunikationspartner die 960 beherrscht sehe ich bei der NC das erste mal, die 400er machen alle nur 480.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

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

  3. #193
    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

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Ändere mal die gesamte if-Bedingung Zeile 7564/7565 auf diese eine Zeile:
    Code:
                            if (p2.param[5] == 0x3f && p2.param[6] == 0x03 && p2.dlen == 6) {
    Dann sollte eine Datei von der Größe zumindest fuktionieren.

    In deinen anderen Downloads wird dann so wie es aussieht gelegentlich schon nach 8 PDUs auf eine Fortsetzungsanweisung gewartet. Vermutlich wird es ab einer Datei mit dieser Größe dann haken. Falls es dazu kommt, dann kannst du direkt mal testen was passiert wenn du in der nachfolgenden Zeile 7565:

    unackcount = 8; /* Anzahl an Paketen die gesendet werden dürfen, ohne auf ein Ack zu warten */

    schreibst. Falls die Anzahl 8 nicht übermittelt wird sondern wie auch immer vereinbart wird.
    Mit den beiden Änderungen kann ich nun auch sehr große Dateien übertragen.

    testISO_TCP_NC_Big_File_DownloadX.rar

  4. #194
    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

    Habs gerade über die lib vom Jochen probiert. Funktioniert genauso.

    Danke!!!

    Noch zwei Dinge zum Wireshark.
    1. Beim Antworten der NC auf den "NC Push" kommt "Unknown subfunc: 0x03 "
    2. Einstellen eines Filters:
    - Wird der Filter vollständig eingegeben und mit "Enter" bestätigt -> alles Gut (Filter wird übernommen und Hintergrund wird grün)
    - Wird der Filter anhand der Auswahl selektiert und mit "Enter" bestätigt -> Filter wird eingetragen aber nicht aktiv, Hintergrund wird grün (man muss nun nochmals in die Filterzeile klicken und mit "Enter" bestätigen)

  5. #195
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von Hans54216 Beitrag anzeigen
    Noch zwei Dinge zum Wireshark.
    1. Beim Antworten der NC auf den "NC Push" kommt "Unknown subfunc: 0x03 "
    2. Einstellen eines Filters:
    - Wird der Filter vollständig eingegeben und mit "Enter" bestätigt -> alles Gut (Filter wird übernommen und Hintergrund wird grün)
    - Wird der Filter anhand der Auswahl selektiert und mit "Enter" bestätigt -> Filter wird eingetragen aber nicht aktiv, Hintergrund wird grün (man muss nun nochmals in die Filterzeile klicken und mit "Enter" bestätigen)
    1. Habe ich drin. Ich habe es als "Continue download" bezeichnet. In der Version die ich dir habe zukommen lassen habe aber noch nicht.
    2. Das habe ich auch schon gemerkt. Ich weiß nicht ob das einen Grund hat, dass es so gelöst wurde. Evtl. weil das Filtern bei großen Dateien schonmal etwas länger dauern kann, und man darum die Auswahl nochmal bestätigen muss? Um den GUI-Teil von Wireshark habe ich mich aber noch nie gekümmert, das ist vollständig vom Netzwerkteil abgetrennt programmiert. Darum ließ sich da auch bei der Umstellung von Gtk zu Qt relativ einfach ein neues Userinterface drüberstülpen.


    Die Frage ist aber noch: Woher kommt die Anzahl 8?

    Beim ersten "Continue download" kommen in den beiden Byte im Datenteil 0x12, 0x00 zurück. Das wäre 0x12=18 dez. Das funktioniert aber scheinbar nicht. Oder warum hast du das direkt auf die Konstante 8 geändert?
    Danach kommt immer 0x08, 0x00. Das würde dann schön mit der 8 hinkommen und sollte dann auch funktionieren.
    Da wäre meine Interpretation: Die NC sagt damit: Schick mit weitere 8 PDUs.
    Aber was soll dann die 18? Oder die 8 in Telegrammen stimmt nur rein zufällig mit der Anzahl überein, und das bedeutet etwas ganz anderes.

    Das sollten wir schon noch herausbekommen, andernfalls funktioniert es dann an einer anderen Anlage nicht. Außerdem möchte ich in Wireshark das Feld gerne bezeichnen, und evtl. ist das bei anderen Telegrammtypen auch so.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

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

  6. #196
    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

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Die Frage ist aber noch: Woher kommt die Anzahl 8?

    Beim ersten "Continue download" kommen in den beiden Byte im Datenteil 0x12, 0x00 zurück. Das wäre 0x12=18 dez. Das funktioniert aber scheinbar nicht. Oder warum hast du das direkt auf die Konstante 8 geändert?
    Ohne die Änderung auf die Konstante 8 hat`s nicht funktioniert.

    Laut testIso_DownloadHistory.txt hab ich zunächst 3 Downloads ohne die feste Konstante 8 durchgeführt.
    - Beim ersten Download (kleine Datei) hats auch funktioniert.
    - Bei den nächsten beiden (größere Datei) hat der "End download" nicht funktioniert. Damit war auch keine Datei auf der Steuerung.

    Anschließend die Variable fest auf 8 gesetzt. -> Selbst riesige Downloads funktionieren.


    Danach kommt immer 0x08, 0x00. Das würde dann schön mit der 8 hinkommen und sollte dann auch funktionieren.
    Da wäre meine Interpretation: Die NC sagt damit: Schick mit weitere 8 PDUs.
    Aber was soll dann die 18? Oder die 8 in Telegrammen stimmt nur rein zufällig mit der Anzahl überein, und das bedeutet etwas ganz anderes.

    Das sollten wir schon noch herausbekommen, andernfalls funktioniert es dann an einer anderen Anlage nicht. Außerdem möchte ich in Wireshark das Feld gerne bezeichnen, und evtl. ist das bei anderen Telegrammtypen auch so.
    Woher die 8 kommt weiß ich nicht.

  7. #197
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Ja, wenn ich den Wert aus der Anwort der NC auswerte, steht da, warum auch immer, in der ersten Antwort eine 18. D.h. ich erwarte dann erst nach 18 PDUs eine Fortsetz-Anweisung von der NC, die hat aber schon eins zu viel geschickt, d.h. es steht im Empfangspuffer ein unerwartetes Telegramm.

    Wenn diese einmalige 18 nicht wäre, würde alles schön zusammenpassen. Jetzt kommt: 1, 18, 8, 8, 8, 8, 8, ... usw.

    Hast du Zugang zu einem anderen Typ NC, die sich evtl. anders verhält?
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

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

  8. #198
    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

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Hast du Zugang zu einem anderen Typ NC, die sich evtl. anders verhält?
    Hab jetzt mal verschiedene NC-Versionen getestet.

    testISO_TCP_NC_File_unackcountTest.rar

    Bei v2.6 - v4.5 kommt 1, 18, 8, 8, 8, ... -> Fehlermeldung, es wird nur der Ordner angelegt (bei "v4.5 HF2 SP4" kommt auch die Fehlermeldung, die Datei ist aber auf der Steuerung )
    Bei v4.7 kommt 1, 10, 8, 8, ... -> funktioniert

  9. #199
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    D.h. bei den Tests hast du das Festsetzen von unackount auf 8 wieder deaktiviert, also übernahme aus dem NC-Telegramm?

    So wie es bei v4.7 ist hätte ich das auch erwartet. Aber wenn man bei dieser Version den Wert auf 8 festsetzen würde, dann würde es damit auch nicht funktionieren, weil (wahrscheinlich) nach 8 Telegrammen von der NC noch nichts zurückkommt.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

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

  10. #200
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    D.h. bei den Tests hast du das Festsetzen von unackount auf 8 wieder deaktiviert, also übernahme aus dem NC-Telegramm?
    Richtig.

    So wie es bei v4.7 ist hätte ich das auch erwartet. Aber wenn man bei dieser Version den Wert auf 8 festsetzen würde, dann würde es damit auch nicht funktionieren, weil (wahrscheinlich) nach 8 Telegrammen von der NC noch nichts zurückkommt.
    unackount fest auf 8 gesetzt: funktioniert auch mit v4.7

    testISO_TCP_NC_File_unackcount8Test.rar

Ä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
  •