ich müßte mit einer ABB AC500 einige Werte aus einer Beckhoffsteuerung per Modbus TCP abholen (AC500 soll Master sein).
Nun habe ich allerdings ein kleines Problem:
Ab welcher Adresse sind die Daten in der Beckhoffsteuerung?
Als Info habe ich folgendes:
Codesys adressiert normalerweise symbolisch. Für Kommunikation (wie auch I/O) kann aber das Symbol auf eine Speicheradresse gelegt werden:
  Digitaleingang_01AT%IX10.0:BOOL;  Analogeingang_01AT%IW256:INT;  Digitalausgang_01AT%QX4.0:  BOOL;  Analogausgang_01AT%QW0:    WORD;MeinMerkerAT%MW256:INT;
Im Gegensatz zu Siemens müssen aber die Adressen etwas umgerechnet werden:
MB4000 (also das Byte) ist deckungsgleich mit dem ersten Byte von MW2000 (Wort/Integer) oder MD1000 (Doppelwort/DINT/Real), demzufolge sollten die MW-Adressen geradzahlig sein und die MD-Adressen durch 4 teilbar. Andernfalls gibt es Ärger (vertauschte Bytes...) wenn man mit anderen Sachen kommuniziert.
X ist dabei ein Bit
B ein Byte
W ein Wort
D ein Doppelwort
Wie die Eingänge und Ausgänge (I.. und Q..) abgelegt werden ist etwas herstellerabhängig.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Vielen Dank für die Antwort.
Ich glaub ich habe irgend einen Knopf im Kopf.
OK, z. B. ein Wort in %MW0.8192 gespeichert, wird mit (Start-)Adresse 2000hex ausgelesen.
Zumindest mit zwei AC500 funktioniert das tadellos.
Bei Beckhoff ebenfalls?
Leider ist mir der Beckhoff ziemlich unbekannt und ich weiß auch nicht was die Fremdfirma da macht.
Entspricht eigentlich %MX100.0 bei der Beckhoff der Startadresse 64hex? Oder bin ich jetzt schon wieder verkehrt?
Auch bin ich etwas verwirrt, da mir %MX100.0 eigenartig vorkommt. Bei der ABB AC500 ist bei %MX7.65535.7 Schluß ist.
Beckhoff hat aber eine zweigliedrige und nicht dreigliedrige Adresse.
Oder hat Beckhoff nicht die Segmentierung und %MX100.0 wäre gleich ABB %MX0.100.0 gleich Modbusstartadresse 64hex?
Danke im Vorraus.
Gruß Martin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo zusammen,
ich müßte mit einer ABB AC500 einige Werte aus einer Beckhoffsteuerung per Modbus TCP abholen (AC500 soll Master sein).
Nun habe ich allerdings ein kleines Problem:
Ab welcher Adresse sind die Daten in der Beckhoffsteuerung?
Als Info habe ich folgendes:
Platzhalter_2 AT%MX100.2 : BOOL; ( Netzausfall verzögert )
Platzhalter_3 AT%MX100.3 : BOOL; ( Betrieb Generator 1 )
Platzhalter_4 AT%MX100.4 : BOOL; ( Betrieb Generator 2 )
Platzhalter_5 AT%MX100.5 : BOOL; ( Betrieb Generator 3 )
Platzhalter_6 AT%MX100.6 : BOOL; ( Betrieb Generator 4 )
Platzhalter_7 AT%MX100.7 : BOOL; ( Lastabwurf Generator 1 )
Platzhalter_8 AT%MX101.0 : BOOL; ( Lastabwurf Generator 2 )
Platzhalter_9 AT%MX101.1 : BOOL; ( Lastabwurf Generator 3 )
Platzhalter_10 AT%MX101.2 : BOOL; ( Lastabwurf Generator 4 )
%MX100.2 in der Beckhoff bedeutet für mich, die Adresse ????
Ich hoffe es versteht jemand meine Frage und kann mir das Mapping der Beckhoff-SPS erklären.
Danke.
Codesys adressiert normalerweise symbolisch. Für Kommunikation (wie auch I/O) kann aber das Symbol auf eine Speicheradresse gelegt werden:
Im Gegensatz zu Siemens müssen aber die Adressen etwas umgerechnet werden:
MB4000 (also das Byte) ist deckungsgleich mit dem ersten Byte von MW2000 (Wort/Integer) oder MD1000 (Doppelwort/DINT/Real), demzufolge sollten die MW-Adressen geradzahlig sein und die MD-Adressen durch 4 teilbar. Andernfalls gibt es Ärger (vertauschte Bytes...) wenn man mit anderen Sachen kommuniziert.
X ist dabei ein Bit
B ein Byte
W ein Wort
D ein Doppelwort
Wie die Eingänge und Ausgänge (I.. und Q..) abgelegt werden ist etwas herstellerabhängig.
Vielen Dank für die Antwort.
Ich glaub ich habe irgend einen Knopf im Kopf.
OK, z. B. ein Wort in %MW0.8192 gespeichert, wird mit (Start-)Adresse 2000hex ausgelesen.
Zumindest mit zwei AC500 funktioniert das tadellos.
Bei Beckhoff ebenfalls?
Leider ist mir der Beckhoff ziemlich unbekannt und ich weiß auch nicht was die Fremdfirma da macht.
Entspricht eigentlich %MX100.0 bei der Beckhoff der Startadresse 64hex? Oder bin ich jetzt schon wieder verkehrt?
Auch bin ich etwas verwirrt, da mir %MX100.0 eigenartig vorkommt. Bei der ABB AC500 ist bei %MX7.65535.7 Schluß ist.
Beckhoff hat aber eine zweigliedrige und nicht dreigliedrige Adresse.
Oder hat Beckhoff nicht die Segmentierung und %MX100.0 wäre gleich ABB %MX0.100.0 gleich Modbusstartadresse 64hex?
Danke im Vorraus.
Gruß Martin