MODBUS PN TCP CPU 314C

Helmchen_0815

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin.
Ich möchte einen Modbus Teilnehmer über MODBUS PN (CPU314C) auslesen.
Benutze dazu den FB900 MODBUSPN, Lizenz ist drauf, Connection_EST ist auch "true"

Ich benutze das Beispielprojekt von Siemens.
An den FB müssen folgende Werte geschrieben werden:
UNIT = 3 bei mir (Unit Adresse vom Modbus Server)
DATA_TYPE = 3 oder 4 ( Read Holding Register, Input Register)
START_ADRESS= ??? Hier sollte doch m.M.n die Erste Adresse des Registers stehen odeR? Also z.b. 40001 oder zb.40315 ( je nach Modbus Tabelle des Geräts)
LENGTH= ?? Registerlänge??? Also zb. 1 oder 2 oder halt mehr, je nach Tabelle.

Leider funktioniert das ganze noch nicht so wirklich. Wenn ich die 40001 oder einen anderen Wert aus der Modbustabelle angebe erhalte ich den Fehler A006.
Wenn ich hier eine 1 oder eine 2 angebe, ist der Error weg, aber Daten erhalte ich nicht vom Modbus Server. Aber die 1 oder 2 ist doch auch keine richrige Registeradresse oder?
Habe ich hier einen Denkfehler?

Gruß
 
Wie immer zuerst die Grundangaben:
Welches Programmiersystem verwendest Du? TIA Version V...? Step7 V5.x?
Welche CPU GENAU hast Du (6ES7 31.....)? Ist da auch noch ein CP 343-1 oder so dabei? Welcher genau?
Welche Version MODBUSPN? MODBUSPN V1, MODBUSPN V2?
Was bedeutet der Fehler A006? Sollte in der Beschreibung des MODBUSPN stehen.

Hast Du die Modbus-Kommunikation mit deinem unbekannten Modbus-Server/Gerät mal mit einem Modbus Test-Client getestet? Funktioniert es da?
Welche Register-Nummer willst Du lesen? Welche UNIT ID erwartet der Modbus-Server?
Tip: lies erstmal nur 1 Register.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kein Problem,
Ich nutze Simatic Manager V5.6 + SP2
CPU 314c-2PN/DP (314-6EH04-0AB0) + CP 343-1 LEAN auf Slot 4 ( Anbindung an internes Firmennetzwerk.) Auf der CPU PN X2 ist jetzt der Modbus Teilnehmer.
Modbus TCP PN CPU V3.0.1

Fehler A006 : "Der über DATA_TYPE, START_ADDRESS und LENGTH angegebeneBereich existiert nicht in data_type von data_area_1 bis data_area_8."

Mit einem anderen Gerät habe ich es noch nicht getestet. Ist auch die erste Modbus TCP Verbindung die ich aufbaue. Über RS485 habe ich schonmal eine aufgebaut.

Das Register 30529 gibt laut Datenblatt Eine Energiemenge raus. Dieses Register würde ich gerne lesen. Mehr brauch ich erstmal nicht. Leider wird in meinem Global DB dann immer nur ein "FFFF" geschrieben.
 
Es gibt kostenlose Modbus Test Clients, einen ganz einfachen z.B. von Janitza das Tool Modbus Diagnose - für meine Testzwecke hat das immer ausgereicht.
Empfehlung: Teste mal mit dem Janitza Tool das lesen, ob es damit funktioniert. Das Tool muß nicht installiert werden, es ist eine einfache exe zum direkt ausführen. Dafür müsstest du einen Computer am Netzwerk der CPU-PN-Schnittstelle anschließen.

Fehler A006 : "Der über DATA_TYPE, START_ADDRESS und LENGTH angegebeneBereich existiert nicht in data_type von data_area_1 bis data_area_8."
Wie sieht der Aufruf des MODBUSPN-Bausteins aus? Welche Werte sind da bei DATA_TYPE, START_ADDRESS und LENGTH angegeben?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Den Aufruf des FB900 mache ich im OB35
DATA_TYPE= 3
START_ADDRESS = 0
LENGTH= 2

Ich bin mir auch nicht ganz sicher was in den MODBUS_PARAM bei start_1 und end_1 geschrieben werden muss. Die Registeradressen des Partners oder die Adressierung im "AblageDB"
 
Zurück
Oben