Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Modbus Temperatur über 4 Byte floar
#1
Hallo,

mal wieder ein Modbus problem Undecided

Ich habe einen Slave der mit Temperaturen und Werte über 4Byte float ausgibt. Mit einem Modbus Reader oder einem anderen Programm werden die Datenpunkte richtige ausgelesen (z.B. 20,5 Grad)
Wenn ich das bei myGEKKO entsprechen anlege kommt muss ich ja REG32 auswählen und dann float. Allerdings sind die Werte alle um ein Komma verschoben. also /10. Das heißt es kommt nur 2,1 Grad an. Die möglichkeit "float" und "*10" gibt es ja nicht.

Könnte ihr mir da helfen? 

Marcel
Bezogener Rohbau  Tongue
#2
Moin,

kann mir hier keine weiterhelfen? :-(

Marcel
Bezogener Rohbau  Tongue
#3
Hallo Gemeinde,
hallo Rupert,

ich komme mit dem Modbus Thema leider gar nicht weiter. Das zweite Problem welches ich habe ist das ich meine Heizung über Modbus ansprechen kann.
myGEKKO gibt die 0-10V Ansteuerung aber als "0 - 32767" wert aus. Das Heißt als FLOAT. Meine Heizung benötigt aber den wert als "0-1000"

Leider habe ich im Gekko nichts gefunden was das wiederspiegelt und somit ist eine Ansteuerung meiner Heizung nicht möglich. Ich habe schon versucht über eine Logik den Wert zu berechen aber das habe ich leider nicht hin bekommen. ich vermute das sprengt die Leistungsfähigkeit der Logik.

Habe ich etwas übersehen wie man den Wert entsprechend skalieren kann?

Beste Grüße und Danke schon mal

Bitte helft mir :-)

Marcel
Bezogener Rohbau  Tongue
#4
Hi,

Ich hatte das auch mal,
War bei mir einfach nur mit Vorzeichen anzuzeigen, dann schiebt der 1bit im Register.
Schau dich mal das deine Werte alle mit oder alle ohne Vorzeichen sind bevor du den Weg der Multiplikation suchst.

Lg
#5
Hallo Marcel,

beim Ausgang selbst, stimmt es, dass der 0-10V Ausgang umgerechnet wird in 0...32767. Hier hilft Dir eine einfache Logik weiter:

1. Merker setzen als 0-10V AO.
2. Logik erstellen, erstern Eingang als AI definieren
3. rechts bei "MAX" anstatt 0 die richtige Umrechnung auswählen. Du möchtest es (0...32767) ja wieder auf 0-100 umrechnen, d.h. als MAX wieder 100 eingeben.
4. als Ausgang das Modbus Register auswählen, hier lässt Du das MAX auf 0, da Du den Wert 1:1 weiterschreiben möchtest.


Das selbe Spiel kannst Du beim Einlesen verwenden. Erstelle eine Logik, wo Du das Register einliest. In der Logik dann kannst Du ja dividieren/multiplizieren wie Du möchtest. Als Ausgang nimmst Du einen Merker. Der Merker wird dann der effektive AI in Deinem Baustein.


Schöne Grüße
Stefan Holzer
#6
Danke Stefan für den Lösungsansatz,

Ich probiere es die Woche aus.

Schöne Grüße,
Marcel
Bezogener Rohbau  Tongue


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  myGEKKO und Modbus Raumbediengerät ARTandSTRATEGY 9 3.944 24.05.2019, 20:55
Letzter Beitrag: Benny
  Siemens Logo via Modbus TCP anbinden danielsan 6 3.340 23.03.2019, 20:53
Letzter Beitrag: danielsan

Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste