21.05.2021 08:53 | |
Beigetreten: 05.02.2020 Letzter Bes: 07.10.2022 Beiträge: 50 Bewertung: (3) |
Moin, vorweg da das dein erster Beitrag ist,wilkommen hier im Forum! Du solltest dir gleich angewöhnen, in Zukunft konkrete Typen mit Artikelnummern der verwendeten/betroffenen Komponenten gleich mit zu posten. Auch die verwendete TIA Version. Dadurch ersparst du dir und anderen das Nachfragen. In diesem Fall entnehme ich, dass du mit einer 1500er CPU und folgendem Modul arbeitest: 6ES7541-1AD00-0AB0 - SIMATIC S7-1500, CM PTP RS-232 HF Kommunikationsmodul Du liegst richtig damit, die Schnittstelle über den Modbus_Comm_Load Baustein zu initialisieren. Neben den Parametern, die dir der Baustein nach außen führt, hast du noch weitere Parameter in den statischen Variablen des Instanz-DB, die dazu gedacht sind von dir manipuliert zu werden. Schau dir dazu mal in der TIA Hilfe (F1) die 2. Tabelle der Modbus_Comm_Load Anweisung an. Darüber müsstest du dann alles am Baustein selbst einstellen können. Das Problem mit der HW-Konfig ist, dass die bei Modbus RTU eigentlich keine Verwendung findet. Bei Spannungswiederkehr wird das Modul zwar mit den Parametern aus der HW-Konfig initialisiert. Du bist dann aber gezwungen den Modbus_Comm_Load einmal auszuführen. Damit wird dann die Konfiguration im Modul selbst überschrieben und die HW-Konfig ist obsolet. Der Modbus Adressbereich für Holding Register ist 40 001-49 999. Damit passt 40 000 meiner Meinung nach nicht, es müsste bei 40 001 starten. Ich kann dir nur vorschlagen zu Testen. Ich hatte meist Geräte, die Registeradressen in den hohen 100er bzw. niedrigen 1000er Bereichen hatten (Beispiel: Anhang Adressenliste Janitza UMG-20CM). Da musste ich dann zum auslesen von z.B. der Seriennummer (Funktionscode 3 - Registeradresse 703 - 1 Register (Word)) am Modbus_Master Baustein folgendes einstellen: MODE: 0 (lesen) DATA_ADDR: 40 704 (ergibt sich aus Registeradresse 703 + Offset 40 001) DATA_LEN: 1 (Anzahl Register (Word)) Ich würde nun an deiner Stelle mal mit folgenden Einstellungen versuchen, ob was ankommt: MODE: 0 DATA_ADDR: 40 001 (also kein Offset draufrechen, falls das bei seiner Angabe schon berücksichtigt wurde) DATA_LEN: 1 oder MODE: 0 DATA_ADDR: 80 001 (mit dem Offset) DATA_LEN: 1 Hoffe damit kommst du erstmal weiter. Grüße |
Für diesen Beitrag bedanken sich1 Benutzer |