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 

Dieses Thema hat akzeptierte Lösungen:

zeitabhängiger Wert



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!

10.11.2011, 10:40
Beitrag #1

narrentanz Offline
LVF-Grünschnabel
*


Beiträge: 39
Registriert seit: May 2011

2009SP1
2011
DE_EN


Deutschland
zeitabhängiger Wert
Hallo.

Mein Problem ist das folgende: Ich will mit einer .vi zur Steuerung eines Thermostaten einen Temperaturverlauf fahren. Ich habe mir schon überlegt, eine .txt einlesen zu lassen, in der zeilenweise [bis Zeit] und [Temp.] drinstehen. Dann halt "gucke in die erste Zeile, stelle die Temp ein, vergleiche die Zeit. Gehe irgendwann zur nächsten Zeile".
Ich komme aber mit der Umsetzung keinen Schritt weiter. Kann mir jemand helfen, oder gibts einen anderen (besseren/einfacheren) Weg, einen Wert über die Zeit zu verändern?

Greetz,
Sjut
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.11.2011, 11:20 (Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2011 11:21 von M Nussbaumer.)
Beitrag #2

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: zeitabhängiger Wert
(10.11.2011 10:40 )narrentanz schrieb:  Hallo.

Mein Problem ist das folgende: Ich will mit einer .vi zur Steuerung eines Thermostaten einen Temperaturverlauf fahren. Ich habe mir schon überlegt, eine .txt einlesen zu lassen, in der zeilenweise [bis Zeit] und [Temp.] drinstehen. Dann halt "gucke in die erste Zeile, stelle die Temp ein, vergleiche die Zeit. Gehe irgendwann zur nächsten Zeile".
Ich komme aber mit der Umsetzung keinen Schritt weiter. Kann mir jemand helfen, oder gibts einen anderen (besseren/einfacheren) Weg, einen Wert über die Zeit zu verändern?

Greetz,
Sjut

Hallo Sjut

Du kannst ja deine Werte alle auf einmal einlesen und als Array speichern (ich würde ein Array of Cluster nehmen ist aber Geschmackssache).

Dann Zeit immer mit Zeit im Array vergleichen und falls sie >= ist das nächste Element auslesen.

Hoffe das hilft dir weiter!

Gruss Marc

Edit: Hast du dir auch schon überlegt wie du die Zeit angeben willst? Absolut (z.B. bis 12:30:00.000) oder Relativ( 30 Minuten ab letztem Element) ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.11.2011, 13:03
Beitrag #3

narrentanz Offline
LVF-Grünschnabel
*


Beiträge: 39
Registriert seit: May 2011

2009SP1
2011
DE_EN


Deutschland
RE: zeitabhängiger Wert
Jo, etwa so hatte ich das vor. Es scheitert nur dadran, dass ich mir 1. nicht sicher bin wie ich die Datei richtig einlese und zweitens keinen Schimmer habe, wie das Array entsprechend Zeilenweise mit Zeittaktung auslese.

Ich hab dann ja pro Zeile 2 Spalten, will gucken ob die erste < der Laufzeit ist und wenn das nicht mehr gegeben ist in die ächste Zeile gehen, und währenddessen jeweils die zweite Spalte an die T.Set für den Thermostaten geben.

Die Zeit wollte ich in Sekunden, vll auch Minuten ab Programmstart angeben. In Sekunden brauche ich das eh schon für 2 Speichervorgänge und habs daher fix und fertig drinliegen.

Gruß,
Sjut
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.11.2011, 13:20 (Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2011 13:21 von M Nussbaumer.)
Beitrag #4

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: zeitabhängiger Wert

Akzeptierte Lösung

Hallo Sjut

Über die Read Textfile Funktionen kannst du dir ja ganz einfach (3 VIs) den gesamten Inhalt des Textfiles als String ausgeben lassen. Diesen String muss man nur noch interpretieren, am besten über die Scan from String Funktion.

Hab dir mal ein Beispiel dazu zusammengeklickt:

9.0 .vi  Zeitgesteuert auslesen.vi (Größe: 10,44 KB / Downloads: 256)


Wie gesagt würde ich die Interpretation über ein Array of Cluster machen:

9.0 .vi  Zeitgesteuert.vi (Größe: 9 KB / Downloads: 204)


Hoffe das ganze hilft dir weiter, falls du Fragen zum Code hast kannst du diese gerne stellenSmile

Gruss Marc
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.11.2011, 13:30 (Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2011 13:32 von narrentanz.)
Beitrag #5

narrentanz Offline
LVF-Grünschnabel
*


Beiträge: 39
Registriert seit: May 2011

2009SP1
2011
DE_EN


Deutschland
RE: zeitabhängiger Wert
Danke!

Also. Datei öffnen, lesen, klar. Den String verarbeitet er in Schrittweise 2 DBL, die dann als Wert und Zeit gebündelt werden.
Aber wie kann ich ihm dann sagen, dass er erst Zeile eins ausließt, dann, wenn der Zeitstempel überschritten wurde, Wert zwei, usw, und jeweils den Wert noch nach draußen jagt? Ich hab einfach noch nie mit Clustern gearbeitet :/
Und beim Zeitwert hägt das Design ja nur davon ab, mit was ichs vergleiche, ich bin also nicht auf das von dir geschriebe Format angewiesen, oder?

