LabVIEW
Le LabVIEW (abréviation l'orkbench ngineering irtual de W E de nstrumentation de I V d'éloquence de laboratoire ) est un environnement de plate-forme et de développement pour un langage de programmation visuel des instruments nationaux . Le langage graphique est appelé " ; G" ;. À l'origine est libéré pour le Apple Macintosh dans le 1986 , LabVIEW utilisé généralement pour le par acquisition de données, la commande d'instrument de , et l'automation industrielle sur une série de plates-formes comprenant le Microsoft Windows , diverses saveurs de UNIX , Linux , et OS de Mac de . La dernière version de LabVIEW est la version 8.5, libérée en août de 2007.
Programmation de flux de données
Le langage de programmation utilisé dans LabVIEW, appelé le G, est un flux de données de programmant la langue de . L'exécution est déterminée par la structure d'un schéma fonctionnel graphique (le code de BT-source) sur lequel le programmeur relie différents fonction-noeuds en dessinant des fils. Ces fils propagent des variables et n'importe quel noeud peut s'exécuter dès que toutes ses données d'entrée deviendront disponibles. Puisque ceci pourrait être le point de droit pour des noeuds multiples simultanément, G est en soi capable de l'exécution parallèle. Le multitraitement et le matériel multifile du est automatiquement exploité par le programmateur intégré, que le multiplexe les fils multiples d'OS de au-dessus des noeuds prêts pour l'exécution.
Programmeurs avec un fond dans conventionnel programmant souvent l'exposition une certaine hésitation adopter l'arrangement de flux de données de LabVIEW, réclamant que LabVIEW est à conditions de compétitivité enclines . En réalité, ceci provient d'un malentendu du paradigme de flux de données. Le flux de données mentionné ci-dessus (qui peut être obligatoire, typiquement en liant des entrées et des sorties des noeuds) définit complètement l'ordre d'exécution, et cela peut être entièrement commandé par le programmeur. Ainsi, l'ordre d'exécution de la syntaxe graphique de LabVIEW est aussi bien défini qu'avec n'importe quelle langue textuellement codée telle que le C , le Visual Basic , le python etc. En outre, LabVIEW n'exige pas le type définition des variables ; le type de fil est défini par le noeud donnée-fournisseur. LabVIEW soutient le polymorphisme du fait les fils s'ajustent automatiquement sur de divers types de données.
Programmation graphique
LabVIEW attache la création des interfaces utilisateurs (appelées les panneaux avant) dans le cycle de développement. Des programmes/sous-routines de LabVIEW s'appellent les instruments virtuels (VIs). Chaque VI a trois composants : un schéma fonctionnel, un panneau avant et un carreau de connecteur. Ce dernier peuvent représenter le VI comme subVI dans des schémas fonctionnels d'appeler la force. Les commandes et les indicateurs sur le panneau avant permettent un opérateur aux données d'entrée dans ou extraient des données à partir d'un instrument virtuel courant. Cependant, le panneau avant peut également servir d'interface selon les programmes. Ainsi un instrument virtuel peut ou être couru comme programme, avec la portion de panneau avant comme interface utilisateurs, ou, une fois laissé tomber comme noeud sur le schéma fonctionnel, le panneau avant définit les entrées et les sorties pour le noeud donné par le carreau de connecteur. Ceci implique chaque VI peut être facilement examiné avant d'être enfoncé comme sous-routine dans un plus grand programme.
L'approche graphique permet également à des non-programmeurs d'établir des programmes simplement en traînant et en laissant tomber les représentations virtuelles de l'équipement de laboratoire avec lequel elles sont déjà familiarisées. L'environnement de programmation de LabVIEW, avec les exemples inclus et la documentation, le rend plus simple pour créer de petites applications. C'est un avantage d'un côté mais il y a également un certain danger de sous-estimer l'expertise requise pour le " de bonne qualité ; G" ; programmation. Pour des algorithmes complexes ou le code à grande échelle il est important que le programmeur possèdent une connaissance étendue de la syntaxe spéciale de LabVIEW et de la topologie de sa gestion de la mémoire principale. Les systèmes de développement les plus avancés de LabVIEW offrent la possibilité d'établir des applications autonomes. En outre, il est possible de créer les applications réparties qui communiquent par un arrangement de client/serveur, et est ainsi plus facile de mettre en application en raison de la nature en soi parallèle du G - code.
Pour maintenir nettoyer et l'utilisateur lisible VI connecte son meilleur pour maintenir ces bouts dans l'esprit : Maintenir les panneaux simples et nettoyer, garder un modèle cohérent, nettoyer les fils où toujours possible, employer la terminologie appropriée en marquant des commandes et des indicateurs.
Avantages
Un avantage de LabVIEW au-dessus d'autres environnements de développement est le soutien étendu du matériel de accès d'instrumentation. Les conducteurs et les couches d'abstraction pour beaucoup de différents types des instruments et d'autobus sont inclus ou sont disponibles pour l'inclusion. Ces présent eux-mêmes en tant que noeuds graphiques. Les couches d'abstraction offrent des interfaces de logiciel standard pour communiquer avec des dispositifs câblés. Les interfaces fournies de conducteur épargnent le temps de mise au point de programmes. Le boniment des instruments nationaux est, donc, que même les gens avec une expérience limitée de codage peuvent écrire des programmes et déployer des solutions d'essai dans un délai de temps réduit une fois comparés à des systèmes plus conventionnels ou plus concurrençants. Une nouvelle topologie de conducteur de matériel (DAQmxBase), qui consiste principalement en composants G-codés avec seulement quelques appels de registre par des fonctions du matériel DDK (le kit de mesure de Ni de développement de conducteur), fournit l'accès indépendant de matériel de plate-forme à de nombreux dispositifs par acquisition de données et d'instrumentation. Le conducteur de DAQmxBase est disponible pour LabVIEW sur des plates-formes de Windows, de MacOSX et de Linux.
En termes d'exécution, LabVIEW inclut un compilateur qui produit le code indigène pour la plate-forme d'unité centrale de traitement. Le code graphique est traduit en code machine exécutable en interprétant la syntaxe et par la compilation. La syntaxe de LabVIEW est strictement imposée pendant le procédé d'édition et compilée dans le code machine exécutable une fois demandée de courir ou sur l'économie. Dans le dernier cas, le code source exécutable et sont fusionnés dans un dossier simple. Les courses exécutables à l'aide du moteur d'exécution de LabVIEW, qui contient un certain code précompilé pour effectuer les tâches communes qui sont définies par la langue de G. Le moteur d'exécution réduit au moment de la compilation et fournit également une interface cohérente à de divers logiciels d'exploitation, à systèmes graphiques, à composants de matériel, etc. L'environnement d'exécution fait le portable de code à travers des plates-formes. Généralement, le code de BT peut être plus lent que le code compilé équivalent de C, bien que le mensonge de différences souvent plus avec l'optimisation de programme que la vitesse d'exécution inhérente.
Beaucoup de bibliothèques avec un grand nombre de fonctions pour la génération de signaux par acquisition de données, les mathématiques, les statistiques, le traitement de signal, l'analyse, etc., avec de nombreux éléments d'interface graphique sont fournies dans plusieurs options de paquet de LabVIEW.
Le caractère entièrement orienté objectivement du code de LabVIEW permet la réutilisation de code sans modifications : tant que les types de données de l'entrée et de rendement sont conformés, la force deux secondaire sont échangeable.
Le système de développement professionnel de LabVIEW laisse créer les executables autonomes et l'exécutable résultant peut être distribué un nombre de fois illimité. Le moteur d'exécution et ses bibliothèques peuvent être fournis librement avec l'exécutable.
Un avantage de l'environnement de LabVIEW est la nature indépendante de plate-forme du code de G, qui est (excepté quelques fonctions platform-specific) portable entre les différents systèmes de LabVIEW pour différents logiciels d'exploitation (Windows, MacOSX et Linux). Les instruments nationaux se concentre de plus en plus sur les possibilités de déployer le code de LabVIEW sur un nombre croissant de cibles comprenant des dispositifs comme les contrôleurs en temps réel basés par OS du recouvrement LabVIEW de Phar de , PocketPCs, PDAs, modules de FieldPoint et dans le FPGAs sur les conseils spéciaux.
Il y a les institutions de formation visées d'étudiant de LabVIEW de coût bas par édition pour apprendre des buts. Il y a également une communauté active des utilisateurs de LabVIEW qui communiquent par plusieurs groupes d'email et forum d'Internet.
Critique
LabVIEW est un produit de propriété industrielle du des instruments nationaux . À la différence des langages de programmation communs tels que le C ou le Fortran , LabVIEW de n'est pas contrôlé ou n'est pas spécifié par un tiers comité de normalisation tel que la norme ANSI .
l'addition, en date de la version 8, tout le LabVIEW installe exigent des clients d'entrer en contact avec les instruments nationaux par Internet ou de téléphoner au " ; activate" ; le produit. La dépendance croissante à l'égard le fournisseur suggère une menace possible à l'intimité et à la protection des données. Par exemple, bien que les instruments nationaux réclame le processus est " ; fixer et anonymous" ; l'implication immédiate est qu'un exemple légal mais en privé installé de LabVIEW ne semble plus possible.
Établir une application autonome avec LabVIEW exige le composant de générateur d'application qui est inclus avec le système de développement professionnel mais exige un achat séparé si en utilisant le paquet bas ou le plein système de développement. Le compilé Executables a produit par le générateur d'application ne sont pas vraiment autonome du fait ils exigent également que le moteur d'exécution de LabVIEW soit installé sur n'importe quel ordinateur de cible sur lequel les utilisateurs courent l'application. L'utilisation des commandes standard exige une bibliothèque d'exécution pour n'importe quelle langue et tous les fournisseurs du système d'exploitation importants fournissent les bibliothèques required pour des langages communs tels que « C ». Cependant, le temps d'exécution exigé pour LabVIEW n'est pas assuré avec du système d'exploitation et est exigé pour être spécifiquement installé par l'administrateur ou l'utilisateur. Cette condition peut poser des problèmes si une application est distribuée à un utilisateur qui peut être disposé à courir l'application mais n'a pas l'inclination ou la permission d'installer les dossiers additionnels sur le système hôte avant de courir l'exécutable. Le besoin de moteur d'exécution séparé-installé de LabVIEW réduit de manière significative la portabilité des applications de LabVIEW et rend leur développement et distribution plus difficiles.
Il y a une certaine discussion de savoir si LabVIEW est vraiment un langage de programmation d'usage universel (ou dans certains cas si c'est vraiment un langage de programmation du tout) par opposition à un environnement de développement spécifique à l'application pour la mesure et l'automation. Les critiques indiquent un manque de dispositifs, commun dans la plupart des autres langages de programmation, tels que la récursion indigène et, jusqu'à la version 8.20, les dispositifs orientés objectivement.
Tandis que directement l'utilisation de la récursion n'est pas disponible dans LabVIEW, il est certainement possible de mettre en application la récursion dans LabVIEW using s'aligner et un " ; machine" d'état ; conception simplement en ayant un " particulier ; state" ; d'une machine d'état envoyer une commande de file d'attente de s'appeler quel la prochaine itération de la machine d'état (habituellement mise en application en tant que l'un ou l'autre un " ; while" ; ou " ; for" ; la boucle) processus. Opérations de pile de " ; pushing" ; et " ; popping" ; employé souvent mettre en application des opérations récursives dans d'autres langues qui ne soutiennent pas la récursion peut également être mise en application using les files d'attente pour lesquelles LabVIEW a eu l'appui indigène depuis la version 5.
Une conception plus moderne de code dans LabVIEW a tendu en dernières années vers l'utilisation VI dynamique des communications basées par file d'attente fileter-sûre de utilisation de lancement entre VI dynamiquement lancé. Des exemples multiples d'un processus particulier peuvent même être traités par l'utilisation de VIT dynamiquement lancés ou de VI les calibres qui créent des exemples numérotés du VIT original quand en quelque sorte analogue lancé pour fileter le lancement dans C++.
Ces innovations dans la conception de code par des réalisateurs leur ont permises de surmonter certaines des limitations originales de l'architecture basée par écoulement traditionnel et d'échanger ce paradigme pour l'hybride ce de petites îles de ponts de " ; based" d'écoulement ; code avec un " transactionnel ; messaging" ; architecture basée qui est beaucoup plus modulaire et orientée objectivement. Des hiérarchies monolithiques très grandes de la charge statique VI ont été remplacées en code de large échelle par une série d'un plus petit " VI ; objects" ; cela exécutent un ensemble logique de fonctionnalité et communiquent à l'autre " ; objects" ; par la file d'attente basée transmission de messages.
Ceci permet le " individuel ; objects" ; pour être beaucoup plus petit dans la taille, beaucoup moins le complexe dans la conception, et suivre un écoulement beaucoup plus simple et intérieurement mieux compris de code using le " ; machine" d'état ; la conception et permet en même temps à des projets multifil plus complexes beaucoup à grande échelle d'être développés avec beaucoup moins d'effort et d'élimination des imperfections qu'en jours plus tôt de LabVIEW avant l'existence de la queue et de VI dynamique lançant.
LabVIEW est également relativement cher comparé à d'autres suites de développement. LabVIEW commence à $1199 (évaluation 2007) pour la version et les courses basses jusqu'à $4299 pour la suite de réalisateur de Ni. L'édition professionnelle, qui est le paquet le meilleur marché qui empaquette le générateur d'application, coûte $4099. Ceci compare au studio visuel qui commence à $299 (évaluation 2007) pour l'édition standard. LabVIEW est également disponible dans une version complète d'édition d'étudiant qui inclut un manuel pour $100.
Logiciel relatif
Les instruments nationaux offre également un produit appelé Measurement Studio, qui offre plusieurs des possibilités d'essai, de mesure et de commande de LabVIEW, comme ensemble de classes pour l'usage avec le studio visuel de Microsoft . Ceci permet à des lotisseurs d'armer certaines des forces de LabVIEW dans le cadre du basé par texte .Les instruments nationaux offre également LabWindows/CVI comme alternative pour des programmeurs en langage C de norme ANSI.
Voir également
par acquisition de données Programmation graphique
Instruments nationaux
Instrumentation virtuelle
.
| Random links: | Oak Ridge, comté de Kaufman, le Texas | Arne Anka | Riverdance | Francesco Morosini | Parang, Sulu | LabVIEW |