Tile Visu Slider mit Modbus Real Variable funktioniert nicht

Im Zuge des Umbaus auf die Tile-Visu bin ich auf folgendes Problem gestossen.
Info: Im alten WF in V7.0 funktioniert es.

Ich schalte von der Visu eine Float Variable mit der Standardaktion auf eine Modbus-Float Variable.
Es funktioniert aber in der Tile Visu nicht.
PS: Das Aktionsskript habe ich rausgeschmissen.




Woran kann das liegen, im alten WF klappt es ja???..
Kann es sein das es an den 32 Bit Real liegt.?
Ich habe nämlich mit Modbus, selbes mit 16 Bit UINT ohne Probleme am laufen.

So wie es aussieht liegt es an meinem Variablenprofil.

Mit diesem Profil-Setting funktioniert es.

Könntest du nochmal testen, ob der Fehler auch bei einer ganz normalen Variable mit Standard-Aktionsskript und dem Profil auch fehlschlägt oder ob das nur im Modbus-Kontext passiert? Dann wissen wir ein bisschen besser, an welcher Stelle wir schauen müssen :slight_smile:

Edit: Ah, ganz überlesen, dass du es schon mit anderem Einstellung probiert hast und es da klappt. Wir hatten tatsächlich gerade bei uns einen vergleichbaren Fehler, aber da war Min = Max, was außerhalb von unseren Entwicklungsumgebungen bei einem Slider nicht möglich sein kann.

Edit 2: Kannst du sonst mal testen, ob der Fehler auch kommt, wenn du die Variable via Konsole schaltest während du nebenbei die Visualisierung offen hast? Oder kommt der tatsächlich nur wenn der Schaltvorgang aus der Visualisierung kommt?

Also ohne Modbus ist es das gleiche Verhalten.

Abhilfe hat wie schon gesagt, die Änderung des Var-Profils auf eine Nachkommastelle.
Ist irgendwie klar, weil Float ja eine Gleitkommazahl ist.

Irgendwas ist bei der Tile Visu anders weil im WF funktioniert es ja.

Wenn ich die Var aus der Konsole verändere, dann funktionierts, die Visu ändert sich auch.

grafik

Ok, ich kann es nachstellen. Problem ist, dass die Visu bei ganzen Zahlen diese als Integer verschickt, obwohl es ja ein Float ist. Und da stolpert Modbus scheinbar drüber… Wir sind dran. Danke für die Infos!

edit: Die Inkonsistenz sollte tatsächlich für das Schalten von Instanzvariablen irrelevant sein. Du hast aber scheinbar ein eigenes Aktionsskript, welches darüber stolpern könnte. Auch wenn ich mir noch nicht erklären kann, wie das zu einem NaN führt… Magst du mir das Skript mal zeigen?

Ja das Aktionscript aus meiner Anfangszeit liegt da drin.

<?php

if ($_IPS['SENDER'] == "WebFront")
{ 
   ModBus_WriteRegister(25556,$_IPS['VALUE']);
}
?>

Und ist auch aktiv.

Es funktioniert mit oder ohne Aktionsskript jetzt ohne Probleme…

Wir sind tatsächlich immer noch am rätseln, was da passiert ist… Falls es wieder auftaucht, melde dich gerne, dann schauen wir mal weiter.

Irgendwas mit dem floatingpoint verwurschtelt sich da.
Aber egal, es läuft mit angepasstem Var-Profil.
Das die Streams in absehbarer Zeit stabil laufen und die die Tile-Visu noch einen Ticken anpassbarer wird (z.B. Bilder in Kacheln hinterlegen (one-klick)), ist für uns alle wichtiger.

Im back-end läuft ja.
Was bedeutet eigentlich das NaN im front-end.?

Falls es da nochmal Probleme gibt, melde ich mich…

Danke.

Not a Number.
Michael

1 „Gefällt mir“