'Inteligenty' dom ze sterownikiem PLC

Główna => Programowanie => Wątek zaczęty przez: zim w Kwietnia 27, 2016, 10:03:44 pm

Tytuł: Światło zapalane czujką ruchu
Wiadomość wysłana przez: zim w Kwietnia 27, 2016, 10:03:44 pm
Witajcie,

Czy mógł by się ktoś pochwalić kawałkiem kodu lub FB, realizującym zapalanie światła za pomocą czujki ruchu.

Zamysł jest taki że wejściowe dane to zmienna czujki i czas świecenia, oczywiście zmiana stanu czujki resetuje timer.

Pozdrawiam,
Tytuł: Odp: Światło zapalane czujką ruchu
Wiadomość wysłana przez: zim w Maja 01, 2016, 08:05:05 pm
Było to baaaardzo proste jeśli zna się funkcję TOF ;-)

Wklejam może innemu nowicjuszowi jak ja się przyda.

Tytuł: Odp: Światło zapalane czujką ruchu
Wiadomość wysłana przez: mordorr w Maja 01, 2016, 09:26:35 pm
Zaprzyjaznij sie z Oscat Basic.
tam jest TOF_1, ktory ma bardzo przydatną opcję RST. pozwoli Ci ona wyłączyć TOF.
Tytuł: Odp: Światło zapalane czujką ruchu
Wiadomość wysłana przez: Tom01 w Września 17, 2016, 12:49:18 am
A ja to zrobiłem tak:

Najważniejsze zmienne:
- manual jest zanegowana i jest to blokada czujników ruchu
- control to operator AND, który wymaga wyłączonej blokady
Tytuł: Odp: Światło zapalane czujką ruchu
Wiadomość wysłana przez: radnet w Lipca 08, 2017, 01:34:20 pm
Odświeżam temat. Mam dwa wejścia:
włącznik tzw. dzwonkowy IN1
włącznik wirtualny z aplikacji IPS_1 (przez Modbus)
Takie połączenie jak na załączonym obrazie działa.
Jak dołożyć do tego sterowanie z czujki ruchu (wejście z) tak, żeby po naruszeniu światło paliło się np. przez 60s ale żebym wychodząc wcześniej z pomieszczenia miał możliwość wyłączyć światło włącznikiem.
 
Tytuł: Odp: Światło zapalane czujką ruchu
Wiadomość wysłana przez: radnet w Lipca 09, 2017, 07:12:13 pm
Czy jest taki blok funkcyjny, który jak na wejściu będzie impuls to odliczy ustawiony czas i na koniec na wyjście wyśle impuls?
Tytuł: Odp: Światło zapalane czujką ruchu
Wiadomość wysłana przez: radnet w Listopada 26, 2017, 01:33:11 pm
Witam. Mam mały problem z wyłączeniem światła po czasie. Gdy czujka wykrywa ruch to włączy światło i FB_Delay odlicza czas, i po tym czasie wyłączy. Mogę też wcześniej wyłączyć włącznikiem ściennym. ale jak zrobić, żeby czas był resetowany gdy czujka wykrywa ruch?   
Tytuł: Odp: Światło zapalane czujką ruchu
Wiadomość wysłana przez: lukaszdebiec w Listopada 26, 2017, 03:24:33 pm
Sterownie oswietlenia z czujnika ruchu

Deklaracja Zmiennych:
(*deklaracje gaszenia i swiecenia z czujnika ruchu*)
   Light_PIR_A_Wiatrolap: Fb_Delay;
   Light_PIR_B_Wiatrolap: F_TRIG;(*gasi po czasie dwToff_10tel_s*)
   Light_PIR_C_Wiatrolap: R_TRIG; (*swiecie po podaniu na xInput*)

Kod (oświtelnie DMX):

Lampa1_Wiatrolap (xDimmSwitch:=IN43 OR IN43_VISU, XCentON:= Central_ON_Wiatrolap OR (Light_PIR_C_Wiatrolap.Q AND REAL_TO_BOOL (zmierzch_real)) , XCentOFF:= Central_OFF_Wiatrolap  OR (Light_PIR_B_Wiatrolap.Q AND REAL_TO_BOOL (zmierzch_real)), bDimmValue:=Lampa1_Wiatrolap_bDimmValue, bDimmValueatMemoOFF:= (10*swiatlo_dzienne));
Lampa1_Wiatrolap_Sterowanie ( bValueRed:=Lampa1_Wiatrolap.bNvo_DimmValue,  iChannelRed:=7, (*xWrite:=TRUE,*) xAutoWrite:= TRUE, abDMX_Values:=abDMX_Values);

Light_PIR_A_Wiatrolap(xInput:=IN58, dwTon_10tel_s:=1, dwToff_10tel_s:=(Light_PIR_Time_Wiatrolap*10));
Light_PIR_B_Wiatrolap (CLK:= Light_PIR_A_Wiatrolap.xOutput);
Light_PIR_C_Wiatrolap (CLK:= Light_PIR_A_Wiatrolap.xOutput);

lub standardowa lampa na przekaźniku

Deklaracja Zmiennych:

(*deklaracje gaszenia i swiecenia z czujnika ruchu*)
   Lampa1_Garaz: FbDimmerSingleSwitch:= (uiT_ShortIn10telSec:= 5, xMemoOFF:= TRUE, bMaxDimmValue:= 200, bMinDimmValue:= 10, uiT_SpeedIn10telSec:= 50,  bModeOnReset:= 3);
   Lampa2_Garaz: FbDimmerSingleSwitch:= (uiT_ShortIn10telSec:= 5, xMemoOFF:= TRUE, bMaxDimmValue:= 200, bMinDimmValue:= 10, uiT_SpeedIn10telSec:= 50,  bModeOnReset:= 3);

   Central_ON_Garaz: BOOL;
   Central_OFF_Garaz: BOOL;
   IN52_VISU: BOOL;
   IN53_VISU: BOOL;

   Light_PIR_A_Garaz: Fb_Delay;
   Light_PIR_B_Garaz: F_TRIG;(*gasi po czasie dwToff_10tel_s*)
   Light_PIR_C_Garaz: R_TRIG; (*swiecie po podaniu na xInput*)

Kod:


(*obsluga oswietlenia garaz*)
Lampa1_Garaz (xDimmSwitch:=IN52 OR IN54_VISU, XCentON:= Central_ON_Garaz OR (Light_PIR_C_Garaz.Q AND REAL_TO_BOOL (zmierzch_real)) , XCentOFF:= Central_OFF_Strych  OR (Light_PIR_B_Garaz.Q AND REAL_TO_BOOL (zmierzch_real)), bDimmValueatMemoOFF:= (10*swiatlo_dzienne));
OUT25:= Lampa1_Garaz.xSwitch;
Lampa2_Garaz (xDimmSwitch:=IN53 OR IN55_VISU, XCentON:= Central_ON_Garaz OR (Light_PIR_C_Garaz.Q AND REAL_TO_BOOL (zmierzch_real)) , XCentOFF:= Central_OFF_Strych  OR (Light_PIR_B_Garaz.Q AND REAL_TO_BOOL (zmierzch_real)), bDimmValueatMemoOFF:= (10*swiatlo_dzienne));
OUT26:= Lampa2_Garaz.xSwitch;

Light_PIR_A_Garaz(xInput:=IN60, dwTon_10tel_s:=10, dwToff_10tel_s:=10);
Light_PIR_B_Garaz (CLK:= Light_PIR_A_Garaz.xOutput);
Light_PIR_C_Garaz (CLK:= Light_PIR_A_Garaz.xOutput


Pozdrawiam
Łukasz
Tytuł: Odp: Światło zapalane czujką ruchu
Wiadomość wysłana przez: radnet w Listopada 26, 2017, 07:02:06 pm
Pod którym "IN" masz wejście z włącznika (dzwonkowy? czy bistabilny?) a pod który czujkę ruchu? Poustawiałem to w blokach (nie w ST) i coś mi nie działa. 
Tytuł: Odp: Światło zapalane czujką ruchu
Wiadomość wysłana przez: radnet w Listopada 26, 2017, 09:06:59 pm
Dzięki lukaszdebiec za odzew. Już sobie poradziłem. Działa to tak, że po wejściu do pomieszczenia czujka włącza światło i jeżeli jest ruch TOF odlicza od nowa jeśli ruchu nie ma puszcza na drugi TOF a on po ustalonym czasie przez Fb_Delay wyłącza światło. Problem był w tym, że gdy chciałem wcześniej wychodząc wyłączyć światło wyłącznikiem ściennym, to owszem wyłączyłem ale TOF odliczał dalej i po odliczeniu włączał. Skomplikowane to trochę ale narazie działa jak trzeba. A jeszcze IPS_1 rozłącza zdalnie przez stronę, telefon i jest to także stan włącznika. Może jest jakiś bardziej elegancki i prostszy sposób?.