Gruß,
Sjut

Edit: Habs grad mal ausprobiert, aber da kommt beim Output nichts raus. Hab einfach dein Format-Beispiel in eine .txt geschrieben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.11.2011, 13:38 (Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2011 13:41 von M Nussbaumer.)
Beitrag #6

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: zeitabhängiger Wert
(10.11.2011 13:30 )narrentanz schrieb:  Danke!

Also. Datei öffnen, lesen, klar. Den String verarbeitet er in Schrittweise 2 DBL, die dann als Wert und Zeit gebündelt werden.
Aber wie kann ich ihm dann sagen, dass er erst Zeile eins ausließt, dann, wenn der Zeitstempel überschritten wurde, Wert zwei, usw, und jeweils den Wert noch nach draußen jagt? Ich hab einfach noch nie mit Clustern gearbeitet :/
Und beim Zeitwert hägt das Design ja nur davon ab, mit was ichs vergleiche, ich bin also nicht auf das von dir geschriebe Format angewiesen, oder?

Gruß,
Sjut

Edit: Habs grad mal ausprobiert, aber da kommt beim Output nichts raus. Hab einfach dein Format-Beispiel in eine .txt geschrieben.

Nun im Prinzip mach ich im Auslesen VI nichts anderes als, wie du bereits richtig festgestellt hast, den Wert und die Zeit auszulesen. Das ganze wird dann in einem Array gespeichert.

Ein Cluster kannst du wie eine Struktur verstehen, falls dir das weiterhilft. Falls nicht hier noch ein bildliches Beispiel für das Array of Cluster:

Dein Wert ist ein weisser Spielstein und dein Zeitwert ist ein schwarzer Spielstein. Diese packst du zusammen in eine Schachtel (Cluster) und stapelst diese Schachteln auf die anderen. Dies solange bis keine Spielsteine mehr vorhanden sind.

Bei der Auswertung gehst du nun Schachtel für Schaltel "durch".

Die Auswertung ist im VI "Zeitgesteuert" zu finden welches ich angehängt habe.

Wegen dem auslesen schaue ich gleich noch mal

Gruss Marc

Edit: Bei mir funktioniert das auslesen, du darfst natürlich nur die Zahlenwerte eintragenTongue
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.11.2011, 13:42
Beitrag #7

narrentanz Offline
LVF-Grünschnabel
*


Beiträge: 39
Registriert seit: May 2011

2009SP1
2011
DE_EN


Deutschland
RE: zeitabhängiger Wert
*Kopf -> Tisch*
Okay. Mein Fehler. Ich hab da grade nur 2 .vis gesehen in deren Name "zeitgesteuert" stand. Ich hol mir erstmal nen Kaffee, dann schaue ich weiter...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.11.2011, 14:51
Beitrag #8

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: zeitabhängiger Wert
Eine graphische Darstellung des Temperaturverlaufs könnte auch nützlich sein:
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.11.2011, 12:20 (Dieser Beitrag wurde zuletzt bearbeitet: 15.11.2011 12:21 von narrentanz.)
Beitrag #9

narrentanz Offline
LVF-Grünschnabel
*


Beiträge: 39
Registriert seit: May 2011

2009SP1
2011
DE_EN


Deutschland
RE: zeitabhängiger Wert
Prinzipiell sollte das jetzt funktionieren. De Facto.. ließt er bei mir aus irgendwelchen Gründen prinzipiell keine Werte ein.

Zitat:10; 10:10:30.000;
20; 05:10:15.100

Das steht so in der .txt-File, aber es passiert... nichts. Huh

@Lucki: Danke!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.11.2011, 14:32
Beitrag #10

narrentanz Offline
LVF-Grünschnabel
*


Beiträge: 39
Registriert seit: May 2011

2009SP1
2011
DE_EN


Deutschland
RE: zeitabhängiger Wert
So.. nach einer hinterhältigen Arbeitsunterbrechung: Ich habe mal nen paar Sonden gesetzt.
Erstmal: nachdem ich den "Aus Array entfernen" gelöscht habe, kam zumindest ein Wert hinten an.
Dann: Er durchläuft die Schleife nur einmal. Beim ersten Durchlauf schickt er einen Fehler 85, die Schleife stoppt. Hinten an kommt tatsächlich nur ein Wert. Aus Scan from String kommt nur ein Wertepaar. Ich habe den Verdacht, dass der produzierte Fehler da zu früh rauskommt, bevor alle Werte durch sind - warum, ich weiß es nicht..
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
  Wert an naheliegensten Wert aus Array anpassen TSC 17 11.530 26.07.2016 06:59
Letzter Beitrag: TSC
  Aktueller Wert von vorherigem Wert abziehen Semicon 6 7.450 18.06.2014 16:34
Letzter Beitrag: jg
  Neuer Wert - Alter Wert im Array sanjo 5 6.875 05.02.2013 10:43
Letzter Beitrag: sanjo
  Problem bei zeitabhängiger Steuerung geist07 2 3.224 14.05.2009 08:20
Letzter Beitrag: geist07

Gehe zu: