'Inteligenty' dom ze sterownikiem PLC

Główna => Programowanie => Wątek zaczęty przez: schuey w Października 27, 2018, 07:08:43 pm

Tytuł: Global persistent w bloku funkcyjnym czy na zmiennej w bloku programu?
Wiadomość wysłana przez: schuey w Października 27, 2018, 07:08:43 pm
Witam,

Sobota spędzona pod znakiem zabawy z biblioteką Oscat i udane stworzenie symulacji żaluzji fasadowej z obracanymi lamelami. Rozwiązanie oparłem na bloku funkcyjnym o wdzięcznej nazwie ZALUZJA z funkcjami BLIND_INPUT i BLIND_CONTROL do sterowania wyjściem bloku. W części programu mam przypisanie do zmiennej KUCHNIA z zadanymi przyciskami góra / dół i czasami poruszania żaluzji i lameli dla żaluzji w kuchni.

Pytanie - jak zastosować GLOBAL PERSITENT w powyższym przykładzie? Na razie umieściłem ten zwrot w bloku ZALUZJA i wrzuciłem tam wymienione BLIND_INPUT i BLIND_CONTROL. Czy to może tak zostać i jak użyję bloku ZALUZJA do innego pomieszczenia, zmienne nie będą w jakiś sposób konfliktowały i nadpisywały? Wydaje mi się, że drugim sposobem jest umieszczenie global persistent w części programu i wrzucenie tam zmiennej KUCHNIA natomiast wszystkie zmienne w bloku ZALUZJA zmienić na normalny blok VAR.

Jestem pewien, że ten problem już ktoś miał i zna odpowiedź jaka jest "best practice" ?

Pozdrawiam,
WS