Die Ablaufinvarianz stellt kein Problem dar, auch hinsichtlich Speicher nicht.
Hinsichtlich der Stabilität und Zuverlässigkeit ist es von Vorteil wenn dein Programm einfach gestaltet ist. Komplexität verhindert zwar weder Stabilität noch Zuverlässigkeit aber die Gefahr das es zu Problemen kommen kann ist logischerweise größer (Mehr Code = mehr potentielle Stellen für Bugs, mehr verschiedene Technologien = mehr mögliche Fehlerquellen,...).
Die Ablaufinvarianz sollte in Deinem Fall hier kein Problem sein. Noch besser wäre vermutlich das SubVi auf Inline zu setzen und den Rest dem Compiler zu überlassen.
Holger
Man könnte auch mal daran denken, anstatt mehrere einkanalige identische SubVIs zu verwenden, ein einziges mehrkanaliges SubVi zu erstellen und zu verwenden. Das heißt natürlich nicht, dass die Ausführung damit automatisch schneller wird, aber bei entspechend cleverem Code vielleicht schon.
Zeig doch mal deine Can-Frame-Convertierung her, da wird man sehen, was sich machen läßt
Hier ein Bild meiner Konvertierung:
[
attachment=52368]
Übrigens habe ich sowieso schon eine zweite Version gemacht des dazugehörigen Über-VIs gemacht.
Zum Vergleich nochmal beide:
Version 1:
[
attachment=52369]
Version 2:
[
attachment=52370]
Bei Version 2 muss man halt das erzeugte Array aus Clustern später wieder aufdröseln zum abspeichern/visualisieren.
Welche Version glaubt ihr ist schneller, wenn bei Version 1 die SubVIs Ablaufinvariant sind?
Gruß
Slev1n
Bei aktivier Ablaufinvarianz für das SubVI dürfte wohl Variante 1 potentiell schneller sein. Gleichzeitig ist Variante 2 natürlich allgemeingültiger und funktioniert auch bei mehr als 2 Frames, was auf Variante 1 nicht zutrifft. Falls du hier performance/zeitliche Probleme hast, würde ich mich eher drum kümmern, dass du die Kanalnamen jedesmal als String rumreichst anstatt einfach nur einen Verweis (z.B. Integer) zu verwenden.
Hey,
danke für die Antwort.
Bin mir aber nicht sicher was genau du beim letzten Satz meinst. Ich schaue immer in der dbc file nach, wie die einzelnen Kanäle heißen. Wenn ich die Nachrichten IDs gleich lasse (was auch Sinn macht) dann müsste ich das nur beim ersten mal machen. Falls du das damit meinst, hast du recht
Gruß
Slev1n