Strona 1 z 1

problem z eventem

: 18 kwie 2011 11:21
autor: piotrpop86
Witam
Mam problem z eventem, która zależna jest od przycisku kalibracja. Dopóki robiłem kalibracje silnika w whilu po za eventem to działało wszystko ok, a jak wrzuciłem to w eventa na value change, to kalibracja się robi, ale nie mogę robić nic innego w programie. Dopiero jak kalibracja się zakończy, to program jakby się odwiesza. Wydaje mi się, że jest to spowodowane tym, że poszczególne kroki w kalibracji sa robione w whilach, i jak program do nich wchodzi, to nie widzi co sie dzieje poza tym whilem, a nie mam pomysłu jak to obejść.
Pozdrawiam

Re: problem z eventem

: 18 kwie 2011 23:07
autor: smiga
Nie widzę żadnego event'a i przycisku kalibracja w tym kodzie ... ale do wielu SubVI'i nie mam dostępu (bo ich nie załączyłeś) - może tam coś siedzi.
Patrząc na diagram ... mało czytelny - muszę przewijać w pionie i w poziomie.

Na podstawie samego opisu (bo jak wcześniej wspomniałem w nieczytelnym kodzie nie znajduje event'a) podejrzewam, że kalibracja zajmuje troszkę czasu, a całość wrzuciłeś do środka struktury event ... więc do momentu kiedy nie skończy obsługi tego event'a, nie zrobi nic więcej. Polecam skorzystanie z architektury producent/konsument. Event'y są w pętli producenta i tam wykonywane są tylko podstawowe operacji. To konsument zajmuje się poważnym liczeniem i on powinien zająć się kalibracją. W tym czasie aktywne są inne elementy panelu (guziki), których akcje mogą obsłużone przez strukturę event i kolejkowane.
Mam nadzieję, że w miarę jasno to opisałem i odpowiada to rzeczywistej sytuacji.

Re: problem z eventem

: 19 kwie 2011 11:16
autor: piotrpop86
W załączniku przesyłam cały mój program razem z wszystkimi klockami. Mam nadzieje, że to coś pomoże. Dziękuje za wszelką pomoc.
Pozdrawiam

problem z eventem

: 12 maja 2011 19:17
autor: gpql
Zachowanie normalne
umieść procedurę kalibracja poza pętlą i uruchom z poziomu referencji do podprogramu. Warunek ze nie masz kolizji z wykonywaniem kilku zadań na karcie.
GP