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.


Umfrage: Ist diese Library was f
Ja, ich bin sehr beeindruckt
Sehr sch
[Zeige Ergebnisse]
 
Antwort schreiben 

Tasking Library



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!

09.12.2008, 22:51
Beitrag #13

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Tasking Library
' schrieb:Und ja... Funktionale globale VIs sind eine Verarsche für LV, sind zwar datenflußgeschützt, aber nicht G-Language kompatibel (IMHO, hoffentlich wird Christian damit angeregt hier teilzunehmen).

aber Hallo!

Old Style Globals, bzw. Action Engines sind IMHO immer noch die fortschrittlichste Technik der sich ein LV-Programmierer bedienen kann. Es gibt nichts besseres, wenn es darum geht die Daten dort zu behalten wo sie gebraucht werden. Wenn man natürlich drauf steht baumdicke "Kabelstränge" von der 1. Initialisierung bis zum Ende des VIs quer durch sein Blockdiagramm zu ziehen, dann kann man das gerne machen, ich steh da nich so draufWink. Man kann auch ein riesen Framework aus 200 VIs und von mir aus auch LVOOP Klassen aufbauen um Daten hin und her zu schubsen, schneller und effektiver geht's aber mit einer OSG:)kleiner Seitenhieb: LVOOP Objekte können übrigens keine Member Variablen selbst speichern. Wenn du sowas haben willst musst du eine OSG verwendenBig Grin(AQ hat das "liebevoll" LVOOP style Globals genanntLol)

Old-Style Globals sind SEHR WOHL Datenfluss-kompatibel:
da für jedes VI gilt (sofern es nicht reentrant ist) dass es nur einmal im Speicher vorhanden ist und "parallele" Aufrufe nacheinander abgearbeitet werden (wodurch die Race Conditions verhindert werden) und der SubVI Call immer genau dann erfolgt wenn die Daten gebraucht werden ist da nicht der geringste Widerspruch zum Datenfluss-Konzept, der einzige Unterschied zu einem "Draht" ist, dass man "den Draht im diesem Fall nicht sieht" und näher kommt man in LV nicht an einen Pointer Wub_anim - selbstverständlich ohne sich um die manchmal tatsächlich grauenerregende Pointer-Arithmetik Gedanken machen zu müssen. Für mich sind OSGs der "anschlusslose, intelligente Draht in der gleiche Farbe wie dein BD-Hintergrund":D- wireless Strom sotusay, davon träumen die Elektriker seit Jahrhunderten!

Und nu bin ich mal ganz offen, und ich hoffe du verzeihst mir (manchmal schaun mich die Leute 5 Jahre lang nicht mehr mit dem Ar*** an, wenn ich "mal ein offenes Wort" spreche):
Das Konzept ist als Konzept, an sich interessant, ich hab auch schonmal an sowas gedoktort, und anschließend wieder verworfen, denn es taugt überhaupt nix, ausser um sich selbst weiterzubilden, Know how in Sachen Architektur aufzubauen und tieferes Verständnis für die Zusammenhänge in LV zu entwickeln. Das k.o. Kriterium bei deiner Achitektur ist: du wandelst alle Daten in Strings um, und ganz ehrlich: du möchtest mir jetzt nicht ernsthaft weismachen, dass ein Konzept, das FREIWILLIG auf die Type-Propagation verzichtet und alle Daten in ihrer Binärrepräsentation zu behandeln (du MUSST am Ende der Queue immer wissen was du reingeschoben hast, sonst kommt zwangsläufig Müll dabei raus - und das stell mal bei 10+ Tasks sicher!!) einer OSG überlegen ist. Und gleichzeitig zu schreiben dass OSG's eine Verarsche sind, ganz ehrlich Eugen, da fällt mir nur noch ein "STEINIGT IHN" einBig Grin

Witzigerweise hab ich am Freitag an genau der gleichen Problematik gebastelt (ich benutze recht viele Action Engies um Queues zu erstellen und wollte aus einer dieser Action Engines eine Klasse machen um sie als Basisklasse zu verwenden...) und ich bin zu dem Schluss gekommen - und ich vermute mal da bist du auch drüber gestolpert, sonst hättest du die Daten, die du übertragen willst, nicht als String geflattet - Queues verhindern die Type Propagation von Objekten. Mein Fazit war mal wieder: "ach verdammte Scheisse, wär ja gar nich so schlecht dieses OOP, wenn man's denn nur vernünftig einsetzen könnte *heul*". d.h. so lange man nicht über das dynamic dispatch Terminal den Datentyp der Queue beim "Dequeue Element" festlegen kann, bleibt die Umsetzung in LVOOP einfach nur ein Muster ohne Wert, eine Spielerei, nicht tauglich für "in Production Projekte" ...

so far,
CB

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
Tasking Library - eg - 08.12.2008, 12:49
RE: Tasking Library - railang - 30.10.2013, 22:45
Tasking Library - eg - 08.12.2008, 13:38
Tasking Library - IchSelbst - 08.12.2008, 22:40
Tasking Library - eg - 08.12.2008, 22:44
Tasking Library - eg - 09.12.2008, 02:34
Tasking Library - IchSelbst - 09.12.2008, 20:51
Tasking Library - IchSelbst - 09.12.2008, 20:55
Tasking Library - eg - 09.12.2008, 21:12
Tasking Library - eg - 09.12.2008, 21:20
Tasking Library - IchSelbst - 09.12.2008, 21:42
Tasking Library - eg - 09.12.2008, 22:13
Tasking Library - IchSelbst - 09.12.2008, 22:48
Tasking Library - cb - 09.12.2008 22:51
Tasking Library - eg - 09.12.2008, 23:48
Tasking Library - macces - 12.12.2008, 08:27
Tasking Library - eg - 12.12.2008, 10:58
Tasking Library - rasta - 13.12.2008, 07:26
Tasking Library - cb - 13.12.2008, 08:58
Tasking Library - eg - 15.12.2008, 23:20
Tasking Library - eg - 15.12.2008, 23:26
Tasking Library - cb - 16.12.2008, 19:23
Tasking Library - macces - 08.01.2009, 11:21
Tasking Library - eg - 08.01.2009, 11:36
Tasking Library - macces - 08.01.2009, 11:46
Tasking Library - rolfk - 09.01.2009, 12:03
Tasking Library - cb - 09.01.2009, 17:24
Tasking Library - macmarvin - 17.03.2009, 09:28
Tasking Library - Achim - 17.03.2009, 09:44
Tasking Library - macmarvin - 17.03.2009, 22:13
Tasking Library - eg - 17.03.2009, 22:25
Tasking Library - macmarvin - 17.03.2009, 23:22
Tasking Library - eg - 17.03.2009, 23:43
Tasking Library - eg - 18.03.2009, 00:00
Tasking Library - macmarvin - 18.03.2009, 00:17
Tasking Library - rolfk - 18.03.2009, 08:12
Tasking Library - eg - 18.03.2009, 11:49
Tasking Library - rolfk - 18.03.2009, 14:15
Tasking Library - eg - 18.03.2009, 14:33
Tasking Library - rolfk - 18.03.2009, 15:20
Tasking Library - eg - 18.03.2009, 15:30
Tasking Library - cb - 18.03.2009, 19:43
Tasking Library - rolfk - 19.03.2009, 09:33
Tasking Library - eg - 12.05.2009, 11:59
Tasking Library - cb - 12.05.2009, 12:54
Tasking Library - rasta - 18.05.2009, 13:10

Gehe zu: