LabVIEWForum.de - Parallelverarbeitungsproblem

LabVIEWForum.de

Normale Version: Parallelverarbeitungsproblem
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
' schrieb:Hmm, wenn ich das jetzt auf mein Beispiel übertrage...
...dann ist das Anzeigen des Stringcontrols "Menü?" dein Einlesen von Messwerten. Und in der selben Schleife hast du nun die SubVIs zum anzeigen der Anleitung ect.pp. ?

In meinem Bsp. wiederum ist die Menübedingte Aktion des Rechnens in die Menüschleife ausgelagert. Die Mainschleife jucket es dann doch eigentlich nicht was ich in der Menüschleife mache... ergo der Counter läuft munter weiter.

Hast du versucht dieses Prinzip auf dein Programm anzuwenden? ...Ich kann natürlich auch daneben liegen. k.A.

-> Eine Schleife nur zum Lesen der OPC Daten, sonst nix. Kommunikation zwischen den Schleifen wenn nötig per Queue o.Ä.

-> Eine Schleife für den RestBig Grin

Gruß SeBa

Hier das was ich im Moment nach 100Mal umbauen habe. Es läuft übrigens nicht mehr, weil das Dingens in der Timeoutschleife liegt...

LV9.0 [attachment=22416]
Ach... warum hörst du nicht einfach auf mich ...Huh

Knackpunkt ist folgender:

Dein OPC Connect&read VI öffnet und schließt bei jedem Schleifendurchlauf den Datasocket oder wie auch immer man das halt nennt. Das ist schlecht, genau wie bei DAQ Tasks die man nicht bei jedem Schleifendurchlauf neu starten soll, sondern vor der Schleife starten, ncah der Schleife beenden.

Hab das für dich mal umgebaut und siehe da... null Problemo...
Außerdem hab ich die Schleifen wieder gesplittet... ich finds besser. So hats bei mir funktioniert. Mag auch anders gehen.

[attachment=22420][attachment=22421]

Lv09_img2[attachment=22419]

Gruß SeBa
' schrieb:Ach... warum hörst du nicht einfach auf mich ...Huh
Ich habs einfach nicht verstanden :-D So ein Mist, aber jetzt hats geklingeltLol
Zitat:Knackpunkt ist folgender:

Dein OPC Connect&read VI öffnet und schließt bei jedem Schleifendurchlauf den Datasocket oder wie auch immer man das halt nennt. Das ist schlecht, genau wie bei DAQ Tasks die man nicht bei jedem Schleifendurchlauf neu starten soll, sondern vor der Schleife starten, ncah der Schleife beenden.
OK, seh ich ein. Ich hatte es nur so gemacht, weil ich in meinem jugendlichen Leichtsinn angenommen hatte, es wäre nicht so Schwerwiegend in der Auswirkung. Hab ich unterschätzt und mich auf die Leistungsfähigkeit der Rechnerhardware verlassen. Aber es geht doch nichts über einen sauberen Programmierstil. Thanks
Zitat:Hab das für dich mal umgebaut und siehe da... null Problemo...
Außerdem hab ich die Schleifen wieder gesplittet... ich finds besser. So hats bei mir funktioniert. Mag auch anders gehen.
Ich find das mit den gesplitteten Schleifen auch besser, irgendwie übersichtlicher und man kann es besser nachvollziehen.

Danke schön!
Gruß Thomas
Gut das wir uns einig sind.Smile

Gruß SeBa
Es scheint tatsächlich sehr gut zu laufen. Ich komme nur mit dem DataSocket Read noch nicht so ganz zurecht. Du hast den Anschluss Variant/Typ mit NaN verbunden. Was muss ich Verbinden, wenn ich einen Boolschen Typ erwarte?

Gruß Thomas

EDIT: Vergiss es... hab noch geschlafen Rolleyes
Seiten: 1 2 3
Referenz-URLs