'Inteligenty' dom ze sterownikiem PLC

 Language:
Szukanie zaawansowane  

Aktualności:

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

Autor Wątek: R_TRIG F_TRIG - alternatywa ?  (Przeczytany 6153 razy)

mordorr

  • Full Member
  • ***
  • Wiadomości: 156
    • Zobacz profil
R_TRIG F_TRIG - alternatywa ?
« dnia: Czerwca 29, 2016, 09:42:32 am »

Cześć,

Do konwertowania sygnałów ciągłych na pojedynczy impuls najczęściej używam R_TRIGow i F_TRIGow,
czy jest jakas alternatywa dla tych FB ? troche mnie denerwuje, ze mam w programie milion deklaracji TRIG ... wolalbym tego nie deklarowac :)
Zapisane

maksiu

  • Jr. Member
  • **
  • Wiadomości: 87
    • Zobacz profil
Odp: R_TRIG F_TRIG - alternatywa ?
« Odpowiedź #1 dnia: Czerwca 29, 2016, 12:00:34 pm »

F_TRIG i R_TRIG nie służą czasem do wykrywania zbocza opadającego/narastającego?
Zapisane
Pozdrawiam
maksiu

mordorr

  • Full Member
  • ***
  • Wiadomości: 156
    • Zobacz profil
Odp: R_TRIG F_TRIG - alternatywa ?
« Odpowiedź #2 dnia: Czerwca 29, 2016, 12:53:51 pm »

dokładnie tak - i tego wlasnie najczesciej potrzebuję, ale drazni mnie za kazdym razem deklarowanie TRIGow.

Zapisane

maksiu

  • Jr. Member
  • **
  • Wiadomości: 87
    • Zobacz profil
Odp: R_TRIG F_TRIG - alternatywa ?
« Odpowiedź #3 dnia: Czerwca 29, 2016, 03:57:39 pm »

Wydaje mi się (po doświadczeniach z innymi PLC) że nie ma innej takiej funkcji :)
Ponadto ona zawsze współpracuje z jakąś flagą, która pamięta stan przy poprzednim wywołaniu bloczka.
Mnie irytowało doczepianie do niej tej dodatkowej flagi, ale przyjąłem że muszą być i zawsze mam pewną "strefę" w pamięci na takie flagi. Ot i wsio :)
Zapisane
Pozdrawiam
maksiu

mordorr

  • Full Member
  • ***
  • Wiadomości: 156
    • Zobacz profil
Odp: R_TRIG F_TRIG - alternatywa ?
« Odpowiedź #4 dnia: Czerwca 29, 2016, 04:29:36 pm »

przyklad najswiezszy :)
Mam taki parametr jak RoomOccupacy - mogę go przestawiać z kilku miejsc, a jego zadanie jest takie, ze jesli nikogo nie ma w pomieszczeniu to wylacza zbedne oswietlenie "nastrojowe", wieczorem zamyka rolety, a rano ich nie otwiera, dopoki ktos nie wjedzie do tego pomieszczenia. do tego dochodzi cala masa innych opcji. czyli taki stan "nie ma mnie w domu".

no i teraz chcialbym, zeby ten tan zalaczal sie automatycznie po 3h. uzywam do tego TOF_1 ktory na wyjsciu ma albo 0, albo 1
flaga RoomOccupacy jest bool, czyli robię po prostu zmianę stanu TRUE na FALSE.
ale nie mogę podać na ten przełącznik bezposredniu wyjscia z TOFa, bo bedzie zmienial stany co cykl programu. czyli cut za często :)
przepuszczam więc wyjscie TOFa przez F_TRIGa. czyli do prostej operacji uzywam dwoch deklaracji.
Zapisane

maksiu

  • Jr. Member
  • **
  • Wiadomości: 87
    • Zobacz profil
Odp: R_TRIG F_TRIG - alternatywa ?
« Odpowiedź #5 dnia: Czerwca 29, 2016, 10:24:23 pm »

Hmm z tego co kojarzę, to timery z serii TON i TOFF powinny dawać na wyjściu sygnał stały tj. jak mu upłynie czas to TON załącza wyjście i trzyma je dopóki go nie zresetujesz lub nie zdejmiesz mu sygnału z wejścia.

I wg mnie nie możesz dać Reset(RoomOccupacy) ze względu na to, że ten timer będzie Ci to wywoływał zawsze gdy jest aktywny i wtedy nie zmienisz jego stanu w innym miejscu (a konkretniej w kodzie przed tym timerem, bo będzie to nieskuteczne).
I w związku z tym aby zrobić to raz, gdy ten czas upłynie, należy użyć triga. Innej opcji nie ma, najwyżej zrób timer który będzie w sobie miał zaszyte te funkcjonalności :)
Zapisane
Pozdrawiam
maksiu