Komunikacja Master - Slave - LV.

Wszelkie sprawy związane z LabVIEW i komunikacją ze sprzętem. Problemy i ciekawe rozwiązania.
Robert79
Posty: 15
Rejestracja: 28 paź 2013 20:18
Wersja środowiska: LabVIEW 7.1

Komunikacja Master - Slave - LV.

Post autor: Robert79 » 30 sty 2020 22:22

Witam.

Poświęciłem już trochę czasu na rozwiązanie mojego problemu i znalezienie odpowiedzi gdzie tkwi kruczek niestety bezskutecznie dlatego szukam pomocy tutaj.
Mianowicie prowadzę komunikację pomiędzy urządzeniami na magistrali RS485 w sposób 1x master i kilka slave.
Komunikacja wygląda w ten sposób że master adresuje kolejno slave i udziela mu szczeliny czasowej w czasie której ten może wysłać dane.
Tutaj nie ma problemu i komunikacja pomiędzy wszystkimi urządzeniami przebiega prawidłowo.
scope.PNG
Komunikacja.png
Problem natomiast pojawia się po stronie labview, a dokładniej to dwa problemy:
1) Labview nasłuchuje magistralę i wyświetla parametry na pulpicie. W pierwszej ramce pakietu przesyłam wartość w którym zapisany jest czas trwania całego pakietu - czyli czas przez jaki trwa odpytanie wszystkich slave (23 ms). To jest po to aby LV wiedziało ile trwa cały pakiet.
I tu pojawia się pierwszy problem. pakiet trwa ok 23ms więc teoretycznie po tym czasie powinienem mieć w buforze wszystkie dane a tak nie jest. Muszę do tego czasu doliczyć min 8ms. Dlaczego tak jest? skąd to opóźnienie? Gdzie jest ta zwłoka? Czy związane jest to z PC?

2)Po odebraniu całego pakietu, ostatnią ramką jest przydzielona szczelina czasowa dla LV abym mógł w tym czasie wysłać komendę z LV na magistralę.
Tu pojawia się drugi problem. Mimo iż nadawanie odbywa się zaraz po odebraniu danych z bufora to fizycznie na magistrali pojawia się dopiero po ok 16 -24ms. Dlaczego?

Robert79
Posty: 15
Rejestracja: 28 paź 2013 20:18
Wersja środowiska: LabVIEW 7.1

Re: Komunikacja Master - Slave - LV.

Post autor: Robert79 » 01 lut 2020 11:18

Nadal nie mogę wyjaśnić skąd te opóźnienia się biorą. Może to jest problem sterownika COM? A może chodzi o jakąś dodatkową opcję bloczku VISA?
Nie jestem aż tak biegły w LV. Proszę pomóżcie.

Awatar użytkownika
smiga
Administrator
Posty: 738
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Has thanked: 5 times
Been thanked: 5 times
Kontakt:

Re: Komunikacja Master - Slave - LV.

Post autor: smiga » 06 lut 2020 23:58

Zamień "zegarki", czyli funkcję Wait na Wait Until Next i napisz czy cokolwiek się zmieniło z czasami.
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek

Robert79
Posty: 15
Rejestracja: 28 paź 2013 20:18
Wersja środowiska: LabVIEW 7.1

Re: Komunikacja Master - Slave - LV.

Post autor: Robert79 » 07 lut 2020 19:08

Zmieniło się ale niestety na gorsze bo gubię synchronizację.

PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice
Has thanked: 3 times
Been thanked: 5 times

Re: Komunikacja Master - Slave - LV.

Post autor: PiDi » 09 lut 2020 21:02

Czego używasz do podłączenia komputera do magistrali? Jakaś przejściówka na USB?
ObrazekObrazekObrazekObrazek

ODPOWIEDZ