beschäftige mich gerade mit der Modbus-Kommunikation zwischen einer Wago 750-881 zu 750-871. Habe mir dazu die üblichen Anwendungshinweise und Informationen von der Homepage von Wago angeschaut und auch soweit alles zum laufen gebracht. Jetzt habe ich aber ein Verständnisproblem mit zwei Eingängen des Bausteins "ETHERNET_MODBUSMASTER_TCP" aus der Bibliothek "ModbusEthernet_04.lib" (siehe Bild). Was gebe ich mit den gelb makierten Eingängen an? In der Beschreibung steht "Anzahl zu lesender/schreibenden Bits bzw. Worte". Muss ich das so verstehen das ich in meinem Fall 99 Worte in den Speicher lese/schreibe, also von %MW0 bis %MW98?
Mit der jetzigen Einstellung kann ich immer nur ein Wort lesen/schreiben. Die Angabe (ADR(%QW2) u. ADR(%IW0)) zeigen ja nur auf ein Wort. Wie kann ich mehrere Register, z.B. %MW0 bis %MW100 auf einmal auslesen bzw. beschreiben?
Gruß hwesbe
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
zur Frage: dort wird die Anzahl der Daten angegeben.
ABER dein Programm kann nicht funktionieren, da ein Sende- und Empfangspuffer existieren muss von welchem gesendet bzw. in welchem geschrieben wird.
an 'ptREAD_DATA' muss ADR(Empfangspuffer) stehen, Empfangspuffer ist ein ARRAY [0..X] mit dem Datentyp, welcher empfangen werden soll, "EmpfangsBuffer : ARRAY [0..10] OF WORD; ( Readed data from remote modbus slave )"
der Sendepuffer ist genauso aufgebaut, steht alles im Anwendungshinweis
Gruß,
Rayk
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo zusammen,
beschäftige mich gerade mit der Modbus-Kommunikation zwischen einer Wago 750-881 zu 750-871. Habe mir dazu die üblichen Anwendungshinweise und Informationen von der Homepage von Wago angeschaut und auch soweit alles zum laufen gebracht. Jetzt habe ich aber ein Verständnisproblem mit zwei Eingängen des Bausteins "ETHERNET_MODBUSMASTER_TCP" aus der Bibliothek "ModbusEthernet_04.lib" (siehe Bild). Was gebe ich mit den gelb makierten Eingängen an? In der Beschreibung steht "Anzahl zu lesender/schreibenden Bits bzw. Worte". Muss ich das so verstehen das ich in meinem Fall 99 Worte in den Speicher lese/schreibe, also von %MW0 bis %MW98?
Mit der jetzigen Einstellung kann ich immer nur ein Wort lesen/schreiben. Die Angabe (ADR(%QW2) u. ADR(%IW0)) zeigen ja nur auf ein Wort. Wie kann ich mehrere Register, z.B. %MW0 bis %MW100 auf einmal auslesen bzw. beschreiben?
Gruß hwesbe
Hallo,
zur Frage: dort wird die Anzahl der Daten angegeben.
ABER dein Programm kann nicht funktionieren, da ein Sende- und Empfangspuffer existieren muss von welchem gesendet bzw. in welchem geschrieben wird.
an 'ptREAD_DATA' muss ADR(Empfangspuffer) stehen, Empfangspuffer ist ein ARRAY [0..X] mit dem Datentyp, welcher empfangen werden soll, "EmpfangsBuffer : ARRAY [0..10] OF WORD; ( Readed data from remote modbus slave )"
der Sendepuffer ist genauso aufgebaut, steht alles im Anwendungshinweis
Gruß,
Rayk
Moin
Und falls das nicht einen tieferen Sinn hat, könntest du zwischen 2 CoDeSys Steuerungen auch einfach Netzwerkvariablen benutzen.
Gruß Erik
Hat der Eingang 'wREAD_QUANTITY' einen maximale Größe? Ich habe da jetzt 125 stehen. Nutze ich 126 bekomme ich Fehler 'Invalid data Value'.
Gruß hwesbe
WagoLibModbus_Sample01.pro [70.21 KiB]