TIA ET200SP -> Modbus TCP -> CS Instruments VA550

ModbusDani1995

Level-2
Beiträge
87
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich bin gerade dabei einen CS Instruments VA550 Durchfluss/Verbrauchssonde über Modbus TCP an meine ET200SP anzubinden.
IP der Steuerung -> 10.148.223.185
IP der Sonde -> 10.148.223.184

Ich will nur den ersten Wert Flow in m³/h auslesen deswegen Startadresse 1101 (oder muss ich da die 40001 dazurechnen?) und Länge 4 Byte.

Bekomme aber immer den Error 16#8281.

1749050508930.png1749050549521.png1749050563657.png
1749050610001.png
1749050638168.png
 
Spontan sehe ich drei Dinge:

1. Warum ist Dein Local Port = 1 ? Ich glaube, da reicht eine 0, mit konkreten Portnummern wäre ich vorsichtig.
2. Ich kopiere den Status nur bei Erscheinen von DONE oder ERROR in eine Kontrollvariable.
3. Lesen ist doch Mode 0? Adresse könnte 41.101 sein Länge 2 Word (= 4 Byte)
 
Zuletzt bearbeitet:
Spontan sehe ich drei Dinge:

1. Warum ist Dein Local Port = 1 ? Ich glaube, da reicht eine 0, mit konkreten Portnummern wäre ich vorsichtig.
2. Ich kopiere den Status nur bei Erscheinen von DONE oder ERROR in eine Kontrollvariable.
3. Lesen ist doch Mode 0? Adresse könnte 41.101 sein Länge 2 Word (= 4 Byte)
Funktioniert leider nicht. Fehler bekomm ich 8281 zurück.

1749109102229.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Du mußt noch MB_UNIT_ID auf 1 in den Instanzdaten vom MB_CLIENT setzen. Oder im Messgerät die ID auf 255.

Du kannst auch Mode auf 0 setzen, dann mußt Du als adresse aber 41101 oder 41100 setzen, damit de Baustein intern weiß welchen FC er für die Anfrage nutzen muß.
 
Hallo,

Du mußt noch MB_UNIT_ID auf 1 in den Instanzdaten vom MB_CLIENT setzen. Oder im Messgerät die ID auf 255.

Du kannst auch Mode auf 0 setzen, dann mußt Du als adresse aber 41101 oder 41100 setzen, damit de Baustein intern weiß welchen FC er für die Anfrage nutzen muß.

Danke für deine Hilfe aber es ist doch 40001 + 1101 = 41102 oder?

1749110096630.png
 
Weil du bei 0 den Funktionscode mit in die Registeradresse packen musst und das sparst du dir mit der Eingabe von 103 bzw. 104.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

grundsätzlich aber hast Du Recht, hatte die 1 bei 40001 mal wieder vergessen. Also müßte es 41101 sein, damit die Adresse 1100 mit FC03 gelesen wird.

Das ist immer ein Krampf bei den verschieden Herstellern wie sie die Modbusadressen implementieren und in der Dokumentation angeben. Wie Du auch im Herstellerdokument sehen kannst mit zwei Spalten: Modbus Register und Register Adresse.

Ich habe aber gerade mal nachgesehen, bei mir finde ich den Fehlercode 16#8281 gar nicht in der Hilfe. Nur für serielle Kommunikation. Habe hier zurzeit aber auch nur V16.

Gruß
 
Wichtig: Du kannst / musst den Instanz-DB des MB-Client direkt editieren. Ist etwas ungewöhnlich, aber Siemens will das so!

Andere Frage: Wie löst Du den REQ aus? Weil der in Deinem DB auf TRUE steht. Den musst Du regelmäßig antakten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wichtig: Du kannst / musst den Instanz-DB des MB-Client direkt editieren. Ist etwas ungewöhnlich, aber Siemens will das so!

Andere Frage: Wie löst Du den REQ aus? Weil der in Deinem DB auf TRUE steht. Den musst Du regelmäßig antakten.
Ist bis jetzt nur ein Testaufbau. Wird dann über einen Taktmerker oder aus einer Graph-Schrittkette heraus ausgelöst.
 
Zurück
Oben