Program - odczyt temperatur/wspólny wykres/zapis do pliku

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
Slix Scott
Posty: 3
Rejestracja: 05 sty 2016 18:05
Wersja środowiska: LabVIEW 2014

Program - odczyt temperatur/wspólny wykres/zapis do pliku

Post autor: Slix Scott »

Dzień dobry,
zostałem wytypowany do stworzenia oprogramowania do termopar typu K w LabView. ( stanowisko laboratoryjne na studiach => 20 termopar na torach prądowych ) Problem w tym, że jestem kompletnie zielony jeśli chodzi o ten program.
Tak jak mówiłem, chciałbym na panelu graficznym mieć 20 termometrów oraz wykres, na którym miałbym wyrysowane przebiegi temperatur. Termopary będą wzmacniane, zatem będę musiał zczytywać napięcia, gdyż nie będę mógł skorzystać z wbudowanego skalowania sygnałów w urządzeniach DAQ. Korzystać będę z usb 6008 oraz usb 6521 ( screw terminal ).

Problem mam ogólnie z tym, że nie mogę umieścić przebiegów na jednym wykresie, gdyż nie mogę zastosować elementów typu array/cluster. Co więcej, chciałbym wiedzieć, który termometr odpowiada któremu kanałowi. ( przypisana nazwa kanału do termometru ) Chciałbym mieć również opisaną legendę, żeby widzieć, który przebieg odpowiada któremu kanałowi.

Zamieszczam swój plik VI. Nie mam niestety dostępu do termopar, więc nie mogę sprawdzić, czy to działa tak, jakbym chciał. Stanie się to dopiero przy próbie nagrzewania. ( czyli praktycznie jedna szansa na zadziałanie )

Wiem, że powinienem dodać do indexów w Dynamic Data Attributes wyjścia do bloków typu string. Tylko jak poznać, który kanał na wyjściu "split signals" wychodzi z którego wyjścia.

Byłbym wdzięczny za pomoc, gdyż mam nóż na gardle.

P.S. Drugi plik to propozycja rozwiązania od kolegi z zagranicy. Tylko, że ja tego nie czaje w takim stopniu, by to zastosować. Ew. jeśli sprawa jest zbyt skomplikowana, to chciałbym po prostu mieć opisane termometry ( kanałami, które do nich wchodzą )
Załączniki
Example_using_DAQmx.vi
(87.64 KiB) Pobrany 312 razy
TC-1-2014.vi
mój program
(280.71 KiB) Pobrany 315 razy
Paco_MS
Posty: 43
Rejestracja: 25 paź 2011 15:04
Wersja środowiska: LabVIEW 2014

Re: Program - odczyt temperatur/wspólny wykres/zapis do pliku

Post autor: Paco_MS »

W zasadzie program jest OK.
Funkcja Split/Merge Signals pozwala na połączenie wielu strumieni danych w jeden lub rozdzielenie pojedynczego strumienia danych z wieloma kanałami na poszczególne kanały. Problem, który kanał jest który masz rozwiązany w bloku DAQAssistant, Tam numery kanałów lecą od góry: Temperature_01, Temperature_11, Temperature_21 itd. W takiej kolejności (od góry) są wyświetlane na wykresach: Plot 0, Plot 1, Plot 2 itd. Tak samo będą zapisywane w pliku - wszystkie kanały w jednym.
Kolejny problem to duża liczba kanałów pomiarowych: 20. Jeżeli będą one mierzone za pomocą jednej kary 20 kanałowej to OK. Ale jeżeli trzeba będzie więcej kart, to nie jestem pewien, czy dasz radę wczytać kanały pomiarowe z różnych kart w jednym DAQAss. czy też będzie trzeba użyć dwóch lub trzech bloków. Może być problem z synchronizacją pomiarów. Ale jeżeli częstotliwość próbkowania będzie na odpowiednim poziomie, może to nie mieć znaczenia (ty masz 1000ms=1s).
Te bloczki set attribute nie są konieczne, jeżeli nazwy kanałów nie będą zmieniane można je narzucić w bloku DAQAssistant: wystarczy ustawić kursor na wybranym kanale, PrawyKlawiszMyszy i opcja Rename pozwoli zmienić nazwę.
Slix Scott
Posty: 3
Rejestracja: 05 sty 2016 18:05
Wersja środowiska: LabVIEW 2014

Program - odczyt temperatur/wspólny wykres/zapis do pliku

Post autor: Slix Scott »

Jak mówiłem, będę korzystał z dwóch kart, gdyż jedna ma 16 wejść, a druga 8, więc zostaną mi 4 wolne kanały. ( użyję dwóch daq assistant) Próbkowanie nie musi być jakieś szybkie, może to być nawet próbka/30 sekund. ( jeszcze to pewnie zmienię ) Kanały chciałbym właśnie nazwać odgórnie, tylko co w przypadku, gdy do wykresu dołączę właśnie wyjścia tej karty 16-kanałowej i 8-kanałowej ? Wtedy plot0, plot1 itd. zaczynają się od karty 8-kanałowej, czy 16 kanałowej ? W tym jest problem. Chciałbym to uporządkować, żeby nie było pomyłki. Jeszcze to wszystko poprawie, żeby wyglądało jak postać końcowa, czyli daq 16 kanałowy i ten 8 kanałowy, z którego będę brał tylko 4 kanały.

edit: odkryłem, że bloczek Dynamic Data Att, po dodaniu string na wejście signal name, zmienia plot na nazwę, którą zadeklarowałem w nim. Także może problem się rozwiąże z rozróżnieniem kanałów.


P.S. Jak już mówiłem, termopary będą wzmocnione wzm. op. Wtedy będę badał napięcia, a nie korzystał ze skali dla termopar wbudowanej. Czy wtedy powinienem ( w trybie napięcia ) jakoś próbować przeskalować wynik w Custom Scaling w Daq Assistant, czy po prostu mnożyć wyjście przez odpowiedni "człon".
Załączniki
VI-DDT.vi
(198.04 KiB) Pobrany 316 razy
Ostatnio zmieniony 06 sty 2016 11:41 przez Slix Scott, łącznie zmieniany 1 raz.
ODPOWIEDZ