int64 Modbus

Servus,

wenn man ein Modbus Gerät anlegt mit int64 wird dann eine Float Variable angelegt, ich weiß nicht ob das beabsichtigt ist.

Das kann gut sein…

Doppelte Genauigkeit.

In IPS sind Integer nur 32-Bit groß. Damit wir aber mehr die 32-Bit des 64-Bit Wertes anzeigen können, tun wir dies über einen Float.

paresy

Hiho,

also … ich versucht mal laienhaft zu erklären da die SPS jemand anderes Programmiert hat.

Wir haben einen Stromzähler der diesen int64 liefert, dieser springt aber nur pro Stunde einmal auf seinen aktuellen wert obwohl dieser alle 2 Minuten abgefragt wird.

Sind am Rätseln … IPS Bug oder was anderes ?

Klingt eher, als wenn die SPS diesen Wert nur einmal pro Stunde aktualisiert :slight_smile:

Du kannst ja mal mit diesem guten Tool gegentesten: Modbus Master Simulator

paresy

Nein die Wago schickt 1 x pro sekunde werte rein … und die Variable wird auch aktualisiert
von dem her glaube ich das nicht.

Magst du mal erläutern wie ihr die 64 Bit int ins float legt? Da geht doch sicher was verloren?

Da IP-Symcon nur 32-Bit Integer (vorzeichenbehaftet) unterstüzt, bietet eine Float (Welcher in IPS 64-Bit/Double ist) die genauere Darstellung. Dass diese am Double-Maximum auch überläuft, ist klar. Es ist jedoch besser, als gar keine Int64 zu erlauben.

paresy

Hi,

Ich wollte mich da jetzt auch mal mit einklinken. Ich habe ein Sentron das auch seinen Zählerstand über int64 ausgelesen haben muss. Man kann die Register auch nicht einzeln lesen, da gibt es einen Fehler zurück.
Ich kann eine 0 über den Wert schreiben, am Gerät wird dann auch 0 angezeigt, allerdings habe ich sofort wieder 4.6…E18 in der Variable stehen. Dürfte das nicht erst ein Problem werden wenn ich über INT hinaus komme? Sollten die kleinen werte nicht richtig dargestellt werden?
Unten ein screenshot von Modbuspoll. Der kann es richtig darstellen. Allerdings in Hex oder Binary ändert sich ja das komplette bitmuster bis auf das erste Register. Bin überfordert. Der wert in den beiden screenshots hat sich um ein paar Wh verändert.

Gruß

Heinz

Double ABCDEFGH.PNGHex.PNG

Nachtrag: Mit der Beta und 64Bit Real geht’s einwandfrei.