Portieren von VIs auf andere Plattformen
- Aktualisiert2025-08-27
- 8 Minute(n) Lesezeit
Die Übertragbarkeit von VIs hängt von verschiedenen Faktoren ab. Dazu gehören Dateiname, Trennzeichen, Auflösung und Schriftart, mögliche Überlappung von Beschriftungen und Unterschiede bei Grafikformaten.
Portierbare und nicht portierbare VIs
VIs können auf alle Plattformen übertragen werden, auf denen LabVIEW installiert ist. Allerdings muss es sich um dieselben LabVIEW-Versionen handeln. VIs mit plattformspezifischen Eigenschaften wie .NET oder ActiveX sind nicht portierbar. Die Übertragung solcher VIs führt zu fehlerhaften VIs.
LabVIEW verwendet auf allen Plattformen dasselbe Dateiformat.
Wenn Sie ein VI auf einer neuen Plattform öffnen, erkennt LabVIEW, dass das VI von einer anderen Plattform stammt. Das VI wird daraufhin neu kompiliert, so dass die richtigen Anweisungen für den aktuellen Prozessor verwendet werden. Wenn Sie VIs mittels Disketten übertragen, die für eine andere Plattform formatiert wurden, benötigen Sie für das Lesen der Diskette eventuell ein Dienstprogramm.
Folgende VIs können nicht portiert werden:
- Im Verzeichnis vi.lib verteilte VIs — Jedes Softwarepaket von LabVIEW enthält eine eigene vi.lib. Verschieben Sie keine VIs von vi.lib auf andere Plattformen.
- Kompatibilitäts-VIs — LabVIEW verwendet diese VIs, wenn Sie VIs mit älteren Versionen von LabVIEW erstellt und sie in einer neueren LabVIEW-Version geöffnet haben. Kompatibilitäts-VIs emulieren Funktionen der vorherigen Versionen von LabVIEW. Werden diese VIs portiert, so funktionieren sie nicht mehr, da sie plattformspezifische DLLs aufrufen.
- VIs mit dem Knoten zum Aufruf externer Bibliotheken — Das Portieren dieser VIs führt zu Fehlern, wenn nicht eine Bibliothek mit demselben Namen gefunden wird, auf den die Funktion "Aufruf externer Bibliotheken" verweist.
- Plattform-spezifische Kommunikations-VIs wie .NET- oder ActiveX-VIs auf Windows und AppleEvents-VIs auf macOS.
- Die Funktionen VISA: Peek und VISA: Poke.
Unterschiede bei Dateinamen
- Vermeiden Sie Dateinamen mit mehr als 255 Zeichen.
- Verwenden Sie nach Möglichkeit keine für andere Plattformen ungültige Zeichen in Dateinamen. Der Doppelpunkt (:) ist ungültig unter macOS, der Schrägstrich (/) ist ungültig unter Linux und folgende Zeichen sind ungültig unter Windows: \, /, :, *, ?, ", <, > und |.
- Auf Groß-/Kleinschreibung muss nur bei Linux geachtet werden. Verweisen Sie auf ein VI über den Namen, so sollten Sie konsequent die Großschreibung verwenden.
Unterschiede bei Trennzeichen
Wenn Sie ein VI entwickeln, das auf anderen Plattformen eingesetzt werden soll, verwenden Sie keine plattformspezifischen Pfadseparatoren wie \, / oder : in Dateinamen. Vermeiden Sie Sonderzeichen in Dateinamen, da diese von verschiedenen Dateisystemen individuell interpretiert werden. So beginnen beispielsweise versteckte Dateien unter Linux mit einem Punkt.
Auflösung und Unterschiede bei der Schriftart
Schriftarten können von Plattform zu Plattform variieren. Wählen Sie nach der Übertragung eines VIs neue Schriftarten, um eine ansprechende Anzeige zu erhalten. Versuchen Sie bei der Entwicklung von VIs Schriftarten zu wählen, die auf den verschiedenen Plattformen am besten abgebildet werden können: Schriftart für die Anwendung, das System und die Dialogfelder.
Die Anwendungsschriftart ist die LabVIEW-Standardschriftart für die Paletten Elemente und Funktionen sowie für die Kontexthilfe und Tipps.
Die Systemschriftart ist die LabVIEW-Standardschriftart für Menüs.
Die Dialogschriftart ist die LabVIEW-Standardschriftart für Dialogfelder und Systemelemente.
Die Standardschriftart ist abhängig von der Plattform für alle drei Schriftarten gleich:
- (Windows) LabVIEW verwendet per Voreinstellung Segoe UI.
- (macOS) LabVIEW verwendet per Voreinstellung Lucida Grande.
- (Linux) LabVIEW verwendet per Voreinstellung Helvetica.
Wenn Sie ein VI mit einer dieser Schriftarten auf eine andere Plattform portieren, stellt LabVIEW sicher, dass auf der neuen Plattform eine ähnliche Schriftart gewählt wird.
Wenn Sie keine der definierten Schriftarten verwenden, kann sich auf der neuen Plattform die Größe ändern. Dies liegt an den Unterschieden zu den verfügbaren Schriftarten und den Unterschieden in der Auflösung der Anzeige der neuen Plattform. Wählen Sie beispielsweise Geneva oder New York auf einem macOS und portieren das VI auf ein Windows-System, so kann LabVIEW diese Schriftart nicht finden und ersetzt sie durch Arial. Die Ersatzschriftart unterscheidet sich dann eventuell vom Original und Objekte überlappen. Wenn Sie ein VI auf Windows portieren und Windows Schriftarten nicht erkennt, so kann die neue Schriftart anders angezeigt werden.
Genauso kann es passieren, dass eine Schriftart auf einem System mit einer anderen Spracheinstellung nicht erkannt wird. So ist es beispielsweise möglich, dass ein japanisches System die Windows-Schriftart Arial nicht kennt. Verwenden Sie die Anwendungs-, Dialog- und Systemschriftarten, um ein Zurücksetzen von Schriftarten nach der Lokalisierung einer Anwendung zu vermeiden.
Wenn Sie eine definierte Schriftart auf einen Textabschnitt anwenden, dann verändern Sie nicht die Größe des Texts. Entspricht die Schriftart bei der Übertragung des VIs auf eine andere Plattform nicht der Standardgröße, so versucht LabVIEW die Schriftart der neuen Größe anzupassen und das könnte je nach Auflösung des Bildschirms zu einer unangemessenen Anzeige führen.
Probleme mit dem Zeichencode
Ein Computer stellt Daten in Form von Bytes dar. Buchstaben und andere Zeichen werden gespeichert, indem jedem Zeichen ein Code zugeordnet wird.
Im einfachsten Fall entspricht ein Byte einem Zeichen, wie in einer Zuordnungstabelle oder Kodierung festgelegt. Die meisten Betriebssysteme unterstützen verschiedene Kodierungen. Eine Art von Kodierung ist die Single-Byte-Kodierung, mit der bis zu 256 Zeichen dargestellt werden können. Um über die im Englischen gebräuchlichen Zeichen hinaus auch andere Zeichen darstellen zu können, unterstützen Betriebssysteme Multi-Byte-Kodierungen. Mit Multi-Byte-Kodierungen können Tausende von Zeichen unter Verwendung mehrerer Bytes für jedes Zeichen dargestellt werden Japanische und chinesische Systeme verwenden Multi-Byte-Kodierungen zur Darstellung mehrerer tausend Zeichen. Fast alle Betriebssysteme unterstützen jetzt auch variable Kodierungen, in denen weniger Bytes für die häufigsten Zeichen verwendet werden. Variable Zeichensätze wie beispielsweise UTF-8 benutzen ein Single-Byte für die ersten 128 Zeichen und fügen dann zusätzliche Bytes hinzu, um die Anzahl der darstellbaren Zeichen zu vergrößern.
Der gängigste 8-Bit-Zeichensatz in den USA und in westeuropäischen Ländern ist ISO Latin I, eine Erweiterung des ASCII-Codes.
Bei der ASCII-Kodierung handelt es sich um einen 7-Bit-Code (von 0 bis 127). Der Code enthält englische Groß- und Kleinbuchstaben, amerikanische Satzzeichen, Dezimalzahlen und ein paar Steuercodes. Steuercodes sind nicht druckbare Zeichen zur Textformatierung. Die meisten ASCII-Zeichen im Bereich \0x21 bis \0x7F sind darstellbare Zeichen.
Um internationale Zeichen darstellen zu können, unterstützen Betriebssysteme 8-Bit-Zeichensätze wie ISO Latin I, eine Erweiterung des ASCII-Codes. Die unteren 128 Zeichencodes sind identisch mit dem ASCII-Code. Die oberen 128 sind für jede Kodierung anders. Die verschiedenen internationalen Zeichen werden mit den oberen 128 Zeichencodes dargestellt. LabVIEW für Windows und Linux verwenden 8-Bit-Zeichensätze, aber mit unterschiedlichen Kodierungen, was beim Umstellen von Programmen auf ein anderes Betriebssystem zu Problemen führen kann.
In LabVIEW für Windows und Linux wird in den USA und westeuropäischen Ländern ISO Latin 1 verwendet (auch bekannt als Codepage). Für Betriebssysteme auf Japanisch, Chinesisch oder Koreanisch verwendet LabVIEW verschiedene Multi-Byte-Kodierungen, um die jeweiligen Zeichen darzustellen. Die Kodierung wird abhängig von der Ländereinstellung und Spracheinstellung des Betriebssystems ausgewählt. Die Kodierungen sind in diesem Fall identisch für Windows und Linux, so dass seltener Probleme beim Portieren auftreten. LabVIEW für macOS (64 Bit) verwendet eine variable Erweiterung des ASCII-Codes mit dem Namen UTF-8, die auf alle Sprachen anwendbar ist.
|
Hinweis Die UTF-8-Kodierung wird auf allen Betriebssystemen unterstützt. Unter Windows arbeitet LabVIEW jedoch aus Gründen der Kompatibilität mit vorhandenen Anwendungen nicht mit UTF-8. |
Wenn Sie ein VI von einer Plattform auf eine andere übertragen, z. B. von macOS auf Windows oder umgekehrt, kann es aufgrund der unterschiedlichen Codeseiten, besonders bei der Verwendung von Nicht-ASCII-Zeichen innerhalb der oberen 128 Zeichen, zu Problemen kommen. Das französische Wort café beispielsweise enthält das erweiterte Zeichen é, dessen Hexadezimalwert auf einem Windows-System \0xE9 lautet. Unter macOS (64 Bit) wird das Zeichen é durch die Kombination der zwei Bytes \0xC3\0xA9 ausgedrückt.
LabVIEW konvertiert eine Codeseite für Elemente wie Untertitel, Hinweise für und Beschreibungen von VIs und Parametern, VI-Titel und andere private Daten. Zu Privatdaten gehören Namen von Listenfeld-Elementen, Titel von Tabellenzeilen und -spalten, für Tabellenzellen verwendete Schriftart sowie Namen von Graphen-Kommentaren und Mauszeigern. LabVIEW ordnet aber keine Beschriftungen oder String-Inhalte zu. Beschriftungen und Strings werden nach der Umstellung auf eine andere Plattform möglicherweise anders als erwartet angezeigt und müssen manuell nachbearbeitet werden. Wenn Sie VIs von Windows oder Linux auf macOS (oder umgekehrt) übertragen möchten, sollten die Strings in den VIs daher keine internationalen Zeichen enthalten.
LabVIEW führt keine Zeichensatzkonvertierung durch, da Strings als Binärdaten interpretiert werden können. Wenn Sie über GPIB oder seriellen Anschluss mit einem Gerät kommunizieren und Ihr Gerät den Binär-String \0x63\0x61\0x66\0xC3\0xA9 erwartet, wird dieser String unter macOS (64 Bit) als café und unter Windows als café angezeigt. In beiden Fällen ist der gleiche Binär-String an das Gerät zu senden. Zur Vermeidung eines solchen Fehlers führt LabVIEW bei Strings keine Zeichensatzkonvertierung durch.
Beim Konvertieren von Beschriftungen in eine andere Kodierung kann es zu Fehlern in den VIs kommen. Wenn Sie beispielsweise die Funktion Nach Namen aufschlüsseln auf Elemente anwenden, würde das Konvertieren der Strings in einen anderen Zeichensatz dazu führen, dass die Namensreferenzen für die Elemente nicht mehr übereinstimmen.
Überlappende Beschriftungen
Beim Übertragen eines VIs auf eine neue Plattform kann sich die Größe von Bedienelementen und Beschriftungen ändern, wenn die Schriftarten auf der neuen Plattform größer oder kleiner sind. LabVIEW vermeidet Überlappungen von Beschriftungen und dazugehörigen Objekten, indem es die Beschriftungen in größerer Entfernung vom Objekt anzeigt. Darüber hinaus ist für jede Konstante das Attribut Größe an Text anpassen per Standardeinstellung aktiviert. Dieses Attribut wird beim Erstellen einer Beschriftung oder Konstante gesetzt, so dass das Objekt flexibel auf den darzustellenden Text reagiert.
Wenn Sie die Beschriftung manuell ändern, deaktiviert LabVIEW dieses Attribut und das Häkchen am entsprechenden Punkt im Kontextmenü wird ausgeblendet. Wenn Größe an Text anpassen deaktiviert ist, passt sich das Objekt nicht an den Text an und der Text kann demnach abgeschnitten werden. Lassen Sie das Attribut für Beschriftungen und Konstanten beim Umstellen auf andere Plattformen aktiviert, da sonst Text abgeschnitten werden kann. Nachdem Sie die Größe der Beschriftung geändert haben, können Sie das Attribut Größe an Text anpassen manuell aktivieren.
Nicht alle Computer haben hochauflösende Bildschirme. Auch wenn Ihr Bildschirm eine hohe Auflösung hat und daher ein sehr großes Frontpanel darstellen kann, sollten Sie beachten, dass das andere System in seiner Fähigkeit zur Darstellung großer Frontpanels beschränkt sein kann. Lassen Sie darüber hinaus immer etwas Platz zwischen den Bedienelementen und vermeiden Sie überlappende Bedienelemente. Eine kleine Überlappung zwischen zwei Beschriftungen kann bei Systemen mit größerer Schrift dazu führen, dass eine der Beschriftungen gänzlich verdeckt wird.
Unterschiede bei Bildern
Der einfachste Bildtyp enthält ein Bitmap. Dabei handelt es sich um eine Reihe von Werten, die die Farbe jedes Pixels im Bild angeben. Komplexere Bilder können Befehle enthalten, die beim Darstellen des Bildes ausgeführt werden.
Erstellen Sie Bilder, die auf Bitmaps beruhen, in die Zeichenebene Ihres Bildbearbeitungsprogramms. Bitmaps sind typische Speicherformate für Bilder auf allen Plattformen. Wenn Sie Bilder mit Bitmaps auf Frontpaneln verwenden, sehen diese normalerweise auch beim Laden der VIs auf anderen Plattformen gleich aus. Bilder mit Zeichenbefehlen, beispielsweise zum Füllen von Flächen, enthalten jedoch möglicherweise Befehle, die auf anderen Plattformen nicht unterstützt werden. Prüfen Sie daher, wie VIs auf einer anderen Plattform aussehen, wenn sie diese dort verwenden möchten.
Erstellen Sie Bilder, die Zeichenbefehle enthalten, in der Zeichenebene Ihres Bildbearbeitungsprogramms. Ein Bild lässt sich leichter auf ein anderes Betriebssystem übertragen, wenn die endgültige Version vor dem Importieren in das VI in die Zeichenebene eines Bildbearbeitungsprogramms eingefügt wird.
(Windows und macOS) Bei einigen Bildbearbeitungsprogrammen auf Windows-Systemen und bei vielen Bildbearbeitungsprogrammen auf Systemen mit macOS können Sie Bilder in einem nicht rechteckigen Format ausschneiden oder kopieren. Bei macOS können Sie beispielsweise mit dem Lasso-Werkzeug einen kreisförmigen, dreieckigen oder etwas komplizierteren Umriss (z. B. eine Musiknote) auswählen.
Auf anderen Plattformen werden unregelmäßige Formen möglicherweise auf einem rechteckigen weißen Hintergrund angezeigt. Unter Windows sollten Sie für unregelmäßig geformte und gut skalierbare Bilder Anwendungen nutzen, die erweiterte Metadateien unterstützen.