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 

Fraktionssammler



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!

12.10.2013, 16:52 (Dieser Beitrag wurde zuletzt bearbeitet: 12.10.2013 17:11 von Orbaxx.)
Beitrag #1

Orbaxx Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Sep 2013

2012SP1f4
2013
DE

13189
Deutschland
Fraktionssammler
Hallo liebe LVF-Gemeinde,

zuerst möchte ich mal ein DANKE an euch loswerden. Ich Grünschnabel habe durch euch schon einige Sachen in meinem Projekt lösen können, wie zum Beispiel die Kommunikation über serielle Schnittstellen oder die Konvertierung von Strings.

Jetzt zu meinem Projekt welches ich in LabVIEW 2012 SP1 f4 umsetze: lv12_img

Ich möchte mit Hilfe einer Relaiskarte die an COM1 angeschlossen ist und 2 KERN Waagen die an COM2 und COM3 angeschlossen sind einen Fraktionssammler schreiben der sich folgendermaßen verhalten soll:

Gefäß für die 1. Fraktion auf Waage 1 läuft bis zu einer bestimmten Gewichtsgrenze (als Testdatum 10g) voll und es wird dann ein Schlauchquetschventil über die Relaiskarte geschalten, sodass dann ein Gefäß für die 2. Fraktion auf Waage 2 bis zu einer neuen Gewichtsgrenze (auch als Test 10g) volllaufen kann. Das Ventil wird dann geschlossen sodass die 3. Fraktion in ein Gefäß läuft das sich wieder auf Waage 1 befindet (bis zur Gewichtsgrenze 30g). Ventil wird wieder geschalten sodass die 4. Fraktion in ein Gefäß das sich wieder auf Waage 2 befindet laufen kann (bis zur Gewichtsgrenze 50g).

Was bereits funktioniert ist die Kommunikation mit den Waagen (VISA, Befehl an Waage schicken Daten zu senden, zurückgelieferten String lesen und den String so manipulieren, dass ich daraus ein INT/DBL mache um Vergleichsoperationen durchführen zu können) und das Öffnen und Schließen des Ventils über die Relaiskarte.

In meinem VI hat es bisher immer nur geklappt die 1. Fraktion und die 2. Fraktion erfolgreich zu sammeln, die 3. und 4. Fraktion lassen sich nicht korrekt sammeln, weil leider die Abbruchbedingung der 1. und 2. Fraktion greifen und die 3 Fraktion bei 10g und die 4. Fraktion bei 10g endet.

Ich habe bei der Lösung meiner vorherigen Probleme immer wieder den Leitspruch "THINK DATAFLOW" gelesen aber irgendwie stell ich mich zu dumm an bzw. habe das Datenflussprinzip in LabVIEW noch nicht wirklich verinnerlicht... In meinen Büchern die ich hier vor mir zu liegen habe stand dazu auch ein treffendes Zitat: "Die Parallelität der Abarbeitung ist hier kein Segen, sondern ein "Fluch"." Confused

Erläuterungen zu den VIs & SubVIs:

Main.vi - Hier sollen die Berechnungen stattfinden die durch die Bedienfelder vorgegeben wurden und dann soll das Programm sequentiell abgearbeitet werden.

Waage1_auslesen.vi & Waage2_auslesen.vi - nutze ich als SubVI zum Senden von Befehlen an die Waagen und zum Empfangen der zurückgelieferten Strings, die Strings werden dann auch gleich so manipuliert, dass ich Zahlenwerte erhalte.

Waage1_tarieren.vi & Waage2_tarieren.vi - hier wird der Befehl zum Tarieren an die Waage gesendet

Relaiskarte_initialisieren.vi - Initialisiert die Relaiskarte

Relais_schalten.vi - Beinhaltet den Befehl zum Schalten des Relais an dem ein Ventil angeschlossen ist

Relais_schließen.vi - Beinhaltet den Befehl zum Schließen des Relais an dem ein Ventil angeschlossen ist

Meine Fragen:

Wie bekomme ich es hin, dass die 3. Fraktion und die 4. Fraktion nicht durch die Abbruchbedingung der 1. und 2. Fraktion unterbrochen wird? Denn eigentlich soll die 3. Fraktion bis 30g und die 4. Fraktion bis 50g laufen, das habe ich auch im Vergleichsoperator Größer? so eingebunden... Ich habe schon die Funktionen "Bedingte Deaktivierungsstruktur" oder "Diagrammdeaktivierungsstruktur" gesehen, könnten die bei meinem Problem zielführend sein? Oder muss ich eventuell eine Zeitgesteuerte Struktur in Betracht ziehen?

Eine andere aber nicht so wichtige Sache ist: Ich habe versucht mit dem Vergleichsoperator Gleich? diese Abfragen zu steuern aber wenn ich Gleich? benutze läuft irgendetwas schief und die Fraktion wird nicht bei 10g gestoppt sondern läuft fröhlich weiter. Habe aber extra darauf geachtet, dass die Werte vom selben Typ (DBL) sind. Wenn ich Größer? oder Kleiner? benutze klappt es aber... Hat das etwas mit der Funktion "Muster suchen" oder "Dezimal-String nach Zahl" in meinen SubVIs Waage1_auslesen.vi & Waage2_auslesen.vi zu tun?

Ich danke schon jetzt für die Mühe und etwaige Tipps zur Lösung bzw. Verbesserung meines VIs!!!

Einen freundlichen Gruß,

Orbaxx


0.0 .zip  MainLLB_lv_2012.zip (Größe: 84,03 KB / Downloads: 351)


EDIT: Eine Frage noch, die ich vergessen habe zu stellen: Kann man bei der Funktion "Muster suchen" in den regulären Ausdruck mehrere reguläre Ausdrücke suchen lassen? In meinem Fall ist es so, dass die Waage ja auch negative Werte anzeigen kann aber das umgehe ich aktuell weil ich im beim Muster suchen [0-9]+ angegeben habe um im String nur die Zahlenwerte suchen zu lassen. Das ist eigentlich auch zielführend aber wenn man das befüllte Gefäß von der Waage nimmt wird der eigentlich negative Wert als positiver Wert angezeigt und der würde ja den Programmablauf stören... Allerdings kann ich dann bestimmt den String nicht zu einer Zahl konvertieren wenn das "-"-Zeichen vorangestellt wäre oder?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
Fraktionssammler - Orbaxx - 12.10.2013 16:52
RE: Fraktionssammler - Orbaxx - 13.10.2013, 16:37
RE: Fraktionssammler - GerdW - 13.10.2013, 17:09
RE: Fraktionssammler - Y-P - 13.10.2013, 20:04
RE: Fraktionssammler - GerdW - 14.10.2013, 09:16
RE: Fraktionssammler - Orbaxx - 14.10.2013, 21:02
RE: Fraktionssammler - Y-P - 15.10.2013, 06:57
RE: Fraktionssammler - GerdW - 15.10.2013, 08:27

Gehe zu: