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 

Zeitsteuerung



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!

22.12.2010, 08:21
Beitrag #1

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
Zeitsteuerung
Hallo an Alle,

ich würde gerne eine Pumpe (DO) steuern. Die Steuerung funktioniert so:

Alle 5 Minuten (Bsp. Wert) sollte die Pumpe einmal für 10 Sec. eingeschaltet werden. Einfach gesagt, ich brauche einen digitalen Wert, der alle 5 Minuten für 10 Sec. auf True gesetzt wird dann wieder auf False.

Da ich mit Zeitsteuerung in LabVIEW wenig erfahrung habe, hänge ich an das Problem. Ich habe mit dem Block "Verstrichene Zeit" & "Case" probiert, aba bekomme ich kein vernüftiges Ergebnis.

Wäre dankbar wenn jemand mir einen Tipp gibt.

Viele Grüße,
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
Anzeige
22.12.2010, 08:33
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Zeitsteuerung
Hab' Dir schnell ein Bsp. gemacht:

Sonstige .vi  Zeitsteuerung.vi (Größe: 6,85 KB / Downloads: 834)

Lv09_img2

Du musst halt statt 5 s (wie im Bsp.) bei Dir 300 s eingeben und statt 1000 ms 10000 ms (im True-Case). Ich habe die Zeiten so eingestellt, damit man es besser sieht. In meinem Bsp. geht alle 5 s die LED für 1 s an.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.12.2010, 08:51
Beitrag #3

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
Zeitsteuerung
Besten Dank Markus,

dein VI ist recht gut zu verstehen. das ist genau was ich gesucht hatte. Die SR's habe ich total vergessenWink.

viele grüße,
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
22.12.2010, 13:42
Beitrag #4

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
Zeitsteuerung
Servus,

so jetzt habe ich ein bis. rumprogrammiert, aber das Endergebnis sieht nicht besonders gut aus.Sad

Ich würde gerne eine Boolische Konstante aus dem Case herausziehen und weiter an DAQ leiten. Generell arbeite ich mit State machine da ich viele Zustände habe. Diese Pumpensteuerung was ich jetzt einfügen will sollte eigentlich parallel zu meiner Steuerung laufen.

Markus, die Funktion Zeit zu zählen funktioniert ganz gut mit SR. nur das Anhalten der Zeit (bsp. pumpe sollte 10 Sec. laufen) ist das problematisch. da ich erstmal die Konstante aus dem Case rausziehen muss damit an DAQ weitergeleitet wird... Gibts da andere möglichkeiten ausser die "Warte" funktoin?

Mit warten Fkt. bleibt die ganze Schleife dann für diese Zeit inaktive.Sad


Beste Grüße,

siehe VI:
(im VI ist der DAQ Input zur Info.)
LV 2010


Angehängte Datei(en)
Sonstige .vi  testZeitsteuerung.vi (Größe: 10,17 KB / Downloads: 275)

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
22.12.2010, 15:26
Beitrag #5

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
Zeitsteuerung
' schrieb:Hab' Dir schnell ein Bsp. gemacht:
[attachment=60495:Zeitsteuerung.vi]
Lv09_img2

Gruß Markus

so. jetzt habe ich das problem mit Z.Automat gelöst.
Nur das einzige was mir fehlt ist die Zeiterfassung ! Irgendwie geht die Pumpe nur für eine m.sec. an dann wieder geht er aus !
irgendwo habe ich im Automat ein Denkfehler.

Grüße,
LV Version 2010


Angehängte Datei(en)
Sonstige .vi  Test_2_Zeitsteuerung.vi (Größe: 12,64 KB / Downloads: 296)

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
22.12.2010, 15:38
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Zeitsteuerung
Hallo Amir,

sobald du die Pumpe anschaltest, startet die nächste Iteration. In dieser wird die aktuelle Zeit mit der gespeicherten verglichen: das Resultat ist FALSE! Mit diesem FALSE schaltest du aber sofort wieder in den Idle-Case...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.12.2010, 15:47
Beitrag #7

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
Zeitsteuerung
' schrieb:Hallo Amir,

sobald du die Pumpe anschaltest, startet die nächste Iteration. In dieser wird die aktuelle Zeit mit der gespeicherten verglichen: das Resultat ist FALSE! Mit diesem FALSE schaltest du aber sofort wieder in den Idle-Case...

