1 otázka:
Dobrý den, mám takový problém. Mám sedm senzorů měření toploty (ni1000) a každou proměnnou porovnávám pomocí HYST, pokud teplota překročí určitou hranice mám pro to nastaven case, ale každej bit mám nastaven zvlášť a chtěl bych to nastavit nějak pomocí cyklu. Uvedu příklad (jak bych to zhruba udělal v C++) :
for (i=0;i<6;i++)
{ if promenna [i]
let.....
}
Zkrácený příklad toho, jak to mám vytvořeno v Detstudiu:
Ni1000 #AI00_0, teplota0, 6180
Ni1000 #AI00_1, teplota1, 6180
Ni1000 #AI00_2, teplota2, 6180
Hyst teplota0, nadmerna_C.0, 70.0, 2.0, 0x0000
Hyst teplota1, nadmerna_C.1, 70.0, 2.0, 0x0000
Hyst teplota2, nadmerna_C.2, 70.0, 2.0, 0x0000
If nadmerna_C.0
let prepinani=5
endif
If nadmerna_C.1
let prepinani=5
endif
If nadmerna_C.2
let prepinani=5
endif
A právě abych nemusel pro každý bit nastavovat zvlášť podmínku, když vše nastavuji tak, aby se to přeplo na stejný case, tak bych to chtěl dát do nějakého cyklu??
2 otázka:
Mám v programu různé senzory a v případě spuštění vykonají nějakou podmínku. Ovládání semaforů mám nastaveno tak, že stále nějak svítí dokud se to programově či uživatelem(mám tam použit bitswitchkey) nezmění. Programově - pokud čidlo identifikuje nějaké škodlivé chemikálie..., tak všechny semafory ihned budou svítit červeně. Potřebuji, ale vědět, jak nastavit to, aby když senzor identifikuje např.: kouř. splní svou podmínku a semafory svítí červeně, protože jsou nepříznivé podmínky, ale po tom co se podmínky zlepší a senzor již nic nehlásí nechci, aby se mi zaply semafory na zelenou(tak jak je nastaveno programově, když jsou vyhovující podmínky), ale chci, aby svítili pořád červeně, než se vše nezkontrolují uživatelé, jestli není něco rozbité apod... a pak aby až uživatel po určitém čase, jak uzná, že je vše v pořádku a je možno pokračovat v provoze, spustil zelenou a ne aby to udělal program před tím, než se vše zkontroluje???
Doufám, že jsem se vyjádřil dostatečně výstižně a děkuji vám za odpovědi.