Optima GSM - LogicProcessor rożnica miedzy symulacją a rzeczywistym działaniem.

Zaczęty przez RafałK, Listopad 20, 2017, 10:32:03

Poprzedni wątek - Następny wątek

RafałK

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);
  };
};