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 

Automatische Messung beim Sensorausfall & zur bestimmten Zeit



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!

29.09.2009, 07:52
Beitrag #1

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
Automatische Messung beim Sensorausfall & zur bestimmten Zeit
Hallo an Alle,

ich messe verschiedenen Sensoren anhand DAQ. und werte die aus. Bei der überschreitung von einem bestimmten wert (z.b. 5V) sollte ein Sensoraufall fehler realisiert werden. das habe ich mit boolische funktionen für jedes sensor individuell bestimmt. (Dynamic Data zur Double umgewandelt und ein Vergleich mit einem Wert gemacht, falls True, dann gibt 1 aus, und der Alarm blinkt.)

ich hab auch eine Messung speichern funktion ( mit Express VI Messdaten speichern) in einem Case Struktur gepakt. mit Boolian verbunden. Wenn auf FP auf dem knopf messung speichern gedrückt wird, wird Case Struktur ausgeführt, und messung gespeichert.

soweit gut.

1. ich will dass bei einem sensorausfall ( bestimmter wert über..) automatisch für 60 Sec. die messdaten gespeichert werden. wie kann ich das realisieren? mit boolische funktionen kann ich nur 2 werte miteinander vergleichen. dabei hab ich viele sensoren, wie kann das am besten realisieren?

2. zur einer bestimmt zeit eine automatische messung für 60 Sec. durchführen. z.b. alle 2 stunden oder um 12 uhr mittag und nacht. ich bin in diesem punkt gar nicht weiter gekommen. hat jemand vielleicht dazu ein block? die zeit, wo die messung anfägt und aufhört will ich auch dokumentieren. aber wie?

danke euch.
Prince.

Coming together is a beginning, keeping together is progress, working together is success.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.09.2009, 10:17
Beitrag #2

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
Automatische Messung beim Sensorausfall & zur bestimmten Zeit
Hallo nochmal,

zum punkt 1. hab die boolische vergleichblock gefunden, die für mehrere variable geeignet ist.

