witam szanownych Kolegów!
piszę właśnie obsługę dwóch urządzeń na RS232 każde.
problem przed którym stanąłem to czy jest jakiaś dobra maniera programowania urządzeń do których cyklicznie chcemy uzyskiwać dostęp?
chodzi o to, że przy korzystaniu z bloczków Serial, lub VISA należy najpierw stworzyć obiekt, lub otworzyć port - czyli zająć zasoby systemowe, wykonać akcję i zamknąć port lub usunąć obiekt (zamknąć obiekt VISA).
dla tego zastanawia mnie w jaki sposób najlepiej rozwiązać problem komunikacji: czy na początku programu zająć zasoby i przedrutowywać je w każde potrzebne miejsce kodu, oraz zwolnić zasoby dopiero przy opuszczaniu aplikacji?
Może jednak lepiej inicjować obsługę urządzeń w miejscach gdzie jest wymagana i od razu po sobie sprzątać?
jak sądzicie? czy ma to jakiś wpływ na działanie programu?
czy tak samo należy postępować z dostępem do baz danych?
pozdrawiam serdecznie
Częsta inicjalizacja kontra zablokowane zasoby
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
Częsta inicjalizacja kontra zablokowane zasoby
Ostatnio zmieniony 17 mar 2008 22:03 przez ky3orr, łącznie zmieniany 2 razy.
-
bogdani
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Częsta inicjalizacja kontra zablokowane zasoby
Witaj
To wszystko zależy jak często korzystasz z danych zasobów.
Jeśli odwołania do nich są częste i czas inicjalizacji może mieć wpływ na działanie algorytmu, to lepiej zająć zasoby na początku i zwolnić na koniec programu. Zwrócić należy uwagę czy ktoś inny się do nich nie będzie odwoływał, czy może się odwoływać.
Jeśli odwołujesz się do tych zasobów sporadycznie to IMHO przy odwołaniu blokujesz zasób i korzystasz z niego.
bogdani
To wszystko zależy jak często korzystasz z danych zasobów.
Jeśli odwołania do nich są częste i czas inicjalizacji może mieć wpływ na działanie algorytmu, to lepiej zająć zasoby na początku i zwolnić na koniec programu. Zwrócić należy uwagę czy ktoś inny się do nich nie będzie odwoływał, czy może się odwoływać.
Jeśli odwołujesz się do tych zasobów sporadycznie to IMHO przy odwołaniu blokujesz zasób i korzystasz z niego.
bogdani
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
Re: Częsta inicjalizacja kontra zablokowane zasoby
dzięki bogdani za podpowiedź.
wydaje mi się, że zarezerwuję zasoby na początku programu i zwolnię dopiero na końcu. w moim projekcie żaden inny proces nie będzie korzystał z COMów poza moją aplikacją, a średnio w ciągu minuty będę 50 razy coś przesyłał w obie strony więc myślę, że po prostu lepiej będzie korzystać z raz odpalonej juz VISY.
pozdrawiam
wydaje mi się, że zarezerwuję zasoby na początku programu i zwolnię dopiero na końcu. w moim projekcie żaden inny proces nie będzie korzystał z COMów poza moją aplikacją, a średnio w ciągu minuty będę 50 razy coś przesyłał w obie strony więc myślę, że po prostu lepiej będzie korzystać z raz odpalonej juz VISY.
pozdrawiam