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 

Softwarestrukturprobleme



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!

07.05.2009, 20:25 (Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2009 20:26 von IchSelbst.)
Beitrag #11

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Softwarestrukturprobleme
Hallo Rainito

Ich glaube, in deinem Falle wird es schwierig zu helfen. Die Strukturen, die du brauchst, um deine Aufgabe optimal zu lösen, kann man in einen Forum nicht rüberbringen.

' schrieb:Hab mir die funktionalen globalen Variablen angeschaut. Scheint mir nicht das richtige für mich zu sein
Sind es aber.
Mach mal ein FGV pro Globaler Variable (SubVI mit Schieberegister in While-Schleife und zwei Cases: "Set", "Read"). Damit kannst du dann jede dieser Globalen Variablen ersetzen: "GV lesen" => "Read FGV" ... (Siehe Muster).

Zitat:Ihr würdet mir sehr helfen wenn Ihr mir ein ganz ganz grobes Strukturkonzept zeigt, in dem ich die verschiedenen Prüfstände autark bedienen kann und die alle gemeinsam 2 Eingangscluster (Überwachung Prüfraum und Grenzwerte Raumtemperatur) haben.
Genau das geht in einem Forum in deinem Falle nicht.
Hier was auch nur im Ansatz Passendes zusammenzubauen macht so viel Aufwand, da hat hier im Forum wahrscheinlich keiner Zeit für.

Nach den FGVs musst du dich mit Melder/Queue befassen. Ohne geht hier gar nichts.

Dann musst du ein SubVI zur Steuerung eines Prüfstandes machen, das keine FP-Bedienung braucht! Dieses SubVI wird durch Queues gesteuert und läuft autark im MainVI. Wenn dieses SubVI richtig läuft und fertig ist, werden bestimmte SubVIs innerhalb dieses SubVIs als reentrant definiert und mehrfach ausgeführt. Durch diese reentranten SubVIs ist es dann möglich, mehrere Prüfstande parallel zu betreiben. (ggf. wird das ganze SubVI als reentrant definiert und mehrfach ausgeführt).

Dann brauchst du ein SubVI, das das FP für alle Steuer-SubVIs darstellt. Hier werden die Queues beschrieben, die in den Steuer-VIs ausgelesen werden. Dieses SubVI läuft ebenfalls im MainVI und parellel zu allen Steuer-SubVIs.

Außerdem musst du bedenken, dass die Queues, die zum Steuern notwendig sind, in einem Array liegen. Dieses Array hat soviele Indices, wie Prüfstände laufen sollen. Die Queues in Index 0 entsprechen also dem Prüfstand 1 usw.


So mach ich das gerade.


Angehängte Datei(en)
Sonstige .vi  Var_CONST.vi (Größe: 18,47 KB / Downloads: 137)

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
07.05.2009, 20:30
Beitrag #12

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Softwarestrukturprobleme
' schrieb:Nach den FGVs musst du dich mit Melder/Queue befassen. Ohne geht hier gar nichts.

Dann musst du ein SubVI zur Steuerung eines Prüfstandes machen, das keine FP-Bedienung braucht! Dieses SubVI wird durch Queues gesteuert und läuft autark im MainVI. Wenn dieses SubVI richtig läuft und fertig ist, werden bestimmte SubVIs innerhalb dieses SubVIs als reentrant definiert und mehrfach ausgeführt. Durch diese reentranten SubVIs ist es dann möglich, mehrere Prüfstande parallel zu betreiben. (ggf. wird das ganze SubVI als reentrant definiert und mehrfach ausgeführt).

Dann brauchst du ein SubVI, das das FP für alle Steuer-SubVIs darstellt. Hier werden die Queues beschrieben, die in den Steuer-VIs ausgelesen werden. Dieses SubVI läuft ebenfalls im MainVI und parellel zu allen Steuer-SubVIs.

Außerdem musst du bedenken, dass die Queues, die zum Steuern notwendig sind, in einem Array liegen. Dieses Array hat soviele Indices, wie Prüfstände laufen sollen. Die Queues in Index 0 entsprechen also dem Prüfstand 1 usw.
So mach ich das gerade.

Genau das habe ich doch mit meiner Tasking Library gemeint. Die Queues & Co. sind schön in einen Arraycluster verpackt.

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.05.2009, 20:53
Beitrag #13

Rainito Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 96
Registriert seit: May 2009

2010
2008
de

89297
Deutschland
Softwarestrukturprobleme
' schrieb:Genau das habe ich doch mit meiner Tasking Library gemeint. Die Queues & Co. sind schön in einen Arraycluster verpackt.


Hallo,

nochmal danke für eure Tips.....hab mich jetzt doch mit Queue´s und Meldern beschäftigt....und mach jetzt eine Datenverarbeiten zwischen den VI´s über Melder. Zumindest erscheint mir das als richtig, da ich immer nur den aktuellsten Wert brauche und nicht ein Puffer von den letzten Werten. Somit benötige ich jetzt nur 3 globale variablen die ich natürlich am Anfang initialisiere und nur einmal schreibe und sonst nur lese. Finde das nicht zu schlecht programmiert. oder?

Mit den verschiedenen Prüfständen bin ich echt noch am überlegen.....am besten wär natürlich schon ein SubVI für alle prüfstände dass ich je nach prüfstandauswahl dementsprechend aufruf und die passenden parametern und Kanäle übergebe. Mal schauen ob ich das noch hinbekomme oder ob ich es als 1. Lösung zuerst mal einzeln in Whileschleifen programmier und später optimier. Das Problem ist einfach dass ich nur ein begrenztes Zeitfenster für dieses Projekt zur Verfügung habe.

Jetzt wollt ich nur noch fragen....für den Prüfablauf...Button-Abfrage und die dementsprechenden Handlungen wär ich mit einem Zustandsautomat an die Problematik rangegangen....das dürfte doch für die vielen verschiedenen Zustände in meinem Programm genau richtig sein oder?

Ich stell noch meine überarbeiteten VI´s mit Melder rein. Mich würd es interessieren ob ihr den Programmierstil arg grausam haltet??
Ist noch voll im Entwurf....also nicht zu harte Kritik!! :-)

Gruß Rainito


Angehängte Datei(en)
Sonstige .zip  Pruefstand_LABVIEW8_6.zip (Größe: 249,73 KB / Downloads: 125)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.05.2009, 08:09
Beitrag #14

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Softwarestrukturprobleme
' schrieb:Genau das habe ich doch mit meiner Tasking Library gemeint.
Aber nicht so schön beschrieben wie ich. Wink-2


' schrieb:Das Problem ist einfach dass ich nur ein begrenztes Zeitfenster für dieses Projekt zur Verfügung habe.
Das ist auch immer so ein Punkt: Woher wissen, wie lange was dauert und welchen Aufwand es macht, wenn man die Sache noch nie gemacht hat.

Zitat:Jetzt wollt ich nur noch fragen....für den Prüfablauf...Button-Abfrage und die dementsprechenden Handlungen wär ich mit einem Zustandsautomat an die Problematik rangegangen....das dürfte doch für die vielen verschiedenen Zustände in meinem Programm genau richtig sein oder?
Statemachines sind nie falsch.

Offtopic2
Das mit dem Zitieren ist ne gute Sache: mehrere Zitate anklicken und schon kann man auf mehrere Posting gleichzeitig antworten. Top1

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
08.05.2009, 23:08
Beitrag #15

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Softwarestrukturprobleme
' schrieb:Finde das nicht zu schlecht programmiert. oder?
Passt soweit.

Zitat:Mich würd es interessieren ob ihr den Programmierstil arg grausam haltet??
Arg grausam ist, dass das Prüfstand-FP größer ist als mein Bildschirm. Noch grausamer ist, dass die Wires total kreuz und quer sind. Gerade von links nach rechts gefällt mir gut.

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 


Gehe zu: