From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
10-28-2014 01:36 PM - modifié 10-28-2014 01:38 PM
Comprends pas !!!
voici 2 array 2D de booléens ... A_1 et A_2
create / reference
A_1 me donne une référence stricte (cela me semble parfaitement normal)
A_2 me donne une référence non-stricte ... bon dieu pourquoi ?
(alors que si je "retire" (j'isole) un élémént de A_2 ... LV me dit bien qu'il s'agit d'un booléen)
Ce qui pose problème.
Si par exemple je fais un "value change" (dans une structure event) sur A_2
et que j'utilise la Ref d'entrée ... je suis obligé de travailler avec un variant.
Alors qu'avec A_1, aucun soucis.
Bon dieu ... pour quoi Labview n'arrive-t-il pas à "voir" le type du Tableau A_2 (alors que oui avec A_1) ???
fichier joint en LV2010
merci à tous.
Résolu ! Accéder à la solution.
le 10-28-2014 03:05 PM
Je constate ceci :
si le booléen (avant d'être introduit dans le Tableau) est configuré en "latch" ... la Ref du Tableau est "sans type". (non stricte)
si le booléen (avant d'être introduit dans le Tableau) est configuré en 'switch" ... la Ref du Tableau reprend le type. (stricte)
J'aimerais beaucoup connaître le "pourquoi" de ce comportement.
car ... un booléen, qu'il soit "latch" ou "switch" ... reste un booléen.
le 10-29-2014 03:49 AM
le 10-29-2014 04:32 AM
Quand on sait pas il faut lire l'aide 😃
http://zone.ni.com/reference/en-XX/help/371361L-01/lvprop/ctrl_value_lv_var/
--Eric
Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.
10-29-2014 04:36 AM - modifié 10-29-2014 04:41 AM
Bonjour Benjamin,
".... interdit" la lecture ou l'écriture d'un Boolean en Latch comme l'explique ...."
oui, je sais ça. (mais ici je vais un rien plus loin que ce postulat "de base")
Une fois que le booléen est placé dans un Tableau, je pense que la propriété "Mechanical Action" n'a plus de sens;
Cette propriété devient "grisée", elle n'est plus accessible.
Les booléens contenus dans un Tableau de booléens réagissent tous de la même façon,
Je veux dire par là ... quelle que soit leur "mechanical action" avant d'être placé dans le dit Tableau.
Regarde la capture d'écran ci-dessous.
a) Avant d'être placé dans le Tableau, le booléen était en "latch when pressed".
b) je le place dans un Tableau ... le "latch when pressed" devient "grisé" ("You can not set the mechanical action ... etc ... ")
c) La structure Event sait parfaitement lire le Tableau ... puisqu'elle me le donne dans "NewVal"
d) Cette structure Event connait également parfaitement le "type" de Newval ... puisque NewVal est bien un Array de booléen.
c) et pourtant .... la Référence, elle, n'est pas typée ... via la Référence, j'ai seulement accès à un variant.
Cette structure Event sait parfaitement lire le Tableau et en connaît parfaitemnt le type, alors pourquoi cette Référence non typée ???
EDIT:
Eric :
Je sais ça. ( c'est même un vieux truc )
Mon interrogation va au delà de ce principe "de base".
Merci d'essayer de comprendre ce qui m'interpelle.
le 10-29-2014 05:14 AM
Ce n'est pas un problème de fonctionnement du booléen ou de la commande.
Pour faire simple une référence n'est typée que si la commandes ET commandes imbriquées le sont.
Si on ajoute une commande non-typée à un cluster (par ex. ce fameux booléen en armement), on aura le même résultat : la référence au cluster ne sera pas typée (et donc Value retourne un variant). Au contraire si la/les commande(s) d'un conteneur (tableau ou cluster) sont toutes typées, la référence au conteneur sera typée.
Pour la remarque d), elle n'a pas de sens parce qu'on ne passe pas par le VI Serveur pour lire la valeur dans la structure événement, donc il n'y aura pas de situation de compétition !
A+
--Eric
Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.
le 10-29-2014 05:26 AM
une référence n'est typée que si la commandes ET les commandes imbriquées le sont.
on ne passe pas par le VI Serveur pour lire la valeur dans la structure événement
Deux phrases "simples" ... mais qui ont du poids.
surtout la 2eme ... ça, il fallait le savoir .... la 1ere, elle, est "éventuellement" déductible.
C'est ce qui me manque ... une connaissance de Labview de l'intérieur.
Cela me permettrait "d'extrapoler" entre 2 points de la connaissance (de LV)
Merci Eric, comme dab, tip-top !
Merci à Benjamin également.