'Inteligenty' dom ze sterownikiem PLC

 Language:
Szukanie zaawansowane  

Aktualności:

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

Autor Wątek: opuszczenie rolet po zazbrojeniu systemu alarmowego  (Przeczytany 26034 razy)

Arctikman

  • Newbie
  • *
  • Wiadomości: 6
    • Zobacz profil
opuszczenie rolet po zazbrojeniu systemu alarmowego
« dnia: Czerwca 05, 2013, 12:07:00 am »

Nawiązując do tematu poruszonego na temat bibliotek OSCAT przedstawiam Wam moją wersje bloku reagującego na zdarzenia szczególne przesyłane z systemu alarmowego Satel (w zamian bloku BLIND_SECURITY).
Moduł ten należy włączyć jako ostatni w szereg tuż przed blokiem wykonawczym sterującym roletą BLIND_CONTROL_ lub BLIND_CONTROL_S. Oto opis wejść:
1. sygnał FIRE jego stan TRUE powoduje natychmiastowe podniesienie rolety i posiada najwyższy priorytet,
 2. sygnał ALARM stan TRUE powoduje podniesienie lub opuszczenie rolety w zależności od stałej Alarm_UP w wypadku pojawienia się sygnału z Satel'a np. sygnał Włamanie,
3. sygnał ARMED podawany stan TRUE powoduje opuszczenie lub podniesienie rolety w zależności od stałej Armed_UP, stała czasowa T_UD jest czasem potrzebnym do całkowitego podniesienia rolety.

Sygnał ARMED odczytywany jest z systemu alarmowego i jest tak długo ustawiony jak długo jest zazbrojony system. Po zazbrojeniu systemu alarmowego sterowanie rolet ręcznie jest wyłączone !!
Jeżeli pojawią się problemy ze sposobem czytania informacji z systemu alarmowego RS232-Satel chętnie przytoczę stosowne przykłady :) .
Oto "ciało" bloku:

FUNCTION_BLOCK BLIND_ARMED_S
VAR_INPUT
   UP, DN : BOOL;
   S_IN : BYTE;
   PI, AI : BYTE;
   FIRE : BOOL;
   ARMED : BOOL;
   ALARM : BOOL;

END_VAR
VAR_INPUT CONSTANT
   Alarm_UP : BOOL := TRUE;
   Armed_UP :BOOL := FALSE;
   T_UD: TIME:= T#30s; (* run time up *)
END_VAR
VAR_OUTPUT
   QU, QD : BOOL;
   STATUS : BYTE;
   PO, AO : BYTE;
END_VAR
VAR
   last_armed: BOOL;
   tx, last: TIME;

END_VAR
(******************************)
oraz kod funkcji:
(******************************)

tx := DWORD_TO_TIME(T_PLC_MS());

IF Fire THEN
   QU := TRUE;
   QD := FALSE;
   status := 111;
ELSIF Alarm THEN
   QU := Alarm_up;
   QD := NOT Alarm_up;
   status := 113;
ELSIF Armed  THEN
   QU := Armed_up;
   QD := NOT Armed_up;
   status := 116;
   last_armed:=TRUE;
   last := tx;
ELSIF  NOT Armed AND  last_armed THEN
   QU := NOT Armed_up;
   QD := Armed_up;
   status := 117;
   IF tx - last >= T_UD THEN last_armed:=FALSE; END_IF;
ELSE
   QU := UP;
   QD := DN;
   status := S_IN;
   po := pi;
   ao := ai;
END_IF;

W projekcie umieszczamy go jako osobny blok funkcyjny (FB).
Smacznego kodowania ;).

Zapisane

Umcyk

  • Jr. Member
  • **
  • Wiadomości: 95
  • Beckhoff Cx9010
    • Zobacz profil
    • Nasz dom...
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #1 dnia: Kwietnia 27, 2016, 06:59:01 pm »

podepne sie pod temat...
obeznie walcze z obsluga rolet z uzyciem bibliotek OSCAT.
program pisze w jezyku LD.

chcialbym na poczatek zrealizowac prosta obsluge rolet tak aby mozna bylo je calkowicie zamknac/otworzyc jednym kliknieciem, aby mozna bylow razie potrzeby zatrzymac ruch rolet kliknieciem, i aby system zawsze wiedzial w jakiej pozycji otwarcia jest roleta...

po lekturze:
http://www.tecomat.com/wpimages/other/sw/Mosaic/OSCAT/oscat_building100_en.pdf

doszedlem do wnioslu ze moje proste zalozenia zrealizuje bloczek BLIND_CONTROL_S....

jednak nie moge sobie z nim poradzic...
po deklaracji ww bloczka tak jak w zalaczniku roleta nie dziala jak powinna:

-po nacisnieciu klawisza UP (i77) roleta caly czas idzie do gory (o58 zalaczone bezprzerwy, az do klikniecia klawisza DN (i78)...
-po nacisnieciu klawisza DW (i78) roleta idzie w dol i zatrzymuje sie 1 sekunde (czas T_EXT) po puszczeniu przycisku DW (i78)...
-wskaznik POS (b1) zmienia sie tylko gdy przycisk i77 lub i78 jest wcisniety, gdy puszcze ww przyciski POS przestaje sie zmieniac mimo ze roleta jakis czas sie jeszcze porusza...

moze ktos wskazac mi jaki blad popelniam?? opis bibliotek jest raczej skromny i nie wiem jak rozwiazac moj problem...
z gory dzieki...

admin

  • Administrator
  • Sr. Member
  • *****
  • Wiadomości: 313
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #2 dnia: Kwietnia 27, 2016, 08:56:49 pm »

Cześć,

nie klikałem nic w LD i nie wiem, jak wygląda Twój kod.  Tak wygląda mój w ST:

w definicjach:

Input_B_2PL         :BLIND_INPUT:=(PI:=150, MAX_RUNTIME:=T#50s, MANUAL_TIMEOUT:=t#60m, MASTER_MODE:=TRUE);
Shade_B_2PL         :BLIND_SHADE_S:=(HORZ1:=100, HORZ2:=215, SHADE_POS:=150, SHADE_DELAY:=T#5m);
Control_B_2PL         :BLIND_CONTROL_S:=(T_UP:=T#45s, T_DN:=T#45s);

w programie:

Input_B_2PL(S1:=IN77 OR VIS_B_2PL_UP,  S2:=IN78 OR VIS_B_2PL_DOWN, IN:=VIS_B_2PL_SHADE), POS:=Control_B_2PL.POS);
Shade_B_2PL(UP:=Input_B_2PL.QU, DN:=Input_B_2PL.QD, S_IN:=Input_B_2PL.STATUS, pi:=Input_B_2PL.PO, ENABLE:=ShadeFlag, SUN:=SunSignal_South,CX:=ReadClock.Calendar);
Control_B_2PL(UP:=Shade_B_2PL.QU, DN:=Shade_B_2PL.QD, S_IN:=Shade_B_2PL.STATUS, pi:=Shade_B_2PL.PO);
OUT107:=Control_B_2PL.MU;
OUT108:=Control_B_2PL.MD;
VIS_B_2PL_UP := VIS_B_2PL_DOWN := FALSE;

zmienne VIS... są do sterowania z wizualizacji.   ShadeFlag steruje autozacienianiem.  SunSignal to sygnał z czujnika światła... reszta powinna być jasna.

Z tego, co pamiętam, żeby całość działała, używa się właśnie kilka bloków ułożonych w kanapkę a nie pojedynczych BLIND_CONTROL_S... Potrzebujesz BLIND_INSPUT_S do obsługi klawiszy.

Pozdrawiam,
« Ostatnia zmiana: Kwietnia 27, 2016, 08:59:25 pm wysłana przez admin »
Zapisane

admin

  • Administrator
  • Sr. Member
  • *****
  • Wiadomości: 313
    • Zobacz profil
Zapisane

Umcyk

  • Jr. Member
  • **
  • Wiadomości: 95
  • Beckhoff Cx9010
    • Zobacz profil
    • Nasz dom...
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #4 dnia: Kwietnia 28, 2016, 10:18:30 am »

dzieki za odp...

ja natomiast nic nie klikalem w ST...

link ktory podales znam doskonale... ;)
kod Twojego programu usilowalem przekompilowac  na LD, jednak zawsze brakuje definicji jakis zmiennych (nie mam bibliotek WAGO)...

mam prosbe...

mozesz przekompilowac swoj kod na jezyk LD i wkleic screen'a po kompilacji??

admin

  • Administrator
  • Sr. Member
  • *****
  • Wiadomości: 313
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #5 dnia: Kwietnia 28, 2016, 07:57:52 pm »

Dear Lord... kto wymyślił LD? ;)
Zapisane

Umcyk

  • Jr. Member
  • **
  • Wiadomości: 95
  • Beckhoff Cx9010
    • Zobacz profil
    • Nasz dom...
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #6 dnia: Kwietnia 29, 2016, 12:00:30 am »

Dear Lord... kto wymyślił LD? ;)

