rs232 full-duplex?

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.
nasiono
Posty: 21
Rejestracja: 11 sty 2012 22:44
Wersja środowiska: LabVIEW 2011

rs232 full-duplex?

Post autor: nasiono »

Witam ponownie .
Tym razem mam problem. Mój mikrokontroler pracuje w trybie full-duplex i chciałbym się dowiedzieć jak tego dokonać po stronie LabView czy to jest w ogóle możliwe by jednocześnie nadawać i odbierać?
W załączniku aktualny program jak dodać do niego równoległe nadawanie?
Załączniki
RX.png
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: rs232 full-duplex?

Post autor: PiDi »

Dokładając bloczek VISA Write i już.
ObrazekObrazekObrazekObrazek
nasiono
Posty: 21
Rejestracja: 11 sty 2012 22:44
Wersja środowiska: LabVIEW 2011

Re: rs232 full-duplex?

Post autor: nasiono »

Gdy nadaje z mikroprocesora ciągły nie przerwany pakiet paczek w Labview którym odbywa sie tylko odbiór wszytko zostaje przejęte prawidłowo każda paczka. jeśli jednak umieszcze szeregowo bloczek Write ( przed Property Node ) następuje gubienie paczek co oznacza ze nadawanie odbieranie odbywa się własnie szeregowo. Próbowałem wstawić Write w osobnej pętli (równolegle) ale nie moge połączyć tego makaronami.

Zrobiłem pomiar prawidłowo odebranych paczek na sekundę. Bez nadawania jest kilkanaście razy więcej. Wniosek Fullduplex w rs232 pod Labview nie działa albo wykorzystuje się to w jakis specjalny sposób.
zgorzal
Posty: 1
Rejestracja: 27 lis 2013 18:33
Wersja środowiska: LabVIEW 8.0

rs232 full-duplex?

Post autor: zgorzal »

Jest to możliwe, nie wiem tylklo czy nie potrzeba dodatkowej nakładki
Jamal79
Posty: 289
Rejestracja: 01 maja 2012 14:14
Wersja środowiska: LabVIEW 2012
Lokalizacja: Farum

rs232 full-duplex?

Post autor: Jamal79 »

Jak czesto zapisujesz??
Ja by zrobil osobna petle do odczyty i aby nie tracic paczek wrzucal bym je w kolejke. Wtedy bedziesz mial pewnosc ze wszystkie paczki zostaly odczytane. Ale ogranicz petle tylko do odczytu paczek. Calkowicie osobna do jej analizy...
Do zapisu zrob eventa w kolejnej petli.
Jak to spelnia twoje wymagania oczywiscie...

Dodalem obrazek z moja wizja. Po przerobieniu ojego kodu na taka strukture mam mniej problemow i znaczna poprawe szybkosci dzialania.
Załączniki
visa.png
TMa
Posty: 203
Rejestracja: 07 sty 2010 12:56
Wersja środowiska: LabVIEW 2017

Re: rs232 full-duplex?

Post autor: TMa »

Moment. NI VISA implementuje bufory na wejściu i wyjściu. Nie jest możliwe zgubienie paczki, bo nie zdążyłeś z odczytem czy dane za szybko przychodzą. Bez większych problemów da się stworzyć dwustronny kanał szeregowy na 9600bps z wykorzystanie przepustowości na poziomie 90%. I nie rozdzielałbym to na osobne wątki (TX/RX). Zazwyczaj komunikacje z danym urządzeniem zamyka się w jednym wątku. Ma to swoje uzasadnienie przy wielowątkowości (alokacja pamięci) i ew. podziale zadań w systemach wielordzeniowych (zużycie mocy obliczeniowej).

Na początek proponuje przykład: Advanced Serial Write and Read z Find Examples.
Ostatnio zmieniony 28 lis 2013 10:46 przez TMa, łącznie zmieniany 1 raz.
ODPOWIEDZ