Strona 2 z 2
Re: Problem z uruchomieniem
: 19 maja 2010 18:11
autor: Gorbaczov
To nie do końca jest symulacja. Kontrolki do zmiany napięcia wstawiłem aby zastąpić pomiar z mojej karty. Chciałbym żeby napięcie które zmierzyłem za pomocą karty zmieniało stan kontrolki w programie, tak jak to jest np. w zakładce "Salon". Za pomocą tej karty monitoruję stan makiety domku którą wykonałem i te pomiary chciałbym przetworzyć na zmiany stanu kontrolek w programie. Właściwie to potrzebuję tylko diody w tym programie, nie potrzebuję przycisków takich jak np "uzbrojenie alarmu", "włączenie oświetlenia" bo te przyciaski są teraz zastąpione rzeczywistymi umieszczonymi w moim modelu i dzięki karcie mogę monitorować ich stan. Wymyśliłem, że zmienię wszystkie przyciski w programie na "Indicator", podłączę do każdego z nich operację porównania napięcia (zmierzonego wcześniej miernikiem i tego zmierzonego za pomocą karty) i dzięki temu będzie się zmieniał jego stan (True-False). Chciałem to zrobić w strukturze Event, ale to nie zdało egzaminu, dlatego przerobiłem program do takiej postaci jak teraz. A co zrobić żeby zmiana stanu przycisku np w "kotłowni" wywołała procedurę "kotłownia" w pętli konsumenta?
Ps. Mam nadzieję, że wytłumaczyłem w miarę zrozumiale...
Re: Problem z uruchomieniem
: 20 maja 2010 12:06
autor: Gorbaczov
Posłuchałem rady i zmodyfikowałem program tak aby reagował na zmianę zakładki. Jednak Jest zbyt duże opóźnienie, po wybraniu jednej zakładki trzeba odczekać kilka obrotów pętli konsumenta (w zależności ile razy się obróciła pętla producenta) aby program zareagował na zmianę stanu kontrolki. Co zrobić aby skrócić do minimum czas oczekiwania?
Problem z uruchomieniem
: 20 maja 2010 14:54
autor: Pitol
tak w ogóle to ta pętla producenta zapieprza na maxa (obciążenie procka jest prawie 100%) u Ciebie. Wstaw tam jakieś opóźnienie, wystarczy 10ms żeby dać prockowi odpocząć. Może Twój komp jest słabszy i się nie wyrabia, dlatego masz opóźnienia. Kto wie

Re: Problem z uruchomieniem
: 20 maja 2010 21:08
autor: smiga
Dokładnie, słuchaj Pitol'a
Zastanawiam się przy okazji nad sensem zastosowania rejestrów przetrzymujących referencję do kolejki. Tak jak mogę sobie wyobrazić sens przetrzymywania w rejestrze informacji o błędzie kolejki (choć pewnie go lepiej obsłużyć niż trzymać), tak nie widzę za bardzo celu trzymania referencji do kolejki - nie zmienia się w takim zastosowaniu.
Odnośnie rejestrów to możesz uniezależnić program od interfejsu (klikania na poszczególne zakładki) np stosując rejestry, które będą przetrzymywały ostatnią wartość z danego czujnika napięcia. Porównujesz wtedy wartość z rejestru z wartością aktualną - jeżeli się zmieniła to znaczy, że program powinien przejść do odpowiedniego Case'a.
... to jeden ze sposobów, w Twoim przypadku nie wymagający za dużo modyfikacji programowych.
Re: Problem z uruchomieniem
: 25 maja 2010 16:08
autor: Gorbaczov
Dzięki Smiga, twoje podary bardzo mi pomogły
