Częsta inicjalizacja kontra zablokowane zasoby

Wszelkie sprawy związane z LabVIEW i komunikacją ze sprzętem. Problemy i ciekawe rozwiązania.
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

Częsta inicjalizacja kontra zablokowane zasoby

Post autor: ky3orr »

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
Ostatnio zmieniony 17 mar 2008 22:03 przez ky3orr, łącznie zmieniany 2 razy.
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
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

Post autor: bogdani »

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
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

Re: Częsta inicjalizacja kontra zablokowane zasoby

Post autor: ky3orr »

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
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
ODPOWIEDZ