TIA Modbus RTU Kommunikation

Mephisto

Level-1
Beiträge
242
Reaktionspunkte
12
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Wir steigen um auf S7-1500 und ich versuch mich gerade am ersten Projekt. 1513-1PN und PtP CM RS485/422 HF mittels TIA V12 SP1 als Modbus RTU Slave projektieren.
Meine Erfahrung mit vorherigen Projekten passend zum Thema: S7-300 über Step7 V5.5 SP3 als Modbus TCP Server projektieren.
Ich hab den CM auf Modbus gestellt.
Ich rufe den Baustein Modbus_Comm_Load im ersten Zyklus auf um die Schnittstelle zu parametrieren (9,6kBaud, no Parity). Das funktioniert auch. Der Baustein meldet keinen Fehler retour.
Ich rufe nun den Baustein Modbus Slave auf. Node-Adresse ist vergeben. Und das Holding Register wird über einen Pointer auf einen Datenbaustein gelegt.
Zur Simulation hab ich mir einen RS485 Adapter für PC besorgt. Auf dem PC läuft eine Software, die einen Modbus RTU Master simuliert und im Sekundentakt meinen Slave pollt.
Während bekomme ich im selben Takt Fehlermeldungen vom Modbus_Slave Baustein. Außerdem kommt der Fehlercode 16#81E2 was auf eine falsch eingestellte Schnittstelle deutet. Die passt aber (denke ich).
Im Modbus Master bekomme ich immer einen Timeout.
Für mich sieht das so aus, dass meine S7-1500 zwar mitbekommt, dass ein Modbus Master da ist und versucht mit ihr zu kommunizieren, aber entweder A) das Telegramm versteht und nicht antwortet ODER B) das Telegramm nicht versteht.

Hat jemand Erfahrung mit der Sache?
Bin für jeden Tipp dankbar.

mfg mephisto
 
Hallo Mephisto,

ich habe aktuell das gleiche Problem und wollte dich nun fragen, ob du das Problem lösen konntest. Oder vielleicht hat jemand anders eine Lösung für das Problem gefunden?

Danke.

Gruß
Wolfgang
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Grund war (wieder einmal) ein fehlerhaftes Siemens-Manual: Das CM unterstützt nämlich NICHT alle Baudraten sondern nur einige (ich glaube drei oder vier). Welche das sind hab ich im Manual zum CM gefunden. Da steht aber nicht explizit, welche Baudraten unterstützt werden sondern die Überschrift lautet irgendwie anders. Ist auf jeden Fall eine Tabelle ziemlich am Anfang des Manuals.
Hab dann also den Modbus auf eine andere Baudrate umgestellt und es hat auf Anhieb geklappt.

mfg mephisto
 
...
Ich rufe den Baustein Modbus_Comm_Load im ersten Zyklus auf um die Schnittstelle zu parametrieren (9,6kBaud, no Parity). Das funktioniert auch. Der Baustein meldet keinen Fehler retour.
Ich rufe nun den Baustein Modbus Slave auf. Node-Adresse ist vergeben. Und das Holding Register wird über einen Pointer auf einen Datenbaustein gelegt.
...
Während bekomme ich im selben Takt Fehlermeldungen vom Modbus_Slave Baustein. Außerdem kommt der Fehlercode 16#81E2 was auf eine falsch eingestellte Schnittstelle deutet. Die passt aber (denke ich).

Moin zusammen,
ich versuche mich auch gerade an Modbus RTU und habe den gleichen Effekt.
CPU 1516, CM PtP (ET200SP), ich bin Modbus Slave mit der Adresse 1, 38400 Baud, keine Parität, 1 Stopbit...
Auf der anderen Seite läuft eine Heizungssteuerung von Kieback&Peter auf die ich keinen Einfluss habe.
Achso, TIA V16

Hab die Schnittstelle per Software auf MODE=4 (RS485) gestellt, Modbus_Comm_Load läuft fehlerfrei durch.
Modbus_Slave meldet in unregelmäßigen Abständen (wenige Millisekunden bis 3 Sekunden) den Fehlercode 16#81E2.

Die Hilfe zum Modbus_Slave kennt diesen Fehlercode gar nicht, der ist beschrieben z.B. bei der freeport-Kommunikation als '16#81E2: Telegramm abgebrochen: Zeichenrahmenfehler'
Die Übertragungsparameter habe ich aber mehrfach überprüft.

Hat jemand ne Idee zu diesem Problem?

Frank
 
Zurück
Oben