Witam.
Posiadam OptimGSM i do tego 2 expandery EXP-I8-RN, EXP-O8x-RN.
Na tą chwilę napisałem w LogicProcessorze napisałem uproszczona wersje skryptu, docelowo będzie używanych więcej wejść i wyjść.
W skrócie opisując w jaki sposób ma działać program:
Na wejściu 1 podłączony jest włącznik stały.
Na wejściu 7 podłączony jest przycisk chwilowy (dzwonkowy) resetujący.
Na wyjściu 9 podłączona jest kontrolka z buzerem.
Po załączeniu włącznika na I1 następuje załączenie kontrolki O9.
Po naciśnięciu przycisku chwilowego (dzwonkowego) na I7 następuje wyłącznie kontrolki na O9.
Wyłączenie i włączenie włącznika na I1 powoduje ponowne załączenie kontrolki na O9.
W symulatorze wszystko działa OK.
Natomiast w centrali po naciśnięciu przycisku resetu na I7 i ponownym wyłączeniu i włączeni na I1 nie pojawia się sygnał na O9.
Sygnał pojawia się dopiero po około 40 sekundach zwłoki tak jakby przez około 40 sekund przechowywany był sygnał z resetu I7.
Sprawdzałem w podglądzie online stany wyjść i wejść i wygląda OK.
Zaktualizowałem oprogramowanie do wersji 3.0 ale nie zmieniło to nic w zachowaniu centralki.
Kod programu:
int I1;
int I1p;
I1p=0;
int resk;
int res1;
res1=0;
int O9;
main()
{ gbenv();
while(1)
{ gbenv();
I1=geti(1);
if(I1==1 && res1==0) {O9=1;} else {O9=0;};
if (I1<>I1p) {res1=0;};
resk=geti(7);
if(resk==1 && I1==I1p) {res1=1;};
I1p=I1;
seto(9,O9);
};
};