dimanche 20 février 2011
Nouveautés LabVIEW 2010 : du côté des palettes
lundi 10 août 2009
Nouvelles fonctions de LabVIEW 2009
Résumé : LabVIEW 2009 (version 9.0) a introduit des améliorations significatives, notamment dans les commandes de face avant et les fonctions de diagramme. Parmi les nouveautés, on trouve des commandes numériques de type réservoir, des graphes 3D avancés, et des palettes enrichies pour la programmation numérique et les matrices. La gestion de la mémoire et les informations sur le processeur ont été optimisées, et de nouvelles fonctions pour les variables partagées et le moteur de balayage NI ont été ajoutées, facilitant ainsi la synchronisation et la gestion des défaillances. Ces évolutions visent à améliorer l'efficacité et la clarté du développement sous LabVIEW.
LabVIEW 2009 vient de sortir (on notera que le numéro de la version est en faite la 9.0). En plus des nouveautés annoncées par National Instruments sur son site, j’ai voulu faire un tour d’horizon des nouveautés dans les palettes de commandes en face avant et de fonctions pour les diagrammes. En voici la synthèse (les nouveautés sont encadrées en rouge :
Nouveautés dans les commandes (face avant)
- Numérique
| ajout de la commande de type réservoir |
- Graphe
| ajout du tracé de compas, tracé à barres d’erreur, tracé de plume et matrice de tracés XY et ajout de la palette dédiée au graphe 3D |
- Graphe 3D
| ajout des graphes 3D de type nuage, barres, camembert, bâtons, rubans, contour, champ vectoriel, comète, surface, maillage et chute d’eau. |
Nouveautés dans les fonctions (diagramme)
- Programmation, numérique, virgule fixe
| ajout de : adapter de virgule fixe à entier, adapter d’entier à virgule fixe |
- Programmation, tableau, matrice
- Programmation, cluster, classe et variant
| ajout de préserver la classe à l’exécution |
- Programmation, E/S sur fichiers, constantes de fichiers
| ajout de : obtenir le répertoire système et répertoire de l’application |
- Programmation, E/S sur les fichiers, XML, parseur XML
|
- Programmation, E/S sur les fichiers, TDM en continu
| ajout de : TDMS – convertir le format, créer des informations de mise à l’échelle |
- Programmation, contrôle d’applications, contrôle de mémoire
| ajout de : nouvelle référence de valeur de données, supprimer une référence de valeur de données |
- Programmation, contrôle d’applications, informations sur le processeur
| nouvelle palette avec : information sur le processeur, nombre de niveaux de cache, taille du cache de données |
- Programmation, waveform, waveforme numérique
| ajout de grouper les signaux numériques |
- Traitement du signal, opérations sur les signaux
| ajout de nœud de délai de transformée en Z |
- Mathématiques, équations différentielles, équations différentielles partielles
| nouvelle palette avec : définir une EDP, définir un domaine d’EDP, définir la condition aux limites d’une EDP, définir la condition initiale d’une EDP, résolution d’EDP, rendu d’EDP |
- Communication de données, variable partagée
- Entrées/Sorties de mesures, moteur de balayage NI
- Entrées/Sorties de mesures, moteur de balayage NI, contrainte
- Entrées/Sorties de mesures, moteur de balayage NI, défaillances
| nouvelle palette avec : obtenir une liste de défaillances, définir une défaillance, effacer une défaillance, effacer toutes les défaillances |
- Entrées/Sorties de mesures, moteur de balayage NI, configuration de défaillances
| nouvelle palette avec : définir une configuration de défaillance, effacer une configuration de défaillance, obtenir toutes les configurations de défaillances Découvrez comment AJOLLY Testing peut apporter de la valeur à vos projets : 🌐 www.ajolly.fr |
dimanche 11 janvier 2009
LabWindows/CVI 9.0 : les tables dynamique
Avec l'implémentation du standard C99, une avancé est fait quant à la gestion de la mémoire : la déclaration de tables dynamiques (variable-length arrays in english).
Alors que sont les variable-length arrays ?
AVANT
int rows, cols;
int i, j;
int *piTable = NULL;
printf("Entrez le nombre de ligne de la table: ");
scanf("%d", &iNbLigne);
printf("Entrez le nombre de colonne de la table: ");
scanf("%d", &iNbColonne);
*piTable = (int*)malloc(iNbLigne*iNbColonne*sizeof(int));
if (piTable != NULL)
{
for (int i = 0; i < iNbLigne;i++)
{
for (int j = 0; j <iNbColonne;j++)
{
piTable[i][j] = i*iNbColonne + j;
printf("%d ", piTable[i][j]);
}
printf("\n");
}
}
free(piTable);
piTable = NULL;
MAINTENANT
int iNbLigne, iNbColonne;
int i, j;
printf("Entrez le nombre de ligne de la table: ");
scanf("%d", &iNbLigne);
printf("Entrez le nombre de colonne de la table: ");
scanf("%d", &iNbColonne);
int tiTable[iNbLigne][iNbColonne];
for (int i = 0; i < iNbLigne; ++i)
{
for (int j = 0; j < iNbColonne; ++j)
{
tiTable[i][j] = i*iNbColonne + j;
printf("%d ", tiTable[i][j]);
}
printf("\n");
}
jeudi 8 janvier 2009
Les nouveautés de LabWindows/CVI 9.0 : le standard C99
Pas mal de nouveautés sont disponibles dans LabWindows/CVI 9.0 surtout avec l'implémentation du dernier standard du langage C : la C99. On aura donc attendu dix ans, le temps de maturation, pour bénéficier des avantages de ce nouveau standard.
- La déclaration des variables n'est plus cantonnée au début des blocs { }.
- On peut déclarer des tables en les dimensionnant avec des variables et non plus qu'avec les seules constantes.
- Chaque éléments des tables, structures et unions est maintenant initialisable distinctement et nommément.
- Les éléments des tables, structures et unions peuvent être initialisés avec des variables.
- nouveau type : les entiers de 64 bits (long long).
- nouvelles fonctions snprintf et vsnprintf qui sont des versions "sécurisées" de sprintf et vsprintf puisqu'elles évitent les dépassements en contrôlant la taille de la chaîne d'entrée.
- les macros à n arguments (...).
- ajout de la variable du pré-compilateur __func__ contenant le nom de la fonction courante.
Je détaillerai dans des articles dédiés chaque aspect de la C99 pour LabWindows/CVI.
🌐 www.ajolly.fr


