08.02.2007, 23:27
Beitrag #2
|
|
|
09.02.2007, 08:04
Beitrag #3
|
Achim
*****
Beiträge: 4.223
Registriert seit: Nov 2005
20xx
2000
EN
978xx
Deutschland
|
daten einlesen von bis zu 12 com ports
Hi,
ich bin mir nicht sicher, ob die Queue was nützen würde. Dein Zeitproblem kommt wohl eher vom seriellen Lesen als von den Globals. Ich weiß ja nicht, wie du dein Lese-VI aufgebaut hast, aber evtl. sollte man das mal untersuchen. Verwendest du z.B. viele Array-Funktionen? Die fressen nämlich viele Ressourcen und man könnte da sicher was optimieren. Oder auch beim eigentlichen Lesen. Hast du das ein bisschen aufgeteilt, oder warten die Leseroutinen evtl. aus irgendwelchen Gründen aufeinander?
Poste doch mal ein Dummy-VI, dass deine VISA-Lesefunktionen enthält und ein anderes, dass das die Globals ausließt...wenn man sich sowas abgespecktes erstellt, dass das eigentliche Problem demonstriert, kommt man manchmal auch auf neue Gedanken!
Gruss
Achim
"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)
|
|
|
09.02.2007, 08:18
(Dieser Beitrag wurde zuletzt bearbeitet: 09.02.2007 08:18 von Lucki.)
Beitrag #4
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
daten einlesen von bis zu 12 com ports
Du wirst doch wohl die Diagramme nicht alle 10ms updaten? So schnell kann sowieso kein Mensch gucken. Also besser die Daten erst mal sammeln, z.B über 100 ms oder länger, und dann das angesammelte Paket zum Diagramm schicken.
Weitere Vorschläge könnten sich ergeben, wenn Du das VI zeigst.
|
|
|
09.02.2007, 09:06
Beitrag #5
|
toaran_
LVF-Gelegenheitsschreiber
Beiträge: 237
Registriert seit: Feb 2007
2012
2006
EN
90763
Deutschland
|
daten einlesen von bis zu 12 com ports
Hallo
danke für die antworten ... ich lad einfach mal das Einlese VI hoch ...
es könnten ein paar Sub Vis fehlen ...
das schnelltest VI ist eine ältere version der derzeitigen tests ... aber die grundfunktionen sind alle drinn ... auch bissi müll der im aktuellen nicht mehr drin ist ...
ich kann wie gesagt nicht alles hochladen ist einfach zu viel ... daher fehlen viele SubVis
MC_Einlesen.vi (Größe: 215,31 KB / Downloads: 233)
MC_Einlesen_P1.vi (Größe: 92,25 KB / Downloads: 221)
Schnelltest_V1_3_2.vi (Größe: 1,31 MB / Downloads: 234)
|
|
|
09.02.2007, 09:11
Beitrag #6
|
Achim
*****
Beiträge: 4.223
Registriert seit: Nov 2005
20xx
2000
EN
978xx
Deutschland
|
daten einlesen von bis zu 12 com ports
Hi,
leider klappt das runterladen nicht...
Aber: Ein einzelnes VI, das über 1,3 MB groß ist...da ist bestimmt was optimierungsfähig
A.
"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)
|
|
|
09.02.2007, 09:20
(Dieser Beitrag wurde zuletzt bearbeitet: 09.02.2007 15:17 von toaran_.)
Beitrag #7
|
toaran_
LVF-Gelegenheitsschreiber
Beiträge: 237
Registriert seit: Feb 2007
2012
2006
EN
90763
Deutschland
|
daten einlesen von bis zu 12 com ports
' schrieb:Hi,
leider klappt das runterladen nicht...
Aber: Ein einzelnes VI, das über 1,3 MB groß ist...da ist bestimmt was optimierungsfähig
A.
hmm bei mir klappt das downloaden ....
edit: ich hab die datein mal auf meinen server geuploaded da sollte der download klappen ...
http://www.toaran.de/files/einlesen.zip
gruss toaran
|
|
|
09.02.2007, 15:43
Beitrag #8
|
Achim
*****
Beiträge: 4.223
Registriert seit: Nov 2005
20xx
2000
EN
978xx
Deutschland
|
daten einlesen von bis zu 12 com ports
Hi,
ich habs mal runtergeladen...an den beiden Lese-VIs konnte ich auf den ersten Blick nichts aussergewöhnliches entdecken...aber bei deinem Schnelltest-VI kommt mir das kalte Grausen! Da steig ich nicht durch, und ich glaube fast, das auch du damit Schwierigkeiten hast. Die vielen (unnötigen) Sequenzen. Was sollen die bewirken? Die meisten stehen in keiner Beziehung/Reihenfolge zueinander, d.h. sie werden eh willkürlich abgearbeitet... das RIESIGE Blockdiagramm...wenn schon was nicht auf ne Bildschirmseite (ca. 1024x1280) passt, kann schon was nicht stimmen...gerade Linien wären hilfreich, und evlt. solltest du mal über ne State Machine nachdenken...das Anzeigen der langen "Item Names" in den Bundle-by-Name-Blöcken frisst auch BD-Platz (mach mal nen rechtsklick und wähle "hide full names")
Es ist mir schlicht zu anstrengend, mich da durchzuwühlen ...sorry! Wenn du deinen Code mal aufräumst, dann schau ich mal drüber...hast du dir dein BD mal im Navigations-Fenster angeschaut?
Gruss
Achim
"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)
|
|
|
09.02.2007, 19:04
Beitrag #9
|
IchSelbst
LVF-Guru
Beiträge: 3.695
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
daten einlesen von bis zu 12 com ports
' schrieb:hat jemand evtl eine idee wie ich das ganze performanter gestalten kann ?
Zuerst solltest du die Hinweise von Achim beherzigen. Obwohl es eigenlich notwendig wäre, dasselbe zur Bekräftigung nochmals ausführlich darzulegen - will ich doch darauf verzichten.
Mach mal zu allererst aus jeder einzelnen Sequenz ein SubIV. Ein solches SubVI enthält dann eine Quasi-Statemachine in einer While-Schleife, die (jede Menge) Schieberegister hat. Dieses Programmierverfahren (Statemachine in While-Schleife) dienst der Variablenverwaltung! Als Nebeneffekt verschwinden dann auch noch jede Menge lokaler Variablen im Hauptprogramm - was sehr gut ist im Sinne einer Datenflußsteuerung. Und beachten: In das SubVI gehen keine Referenzen rein auf Variablen/Bedienelemente, die nicht im Frontpanel sichtbar sind !
Wenn es dir nicht gelingt, jede einzelne parallele Sequenz in ein SubVI umzuwandeln - weil du z.B. in mehreren Sequenzen die gleiche Variable benutzt (beachte: keine Referenzen, die sind in deinem Falle verboten) - dann hast du nicht mit den SubVIs ein Problem, sondern bereits jetzt mit deinem bestehenen Sourcecode. Da können nämlich jetzt bereits Dateninkonsistenzen auftreten, von denen du bisher noch gar nichts bemerkt hat - weil: sehen tut man in diesem Sourcecode ja gar nichts.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
| |