Ich hab schon alle Größen geladen, jedoch nur von echten Programmen (PI-Dienst F_XFER). Hab letztens ja geschrieben, dass der wireshark anders aussieht wie vom HMI. Bei Programmen ist die NC da wohl nicht so gleinlich.
Ich habe noch eine Aufzeichnung eines Uploads von dir über die libnodave Funktionen gefunden. Das scheint doch richtig gewesen zu sein so wie es ist, nur gibt es bei deiner aktuellen Version einen Unterschied wie die NC sich verhält.
Bisher:
-> Request Start Upload (0x11, 0x7f, 0x06)
<- Response Start Upload (0x12, 0xbf, 0x06)
<- Dann NC Push-Response Upload (0x12, 0x3f, 0x07) und diese Anzahl muss gezählt werden, so wie es jetzt gemacht wurde und der Aufzeichnung nach auch funktioniert.
Deine neue Aufzeichnung
-> Request Start Upload (0x11, 0x7f, 0x06)
<- Direkt NC Push-Response (0x12, 0x3f, 0x07) und dann ab hier zählen
Ich habe überhaupt nicht überprüft ob der Funktionscode in der Antwort richtig ist. Das sollte man aber wohl tun, und nur wenn in der ersten Antwort (0x12, 0x3f, 0x07) dann unackcount um 1 inkrementieren. Es ließe sich auch anstelle die Telegramme zu zählen auf die Nummer reagieren die mitgeschickt wird, aber letztlich kommt es auf das gleiche raus.