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!
Also ich kenne es zum Beispiel von DraftsMan (damit habe ich früher Platinen designed, die später geätzt werden sollten), eine Funktion, die versucht im Blockdiagramm für Ordnung zu sorgen. Im wesentlichen gehts darum, kreuzende Verbindungen zu entfernen (was auch nicht immer möglich ist).
Wie ich mich kenne würde ich das ganze aber dann doch nur einmal benutzen und alle weiteren VIs wären so chaotisch wie vorher. *g* Naja, aber wenn ich was veröffentliche, dann sollte das ja auch sauber aussehen. Allerdings habe ich auch mal eine Software für Netzpläne entworfen und weiß wie umfangreich die Umsetzung sein kann.
Aber ich fänds cool,..
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
29.09.2008, 13:15 (Dieser Beitrag wurde zuletzt bearbeitet: 29.09.2008 13:15 von Achim.)
Zum Ordnung schaffen gehört mehr als Drähte anders verlegen: Es müssen Elemente anders platziert werden, Schleifen/Rahmengrößen geändert, Anschlüsse vertauscht werden, Verbindungen evt. zu Clustern zusammengefasst werden, Programmteile in Sub-Vis delegiert werden, es muß entschieden werden, wo Kommentare stehen sollten usw.usf.. Es ist unvorstellbar, daß das alles automatisch erledigt werden könnte.
Sehr wünschenswert wäre lediglich eine Funktion, die den "Wirrheitsgrad" eines VIs automatisch bestimmt. Bei zu hohem Wirrheitsgrad könnten dann die entsprechenden VIs den Postern hier im LFV automatisch wieder zurückgesandt und um die Ohren gehauen werden. Wäre doch nicht schlecht, oder?
' schrieb:Sehr wünschenswert wäre lediglich eine Funktion, die den "Wirrheitsgrad" eines VIs automatisch bestimmt. Bei zu hohem Wirrheitsgrad könnten dann die entsprechenden VIs den Postern hier im LFV automatisch wieder zurückgesandt und um die Ohren gehauen werden. Wäre doch nicht schlecht, oder?
"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)
naja logisch, dass so eine Funktion nicht gleich das ganze Programm vollständig bereinigen kann. Und dass das ganze eine recht komplizierte sache ist, ist mir auch bewusst, aber es ist machbar. Bei meine Platinen war es so dass man ein maximal wert einstellen konnte, an übereinanderliegenden drähten. Dadurch konnte man zum beispiel von den teuren siebenschichtigen platinen auf billige 2 schichtige reduzieren, einfach nur weil man anders angeordnet hat.
Okay das kann man hier auch nur bedingt anwenden, weil die bausteine in einem programm ja dann doch nicht so willkürlich gedreht und verschoben werden können wie in der e-technik. den schaltplan auf der platine muss ja keiner verstehen beim lesen, nur nachlöten,.. *g*
hier mal ein vorher nachher bild, die positionierungen könnte der algorithmus von draftsman problemlos berechnen:
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Es ist so einiges machbar, aber der Vergleich mit einem Platinenprogramm hinkt. Die Erstellung des Platinenlayouts ist der Sinn und Zweck des Programms, und hierzu, neben der manuellen Bearbeitung, mit Werkzeugen für automatisches Routen und Platzieren unterstützt zu werden, ist ein wesentliches Qualitätsmerkmal. Darin unterscheiden sich die Programme, und ein gutes Routen und Platzieren hat seinen entsprechenden Preis.
Natürlich könntest Du dem Hersteller jetzt vorschlagen - so wie Du es hier für LabVIEW erwartest - , daß er diese automatische Optimierung bitte auch als folgenlose und rein kosmetische Operation mit dem dazugehörigen Schaltplan machen möge. Die Resonanz dürfte sich sehr in Grenzen halten.
Ich habe mal vor mehr als 15 Jahren ein Programm getestet, da wurde der Schaltplan nur automatisch verdrahtet. Die Ergebnisse waren grauenhaft und ließen sich nicht manuell nachbesseren. Das Programm hieß "Electronic Workbench". Jetzt hat das Programm NI gekauft und Multisim/Ultraboard draus gemacht. Ich wette darauf, daß sie als erstes diese Automatik außer Kraft gesetzt haben. (falls es das noch gegeben haben sollte)
Ich muß auch sagen, ich kenne mehrere Programme zu Erstellung von Schaltplänen. Diese Cleverness und Leichtigkeit, mit der man in LabVIEW die Strippen im BD ziehen und Elemente verschieben kann, habe ich bei keinem dieser Programme erlebt, und das ist mir mehr wert als das was Du vorschlägst.
ja, deine Argumentation habe ich ja selbst schon eingeräumt. Ich werfe mal einfach eine weitere Anwendung in den Raum, bei der man die Umsetzbarkeit etwas deutlicher sehen könnte.
Projektmanagement:
Wie LabVIEW auch folgt ein komplexes Projekt dem Datenflussprinzip. Nur bei der PM-Software ist das ganze nicht durch den Datenfluss sondern durch die zeitlichen Zusammenhänge der einzelnen Prozesse gegeben. Und bei Microsofts Project klappt das ganze wunderbar.
Ich will nochmal betonen, dass es tatsächlich nur um eine kosmetische Behandlung des Programms gehen sollte. Eine automatische Verdrahtung müsste ja in der Lage sein den Sinn und Zweck des Programms zu erahnen. Das halte ich für unmöglich (zumindest nach dem aktuellen Stand der Technik). Aber eine Neuanordnung von Funktionen, Variablen und anderen Elementen im Blockdiagramm halte ich durchaus für realisierbar. Ob das ganze dann sinnvoll ist weiß ich ja selbst noch nicht, aber die primitiven Funktionen zum Ausrichten von Elementen die bereits in LabVIEW vorhanden sind, nutze ich sehr gerne wenn ich eine finale Version online stelle.
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
So, hier mal ein Bsp., was das "Aufräumtool" in LV8.6 "leistet":
Wie man sieht, bei einem so kleinen BD schon mal ganz gut.
Was eindeutig noch fehlt: Anwendung nur auf Teilbereiche (z.B. einem Case in einer Struktur). Typisches Bsp: Erweiterung einer aufgeräumten State-Machine um einen weiteren Zustand. Und nur in dem neuen Zustand herrscht "Chaos". Dann wäre es schön, nur diesen Fall aufräumen zu können, hne dass mir meine weitere Struktur "zerstört" wird.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Na das is doch genau das, was ich meinte,.. Schön zu sehen dass meine Idee doch nicht so abwegig war und dann doch schon so funktionsfähig existiert (und noch mal ein kleines *rotanlauf* weil ich eine alte Version bemängelt habe).
Die Ideen von Jens G sind natürlich wünschenswert und ich denke nicht zu schwer zu realisieren. Man hat feste Schnittstellen/Anschlusspunkte nach außen. Ansonsten behandlet man eben nur die markierten Elemente mit dem Aufräumtool. Sinnvolle Erweiterung die ja auch bei den anderen Ausrichtewerkzeugen in LabVIEW gang und gebe sind.
Mal ne generelle Frage: was passiert mit den Ideen die hier so während einer Diskussion aufkommen? Werden die irgendwie an NI weiter gegeben, oder ist das nur ein wunschträumen von uns und wir hoffen dass NI-Mitarbeiter sich hier rumtummeln und es lesen?
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)