PDA

Просмотр полной версии : Упрощение функции...



feLoNy
26.03.2015, 16:52
Собственно вопрос в следующем: как упростить это:
IF pw1=0.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=0.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=1.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=1.0;
out8:=1.0;
END_IF
IF pw1=2.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=3.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=4.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=5.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=6.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=7.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=8.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=9.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=10.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=11.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=12.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=13.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=14.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=15.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=16.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=17.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=18.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=19.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=20.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=0.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=21.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=22.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=23.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=24.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=25.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=26.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=27.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=28.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=29.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=30.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=31.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=32.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=33.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=34.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=35.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=36.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=37.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=38.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=39.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=40.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=41.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=42.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=43.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=44.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=45.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=46.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=47.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=48.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=49.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=50.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=51.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=52.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=53.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=54.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=55.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=56.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=57.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=58.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=59.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=60.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=61.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=62.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=63.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=64.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=65.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=66.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=67.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=68.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=69.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=70.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=71.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=72.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=73.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=74.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=75.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=76.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=77.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=78.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=79.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=80.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=81.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=82.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=83.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=84.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=85.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=86.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=87.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=88.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=89.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=90.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=91.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=92.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=93.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=94.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=95.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=96.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=97.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=98.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=99.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=100.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out1:=1.0;
out2:=0.0;
out3:=0.0;
out4:=0.0;
out5:=0.0;
out6:=0.0;
out7:=1.0;
out8:=0.0;
END_IF

Может это как то можно привести к математическим функциям???
переменная pw1 - Мощность в кВт.

(*
mrout1:=TRUE; #1 кВт
mrout2:=TRUE; #2 кВт
mrout3:=TRUE; #2 кВт
mrout4:=TRUE; #5 кВт
mrout5:=TRUE; #10 кВт
mrout6:=TRUE; #10 кВт
mrout7:=TRUE; #20 кВт
mrout8:=TRUE; #50 кВт
out1:=1.0; #100 кВт
out2:=1.0; #100 кВт
out3:=1.0; #100 кВт
out4:=1.0; #100 кВт
out5:=1.0; #
out6:=1.0; #
out7:=1.0; #
out8:=1.0; #
*)

Amko
26.03.2015, 17:48
Не увидел логики в формировании mroutX. Поясните, по какому принципу они включаются?

feLoNy
26.03.2015, 18:22
Не увидел логики в формировании mroutX. Поясните, по какому принципу они включаются?
Внизу написан код. Так же написано про pw1. Нижний код как бы расшифровка. В зависимости от велечины pw1 нужно включить выходы которые по величине расписаны в нижнем коде.

melky
27.03.2015, 00:26
есть готовый библиотечный объект, который значение сразу выдаст в биты.
Util.lib - UNPACK, недоглядел, у вас значения не совпадают немного, хотя можно сделать матрицу (пзу со значениями) и передавать в unpack

petera
27.03.2015, 04:34
Собственно вопрос в следующем: как упростить это:

IF pw1=0.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=0.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=1.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=1.0;
out8:=1.0;
END_IF
IF pw1=2.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=3.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=4.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=5.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=6.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=7.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=8.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=9.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=10.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=11.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=12.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=13.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=14.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=15.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=16.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=17.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=18.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=19.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=20.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=0.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=21.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=22.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=23.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=24.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=25.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=26.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=27.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=28.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=29.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=30.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=31.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=32.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=33.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=34.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=35.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=36.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=37.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=38.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=39.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=40.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=41.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=42.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=43.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=44.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=45.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=46.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=47.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=48.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=49.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=FALSE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=50.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=51.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=52.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=53.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=54.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=55.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=56.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=57.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=58.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=59.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=60.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=61.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=62.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=63.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=64.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=65.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=66.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=67.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=68.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=69.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=0.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=70.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=71.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=72.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=73.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=74.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=75.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=76.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=77.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=78.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=79.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=80.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=81.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=82.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=83.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=84.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=85.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=86.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=87.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=88.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=FALSE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=89.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=FALSE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=90.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=91.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=92.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=93.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=94.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=FALSE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=95.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=96.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=97.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=98.0 THEN (*включение выхода*)
mrout1:=TRUE;
mrout2:=TRUE;
mrout3:=FALSE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=99.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=TRUE;
mrout3:=TRUE;
mrout4:=TRUE;
mrout5:=TRUE;
mrout6:=TRUE;
mrout7:=TRUE;
mrout8:=TRUE;
out5:=1.0;
out6:=1.0;
out7:=0.0;
out8:=0.0;
END_IF
IF pw1=100.0 THEN (*включение выхода*)
mrout1:=FALSE;
mrout2:=FALSE;
mrout3:=FALSE;
mrout4:=FALSE;
mrout5:=FALSE;
mrout6:=FALSE;
mrout7:=FALSE;
mrout8:=FALSE;
out1:=1.0;
out2:=0.0;
out3:=0.0;
out4:=0.0;
out5:=0.0;
out6:=0.0;
out7:=1.0;
out8:=0.0;
END_IF

Может это как то можно привести к математическим функциям???
переменная pw1 - Мощность в кВт.

(*
mrout1:=TRUE; #1 кВт
mrout2:=TRUE; #2 кВт
mrout3:=TRUE; #2 кВт
mrout4:=TRUE; #5 кВт
mrout5:=TRUE; #10 кВт
mrout6:=TRUE; #10 кВт
mrout7:=TRUE; #20 кВт
mrout8:=TRUE; #50 кВт
out1:=1.0; #100 кВт
out2:=1.0; #100 кВт
out3:=1.0; #100 кВт
out4:=1.0; #100 кВт
out5:=1.0; #
out6:=1.0; #
out7:=1.0; #
out8:=1.0; #
*)
А не надо было изобретать свою систему счисления.

VAR
bPW1: BYTE;
pw1: REAL;
mrout1: BOOL;
mrout2: BOOL;
mrout3: BOOL;
mrout4: BOOL;
mrout5: BOOL;
mrout6: BOOL;
mrout7: BOOL;
mrout8: BOOL;
END_VAR
(*
mrout1:=TRUE; #1 кВт
mrout2:=TRUE; #2 кВт
mrout3:=TRUE; #4 кВт
mrout4:=TRUE; #8 кВт
mrout5:=TRUE; #16 кВт
mrout6:=TRUE; #32 кВт
mrout7:=TRUE; #64 кВт
mrout8:=TRUE; #128 кВт
*)
bPW1:=REAL_TO_BYTE(TRUNC(pw1));
mrout1:=bPW1.0;
mrout2:=bPW1.1;
mrout3:=bPW1.2;
mrout4:=bPW1.3;
mrout5:=bPW1.4;
mrout6:=bPW1.5;
mrout7:=bPW1.6;
mrout8:=bPW1.7;

для двоичного представления pw1 в диапазоне от 0,0 до 100,0 достаточно семи разрядов и mrout8 будет лишним или оставить его для расширения диапазона представления мощности до 255 кВт.
Зависимость out1...out8 от pw1 я так и не понял

Yegor
27.03.2015, 06:42
Жесткач ваще.
IF pw1=0.0REALы нельзя сравнивать через = и <>.

По теме:
VAR
mrbits: BYTE;
END_VAR
VAR CONSTANT
MR: ARRAY[0..100] OF BYTE :=
2#00000000, 2#00000001, 2#00000010, 2#00000011, 2#00000110,
2#00001000, 2#00001001, 2#00001010, 2#00001011, 2#00001110,
2#00010000, 2#00010001, 2#00100010, 2#00010101, 2#00010110,
2#00101000, 2#00011001, 2#00101100, 2#00011011, 2#00101110,
2#01000000, 2#01000001, 2#01000010, 2#00110101, 2#00110110,
2#01001000, 2#01001001, 2#01001010, 2#01001011, 2#01001110,
2#01010000, 2#01010001, 2#01010010, 2#01100011, 2#01100110,
2#01011000, 2#01011001, 2#01101010, 2#01101011, 2#01011110,
2#01110000, 2#00000001, 2#01110010, 2#01110011, 2#01110110,
2#01111000, 2#01111001, 2#01111010, 2#01111011, 2#01111110,
2#10000000, 2#10000001, 2#10000010, 2#10000011, 2#10000110,
2#10001000, 2#10001001, 2#10001010, 2#10001011, 2#10001110,
2#10010000, 2#10010001, 2#10100010, 2#10010101, 2#10010110,
2#10101000, 2#10011001, 2#10101100, 2#10011011, 2#10101110,
2#11000000, 2#11000001, 2#11000010, 2#10110101, 2#10110110,
2#11001000, 2#11001001, 2#11001010, 2#11001011, 2#11001110,
2#11010000, 2#11010001, 2#11010010, 2#11100011, 2#11100110,
2#11011000, 2#11011001, 2#11101010, 2#11101011, 2#11011110,
2#11110000, 2#10000001, 2#11110010, 2#11110011, 2#11110110,
2#11111000, 2#11111001, 2#11111010, 2#11111011, 2#11111110,
2#00000000;
END_VAR

mrbits := MR[REAL_TO_BYTE(pw1)];
mrout1 := mrbits.0;
mrout2 := mrbits.1;
mrout3 := mrbits.2;
mrout4 := mrbits.3;
mrout5 := mrbits.4;
mrout6 := mrbits.5;
mrout7 := mrbits.6;
mrout8 := mrbits.7;С outом аналогично.

Для интересующихся в десятичном виде:
0, 1, 2, 3, 6, 8, 9, 10, 11, 14, 16, 17, 34, 21, 22, 40, 25, 44, 27, 46, 64, 65, 66, 53, 54, 72, 73, 74, 75, 78, 80, 81, 82, 99, 102, 88, 89, 106, 107, 94, 112, 1, 114, 115, 118, 120, 121, 122, 123, 126, 128, 129, 130, 131, 134, 136, 137, 138, 139, 142, 144, 145, 162, 149, 150, 168, 153, 172, 155, 174, 192, 193, 194, 181, 182, 200, 201, 202, 203, 206, 208, 209, 210, 227, 230, 216, 217, 234, 235, 222, 240, 129, 242, 243, 246, 248, 249, 250, 251, 254, 0

Переводилось автоматом (http://pastebin.com/rqEgnWVg), вручную не проверялось.

А вообще это задача о ранце (https://ru.wikipedia.org/wiki/Задача_о_ранце). Можно реализовать какой-нибудь из алгоритмов её решения на ПЛК, но здесь не тот случай, когда это стоит делать, т.к. набор весов постоянный, вместимость ранца ограничена и числа целые. Лучше оставить предварительно вычисленные комбинации.

melky
27.03.2015, 07:04
Если я правильно понимаю, на выходах тэны (ну или иные нагреватели) и мощность каждого устройства ломает весь математический ряд, отсюда и своя система исчислений.

Чтобы набрать 5 кВт надо подать 7 а не 4+1 ну и т.д. То есть надо привести соответствие некой величины к необходимой битовой маске на выходе.

petera
27.03.2015, 10:12
Если я правильно понимаю, на выходах тэны (ну или иные нагреватели) и мощность каждого устройства ломает весь математический ряд, отсюда и своя система исчислений.

Чтобы набрать 5 кВт надо подать 7 а не 4+1 ну и т.д. То есть надо привести соответствие некой величины к необходимой битовой маске на выходе.
Ну тогда так

VAR
pw1: REAL;
mrout1: BOOL;
mrout2: BOOL;
mrout3: BOOL;
mrout4: BOOL;
mrout5: BOOL;
mrout6: BOOL;
mrout7: BOOL;
mrout8: BOOL;
loPW1: INT;
hiPW1: INT;
END_VAR

loPW1:=TRUNC(pw1) MOD 10;
hiPW1:=(TRUNC(pw1) MOD 100)/10;
(*включение выхода*)
mrout1:=((loPW1 MOD 5)MOD 2)=1;
mrout2:=(loPW1 MOD 5)>1;
mrout3:=loPW1=9 OR loPW1=4;
mrout4:=loPW1>=5;
mrout5:=(hiPW1 MOD 5) =1 OR (hiPW1 MOD 5)>2;
mrout6:=hiPW1>8 OR hiPW1=4;
mrout7:=(hiPW1 MOD 5)>=2;
mrout8:=hiPW1>=5;
17377

ЗЫ. Ну если в посте #5 не нравится ряд мощностей для тэнов в двоичном формате, то можно двоично-десятичный применить

(*
mrout1:=TRUE; #1 кВт
mrout2:=TRUE; #2 кВт
mrout3:=TRUE; #4 кВт
mrout4:=TRUE; #8 кВт
mrout5:=TRUE; #10 кВт
mrout6:=TRUE; #20 кВт
mrout7:=TRUE; #40 кВт
mrout8:=TRUE; #80 кВт
*)
bPW1:=INT_TO_BCD(TRUNC(pw1));
mrout1:=bPW1.0;
mrout2:=bPW1.1;
mrout3:=bPW1.2;
mrout4:=bPW1.3;
mrout5:=bPW1.4;
mrout6:=bPW1.5;
mrout7:=bPW1.6;
mrout8:=bPW1.7;

Yegor
27.03.2015, 12:28
loPW1:=TRUNC(pw1) MOD 10;
hiPW1:=(TRUNC(pw1) MOD 100)/10;
(*включение выхода*)
mrout1:=((loPW1 MOD 5)MOD 2)=1;
mrout2:=(loPW1 MOD 5)>1;
mrout3:=loPW1=9 OR loPW1=4;
mrout4:=loPW1>=5;
mrout5:=(hiPW1 MOD 5) =1 OR (hiPW1 MOD 5)>2;
mrout6:=hiPW1>8 OR hiPW1=4;
mrout7:=(hiPW1 MOD 5)>=2;
mrout8:=hiPW1>=5;... petera вызывает злых духов. mrout5 можно ещё упростить, наверное, лишь бы вселенная обратно в сингулярность не схлопнулась.

feLoNy
27.03.2015, 13:22
А не надо было изобретать свою систему счисления.

VAR
bPW1: BYTE;
pw1: REAL;
mrout1: BOOL;
mrout2: BOOL;
mrout3: BOOL;
mrout4: BOOL;
mrout5: BOOL;
mrout6: BOOL;
mrout7: BOOL;
mrout8: BOOL;
END_VAR
(*
mrout1:=TRUE; #1 кВт
mrout2:=TRUE; #2 кВт
mrout3:=TRUE; #4 кВт
mrout4:=TRUE; #8 кВт
mrout5:=TRUE; #16 кВт
mrout6:=TRUE; #32 кВт
mrout7:=TRUE; #64 кВт
mrout8:=TRUE; #128 кВт
*)
bPW1:=REAL_TO_BYTE(TRUNC(pw1));
mrout1:=bPW1.0;
mrout2:=bPW1.1;
mrout3:=bPW1.2;
mrout4:=bPW1.3;
mrout5:=bPW1.4;
mrout6:=bPW1.5;
mrout7:=bPW1.6;
mrout8:=bPW1.7;

для двоичного представления pw1 в диапазоне от 0,0 до 100,0 достаточно семи разрядов и mrout8 будет лишним или оставить его для расширения диапазона представления мощности до 255 кВт.
Зависимость out1...out8 от pw1 я так и не понял

Это уже существует. Велосипед построен и не вариант уже играть с другими мощностями на выход. Пока в таком виде работает, но кучу всего ещё надо додумывать...
out1-out4 - 4 "шага" по 100 кВт... Суммарная мощность 500 кВт!
out4-out8 - 4 вентилятора которые включаются в зависимости от включенных выходов
melky
Да на выходе ТЭНы.
как отключать выходы out4-out8 с задержкой (для охлаждения после выключения ТЭНов) пока не могу вкурить... Честно я как студент это сейчас все это делаю, начал с нуля изучать и рад что так хоть получилось. Проект реальный, так сказать нехилый калорифер на 500 кВт разделенный на 4 секции.
Ну вообщем спасибо ребята что отозвались теперь хоть есть над чем подумать.
Задача в другом, хочется оптимизировать данный кусок кода что бы он не был таким громоздким.
в pw1 = 1 включаются все вентиляторы это временно для испытания. так же предоставлен кусок кода с мощностями до 100 кВт. остальное аналогично, просто добавляются выходы по 100 кВт, в итоге как писал выше суммарная мощность 500 кВт.

petera, чуть позже возьму бубен и буду стараться вызвать духов с тобой вместе :-D

Василий Кашуба
27.03.2015, 13:28
Это уже существует. Велосипед построен и не вариант уже играть с другими мощностями на выход. Пока в таком виде работает, но кучу всего ещё надо додумывать...
out1-out4 - 4 "шага" по 100 кВт... Суммарная мощность 500 кВт!
out4-out8 - 4 вентилятора которые включаются в зависимости от включенных выходов
melky
Да на выходе ТЭНы.
как отключать выходы out4-out8 с задержкой (для охлаждения после выключения ТЭНов) пока не могу вкурить... Честно я как студент это сейчас все это делаю, начал с нуля изучать и рад что так хоть получилось. Проект реальный, так сказать нехилый калорифер на 500 кВт разделенный на 4 секции.
Ну вообщем спасибо ребята что отозвались теперь хоть есть над чем подумать.
Задача в другом, хочется оптимизировать данный кусок кода что бы он не был таким громоздким.
в pw1 = 1 включаются все вентиляторы это временно для испытания. так же предоставлен кусок кода с мощностями до 100 кВт. остальное аналогично, просто добавляются выходы по 100 кВт, в итоге как писал выше суммарная мощность 500 кВт.
Для задержки выключения выхода используйте TOF.

petera
27.03.2015, 14:00
... petera вызывает злых духов. mrout5 можно ещё упростить, наверное, лишь бы вселенная обратно в сингулярность не схлопнулась.
Ну тогда без бубна:)
В вашем варианте

VAR
mrbits: BYTE;
pw1: REAL;
mrout1: BOOL;
mrout2: BOOL;
mrout3: BOOL;
mrout4: BOOL;
mrout5: BOOL;
mrout6: BOOL;
mrout7: BOOL;
mrout8: BOOL;
END_VAR
VAR CONSTANT
MRlo: ARRAY[0..9] OF BYTE :=
2#00000000, 2#00000001, 2#00000010, 2#00000011, 2#00000110,
2#00001000, 2#00001001, 2#00001010, 2#00001011, 2#00001110;
MRhi:ARRAY[0..9] OF BYTE :=
2#00000000, 2#00010000, 2#01000000, 2#01010000, 2#01110000,
2#10000000, 2#10010000, 2#11000000, 2#11010000, 2#11110000;
END_VAR
mrbits := MRlo[TRUNC(pw1) MOD 10] + MRhi[(TRUNC(pw1) MOD 100)/10];
mrout1 := mrbits.0;
mrout2 := mrbits.1;
mrout3 := mrbits.2;
mrout4 := mrbits.3;
mrout5 := mrbits.4;
mrout6 := mrbits.5;
mrout7 := mrbits.6;
mrout8 := mrbits.7;
Не 100 значений набивать, а всего 20. Вероятность ошибиться меньше, да и модифицировать константы проще, если "десятки" или "единицы" другие будут.

petera
27.03.2015, 14:27
Это уже существует. Велосипед построен и не вариант уже играть с другими мощностями на выход. Пока в таком виде работает, но кучу всего ещё надо додумывать...
out1-out4 - 4 "шага" по 100 кВт... Суммарная мощность 500 кВт!
out4-out8 - 4 вентилятора которые включаются в зависимости от включенных выходов
petera, чуть позже возьму бубен и буду стараться вызвать духов с тобой вместе :-D
В любом варианте хоть с бубном, хоть без для "out1-out4 - 4 "шага" по 100 кВт... Суммарная мощность 500 кВт!"
нужно добавить такой фрагмент

out1:=(TRUNC(pw1)/100)>=1;
out2:=(TRUNC(pw1)/100)>=2;
out3:=(TRUNC(pw1)/100)>=3;
out4:=(TRUNC(pw1)/100)>=4;

Yegor
27.03.2015, 14:36
Да, так чистенько. Только комментарии добавить типа (* маска на единицы кВт *), (* маска на десятки кВт *) и + на OR заменить, чтобы при вероятной попытке что-то поменять две единицы на одной позиции бадабум какой-нибудь не устроили.

Валенок
27.03.2015, 15:54
Имхо, все предложенные решения не очень:
-Нет минимизации кол-ва щелчков контакторами при переходе с одной нагрузки на другую
-Не учитывается наработка каждого контактора (по щелчкам)
-Нет возможности исключения из набора конкретных выходов/контакторов (поломка например)
..

feLoNy
08.04.2015, 16:54
Имхо, все предложенные решения не очень:
-Нет минимизации кол-ва щелчков контакторами при переходе с одной нагрузки на другую
-Не учитывается наработка каждого контактора (по щелчкам)
-Нет возможности исключения из набора конкретных выходов/контакторов (поломка например)
..
Всё это хорошо бы, но...

petera, спасибо огромное за помощь... был один косяк, пока из варов pw1: REAL; не убрал не хотело работать, у меня эта переменная из меню редактируется...

feLoNy
23.04.2015, 12:34
Жесткач ваще.
IF pw1=0.0REALы нельзя сравнивать через = и <>.

А как сравнивать байты?... Например нужно включить выход out5 при PWlo от 1 до 9 а при нуле выключить с задержкой через TOF



out1:=(TRUNC(pw1)/100)>=1;
out2:=(TRUNC(pw1)/100)>=2;
out3:=(TRUNC(pw1)/100)>=3;
out4:=(TRUNC(pw1)/100)>=4;

выдает ошибку - несоответсвие типов невозможно преобразовать BOOL в REAL. че-то я не догоняю как исправить...
или задать константу

MRxhi: ARRAY[0..9] OF BYTE :=
2#1000, 2#1100, 2#1110, 2#1111, 2#1111;
прокатит???

feLoNy
23.04.2015, 12:42
выдает ошибку - несоответсвие типов невозможно преобразовать BOOL в REAL. че-то я не догоняю как исправить...
или задать константу

MRxhi: ARRAY[0..9] OF BYTE :=
2#1000, 2#1100, 2#1110, 2#1111, 2#1111;
прокатит???
в итоге в array от 0..5 как я понял (догодался:D)
код следующий
plcoutbits := MRxhi [TRUNC(pw1) MOD 1000/10];
out1 := plcoutbits.0;
out2 := plcoutbits.1;
out3 := plcoutbits.2;
out4 := plcoutbits.3;но ошибка та же :confused:
как быть???

feLoNy
23.04.2015, 13:08
в итоге в array от 0..5 как я понял (догодался:D)
код следующий
plcoutbits := MRxhi [TRUNC(pw1) MOD 1000/10];
out1 := plcoutbits.0;
out2 := plcoutbits.1;
out3 := plcoutbits.2;
out4 := plcoutbits.3;но ошибка та же :confused:
как быть???

Пока все молчат... Мысль следующая (не молчите, хочу мнения специалистов)


VAR
plcoutbits: BYTE;
plcout1: BOOL;
plcout2: BOOL;
plcout3: BOOL;
plcout4: BOOL;
END_VAR
VAR CONSTANT
MRxhi: ARRAY[0..5] OF BYTE :=
2#1000, 2#1100, 2#1110, 2#1111, 2#1111;
END_VAR
plcoutbits := MRxhi [TRUNC(pw1) MOD 1000/10];
IF plcoutbits.0 THEN
out1:=1.0;
ELSE
out1:=0.0;
END_IF

IF plcoutbits.1 THEN
out2:=1.0;
ELSE
out2:=0.0;
END_IF

IF plcoutbits.2 THEN
out3:=1.0;
ELSE
out3:=0.0;
END_IF

IF plcoutbits.3 THEN
out4:=1.0;
ELSE
out4:=0.0;
END_IF
Будет ли работать в реальности??? Или что то где то я ошибся??? Нет пока возможности проверить на живом ПЛК
и вопрос:
А как сравнивать байты?... Например нужно включить выход out5 при PWlo от 1 до 9 а при нуле выключить с задержкой через TOFактуален как никогда

Василий Кашуба
23.04.2015, 13:34
...Будет ли работать в реальности??? Или что то где то я ошибся??? Нет пока возможности проверить на живом ПЛК
и вопрос:
А как сравнивать байты?... Например нужно включить выход out5 при PWlo от 1 до 9 а при нуле выключить с задержкой через TOFактуален как никогда
Через ФБ ">" 0, включаете нужный выход через ФБ TOF и когда условие выполнятся не будет, он выключится.

feLoNy
23.04.2015, 14:12
Через ФБ ">" 0, включаете нужный выход через ФБ TOF и когда условие выполнятся не будет, он выключится.
а можно наглядный пример блока привести :o именно. не могу догнать... или глюкозы мозгу не хватает :rolleyes:

Yegor
23.04.2015, 14:44
Вот так нехорошо делать:
IF plcoutbits.0 THEN
out1:=1.0;
ELSE
out1:=0.0;
END_IFЕсть SEL: out1 := SEL(plcoutbits.0, 0.0, 1.0).
нужно включить выход out5 при PWlo от 1 до 9 а при нуле выключить с задержкой через TOF
VAR
timer: TOF := (PT := T#1s);
END_VAR

timer(IN := PWlo > 0, Q => out5);

petera
23.04.2015, 15:00
выдает ошибку - несоответсвие типов невозможно преобразовать BOOL в REAL. че-то я не догоняю как исправить...

Это уже существует. Велосипед построен и не вариант уже играть с другими мощностями на выход. Пока в таком виде работает, но кучу всего ещё надо додумывать...
out1-out4 - 4 "шага" по 100 кВт... Суммарная мощность 500 кВт!
out4-out8 - 4 вентилятора которые включаются в зависимости от включенных выходов
petera, чуть позже возьму бубен и буду стараться вызвать духов с тобой вместе :-D
В любом варианте хоть с бубном, хоть без для "out1-out4 - 4 "шага" по 100 кВт... Суммарная мощность 500 кВт!"
нужно добавить такой фрагмент

out1:=(TRUNC(pw1)/100)>=1;
out2:=(TRUNC(pw1)/100)>=2;
out3:=(TRUNC(pw1)/100)>=3;
out4:=(TRUNC(pw1)/100)>=4;
ou1, out2, out3 и out4 должны быть объявлены как BOOL, ведь я полагался на "out1-out4 - 4 "шага" по 100 кВт... Суммарная мощность 500 кВт!", т.е. это дискретные выходы.
А Вы судя по ошибке "невозможно преобразовать BOOL в REAL" пытаетесь ou1, out2, out3 и out4 объявить как REAL.

capzap
23.04.2015, 15:03
не всегда сокращение кода удачное решение, на первой картинке две функции выполняющие одну и ту же задачу разными способами, на второй картинке показано время затраченное на выполнение обеих функций

Валенок
23.04.2015, 15:08
out2:=(TRUNC(pw1)/100)>=2;
out3:=(TRUNC(pw1)/100)>=3;
out4:=(TRUNC(pw1)/100)>=4;

Вариант не гуд по простой причине - при переходе с 99 на 100 зачем-то выключается вся мелочевка и включает 100. А ведь достаточно просто добавить 1кВт.

PS
Нагрузочник ?

petera
23.04.2015, 15:12
В любом варианте хоть с бубном, хоть без для "out1-out4 - 4 "шага" по 100 кВт... Суммарная мощность 500 кВт!"
нужно добавить такой фрагмент

out1:=(TRUNC(pw1)/100)>=1;
out2:=(TRUNC(pw1)/100)>=2;
out3:=(TRUNC(pw1)/100)>=3;
out4:=(TRUNC(pw1)/100)>=4;
ou1, out2, out3 и out4 должны быть объявлены как BOOL, ведь я полагался на "out1-out4 - 4 "шага" по 100 кВт... Суммарная мощность 500 кВт!", т.е. это дискретные выходы.
А Вы судя по ошибке "невозможно преобразовать BOOL в REAL" пытаетесь ou1, out2, out3 и out4 объявить как REAL.

ЗЫ. Не заметил, что исходные данные были

Собственно вопрос в следующем: как упростить это:

(*
mrout1:=TRUE; #1 кВт
mrout2:=TRUE; #2 кВт
mrout3:=TRUE; #2 кВт
mrout4:=TRUE; #5 кВт
mrout5:=TRUE; #10 кВт
mrout6:=TRUE; #10 кВт
mrout7:=TRUE; #20 кВт
mrout8:=TRUE; #50 кВт
out1:=1.0; #100 кВт
out2:=1.0; #100 кВт
out3:=1.0; #100 кВт
out4:=1.0; #100 кВт
out5:=1.0; #
out6:=1.0; #
out7:=1.0; #
out8:=1.0; #
*)
Т.е. ПЛК 73/63?
Тогда так нужно обойти ошибку
17884

feLoNy
23.04.2015, 15:25
Вот так нехорошо делать:
IF plcoutbits.0 THEN
out1:=1.0;
ELSE
out1:=0.0;
END_IFЕсть SEL: out1 := SEL(plcoutbits.0, 0.0, 1.0).
VAR
timer: TOF := (PT := T#1s);
END_VAR

timer(IN := PWlo > 0, Q => out5);

Почему не хорошо???

В любом варианте хоть с бубном, хоть без для "out1-out4 - 4 "шага" по 100 кВт... Суммарная мощность 500 кВт!"
нужно добавить такой фрагмент

out1:=(TRUNC(pw1)/100)>=1;
out2:=(TRUNC(pw1)/100)>=2;
out3:=(TRUNC(pw1)/100)>=3;
out4:=(TRUNC(pw1)/100)>=4;
ou1, out2, out3 и out4 должны быть объявлены как BOOL, ведь я полагался на "out1-out4 - 4 "шага" по 100 кВт... Суммарная мощность 500 кВт!", т.е. это дискретные выходы.
А Вы судя по ошибке "невозможно преобразовать BOOL в REAL" пытаетесь ou1, out2, out3 и out4 объявить как REAL.
Извините, выдержка из РП:
7.3.2 Outputs (модуль выходных устройств)
Модуль выходных устройств (Outputs) отображает значения выходов ПЛК. Мо-
дуль имеет шесть каналов типа Real. В каждый канал из пользовательской программы
записывается состояние выхода, в диапазоне от 0,0 до 1,0.
В зависимости от исполнения ПЛК может быть оснащен следующими выходны-
ми устройствами: э/м реле (Р) или транзисторными ключами (К), симисторными ключа-
ми (С), выходами для управления твердотельными реле (Т), ЦАП «параметр-
напряжение 0..10В» (У), ЦАП «параметр-ток 4…20мА» (И).

Вариант не гуд по простой причине - при переходе с 99 на 100 зачем-то выключается вся мелочевка и включает 100. А ведь достаточно просто добавить 1кВт.

PS
Нагрузочник ?

Вы хотите сказать будет работать только 100 кВт... Или я вас не понял?
Обогреватель ;)

ЗЫ. Не заметил, что исходные данные были

Т.е. ПЛК 73/63?
Тогда так нужно обойти ошибку
17884

Уже что-то внятнее...
З.Ы. Да ПЛК-73. там 8 выходов (4 реле, 4 транзистора), транзисторные подключены к реле, и тоже стали релейными))