hehe... jakis dobry czlowiek...;-)

bardzo dziekuje za podeslane screen... nie wiedzialem ze mozna nie definiowac wszytskich in/out bloczku... dlatego moze cos szlo nie tak - definiowalem zmienne ktorych nie uzywam (i nie do konca wiem co niektore in/out robia)...

jutro z rana posataram sie wpisac bloczek na wzor Twojego zalacznika...

Umcyk

  • Jr. Member
  • **
  • Wiadomości: 95
  • Beckhoff Cx9010
    • Zobacz profil
    • Nasz dom...
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #7 dnia: Kwietnia 29, 2016, 12:57:10 am »

w trybie symulacji NIE dziala... wyglada na to ze trzeba zdeklarowac wiecej (albo wszystkie) in/out bloczkow...

przejde chyba na jezyk FBD - graficzny, lepszy do obslugi bloczkow... jezyki tekstowe nie dla mnie... ;-)

admin

  • Administrator
  • Sr. Member
  • *****
  • Wiadomości: 313
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #8 dnia: Kwietnia 29, 2016, 11:20:41 am »

Dodefiniuj jeszcze pozostałe parametry:

Input_B_2PL         :BLIND_INPUT:=(PI:=150, MAX_RUNTIME:=T#50s, MANUAL_TIMEOUT:=t#60m, MASTER_MODE:=TRUE);
Control_B_2PL      :BLIND_CONTROL_S:=(T_UP:=T#45s, T_DN:=T#45s);

...no i spróbuj live...

Pozdrawiam,
Zapisane

Umcyk

  • Jr. Member
  • **
  • Wiadomości: 95
  • Beckhoff Cx9010
    • Zobacz profil
    • Nasz dom...
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #9 dnia: Kwietnia 30, 2016, 10:27:34 am »

wstepnie udalo sie ogarnac rolety -DZIEKI WIELKIE...

teraz w wolnej chwili musze powalczyc troche z funkcjami czasowymi, reakcja na wystapienie alarmu i reakcja na otwarcie/zamkniecie zamkow w drzwiach... juz zaczynam rozumiec jak dzialaja bloczki OSCAT, wiec bedzie chyba coraz latwiej...

jeszcze raz wielkie dzieki...

mordorr

  • Full Member
  • ***
  • Wiadomości: 156
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #10 dnia: Maja 01, 2016, 09:29:43 pm »

Przy okazji oscatów i rolet.
Nie wiecie może jak ustawić wirtualną krańcówkę ? żona planuje poustawiac kwiaty na parapecie w kuchni i niechciłbym, żeby roleta np urwała się z zawiasów, że nie wspomnę o kwiatkach .... :)

póki co zrobiłęm to "na chama" wciskając przycisk UP jezeli roleta za nisko zjedzie. ale może jest coś lepszego ??
RU i R_POS_BOT zadziałają tylko w trybach automatycznych, czyli z przycisku nadal jest możliwość sprasowania kwiatków.

RolKuchniaInput(
   POS:=RolKuchniaCTRL.POS ,
   S1:= RoletaKuchniabtnUp.xShort OR xDI27 OR AllBlinsUp OR R_OccupacyDzien.Q  OR (RolKuchniaCTRL.POS <= 90 AND RolKuchniaCTRL.MD=TRUE),
   S2:= RoletaKuchniabtnDn.xShort OR  xDI28 OR AllBlinsDn OR R_Noc.Q OR R_AlarmNoc.Q OR F_OccupacyNOC.Q,
   IN:=RoletaKuchniabtnUp.xLong ,
   PI:=130,MAX_RUNTIME:=T#32s, MANUAL_TIMEOUT:=t#60m, MASTER_MODE:=TRUE
);

Jacek
Zapisane

mordorr

  • Full Member
  • ***
  • Wiadomości: 156
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #11 dnia: Maja 01, 2016, 09:59:26 pm »

Nie mogłem juz edytować więc odpowiadam sam sobie.

Innym (lepszym) obejsciem problemu jest dodanie ANDa w bloczku CTRL:


RolKuchniaCTRL(
   UP:= RolKuchniaSHADE_S.QU,
   DN:=RolKuchniaSHADE_S.QD AND RolKuchniaCTRL.POS > 90,
   S_IN:= RolKuchniaSHADE_S.STATUS,
   PI:= RolKuchniaSHADE_S.PO,
   R_POS_BOT:=90 ,
   RU:= TRUE,
   T_UP:=T#24s, T_DN:=T#22s
    );
Zapisane

maksiu

  • Jr. Member
  • **
  • Wiadomości: 87
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #12 dnia: Maja 02, 2016, 07:47:47 am »

Widzę, że RolKuchniaCTRL.POS ustalasz na podstawie czasu pracy.
Jak jest z dokładnością tego rozwiązania? Czy bloczek kontrolujący wychwyci krótkie "kliknięcia" przyciskiem i podnoszenie rolety po kilka cm?

Czasy podnoszenia i opuszczania ustalałeś doświadczalnie?
Zapisane
Pozdrawiam
maksiu

mordorr

  • Full Member
  • ***
  • Wiadomości: 156
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #13 dnia: Maja 02, 2016, 11:21:22 pm »

Czasy doswiadczalnie - stoper w rękę i wio :) 5-6 pomiarów i juz masz przybliżony czas "podróży" rolety w górę i w dół.
bloczek ma "samoklabirację"- -czyli restuje się w pozycji 0 i 255 (bardziej zero i bardziej 255 juz się nie da :) ) - dzięki temu pozycja 90 jest prawie zawsze taka sama.
to nie jest dozownik nitrogliceryny - więc nie potrzebuję precyzji. to co daje przybliżenie czasowe jest w 10000% wystarczające do moich potrzeb.
Zapisane

mordorr

  • Full Member
  • ***
  • Wiadomości: 156
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #14 dnia: Maja 03, 2016, 01:35:13 am »

Ten pomysl niestety okazal sie do du*y z zalozenia

Nie mogłem juz edytować więc odpowiadam sam sobie.

Innym (lepszym) obejsciem problemu jest dodanie ANDa w bloczku CTRL:


RolKuchniaCTRL(
   UP:= RolKuchniaSHADE_S.QU,
   DN:=RolKuchniaSHADE_S.QD AND RolKuchniaCTRL.POS > 90,
   S_IN:= RolKuchniaSHADE_S.STATUS,
   PI:= RolKuchniaSHADE_S.PO,
   R_POS_BOT:=90 ,
   RU:= TRUE,
   T_UP:=T#24s, T_DN:=T#22s
    );

Mianowicie na UP i DN wystawiane sa 1ki w trybie auto. tak więc moj AND powodowal otwarcie rolety po przejsciu na tryb automatyczny...
skonczylo sie zmianą funkcji OSCATowej. zmienilem definicje rmp.in:=L_POS_BOT (Limit_Position_Bottom - zmienna byte) w częsci Manual Dn, oraz w status 122 dodalem warunek  zatrzymania opuszczania po osiagnieciu L_POS_BOT

(* status definition
121 = manual up manual up operation UP = true and DN = false
122 = manual down manual down operation DN = true and UP = false
123 = auto positioning automatic mode DN = UP = TRUE
124 = revert revert from top or bottom
125 = nothing default input for S_IN
127 = Lockout time lockout between directional change
128 = calibrate calibrate after power up
129 = extend extend runtime at top or bottom for continuous calibration
*)

(* read system time *)
tx := DWORD_TO_TIME(T_PLC_MS());

(* check inputs and start state machine *)
IF UP  AND NOT DN THEN
(*  manual UP *)
rmp.IN := 255;
STATUS := 121;
ELSIF DN AND NOT UP THEN
(* manual DN *)
rmp.IN :=L_POS_BOT;
STATUS := 122;
ELSIF NOT (UP OR DN) THEN
(* manual standby mode *)
rmp.IN := PI;
STATUS := S_IN;
END_IF;

(* simulate pos output *)
rmp(E := UP OR DN, TR := T_UP, TF := T_DN, TL := T_LOCKOUT, OUT := POS);

