LabVIEWForum.de
RS 485 über VISA - Beschleunigung möglich? - 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: RS 485 über VISA - Beschleunigung möglich? (/Thread-RS-485-ueber-VISA-Beschleunigung-moeglich)



RS 485 über VISA - Beschleunigung möglich? - Riddler - 10.11.2015 16:15

Guten Tag zusammen,

ich habe eine Frage bezüglich der Geschwindigkeit einer VISA Operation.

Ich lese von einem Extruder über RS-485 Temperaturdaten aus (11 Zonen). Zusätzlich lese ich noch von 10 Zonen die Leistung der Heizelemente aus und von 9 Zonen die Leistung der Kühlelemente, sodass ich auf insgesamt 31 Befehle komme, die in einem Array durchlaufen werden. Das Ganze wird in einer While-Schleife kontinuierlich durchgeführt.
Für einen "Durchlauf" benötigt Labview knapp 1,6 Sekunden. Meine Frage ist nun, ob es möglich ist die Geschwindigkeit zu erhöhen. Ich würde gerne mit 1 Hz oder besser noch mit 2 Hz auslesen können. Baudrate kann nicht verändert werden, da der Extruder auch mit dem betreffenden Modul bei diesen Einstellungen kommuniziert.
Ich denke, dass es nicht am benutzten PC liegen kann, der nicht der Neueste ist?
Für eure Hilfe bin ich euch sehr dankbar!

Schöne Grüße
Riddler


RE: RS 485 über VISA - Beschleunigung möglich? - BNT - 10.11.2015 16:33

Die Daten müssen halt übertragen werden.

Da hilft nur die Baudrate zu erhöhen, wenn das Gerät das unterstützt.

Gruß Holger


RE: RS 485 über VISA - Beschleunigung möglich? - jg - 10.11.2015 17:04

Wieso arbeitest du mit aktiviertem "Termination Char" bei VISA-Read und dann doch mit einer Warte-Zeit zwischen Read & Write? Entweder hast du eine definiertes Abschlusszeichen bei der Antwort, dann kannst du das Warten dem VISA-Read überlassen, oder falls du kein Abschlusszeichen hast, dafür aber deine Antworten immer gleich lang sind, dann erledigst du es über die Anzahl der zu lesenden Zeichen. In beiden Fällen kannst du auf die Wartezeit verzichten, die laut deinen Angaben fast schon komplett für deine 1,6 Sekunden verantwortlich ist.

Trotzdem gilt weiterhin: Alleine das Schreiben deines ca. 25 Byte (soweit man das richtig abzählen kann) großen Kommandos braucht physikalisch ca. 6-7 ms. Dasselbe gilt beim Lesen. Dazu kommt die Verarbeitungszeit deiner Gegenstelle (Extruder). Insgesamt kannst du wahrscheinlich nur schneller werden, wenn es eine Möglichkeit gibt, mehrere Messwerte auf einmal von deinem Extruder abzuholen.

Gruß, Jens


RE: RS 485 über VISA - Beschleunigung möglich? - Riddler - 10.11.2015 18:25

Lieber Holger, lieber Jens,

vielen Dank für eure schnelle Hilfe!!!
Ich hatte gar nicht auf dem Schirm, dass das Termination Char aktiviert ist, wenn man es nicht manuell ausstellt. Weiterhin habe ich nicht beachtet, dass die Wartezeit ja für jeden der 30 Lesevorgänge gilt :-(
Nach Entfernung der Wartezeit dauert das Ganze nun knapp unter einer Sekunde, was schonmal super ist. Komischerweise waren dann die 30 x 50 ms Wartezeit doch nicht komplett für die Dauer verantwortlich.

Vielen Dank nochmal

Grüße, Riddler


RE: RS 485 über VISA - Beschleunigung möglich? - Lucki - 11.11.2015 15:45

(10.11.2015 17:04 )jg schrieb:  Dazu kommt die Verarbeitungszeit deiner Gegenstelle (Extruder). Insgesamt kannst du wahrscheinlich nur schneller werden, wenn es eine Möglichkeit gibt, mehrere Messwerte auf einmal von deinem Extruder abzuholen.
Man könnte ja mal versuchen, Senden und Empfangen in parallellen Schleifen zu organisieren. Dann müsste nicht jedes Mal die vollständige Reaktionszeit der Gegenstelle (bestehend aus Antwortverzögerung und -dauer) abgewartet werden, bis wieder ein neues Kommando gesendet werden kann. Die Antworten müssten kürzer sein als die Kommandos - wenn nicht, müssen beim Senden entsprechende Pausen gemacht werden.
Die Datenrate ließe sich dann mehr als verdoppeln.

Rein theoretisch kann man die Datenrate nochmals verdoppeln, wenn man auf die ASCII-Codierung der Daten verzichtet. D.h. ein Datenbyte wird direkt als das Byte gesendet was es ist und nicht als 2 HEX-Ziffern-Bytes 00..FF - oder sogar als 3 Dezimal-Ziffern 000..255. Dann stehen aber keine Steuerzeichen (wie Zeilende) mehr zur Verfügung, was die Synchronisation erschwert. Aber hier wird der Extruder dieses andere Protokoll wahrscheinlich nicht haben.


RE: RS 485 über VISA - Beschleunigung möglich? - jg - 11.11.2015 16:18

Ist bei einem 2-Draht RS 485 (die häufigste RS 485 Umsetzung) schwierig bzw. nicht sinnvoll, da sie keine getrennten RX und TX Leitungen hat.

Gruß, Jens


RE: RS 485 über VISA - Beschleunigung möglich? - Lucki - 11.11.2015 19:18

(11.11.2015 16:18 )jg schrieb:  Ist bei einem 2-Draht RS 485 (die häufigste RS 485 Umsetzung) schwierig bzw. nicht sinnvoll, da sie keine getrennten RX und TX Leitungen hat.

Was heißt hier schwierig: es ist dann unmöglich Mein Vorschlag hätte natürlich nur bei echtem Duplexbetrieb eine Chance.
Gruß Ludwig