punkt 2. hab immer noch keine idee :-( hat jemand vielleicht ein fertiges block oder so ? scheint eine allgemeine frage zu sein.

Grüße,

Coming together is a beginning, keeping together is progress, working together is success.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.09.2009, 10:23
Beitrag #3

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.695
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Automatische Messung beim Sensorausfall & zur bestimmten Zeit
' schrieb:scheint eine allgemeine frage zu sein.
Hast du dich schon mal mit Statemachine auseinandergesetzt?

Erster Schritt: Warten, bis Zeitänderung um oder bis Zeitpunkt erreicht. Gewartet wird im Raster von 100ms - damit die Statemaschine abbrechbar ist. Dieser Schritt besteht aus mehreren States.

...

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.09.2009, 14:32
Beitrag #4

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
Automatische Messung beim Sensorausfall & zur bestimmten Zeit
' schrieb:Hast du dich schon mal mit Statemachine auseinandergesetzt?

Erster Schritt: Warten, bis Zeitänderung um oder bis Zeitpunkt erreicht. Gewartet wird im Raster von 100ms - damit die Statemaschine abbrechbar ist. Dieser Schritt besteht aus mehreren States.

...

hm..da wirds ja richtig kompliziert. irgendwie statemachine passt zu meinem programmaufbau nicht! hab damit igendwie versucht, aber nicht funkioniert. gibts andere einfachere lösungen ?

Coming together is a beginning, keeping together is progress, working together is success.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.09.2009, 14:37
Beitrag #5

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Automatische Messung beim Sensorausfall & zur bestimmten Zeit
' schrieb:irgendwie statemachine passt zu meinem programmaufbau nicht!
Offtopic2

Das State-Machine-Konzept passt bei 99.5% aller Anwendungen...und grade bei dir nicht?

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.09.2009, 15:38
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.695
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Automatische Messung beim Sensorausfall & zur bestimmten Zeit
' schrieb:irgendwie statemachine passt zu meinem programmaufbau nicht!
Das hat ja noch keiner gesagt! Naja, irgendwann ist immer das erste Mal.


Lieber Prince Amir

Wie sag ich's meinem Kinde? Was? Was der Achim ja schon angedeutet hat.

Das Konzept "Statemachine" ist ein grundlegendes Konzept. Als Konzept ist es programmiersprachen-unabhängig. Gerade LV ist hervorragend geeignet, dieses Konzept umzusetzen. Die Verwendung von Statemachines für professionelle Programme ist unabdingbar. Und jedes Programm, das Messwerte erfasst, berechnet, anzeigt und speichert und das auch noch selbständig über einen größeren Zeitraum ist per se ein professionelles Programm. Den Fall, dass eine Statemachine nicht in ein Programm integriert werden kann, gibt es nicht.


So, und jetzt zu deiner Aufgabe.

Natürlich ist auch in dein Programm eine Statemachine integrierbar. Ich vermute mal, das Problem liegt nicht an deinem Programm, sondern an deinen Programmierkenntnissen, die du mit Hilfe des Forums ja verbessern willst.
Die Statemachine muss nicht zwangsläufig in deinen bestehenden Datenfluß integriert werden. Sie kann auch in einer extra While-Schleife laufen und den bestehenden Datenfluß mittels Queues und/oder Melder (naja, ausnahmsweise erlauben wird auch globale und lokale Variablen) quasi fernsteuern.

Ich würde vorschlagen, zu postet mal ein VI und schreibst dazu, wo genau das mit der Wartezeit und das mit dem Messen für 60 Sekunden gemacht werden soll. Oder mach ein Bild.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
01.10.2009, 07:43
Beitrag #7

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
Automatische Messung beim Sensorausfall & zur bestimmten Zeit
' schrieb:Das hat ja noch keiner gesagt! Naja, irgendwann ist immer das erste Mal.
Lieber Prince Amir

Wie sag ich's meinem Kinde? Was? Was der Achim ja schon angedeutet hat.

Das Konzept "Statemachine" ist ein grundlegendes Konzept. Als Konzept ist es programmiersprachen-unabhängig. Gerade LV ist hervorragend geeignet, dieses Konzept umzusetzen. Die Verwendung von Statemachines für professionelle Programme ist unabdingbar. Und jedes Programm, das Messwerte erfasst, berechnet, anzeigt und speichert und das auch noch selbständig über einen größeren Zeitraum ist per se ein professionelles Programm. Den Fall, dass eine Statemachine nicht in ein Programm integriert werden kann, gibt es nicht.
So, und jetzt zu deiner Aufgabe.

Natürlich ist auch in dein Programm eine Statemachine integrierbar. Ich vermute mal, das Problem liegt nicht an deinem Programm, sondern an deinen Programmierkenntnissen, die du mit Hilfe des Forums ja verbessern willst.
Die Statemachine muss nicht zwangsläufig in deinen bestehenden Datenfluß integriert werden. Sie kann auch in einer extra While-Schleife laufen und den bestehenden Datenfluß mittels Queues und/oder Melder (naja, ausnahmsweise erlauben wird auch globale und lokale Variablen) quasi fernsteuern.

Ich würde vorschlagen, zu postet mal ein VI und schreibst dazu, wo genau das mit der Wartezeit und das mit dem Messen für 60 Sekunden gemacht werden soll. Oder mach ein Bild.

Lieber IchSelbst,

vielen Dank für deine Antwort. Ich hab hier auf jeden Fall viel gelernt, und dadurch viel weitergekommen und meine Kenntnisse erweitert. Nun hab ich mit State Machine zu kämpfen.

bin irgendwie nicht damit weitergekommen, obwohl ich paar bsps. hier im Forum gesehen habe, aber als ich implementiert habe, hat das ganze programm nicht funktioniert.

ich hab meine kommentare und wo, was passieren sollte im programm als Txt. geschrieben. Wenn man VI öffnet sieht man das.

1. Wo soll ich genau im meinem VI die S.M. verwenden ?
2. Brauch ich da Event Struktur in der S.M oder nicht?

kannst du bitte mein VI anschauen, und mir Tipps geben, wie ich am besten vorgehen soll, damit ich später bei der weiteren Erweiterung nicht an der Grenzen stöße,

besten Dank.

Amir.


L.V Version 8.6 DE


Angehängte Datei(en)
Sonstige .vi  Main_VI___Einfache_Architektur_3.vi (Größe: 13,8 KB / Downloads: 245)

Coming together is a beginning, keeping together is progress, working together is success.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.10.2009, 08:35
Beitrag #8

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.695
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Automatische Messung beim Sensorausfall & zur bestimmten Zeit
' schrieb:1. Wo soll ich genau im meinem VI die S.M. verwenden ?
VIs kann ich gerade nicht ansehen, weil ich hier am Rechner kein LV habe.

Zitat:2. Brauch ich da Event Struktur in der S.M oder nicht?
In einer Statemachine eine Eventstruktur? Nein, erstmal nicht!
Ich müsste da erst mal drüber nachdenken. Das Problem dabei ist: Was passiert, wenn der Event nicht eintritt? Dann muss der TimeOut-Case verwendet werden, da sonst die SM stehen bleibt. Bei Verwendung einer Eventstruktur innerhalb einer Statemachine sehe ich viele Schwierigkeiten.

Zitat:kannst du bitte mein VI anschauen
Leider erst heute abend. Kannst du ein Bild machen? Vielleicht geht's damit auch.

Zitat:damit ich später bei der weiteren Erweiterung nicht an der Grenzen stöße
Und genau wegen solcher Aspekte sollte man vor vorne herein nach Möglichkeit "anständig" programmieren.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.10.2009, 09:19
Beitrag #9

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
Automatische Messung beim Sensorausfall & zur bestimmten Zeit
' schrieb:VIs kann ich gerade nicht ansehen, weil ich hier am Rechner kein LV habe.

In einer Statemachine eine Eventstruktur? Nein, erstmal nicht!
Ich müsste da erst mal drüber nachdenken. Das Problem dabei ist: Was passiert, wenn der Event nicht eintritt? Dann muss der TimeOut-Case verwendet werden, da sonst die SM stehen bleibt. Bei Verwendung einer Eventstruktur innerhalb einer Statemachine sehe ich viele Schwierigkeiten.

Leider erst heute abend. Kannst du ein Bild machen? Vielleicht geht's damit auch.

Und genau wegen solcher Aspekte sollte man vor vorne herein nach Möglichkeit "anständig" programmieren.

So, hier hab ich 2 Screenshots gemacht.
jetzt kanns du öffnen.

Grüße,

P.S. in dem Case Messwerte Speichern, Beim True, werden die Messwerte in Express VI gespeichert, und die zeit gemessen. Im Screenshot sieht man nur False Case.


Angehängte Datei(en) Thumbnail(s)
       

Coming together is a beginning, keeping together is progress, working together is success.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.10.2009, 10:08
Beitrag #10

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.695
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Automatische Messung beim Sensorausfall & zur bestimmten Zeit
' schrieb:So, hier hab ich 2 Screenshots gemacht.
Hier zuerst zwei Anmerkungen.

Du hast außerhalb der vier Haupt-While-Schleifen zwei lokale Variablen von "Programm Stop", die du nach Beendigung der entsprechenden While-Schleife auf false setzt. Das False-Setzen machst du deshalb, damit beim nächsten Programmstart die Variable auf False steht - und die vier While-Schleifen nicht wieder abbrechen. Der Gedanke ist richtig, das Vorgehen falsch. Du darfst das False-Setzen erst dann machen, wenn alle vier Haupt-While-Schleifen beendet sind (das hängt mit der parallelen Verarbeitung zusammen).
Mach das False-Setzen wie folgt: Ganz links platzierst du einen Sequenzrahmen, in dem du das False-Setzen machst. Danach seqenzierst du die vier While-Schleifen mit dem Sequenzrahmen. Einfach dadurch, indem du den boolschen Wire aus dem Rahmen herausführst und an alle vier While-Schleifen hinklickst. Dadurch wird eine Sequenzierung erreicht zwischen dem False-Setzen und dem Beginn der While-Schleifen, die dann eben erst beginnen, wenn "Programm Stop" false ist.

Ich gehe davon aus, dass die Variable "Messwerte speichern" nach der einen Minute, während der gespeichert werden soll, automatisch auf False gesetzt wird. Das ist Voraussetzung für das weitere Vorgehen.


Jetzt zu deinem "automatischen Speichern alle Stunde oder zu einer bestimmten Uhrzeit". Das geht ganz einfach - auch ohne Statemachine.

Mach eine fünfte While-Schleife, in der du einfach eine Stunde wartest. Danach setzt du die Variable "Messung speichern" auf true. Und wartest wieder eine Stunde. usw. Die Variable "Messung speichern" wird ja automatisch - siehe oben - wieder zurückgesetzt. Das Eine-Stunde-Warten muss du aber aufteilen in z.B. 36000 mal 100ms. Es wird also 100ms gewartet, dann ein Zähler hochgezählt (bessert: runten), bei 36000 (also 0) wird die Variable "Messung speichern" auf true gesetzt und der Zähler resettet.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
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
  Automatische Skalierung Progress bar Hubert R. 3 2.815 21.01.2024 08:02
Letzter Beitrag: Hubert R.
  Eingabe String nach einen bestimmten Format bearbeiten galilio 18 11.576 27.01.2017 10:58
Letzter Beitrag: jg
  Countdown-Anzeige mit "Verstrichene Zeit" stockt während Messung antonym 2 4.113 13.08.2015 16:00
Letzter Beitrag: antonym
  Event durch Mausklick auf einen bestimmten Bereich auslösen Kalci 4 5.070 14.07.2014 12:59
Letzter Beitrag: Kalci
  automatische Anbindung an Bausteine mit sehr vielen Elementen Lucius2 3 5.137 06.06.2014 12:11
Letzter Beitrag: Lucius2
  Arraywerte in bestimmten Zeitabständen durchlaufen lassen Hamoudi 3 5.424 23.10.2013 09:33
Letzter Beitrag: Hamoudi

Gehe zu: