Zdravím,
pokud nebudete zkušenější v programování, tak se zdržte pravidla, že do proměnné (výstupu) se zapisuje jen z jednoho místa
Čtení může být samozřejmě i z více míst.
Toto je základní pravidlo
(pokud proměnnou nepoužíváte jen jako krátkodobé úložiště hodnoty, ale v začátku bych si i pro tento případ vytvářel nové proměnné)
Při použití tohoto pravidla vám k popisovanému problému nemůže dojít.
Vysvětlení: v jednom procesu na výstup zapíšete hodnotu a v následném ho opět přepíšete novou hodnotou z dalšího procesu

.
Doporučený postup:
Proces 01:BinIn #DIO0_0, 0x0000, @kour_bin
let prepinani=if(not @kour_bin,0,prepinani)
If @kour_bin
let prepinani=1
endif
Switch prepinani
case=0
Let @proudeni_X=false
let @odsavani_X=falseendcase
case 1
Let @proudeni_X=true
let @odsavani_X=trueendcase
endswitch
////////////////////////////////////////////////////////////////////////////////////
Proces 02:AnIn #AI00_0, teplota0, 10.000, 0.000, 10.000, -12.000, 2825.000
Limits teplota0, @teplo0_nad, @teplo0_pod, 69.000, 70.000, 0.000, 0x0000
If @teplo0_pod
let celsium = 0
endif
If @teplo0_nad
let celsium = 1
endif
switch celsium
case 0
let @proudeni_Y=false
let @odsavani_Y=falseendcase
case 1
let @proudeni_Y=true
let @odsavani_Y=trueendcase
endswitch
let @proudeni_1= @proudeni_X or @proudeni_Y
let @odsavani= @odsavani_X or @odsavani_YBinOut @proudeni_1, 0x0000, #DO00_0
BinOut @odsavani, 0x0000, #DO00_1