Step 7 Modbus RTU Slave ET200MP

IFATD

Level-2
Beiträge
205
Reaktionspunkte
18
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen Ihr Spezialisten.
Ich muss einen Modbus Slave in S7 Standard (nicht TIA) von CP 341 auf einen CP 6ES7541-1AD00-0AB0 umstellen.
Ich finde in den Handbüchern nicht die Informationen die ich brauche. In der Version mit CP 341 konnte ich einstellen in der Konfiguration das der Functioncode FC4 aus dem DB200 lesen soll und der FC6 nur in den DB201 schreiben darf. Wo und wie mache ich das jetzt mit dem CP 6ES7541-1AD00-0AB0?
 
Wo konntest Du das mit den DB-Nummern für den CP341 einstellen? Mit welchen Bausteinen kommuniziert die S7-300 mit dem CP341? Ist das was selbst voll ausprogrammiertes oder eine spezielle (lizenzpflichtige?) Library von Siemens? Dann frag Siemens nach Nachfolge-Produkt oder ob/wie das migriert werden kann.

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

in der Version mit CP 341 mit Dongle kann man in der HW Konfiguration im Treiber das einstellen.
Jetzt will/muss ich aber den CP für die S7 1500 benutzen. Wie ist da die Parametrierung eines Slaves für Senden und Empfangen von ca. 200 Worten?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Harald und Maggi,

ja soweit machen wir das alles gleich. Ich benutze den "Modbus_Comm_Load" zur Parametrierung der Schnittstelle. (Port=LADDR,Baud,Parität,Stopbit usw.) Danach der Baustein "Modbus_Slave". mit der Verbindung IDBxy.MB_DB. Der Übergabebereich ist ein Zeiger auf einen Datenbaustein.

Meine Frage ist eigentlich wie oft muss ich den "Modbus_Slave" aufrufen und wie? Ich muss auf Anforderung des Masters 120 Worte Sollwerte empfangen und 120 Worte Istwerte "senden".
 
Zuerst: ich habe keine Erfahrung mit dem Modbus_Slave.
Ich würde aber davon ausgehen, daß da nur eine Instanz einmal je Zyklus aufgerufen werden muß. Was der Modbus_Slave macht wird ja durch den Modbus Master Kommunikationspartner bestimmt. Allerdings scheint laut TIA Hilfe die Anweisung Modbus_Slave keine getrennten DB für Holding Register Lesen/Schreiben zu unterstützen. Sind die je 120 Register Lesen und Schreiben wenigstens auf unterschiedliche Registernummern (also nicht überlappend)? Dann könntest Du dem Modbus_Slave einen großen DB200 für alle Holding-Register geben, und nach dem Modbus_Slave-Aufruf, die Empfangs-Register in einen DB201 kopieren.

Harald
 
Hallo Harald,

ja das habe ich mir auch schon überlegt. Den Datenbaustein am "Modbus_Slave" 2x120 Worte groß machen und hoffen das die Registernummern vom Master unterschiedliche Bereiche haben. Ich muss ja noch die Daten für den Master in diesen Bereich kopieren.
 
Zurück
Oben