[LabView10] SerialPort odbiera losowo błędne wartości

Tutaj umieszczamy tematy związane z językami programowania niepasującymi do innych działów.
Regulamin forum
Temat prosimy poprzedzić nazwą języka umieszczonego w nawiasach kwadratowych np. [Pascal].
Awatar użytkownika
StaryAnoda_NEW
User
User
Posty: 103
Rejestracja: środa 04 kwie 2018, 16:48

[LabView10] SerialPort odbiera losowo błędne wartości

Postautor: StaryAnoda_NEW » piątek 08 cze 2018, 09:42

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 ?
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: [LabView10] SerialPort odbiera losowo błędne wartości

Postautor: tasza » piątek 08 cze 2018, 19:47

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`
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
StaryAnoda_NEW
User
User
Posty: 103
Rejestracja: środa 04 kwie 2018, 16:48

Re: [LabView10] SerialPort odbiera losowo błędne wartości

Postautor: StaryAnoda_NEW » niedziela 10 cze 2018, 20:19

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
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: [LabView10] SerialPort odbiera losowo błędne wartości

Postautor: tasza » niedziela 10 cze 2018, 20:44

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
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
StaryAnoda_NEW
User
User
Posty: 103
Rejestracja: środa 04 kwie 2018, 16:48

Re: [LabView10] SerialPort odbiera losowo błędne wartości

Postautor: StaryAnoda_NEW » niedziela 10 cze 2018, 20:51

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
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: [LabView10] SerialPort odbiera losowo błędne wartości

Postautor: tasza » niedziela 10 cze 2018, 21:37

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ć)

Awatar użytkownika
StaryAnoda_NEW
User
User
Posty: 103
Rejestracja: środa 04 kwie 2018, 16:48

Re: [LabView10] SerialPort odbiera losowo błędne wartości

Postautor: StaryAnoda_NEW » poniedziałek 11 cze 2018, 16:24

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.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: [LabView10] SerialPort odbiera losowo błędne wartości

Postautor: tasza » środa 13 cze 2018, 23:19

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
______________________________________________ ____ ___ __ _ _ _ _
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 1 gość