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 

Online-Messwertaufnahme ü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!

19.08.2006, 00:59
Beitrag #1

SchwindelInside Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 77
Registriert seit: Dec 2005

2012 pro
2005
EN


Deutschland
Online-Messwertaufnahme über RS232
<div align="left">Wunderschönen Abend,

ich habe eine Precitec CHR 150-N Sensor-Steuerung in dem die Signale vom Sensor digitalisiert werden.
Die digitalisierten Messwerte werden mit 115200 Baud über die RS232 an meinen Omniputer geschickt.
Ich habe eine Messrate von 1000 Hz eingestellt. Außerdem werden nach meinen Einstellungen jeweils 20 Messwerte ein und der selben Messgröße noch vor dem Absenden zu einem Mittelwert zusammengefasst, sodass die effektive Rate der gesendeten Messwerte nur noch 50 Hz betragen sollte. Die Messwerte werden als Datenpaketen über die RS232 verschickt. Die Datenpakete enthalten 2 verschiedene Messwerte, bestehend aus jeweils 5 Ziffern als ASCII-Zeichen, getrennt durch ein Komma. Also in der Form 12345,54321 . Zwischen jedem Datenpaket wird eine Wagenrücklauf und ein Zeilenvorschub (CRLF) gesendet. Das hab ich bei VISA konfigurieren als Abschlusszeichen angegeben.
Im Instr-Eigenschaftsknoten werden soviele Bytes auf dem Port angezeigt wie die Größe des Puffers angezeigt wurde also standartmäßig 4096. Aufgrund des Abschlusszeichens werden nur 13 Bytes einschließlich Abschlusszeichen gelesen. Das ist auch gut und so.
Die Messwerte kann ich auf dem LCD-Display der Sensorsteuerung sehen. Sobald ich die Probe aus dem Messbereich nehme, wird der Messwert "0". Deshalb sehe ich ob die richtigen Werte in meinem VI ankommen die auch gerade vom Sensor gemessen werden. Dies ist aber leider nicht der Fall. Und da liegt mein Problem.:
Offensichtlich liest Das VI das Datenpaket, das als nächstes im Puffer rumhängt. Ich möchte aber immer das Datenpaket auslesen, das gerade eben vom Sensor gekommen ist. Am besten wäre es dabei aber wenn im Dauerbetrieb alle Messwerte erfasst werden. Das sollte bei einer effektiven Messrate von 50 Hz und 13 Byte pro Datenpaket auf einem 500 Mhz P3 mit WinXP doch möglich sein. Oder? Ich möchte die Messrate auch nicht noch weiter reduziern, da das auch die Genauigkeit und Auflösung meiner Messung beinträchtigt. Die Puffergröße möchte ich auch nicht reduzieren, ich ja auch verschieden Steuerbefehle an die Sensor-Steuerung senden möchte und die Antworten darauf auslesen möchte. Diese sind zum Teil um einiges größer als ein Datenpaket. Ich muss dazu sagen, das zur gleichen Zeit noch kontinuierlich 8-Bit Signale über eine zweite seriellen Schnittstelle von einem anderen Gerät mit 9600 Baud ausgelesen werden. Das könnte zusätzliche Rechenleistung beanspruchen. Die Signale brauche ich aber für die richtige Beendigung des Messvorgangs.
Ob mein VI es nun schafft alle Messwerte online zu verarbeiten oder nicht, wie bekomme ich eine zum Sensor synchrone Messwertaufnahme hin?
Gibt es eine Möglichkeit den Puffer jedesmal zu löschen nach dem ein Datenpaket ausgelesen wurde?
Ich habe darüber hinaus die Möglichkeit zur Synchronisierung die Messung zu starten in dem ich einen Steuerbefehl sende. Die Antwort darauf wird immer mit "readyCRLF" abgeschlossen. Dannach sendet der Sensor sofort wieder Datenpakete. Oder ich sende den Befehl zur Fortsetzung der Messung. Dann sendet er auch sofort wieder ein neues Datenpaket.
Im Übrigen möchte ich nicht all das in einem einzigen VI realisieren. Das VI für die Initialisierung und Konfiguration der seriellen Schnittstelle soll möglichst nur einmal beim Start der Anwendung aufgerufen werden. Wenn ich die Messung starte soll das VI ablaufen, dass die Synchronisationsbefehl sendet. Dannach sollen bis zum Abbruch alle Messwerte verarbeitet, im Diagramm angezeigt und in einen Array gespeichert werden. Das VIs für die beiden letztgenannten Funktionen spar ich mir hier, da die an sich bei mir funktionieren.
Die Abruchbedingung für die Beendigung der Messwertaufnahme soll, wenn es möglich ist, von einen anderen VI aus erfolgen, das aber nicht von dem Mess-VI selbst augerufen wird. Ich habe gelesen das soetwas über Objekt-Referenzen möglich ist. Ich stelle mir das wie eine Art Pointer in C++ oder Pascal vor. richtig? Das wäre eine tolle Sache aber ich komme damit in LV noch nicht so ganz klar. Der Abbruch soll allerdings nicht durch ein Bedienelement ausgelöst werden, sondern durch das interne Setzen einer Variable. Ich möchte auch möglichst vermeiden zusätzlichen Speicher für globale Variablen zu reservieren und Rechenleistung für deren Setzen innerhalb einer Schleife zu beanspruchen. Wenn ich eine Referenz an ein SubVI übergebe weiß LV nicht welcehen Datentyp der referezierte Wert hat und zeigt deshalb eine fehlerhafte Verbindung zum Eigenschaftsknoten an.
Wie kann ich das nun alles realisieren?
Ich wäre sehr dankbar, wenn mir jemand helfen könnte.

eine traumhafte Nacht wünsch ich
SchwindelInside


Sonstige .vi  Sensor_initialisieren.vi (Größe: 23,8 KB / Downloads: 402)


Sonstige .vi  Sensorempfaenger.vi (Größe: 30,78 KB / Downloads: 354)


Sonstige .vi  Sensormesstart.vi (Größe: 21,04 KB / Downloads: 360)

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


Nachrichten in diesem Thema
Online-Messwertaufnahme über RS232 - SchwindelInside - 19.08.2006 00:59

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Servomex Messwerte auslesen über RS232/RS485 Chefkoch 6 10.218 18.07.2016 13:54
Letzter Beitrag: jg
  problem mit LF (0x0A) über RS232 klaus_at 7 7.061 20.11.2013 13:34
Letzter Beitrag: klaus_at
  Labview-Kommunikation mit Jumo über RS232 redhand 35 38.157 28.10.2013 09:45
Letzter Beitrag: GerdW
  Keithley K2000 über RS232 auslesen Alpenpower 6 14.884 09.09.2013 07:55
Letzter Beitrag: GerdW
  Kraftprüfmaschine von Zick/Roell über RS232 steuern 1johleh 24 37.234 20.12.2012 19:31
Letzter Beitrag: Tobi2012
  Keine Daten kommen an vom Hameg 8115 über VISA RS232 USB fsg4u 3 6.413 09.08.2012 14:33
Letzter Beitrag: fsg4u

Gehe zu: