Strona 1 z 2
Pliki z profilami - jak odczytywac
: 22 cze 2006 20:14
autor: Zdzichu
Wykonalem aplikacje do testowania komponentow na pewnych plytkach sterujacych. Aplikacja za pomoca specjalnego testera podlaczonego z komputerem poprzez COM cyklicznie zalacza i wylacza kolejno przekazniki i triaki plytki sterujacej, ktore to mrugaja diodami na panelu testera, dzieki czemu mozna zweryfikowac ze dzialaja badz nie.
Problem polega na tym ze chcialbym za pomoca aplikacji testowac rozne wersje plytek, ktore roznia sie iloscia zastosowanych przekaznikow i triakow. Wydaje mi sie ze najlepszym rozwiazaniem byloby przygotowanie plikow tekstowych z informacja o obecnosci poszczegolnych komponentow - na podstawie wczytanego pliku aplikacja wywolywalaby tylko testy komponentow ktore znajduja sie na danym modelu plytki. W moim poszczegolne komponenty podawane sa jako stale Enum do maszyny stanow. Moje pytanie brzmi - jak zrealizowac odczyt kolejnych wartosci z takiego pliku i na ich podstawie sterowac procedura testowa? Zalozmy ze przykladowy plik mialby nastepujacy wyglad:
RELAY PRESENCE
A Y
B Y
C Y
D N
E N
F Y
Re: Pliki z profilami - jak odczytywac
: 23 cze 2006 06:41
autor: progor
zczytujesz plik, ze stringa wyszukujesz "A" i już masz wartość - czy to "Y", czy "N" czy "1" czy "0" jak sobie wolisz... ale ładniej zrobić w pliku konfiguracyjnym sekcje (zabawa z bloczkami z rysunku). plik wyglądałby tak:
blebleble
[A] 1 0 [C] 1 . . .
Re: Pliki z profilami - jak odczytywac
: 23 cze 2006 12:53
autor: Blamek
Hmmm caly czas wraca problem zwiazany z odczytem z pliku (ew zapisem do niego) przecie to raptem kilka bloczkow, a ktore wykozystac to zalezy od inwencji programisty.
To czy program bedzie czytac dane konfiguracyjne, zapisywac ilosc mrówek w cukrze, czy przepisywac cokolwiek gdziekolwiek nie ma znaczenia.
Wiadomo ze jak jest wybor to ciezko sie zdecydowac, ale operacje na plikach to przeciez podstawy, a kazdy bloczek jest dobrze udokumentowany.
RTFM.
A moze nie mam racji i gdzies ktos juz dla mnie stos ukada za herezje?
Re: Pliki z profilami - jak odczytywac
: 23 cze 2006 13:26
autor: Mikrobi
[asm]
push Blamek
[/asm]
8)
Re: Pliki z profilami - jak odczytywac
: 23 cze 2006 13:38
autor: Blamek
Taki stos przy odpwiedniej konfiguracji sprzetowej moze nawet zaplonac (god save the dell)
(niezorientowani moga popatrzec tutaj:
http://glinki.com/?l=ji46du - jak by na to nie patrzec panom z della zalezy na cieple domowego ogniska)
Re: Pliki z profilami - jak odczytywac
: 23 cze 2006 14:19
autor: Gość
Dzieki progor za podpowiedz. Zrobilem to z podzialem na sekcje [przekazniki] [triaki] i dla kazdego zdefiniowalem True lub False.
Mam teraz jednak problem z rozwiazaniem pomijania testow komponentow, dla ktorych w pliku zdefiniowalem wartosc False.
Jak wspomnialem moja aplikacja opiera sie na maszynie stanow, do ktorej m.in. w postaci stalej Enum podaje nazwe komponentu do testowania. Pierwotnie do wyboru kazdego typu testowanego komponentu [przekaznik, triak itd.] SubVI'a ktory kolejno sprawdza:
- jaki jest obecnie testowany
- czy zostal nacisniety przycisk ze dioda led na testerze mruga lub nie
i jesli oba warunki zostaly spelnione wybierana jest nastepna z kolei wartosc enum i podawana na shift register.
Sorry jezeli zadaje dosc trywialne pytania, ale LabVIEW sie dopiero ucze od niedawna.
Re: Pliki z profilami - jak odczytywac
: 23 cze 2006 15:29
autor: Blamek
Nie wnikajac w strukture aplikacji, moja propozycja jest taka: zauwaz ze kazdy element enum posiada przypisane kolejne wartosci liczbowe od 0 do n-1 zdefiniowanych elementow, numery te mozesz wykozystac do indeksacji elementow tablicy boolow (wczesniej wczytanych z pliku konfiguracyjnego) musisz tylko pamietac zeby kolejnosc elementow w pliku( -> tablicy) byla taka sama jak w enumie.
Re: Pliki z profilami - jak odczytywac
: 23 cze 2006 15:54
autor: jogurt_owocowy
Akurat maszyna stanów to chyba nie jest optymalne rozwiązanie tutaj, chyba że różnie rozumiemy to pojęcie. Ja proponowałbym coś takiego.
Skoro już zdecydowałeś się na użycie plików konfiguracyjnych załóżmy, że taki przykładowy plik wygląda tak:
[przekaźniki]
1=TRUE
2=FALSE
3=TRUE
[triaki]
1=TRUE
2=FALSE
1. Nazwy sekcji określają typy elementów
2. Nazwy kluczy - nazwy elementów(w tym wypadku są to kolejne cyfry choć może też być P1,P2... czy przekaźnik1,przekaźnik2...)
3. Do każdego klucza jest przyporządkowana wartość TRUE-FALSE
Zawartość takiego pliku można wczytać do tablicy klastrów, zawierającej informacje o kolejnych elementach. Dla powyższego pliku tablica ta może wyglądać jak na rysunku. Dalej operujemy już na niej i program nie jest skomplikowany.
Pozdrawiam:)
Re: Pliki z profilami - jak odczytywac
: 23 cze 2006 19:49
autor: Zdzichu
jogurt_owocowy pisze:Akurat maszyna stanów to chyba nie jest optymalne rozwiązanie tutaj, chyba że różnie rozumiemy to pojęcie.
Aplikacja oprocz testowania triakow i przekaznikow, wykonuje jeszcze odczyt pewnych wartosci z EEPROMu na plytce, odczytuje rozne wartosci z przetwornika AC, inicjuje komunikacje szeregowa, resetuje wszystkie triaki i przekazniki. Kazdy z tych etapow testu wykonany mam z osobnych bloczkow umieszczonych w osobnych CASE'ach przelaczanych stala Enum podawana na shift register petli while.
Do sprawdzenia poprawnosci dzialania triakow i przekaznikow nie uzywam zadnego urzadzenia DAQ, a jedynie podpietych do nich diod (ktore fizycznie znajduja sie na testerze). W Caseach do testowania triakow i przekaznikow mam petle While, w ktorej sa z kolei dwa case'y - 1. do uruchomienia przekaznika lub triaka, 2. do wylaczenia przekaznika lub triaka. Dokad petla dziala LED odpowiedzialny za dany przekaznik/triak mruga a operator potwierdzajac przyciskami OK lub BAD czy zamrugal przelacza sie automatycznie do testu nastepnego triaka/przekaznika. Calkiem mozliwe ze to rozwiazanie nie jet odpowiednie, zastanawialem sie tez nad Flat Sequence, wazne jest abym rezultat calego testu mogl zapisac do pliku, ktory na samym koncu zostanie puszczony na drukarke.
Chcialbym przecwiczyc dzialanie zaproponowanego przez Ciebie rozwiazania, jednak nie wiem jak zrobic tablice klastrow, nie moge jej nigdzie znalezc
W poniedzialek umieszcze mojego VI'a na forum, moze podpowiecie mi jakie popelniam bledy.
Re: Pliki z profilami - jak odczytywac
: 24 cze 2006 06:25
autor: Blamek
Tablica, podobie jak klaster jest tworzona przez przeciaganie i upuszczanie odpowiednich elementow, w tym wypadku klastra, na kontrolke niezdefiniowanej tablicy. Postepowanie dla stalych, kontrolek i wskaznikow jest praktycznie takie samo.
Proponuje puscic sobie jakiegos tutoriala, nie brak ich w sieci, linki znajduja sie chocby w niniejszym serwisie.
Re: Pliki z profilami - jak odczytywac
: 24 cze 2006 07:46
autor: Ender
Odbiegajac od watku natury programowej, czyli jak to zrobic w labview, proponuje przemyslec jeszcze jedna sprawe.
Zalozmy, ze tester dziala idealnie, wszystko jest ok, az w jednym zespole nie zadzialal odczyt danych z przetwornika. Co teraz?
Jesli to produkcja wielkoseryjna, gdzie okreslony procent bledu jest dopuszczalny, a niesprawne urzadzenia po prostu sie wyrzuca, zlomuje czy co tam jeszcze, to wszystko ok. Ale przewaznie jest tak, ze uzytkownik powinien miec mozliwosc naprawy tego urzadzenia. Jesli tester bedzie pracowal tylko w trybie .... hmmmm, automatycznym, czyli bedzie wykonywal wszystkie testy w bardzo szybkim tempie, to dokonanie jakichkolwiek pomiarow bedzie niemozliwe. Powinna byc jeszcze mozliwosc wykonania jednego, wybranego przez uzytkownika testu, tak, zeby sygnaly wejsciowe i wyjsciowe utrzymywaly sie na tyle dlugo, zeby moc dokonac ewentualnych pomiarow.
A w takim przypadku chyba idealnym rozwiazaniem jest maszyna stanow
Re: Pliki z profilami - jak odczytywac
: 24 cze 2006 17:06
autor: Zdzichu
Blamek pisze:Tablica, podobie jak klaster jest tworzona przez przeciaganie i upuszczanie odpowiednich elementow, w tym wypadku klastra, na kontrolke niezdefiniowanej tablicy. Postepowanie dla stalych, kontrolek i wskaznikow jest praktycznie takie samo.
Proponuje puscic sobie jakiegos tutoriala, nie brak ich w sieci, linki znajduja sie chocby w niniejszym serwisie.
Ucze sie z materialow kursowych NI. Obecnie zaczalem poziom Basic II. Jesli jest cos co mogloby stanowic ciekawe uzupelnienie tych materialow to poprosze o namiary.
Re: Pliki z profilami - jak odczytywac
: 26 cze 2006 10:53
autor: Zdzichu
Witam,
Przetestowalem sobie rozwiazanie zaproponowane przez jogurta, wydaje sie byc OK. Testy robilem na prostym stworzonym do prob VI'u i mrugalem sobie/badz tez nie, zaleznie od ustawienia True/False 5 LEDami na interfejsie uzytkownika. Nie wiem tylko jak w takim rozwiazaniu zalatwic przechodzenie do testowania kolejnego elementu, naciskajac przyciski OK lub BAD.
W zalaczeniu aplikacja do przejrzenia - uruchamia sie przez HurricaneECMTest5.vi
Re: Pliki z profilami - jak odczytywac
: 28 cze 2006 13:58
autor: Zdzichu
Witam,
Prosze o podpowiedz jak zaczytywac wartosci do tablicy klastrow z rozwiazania zaproponowanego przez jogurt_owocowy? Wiem jak czytac z plikow konfiguracyjnych, ale nie moge wydumac jak wpakowac to w klastry znajdujace sie w tablicy.
Pozdrawiam,
Re: Pliki z profilami - jak odczytywac
: 28 cze 2006 14:57
autor: Blamek
moze to wygladac tak jak w zalaczniku.
Jesli nie musisz zagladac do pliku konfiguracyjnego (cala jego obsluga jest zawarta w programie) baw sie plikiem binarnym, duzo szybciej i wygodniej: na wejscie data podpinasz klaster i takowy zapisuje sie odrazu w calosci. Podobnie jest z odczytem, ustawiasz ze chcesz odczytac klaster i takowy wyciagasz z pliku.