Modbus AG_LSEND -> AG_LRECV

dennisbuescher

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,
Ich muss einen MODBUS-Slave Baustein in SCL programmieren. Die Kommunikation muss über TCP/IP stattfinden.Ports sind richtig eingestellt.
Ich habe allerdings ein Problem das ich bisher nicht lösen konnte -.-'
Das kann mein Baustein:
  • Telegramm empfangen
  • Telegramm auswerten
  • Telegramm zusammenbauen (Header, Datenbereich) und verschicken
Die Daten werden über den AG_LSEND verschickt (NETPRO zeigt in seiner Statistik auch empfangene und gesendete Daten an)
Nur auf der Master Seite kommt leider nichts an...was ich nicht verstehe, weil der Weg vom Master zum Slave reibungslos funktioniert.:-(

Hat jemand von euch nen Tip für mich?
 
Woher weißt Du, daß am Master "nichts" ankommt?
Ist der Telegrammaufbau korrekt?
Was sagt der STATUS von AG_SEND?
Ist am AG_SEND die richtige Verbindungsnummer dran?
Sendest Du vielleicht zuviele/zuwenige Zeichen?

Vielleicht hilft Dir auch der AWL-Quellcode von diesem Modbus/TCP Server (Modbus-Slave)

PS: Warum nimmst Du eigentlich AG_LSEND? Geht nicht auch AG_SEND? Hast Du eine S7-400?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Harald,

Erstmal bedanke ich mich, für deine schnelle Antwort :)

Woher weißt Du, daß am Master "nichts" ankommt?
In der Spezialdiagnose werden keine empfangenen Daten angezeigt zusätzlich befinden sich die erwarteten Werte nicht im RECV_DB

Ist der Telegrammaufbau korrekt?
Laut der Spezifikation ja.

Was sagt der STATUS von AG_SEND?
Startet mit 8181 und dann springt der auf 0000 und Send_Done wird gesetzt

Ist am AG_SEND die richtige Verbindungsnummer dran?
Auf beiden Seiten ist die CPU-spezifisch auf ID=1 ,Ladeadresse ist auch identisch

Sendest Du vielleicht zuviele/zuwenige Zeichen?
was heißt zuviele bzw zu wenige? Das Telegramm was sich aus dem versendeten Header des Master generiert hat die Länge von 49 Bytes. Das ist auch korrekt berechnet vom Slave

Ich nehme den LSEND weil der im vorhandenen Master auch über ag_lsend arbeitet..wo ist genau der unterschied zwischen den beiden? der L_send kann mehr zeichen senden oder lieg ich da falsch`?:rolleyes:

Ja ich benutze eine s7-400.
 
Ich kann dir nur den Tipp geben als Master zum testen Modscan32 zu benutzen und zusätzlich die Telegramme mit Wireshark zu analysieren.
 
Zurück
Oben