Aktywna/otwarta sekwencja

Jeśli masz problem z TestStandem napisz, postaramy się pomóc.
Awatar użytkownika
mar3cki
Posty: 53
Rejestracja: 15 lis 2005 00:00
Lokalizacja: Wrocław

Aktywna/otwarta sekwencja

Post autor: mar3cki » 17 lip 2013 12:01

Uruchamiam sekwencję dodaną do menu Tools. Chciałbym pobrać nazwę aktualnie otwartej sekwencji w Sequence Editorze. Jak się do dobrać do nazwy?
Pytając RunState.SequenceFile.Path dostaję ścieżkę do 'mojej' sekwencji, zamiast do aktualnie otwartej...
pozdro marecki

Certified LabVIEW Developer

Awatar użytkownika
cyjan1
Posty: 62
Rejestracja: 08 paź 2012 11:55
Wersja środowiska: LabVIEW 2013
Lokalizacja: Tarnobrzeg

Re: Aktywna/otwarta sekwencja

Post autor: cyjan1 » 18 lip 2013 08:36

Witam!
Myślę, że rozwiązaniem Twojego problemu jest zmienna:

Kod: Zaznacz cały

RunState.InitialSelection.SelectedFile.Path
Testowałem na TestStand 4.2 i zwraca mi pełną nazwę aktualnie zaznaczonego pliku sekwencji.

Natomiast jeśli chcesz potrzebujesz dodatkowo nazwy zaznaczonych sekwencji skorzystaj z

Kod: Zaznacz cały

RunState.InitialSelection.SelectedSequences
Np.

Kod: Zaznacz cały

RunState.InitialSelection.SelectedSequences[0].Name

zwróci Ci nazwę pierwszej zaznaczonej sekwencji.
Pozdrawiam
Zenek

Certified TestStand Architect

Awatar użytkownika
mar3cki
Posty: 53
Rejestracja: 15 lis 2005 00:00
Lokalizacja: Wrocław

Aktywna/otwarta sekwencja

Post autor: mar3cki » 26 lip 2013 12:27

wielkie dzięki, znalazłem dokładnie to samo :)

teraz mam zagwozdkę z przeniesiem tego kodu na TS 4 - mimo, że składnia jest poprawna dostaję błąd:
Unknown variable or property name 'RunState.InitialSelection.SelectedFile'. [Error Code: -17306, Unknown variable or property name.]
pozdro marecki

Certified LabVIEW Developer

Awatar użytkownika
cyjan1
Posty: 62
Rejestracja: 08 paź 2012 11:55
Wersja środowiska: LabVIEW 2013
Lokalizacja: Tarnobrzeg

Re: Aktywna/otwarta sekwencja

Post autor: cyjan1 » 26 lip 2013 13:28

Witam,
niestety nie mam TestStanda 4.0, żeby to sprawdzić. Natomiast, wg NI, w tej wersji programu zmienna SelectedFile powinna istnieć:
http://zone.ni.com/reference/en-XX/help ... bproperty/

Nawet w opisie jest, że może być przydatna w sekwencjach typu Tools.

Błąd Ci wyskakuje w momencie wywołania tego kroku czy w podczas edycji sekwencji (Check Expression for Errors)?
Czy w trybie edytowania też nie masz możliwości podglądnięcia tej zmiennej?
Spróbuj zdebugować jakie elementy zawiera RunState.InitialSelection.

PS. Załączam przykładową sekwencję w wersji 4.0.x.
Załączniki
tool.seq.zip
(6.11 KiB) Pobrany 188 razy
Ostatnio zmieniony 26 lip 2013 13:42 przez cyjan1, łącznie zmieniany 1 raz.
Pozdrawiam
Zenek

Certified TestStand Architect

Awatar użytkownika
mar3cki
Posty: 53
Rejestracja: 15 lis 2005 00:00
Lokalizacja: Wrocław

Aktywna/otwarta sekwencja

Post autor: mar3cki » 26 lip 2013 13:41

i to właśnie jest najdziwniejsze, bo mogę sobie to zbudować korzystając z Expression browsera, czy pisząc z palca, Check expression errors nie zgłasza zastrzeżeń. Natomiast przy wykonywaniu kodu jest zgłaszany taki właśnie błąd.

Znalazłem info, że może być problem z dostępem poza execution, ale ja wywołuję tę sekwencję z menu Tools...

Podobny wątek znalazłem tu http://forums.ni.com/t5/NI-TestStand/Ho ... -p/2009473
pozdro marecki

Certified LabVIEW Developer

Awatar użytkownika
cyjan1
Posty: 62
Rejestracja: 08 paź 2012 11:55
Wersja środowiska: LabVIEW 2013
Lokalizacja: Tarnobrzeg

Re: Aktywna/otwarta sekwencja

Post autor: cyjan1 » 26 lip 2013 13:49

Rzeczywiście dziwne. Ja to odpalałem w 4.2 spod Tools i działało bardzo dobrze.
Spróbuj jeszcze zdebugować jak wygląda u Ciebie InitialSelection przy takim wywołaniu.
Pozdrawiam
Zenek

Certified TestStand Architect

Awatar użytkownika
mar3cki
Posty: 53
Rejestracja: 15 lis 2005 00:00
Lokalizacja: Wrocław

Aktywna/otwarta sekwencja

Post autor: mar3cki » 26 lip 2013 13:58

Mam chyba nie tak z TestStandami (4 i 2012), bo w 2012 przestał mi działać mój kod, a i twój zgłasza błąd:
Error Message: An error occurred evaluating the Message Expression:
Unknown variable or property name 'RunState.InitialSelection.SelectedFile'.[Error Code: -17306]

Coś mi się widzi, że naprzemienne aktywowanie TS4 i TS5 nie jest wskazane... Chyba muszę przeinstalować obydwa... Odezwę się po tej operacji ;)
pozdro marecki

Certified LabVIEW Developer

Awatar użytkownika
cyjan1
Posty: 62
Rejestracja: 08 paź 2012 11:55
Wersja środowiska: LabVIEW 2013
Lokalizacja: Tarnobrzeg

Re: Aktywna/otwarta sekwencja

Post autor: cyjan1 » 26 lip 2013 14:06

Zanim to zrobisz spróbuj jeszcze postawić break-pointa na tym kroku i obejrzyj InitialSelection, jak pisałem powyżej.
Jedyny przypdek jaki mi jeszcze przychodzi do głowy, to że SelectedFile nie istnieje bo nie masz otwartej żadnej sekwencji podczas wywoływania tej sekwencji z menu Tool.
Ale to chyba nie to :D
Pozdrawiam
Zenek

Certified TestStand Architect

Awatar użytkownika
mar3cki
Posty: 53
Rejestracja: 15 lis 2005 00:00
Lokalizacja: Wrocław

Aktywna/otwarta sekwencja

Post autor: mar3cki » 26 lip 2013 14:56

w zasadzie chyba niepotrzebnie zreisntalowałem TS4, problem był z Type 'CommonResults', co mnie trochę dziwi... Bo niby skąd inny typ się wziął...

a wywołanie seq z Tools jest zabezpieczone - pole Enable Expression: PropertyExists("RunState.InitialSelection.SelectedFile") && RunState.InitialSelection.SelectedFile.Path != "" && CurrentUserHasPrivilege("Develop.EditSequenceFiles") :)

wszystko działa jak należy, a że działo to armata, to armaci :)
pozdro marecki

Certified LabVIEW Developer

ODPOWIEDZ