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

Seite 14 von 31 ErsteErste ... 4121314151624 ... LetzteLetzte
Ergebnis 131 bis 140 von 304

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

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Da läuft was auf ISO-Ebene schief.

    Bei Verbindungsaufbau auf ISO-Ebene wird von libnodave eine TPDU-Größe von 512 Bytes vorgeschlagen.
    Später beim Verbindungsaufbau auf S7-Kommunikationsebene wird aber eine 960 Bytes große PDU vorgeschlagen.
    Wenn der Partner diese Größe wirklich akzeptiert (was bei der NC der Fall ist), muss eine PDU >512 Bytes fragmentiert übertragen werden.
    Bei libnodave ist zwar eine Zusammensetzen von fragmentiert übertragenen Paketen realisiert, aber irgendwas stimmt da nicht.

    Da du ja die lib von Jochen benutzt, schau mal nach ob bei ihm in der _daveReadISOPacket() ein Unterschied zur letzten libnodave ist.
    Wenn nicht, dann ist da wohl ein Fehler in libnodave bei zusammensetzen.

    Am saubersten wäre es aber, dass libnodave eine TPDU von 1024 vorschlägt, wenn er später auch eine 960er S7-PDU übertragen will.
    Das ist in der _daveConnectPLCTCP() die Zeile mit:
    0xC0,1,0x9,

    die 0x9 wäre auf 0xa zu ändern. Du musst aber prüfen ob dann die ganzen internen Puffer auch groß genug sind. Oder du änderst die angeforderte S7-PDU Größe von 960 auf 480 Bytes, dann passt es auch zusammen, und es sollten keine TPDUs fragmentiert werden.

    Wireshark kann die ISO-TPDUs übrigens wieder zusammensetzen (reassemblieren). Du musst es aber für das Protokoll COPT über das Menü Bearbeiten->Einstellungen aktivieren.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

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

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

    Standard

    Ich glaubeirgendwas mit dem zusammensetzen von iso paketen ist erst später in libnodave dazugekommen, weiß aber nicht ob ich das zu 100% richtig übernommen habe! kanns mir auch die nächsten tage mal anschauen! hier kams glaub dazu: https://github.com/jogibear9988/libn...02c0b19bbd648a
    ich nutze ja aber einen fork, wo ich ein paar andere dinge gefixt habe, und routing auch über seriell/netlink/etc ermögliche

  3. #133
    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
    Am saubersten wäre es aber, dass libnodave eine TPDU von 1024 vorschlägt, wenn er später auch eine 960er S7-PDU übertragen will.
    Das ist in der _daveConnectPLCTCP() die Zeile mit:
    0xC0,1,0x9,

    die 0x9 wäre auf 0xa zu ändern. Du musst aber prüfen ob dann die ganzen internen Puffer auch groß genug sind. Oder du änderst die angeforderte S7-PDU Größe von 960 auf 480 Bytes, dann passt es auch zusammen, und es sollten keine TPDUs fragmentiert werden.
    Hab jetzt mal einfach 0xa anstelle von 0x9 bei "uc b4[]", sowie "uc b4R[]" eingetragen.
    Damit bekomme ich das richtige Ergebnis.

    @Jochen: Kannst du dir das trotzdem noch ansehen, ob das so passt?

    @Thomas: Bietet Wireshark die Möglichkeit zwei Aufzeichnungen zu vergleichen?

    @Allgemein: Gibt es eine Möglichkeit den Speicher des "Buffer" dynamisch zu vergeben?
    Geändert von Hans54216 (03.05.2016 um 19:02 Uhr)

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

    Standard

    Zitat Zitat von Hans54216 Beitrag anzeigen
    @Thomas: Bietet Wireshark die Möglichkeit zwei Aufzeichnungen zu vergleichen?
    Welche Werte möchtest du denn vergleichen?
    Wenn komplett alle Bytes, dann könntest du einen Hexdump über Wireshark erstellen, und die Dateien dann mit diff o.Ä. vergleichen.

    Heydump geht über Wireshark, aber ich nehme dafür ganz gerne tshark, das ist im Wireshark Verzeichnis vorhanden, und kann über die Eingabeaufforderung aufgerufen werden. Ein Hexdump von allen s7comm-Paketen in einer Aufzeichnung erhältst du mit:
    Code:
    tshark -r C:\meincaputure.pcap -x -Y s7comm > file1hexdump.txt
    Das Ergebnis landet dann in file1hexdump.txt.

    In dem Hexdump sind aber die Bytes des gesamten Telegramms, d.h. nicht nur die Nutzlast der ISO-Protokolls (hier s7comm). Das geht leider nur wenn du in Wireshark für ein einzelnes Telegramm und den Baum "S7 Communication" klickst, und dann "Paketbytes anzeigen" wählst.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

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

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

    Standard

    Du kannst dir auch nur die Nutzlast des ISO-Protokolls exportieren. Dazu musst du aber vorher Wireshark starten, und das Protokoll S7COMM deaktivieren. Dann heißt das Nutzdatenfeld von cotp: data.data. Das kann man sich dann mit tshark anzeigen lassen:
    Code:
    tshark -r C:\meincapture.pcap -Y cotp -T fields -e data.data
    Zusätzliche zu exportierende Felder kannst du mit -e feldname anhängen. Z.B. die Quell-IP-Adresse mit -e ip.src
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

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

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

    @Thomas_v2.1: Kannst du für den NC Programm Download auch noch die dave Funktion anpassen? ("davePutProgramBlock" -> "davePutNCProgram")

    Vielen Dank schon mal für deine Hilfe!

    PS: Deine aktuelle Wireshark Beta hab ich momentan im Einsatz. Bis jetzt sieht alles gut aus.

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

    Standard

    Ich guck mir das mal an.
    Wichtiger wäre wohl, dass Jochen sein "Fork" von libnodave mal auf den aktuellen Stand bringt. Features hinzufügen ist schön und gut, Fehlerbehebungen nachpflegen ist mMn aber wichtiger.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

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

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

    Standard

    Problem ist da eher das libnodave nicht mit quellcodeverwaltung entwickelt wird und man nich gescheit sieht was verändert wird! daher gibts von mir auch das libnodave repo auf github um den unterschied der versionen zu zeigen! ja, hab damals aber nicht alles übernommen, lag aber eher daran das das routing komplett anderst implementiert wurde als bei mir (mit weniger funktionen).
    ist das denn im aktuellen libnodave korrekt?

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

    Standard

    Keine Ahnung obs funktioniert, zumindest ist es vorhanden.

    Du kannst dir doch in ein paar Sekunden dein diff selber bilden, ist doch nicht so dass ohne github überhaupt nichts mehr funktioniert. Und zur Not kann man sich ein lokales git-repo für libnodave anlegen, in dem man die einzelnen Versionen seit der Erstveröffentlichung nacheinander eincheckt. Dann gibt es eine vollständige Änderungs-Historie. Und das schreibe ich als git-Hasser
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

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

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Hans54216 Beitrag anzeigen
    @Thomas_v2.1: Kannst du für den NC Programm Download auch noch die dave Funktion anpassen? ("davePutProgramBlock" -> "davePutNCProgram")
    Wie liegt die Datei denn vor welche du downloaden möchtest? Ist das eine Textdatei auf der Festplatte? Und wenn ja, kann deren Inhalt 1:1 Byte/Zeichenweise hochgeladen werden, oder gibt es in der Datei noch eine Art Kopf?

    Der noch zu erstellenden Funktion könnte man entweder den Dateinamen(inkl. Pfad) übergeben und diese liest diese selber ein, oder es wird die Datei extern eingelesen und der Funktion wird nur ein Zeiger auf den Dateiinhalt übergeben,

    davePutProgramBlock kenne ich überhaupt nicht. In libnodave (der dll) ist ein Download für die SPS überhaupt nicht enthalten. Das gibt es nur in einem test-Programm.
    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
  •