Strona 1 z 1
[LabView10] SerialPort odbiera losowo błędne wartości
: piątek 08 cze 2018, 09:42
autor: StaryAnoda_NEW
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.
Zrzut ekranu (272).png
Zrzut ekranu (274).png
Zrzut ekranu (275).png
SerialPort.rar
Czy ktoś może mi podpowiedzieć co robię błędnie ?
Re: [LabView10] SerialPort odbiera losowo błędne wartości
: piątek 08 cze 2018, 19:47
autor: tasza
taki kod po stronie sprzętu, chińskie Ardu, 115kbaud, request-response, po każdym 'next' zwraca kolejną liczbę.
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`
Re: [LabView10] SerialPort odbiera losowo błędne wartości
: niedziela 10 cze 2018, 20:19
autor: StaryAnoda_NEW
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:
Zrzut ekranu (280).png
Zrzut ekranu (279).png
Re: [LabView10] SerialPort odbiera losowo błędne wartości
: niedziela 10 cze 2018, 20:44
autor: tasza
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
Re: [LabView10] SerialPort odbiera losowo błędne wartości
: niedziela 10 cze 2018, 20:51
autor: StaryAnoda_NEW
Tak po wpisaniu w terminal next\r\n Arduino odpowiada kolejne liczby. Niestety Twojego pliku nie mogę otworzyć. Tutaj przesyłam swój.
SerialPort.rar
Re: [LabView10] SerialPort odbiera losowo błędne wartości
: niedziela 10 cze 2018, 21:37
autor: tasza
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.
Re: [LabView10] SerialPort odbiera losowo błędne wartości
: poniedziałek 11 cze 2018, 16:24
autor: StaryAnoda_NEW
Hej
Ok teraz Twój przykład działa:
SerialPort.rar
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.
Re: [LabView10] SerialPort odbiera losowo błędne wartości
: środa 13 cze 2018, 23:19
autor: tasza
W LV2014 można taki routing wykonać
https://www.youtube.com/watch?v=lRBnC2-LjmcA 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