Hallo Forum,
ich möchte mit einer Siemens SPS S7-300/400 Daten in die IoT Node-RED Programmierumgebung laden. Dabei sollen die Datentypen INT und REAL korrekt übertragen werden.
Der Datentyp INT (16 Bit = 2 Byte) wird im Node-RED Programm korrekt dargestellt. Beim Datentyp REAL (32 Bit = 4 Byte) sind die Zahlenwerte unterschiedlich.
Bei der Recherche nach einer Lösung bin ich auf folgenden Forum-Eintrag gestoßen:
https://www.sps-forum.de/simatic/148...tenformat.html
Hiernach müssen die 4 Byte die aus der SPS in die Node-RED Programmierumgebung geladen werden in der Reihenfolge getauscht werden.
Byte 1 --> Byte 4
Byte 2 --> Byte 3
Byte 3 --> Byte 2
Byte 4 --> Byte 1
Anschließend muss die REAL Variable nach der Norm "IEEE 754" berechnet werden.
Beim Forum-Beitrag steht die REAL Variablenberechnung nach der Norm in C++ Code. In Node-RED ist ein JavaScript Programmierung notwendig.
Besitz jemand die SPS und JavaScript Kenntnisse, um mir da weiter zu helfen?
Oder hat jemand eine fertige Funktion dafür geschrieben?
ich möchte mit einer Siemens SPS S7-300/400 Daten in die IoT Node-RED Programmierumgebung laden. Dabei sollen die Datentypen INT und REAL korrekt übertragen werden.
Der Datentyp INT (16 Bit = 2 Byte) wird im Node-RED Programm korrekt dargestellt. Beim Datentyp REAL (32 Bit = 4 Byte) sind die Zahlenwerte unterschiedlich.
Bei der Recherche nach einer Lösung bin ich auf folgenden Forum-Eintrag gestoßen:
https://www.sps-forum.de/simatic/148...tenformat.html
Hiernach müssen die 4 Byte die aus der SPS in die Node-RED Programmierumgebung geladen werden in der Reihenfolge getauscht werden.
Byte 1 --> Byte 4
Byte 2 --> Byte 3
Byte 3 --> Byte 2
Byte 4 --> Byte 1
Anschließend muss die REAL Variable nach der Norm "IEEE 754" berechnet werden.
Beim Forum-Beitrag steht die REAL Variablenberechnung nach der Norm in C++ Code. In Node-RED ist ein JavaScript Programmierung notwendig.
Besitz jemand die SPS und JavaScript Kenntnisse, um mir da weiter zu helfen?
Oder hat jemand eine fertige Funktion dafür geschrieben?