INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Labview-Kommunikation mit Jumo über RS232



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

25.10.2013, 14:27
Beitrag #31

redhand Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 112
Registriert seit: Sep 2013

2013
2013
DE


Deutschland
RE: Labview-Kommunikation mit Jumo über RS232
(25.10.2013 13:14 )jg schrieb:  Entschuldige die harten Worte, aber das ist doch jetzt "Blödsinn". Dein VI passt jetzt zufällig genau auf das 1 Bsp. im Dokument, nämlich auf die Abfrage der 2 Sollwerte auf Adresse 0x3100 und 0x3102. Und selbst hier hast du einen Fehler, die Rückmeldung ist 13 Byte lang, nicht 12.
Was machst du, wenn du 8 Register abfragen willst? Dein VI wird nicht funktionieren.

Harte Worte sind kein ThemaWink
Ich will auch garkeine 8 Register abfragen. Ich will zunächst mal eines richtig auswerten!
Dein VI funktioniert und liefert auch die selben Werte die ich mir über einen Konverter außerhalb von LI "von Hand" berechnen. Vermutlich stimmt dann innerhalb des Jumo etwas nicht.

(25.10.2013 13:18 )GerdW schrieb:  also wirklich...

Wenn du weiterhin auf die ModBus-VIs verzichtest, musst du halt selbst die passenden Bytes aus dem String ausschneiden und per TypeCast (wie schon mehrfach gezeigt und erläutert) in ein FLOAT aka SGL umwandeln!

Das sollte doch nun wirlich nicht so schwer sein nach all den Erläuterungen! Oder sollen wir hier für dich die dafür nötigen 3 oder 4 Funktionen in dein VI programmieren?
Ich erwarte nicht das mir jemand etwas programmiert, keine SorgeWink
Ich bin nur immernoch ein Neuling auf dem Gebiet und versuche mich durchzukämpfen.
Du kennst bestimmt auch das Zitat:"Nicht der, der fragt ist der Dumme, sondern der, der nicht fragt";)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.10.2013, 16:02 (Dieser Beitrag wurde zuletzt bearbeitet: 25.10.2013 16:03 von redhand.)
Beitrag #32

redhand Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 112
Registriert seit: Sep 2013

2013
2013
DE


Deutschland
RE: Labview-Kommunikation mit Jumo über RS232
Zum Abschluss hier: Juhu ich habs Dance2
Ich hab das richtige Register gefunden und es geht, erstmal vielen Dank euch!! Anniemacht_2

Noch etwas zum Schluss weil ich es auch verstehen will:

Jens, du benutzt zur Umwandlung 1D-Array dezimieren -> 1D-Array überführen -> TypeCast (siehe Bild)
Was machen (vorallem die ersten 2 Elemente) mit dem Array. Lesen sich die VI's intelligent genau die Teile des Antwortstrings heraus welche ausgewertet werden müssen oder wie muss ich mir das vorstellen?
Und wie bekomme ich die "Holding String"-Konstante über dem Umwandler hin?

Das Register womit es jetzt funktioniert, funktioniert wie das Register mit der Adresse 0x3100 aus deiner Beispiellösung. Also 2 Werte sind aus dem Antwortstring zu entnehmen.

Vergleiche ich den Antwortstring des Registers womit es jetzt funktioniert (Analogeingang) mit dem Register, mit dem ich die ganze Zeit gearbeitet habe (Istwert), bekomme ich den selben Hex-Code als Antwort. (In meinem VISA-VI, wo ich den Hex-Code "von Hand" auswerten muss)

Wieso bekomme ich, wenn ich den Teil des Strings, welcher mir meinen Wert liefert, via IEE754 in einen Dezimalwert übersetzte nicht den selben Wert wie du in deinem VI?

Außerdem frage ich mich, warum das eine Register (mit dem es jetzt geht) in deinem VI richtig ausgelesen wird aber das andere, welches eigentlich die gleiche Hex-Antwort liefert nicht?
Beide Register sind Datentyp Float. Register mit dem es geht: Zugriff R/O; Anderes Register: Zugriff: W/O

