Stan początkowy wyjść

Zaczęty przez Yazzoo, Styczeń 24, 2019, 10:55:10

Poprzedni wątek - Następny wątek

Yazzoo

Witam,
Ustawiłem w LogicProcessorze sterowanie 4 wyjściami na podstawie wejść do których podłączone są włączniki światła.
Zawsze po restarcie centrali wyjścia są aktywne. Jak ustawić warunki początkowe aby na start wyjścia były wyłączone.
w załączniku skrypt

robertm

W kreatorze logiki jest zakładka Wartości startowe .

Yazzoo

Jakie w moim przypadku ustawić.
Ustawiłem
M1=0
M2=0
M3=0
M4=0
ale nie o to chyba chodzi.

robertm


Yazzoo


robertm

A w jakim stanie sa wyjścia ?
Ze skryptu nie wynika żeby miały być aktywne wyjścia.

Proszę ewentualnie o przesłanie mailem całej konfiguracji

tykasan

#6
Witam,
Chciałem dopytać o wartości startowe.

Mianowicie, mam ustawioną jedną Wartość Startową na wyjsciu O6

Wynik do | Funkcja | A1
O6          |      =     |  1

w pamieci zdarzeń mam wpis

Bład skryptu LP   | Linia 23 | not a variable

po tej zmianie w zakładce wartosci startowych, O6 dalej nie było uruchomione po restarcie centrali.

Dopisałem do skryptu

int O6;

by zadeklarować okreslone wyjscie, lecz nadal po restarcie systemu owe wyjscie jest wyłaczone (pamiec zdarzen nie pokazuje błedu (not a variable)

fragment kodu poniżej, w żadnym innym miejscu skryptu nie mam wpisu odnosnie O6.



int O2;
int O3;
int O4;
int O8;
int O9;
int O6;

main(){
gbenv();
O2=geto(2);
O3=geto(3);
O4=geto(4);
O8=geto(8);                                               
O9=geto(9);
O6=1;   



co robie źle? proszę o podpowiedź.
Marcin

robertm

obecnie ustawiana jest tylko zmienna O6 na 1 .
Bez funkcji O6=geto(6) - nie będzie to miało przełożenia na fizyczne wyjście.
Jaki jest cel takiego ustawienia ?
Jeżeli wyjście O6 ma być cały czas załączone  - prościej je ustawić jako NC w polaryzacji.

tykasan

W sumie....
nie pomyślałem żeby odwrócić polaryzację... gapa ze mnie dziękuje za podpowiedz.
A swoja droga to dalej nie rozumiem, dlaczego nie działa moje ustawienie.
:o

robertm

O6 to tylko zmienna w skrypcie nie ma powiązania z fizycznym wyjściem, może to byc dowolna nazwa.
Przełożenie na fizyczne wyjście daje dopiero użycie geto dla odczytu i seto dla ustawienia wyjścia.
O6=geto(6);  - zapisuje do zmiennej O6 - stan fizyczny wyjścia 6
seto(1,O6); - ustawia stan fizyczny wyjścia 6 wg zmiennej O6.


tykasan

Dziekuję Panie Robercie.

Ustawienie jakie przedstawiłem wcześniej wygenerowane zostało przez kreator Wartości startowych. Nie pisałem nic dodatkowo oprócz wiersza z "int O6" bo inaczej dawało to błędy.


O6=1;   

wygenerowało sie gdy dodałem wiersz w wartosciach starowych.

Czy musze jeszcze  dopisać recznie linię

int O6 - by zadeklarować zmienną

oraz

seto(O6,1); - by ustawić wyjscie?


tylko w ten sposob to wyjcie bedzie zawsze zalaczone, prawda?
jaki ma byc warunek, żeby było zalaczone tylko po ewentualnym restarcie ?

takie proste, a tak to komplikuje...

robertm

Tak - wartości startowe - to ustawienie wartości startowej zmiennej w skrypcie a nie fizycznego wyjścia.
Jeżeli zaznaczona jest opcja sterowania wyjścia z LogicProcessor to tam już odbywa się sterowanie.



tykasan

No to teraz wszystko jasne, bardzo dziekuję Panie Robercie!.
Pozdrawiam i miłego weekendu.
M