Transmisja danych poprzez rs232

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.
Wojtek__27
Posty: 12
Rejestracja: 29 sie 2011 22:03
Wersja środowiska: LabVIEW 2011

Transmisja danych poprzez rs232

Post autor: Wojtek__27 » 16 sty 2013 16:06

Jakiś czas temu przy pomocy tego forum wykonałem obsługę portu RS232, która działa poprawnie. W tej chwili wysyłam dane poprzez wpisanie stringa do Visa Write, jednak chcę zmodyfikować kod tak, aby raz wpisana dana była wysyłana tyle razy ile wynosi zadana wartość. Generalnie chcę mieć możliwość ustawienia, że wpisana wartość string ma być wysłana np 1000 razy w odstępach 1ms. Nie bardzo wiem jak to ugryźć dlatego proszę o pomoc.

Awatar użytkownika
Arronax8
Posty: 69
Rejestracja: 06 kwie 2012 21:25
Wersja środowiska: LabVIEW 2012

Re: Transmisja danych poprzez rs232

Post autor: Arronax8 » 16 sty 2013 17:35

Hmm..., wrzuć Visa Write w pętlę for, do której terminalu N podepnij swój zadajnik ilości wykonań, a w środku pętli dodaj jeszcze opóźnienie jakie chcesz z użyciem np. bloku Wait (ms) :p

Wojtek__27
Posty: 12
Rejestracja: 29 sie 2011 22:03
Wersja środowiska: LabVIEW 2011

Re: Transmisja danych poprzez rs232

Post autor: Wojtek__27 » 17 sty 2013 09:05

Dzięki, mniej więcej tak właśnie kombinowałem. Jednak koniecznie chcę mieć Visa Close poza pętlą i tu pojawia się problem z typem danych. Nie da się połączyć Visa write umieszczonej w pętli z Visa close poza pętlą. Czy da się to jakość rozwiązać?

Awatar użytkownika
Pitol
Moderator
Posty: 921
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków
Has thanked: 2 times
Been thanked: 8 times

Transmisja danych poprzez rs232

Post autor: Pitol » 17 sty 2013 09:52

Pokaż kod, bo nie chce mi się wierzyć, że nie można połączyć VISA WRITE z VISA CLOSE...
ObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj

Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2014
Lokalizacja: United Kingdom

Transmisja danych poprzez rs232

Post autor: Mikrobi » 17 sty 2013 09:58

Prawy klawisz na tunelu wyjściowym z referencją VISA i klastrem błędu: "Disable Indexing"
Na chwilę obecną dostajesz na wyjściu z pętli dwie tablice zamiast dwóch pojedynczych wartości?
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI

Wojtek__27
Posty: 12
Rejestracja: 29 sie 2011 22:03
Wersja środowiska: LabVIEW 2011

Re: Transmisja danych poprzez rs232

Post autor: Wojtek__27 » 17 sty 2013 10:40

Panowie załączam plik i z góry dziękuję za pomoc.
Załączniki
program4.vi
(14.77 KiB) Pobrany 153 razy

Awatar użytkownika
conioo
Posty: 53
Rejestracja: 22 mar 2006 00:00
Wersja środowiska: LabVIEW 2014
Lokalizacja: Kraków

Re: Transmisja danych poprzez rs232

Post autor: conioo » 17 sty 2013 10:58

Mikrobi ma rację :)
Masz indeksowane wyjście z VISA Write. Kliknij PPM na krawędź pętli FOR, gdzie wychodzi drut i zaznacz "Disable Indexing". Na dole masz klaster błędu, który również jest indeksowany i tworzona jest tablica klastrów. Na niego daj PPM i zmień na "Replace with Shift Register". Podepnij jeszcze wejście klastra błędu do pętli for jako Shift Register i po sprawie.
Załączniki
screen.png
screen.png (6.92 KiB) Przejrzano 3762 razy

Wojtek__27
Posty: 12
Rejestracja: 29 sie 2011 22:03
Wersja środowiska: LabVIEW 2011

Re: Transmisja danych poprzez rs232

Post autor: Wojtek__27 » 17 sty 2013 16:33

Dziękuję wszystkim za pomoc, działa elegancko:). Pochwały poszły ;).

ODPOWIEDZ