Danke und schönes Wochenende Wink


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.10.2013, 16:30
Beitrag #33

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Labview-Kommunikation mit Jumo über RS232
(25.10.2013 16:02 )redhand schrieb:  Zum Abschluss hier: Juhu ich habs Dance2
Ich hab das richtige Register gefunden und es geht, erstmal vielen Dank euch!!
Aha, das ist jetzt das erste Mal, dass du erwähnst, dass du eigentlich ein anderes Register als in der Doku auslesen willst. Und da wunderst du dich, dass du andere Werte als im Display des Jumo siehst. Box
Der Vollständigkeit halber, welche Register-Adresse fragst du ab?

(25.10.2013 16:02 )redhand schrieb:  Jens, du benutzt zur Umwandlung 1D-Array dezimieren -> 1D-Array überführen -> TypeCast (siehe Bild)
Was machen (vorallem die ersten 2 Elemente) mit dem Array. Lesen sich die VI's intelligent genau die Teile des Antwortstrings heraus welche ausgewertet werden müssen oder wie muss ich mir das vorstellen?
Lies dir die Hilfe zu den "Array"-VIs durch. Das kaue ich jetzt nicht vor.

(25.10.2013 16:02 )redhand schrieb:  Und wie bekomme ich die "Holding String"-Konstante über dem Umwandler hin?
Meinst du das "Single-Array" am Anschluß vom Typecast? Leeres Array anlegen. Dann eine Numeric-Konstante reinlegen. Dann Datentyp von Double auf Single ändern. Hast du schon die Links in Gerds Signatur gesehen?

(25.10.2013 16:02 )redhand schrieb:  Das Register womit es jetzt funktioniert, funktioniert wie das Register mit der Adresse 0x3100 aus deiner Beispiellösung. Also 2 Werte sind aus dem Antwortstring zu entnehmen.
Logisch, ein FLOAT Wert muss in 2 Registern übertragen werden.
(25.10.2013 16:02 )redhand schrieb:  Vergleiche ich den Antwortstring des Registers womit es jetzt funktioniert (Analogeingang) mit dem Register, mit dem ich die ganze Zeit gearbeitet habe (Istwert), bekomme ich den selben Hex-Code als Antwort. (In meinem VISA-VI, wo ich den Hex-Code "von Hand" auswerten muss)

Wieso bekomme ich, wenn ich den Teil des Strings, welcher mir meinen Wert liefert, via IEE754 in einen Dezimalwert übersetzte nicht den selben Wert wie du in deinem VI?
Glas1 Mal schauen .... Mist, Glas2 Kugel kaputt, ich habe leider keine Ahnung, was du ausgelesen hast und was du übersetzt hast.
(25.10.2013 16:02 )redhand schrieb:  Außerdem frage ich mich, warum das eine Register (mit dem es jetzt geht) in deinem VI richtig ausgelesen wird aber das andere, welches eigentlich die gleiche Hex-Antwort liefert nicht?
Beide Register sind Datentyp Float. Register mit dem es geht: Zugriff R/O; Anderes Register: Zugriff: W/O
s.oben, ich habe keine Ahnung, mit welchen Registern du rumgespielt hast. R/O = Read-Only, hier musst du also mit Function 3 oder 4 (Read Input oder Read Holding Register) arbeiten. W/O = Write-Only, das Register lässt sich nicht lesen, sondern kann nur per Funtion Code 6 (bzw. 10) (Write Multiple Register) geschrieben werden.

Gruß, Jens

P.S.: Es ist löblich, Fragen zu stellen und auch das Protokoll zu verstehen. Aber etwas Eigeninitiative beim Nachlesen, was LabVIEW-Funktionen machen und vollständige Fragestellungen sind ebenso löblich.

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.10.2013, 09:38 (Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2013 09:41 von redhand.)
Beitrag #34

redhand Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 112
Registriert seit: Sep 2013

2013
2013
DE


Deutschland
RE: Labview-Kommunikation mit Jumo über RS232
(25.10.2013 16:30 )jg schrieb:  Aha, das ist jetzt das erste Mal, dass du erwähnst, dass du eigentlich ein anderes Register als in der Doku auslesen willst. Und da wunderst du dich, dass du andere Werte als im Display des Jumo siehst. Box
Der Vollständigkeit halber, welche Register-Adresse fragst du ab?
Ich wusste ja nicht welches Register ich auslesen muss, dass ich die Werte auf dem Display sehe, deshalb musste ich rumprobieren.
Die Register-Adresse mit der ich jetzt die Display-Werte sehe ist: Signalbezeichnung: Analogeingang1: 0x0035 (FLOAT; R/O)
Wobei ein Wert die aktuelle Temperatur darstellt, wie auf dem Display. Der andere Wert ist konstant 200001.

