LabVIEWForum.de
Hängende Werte bei Temperaturregler - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Hängende Werte bei Temperaturregler (/Thread-Haengende-Werte-bei-Temperaturregler)



Hängende Werte bei Temperaturregler - Milch - 05.12.2012 13:38

Hallo,

ich habe ein recht einfaches Testprogramm geschrieben, das mir jede Sekunde einen Temperaturwert eines Eurotherm 3216-Reglers in einem Array tabelliert. Es fragt die aktuelle Temperatur über RTU-Modbus ab. Normalerweise werden Strings (im Hex-Format) wie 0103 0200 C578 17 als Antwort auf die Anfrage im Code übermittelt. Die Temeratur ist in diesem Fall 00 C5, also in Dezimalzahlen 197, bzw. in meinem speziellen Fall, da die Regler so eingestellt sind, 19,7°C.
In der ungefähren Umgebung von 2560, also 256,0°C wird nur noch eine verkürzte Antwort gesendet, nämlich: 0103 020A
Es fehlen also 3 Byte.
Hat jemand eine Ahnung, ob das an meinem LabVIEW-Code liegt, oder vielleicht am Regler? Ich weiß im Moment nicht weiter.

Danke schonmal,
Andi


RE: Hängende Werte bei Temperaturregler - jg - 05.12.2012 14:08

Schalte den "Termination Char" bei Configure Serial Port ab! So wie das aktuell konfiguriert ist, wartete VISA-Read entweder auf die Anzahl der Zeichen ODER auf den Termination Char und bricht dann das Lesen ab.

Gruß, Jens

P.S.:
Modbus-Lib auf ni.com, wenn es mal mehr als nur 1 Wert sein soll.


RE: Hängende Werte bei Temperaturregler - GerdW - 05.12.2012 16:22

Hallo Milch,

wenn du schon beim Verbessern bist:
Es ist nicht wirklich nötig, den seriellen Port in jedem Schleifendurchlauf erneut zu initialisieren und zu schließen. Sowas macht man je einmal außerhalb der Schleife!


RE: Hängende Werte bei Temperaturregler - Milch - 05.12.2012 16:58

Hallo,

danke für den Hinweis! Wenn man "A" als Termination Chart einstellt, dann ist nach "A" schluss. Da hätte ich auch selbst drauf kommen können. Und bei meinem richtigen Programm ist Initialisierung und Schließen auch nicht mit in der Ausleseschleife.

Andi


RE: Hängende Werte bei Temperaturregler - flasch - 13.08.2013 15:17

Hallo,

ich beschäftige mich gerade zum ersten Mal mit Modbus. Ich habe einen Eurotherm Regler 3508 den ich zumindest den Sollwert vorgeben möchte. Soweit ich weis muss ich dem Regler einen Hex-Code (im Datentyp String) senden. Jedoch finde ich nirgends eine Anleitung welchen Hex-Code ich ihm senden muss damit ich den Sollwert oder dergleichen vorgeben bzw. die Ist-Temperatur auslesen kann.

Du sendest dem Regler folgenden String: 0103 0001 0001 D5CA

Wie kommst du zu diesem String bzw. wie ist diese Message aufgebaut?


Lg[/quote]


RE: Hängende Werte bei Temperaturregler - jg - 13.08.2013 15:25

NI hat dir zum Glück die Arbeit schon abgenommen und das Modbus-Protokoll hier implementiert:
http://sine.ni.com/nips/cds/view/p/lang/en/nid/201711
Ganz aktuell gibt es hier eine (vorläufige) Überarbeitung:
https://decibel.ni.com/content/docs/DOC-30140

Gruß, Jens