-> Hier kostenlos registrieren
Hallo,
Hab ein Problem mit MEMCPY
genauer gesagt lese ich via Modbus FB_MBReadRegs die Analog Kanäle von meiner Heizung aus
Die Daten kommen ja in WORD und müssen dann in DWORD gewandelt werden. Also DWORD_OF_WORD und anschließend werden sie mit MEMCPY von DWORD in REAL gewandelt
Anfangs waren es nur ein paar Register die ich ausgelesen hab
Hat soweit alles ganz gut funktioniert
nun lese ich mit 3 Abfragen die Gesamten Register aus
Eigentlich auch noch kein Problem
Jetzt musste ich aber feststellen das gewisse Werte via MEMCPY anscheinend falsch kopiert werden
es schein als würde MEMCPY auf bei ein paar aufrufen auf falsche Register/Adressen zugreifen
Das Bild zweigt:
ganz oben sollte eigentlich die Puffertemperatur TOP sein in die Variable wird aber die Betriebsstundenzeit vom Einschub geschrieben
bei Betriebsstunden Einschub wird mir irgend eine Temperatur rein geschrieben
und beim Lagerstand stehen wieder die Betriebsstunden vom Einschub drinnen

Wieso ich weiß das hier irgendwo ein Fehler ist
Es hat eigentlich schon mal funktioniert
nur da war der Code (Modbusseitig) nicht schön
Ich hatte einige Funktionsblöcke um jeweils ein paar wenige Register aus zu lesen
dann hab ich den Code optimiert --> 1 Funktionsblock der in einer Schrittkette mit unterschiedlichen Parametern aufgerufen wird und die Abfragen so groß das man mit 3 aufrufen die Kompletten Register abfragt
da kam dann der Fehler
Also Code wieder umgeschrieben mit 3 unterschiedlichen Funktionsblöcken --> wieder der selbe fehler
Vielleicht hatte ja schon mal jemand ein ähnliches Problem
Gleich mal Danke für jede Hilfe
Hab ein Problem mit MEMCPY
genauer gesagt lese ich via Modbus FB_MBReadRegs die Analog Kanäle von meiner Heizung aus
Die Daten kommen ja in WORD und müssen dann in DWORD gewandelt werden. Also DWORD_OF_WORD und anschließend werden sie mit MEMCPY von DWORD in REAL gewandelt
Anfangs waren es nur ein paar Register die ich ausgelesen hab
Hat soweit alles ganz gut funktioniert
nun lese ich mit 3 Abfragen die Gesamten Register aus
Eigentlich auch noch kein Problem
Jetzt musste ich aber feststellen das gewisse Werte via MEMCPY anscheinend falsch kopiert werden
es schein als würde MEMCPY auf bei ein paar aufrufen auf falsche Register/Adressen zugreifen
Das Bild zweigt:
ganz oben sollte eigentlich die Puffertemperatur TOP sein in die Variable wird aber die Betriebsstundenzeit vom Einschub geschrieben
bei Betriebsstunden Einschub wird mir irgend eine Temperatur rein geschrieben
und beim Lagerstand stehen wieder die Betriebsstunden vom Einschub drinnen

Wieso ich weiß das hier irgendwo ein Fehler ist
Es hat eigentlich schon mal funktioniert
nur da war der Code (Modbusseitig) nicht schön
Ich hatte einige Funktionsblöcke um jeweils ein paar wenige Register aus zu lesen
dann hab ich den Code optimiert --> 1 Funktionsblock der in einer Schrittkette mit unterschiedlichen Parametern aufgerufen wird und die Abfragen so groß das man mit 3 aufrufen die Kompletten Register abfragt
da kam dann der Fehler
Also Code wieder umgeschrieben mit 3 unterschiedlichen Funktionsblöcken --> wieder der selbe fehler
Vielleicht hatte ja schon mal jemand ein ähnliches Problem
Gleich mal Danke für jede Hilfe