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 

Zwei VI's verbinden



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!

21.09.2017, 16:30
Beitrag #1

masch_18 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Sep 2017

LV 13
2015
EN

36251
Deutschland
Zwei VI's verbinden
Hallo alle zusammen,
Da ich ein Neuling in LV bin, hoffe ich, dass ihr mir sagen könnt, ob das überhaupt möglich ist und mir gegebenfalls ein paar Lösungstipps geben könnten.

Ich will zwei VI’s verbinden bzw. abhängig voneinander machen. Dabei lese ich mit VISA mittels eines Thermoelement-Modul Temperaturen aus. Vereinfacht würde ich das über das Modbus Serial Example Master.vi machen, wo mir die Temperaturen ausgegeben werden.
Zusätzlich wird ein Julabo Thermostat F32 MA über ein firmeneigenes VI gesteuert, wo man die Settemperatur per Hand einstellen kann. Beide funktionieren einzeln auch.

Nun möchte ich die beiden verbinden. Die Settemperatur soll sich in Abhängigkeit von der Thermoelement-Temperatur selbstständig ändern. Wenn die Thermoelement-Temperatur steigt, soll sich die Settemperatur selbstständig verringern gegebenfalls andersrum.
ZB. im Temperaturbereich der Thermoelemente von 20-30 soll die Settemperatur 40 betragen.
Bei einem Temperaturbereich von 30-40 soll sich die Settemperatur veringern.

Hoffe ihr versteht mein Problem.

Vielen Dank im Voraus!
Gruß Markus


Angehängte Datei(en) Thumbnail(s)
           
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.09.2017, 18:39
Beitrag #2

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Zwei VI's verbinden
Hallo Markus,

Wenn ich das richtig verstanden habe, möchtest du zwischen 2 VIs kommunizieren. Das macht man im Normalfall über Melder oder Queues oder im einfachsten Fall mit globalen Variablen.



Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.09.2017, 09:09
Beitrag #3

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Zwei VI's verbinden
Hallo Markus,
wo ist den die Änderung der Settemperatur?
In dem VI beeinflusst die Settemp. ein unbekanntes VI aber nur wenn die Settemp. sich geändert hat.
Wo ist der Einfluss des Thermoelements?

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.09.2017, 13:02
Beitrag #4

masch_18 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Sep 2017

LV 13
2015
EN

36251
Deutschland
RE: Zwei VI's verbinden
Die Änderung der Settemperatur geschieht normalerweise über das FP per Handeingabe.

Ich glaube, wenn ich das gesamte System kurz erkläre wird es deutlicher. Ich habe eine Prüfkammer, in der eine konstante Temperatur hergestellt werden soll.
Geheizt bzw gekühlt wird die Kammer über ein Julabo Wärmeumwälzthermostat, welches durch einen Schlauch (liegt in der Prüfkammer) warmes Wasser pumpt.
Leider hat dieses Thermostat keinen externen Temperaturfühler.
Zusätzlich ist ein Thermoelement in der Kammer angebracht, welches über ein Modul die Temperaturen mir ausgibt.

Theoretisch könnte ich bei erreichter Prüfkammertemperatur per Hand die Settemperatur des Thermostats herunterstellen. Jedoch wäre das sehr umständlich.
Eine Art Beziehung wäre am einfachsten.
Sprich:
wenn die Kammertemperatur über 38 °C steigt, dann verringere die Settemperatur von 80 °C auf 75°C
Ab 39 °C Kammertemperatur, von 75°C auf 70°C. Und so weiter. Eine Art Regler, wo ich eine Tabelle erstelle. Temperaturbereiche des Thermoelements welches eine zugehörige Settemperatur besitzt.

Die Frage ist, ob das generell möglich ist, und wie ich das klügsten hinbekomme.

Vielen Dank schon mal!


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.09.2017, 14:15
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Zwei VI's verbinden
Hallo Markus,

