Hamownia w LV

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
machoney
Posty: 31
Rejestracja: 15 mar 2010 08:52
Wersja środowiska: LabVIEW 8.6

Hamownia w LV

Post autor: machoney »

Witam,
mam kartę Advantecha USB-4711A, przetwornik masy (30kg) i czujnik impulsów. Chcę zrobić małą hamownię. W chwili obecnej mam doprowadony sygnał z przetwornika w postaci naięcia. Potrzebuję teraz zrobić kalibrację odważnikiem i zapisać ją tak, żeby przy polejnym uruchomieniu VI nie trzeba znów kalibrować. Zapewne dla większości z Was to banał dlatego proszę o poradę jak to zrobić żeby było proste i skuteczne. Dla przykładu pokazuję moją VI której hamownia ma być częścią. Jeżeli zobaczycie coś co nie jest "zgodnie ze sztuką", proszę o krytykę i porady. pzd
Załączniki
Drugi kanał ma być wagą
Drugi kanał ma być wagą
4050ml A Rh+, a Ty?
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Hamownia w LV

Post autor: Pitol »

Widzę, że coś ruszyło z tą kartą u Ciebie ;)
Późno jest, a ja już po paru drinkach więc się będę streszczał: o zapisie kalibracji napiszę Ci jutro rano, jak będę w pracy a teraz tylko będę krytykował :D :D :D :D
1. Druty prowadzimy od lewej do prawej, a nie na odwrót (jak to ma miejsce w środkowej części Twego kodu). Jak się nie mieści to zrób tak, żeby się mieściło.
2. Jak już podpinasz drut błędu to go podepnij do wszystkich bloczków tak, żeby tworzyło to ciąg jakiś. Bo w tym momencie to tak nijak jest popodpinane.
Na więcej nie mam siły dzisiaj...
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

Hamownia w LV

Post autor: bogdani »

Witaj

Ja oprócz tego co już Pitol napisał podam jeszcze tyle czerwona kropka przy kontrolce oznacza, iż środowisko realizuje w tym miejscu dopasowanie danych (konwersję) przez co jest dodatkowa kopia danych tworzona w pamięci - masz kilka takich kropek, co niekorzystanie wpływa na wykorzystanie pamięci.

Co do jakości przewodów to nie będę się wypowiadał, bo ja bym się wstydził pokazać coś takiego - nie widać gdzie przewód ma początek i koniec, puszczasz przewody pod kontrolkami i funkcjami, itd. Sam sobie utrudniasz życie tworząc taki kod i potem jest on trudniejszy w debugowaniu.

Co do twojego pytania, to możesz to zrealizować w ten sposób, że w czasie kalibracji nieodczytywana jest wartość z czujnika i następnie jest ona zapisywana do pliku. Przy starcie aplikacji, wystarczy tylko odczytać wartość z pliku i już nie musisz ponownie robić kalibracji.

Zanim pokażesz znowu jakiś fragment kodu, to go posprzątaj, łatwiej nam będzie ci odpowiedzieć i tobie zrozumieć jak to działa.
bogdani
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
machoney
Posty: 31
Rejestracja: 15 mar 2010 08:52
Wersja środowiska: LabVIEW 8.6

Re: Hamownia w LV

Post autor: machoney »

Oczywiście zastosuje się do wszystkich uwag. Pitol, generowanie zliczonej liczby pulsów do silnika krokowego zrobiłem na atmedzie bo niestety na karcie ADV nie wyszło. Pierwszy tor analoga własnie do tego służy - ważę zbiornik (tu wystarczy mi samo napięcie żeby zadać wartość zadaną), jeśli napięcie jest niższe od zadanej, podaj impuls na wyjście DO0 do którego podpięta jest atmega. Tam już realizowany jest przeskok o 120' na silniku (dozowanie do zbiornika). Jak już pisałem, drugi tor analoga to hamownia. Ponieważ impulsy też liczy mi atmega (na przerwaniach) chcę impulsy odbierać przez RS232 i przeliczać z moc i moment obrotowy na podst. tych dwóch danych. Zapis do pliku mam zrobiony (choć nie wiem czy to tak do końca prawidłowo) tak, że tworzy mi kolumnę porządkową (1, 2, 3, itd) oraz dwie kolumny z wartościami AI0 i AI1. Jeżeli ten sam sposób będzie dobry do zapisu tablicy kalibracyjnej to mam krok do przodu. pzd
4050ml A Rh+, a Ty?
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Hamownia w LV

Post autor: Pitol »

To pokaż nam Twój zapis do pliku to Ci powiemy czy trzeba coś w nim poprawić
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
machoney
Posty: 31
Rejestracja: 15 mar 2010 08:52
Wersja środowiska: LabVIEW 8.6

Re: Hamownia w LV

Post autor: machoney »

sorki, ale nie zwróciłem uwagi, że nie widać na screenie. już dołączam. W pierwszej opcji myślałem, żeby zrobić kalibrację na EVENT ale nie wiem czy to dobra droga.

EDIT:
odnośnie czerwonych kropek: jak mam ich unikać? Mam dwa bloczki i żeby je polączyć musiałem dać konwersję. Jeżeli jest inna możliwość to ja jej nie znam i będę wdzięczny za optymalizację pracy mojej VI
Załączniki
scr10.JPG
Ostatnio zmieniony 27 lip 2010 12:47 przez machoney, łącznie zmieniany 1 raz.
4050ml A Rh+, a Ty?
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Hamownia w LV

Post autor: Pitol »

