Strona 2 z 2

Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 15 sty 2010 15:23
autor: Magoo
Tak jak mówiłem, zamieszczam rysunek aparatury (przepraszam że tak późno). Biedy bo biedny, ale rysownik ze mnie żaden.
A teraz o co chodzi. Mamy dwie komory (1 i 4) to są punkty w których trzymak (ciemniejszy niebieski) ma pozostać określoną ilość sekund. Punkty 2 i 3 są to punkty bezpośrednio nad komorami. Te punkty będą określone przez użytkownika. Dodałem jeszcze jeden punkt (5) jako punkt końcowy który chciałbym aby znajdował się w połowie odległości pomiędzy punktami 2 i 3. Chciałbym aby to był punkt końcowy, jak i w sumie początkowy na dobrą sprawę. Nie będzie on wyznaczany przez użytkownika, powinien być obliczany automatycznie.
W takim układzie układ powinien się poruszać w kolejności 5-2-1(tu czekamy zadaną liczbę sekund)-2-3-4(znowu czekamy)-3-5.

Teraz jak to zrobić? Myślałem aby stworzyć jakiś wewnętrzny "układ współrzędnych" który punkty (0,0) będzie miał w miejscu gdzie znajduje się trzymak podczas uruchomienia programu. Następnie zapamiętać ilość kroków w każdym kierunku, zapamiętać gdzie są dane punkty, zapamiętać czasy, wykonać "jazdę" i zatrzymać się w punkcie 5.
Potem powinien być jeszcze przycisk "powtórz" który powtórzy "jazdę" jeszcze raz.

Czy możecie mi powiedzieć co o tym myślicie, i ewentualnie dać jakieś wskazówki jak połączyć tablice, bo wydaje mi się że trzeba to zrobić na tablicach.

PS. Zmienił mi się termin oddania programu na "jak najszybciej" ale przynajmniej mnie nie zabiją już jak nie oddam tego w poniedziałek.

Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 29 maja 2010 13:47
autor: Magoo
Witam wszystkich po bardzo długiej przerwie. Program który się pisał działa i ma się dobrze, no może nie jest to szczyt doskonałości, ale działa. Jednak postanowiłem go zmodernizować aby się lepiej nauczyć LabView, bo nigdy nie wiadomo kiedy się może przydać oraz dlatego że mam teraz troszkę czasu na to.
Tak więc chciałbym po raz kolejny prosić Was o pomoc i radę bo na początek chciałbym zrobić trzy rzeczy, mianowicie:

1.Ustalanie punktów położenia odbywa się aktualnie w wyznaczonej kolejności. Jednak czasami jest łatwiej ustawiać je w innej kolejności (np 2 1 4 3). Chciałbym aby była możliwość zapamiętywania współrzędnych w tablicy w taki sposób aby kolejność wybieranie nie miała znaczenia. Próbowałem to zrobić podając odpowiedni numer wiersza przy każdym naciśnięciu przycisku w Event, ale kończyło się to tym że zawsze zapisywał w pierwszym wierszu.

2.Kolejną rzeczą jaką chciałbym usprawnić jest to aby po zakończeniu działania można było wrócić na początek i wpisać mu nowe dane bez konieczności ponownego uruchamiania programu. Tu na razie nie mam pomysłu jak to zrobić, ale dzisiaj będę na tym siedział więc może coś mi wpadnie do głowy.

To są dwie rzeczy na początek, mam jeszcze kilka pomysłów (jak np zmniejszenie liczby podprogramów), i myślę że sobie z nimi poradzę.
Oczywiście załączam program do przeglądnięcia.
Z góry dzięki za jakiekolwiek rady.

Re: Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 31 maja 2010 15:53
autor: fajfi
Chętnie bym się przyjrzał Twojemu programowi, ale nie wiem czemu nie chce mi się on poprawnie rozpakować...
Pozdrawiam
Fajfi

Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 01 cze 2010 09:33
autor: Magoo
Przepraszam, że dopiero dziś odpisuję ale miałem małą awarię.
Załączam odpowiednie pliki, tym razem nie spakowane. Zauważyłem też że program nie potrzebuje zerowania (nie gubi punktów jeżeli zacznie pracę w którymkolwiek miejscu), więc pozbyłem się odpowiedniego kawałka kodu.
Dołożyłem też obliczanie głębokości zanurzenia.
Mam jeszcze małe pytanko. Czy w LabView istnieje coś na podobieństwo instrukcji "goto" w pascalu?

Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 08 cze 2010 20:42
autor: Magoo
Witam.
Czy ktoś może wie dlaczego program tworzy mi tablicę jednoelementową (patrz rysunek, czerwone kółko) a nie dwuelementową?
Chciałbym stworzyć 4 takie małe tablice aby potem stworzyć jedną tablicę 2x4 (rysunek, zielone kółko).
Czy ja w ogóle dobrze kombinuje z tymi tablicami? Jeżeli nie to co robię źle?

Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 08 cze 2010 23:10
autor: Pitol
masz ustawioną opcję Concatenate Inputs czy jakoś tak. Kliknij prawym na bloczek Build Array i odznacz tą opcję.

Re: Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 09 cze 2010 00:41
autor: Magoo
Zrobiłem tak jak mówiłeś i wszytko działa super, dzięki.
Ale teraz mam następne pytanie. Jak używam "Write To Spreadsheet File.vi" to tam muszę podać ścieżkę, a jeżeli nie podam to będzie się pytał gdzie zapisać dane. Moje pytanie brzmi: czy jest jakaś formułka za pomocą której program będzie rozumiał że ma zapisać plik z danymi w katalogu z głównym programem, czy mam mu wpisać na twardo adres pliku którego będzie używał?

Re: Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 09 cze 2010 00:52
autor: smiga
Pewnie że jest ... ten najmniejszy z lewej to Current VI's Patch:

Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 09 cze 2010 01:08
autor: Magoo
Dzięki, działa jak marzenie.
Ale mam jeszcze jedno, ostatnie pytanie na dzisiejszą noc. W "Write To Spreadsheet File.vi" ustawiłem sobie aby podmieniał mi plik z danymi, a nie dodawał do niego nowe dane. Jak zrobić aby się za każdym razem nie pytał czy ma go zamienić? Jak kazałem mu dodawać dane to się nie pytał, a potrzebny mi jest tylko jeden wiersz z danymi.
Podejrzewam że da się to zrobić na jakimś Case, tylko jak wtedy wyciągnąć info, że pojawia się stosowny komunikat?

Re: Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 09 cze 2010 11:47
autor: smiga
Podejrzewam że otwierasz plik w pętli, w której dokonujesz zapisu przy pomocy "Write To Spreadsheet File.vi", więc za każdym razem pyta czy otworzyć / nadpisać plik.
Wystaw otwarcie pliku przed pętlę, jak poniżej ... poniższa konfiguracja o nic nie pyta:

Re: Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 09 cze 2010 21:36
autor: Magoo
Cóż, ja chyba nie za bardzo potrafię to zrobić, jak bym nie ustawił, zawsze pyta mnie czy zastąpić plik czy nie plik... ale przede wszystkim nie mogę znaleźć ikon które wykorzystałeś. Czy możesz podać ich nazwy?
Załączam też screen i vi w którym to siedzi.

Re: Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 09 cze 2010 22:01
autor: smiga
Pierwszy duży żółty to "Open/Create/Replace File" - otwiera plik i podaje referencję do niego.
Tą referencję musimy zamienić na ścieżkę i podać do "Write To Spreadsheet File" - do tego służy mały bloczek "Refnum to Path"
Przy wychodzeniu z programu wypada pozamykać wszystkie referencje - do tego służy "Close File" (po prawej stronie pętli)
... mam nadzieję, że wszystkie wspomniane są w LV 7.1, z którego korzystasz - powinny być w palecie Programming/File I/O

Re: Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 09 cze 2010 22:30
autor: Magoo
Ok, zrobiłem troszkę na okrętkę, bo zauważyłem, że moja "chwilowa pozycja" nie jest w pełni uaktualniona w pliku. Użyłem "Flat sequence" i teraz prosi mnie o potwierdzenie tylko jak powiem aby nie nakładam drugiej warstwy, co jest zrozumiałe. Jednak dalej właśnie pyta.
Próbowałem też bez pętli while, ale jest to samo.
Co robię źle?

Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 09 cze 2010 22:35
autor: Magoo
OK, już mam. Nie podłączyłem "advisory dialog" i nie zrobiłem na F. Teraz wszytko śmiga.

Sterowanie dwoma silnikami krokowymi (RS232, Euro, SMC)

: 20 wrz 2010 15:25
autor: wojtas315
Witam można sie z Panem skontaktować jakoś telefonicznie?? Mikrobi,