TwinCat XAE v13 Visualisierung

Pascal L-D

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,

ich bin Neuling auf dem Gebiet der Programmierung. Aktuell versuche ich ein Analoges Eingangssignal von einem Thermoelement weiter zu verarbeiten. Ich möchte gerne den Wert des Thermoelements durch 100 teilen und das Ergebnis Visualisieren. Die Visualisierung von dem "normalen" Wert schaffe ich, doch das dividieren bekomme ich nicht hin.
Der Datentyp ist DINT und ich verwende eine Beckhoff CX5130.

Ich danke schonmal im voraus.

Gruß Pascal
 
Wenn die Division in der Visu erfolgen soll müsstest Du am sinnvollsten den Wert erst mit DINT_TO_LREAL(Wert) wandeln und dann mit "/100.0" durch 100 teilen. Als Platzhalter nimmst Du dann %f und gibst eventuell noch die Stellenzahl an.
Nachtrag: Wieso möchtest Du durch 100 teilen, die Beckhoff Thermoklemmen lösen doch eigentlich immer in 0,1°C auf, das wäre dann durch 10.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi danke für die schnelle Antwort.
Ich habe bisher nur mit TIA Portal Programmiert.
Muss ich einen FB anlegen, in dem die Umwandlung und Rechnung stattfindet? oder wird es direkt in die Main geschrieben?
Setze ich das durch einen MOVE Baustein um? Ich habe nur FUP gelernt :roll:
Ich möchte durch 100 teilen da ich einen wert von 2500 bekomme. Ich verwende die EL3314 Klemmen.

Edit: Ich habe die Lösung gefunden. Danke für die Hilfe
 
Zuletzt bearbeitet:
Du kannst die Umwandlung direkt in MAIN machen, auch da gilt, erst den Wert mit DINT_TO_LREAL wandeln und dann durch 100.0 teilen, aber, wie schon erwähnt, kannst Du das auch direkt in der VISU machen.
In FUP würdest erst eine Box für die Wandlung einfügen und dann dessen Ausgang auf eine DIV Box geben. An deren unterem Eingang setzt Du dann 100.0 und das Ergebnis weist Du dann einer LREAL Variable zu die Du in der Visu anzeigst.
Die EL3314 ist eine vierkanal TC-Klemme und gibt die Temperatur in 0,1°C Schritten aus. In Deinem Fall bedeutet dies, das 250°C gemessen werden. Ist dem nicht so ist entweder der Sensor verpolt oder der falsche Typ konfiguriert.
Bei Fragen zu TwinCAT solltest Du auch das Infosys installieren, dann kannst Du das Hilfesystem auch ohne Internetverbindung nutzen und ansonsten auf der Infosys Seite nachsehen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nimmst Du Dir bitte noch die Zeit kurz zu beschreiben was die Lösung war und markierst die Beschreibung dann als hilfreichste Antwort, damit der Thread als gelöst markiert wird und andere mit einem ähnlichen Problem auch von der Lösung profitieren.
 
Um die Visualisierung um zusetzten, habe ich den DINT Wert in einen LReal Wert mittelst MOVE Baustein umgewandelt. Diesen Wert habe ich dann mittels DIV Baustein durch 100 geteilt und habe für das Ergebnis eine neue Variable erstellt. Diese neu erstellte Variable habe ich dann als Value für die Visu genommen. Dadurch bekomme ich anstatt 2550 den Wert 25,5 angezeigt.
 
Äh, hast Du Dir meinen Beitrag überhaupt durchgelesen? Erstens MOVE (s. Link) wandelt keine Zahlen um, sondern weist den Wert der Eingangsvariable einer Ausgangsvariable zu, eventuell mit impliziter Typkonvertierung, aber sowas sollte man vermeiden, daher erwähnte ich DINT_TO_LREAL. Zweitens entspricht der DINT-Wert 2550 nicht 25,5°C, sondern 255,0°C, was, sollte das nicht dem erwarteten Messwert entsprechen, auf einen der von mir erwähnten Fehler hindeutet.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier noch kurz ein Beleg bezüglich meiner Aussage, dass 2550 NICHT 25,50°C, sondern 255,0°C entspricht, weil erzählen kann ich viel. Und wie gesagt, das richtige Thermoelement muss auch konfiguriert werden, standardmäßig ist Typ K konfiguriert.
EL3314.png
 
Was die Darstellung des Messwertes angeht muss ich mich korrigieren. Die EL3314 kann den Wert tatsächlich auch in 1/100° Schritten darstellen, dann wäre das Teilen durch 100 richtig, allerdings muss dies explizit konfiguriert werden, standardmäßig ist die Darstellung nämlich in 1/10°.
Was mir noch einfällt, warum arbeitest Du mit DINT, die EL3314 gibt die Messwerte doch als INT aus.
 
Zuletzt bearbeitet:
Was die Darstellung des Messwertes angeht muss ich mich korrigieren. Die EL3314 kann den Wert tatsächlich auch in 1/100° Schritten darstellen, dann wäre das Teilen durch 100 richtig, allerdings muss dies explizit konfiguriert werden, standardmäßig ist die Darstellung nämlich in 1/10°.
Was mir noch einfällt, warum arbeitest Du mit DINT, die EL3314 gibt die Messwerte doch als INT aus.

Kann ich dir gar nicht sagen warum der Datentyp DINT ist. Ich habe das Programm übernommen und arbeite Damit jetzt ein wenig Testweise. Aber du hast recht ausgegeben wird ein 16 Bit Signal.
 
Zurück
Oben