danke genau das ist das problematik da. Aba wie sollte ich sonst die Zeiterfassung realisieren (außer boolian), damit ich nicht jedes mal in Idle modus schaltet?

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
22.12.2010, 15:48 (Dieser Beitrag wurde zuletzt bearbeitet: 22.12.2010 15:59 von NWOmason.)
Beitrag #8

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
Zeitsteuerung
Hallo,

nach 10 Sekunden wird die Pumpe einmalig auf true gesetzt. Das liegt daran, dass du im "True"-Case der Zeitauswertung (>10) die aktuelle Zeit an das Schieberegister übergibts. Im nächsten Schleifen durchlauf wird ja wieder abgefragt, ob die aktuelle Zeit größer ist, als die Zeit im Schieberegister. Da aber im Schieberegister nun nicht mehr die Anfangszeit vom Programmstart drinsteht, sondern die Zeit aus dem Schleifendurchlauf davor, ist die Bedingung wieder false und dein Program wechselt wieder in den "idle"-State. Und dort ist ja auch deine Pumpe aus.

Ich hoffe, ich habe es verständlich erklärt.

Ich würde das ganze zu einer State-Maschine zusammenfassen, in der es nur einen Idle-State gibt. Aktuell müsstest du es in die Richtung umbauen, dass die Abfrage währendessen die Pumpe ein ist, nicht ausgeführt wird.

Oder ein Abrage im False-State, ob die Pumpe läuft.

Oder, oder. Es gibt viele programmatische Lösungen dafür, denke ichWink

Beste Grüße,
NWO

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.12.2010, 16:03 (Dieser Beitrag wurde zuletzt bearbeitet: 22.12.2010 18:38 von Y-P.)
Beitrag #9

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
Zeitsteuerung
' schrieb:Hallo,


Ich würde das ganze zu einer State-Maschine zusammenfassen, in der es nur einen Idle-State gibt. Aktuell müsstest du es in die Richtung umbauen, dass die Abfrage wärendessen die Pumpe ein ist, nicht ausgeführt wird.

Beste Grüße,
NWO

Besten Dank für die Erklärung. Eine Abfrage des PumpenStatuss habe ich jetzt drin. Jetzt funktioniert. Ich hätte ne kurze frage dann:
Während Z.Machine in Waiting modus ist, ist die ganze While schleife dann auch im Wartemodus. Das ist aba nicht so fein finde ich. Gibts ne andere lösung dass die andere Aktionnen in der Schleife weiterausgeführt werden (ausser 2 Paral. Schle.) ?

Besten Dank nochmal,


Sonstige .vi  NEW_TEST_Zeitsteuerung.vi (Größe: 12,95 KB / Downloads: 276)

Lv10

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
22.12.2010, 18:09 (Dieser Beitrag wurde zuletzt bearbeitet: 22.12.2010 18:12 von GerdW.)
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Zeitsteuerung
Hallo Amir,

anbei mal eine Version (inLv10), wo die Logik zum Ausschalten der Pumpe nach einer einstellbaren Zeit integriert ist.

Da du schon eine Wartefunktion in der Whileschleife hast, brauchst du die nicht mehr im Wait-State. Da wird nur kontrolliert, ob die Pumpe wieder ausgeschaltet werden soll...

Tipps:
- benenne den "Wait"-State nach "Wait for SwitchOff" um (ist eindeutiger, finde ich)
- benutze eine TypeDef für das Enum, dann kann man leichter neue States hinzufügen
- mache einen ähnlichen Case für ein Anschalten der Pumpe nach einer gewissen Zeit statt einer vorgeschalteten Logik mit zweiter Case-Struktur - so hast du immer genau definierte States, in denen sich dein Programm gerade befindet!


Angehängte Datei(en)
Sonstige .vi  NEW_TEST_Zeitsteuerung.vi (Größe: 10,9 KB / Downloads: 322)

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
  Zeitsteuerung Sequenz LabViewPete 15 9.788 16.12.2015 09:24
Letzter Beitrag: Freddy
  Zeitsteuerung von Ventilen dr.deejay 6 10.244 23.01.2015 09:13
Letzter Beitrag: Labview Anfänger
  Zeitsteuerung für Relais Starlancer 2 4.456 06.06.2013 11:31
Letzter Beitrag: Starlancer
  Struktur für Zeitsteuerung gesucht ede84 22 16.207 16.02.2012 10:42
Letzter Beitrag: ede84
  Zeitsteuerung digitaler Ausgang Philipp2 1 5.252 28.10.2011 10:46
Letzter Beitrag: Y-P
  Zeitsteuerung abbrechen Maurice 9 8.438 09.01.2011 22:32
Letzter Beitrag: unicorn

Gehe zu: