Modus Adressen aus Wago zu Generic Device

julianpe

Level-1
Beiträge
61
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich nutze einen Wago 750-8203 für die Kommunikation mit unterschiedlichen Modbus TCP Geräten.
Dabei habe ich in der Steuerungskonfiguration diverse Modbus Variablen hinterlegt.

Bsp.:
Name:Adresse:Datentyp:EA-TypFeldbusadresse:
analogOut1%QW1000WORDOutputRegister: 1000 (0x3e8), Lesen: FC4; Schreiben: --
analogIn1%IW1000WORDInputRegister: 0 (0), Lesen: FC3; Schreiben: FC16
digitalIn1%IX1006.0BOOLInputBit: 96 (0x60), Lesen: FC1; Schreiben: FC15
digitalOut1%QW1006.0BOOLOutputBit: 6246(0x1860), Lesen: FC2; Schreiben: --


Was mich jetzt wundert, ist dass ich mir vorgegeben wird, dass u.a. ein analoger Ausgangswert nur gelesen wird und nicht geschrieben (FC4)
Jetzt bin ich ein wenig verwirrt über die Tatsache, dass eigentlich nach Modbus TCP Standard, die einzelnen Register und Funktionen in folgenden Adressbereichen liegen:

Coil/Register Numbers
Data Addresses
TypeTable Name
1-9999
0000 to 270E
Read-WriteDiscrete Output Coils
10001-19999
0000 to 270E
Read-OnlyDiscrete Input Contacts
30001-39999
0000 to 270ERead-OnlyAnalog Input Registers
40001-49999
0000 to 270ERead-WriteAnalog Output Holding Registers

Kann ich nun davon ausgehen, dass meine Variablen nach Modbus Anordnung auf folgenden Adressen liegen?

analoger Ausgang 1 (Register: 1000), FC4 -> Adresse: 40001
analoger Eingang 1 (Register: 0), FC3, FC16 -> Adresse: 30001
digitaler Ausgang 1 (Bit: 6246), FC2 -> Adresse: 1.0
digitaler Eingang 1 (Bit: 96), FC1, FC15 -> Adresse: 10001.0

Klärt mich bitte auf :cool:


Danke und Gruß


//EDIT:

Habe diese Tabelle im Internet gefunden. Ist die korrekt so?

Function Code Register-Adresse Beschreibung
01 (01 hex) 1-9999 Lesen von digitalen Ausgängen
05 (05 hex) 1-9999 Setzen eines digitalen Ausgangs
15 (0F hex) 1-9999 Setzen mehrerer digitalen Ausgänge
02 (02 hex) 10001-19999 Lesen von digitalen Eingängen
04 (04 hex) 30001-39999 Lesen von analogen Eingangswerten
03 (03 hex) 40001-49999 Lesen von analogen Ausgangswerten
06 (06 hex) 40001-49999 Setzen eines analogen Ausgangs
16 (10 hex) 40001-49999 Setzen mehrerer analogen Ausgänge
 
Zuletzt bearbeitet:
Hallo julianpe,

ich gehe anhand deiner Beschreibung davon aus, dass der 750-8203 als Slave arbeiten soll?!

Zu den Registern:
Coil/Register Numbers
Data Addresses
TypeTable Name
1-9999
0000 to 270E
Read-WriteDiscrete Output Coils
10001-19999
0000 to 270E
Read-OnlyDiscrete Input Contacts
30001-39999
0000 to 270ERead-OnlyAnalog Input Registers
40001-49999
0000 to 270ERead-WriteAnalog Output Holding Registers
Hier hast du im Endeffekt immer die Register 1-9999.
Anhand der Prefixe (hier: 0 (1-9999); 1 (10001-19999); 3 (30001-39999) und 4 (40001-49999) wird nur der zu nutzende Funktionscode ausgewählt.
Bei Wago Geräten wird nicht mit dem Prefix, sondern dem Funktionscode gearbeitet.

Das Modbus Register Mapping des 750-8203, sowie die Funktionscodes findest du im Handbuch ab Kapitel 10.5.3:
http://www.wago.de/download.esm?fil...dium=forum&utm_content=sps-forum&utm_term=MAN

Wie im Handbuch beschrieben sind die Modbus Register auf Merkerbereiche, oder auf den PFC Ein-/Ausgangsbereich gemappt.
Ein Direktzugriff auf das EA Abbild ist nicht möglich.



Bsp.:
Name:Adresse:Datentyp:EA-TypFeldbusadresse:
analogOut1%QW1000WORDOutputRegister: 1000 (0x3e:cool:, Lesen: FC4; Schreiben: --
analogIn1%IW1000WORDInputRegister: 0 (0), Lesen: FC3; Schreiben: FC16
digitalIn1%IX1006.0BOOLInputBit: 96 (0x60), Lesen: FC1; Schreiben: FC15
digitalOut1%QW1006.0BOOLOutputBit: 6246(0x1860), Lesen: FC2; Schreiben: --
Der PFC-Ausgangsbereich kann per Modbus nur gelesen werden, da der Controller (PFC) dort seine ausgehenden Daten bereitstellt.
Somit kann der PFC-Eingangsbereich beschrieben werden, um dem Controller Daten zu übergeben.



Habe diese Tabelle im Internet gefunden. Ist die korrekt so?

Function Code Register-Adresse Beschreibung
01 (01 hex) 1-9999 Lesen von digitalen Ausgängen
05 (05 hex) 1-9999 Setzen eines digitalen Ausgangs
15 (0F hex) 1-9999 Setzen mehrerer digitalen Ausgänge
02 (02 hex) 10001-19999 Lesen von digitalen Eingängen
04 (04 hex) 30001-39999 Lesen von analogen Eingangswerten
03 (03 hex) 40001-49999 Lesen von analogen Ausgangswerten
06 (06 hex) 40001-49999 Setzen eines analogen Ausgangs
16 (10 hex) 40001-49999 Setzen mehrerer analogen Ausgänge
Eine verlässliche Zuordnung der Prefix/Zugriff - Funktionscode Kombination der spezifischen Partnergeräte kann ich so leider nicht liefern.
Grundsätzlich könnte diese aber durchaus passen.

Evtl. ist zudem noch mit einem Offset von 1 zu rechnen, da die Wago Register bei 0 beginnen.
 
Zuletzt bearbeitet:
Zurück
Oben