Zitat:Eine Art Beziehung wäre am einfachsten. Sprich: wenn die Kammertemperatur über 38 °C steigt, dann verringere die Settemperatur von 80 °C auf 75°C
Ab 39 °C Kammertemperatur, von 75°C auf 70°C. Und so weiter. Eine Art Regler, wo ich eine Tabelle erstelle. Temperaturbereiche des Thermoelements welches eine zugehörige Settemperatur besitzt.
Die Frage ist, ob das generell möglich ist, und wie ich das klügsten hinbekomme.
Einfach einen PID-Regler benutzen, der den Sollwert an die Regelgröße anpasst…

Alle Funktionen in eine Schleife packen:
- Messwertabfrage von deinem Thermoelement
- Messwert und Sollwert in den PID-Regler
- mit passenden Gain-Werten erzegt der PID-Regler einen Stellwert
- den Stellwert an deinen Thermostaten ausgeben

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.09.2017, 12:06
Beitrag #6

masch_18 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Sep 2017

LV 13
2015
EN

36251
Deutschland
RE: Zwei VI's verbinden
Danke schon mal für die Antworten!Guru1

Julabo besitzt schon einen hauseigenen PID-Regler. Jedoch ist der normalerweise nur für Geräte, die einen externen Temperatursensor besitzen. Theoretisch könnte man den ja benutzen. Nur das sich das Programm die externe Temperatur von dem Reading Register vom MB Serial Example Master von dem Thermoelement nimmt.
Jedoch weiß ich echt nicht, wie man das am einfachsten macht. Theoretisch könnte man ja in dem Julabo Programm sowieso die Reading Input Register auslesen lassen und die externe Temperaturabfrage direkt beziehen oder?

Gruß,
Markus


Angehängte Datei(en) Thumbnail(s)
               
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.10.2017, 10:58
Beitrag #7

masch_18 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Sep 2017

LV 13
2015
EN

36251
Deutschland
RE: Zwei VI's verbinden
Ich hänge jetzt schon länger an dem Problem. Jedoch funktioniert es immer noch nicht richtig. Ich habe die beiden VI's mal hochgeladen in der Hoffnung, dass ihr mir sagen könnt, wo mein Denkfehler liegt. Angry

Über die Temperaturmessung.vi lasse ich mir die Temperaturen in DBL-Werten ausgeben. Davon soll einer der DBL-Werte( untere Raumtemperatur) an den Port von dem Julabo-Umwälzthermostat übergeben werden. Das Thermostat wird dabei von dem AdvancedProgram.vi gesteuert, wo ein PID-Regler dabei ist. Bei dem AdvancedProgram.vi wird normalerweise die externe Temperatur über das interne Get ExternalTemp.vi über einen Temperatursensor ausgelesen, der bei diesem Julabo-Gerät aber nicht verfügbar ist.
Nun habe ich versucht, durch ersetzen des Get ExternalTemp.vi einfach das Problem zu umgehen, und den externen DBL-Wert einzuspeisen. Jedoch wird wir immer ein Fehler bei dem Get ControlMode.vi angezeigt. Da liegt das Problem, dass man entscheiden soll ob das Thermostat über die interne oder externe Temperatur geregelt werden soll. Der Fehler liegt daran, dass es aus einem Port nur liest und somit ja ein Fehler auftritt.

Auch der Versuch komplett die Get ControlMode.vi herauszulassen um nur die Möglichkeit über die externe Temperatur zu regeln hat nicht funktioniert.

Ich bin echt am verzweifeln. Hoffe ihr könnt mir Tipps geben. Wäre schön zu wissen, ob das überhaupt funktionieren kann oder ich die ganze Arbeit umsonst mache Blush


Angehängte Datei(en)
13.0 .vi  Einbindung externe Temp.vi (Größe: 145,87 KB / Downloads: 233)

13.0 .vi  Temperaturmessungen.vi (Größe: 80,53 KB / Downloads: 276)

