mam 3 czujki PIR, chciałbym aby przy uzbrojonej czy tez nieuzbrojonej centrali w momencie detekcji ruchu załaczały mi recyrkulacje wody w obwodzie CWU.
Obecnie sa jako TYP \"ZWYKŁA\" 2EOL/NC
czy jest to mozliwe?
Zakładam, iż mowa o centrali serii NeoGSM?
Należy wykorzystać LogicProcessor np.
- funkcje logiczne (suma naruszeń wejść):
M1: OR (I1, I2, I3)
- funkcje czasowe
OneShot: Trigger=M1, Reset=0, Wyjście=O8, Czas=300
Jeżeli w czasie nieobecności pompa ma się wyłączać natychmiast to należy wykorzystać wskaźnik czuwania np.
- funkcje czasowe
OneShot: Trigger=M1, Reset=ArmFull, Wyjście=O8, Czas=300
gdzie mozna znalezc dokumentacje dotyczacą LogicProcessor?
Witam
Instrukcja instalacji (DTR):
http://ropam.com.pl/towar/309/neogsmps.html
Witam. W jaki sposób dorobić funkcjonalność do pompy cwu czujka 1, 2,3 wyzwala wyjście pompy na 2 min następnie blokada czasowa wyjścia pompy na 10min pomimo naruszenia wejść i dopiero po tych 10 min nastąpi ponowne uruchomienie pompy na 2 min. Jak to ugryźć?. Dziękuję za podpowiedź
Stworzyłem coś takiego. Kod działa poprawnie w symulatorze w tygodniu sprawdzę na żywo. 90 sekund praca pompy 900 sekund przerwa kolejne wyzwolenie wejść od 1-5 powoduje kolejny cykl 90-900.Strefa pierwsza musi być rozbrojona.Pompa na Out 8.
int as1;
int I1;
int I2;
int I3;
int I4;
int I5;
int M1;
int M2;
int M3;
int O8;
main(){
gbenv();
O8=geto(8);
while(1){
gbenv();
I1=geti(1);
I2=geti(2);
I3=geti(3);
I4=geti(4);
I5=geti(5);
O8=geto(8);
M1=I1|I2|I3|I4|I5;
M2=!M2;
M3=M1&M2;
O8=pons(0,M3,as1,90);
M2=pons(1,M3,as1,990);
seto(8,O8);
};
};
Witam. Skrypt sprawdzony fizycznie na centrali. Działa jak powinien. Może ktoś z niego skorzysta. Pozdrawiam
Brawo, skrypt przydatny i działający.
Można go trochę zoptymalizować, by był trochę krótszy i zajmował mniej miejsca:
int as1,I1,I2,I3,I4,I5,M1,M2,M3,O8;
main(){
while(1){
gbenv();
I1=geti(1);
I2=geti(2);
I3=geti(3);
I4=geti(4);
I5=geti(5);
M1=I1|I2|I3|I4|I5;
M2=!M2;
M3=M1&M2;
O8=pons(0,M3,as1,90);
M2=pons(1,M3,as1,990);
seto(8,O8);
};
};
A co powiecie o takim skrypcie jak poniżej?
To na razie nic nie robi oprócz regulacji wyjscia O1 oraz wypisania komunikatu.
Czy to ma rację bytu w ogóle? Szczególnie chodzi mi o te WAIT komendy. One nie blokują czegoś za bardzo?
int I11;int I12;int I2;int M1;
main(){
while(1){
I12=geti(12);
I11=geti(11);
I2=geti(2);
M1=I12|I11|I2;
if(M1==1) {
seto(1,1);
print("ZAL na 3 min...");
wait(1000*60*3);
seto(1,0);
print("WYL, czekam 15 min.....");
wait(1000*60*15);
};
};
};
Problem jest taki, że blokujesz w ten sposób LogicProcessor tylko do wykonania tego jednego skryptu.
Nie będzie się dało (w sposób sensowny) wykonać innej funkcji.
Ale to WAIT blokuje cały LogicProcesor?
To nie jest tak, że mogę mieć kilka skryptów i wait blokuje tylko ten skrypt, w którym ta komenda jest zawarta?
Odpowiem sam, bo uzyskałem wiedzę od suportu.
Skrypt jest jeden jedyny, więc WAIT blokuje LP na zadany czas.
Cytat: usiex w Styczeń 10, 2019, 08:52:34
Witam. W jaki sposób dorobić funkcjonalność do pompy cwu czujka 1, 2,3 wyzwala wyjście pompy na 2 min następnie blokada czasowa wyjścia pompy na 10min pomimo naruszenia wejść i dopiero po tych 10 min nastąpi ponowne uruchomienie pompy na 2 min. Jak to ugryźć?. Dziękuję za podpowiedź
Stworzyłem coś takiego. Kod działa poprawnie w symulatorze w tygodniu sprawdzę na żywo. 90 sekund praca pompy 900 sekund przerwa kolejne wyzwolenie wejść od 1-5 powoduje kolejny cykl 90-900.Strefa pierwsza musi być rozbrojona.Pompa na Out 8.
int as1;
int I1;
int I2;
int I3;
int I4;
int I5;
int M1;
int M2;
int M3;
int O8;
main(){
gbenv();
O8=geto(8);
while(1){
gbenv();
I1=geti(1);
I2=geti(2);
I3=geti(3);
I4=geti(4);
I5=geti(5);
O8=geto(8);
M1=I1|I2|I3|I4|I5;
M2=!M2;
M3=M1&M2;
O8=pons(0,M3,as1,90);
M2=pons(1,M3,as1,990);
seto(8,O8);
};
};
Jak ten skrypt wpisać do LP w NeoGSM?
poniżej zamieszczam moją wersje cyrkulacji bez blokowania LP
sterowanie od PIR - I15
w godzinach wieczornych i rannych tk1 (od 6 do 8 i od 19 do 23)
czas cyrkulacji 60s
czas przerwy 1800s
działa od dłuższego czasu bez problemu
a ktoś na NeoGSM mi powie jak?
wchodzisz w logical procesor - edytor tekstowy i wklejasz
int E1;
int I15;
int I40;
int M1 ;
int M2;
int M3;
int R1;
int R2;
int tk1;
main()
{
while(1){
I15=geti(15);
tk1=getenv("tk1");
I40=geti(40);
M1=I15&tk1&M2;
M3=M1|I40;
M2=!R1;
R2=pons(1,M3,0,100,1);
R1=tofd(0,R2,0,900,1);
E1=edge(0,1,R1);
seto(16,R2);
if(E1==1) {hint("cyrkulacja");};
};
};
Twój screen pochodzi z NeoGSM-IP a mi chodzi od PartnerGSM 4.5 ten to NeoGSM.
Potrzebujesz załączać cyrkulacje czujką w neo gsm?
Tak, tylko na 5 min z odstępem co 2h