Moin,
ich habe in einer Visu das Phänomen das ich zwei Variablen habe bei denen ich auch die Nachkommastelle anzeigen lassen möchte.
Der Wer für die anzuzeigenden Daten wird aus einer SPS ausgelesen und über einen OPC-Server von NI an die Visu weitergeleitet.
Bis zum DSM wird die Nachkommastelle mitangezeigt, nur in der Visu wird hinter dem Komma immer eine Null angezeigt.
Ich habe an anderer Stelle schon Vaiablen mit Nachkommastellen und da klappt es. Habe alles verglichen (Variablen sind vom Format her gleich) und sieht alles leich aus.
Im OPC als Float deklariert (wird mit Nachkommastelle angezeigt) und die Shared Variable hat als Datentyp Single.
Was ist das das die Nachkommastelle bis zum DSM koekt angezeigt wird und in der Visu immer eine Null hinter dem Komma?
Standardmäßig ist bei floating-point Variablen die Anzeige auf 6 signifikante Stellen eingestellt. Bei großen Zahlen gibts also schon mal ein paar Nullen hinter dem Komma. Abhilfe: Rechtsklick auf das Anzeigelement und über Eigenschaften/Properties entsprechend mehr Stellen einstellen.
Eine Kommastelle (bzw. so viele wie ich einstelle in den Einstellungen der Variable) wird ja auch angezeigt,
das Problem ist aber das da immer eine Null steht und nicht die korrekte Nachkommastelle.
Und die Nachkommastelle wird ja, wie schon geschrieben, bis zum DSM korrekt mit angezeigt.
Warum also macht die Visu immer eine Null als Nachkommazahl?
Wie ist der Datentyp deines Indicators (nicht der Shared Variable) in deinem VI?
Wie ist das Display-Format deines Indicators in deinem VI?
Mehr gibt die Hellseherkugel leider nicht her.
Gruß, Jens
EDIT: Nur als Hinweis, folgendes ist z.B. möglich und würde deiner Beschreibung entsprechen:
[
attachment=43728]
(27.02.2013 10:39 )Ninja2602 schrieb: [ -> ]Warum also macht die Visu immer eine Null als Nachkommazahl?
Könntest du mal dein VI zeigen oder Screenshots reinstellen?
Hast du auch schon gedebugged und raus gefunden, an welcher Stelle genau die Information der Konvertierung der Nachkommastellen verloren geht? Wie werden die Daten an das Anzeigeelement über geben? Direkt? Oder Datentypumwandlung? Gibts irgendwo einen Coercion Dot? Könnten man gleich mit einem VI sehen
Beste Grüße,
NWO
Hier ein Screenshot.
Datentyp: DBL
Display Format:Numeric, Floating Point, 1 Digit, Digits of Precision
Die Werte werden ausgelesen und an die Visu "durchgereicht".
(27.02.2013 16:01 )Ninja2602 schrieb: [ -> ]Hier ein Screenshot.
Datentyp: DBL
Display Format:Numeric, Floating Point, 1 Digit, Digits of Precision
Einstellungen vom Anzeigeelement sind korrekt
(27.02.2013 16:01 )Ninja2602 schrieb: [ -> ]Die Werte werden ausgelesen und an die Visu "durchgereicht".
Wo genau? Wo genau passiert die Zuweisung zur Anzeige? Direkt ja nicht, da dein Element nicht verdrahtet ist. Lokale Variable? Property Node?
Findet irgendwo eine Typkonvertierung statt? Dezimalpunkt/-Komma Problem?
Beste Grüße,
NWO
Es gibt Dinge die sind mir unerklärlich.
Wollte mich gerade daran machen nochmal was auszuprobieren, schaue vorher in die Visu und auf einmal, ohne Änderung, wird die Nachkommastelle angezeigt.
Also das ist eine Shared Variable die auf einen Wert aus dem OPC Server zugreift.
Die Variable soll nur den Wert anzeigen, ansonsten wird nichts mehr mit der Variable gemacht.