8.2 .vi  AdvancedProgram.vi (Größe: 128,07 KB / Downloads: 260)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.10.2017, 15:34 (Dieser Beitrag wurde zuletzt bearbeitet: 10.10.2017 15:35 von Freddy.)
Beitrag #8

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Zwei VI's verbinden
Hallo Markus,
ein unschöne Programmierung ist in einem VI zwei Ereignisstrukturen zu haben (Einbindung externer Temp.vi).
Der zweite Punkt, die zweite (oben) Ereignisstruktur starte erst, wenn die Untere beendet wurde. Da wird die Kontrolle der Ereignisse etwas schwierig. Außerdem wird nur der letzte Wert übergeben. Warum dann eine Timeout Funktion? Du berechnest alle x Sekunden und nimmst dann doch nur den letzten Wert.
Der Timeout wurde mit einer nummerischen Eingabe belegt. Du musst aber dann die Zahl vor belegen, sonst sind das 0 Sekunden. Ich meine ein etwas zu schneller Timout.

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.10.2017, 10:26
Beitrag #9

masch_18 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Sep 2017

LV 13
2015
EN

36251
Deutschland
RE: Zwei VI's verbinden
Danke schon mal für den Tipp. Wenn ich es in eine Ereignisstruktur mache, läuft es wesentlich besserAngel_not

Ich hänge trotzdem noch daran, die externe Raumtemperatur in das Julabo Programm zu integrieren.
Das Problem müsste in dem unter VI liegen. Dabei wird die Temperatur in Get ExternalTemp1.vi mit dem Befehl in_pv_02 angefordert und über den PT100-Sensor ausgemessen (ReadfromComPort1.vi) und an das Thermostat übergeben. Nun die Frage ob ich die über mein Thermoelement gemessene Temperatur (untere Temperatur.vi) an den Thermostat anstatt der selbst ausgelesenen Bytes übertragen kann?

Ich hänge mal die 3 VI's an in der Hoffnung jemand kann mir helfenBlush

Gruß,
Markus


Angehängte Datei(en)
13.0 .vi  Read from COM Port1.vi (Größe: 13,23 KB / Downloads: 260)

13.0 .vi  untereTemperatur.vi (Größe: 21,82 KB / Downloads: 246)

13.0 .vi  Get ExternalTemp.vi (Größe: 20,15 KB / Downloads: 204)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.10.2017, 10:43
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Zwei VI's verbinden
Hallo masch,

Zitat:Dabei wird die Temperatur in Get ExternalTemp1.vi mit dem Befehl in_pv_02 angefordert und über den PT100-Sensor ausgemessen (ReadfromComPort1.vi)
???
In GetExternalTemp wird ein Temperaturwert vom Julabo gelesen, im ReadFromComPort wird auch ein Wert gelesen.
In beiden VIs wird ein Wert gelesen - wie hängen die beiden zusammen?

Zitat:und an das Thermostat übergeben.
Wo genau geschieht das?

Zitat:Nun die Frage ob ich die über mein Thermoelement gemessene Temperatur (untere Temperatur.vi) an den Thermostat anstatt der selbst ausgelesenen Bytes übertragen kann?
Wahrscheinlich! Leider sieht man nirgends, wo du einen der beiden Messwerte an den Thermostat sendest…

Soweit ich sehe, hast du in "UntereTemperatur" doch schon ein Event, um Daten an dein Gerät zu schicken: würde es denn nicht sinnvoll sein, hier die passenden Werte zu versenden?

Ob dein Thermostat diese Werte akzeptiert und verarbeitet, sollte im zugehörigen Manual stehen: einfach mal lesen!

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


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  zwei Plots in einem X-Y Graphen mit zwei Achsen bachatero18 7 5.413 20.11.2019 15:06
Letzter Beitrag: Lucki
  Arrays verbinden ohne Auffüllen mit 0 Hachiko 5 6.129 27.02.2014 16:23
Letzter Beitrag: Hachiko
  Per VI Scripting mit Tunnel in While Schleife verbinden Tywin 2 5.534 19.06.2013 07:56
Letzter Beitrag: Tywin
  Case-Struktur mit mehreren Elementen verbinden BMTstudent 3 6.386 14.11.2010 17:50
Letzter Beitrag: Matze
  Array mit Case-Struktur verbinden matzimus 14 14.537 09.06.2010 11:07
Letzter Beitrag: matzimus
  zwei Arrays zu einem Array komplexer Zahlen verbinden tom200 6 7.561 11.05.2010 15:57
Letzter Beitrag: tom200

Gehe zu: