Hej
Mam problem poukładałem na formatce wszystkie komponenty do komunikacji z portem szeregowym w LV połączyłem je i mam problem od czasu do czasu, czyli losowo odbieram w serial porcie danie niezgodne z oczekiwanymi. Wysyłam do LV stałą wartość a otrzymuję czasami wartość równą w przybliżeniu zero.
Czy ktoś może mi podpowiedzieć co robię błędnie ?
[LabView10] SerialPort odbiera losowo błędne wartości
Regulamin forum
Temat prosimy poprzedzić nazwą języka umieszczonego w nawiasach kwadratowych np. [Pascal].
Temat prosimy poprzedzić nazwą języka umieszczonego w nawiasach kwadratowych np. [Pascal].
- StaryAnoda_NEW
- User
- Posty: 103
- Rejestracja: środa 04 kwie 2018, 16:48
[LabView10] SerialPort odbiera losowo błędne wartości
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Re: [LabView10] SerialPort odbiera losowo błędne wartości
taki kod po stronie sprzętu, chińskie Ardu, 115kbaud, request-response, po każdym 'next' zwraca kolejną liczbę.
LV2014@xpsp3@vm-box, visa 5.6, visa read w trybie asynchronicznym, działa stabilnie i nic nie gubi, warto spróbować z `flat sequence`
Kod: Zaznacz cały
void setup() {
Serial.begin ( 115200, SERIAL_8N1 );
}
void loop() {
unsigned char n = 0;
char c = 0x00;
String rxBuff = "";
while ( 1 ) {
if ( Serial.available() > 0 ) {
c = Serial.read();
if ( c == '\n' ) {
rxBuff.trim();
if ( rxBuff == "next" ) {
Serial.print ( n );
Serial.print ( "\r\n" );
n++;
}
rxBuff = "";
}
else {
rxBuff += c;
if ( rxBuff.length() > 8 ) {
rxBuff = "";
}
}
}
}
}
LV2014@xpsp3@vm-box, visa 5.6, visa read w trybie asynchronicznym, działa stabilnie i nic nie gubi, warto spróbować z `flat sequence`
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)
- StaryAnoda_NEW
- User
- Posty: 103
- Rejestracja: środa 04 kwie 2018, 16:48
Re: [LabView10] SerialPort odbiera losowo błędne wartości
Hej
Odwzorowałem Twój projekt(jedyne co pominąłem, to w przypadku błędu aby program został zatrzymany, ze względu na to, że do bramki OR nie mogłem podłączyć sygnału ERROR, co nie powinno mieć wpływu na działanie)(albo jest jeszcze coś co pominąłem i tego nie widzę) niestety efekt mam następujący:
Odwzorowałem Twój projekt(jedyne co pominąłem, to w przypadku błędu aby program został zatrzymany, ze względu na to, że do bramki OR nie mogłem podłączyć sygnału ERROR, co nie powinno mieć wpływu na działanie)(albo jest jeszcze coś co pominąłem i tego nie widzę) niestety efekt mam następujący:
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Re: [LabView10] SerialPort odbiera losowo błędne wartości
dla pewności dopytam - do COM5 podpięty jest system uP reagujący na odebrany `next` i odsyłający kolejne liczby?
mój vi w załączniku, spróbuj wczytać, może się uda; a jak nie kłopot to wystaw, ten co odtworzyłeś z rysunków
mój vi w załączniku, spróbuj wczytać, może się uda; a jak nie kłopot to wystaw, ten co odtworzyłeś z rysunków
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)
- StaryAnoda_NEW
- User
- Posty: 103
- Rejestracja: środa 04 kwie 2018, 16:48
Re: [LabView10] SerialPort odbiera losowo błędne wartości
Tak po wpisaniu w terminal next\r\n Arduino odpowiada kolejne liczby. Niestety Twojego pliku nie mogę otworzyć. Tutaj przesyłam swój.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Re: [LabView10] SerialPort odbiera losowo błędne wartości
w sumie mogłam od razu zauważyć - nie kończysz next znakami CRLF, choć tak to wygląda, przerysowany przykład masz z modyfikacją o jawną konkatenację EOL, a na tym co wrzuciłeś - dodałam do next-a znaki \r\n ale zwróć uwagę na opcję '\' codes display i zmianę ikonki string const gdy ustawi sie Visible Items -> Display Style; jak będziesz zmieniał to po włączeniu `\ codes display' zrobi się next\\r\\n, usuń wtedy po jednym backslashu; no, to u mnie działa.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)
- StaryAnoda_NEW
- User
- Posty: 103
- Rejestracja: środa 04 kwie 2018, 16:48
Re: [LabView10] SerialPort odbiera losowo błędne wartości
Hej
Ok teraz Twój przykład działa:
Niestety w mojej wersji gdzie cały czas chcę analizować, czy moduł czegoś nie odebrał, od czasu do czasu pojawiają się wartości losowe. Mam jeszcze jedno pytanie jak udało Ci się podłączyć jedną nóżkę do bramki OR do sygnału ERROR? Pytam ponieważ u mnie jest to niemożliwe.
Ok teraz Twój przykład działa:
Niestety w mojej wersji gdzie cały czas chcę analizować, czy moduł czegoś nie odebrał, od czasu do czasu pojawiają się wartości losowe. Mam jeszcze jedno pytanie jak udało Ci się podłączyć jedną nóżkę do bramki OR do sygnału ERROR? Pytam ponieważ u mnie jest to niemożliwe.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Re: [LabView10] SerialPort odbiera losowo błędne wartości
W LV2014 można taki routing wykonać https://www.youtube.com/watch?v=lRBnC2-Ljmc
A co do dalszych błędów, w przypadku ciągłego odczytu można rozważyć wykorzystanie VISA Events, mniejsze szanse na zgubienie czegokolwiek, tak myślę, ludzie jakoś boją się tych eventów, nie wiedzieć czemu....ja zaczęłam coś tam bazgrać na ten temat, zerknij jak masz chęć serial events
A co do dalszych błędów, w przypadku ciągłego odczytu można rozważyć wykorzystanie VISA Events, mniejsze szanse na zgubienie czegokolwiek, tak myślę, ludzie jakoś boją się tych eventów, nie wiedzieć czemu....ja zaczęłam coś tam bazgrać na ten temat, zerknij jak masz chęć serial events
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)
Wróć do „Inne języki programowania”
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości