'Inteligenty' dom ze sterownikiem PLC

 Language:
Szukanie zaawansowane  

Aktualności:

Powrót do strony głównej: www.edom-plc.pl

Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.

Wiadomości - schuey

Strony: [1] 2
1
Witam,

Odpisuję z pewnym opóźnieniem, może już probem rozwiązany, ale jak nie to podpowiem jak u mnie to rozwiązalem. Mam dosłownie ten sam scenariusz, lampkę przed gankiem zapalam po zachodzie słońca a gaszę o 23:00.

W bloku zmiennych mam:
PROGRAM READ_CLOCK
VAR
CurrentLocal, Sunset_Offset: DATE_AND_TIME;
CurrentTimeInt : INT;
Sun : FbCalculateSunriseSunset := (xDST:= TRUE, rTimeZone := 1, rLatitude := XX.XX, rLongitude := YY.YY);
Switch_Sunset_Offset: F_TRIG;
Switch_11PM: R_TRIG;
END_VAR

a w kodzie programu:
GLOBAL.CURRENT_TIME := SysRtcGetTime(TRUE);
CurrentLocal := UTC_TO_LTIME(
UTC := GLOBAL.CURRENT_TIME,
DST_ENABLE := TRUE,
TIME_ZONE_OFFSET := 60
);

CurrentTimeInt := HOUR_OF_DT(CurrentLocal) * 60 + MINUTE_OF_DT(CurrentLocal);
Switch_11PM(CLK := CurrentTimeInt > 1380);

Sun(dtUTC_Time := GLOBAL.CURRENT_TIME);

Sunset_Offset :=  Sun.dtSunset + T#40M;
Switch_Sunset_Offset(CLK := CurrentLocal < Sunset_Offset);

Potem, w bloku gdzie steruję lampką:
...
Ganek(
xButton := Wiatrolap_Dolny.xShort OR ModbusGanek,
xCentralOn := READ_CLOCK.Switch_Sunset_Offset.Q,
xCentralOff := Wiatrolap_Lewy.xLong OR Schody_Parter.xLong OR READ_CLOCK.Switch_11PM.Q
);
...

"Ganek" to zmienna FbLatchingRelay. Generalnie całe rozwiązanie opiera się na użyciu zbocza opadającego do stwierdzenia czy czas obecny nie jest już mniejszy niż czas zachodu (+offset). Do wyłączenia używamy zbocza rosnącego do sprawdzenia czy obecna godzina dnia ma więcej minut niż 1380 (23 * 60). Oba podpinamy do xCentralOn/Off dla włącznika.

pozdrawiam

2
Sterowanie i Wizualizacje / Odp: Sterowanie głosem Alexa
« dnia: Stycznia 22, 2024, 10:15:33 am »
Poszperałem i faktycznie na dzień dzisiejszy sterowanie Alexa z Node-RED jest prostsze w konfiguracji. W zasadzie potrzebne są dwa kroki:
- w aplikacji Alexa na telefonie, dodajemy nową "skill" , wyszukujemy "virtual smart home" i następnie linkujemy wg wskazówek konto
- w Node-RED, wchodzimy w "Manage pallette" i instalujemy rozszerzenie "node-red-contrib-virtual-smart-home" (https://flows.nodered.org/node/node-red-contrib-virtual-smart-home)

Teraz pozostaje już tylko zabawa w panelu Node-RED:
- dodajemy węzeł "virtual device" i w ustawieniach linkujemy nasze konto z Amazon, typ ustawiamy na "switch"
- robimy ponowny deploy i Alexa powinna rozpoznać nowe urządzenie
- komendę możemy wywołac np. "Alexa, switch Kitchen Lights on", gdzie Kitchen lights to nazwa naszego węzła
- węzeł wysyła obiekt z rozpoznaną komendą, dalej możemy uzyć np. bloku funkcji do przetworzenia tego komunikatu na odpowiednią wartość rejestru dla Modbus


3
Sterowanie i Wizualizacje / Sterowanie głosem Alexa
« dnia: Stycznia 04, 2024, 04:23:45 pm »
Witam,

Zakupiłem ostatnio Amazon Echo Dot i chciałem spróbować dodać sterowanie głosowe poprzez Alexa. Post na forum jest dość leciwy, 2017 rok i wymaga instalacji pimatic oraz tworzenia wizualizacji w wago. Chciałem sprawdzić, czy może ktoś próbował inne metody ostatnio, bardziej z wykorzystaniem Node Red? Mam już cały UI skonfigurowany na Node Red, komunikacja poprzez modbusa itp.

Pozdrawiam,

4
Problem sam się rozwiązał, wraz z datą zmiany czasu na letni. Pewnie za 1 rok zobaczymy znowu... pozdrawiam!

5
Witam,

Wczoraj (21 marca może jakiś związek?) przestała działać funkcja FbCalculateSunriseSunset. Szybki podgląd aplikacji na sterowniku pokazuje, że przelicza zmienną dtSunset ( DATE_AND_TIME ) na 00:00 dnia obecnego co w praktyce oznacza, że rolety nie opuszczą się same bo wyzwalam je F_TRIG ( czas teraz < zachód słońca ) i w tym przypadku

Czy ktoś ma podobny problem? Dziwne, że to akurat się wydarzyło w pierwszy kalendarzowy dzień wiosny dzień wcześniej funkcja na pewno dobrze działała.

Pozdrawiam

6
Tematy ogólne / Odp: PLC po latach
« dnia: Grudnia 20, 2022, 04:57:17 pm »
Witam,

Zaglądam na forum po długiej nieobecności - jak dobrze, że nadal działa! Od siebie dodam, że Dom na Wago działa bezawaryjnie od 2019 roku, w zasadzie jedyny przestój/awaria był na własne życzenie kiedy dołożyłem nowy moduł IO i z jakiegoś powodu program nie chciał wstać. Jest nawet "paniczny" wątek na tym forum, pomógł chyba reset środowiska w panelu webowym.

Chciałem dopytać weteranów czy macie jakiś sprecyzowany sposób dzielenia wiedzy, dokumentacji? O ile szafa przekaźniki powinny być proste dla elektryka, o tyle pisanie kodu w codesys to już raczej czarna magia. Zastanawiam się czy napisać przewodnik łopatologicznie tłumaczący jak uruchomić sterownik począwszy od instalacji środowiska na komputerze i wgranie programu z karty SD, czy tworzyliście już tego typu dokumentację?

pozdrawiam,

7
Witam,

Chciałem odświeżyć trochę ten wątek. !eCockpit od dawna prosi mnie o update firmware'u ale mam obawy co do właśnie potencjalnych problemów.

Chciałem podpytać o kilka spraw:
- na czym polega "reinstalacja eCockpit" czy to jest menu w panelu webowych gdzie wybieramy środowisko ( codsys vs eCockpit ) ?
- czy korzystałeś z bibliotek oscat i jeśli tak to czy update jest w jakiś sposób wymazuje albo przestają one działać?
- ostatnie pytanie to czy moduły IO mogą przestać działać albo tracą swoje zapisane indeksacje? mam kilka różnych 16 / 8 / 4 i nawet 2 kompletowanych przy każdej rozbudowie

8
Programowanie / Odp: Problem z CALENDAR z biblioteki Oscat
« dnia: Sierpnia 19, 2020, 04:55:01 pm »
Cześć,

a

Calendar.Utc := SysRtcGetTime(TRUE);

w ogóle działa w trybie symulacji?

Tak, działa OK jak sobie wskoczę w podgląd READ_CLOCK to wyraźnie zmienna UTC "cyka" co sekundę.

9
Programowanie / Odp: Problem z CALENDAR z biblioteki Oscat
« dnia: Sierpnia 19, 2020, 01:53:54 pm »
OK, w moim kodzie najprawdopodobniej brakowało wywołania funkcji:

Calendar_Updater(XCAL:=Calendar, HOLIDAYS:=Holidays);
Po dodaniu tego wyskakują mi błędy kompilacji w bibliotece Oscat, np. w pliku CONSTANTS_MATH

FACTS : ARRAY[0..12] OF DINT := 1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600;
przyczepia się "COOO6: ';' expected instead of ','

Czy w którejś wersji zmieniły się sposoby deklaracji tablic? Zakładam, że taki błąd pojawiałby się także w waszych programach.

10
Programowanie / Odp: Problem z CALENDAR z biblioteki Oscat
« dnia: Sierpnia 13, 2020, 12:02:22 am »
Cześć

Sprawdzam w trybie symulacji, ale do ćwiczeń przeniosłem cały "zegar" do bloku funkcyjnego od kontrolowania rolety. Gdzieś na forum mignęła mi informacja, że przy symulacji nie działają programy spoza PLC_PRG

11
Programowanie / Problem z CALENDAR z biblioteki Oscat
« dnia: Sierpnia 12, 2020, 07:32:33 pm »
Witajcie,

W tutorialach jest mowa o stosowaniu zmiennej Calendar do sterowania zachodami / wschodami słońca. Dodałem zmienną typu CALENDAR z moimi współrzędnymi i offsetem +2h na strefę czasową od UTC:

VAR
Calendar : CALENDAR:=(LATITUDE:=53.0, LONGITUDE:=14.0, OFFSET:=120);
END_VAR

a następnie w bloku programu inicjuję czas UTC:

Calendar.Utc := SysRtcGetTime(TRUE);

Gdy próbuję użyć tej zmiennej w BLIND_NIGHT ( będącym poprawiona wersją wg inego posta na forum ), to atrybuty SUN_SET oraz SUN_RISE, oraz LDT są wszystkie błędne. Zachody wschody pokazują 0:00 a lokalny czas LDT to unixowy rok 1970-01-01.

Blind_Night(
        ...
DTIN := Calendar.LDT,
SUNSET := Calendar.SUN_SET,
SUNRISE := Calendar.SUN_RISE
);

Co robię źle, w moim rozumieniu zmienna Calendar powinna automatycznie obliczyć mi LDT, SUN_SET i SUN_RISE wg podanego położenia geograficznego i strefy czasowej?

Pozdrawiam!

12
Tematy ogólne / Odp: Sterownik padł w domu, weekend, szukam pomocy :)
« dnia: Lutego 23, 2020, 07:00:18 pm »
To prawda, kilka tygodni temu gdy "wróciłem" do sterownika po 6 miesiącach bez update'ów to po aktualizacji e!Cockpit OSCAT przestał działać. Tak jak Ty walczyłem kilka godzin, nie pamiętam dokładnie co u mnie pomogło ale chyba znaczenie miało poprawne podlinkowanie zależności, czyli Building musiał mieć zaimportowane pod sobą Basic.

13
Tematy ogólne / Odp: Sterownik padł w domu, weekend, szukam pomocy :)
« dnia: Lutego 15, 2020, 05:20:37 pm »
OK, połączenie i możliwość wgrania appki wróciły po:
- w panelu online WBM zmiana Runtime z e!Cockpit na None
- ponownie zmiana na e!Cockpit
- potem błędy Webvisu, usunięcie Webvisu z builda i dopiero wszystko ruszyło

Ufff, weekend uratowany, 2h walki  ;D

14
Tematy ogólne / Odp: Sterownik padł w domu, weekend, szukam pomocy :)
« dnia: Lutego 15, 2020, 05:03:49 pm »
To komunikat błędu z dzisiaj

15
Tematy ogólne / Sterownik padł w domu, weekend, szukam pomocy :)
« dnia: Lutego 15, 2020, 04:49:28 pm »
Witajcie!

Dzisiaj ziścił się mój najgorszy scenariusz, czyli brak światła / rolet w domu z powodu sterownika. W zasadzie nie wiem jak do tego doszło, próbowałem przed obiadem dodać małe usprawnienie do programu, zrobiłem "Connect" w e!Cockpit / program nawet zanim zmieniłem jakikolwiek kod tak aby sprawdzić czy mam po sieci w ogóle z nim połączenie. Niby wszystko OK na zielono, za chwilę naciskam przycisk w pokoju i nic.

Analiza co się stało i wg sterownika brakuje "boot application". Być może tydzień temu gdy dodawałem nowe funkcje to tego nie zaznaczyłem? Niestety, próby wgrania po sieci informują o "only limited connection could be established therefore programming functions can not be used". Restart urządzenia nic nie zmienia, nadal mam tylko połączenie na "fioletowo" czyli jakiś configuration mode.

Panel WBM działa OK, próbowalem uploadować program w przeglądarce pliki ECP , APP lub CRC ale za każdym razem "error while execution"

Myślałem, że moze coś nie tak z IP i zmieniłem adresowanie na statyczne przy pomocy kabla COM, potem Ethernetem bezpośrednio z laptopa na tradycyjny 192.168.1.17. ale nadal nic, configuration mode i brak możliwości wgrania aplikacji.

Powoli tracę pomysły, robi się ciemno... nie muszę mówić jak wkurzona jest moja szanowna małzonka "bo zachciało Ci się inteligentnych domów".

16
Programowanie / Odp: Globalne opuszczanie rolet i żaluzji
« dnia: Lutego 09, 2020, 03:14:59 pm »
Udało mi się problem rozwiązać przy pomocy bloku DEBOUNCE. W moim POU dla rolet w bloku VAR dodałem:

Global_Switch_OFF : DEBOUNCE;
Następnie w części programowej

Global_Switch_OFF(IN := SWIATLA_PARTER.Wiatrolap_Prawy.xLong, PM := TRUE, TD := T#100MS);
I w części programowej bloków fukncyjnych na rolety i żaluzje:

Input_Blind(
  S1 := MOVE_UP,
  S2 := MOVE_DOWN OR ROLETY.Global_Switch_OFF.Q,
POS := Control_Blind.POS,
MAX_RUNTIME := MAX_RUNTIME
);

gdzie ROLETY to nazwa mojego POU. Kluczowe jest ustawienie PM na TRUe w bloku DEBOUNCE, oznacza to że wyjście będzie pojedynczym pulsem bez względu na długość wejścia IN. Czas T100ms jest tu czysto umowny, bo nie zależy mi na faktycznym opóźnianiu wejścia.

Może komuś powyższe się przyda? Pozdrawiam

17
Programowanie / Odp: Globalne opuszczanie rolet i żaluzji
« dnia: Lutego 08, 2020, 07:04:46 pm »
Przykładowo na parterze w programie SWIATLA_PARTER mam przycisk:

Wiatrolap_Prawy(xButton := IN49, tShortPushButton := T#1500MS);
Następnie w bloku funkcyjnym ROLETA dodałem:

Input_Blind(
  S1 := MOVE_UP,
  S2 := MOVE_DOWN OR SWIATLA_PARTER.Wiatrolap_Prawy.xLong,
POS := Control_Blind.POS,
MAX_RUNTIME := MAX_RUNTIME
);

Ten blok jest następnie podpinany do każdej rolety gdzie zmienna MOVE_DOWN ma swoje odpowiadające wejście IN z przycisku lokalnego i ten steruje całkowitym ruchem albo chwilowym. Dodanie OR ... sprawia, że nie mogę wychwycić krótkiego wyzwolenia samym xLong. Nie chcę zastosować xShort bo ten przycisk będzie przypadkowo wciskany i zamykał wszystkie rolety, bez sensu.

18
Programowanie / Globalne opuszczanie rolet i żaluzji
« dnia: Lutego 06, 2020, 12:07:52 pm »
Witajcie ponownie,

Do sterowania roletami i żaluzjami fasadowymi stosuję BLIND_INPUT i BLIND_CONTROL_S/BLIND_CONTROL z biblioteki Oscat. Mam już globalny wyłącnik światła zrobiony na funkcji FbEvaluateShortLongPress i chciałbym skorzystać z tej samej zasady przy roletach.

Problem na jaki napotkałem jest taki, że bloki rolet rozpoznają już krótkie i długie przyciśnięcie. Przy krótkim wyzwalają ruch całej rolety, przy długim zmieniamy na przykład położenie lameli. Stosując globalby przycisk, moje xLong tak naprawdę jest w bloku BLIND_INPUT odczytywane jako długie przyciśnięcie i po zwolnieniu klawisza rolety nie idą już na dół.

Czy jest jakaś możliwość rozpoznania tylko zbocza wschodzącego w xLong dla FbEvaluateShortLongPress? Mam nadzieję, że moje pytanie jest zrozumiałe. Zaznaczam, że BLIND_INPUT operuje na dwóch osobnych przyciskach góra/dół czyli SINGLE_SWITCH mamy ustawione na false.

Pozdrawiam,
WS

19
Tematy ogólne / Odp: Nowe moduły i...błąd migającej diody MS
« dnia: Maja 29, 2019, 11:57:24 am »
Nie korzystałem z I/O check, ten program jest chyba płatny na stronie Wago z tego co na szybko spojrzałem.

Udało mi się połączyć po necie ze sterownikiem, w panelu www na "Information" nie mogłem znaleźć "IO Config". Natomiast w e!Cockpit pojawił się enigmatyczny komunikat "KBUS configuration mismatch" i jakieś sekwencje rejestrów 0x001011 o kodzie błędu. Zapytał mnie o zastapienie appki na urządzeniu, updateowałem też boot project i wszystko znowu działa.

Kontrolnie wyłączyłem/włączyłem i sterownik wstał także ufff moge dalej spać spookojnie... na razie.

20
Tematy ogólne / Odp: Nowe moduły i...błąd migającej diody MS
« dnia: Maja 28, 2019, 12:20:09 pm »
Dzięki @vakul

A jakie są najczęstsze przyczyny tego błędu? Czy może zapomniałem udpateować projekt bootowalny i po odłączenie zwariował jak zobaczył nowe moduły? Na bank urządzenie działało i adresacja w e!Cockpit nie ma duplikacji nazw zmiennych.

21
Tematy ogólne / Nowe moduły i...błąd migającej diody MS
« dnia: Maja 27, 2019, 10:52:17 pm »
Witam,

Kilka dni temu zabrakło mi wejść, dokupiłem i podpiąłem do sterownika dwa kolejne 16DI. Rozpisałem na nowo adresacje, uruchomiłem i wszystko działało OK.

Dzisiaj elektryk dołączył kolejne skrętki, uruchomił zasilanie ponownie i... sterownik już nie wstał. Przyjechałem i zauważyłem, że miga dioda MS czyli błąd konfiguracji. Metodą prób i błędów usuwałem moduł, uruchamiałem ponownie. Okazało sie, że po wyjęciu tych nowych modułów wejść sterowni bez problemu wznawia program.

Co może być przyczyną? Sprawdziłem jeszcze raz rozpiskę wejść i nie widzę żadnego błędu. Niestety sterownik był nieosiągalny po ethernecie, chyba gość musiał wcisnąć reset czy coś i skasować mi adresację statycznego IP.

Muszę wpaść na budowę ponownie, ale chciałbym wiedzieć gdzie szukać dziury w całym, bo dzisiaj to byłą 1h na ślepo.

Pozdrawiam,

22
Tematy ogólne / Odp: Restart sterownika po wyłączeniu zasilania
« dnia: Maja 09, 2019, 09:24:33 pm »
Serdeczne dzięki, jakos umknęło i zawsze korzystałem z "Multiple download". Jak tylko dotrę na budowę to wypróbuję.

23
Tematy ogólne / Odp: Restart sterownika po wyłączeniu zasilania
« dnia: Maja 09, 2019, 03:49:13 pm »
Dziękuje za szybką odpowiedź!

W moim modelu 8202 jest suwak na obudowie, cały czas ustawiony w pozycji RUN. Dioda dioda RUN miga i program się nie wykonuje.

Czy utrata zasilania nie kasuje domyślnej aplikacji PLC_PRG?

24
Tematy ogólne / Restart sterownika po wyłączeniu zasilania
« dnia: Maja 09, 2019, 10:59:14 am »
Witam,

Elektryk pracował dzisiaj przy rozdzielni i był zmuszony do odłączenia zasilania. Po właczeniu na nowo, sterownik nie uruchamia programu, miga dioda RUN. Zauważyłem to już wcześniej i "pchnałem" go poprzez eCockpit za każdym razem problem w tym, że nie ma mnie dzisiaj na budowie i nie mogę mu tego zrobić, a cały dom stoi w mroku.

Czy sterownik zawsze po braku zasilania nie jest w stanie samemu wznowić programu? Ewidentnie przeoczyłem jakąś konfigurację, nie zwróciłem na to uwagi podczas zabaw "na sucho".

Pozdrawiam,

25
Szafa powoli powstaje, pierwsza roleta i lampka działają elegancko na modułach z zestawu startowego, yay!

Teraz zabrałem się za dołączanie modułów 16DI i wszystko pięknie, gdy potencjałem ujemnym "pożyczyłem się" do jednego przycisku poprzez moduł sąsiedni (4DI) który ma wyjścia +/- z szyny 24V. W module 16DI takich nie ma, więc mam pytanie jak rozwiązaliście mostkowanie potencjału ujemnego skrętek?

Czy jakieś szybkozłączki, czy może mostki na łączówkach Krone? Wszystkie klawisze berkera podpinałem biorąc biało-pomarańczowy jako kabel ujemny, a rozszyte są po 2.5 pary do łączówki Krone.

Na przekaźnikach tego problemu nie mam bo wszystkie połączone mostkiem i jeden kabel do magistarli 24V na sterowniku.

26
Tematy ogólne / Odp: Łączniki szybkie pytanie
« dnia: Kwietnia 07, 2019, 11:49:50 am »
Apropos łączników, szybkie pytania apropos wspomnianego Berkera 53503404. Czy jest to jedyny 4-krotny zwierny na rynku oprócz modułowego TEM? Ten drugi odpada, małzonce się średnio podoba.

27
Programowanie / Jak nie SSI to Modbus
« dnia: Stycznia 13, 2019, 08:54:05 pm »
Po porażkach z SSI zacząłem próbować komunikacji po Modbus z 750-8202 na e!Runtime. Prosta aplikacja w NodeJS wysyłająca zapytania na IP sterownika poprzez paczkę "jsmodbus". Bez problemu jestem w stanie zapytać o adresy specjalne, czyli np.

    client.readInputRegisters(0xFA10, 2).then((res) => {
        console.log('Got it!', res.response);
    })

zwraca mi tablicę [750, 8202]

Zapytanie a adresy IN / OUT niestety zwraca exception code , czyli wg tego dokumentu https://www.kepware.com/getattachment/397676e8-50c3-4712-bb0b-7bdfa0bfa13d/modbus-exception-codes.pdf jest to "nielegalny adres", przykładowy kod niedziałający:

    client.readCoils(7D00, 1).then(res => {
        console.log('Got it!', res.response);
    }).catch(err => {
        console.log(err);
    });

W załączniku zrzut dokumnetacji Wago do której się odwołuje, adresowanie na e!Runtime jest nieco inne niż Codesys - dziwi mnie brak przestrzeni na adresy dla zmiennych %MB0 itp.? Mamy po 32000 na OUT, potem IN a następnie tylko specjalne.

Rozmawiałem już prywatnie z jednym użytkownikiem, doradził zwiększenie adresów o 0x1000 ( decimal 4096 ) ale to także nic nie zmienia.

Czy ktoś z powodzeniem skomunikował się po Modbusie używając e!Runtime i Wago 750-8202?

Pozdrawiam,
WS

28
Programowanie / Odp: e!Cockpit i skrypty SSI
« dnia: Stycznia 12, 2019, 04:03:18 pm »
Dodam, że w ogóle nie działają link /READPI albo /WRITEPI, więc ten sposób komunikacji mi odpada.

29
Programowanie / e!Cockpit i skrypty SSI
« dnia: Stycznia 12, 2019, 03:48:59 pm »
Witam,

Na moim Wago 750-8202 z webserverem e!Cockpit, przy próbie napisania prostego skryptu test.ssi odczytującego jedną zmienną OUT1, zwracany plik HTML kompletnie nie wczytuje żadnych danych i dokument zwraca je jako zwykłe komentarze HTML.

Czy jest to kwestia ustawienia czy faktycznie w tej konfiguracji SSI nie działa i konieczne jest czytanie / zapisywanie zmiennych poprzez Modbus? Dodam, że wizualizajce HTML5 w pliku /webvisu.htm działają bez problemu. Jestem jednak zainteresowany napisaniem własnego interfejsu i potrzebuję odczytu zmiennych z PLC.

Pozdrawiam,
W. Szymański

30
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

Strony: [1] 2