Nie wchodząc w szczegóły to możesz zrobić to tak:
CAL.PNG
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
machoney
Posty: 31
Rejestracja: 15 mar 2010 08:52
Wersja środowiska: LabVIEW 8.6

Re: Hamownia w LV

Post autor: machoney »

Oto moja kolejna odsłona VI. Obecnie mam zrobione tworzenie pliku z kalibracją i mam nadzieję, że troszkę lepiej poukładane. Ustawiam przełącznik na kalibrację zera, włączam kalibrację i robi mi sią pojedynczy wpis do pliku w postaci [napięcie_0, 0] i wyłącza się kalibracja. Następnie ustawiam przełącznik na pozycję zakres i wpisuję w Edita wartość jaką kładę na wagę (np 30kg). Ponownie łączam kalibrację i robi mi się drugi wiersz w pliku [napięcie_zakres, 30] i wyłącza się automatycznie kalibracja. Jeszcze nie wiem jak u mnie zrobić kalibrację na podstawie np 10 pomiarów ale czy to będzie konieczne to będzie zależało czy wskazanie będzie pływać.

Ponieważ pomiar wagi jest na mostku tensometrycznym może zastosowanie Convert Strain Gauge Reading VI rozwiązaloby problem jakichkolwiek przeliczeń?
Załączniki
widok panelu
widok panelu
połączenia
połączenia
4050ml A Rh+, a Ty?
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Hamownia w LV

Post autor: Pitol »

kalibrację na podstawie np. 10 pomiarów łatwo możesz zrobić wstawiając odczyt z karty w pętlę a wyniki uśrednić i dopiero wtedy zapisać.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
machoney
Posty: 31
Rejestracja: 15 mar 2010 08:52
Wersja środowiska: LabVIEW 8.6

Re: Hamownia w LV

Post autor: machoney »

Jasne że tak, większym problemem dla mnie jest gdzie to wsadzić w połączeniach. Obecnie mam taki plan, żeby drugi tor analoga powtórzyć w bloku od kalibracji i tam zapętlić te 10 pomiarow. Druga możliwość to obecny tor wsadzić w case i albo przepuścić analoga raz, albo jeśli kalibracja jest TRUE to analog będzie w pętli. Które rozwiązanie jest bardziej poprawne?
4050ml A Rh+, a Ty?
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Hamownia w LV

Post autor: Pitol »

hmm... A może lepiej byłoby przemyśleć architekturę i stworzyć ją od nowa? Ciężko mi jest osądzić po kawałkach kodu, które wkleiłeś, ale może lepszym rozwiązaniem byłaby maszyna stanów. Mógłbyś wtedy spokojnie wykorzystać ten sam kawałek kodu do kalibracji jak i zwykłego pomiaru. Jeśli nie wiesz jak się do tego zabrać albo będziesz miał z tym problemy to napisz to Ci pomożemy ;)
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
machoney
Posty: 31
Rejestracja: 15 mar 2010 08:52
Wersja środowiska: LabVIEW 8.6

Re: Hamownia w LV

Post autor: machoney »

Zobacz jak wygląda moje VI w tej chwili. Jako efekt końcowy VI ma realizować następujące zadania:
tor dla pierwszego AI:
- czytam AI0. Jeżeli wartość jest mniejsza od zadanej wystaw impuls na DO0 (do atmegi. chciałbym zrobić sterowanie elektrozaworami w LV ale nie umiem realizować zadań w czasie rzeczywistym więc robi mi to atmega. Powinno być tak, że otwieram zawór co zajmuje ok 300ms, daje impuls do atmegi aby przestawiła silnik o 120', czekam 100ms i zamykam zawór czyli kolejne 100ms - chciałbym wszystko mieć w LV)
- knob "opoznienie' pozwala regulować odstęp pomiędzy kolejnymi impulsami dla atmegi
- AI0 może być kalibrowane na kg ale zadawanie SP jako napięcie też jest do zaakceptowania

Dla drugiego AI niestety muszę zrobić kalibrację. Ilość impulsów chcę odczytywać z RS232 bo znów nie wiem jak w czasie rzeczywistm zliczać impulsy na karcie 4711A wykonując inne zadania np dla toru AI0 nie gubiąc impulsów. Z atmegi dostanę bajt z liczbą impulsów w jednostce czasu (np imp/sek). Wskazanie z czujnika muszę przeskalować tak, żeby hamownia przeliczyła mi moment obrotowy i moc.

Pitol, jeżeli możesz mi pomóc, proszę napisz na PW (nawet z ceną) a opiszę dokładnie o co mi chodzi bo jak wiesz już trochę czasu nad tym siedzę i ciągle kicha. Jak coś mi ruszy to utknę w innym miejscu :(
Załączniki
SILNIK1.vi
LV 8.6
(134.08 KiB) Pobrany 313 razy
4050ml A Rh+, a Ty?
machoney
Posty: 31
Rejestracja: 15 mar 2010 08:52
Wersja środowiska: LabVIEW 8.6

Re: Hamownia w LV

Post autor: machoney »

Cześć,
Pitol, czy doszła do Ciebie na PW moja wiadomość z dziś? ciągle ma "do wysłania" i nie wiem czy to wyszło odemnie. pzd
4050ml A Rh+, a Ty?
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Hamownia w LV

Post autor: Pitol »

Do wysłania znaczy, że wysłałeś, tylko ja jeszcze nie odebrałem ;) jak odbiorę (czyli właśnie teraz) to przeniesie się do folderu wysłane. Lekko porąbany system trochę. W FAQ jest to wyjaśnione ale kto tam zagląda? :D
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
ODPOWIEDZ