petera
23.04.2015, 15:32
Уже что-то внятнее...
З.Ы. Да ПЛК-73. там 8 выходов (4 реле, 4 транзистора), транзисторные подключены к реле, и тоже стали релейными))
Так и надо было сразу сказать, а то поди догадайся, что за ПЛК у Вас, ведь есть же в программе и дискретные выходные сигналы
mrout1:=TRUE; #1 кВт
mrout2:=TRUE; #2 кВт
mrout3:=TRUE; #2 кВт
mrout4:=TRUE; #5 кВт
mrout5:=TRUE; #10 кВт
mrout6:=TRUE; #10 кВт
mrout7:=TRUE; #20 кВт
mrout8:=TRUE; #50 кВт

Василий Кашуба
23.04.2015, 15:34
а можно наглядный пример блока привести :o именно. не могу догнать... или глюкозы мозгу не хватает :rolleyes:
Пожалуйста, на верхний вход через ФБ "ИЛИ" подаёте контролируемые переменные, на нижний вход, константу "0", а выход TOF на Q5.
17886

Yegor
23.04.2015, 17:46
Почему не хорошо???Потому что это индусский код. Пять строк вместо одной. Ветвление там, где можно обойтись селектором.

Валенок
24.04.2015, 03:07
Народ страдает фигней выясняя платформы и способы преобразования булей в реалы. Это самая последняя часть которую скучно и неинтересно писать и сделать это можно после отладки. А лучше, при возможности, отдать индусам, а самому попить пивка перед решением нижеследующего.

Суть задачи - при получении новой уставки пройти к ней по самому короткому пути, т.к. изменение буля в коде - просто смена цвета, а на контакторе 100кВт - чуть больше чем просто щелчок.
Вообщем задача кассира со сдачей, но с небольшим усложением - монетки должны равномерно изнашиваться, и любая монетка может сама в любой момент уехать отдыхать на монетный двор. Вот тут и можно мозги потренировать.