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.

Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Acquisition nom du rapport TestStand depuis CVI

Résolu !
Accéder à la solution

Bonjour à tous,

 

Je dispose d'une séquence exécutée par TestStand 2014.

Cette séquence utilise une dll faite avec LabWindows/CVI pour créer un rapport personalisé à partir du rapport TestStand.

Cette dll doit donc faire l'acquisition du nom du rapport TestStand.

 

La DLL a été faite pour TestStand 3.5 et l'acquisition du nom du rapport TestStand était assurée par :

TS_PropertyGetValString (testData->seqContextCVI, &errorInfo, "RunState.Caller.Locals.ReportFilePath", 0, &JournalPathName)

 

J'ai compris que ça ne marcherait pas avec TestStand 2014 en voyant cet article :

http://digital.ni.com/public.nsf/allkb/3D3B2358DF9B786B8625789500549A3B

 

Par quoi remplacer la ligne de code pour TestStand 2014 ?

(je précise que je suis débutant en LabWindows/CVI)

Tout télécharger
0 Compliments
Message 1 sur 4
5 149 Visites
Solution
Accepté par l'auteur du sujet Cedric__

Salut,

 

En effet, depuis TS 2012, RunState.Caller.Locals.ReportFilePath semble ne plus être une propriété valide

 

En gros, dans le lien que tu pointes, ils indiquent que tu peux:

1. Ajouter  à tes séquences, une callback nommée GetReportFilePath (tu peux aussi modifier ton process model directement je pense, ça a l'air d'être une callback de modèle)

2. Stocker la valeur du paramètre Parameter.ReportFilePath de cette callback dans une variable TestStand

3. Récupérer le contenu de cette variable depuis CVI (au lieu de récupérer RunState.Caller.Locals.ReportFilePath)

 

En gros, ton code CVI va probablement très peu changer, c'est plutôt tes séquences TS qu'il va falloir aller modifier légèrement

Je ne dispose pas de TS pour tester sur mon poste, mais ça semble bien être ça qu'il faut faire. On pourrait peut être éviter de passer par une variable, mais ça va complexifier le code CVI je pense.

 

Si ce que je viens de dire ne te parle pas, fais signe.

A+

Mathieu


0 Compliments
Message 2 sur 4
5 116 Visites

N'ayant pas la possibilité de toucher les séquences, j'ai pu arriver au résultat d'une manière légèrement différente.

Dans NI_ReportGenerator.seq, j'ai copié "Parameter.ReportFilePath" dans une StationGlobal, que je rappelle depuis CVI.

 

ça marche très bien

Merci Mathieu 🙂

 

0 Compliments
Message 3 sur 4
5 095 Visites

Re,

 

Méfie toi tout de même que du coup, les personnes qui vont utiliser tes séquences doivent être informées qu'elles doivent modifier la séquence de génération de rapport. C'est l'intérêt d'ajouter les callbacks dans tes séquences directement, elles restent "autonomes"

 

A+


0 Compliments
Message 4 sur 4
5 080 Visites