Zapis transmitancji z parametrami
Zapis transmitancji z parametrami
Witam wszystkich,
mam pewien problem z zapisem transmitancji w labview, a mianowicie mam transmitancje z parametrami, tj. wartościami stałych sprężyn i tłumików, które chciałbym aby użytkownik mógł zmieniać w czasie trwania aplikacji oraz żeby transmitancja była wyświetlana na ekranie. I tu się pojawia problem ponieważ samo zapisanie transmitancji jeśli mam dane stałe współczynniki licznika i mianownika nie jest problemem ale całkowicie nie wiem jak to zrobić z tymi parametrami. Podobno można by to zrobić używając klastrów ale nigdy ich nie tworzyłem i nie używałem. Dodam że nie jest zbyt zaawansowanym użytkownikiem labview. Jeśli ktoś mógłby mi pomóc to byłbym wdzięczny.
Pozdrawiam
mam pewien problem z zapisem transmitancji w labview, a mianowicie mam transmitancje z parametrami, tj. wartościami stałych sprężyn i tłumików, które chciałbym aby użytkownik mógł zmieniać w czasie trwania aplikacji oraz żeby transmitancja była wyświetlana na ekranie. I tu się pojawia problem ponieważ samo zapisanie transmitancji jeśli mam dane stałe współczynniki licznika i mianownika nie jest problemem ale całkowicie nie wiem jak to zrobić z tymi parametrami. Podobno można by to zrobić używając klastrów ale nigdy ich nie tworzyłem i nie używałem. Dodam że nie jest zbyt zaawansowanym użytkownikiem labview. Jeśli ktoś mógłby mi pomóc to byłbym wdzięczny.
Pozdrawiam
Zapis transmitancji z parametrami
Pomysł, który przychodzi mi na szybko do głowy to przedstawienie transmitancji w postaci równania różniczkowego opisującego obiekt, wówczas modyfikacja poszczególnych współczynników nie stanowi większego problemu. Co do modyfikacji samej transmitancji i jej współczynników to muszę to sprawdzić.
EDIT:
Jest to jak najbardziej możliwe, wymaga konfiguracji bloczku Transfer Function tak jak w załączniku. Następnie należy kliknąć prawym przyciskiem myszy na wejście Transfer Function tego bloczku i z menu kontekstowego wybrać Create a następnie Control. W ten sposób pojawi się na Front Panelu wspomniany przez Ciebie klaster (czyli połączenie w ogólnym przypadku różnych typów zmiennych wejściowych lub wyjściowych). W tym przypadku składa się z dwóch wektorów opisujących licznik oraz mianownik transmitancji, na panelu czołowym są to Numerator oraz Denominator. W załączonym VI symulowany jest układ drugiego rządu. Jeśli znana jest postać transmitancji (rząd wielomianu licznika i mianownika) można rozdzielić te współczynniki do osobnych kontrolek, zamiast całościowej tabeli.
EDIT:
Jest to jak najbardziej możliwe, wymaga konfiguracji bloczku Transfer Function tak jak w załączniku. Następnie należy kliknąć prawym przyciskiem myszy na wejście Transfer Function tego bloczku i z menu kontekstowego wybrać Create a następnie Control. W ten sposób pojawi się na Front Panelu wspomniany przez Ciebie klaster (czyli połączenie w ogólnym przypadku różnych typów zmiennych wejściowych lub wyjściowych). W tym przypadku składa się z dwóch wektorów opisujących licznik oraz mianownik transmitancji, na panelu czołowym są to Numerator oraz Denominator. W załączonym VI symulowany jest układ drugiego rządu. Jeśli znana jest postać transmitancji (rząd wielomianu licznika i mianownika) można rozdzielić te współczynniki do osobnych kontrolek, zamiast całościowej tabeli.
- Załączniki
-
- Parametryzacja transmitancji.vi
- Przykładowy VI
- (56.98 KiB) Pobrany 238 razy
Certified LabVIEW Associate Developer
Re: Zapis transmitancji z parametrami
tzn. nie do końca o to mi chodziło albo ja nie zrozumiałem Twojej odpowiedzi, a mianowicie w Twoim przypadku musisz mieć znane współczynniki liczniki i mianownika i je gotowe wpisujesz, a ja mam równanie gdzie współczynniki są nieznane jako stałe tylko jako zmienne, np przykładowa transmitancja.
G(s)=((a1*b1)s+2)/(a2*b2)s^2+(b1-a1)s+4
i właśnie chodziłoby mi o to żeby wprowadzać a1, b1, itp. żeby użytkownik mógł zmiennymi sterować. Może ktoś ma jakiś pomysł bo ja już nie mam
ewentualnie czy nie lepiej byłoby to zrobić jako równanie różniczkowe, czy nie byłoby wtedy prościej
G(s)=((a1*b1)s+2)/(a2*b2)s^2+(b1-a1)s+4
i właśnie chodziłoby mi o to żeby wprowadzać a1, b1, itp. żeby użytkownik mógł zmiennymi sterować. Może ktoś ma jakiś pomysł bo ja już nie mam
ewentualnie czy nie lepiej byłoby to zrobić jako równanie różniczkowe, czy nie byłoby wtedy prościej
Zapis transmitancji z parametrami
Zaproponowany przeze mnie VI realizuje dowolną transmitancję jeżeli chodzi o rząd wielomianu licznika jak również mianownika transmitancji. To czego chcesz jak rozumiem to zmiana współczynników dla transmitancji, której rząd jest znany. Jest to mniej uniwersalne rozwiązanie od tego, które zaproponowałem, jednak jak najbardziej da się je zrealizować.
- Załączniki
-
- Parametryzacja transmitancji.vi
- Zmiana współczynników transmitancji
- (64.49 KiB) Pobrany 271 razy
Certified LabVIEW Associate Developer
Re: Zapis transmitancji z parametrami
dzięki, chyba sobie już poradzę
przynajmniej mam taką nadzieje
przynajmniej mam taką nadzieje

Zapis transmitancji z parametrami
Nie ma sprawy, w razie czego pisz. Pamiętaj, że wielomiany licznika oraz mianownika są zapisywane w innej konwencji niż ma to miejsce w przypadku korzystania z Matlaba - zaczynamy od wyrazu wolnego i kolejne wyrazy wektora to współczynniki stojące przy rosnących potęgach zmiennej s.
Certified LabVIEW Associate Developer
Re: Zapis transmitancji z parametrami
a masz może jakieś przykłady jak się konstruuje clustry bo widzę że to może być przydatna rzecz, więc chciałbym się temu trochę bliżej przyjrzeć??
Zapis transmitancji z parametrami
Do tego służy funkcja Boundle - w ten sposób łączysz ze sobą zmienne różnych typów przy czym są to albo kontrolki, albo wskażniki albo stałe. Więcej na: http://zone.ni.com/devzone/cda/tut/p/id/7571 .
Certified LabVIEW Associate Developer