le 01-11-2018 09:25 AM
Bonjour,
J'essaye de venir lire à partir d'un VI sur ordinateur une E/S dans un CompactRIO programmé en FPGA.
J'ai importé le compactRio dans mon projet FPGA Target 'RIO0, cRIO 9068) (Je n'ai pas les sources)
Lorsque je crée une variable partagé (user-defined variables) pour récupéré la valeur d'une I/O du rack, je renseigne la description "Direction : FPGA à l'hote"
la ligne dessous indique - Indice de la voie : 0
!!!! à quoi correspond cet indice, et comment savoir le type de donnée à associé à cet indice, la correspondance avec une voie sur une des cartes ou modules implantée dans le rack ??
Sinon pour résumer qu'elle est la méthode à utiliser pour venir lire une I/O dans un crio distant qui ne fait pas parti du projet ou qui est compiler en FPGA ??
ci-joint la capture d’écran de l'explorateur de projet
Merci.
le 01-23-2018 10:00 AM
Bonjour TBU_SNEF,
Selon moi, il faudrait essayer d'obtenir les URL correspondant aux variables que le CompactRIO publie. Tu devrais ensuite pouvoir utiliser les VIs de la palette Communication de Données>>Variables Partagées pour t'y connecter par programmation. Pas besoin de les déclarer dans le projet de cette façon.
Voici le lien pour la syntaxe de la variable :
http://zone.ni.com/reference/en-XX/help/371361P-01/lvconcepts/sv_urls/
Thomas
le 01-24-2018 10:11 AM
Bonjour,
Merci pour la réponse.
A première vue, j'ai utilisé les déclarations décrite dans les manuels NI et par la méthode que tu m'a decrit dans ta réponse.
Mais finalement, il semble qu'il y ai un problème matériels avec les cartes d'acquisition, car sur les cartes EANA de plusieurs racks j'ai des incohérence de valeurs. Avant ce problème, je lisez les valeurs des cartes EANA, puis suite à une coupure électrique ce problème de lecture est apparu. Sur le moment je pensai avoir mal paramétré l’accès à ces variables, c'est pour cela que j'ai posé la question précédente.
Cordialement.
le 01-25-2018 06:44 AM
Hello,
Une UDV est juste une variable créée par le développeur (à ceci près qu'elle peut être lue ou écrite depuis le FPGA). Elle n'est pas naturellement rattachée aux IOs de tes modules. Pour faire le lien, il te faut créer un VI FPGA. Dans son code tu viens par exemple lire une IO d'un module, et envoyer la donnée vers l'UDV. Si la publication sur le réseau est activée comme dans ta capture, tu peux alors lire cette UDV depuis n'importe quelle machine sur le réseau du cRIO.
L'indice de la voie est juste une information sur comment LabVIEW gère l'ordre des variables dans la communication Host-FPGA (ou vice-versa), ne t'inquiète pas pour ça.
Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.
le 01-27-2018 02:13 AM
Merci pour cette réponse. cela me permet d'y voir un peut plus clair.