Witam.
Zdaję sobie sprawę, że temat event structure poruszany już był milion razy, ale nie udało mi się znaleźć nic co mogłoby mi pomóc. Kiedy wykorzysuję event structure do zdarzeń generowanych przez urzytkownika wszytsko jest jasne. Ale co gdy zdarzenie to zmiana stanu (np na RS232)? Zgaduję, że wypadałoby się posłużyć create/generate user event... tylko, że niewiem jak
bardzo prosiłbym o podesłanie jakiegoś wyjaśniającego linka lub króciutkiej aplikacji cobym mógł ruszyć z problemem.
generalnie chodzi o ty, aby program cały czas sobie działał, ale sprawdzał czy po drodze ktoś czegoś nie poodpinał - gdy włoże to w jakąś pętle niepotrzebnie będę sobie obciążał procek. a tak, do końca aplikacji będzie czekać na zdarzenie awarii, jeśli wcześniej pojawi się zdarzenie końca aplikacji to aplikacja skończy się bezawaryjnie (mam nadzieje, że nie zagmatwałem).
pozdrawiam (LabVIEW 7.1)
generate user event?
Re: generate user event?
...generalnie chodzi o to aby taki plik zadziałał.
Czyli aby co kilka sekund pokazywał aktualny czas na skutek zmiany event'ów...
Czyli aby co kilka sekund pokazywał aktualny czas na skutek zmiany event'ów...
Re: generate user event?
Trochę zagmatwałeś . Jeśli program ma pracować cały czas to będzie to praca w pętli. Odnosi się to również do układu while-eventGość pisze: generalnie chodzi o ty, aby program cały czas sobie działał, ale sprawdzał czy po drodze ktoś czegoś nie poodpinał - gdy włoże to w jakąś pętle niepotrzebnie będę sobie obciążał procek. a tak, do końca aplikacji będzie czekać na zdarzenie awarii, jeśli wcześniej pojawi się zdarzenie końca aplikacji to aplikacja skończy się bezawaryjnie (mam nadzieje, że nie zagmatwałem). )
W jaki sposób realizować "czuwanie"? Pierwsze rozwiązanie - twoje - jest dobre
Równolegla petla while, czuwająca, budząca się co określony czas i w określonej sytuacji generująca zdarzenie (zatem obsluga przez CASE ?)
Drugie rozwiązanie jakie sie nasuwa to wykorzystanie wejścia Event Timeout (niebieska klepsydra w lewym górnym rogu st.event) i określenie akcji dla zdarzenia Timeout. Realizacja będzie w zasadzie podobna.
Co do twojej realizacji kodu brakuje rejestracji zdarzenia i informacji o zdarzeniu wprowadzonej do struktury event przez Dynamic Event Terminal Pozowolilem sobie na pewne zmiany w kodzie:
Obsługujesz tym razem User Event, który jest w oznaczony jako Dynamic w edytorze zdarzeń (My User Event: User Event).
Warto dodać również obsługę przycisku
i przekazać jego wartość przez zmienną lokalną do pętli w której generowane są zdarzenia.
Re: generate user event?
wielkie dzięki. rejestracja zdarzenia dała rade. o to mniej więcej chodziło - dalej sobie tak popracuje nad tym aby mi przypasowało w projekt
pozdrawiam
pozdrawiam