Formation LabWindows/CVI

"Spiders are the only web developers that enjoy finding bugs."
On this page:


[CviCourse.png]
Formation LabWindows/CVI pdf
Français

Depuis 2015, je propose une formation à la programmation LabWindows d'un niveau introduction ou avancé, sur une durée de 3 ou 4 jours et pour jusqu'à 4 informaticiens avec l'expérience du langage C. je peux faire ce cours en français, anglais ou italien, et vous pouvez vous inscrire auprès de Styrel ou me contacter directement. Le programme se trouve ci-dessous.

Prérequis: connaissance du langage C. Note: je propose une formation en C d'une journée pour débutants, en option.

Déroulement: La formation se déroule soit dans une machine virtuelle WinXP avec LabWindows/CVI 2013 préinstallé avec tous les drivers nécessaires, ou dans une VM Win10 avec LabWindows/CVI 2020. Les différences pratiques sont mineures et la taille 5 fois plus grande du second font nettement préférer le premier (environ 10Gb). Si vous disposez de votre propre licence, nous pouvons aussi travailler sur votre propre matériel, mais nous risquons de perdre du temps avec des librairies manquantes.

Selon l'article L.6352-12 du code du travail: "Enregistré à la DIRECCTE sous le numéro 84380701538, cet enregistrement ne vaut pas agrément de l'État"

English

Note: as of 2015, I offer an introductory/intermediate training course to LabWindows programming, of a duration of 3 or 4 days for up to 4 programmers with C experience. I can do this course in english, french or italian, and you can subscribe through Styrel or contact me. Here is the outline of the course.

The course is prepared in a virtual machine with WinXP and LabWindows/CVI 2013 pre-installed with all its drivers, or alternatively a VM with Win10 and LabWindows/CVI 2020. The practical differences are insignificant and the factor 5 in size difference makes me consider the former as a preferred way.

Prerequisites: working knowledge of C programming language. Note: I offer a one day introduction course to C programming as an option.


Plan de cours

1er jour:

Repository SVN du cours
Historique
  1. L'IDE
    • L'environnement de développement
    • Utilisation des FP (function panel)
    • Exécution et debug
    • Navigation du code
    • Les librairies/FP NI
    • Exécution interactive
    • Éditeur de code
  2. L'UIR
    • Interface utilisateur
    • Les contrôles
    • Les événements
    • Les callbacks
    • Ordre des callbacks
    • Agir sur les contrôles
    • Les attributs
    • Exercice IDE+IHM
    • Les menus
    • Les constantes de l'UIR
    • Utiliser callbackData
    • L'éditeur d'IHM

    2ème jour:

  3. L'installeur
    • Créer un installeur
    • Les licences NI
  4. UIR avancée
    • Les numériques
    • Les strings
    • Les boutons, binaires et choix multiples
    • Les 2 types de Timers
    • Les popups
    • Redimensionner
    • Les graphes
    • Les strip charts
    • 2D: Images et canvas
    • Les Tabs
    • Exercices: Canvas
    • Listbox, tree, table...
    • userint.h
  5. Systèmes d'exploitation
    • Windows API
    • Créer/utiliser une DLL
    • Linux
  6. CVI Avancé
    • Génération de documentation
    • Recherche d'exemples
    • Considérations SVN/Git
    • Profiling
    • Advanced Analysis Library
    • Autres Librairies
    • Utilitaires

    3ème jour:

  7. Hardware
    • Port série
    • NI-DAQmx
    • Exercice NI-DAQmx
    • GPIB via Visa/USB
    • IVI
    • IVI - Multimètre
    • Visa pour l'USB/PXI/PCI
    • Multithreading

    4ème jour (optionnel):

  8. CVI avancé
    • Temps-réel
    • Variables réseau
    • Créer un FP
    • Tableau de contrôles
    • Custom controls
    • Graphes 3D
    • Exercice: graphes
Legacy code, bugs...
Pour aller plus loin
Liste des exercices
Plan de cours

Training course outline

1st day:

SVN repository of the course
History
  1. The IDE
    • The integrated development environment
    • using FPs (function panels)
    • Execution and debug
    • Code navigation
    • NI libraries and FPs
    • Interactive execution
    • Code editor
  2. The UIR
    • User Interface
    • Controls
    • Events
    • Callbacks
    • Callbacks order
    • Acting on controls
    • Attributes
    • Exercise IDE+GUI
    • Menus
    • UIR constants
    • Using callbackData
    • UIR editor

    2nd day:

  3. Distribution
    • Create an installer
    • NI licenses
  4. Advanced UIR
    • Numeric
    • String
    • Buttons, binaries and multiple choices
    • 2 types of Timers
    • Popups
    • Resize
    • Graph
    • Strip charts
    • 2D: Images and canvas
    • Tabs
    • Exercises: Canvas
    • Listbox, tree, table...
    • userint.h
  5. Operating systems
    • Windows API
    • Create/use a DLL
    • Linux
  6. Advanced CVI
    • Documentation generation
    • Examples search
    • SVN/Git considerations
    • Profiling
    • Advanced Analysis Library
    • Other libraries
    • Utilities

    3rd day:

  7. Hardware
    • Serial port
    • NI-DAQmx
    • NI-DAQmx Exercise
    • GPIB via Visa/USB
    • IVI
    • IVI - Multimeter
    • Visa fo USB/PXI/PCI
    • Multithreading

    4th day (optional):

  8. Advanced CVI
    • Real-time
    • network variables
    • Create an FP
    • Control arrays
    • Custom controls
    • 3D graphs
    • Graphes exercise
Legacy code, bugs...
Going further
Exercise list
Course outline


Liste des exercices

  1. L'IDE
    • 'Hello World'
    • Breakpoints
  2. L'UIR
    • prj pré-existant
    • Menus
    • Événements
  3. L'installeur
    • Créer une distribution
  4. UIR avancée
    • Timers
    • Popups
    • Redimensionnement via splitters
    • Seminar.prj
    • Canvas
    • Listbox, tree, table
  5. Systèmes d'exploitation
    • Création ou utilisation de DLL
    • Documentation
  6. CVI Avancé
    • 'No UIR'
    • Profiling
    • Icônes
  7. Hardware
    • Port série
    • Port série avec Visa
    • NI MAX
    • niDAQmx
    • DAQio
    • Panneau de test VISA et I/O Trace
    • Multimètre via Visa
    • Multimètre direct
    • Multimètre via IVI/DMM
    • Visa pour l'USB
    • Multithreading
  8. CVI Avancé (optionnel)
    • Variables réseau
    • Création de Function Panel
    • Control array
    • Custom controls
    • Graphes 3D
    • Graphe et strip chart avancés

Exercise list

  1. IDE
    • 'Hello World'
    • Breakpoints
  2. UIR
    • Existing prj
    • Menus
    • Events
  3. Distribution
    • Installer
  4. Advanced UIR
    • Timers
    • Popups
    • Resize via splitters
    • Seminar.prj
    • Canvas
    • Listbox, tree, table
  5. Operating systems
    • Using a DLL
    • Documentation
  6. Advanced CVI
    • 'No UIR'
    • Profiling
    • Icons
  7. Hardware
    • Serial port
    • Serial port with Visa
    • NI MAX
    • niDAQmx
    • DAQio
    • VISA test panel and I/O Trace
    • Multimeter via Visa
    • Multimeter direct
    • Multimeter via IVI/DMM
    • Visa for USB
    • Multithreading
  8. Advanced CVI (optional)
    • Network variables
    • Creating a Function Panel
    • Control array
    • Custom controls
    • 3D Graphs
    • Advanced graph and strip chart

Matériel utilisé pour les exercices:
  • Null modem
  • Multimètre HP 34410a & 34401a
  • Chassis NI CompactDAQ 9184
  • Carte ADC NI cDAQ 9215 (4 entrées analogiques ±10V)
  • Carte DAC NI cDAQ 9263 (4 sorties analogiques ±10V)
  • Carte USB custom
  • PC Linux (virtuel) avec CVI
  • PC avec CVI temps-réel
Hardware used for the exercises:
  • Null modem
  • HP 34410a multimeter & 34401a
  • NI CompactDAQ 9184 rack
  • NI cDAQ 9215 ADC card (4 analog inputs ±10V)
  • NI cDAQ 9263 DAC card (4 analog outputs ±10V)
  • Custom USB card
  • (Virtual) Linux PC with CVI
  • Real-time CVI PC