Step 7 Modbus Register 0 lesen mit FB909 (MB_REDCL)

ziede

Level-1
Beiträge
44
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,
hat hier schonmal jemand das Problem gehabt, Register 0 (also das 1. Modbus-Register) mit einer S7-417 H, ModBus am CP 443 und verwendetem FB909 (MB_REDCL) zu lesen / zu schreiben?
In meiner Testumgebung (Raspberry PI mit Codesys als ModBus server) bekomme ich leider erst ab dem 2. Register gelesen...

Am FB909 ist als Startregister 1 eingestellt. Wenn ich dort 0 Einstelle liest der Baustein ueberhaupt nicht...

Mfg
Bjoern
 
Hallo,
hast Du im Parameter-Datenbaustein auch ab Startadresse 0 parametriert?
Was kommt denn für eine Fehlermeldung, wenn Du am Runtimeparameter START_ADDRESS = 0 eingibst?

Snape
 
Zuviel Werbung?
-> Hier kostenlos registrieren
War mein Fehler, ich war zu ungeduldig...
Das tut er also so wie er soll, dafuer kommt das naechste Problem...

Vor dem FB909 haengt der Job_List_STL (ebenfalls von siemens) mit der Kombination bekomme ich nun mehrerer ModBus Register gelesen (Register 0 - 42 sowie 100 - 144)
Nach dem lesen sollen nun jedoch die Register 0-1 sowie 130-140 wieder geschrieben werden, die Jobs mag er nicht...

Am FB909 bekomme ich die Fehlermeldung A024 (Configured data_type_2 and data_type_4 areas overlap.)
 
Zum Lesen und Schreiben musst Du keine verschiedenen data_areas im Parameter-DB festlegen. Und wie die Fehlermeldung sagt, dürfen die Register nur eindeutig in den DBs definiert werden. Sonst weiß er ja nicht, in welchen DB er schauen soll, wenn Register 0 angefordert wird. In dem Parameter-DB wird nur festgelegt, welche Register der Modbusbaustein kennen soll und in welchem Datenbaustein sie liegen.
Das Lesen und Schreiben wird nur über den Parameter WRITE_READ zur Runtime gesteuert.
Also die doppelt definierten data_areas im Parameter-DB rausnehmen und an die Job_List mit dem Write-Parameter die Schreibtelegramme definieren.
 
Zurück
Oben