(* state machine *)
CASE STATUS OF
0: (* power up init *)
last := tx;
PI_last := PI XOR BYTE#255;
STATUS := 128; (* calibrate *)

121: (* manual up *)
MU := TRUE;
MD := FALSE;
IF POS >= (BYTE#255 - EXT_TRIG) THEN
(* extend cycle if top is reached *)
POS := 255;
last := tx;
STATUS := 129; (* extend *)
END_IF;

122: (* manual down *)
MD := TRUE;
MU := FALSE;
IF POS <=L_POS_BOT THEN
STATUS := S_IN;
END_IF;
IF POS <= EXT_TRIG THEN
(* extend cycle if bottom is reached *)
POS := 0 ;
last := tx;
STATUS := 129; (* extend *)
END_IF;

123: (* auto positioning *)
MD := rmp.DN;
MU := rmp.UP;
IF NOT (rmp.DN OR rmp.UP) THEN
(* automatic position is reached *)
IF POS <= EXT_TRIG THEN
(* extend at bottom *)
MD := TRUE;
last := tx;
STATUS := 129; (* extend *)
ELSIF POS >= (BYTE#255 - EXT_TRIG)  THEN
(* extend at top *)
MU := TRUE;
last := tx;
STATUS := 129; (* extend *)
ELSE
STATUS := S_IN;
END_IF;
END_IF;

124: (* revert from top or bottom *)
MD := rmp.DN;
MU := rmp.UP;
IF NOT(rmp.DN OR rmp.UP) THEN
(* IF POS = rmp.IN THEN  *)
PI_last := PI;
STATUS := S_IN;
END_IF;

127: (* lockout time *)
IF (tx - last) >= T_LOCKOUT THEN
STATUS := S_IN;
END_IF;

128: (* calibration *)
MU := TRUE;
MD := FALSE;
rmp.IN := 255;
IF (tx - last) >= (T_UP +  T_EXT) THEN
MU := FALSE;
last := tx;
STATUS := 127; (* lockout *)
END_IF;

129: (* extend mode *)
IF (tx - last) >= T_EXT THEN
MU := FALSE;
MD := FALSE;
last := tx;
STATUS := 127; (* lockout *)
END_IF;

ELSE
MU := FALSE;
MD := FALSE;
IF PI <> PI_last THEN
PI_last := PI;
rmp.IN := PI;
STATUS := 123; (* auto positioning *)
ELSIF POS = 0 AND RU THEN
rmp.IN := R_POS_BOT;
STATUS := 124; (* revert *)
ELSIF pos = 255 AND RD THEN
rmp.IN := R_POS_TOP;
STATUS := 124; (* revert *)
ELSE
STATUS := S_IN;
END_IF;
END_CASE;



(* revision history

hm 9. mar. 2009 rev 1.0
original release

hf 27. jul 2009 rev 1.1
major code changes and updates

hf 23. Jan 2010 rev 1.2
fixed a bug during calibration
added T_UP and T_DN

*)
Zapisane

admin

  • Administrator
  • Sr. Member
  • *****
  • Wiadomości: 313
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #15 dnia: Maja 03, 2016, 10:09:51 am »

Cześć

może poniewczasie, ale jak sprawdziłoby się u Ciebie przepięcie sygnałów opuszczania z S2 bloku INPUT na IN bloku INPUT i dodanie bloku SHADE, by zasymulować komendę 'zrób cień' a pozycję cień ustalić na 90?

RolKuchniaInput(
   POS:=RolKuchniaCTRL.POS ,
   S1:= RoletaKuchniabtnUp.xShort OR xDI27 OR AllBlinsUp OR R_OccupacyDzien.Q  OR (RolKuchniaCTRL.POS <= 90 AND RolKuchniaCTRL.MD=
   IN:=RoletaKuchniabtnDn.xShort OR  xDI28 OR AllBlinsDn OR R_Noc.Q OR R_AlarmNoc.Q OR F_OccupacyNOC.Q OR RoletaKuchniabtnUp.xLong,
   PI:=130,MAX_RUNTIME:=T#32s, MANUAL_TIMEOUT:=t#60m, MASTER_MODE:=TRUE
);
Zapisane

mordorr

  • Full Member
  • ***
  • Wiadomości: 156
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #16 dnia: Maja 03, 2016, 11:39:52 am »

Shade uzywam normalnie do robienia cienia,
IN tez uzywam do zamknięcia do połowy.
wczoraj jeszcze troche zmodyfikowalem FB oscata i jezeli wejscie L_POS_BOT jest rozne od zera to ustawiam tryb 123 (ustawienie zadanej pozycji) zamiast 122 (zjazd do samego dolu)

chodzi mi o 100% pewnosc, ze kwiatki nie ucierpią :)
Zapisane

mordorr

  • Full Member
  • ***
  • Wiadomości: 156
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #17 dnia: Maja 06, 2016, 04:35:17 pm »

Hej - dalej w tym temacie:
uzywal ktos z Was Blind_Security ?
denerwuje mnie, że jakiekolwiek zdarzenie wykonuje akcję na rolecie nieprzerwanie.
np. mam ustawiony bloczek security dla zdarzenia WIND.
tak dlugo, jak jest WIND=True wysterowany jest silnik rolety ("stoi" na krańcówce, ale przekaźniki podają napięcie)

Czy jest ku temu jakiś powód ? jak nie, to przerabiam zaraz Blind_Security i dodaje MAX_RUNTIME.

Zapisane

Umcyk

  • Jr. Member
  • **
  • Wiadomości: 95
  • Beckhoff Cx9010
    • Zobacz profil
    • Nasz dom...
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #18 dnia: Maja 17, 2016, 06:44:39 pm »

Napodkalem kolejny problem zwiazany ze sterowaniem rolet...

zamysl jest taki aby jednym przyciskiem (wcisnietym np. 3s) zamykac/otwierac rolety w calym domu...
 
w zalaczniku fragment mojego projektu... jeden z przyciskow zamykania/otwierania rolet uruchamia 3 sekundowy timet UP lub DOWN, ktory z kolei wystawia impuls na y10 UP) i y11 (DW)...

te y10 i y11 ustawilem jako S1 i S2 do kazdego bloczku BLIND_INPUT...

calosc niby dziala, ale nie do konca...
niby wszystkie rolety zamykaja/otwieraja sie po wcisnieciu ktoregokolwiek przycisku sterujacego roletami na dluzej niz 3s, jednak roleta od ktorej akurat przycisk jest wcisniety nie zamyka sie - pozostaje w pozycji do jakiej zjechala przez czas wcisniecia przycisku...

jak rozwiazac ta niedogodnosc i utrzymac pelna funkcjonalnosc bloczku BLIND_INPUT??

mordorr

  • Full Member
  • ***
  • Wiadomości: 156
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #19 dnia: Maja 17, 2016, 07:41:05 pm »

zrób to Fb_ShortLong
minus taki, ze pozbedziesz sie funkcjonalnosci zjazdu rolety "tak dlugo jak trzymasz przycisk"

wyjscia short dajesz na wejsc Blind_Input S2 (w dół), tylko tej rolety ktorej przycisk dotyczy, a do wszystkich rolet dajesz wyjscie xLong (mozesz przepuscic przez ORa, zeby miec jednego bool'a do wszystkich S2)

Jacek
Zapisane

Umcyk

  • Jr. Member
  • **
  • Wiadomości: 95
  • Beckhoff Cx9010
    • Zobacz profil
    • Nasz dom...
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #20 dnia: Maja 18, 2016, 03:08:44 am »

dzieki za podpowiedz... jednak nie chcialem tracic funkcjionalnosci bloczku...

wymyslilem cos takiego jak w zalaczniku...

narazie jeszcze nie wgrywalem na sterownik (jestem w pracy), ale powinno to dzialac - jak wroce do domu to sie okaze...




teraz chetnie sie dowiem jak wykonac funkcje czasowe (otwieranie lub zamykanie rolet o okreslonej godzinie, lub w zaleznosci od zachodu slonca)...

Umcyk

  • Jr. Member
  • **
  • Wiadomości: 95
  • Beckhoff Cx9010
    • Zobacz profil
    • Nasz dom...
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #21 dnia: Maja 18, 2016, 07:20:59 am »

po testach na "żywym organizmie" programik wyglada tak jak w zalaczniku... z grubsza jest tak jak chcialem...

marcys

  • Newbie
  • *
  • Wiadomości: 17
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #22 dnia: Maja 25, 2016, 06:27:38 pm »

Witam Wszystkich,

Posiłkując się kodem autora forum, zauważyłem dziwne zachowanie biblioteki OSCAT, a mianowicie jeżeli roleta już dojechała do końca (góra lub dół) to ponowne naciśnięcie klawisza w stronę gdzie się aktualnie znajduje roleta (doł, góra), uruchamia ponownie przekaźnik, tak jakby roleta chciała dalej jechać w daną stronę a już nie nie może. Wygląda tak jakby pomimo znania swojej granicznej pozycji bloczek BLIND_INPUT pozwalał uruchamiać napęd dalej i trwa to tak długa jak czas ustawiony w T_UP, T_DW? - Czy ktoś może zauważył coś podobnego? Nad mieniem tylko, że korzystam z wersji CodeSys 3 i dedykowanej biblioteki OSCAT po niego
Zapisane

Umcyk

  • Jr. Member
  • **
  • Wiadomości: 95
  • Beckhoff Cx9010
    • Zobacz profil
    • Nasz dom...
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #23 dnia: Maja 26, 2016, 02:44:36 am »

tak dziala ta biblioteka... pozwala jechac rolecie (rolety rozlacza krancowka w samych roletach) jednak nie jest naliczana pozycja rolety...

mozesz sobie dodac warunek ze po osiagnieciu pozycji 00 lub ff nie jest mozliwe zalaczenie przekaznika do odpowiedniego ruchu...

marcys

  • Newbie
  • *
  • Wiadomości: 17
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #24 dnia: Maja 26, 2016, 06:51:12 pm »

Dzięki, tak też to zrobiłem, ale męczy mnie jeszcze jeden problem, że za każdym razem po restarcie lub zaniku zasilania roleta wykonuje autokalibrację. Niby z opisu wynika, że można to wyłączyć ale jakoś u mnie nie chce to zadziałać :(
Zapisane

mordorr

  • Full Member
  • ***
  • Wiadomości: 156
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #25 dnia: Maja 26, 2016, 10:48:27 pm »

wrzuc blind_ctrl do VAR RETAIN PERSISTENT
Zapisane

marcys

  • Newbie
  • *
  • Wiadomości: 17
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #26 dnia: Maja 27, 2016, 02:37:28 pm »

Dzięki, teraz jest ok:-), Przy okazji doczytałem jeszcze parametrze SINGLE_SWITCH, jak go ustawimy na TRUE to wystarczy jeden przycisk do sterowania roletami i nawet fajnie to działa - (klik ruch, klik stop, klik ruch w przeciwną stronę) oraz jeżeli przytrzymany dłużej klawisz to roleta pojedzie tak długa w daną stroną jak długa klawisz będzie wciśnięty
Zapisane

marcys

  • Newbie
  • *
  • Wiadomości: 17
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #27 dnia: Maja 30, 2016, 03:26:44 pm »

Znalazłem, jeszcze jeden problem z sterowaniem rolet z biblioteki OSCAT, a mianowicie zmienna T_LOCKOUT z BLIND_CONTROL_S nie jest respektowana przy manualnym sterowaniu roletą. Wygląda to tak, uruchamiam roletę w dół lub w górę a następnie przytrzymuję przeciwny klawisz co powoduje uruchomienie (tryb manualny) kierunku w przeciwną stronę ale nie uwzględniając T_LOCKOUT. Czy ktoś ma na to jakąś radę.
Przy okazji - można jakoś samemu edytować tą bibliotekę?
Zapisane

Umcyk

  • Jr. Member
  • **
  • Wiadomości: 95
  • Beckhoff Cx9010
    • Zobacz profil
    • Nasz dom...
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #28 dnia: Maja 30, 2016, 03:50:49 pm »

biblioteki mozna otworzyc w CodeSysie tak jak zwyczajny projekt (trzeba zazznaczyc typ pliku *.lib) i wtedy m ozna edytowac a ppotem zapisac biblioteki...

marcys

  • Newbie
  • *
  • Wiadomości: 17
    • Zobacz profil
Odp: opuszczenie rolet po zazbrojeniu systemu alarmowego
« Odpowiedź #29 dnia: Maja 30, 2016, 05:22:08 pm »

Dzięki za podpowiedź, a możesz coś doradzić z tym T_LOCKOUT'em?. Trochę mnie martwi nagła zmiana kierunku silnika :(
Zapisane