(25.10.2013 16:30 )jg schrieb:  Lies dir die Hilfe zu den "Array"-VIs durch. Das kaue ich jetzt nicht vor.
Ich hatte nur gefragt weil ich es nicht 100% verstanden habe. Ich versuch mir schon alles durchzulesen und es selbst herauszubekommen bevor ich überhaupt hier frage.


(25.10.2013 16:30 )jg schrieb:  Meinst du das "Single-Array" am Anschluß vom Typecast? Leeres Array anlegen. Dann eine Numeric-Konstante reinlegen. Dann Datentyp von Double auf Single ändern. Hast du schon die Links in Gerds Signatur gesehen?
genau das, danke!

(25.10.2013 16:30 )jg schrieb:  Glas1 Mal schauen .... Mist, Glas2 Kugel kaputt, ich habe leider keine Ahnung, was du ausgelesen hast und was du übersetzt hast.

Über VISA kriege ich folgenden Hex-Code als Antwort des Registers 0x0035: 0103 08F0 5C41 B350
01 03 08 steht ja hier für: Slave-Adresse, Funktion und Anzahl gelesener Bytes.
F05C 41B3 muss ich dann in den Temperatur-Wert umkonvertieren.
Mittlerweile weiß ich, dass wenn ich 41B3 F05C (also genau umgekehrt) umwandle, den richtigen Temperatur-Wert bekomme. Warum das so ist, kp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.10.2013, 09:44
Beitrag #35

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Labview-Kommunikation mit Jumo über RS232
(28.10.2013 09:38 )redhand schrieb:  Über VISA kriege ich folgenden Hex-Code als Antwort des Registers 0x0035: 0103 08F0 5C41 B350
01 03 08 steht ja hier für: Slave-Adresse, Funktion und Anzahl gelesener Bytes.
F05C 41B3 muss ich dann in den Temperatur-Wert umkonvertieren.
Mittlerweile weiß ich, dass wenn ich 41B3 F05C (also genau umgekehrt) umwandle, den richtigen Temperatur-Wert bekomme. Warum das so ist, kp..
Weil das so in der Anleitung von Jumo steht! Hatten wir schon. Jumo überträgt/erwartet bei einem 4-Byte-Wert (also z.B. Single oder U32) zuerst das Low-Word und dann das High-Word, deshalb das Tauschen der Reihenfolge!

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.10.2013, 09:45
Beitrag #36

GerdW Offline
______________
LVF-Team

Beiträge: 17.399
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Labview-Kommunikation mit Jumo über RS232
Hallo redhand,

Zitat:Mittlerweile weiß ich, dass wenn ich 41B3 F05C (also genau umgekehrt) umwandle, den richtigen Temperatur-Wert bekomme. Warum das so ist, kp..
Warum das so ist? Das haben wir doch schon geschrieben:
- hier von Jens
- das steht garantiert auch in der ModBus-Dokumentation!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Question Codesys x LabView über OPC UA michl137 7 1.223 20.09.2023 07:18
Letzter Beitrag: MScz
  Kommunikation CP 342-5 und labView sonne und mond 4 2.783 15.03.2021 11:12
Letzter Beitrag: Martin.Henz
Question Ansteuern eines Binder Temperaturschranks über LabView ewiebe 6 9.017 11.04.2019 11:57
Letzter Beitrag: toaran_
  Servomex Messwerte auslesen über RS232/RS485 Chefkoch 6 8.041 18.07.2016 13:54
Letzter Beitrag: jg
  Kommunikation zwischen Labview und Bronhorst Massendurchflussregler durch VISA Atlaspremier 7 6.248 14.07.2016 15:51
Letzter Beitrag: Atlaspremier
  Kommunikation zwischen einer Pumpe und PC über VISA PatiPati 25 13.986 22.09.2015 21:21
Letzter Beitrag: GerdW

Gehe zu: