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?
rs232 full-duplex?
Re: rs232 full-duplex?
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.
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.
rs232 full-duplex?
Jest to możliwe, nie wiem tylklo czy nie potrzeba dodatkowej nakładki
-
- Posty: 289
- Rejestracja: 01 maja 2012 14:14
- Wersja środowiska: LabVIEW 2012
- Lokalizacja: Farum
rs232 full-duplex?
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.
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.
Re: rs232 full-duplex?
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.
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.