DAQ- tworzenie kanału fizycznego

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
company1991
Posty: 8
Rejestracja: 21 cze 2017 18:05
Wersja środowiska: LabVIEW 2012

DAQ- tworzenie kanału fizycznego

Post autor: company1991 » 21 cze 2017 19:26

Witam,

Buduję aplikację z zakresu "Compressed sensing- single piksel camera" w środowisku Labview( wersja: labview 2012) na platformie Arduino Nano 3.0.
Jako kamera jednopikselowa posłuży fototranzystor podłączony do wejścia analogowego Arduino.
Tutaj właśnie pojawia się problem, gdyż do odczytywania wartości napięcia na fototranzystorze wykorzystuje skonfigurowany port VISA i otrzymuje aktualną wartość napięcia w postaci zmiennej " string" .(
visa.png
).
Natomiast w dalszej części aplikacji wykorzystuje kanał fizyczny. (
physical_channels.png
).
Tutaj pojawia się moje pytanie, w jaki sposób można dokonać konwersji wartości " string" na " kanał fizyczny", bo ten wykonany przeze mnie nie konwertuje tej wartości
w prawidłowy sposób, gdyż mimo, że zmienna " string" posiada jakąś wartość w danej chwili np. 3,5 V, to na kanał fizyczny przenoszona jest wartość 0 V.
Wiem, że Arduino można skonfigurować jako kanał fizyczny poprzez DAQ zainstalowany w MAX' ie, ale w żaden sposób nie potrafię tego zrobić.( Mam zainstalowany
NI-DAQmx Base).
Dodam jeszcze, że aplikacja działa prawidło na wirtualym kanale fizycznym utworzonym przez Instacal.


Proszę o pomoc i tym temacie i z góry dziękuję za wszystkie odpowiedzi. :)
company1991

Awatar użytkownika
micard
Posty: 134
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2016
Has thanked: 4 times
Been thanked: 2 times
Kontakt:

DAQ- tworzenie kanału fizycznego

Post autor: micard » 22 cze 2017 08:25

Nigdy nie próbowałem takiej konwersji, ale to co się or razu rzuca w oczy, to to , że typecast jest w tej samej komórce "flat sequence" i nie wymuszasz w żaden sposób kolejności wywoływania bloczków. W tej chwili typecast może być wykonywany przed jak i po "Amplitude and Level Mesurements". Co grosza, przy pewnych ustawieniach optymalizacji kompilacji - czasem może to być przed, a czasem po ;/.

Możesz w Instacal'u ustawić wartość wirtualnego kanału? Jeśli tak, to ustaw go na wartość ze stringa i powinno być po kłopocie.

Z innej beczki - https://www.arduino.cc/en/Reference/Firmata
Ciekawa biblioteka standaryzująca interakcje I/O z arduino. Komptybilna z node-red'em, node-js itd...

company1991
Posty: 8
Rejestracja: 21 cze 2017 18:05
Wersja środowiska: LabVIEW 2012

Re: DAQ- tworzenie kanału fizycznego

Post autor: company1991 » 22 cze 2017 18:01

Dziękuje za podpowiedź. To by tłumaczyło dlaczego podczas próby uruchamiania aplikacji pojawiają się komunikaty o pustym tasku.
W Instacalu nie mogę ustawić wartości wirtualnego kanału na wartość ze stringa. Nie mogę też tego zrobić w DAQ.
Korzystam z Instacal v. 6.5 i nie potrafię ustawić stringa jako wartości wejściowej na kanał fizyczny.
Prosiłbym o informację w jakiej wersji mogę to zrobić.
Sprawdzę tą bibliotekę pod Arduino:)
Nie wiem, czy istntnieje jakiś dodatek do Labview, który wykrywał by Arduino i pozwolił traktować je jako kompatybilne urządzenie z możliwością konfiguracji kanałów fizycznych.
company1991

company1991
Posty: 8
Rejestracja: 21 cze 2017 18:05
Wersja środowiska: LabVIEW 2012

DAQ- tworzenie kanału fizycznego

Post autor: company1991 » 25 cze 2017 21:23

Witam,

Może ma ktoś kartę Labview DAQ- USB do sprzedania?
Wątpię, żeby mi się udało na Arduino to zrobić.
company1991

Awatar użytkownika
micard
Posty: 134
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2016
Has thanked: 4 times
Been thanked: 2 times
Kontakt:

DAQ- tworzenie kanału fizycznego

Post autor: micard » 26 cze 2017 12:46

uda się uda...
Najmniej kodzenia będzie przy zestawie:
Arduino<-Firmata<->node red->MQTT (darmowe mosquito) -> Labview MQTT client

Jest to raczej podejście IoT niż fizycznych kanałów - ale zdaje egzamin w wielu przypadkach.

Czemu upierasz się na "fizyczne kanały" ? Jest ajkiś konkretny powód/wymóg projektu?

Awatar użytkownika
micard
Posty: 134
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2016
Has thanked: 4 times
Been thanked: 2 times
Kontakt:

DAQ- tworzenie kanału fizycznego

Post autor: micard » 26 cze 2017 13:29

tu jest link do projektu gadającego bezpośrednio z firmatą:
http://forums.ni.com/t5/Instrument-Cont ... -p/3190101

company1991
Posty: 8
Rejestracja: 21 cze 2017 18:05
Wersja środowiska: LabVIEW 2012

Re: DAQ- tworzenie kanału fizycznego

Post autor: company1991 » 26 cze 2017 21:20

Witam,
W założeniach tego projektu nie bylo narzuconego wymogu zastosowania kanałów fizycznych. To był tylko i wyłącznie mój zamysł na podstawie informacji zdobytych w sieci z różnych źródeł.
Nie słyszałem wcześniej o możliwości wykorzystywania Firmaty. Spróbuję zastosować to rozwiązanie. Dziękuję bardzo za pomoc.
company1991

company1991
Posty: 8
Rejestracja: 21 cze 2017 18:05
Wersja środowiska: LabVIEW 2012

Re: DAQ- tworzenie kanału fizycznego

Post autor: company1991 » 27 cze 2017 21:31

Witam,

Nie ma innego rozwiązania, niż zastosowanie MQTT Server?
Nie mogę zainstalować Mosquito, ani nod'a i wydaje mi się dość trudne w konfiguracji.

Pozdrawiam,
company1991

Awatar użytkownika
micard
Posty: 134
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2016
Has thanked: 4 times
Been thanked: 2 times
Kontakt:

DAQ- tworzenie kanału fizycznego

Post autor: micard » 27 cze 2017 21:52


company1991
Posty: 8
Rejestracja: 21 cze 2017 18:05
Wersja środowiska: LabVIEW 2012

Re: DAQ- tworzenie kanału fizycznego

Post autor: company1991 » 27 cze 2017 22:41

Wgrałem projekt Firmaty do Arduino i prawidłowo odczytuje wartość wejścia analogowego.
Problem jest w tym, że ale nie mogę więcej nic zainstalować, bo wyskakują blędy( ani MQTT Server, Noda, vvvv, ).

W jaki sposób przepisać program, aby np . zastosować LIFA?
company1991

Awatar użytkownika
micard
Posty: 134
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2016
Has thanked: 4 times
Been thanked: 2 times
Kontakt:

DAQ- tworzenie kanału fizycznego

Post autor: micard » 28 cze 2017 08:10

Z tego co wiem, firmata jak najbardziej obsługuje LIFO, tylko że z kolejką długości 1. W takim przypadku masz dostępny tylko ostatni pomiar.

company1991
Posty: 8
Rejestracja: 21 cze 2017 18:05
Wersja środowiska: LabVIEW 2012

Re: DAQ- tworzenie kanału fizycznego

Post autor: company1991 » 28 cze 2017 16:22

A w jaki sposób gromadzić pomiary z całego okresu czasu trwania aplikacji? Oprócz MQTT Server i noda ? Może ktoś pomóc podając jakiś przykład ? Będę bardzo wdzięczny.
Pozdrawiam.
company1991

company1991
Posty: 8
Rejestracja: 21 cze 2017 18:05
Wersja środowiska: LabVIEW 2012

Re: DAQ- tworzenie kanału fizycznego

Post autor: company1991 » 03 lip 2017 21:58

Witam,

Mogę liczyć na pomoc, aby przerobić w jakiś sposób program z załacznika 2, aby zbierać pomiary z Arduino Nano.
Może ktoś ma jakieś koncepcje?
Liczę na wszelką pomoc.

Pozdrawiam,
company1991

ODPOWIEDZ