Close

Appeler une bibliothèque de liens dynamiques (DLL) depuis LabVIEW

Posté le: 28/07/22 | Catégories: Actualités, NI

Grâce au logiciel LabVIEW !

Appeler une bibliothèque de liens dynamiques (DLL) depuis LabVIEW
  • Software
    • LabVIEW
  • Langage de programmation
    • C
    • C++
    • C# .NET

Si vous avez du code écrit en C, C++ ou un autre langage de programmation, vous pouvez l'utiliser dans LabVIEW en appelant la bibliothèque liée dynamiquement (DLL) dont il fait partie. Ce didacticiel explique les options de chargement des DLL dans LabVIEW. Ce didacticiel suppose une connaissance des DLL et de leurs fichiers associés.

AVANT DE COMMENCER :

Il existe plusieurs façons d'importer du code d'autres langages de programmation dans LabVIEW. Pour déterminer la méthode à utiliser, tenez compte des points suivants :

1. Votre bibliothèque est-elle une DLL C/C++ ou une DLL Microsoft .NET Assembly/.NET ?

Pour déterminer le type de bibliothèque dont vous disposez, vous pouvez vérifier l'en-tête Portable Executable (PE) pour les fichiers DLL.

Si vous utilisez un assemblage Microsoft .NET, il faudra importer des fonctions d'assemblage .NET avec un nœud de constructeur ci-dessous.

2. Avez-vous un fichier d'en-tête (*.h) pour votre DLL C/C++ ?

Si vous n'avez pas de fichier d'en-tête, il faudra :

  • Configurer manuellement les fonctions DLL à l'aide du nœud de fonction d'appel de bibliothèque.

3. Quels types de données votre ou vos fonctions utilisent-elles ?

Si la ou les fonctions que vous souhaitez appeler utilisent des types de données pris en charge, vous pouvez continuer à utiliser l'assistant d'importation de bibliothèque partagée.

Il faudra aller à la section "Importer des fonctions avec l'assistant d'importation de bibliothèque partagée".

Si vos fonctions utilisent des types de données complexes ou non pris en charge, vous pouvez utiliser le nœud Call Library Function pour importer et formater les fonctions manuellement. Passez à la section Configurer les fonctions DLL à l'aide du nœud de fonction d'appel de bibliothèque.

Pour accompagner les étapes ci-dessous, l'outil de recherche d'exemples LabVIEW contient des exemples complets et fonctionnels de la façon d'appeler correctement du code externe dans LabVIEW.

Importer des fonctions DLL avec l'assistant d'importation de bibliothèque partagée

Si vous avez un fichier d'en-tête et que vous utilisez des types de données pris en charge, vous pouvez utiliser l'assistant d'importation de bibliothèque partagée pour importer vos fonctions DLL dans LabVIEW. Cet outil analyse le fichier d'en-tête, répertorie les fonctions de la bibliothèque partagée, convertit les types de données de la bibliothèque partagée en types de données LabVIEW et génère un VI wrapper pour chaque fonction. L'assistant enregistre les VIs dans une bibliothèque de projet LabVIEW. Il faudra aller à la section "Utiliser le fichier d'en-tête avec l'assistant d'importation de bibliothèque partagée".

Un ensemble complet d'instructions pour configurer l'assistant d'importation de bibliothèque partagée est disponible dans l'Aide LabVIEW. En bref, vous pouvez commencer votre importation en :

1. Lancez LabVIEW et accédez à Outils >> Importer... >> Bibliothèque partagée (.dll) pour lancer l'assistant d'importation de bibliothèque partagée.

2. Sélectionnez Créer des VIs pour une bibliothèque partagée, puis Suivant

3. Saisissez les chemins d'accès au fichier de bibliothèque partagée (.dll) et au fichier d'en-tête (.h).

4. Continuez à configurer chaque page selon vos besoins, importez les fonctions souhaitées et sélectionnez Suivant.

5. Une fois la configuration terminée, sélectionnez Terminer pour créer votre fichier de bibliothèque de projet LabVIEW (.lvlib).

image 1

Configurer les fonctions DLL à l'aide du nœud de fonction d'appel de bibliothèque

Si vous n'avez pas de fichier d'en-tête ou si vous utilisez des types de données non pris en charge dans votre DLL C/C++, utilisez le nœud Call Library Function Node pour extraire manuellement les fonctions souhaitées de la DLL et formater les entrées et les sorties attendues.

1. Lancez LabVIEW et ouvrez un nouveau VI.

2. Sur le diagramme, ajoutez un nœud Call Library Function et double-cliquez sur le nœud pour lancer la fenêtre de configuration.

3. Configurez le nœud Call Library Function à l'aide de la boîte de dialogue, en extrayant la fonction et en formatant les paramètres d'entrée et de sortie.

1. Dans l'onglet Fonction de la fenêtre de configuration, entrez le chemin d'accès à la DLL et sélectionnez la fonction que vous souhaitez appeler.

image 2

2. Accédez à l'onglet Paramètres dans la fenêtre de configuration. Ici, vous allez ajouter des paramètres et modifier le type de retour jusqu'à ce que le prototype de fonction au bas de la fenêtre corresponde à la définition de fonction de la DLL.

Si la ou les fonctions que vous souhaitez appeler contiennent des types de données complexes, vous devrez définir manuellement le prototype de la fonction dans la boîte de dialogue de configuration du nœud Call Library Function (si la DLL a été compilée avec une bibliothèque de types, les données de paramètre et les types de retour seront définis automatiquement).

image 3

3. Continuez à configurer le nœud de fonction d'appel de bibliothèque à l'aide de la boîte de dialogue avec les paramètres souhaités. Lorsque vous avez terminé, sélectionnez OK pour mettre à jour le nœud sur le schéma fonctionnel afin d'afficher les bornes d'entrée et de sortie avec les types de données configurés.

Importer des fonctions d'assemblage .NET avec un nœud de constructeur

Une DLL .NET, également appelée assembly .NET, est utile dans la programmation .NET. Une DLL .NET utilise le Common Language Runtime (CLR) et le .NET Framework pour gérer les fonctions au sein de la DLL. Vous pouvez utiliser un nœud de constructeur .NET pour insérer les fonctions à partir d'un assemblage .NET.

Pour utiliser un assemblage .NET dans LabVIEW, il suffit d'utiliser la palette .NET (Connectivité».NET) pour retrouver toutes les fonctions disponibles.

1. Lancez LabVIEW et ouvrez un nouveau VI.

2. Ajoutez un nœud de constructeur au diagramme.

3. Utilisez un nœud de constructeur pour créer une instance d'une classe dans l'assembly .NET. Cela peut être fait en double-cliquant sur le nœud du constructeur pour afficher la boîte de dialogue Sélectionner le constructeur .NET.

4. Configurez le nœud constructeur à l'aide de la boîte de dialogue en fonction des fonctions que vous appelez.

image 4

5. Utilisez les nœuds de propriété et d'appel pour accéder aux propriétés et aux méthodes de la classe en connectant simplement la référence de classe du nœud constructeur à la propriété ou au nœud d'appel.

image 5


Commentaires (0)

Pas de commentaires

Close