так подойдет?
так подойдет?
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Заменил в теле программы "IF PWR THEN
IF Start=FALSE THEN Timer_SDUV(Start:=NOT Start, Interval:=REAL_TO_TIME(TimeInSduv*1000), SwitchIN:=Start, Signal=>SignalC, CicleON=>Otduv, SwitchOUT=>Start, TimeSee=>TimeSeeSduv);
на
R_TRIG_START.CLK:=FALSE;
IF PWR THEN
R_TRIG_START(CLK:=PWR, Q=>SignalC);
Cicle(Start:=SignalC, Interval:=REAL_TO_TIME(TimeInCicle*1000), SwitchIN:=Switch, Signal=>SignalO, CicleON=>ADS, SwitchOUT=>Switch, TimeSee=>TimeSeeCicle);
Timer_SDUV(Start:=SignalO, Interval:=REAL_TO_TIME(TimeInSduv*1000), Signal=>SignalC, CicleON=>Otduv, TimeSee=>TimeSeeSduv);
ADSL:=ADS AND NOT switch;
ADSR:=ADS AND switch;
ENF_IF
....
Все равно циклы не запускаются....
Последний раз редактировалось Ger4sim; 28.06.2016 в 21:26.
в простом редакторе откройте
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Доработал чуток...
вот что получилось.
Так и не могу понять почему циклы не запускаются....
Объясните пожалуйста в чем ошибка?
R_TRIG_START.CLK:=FALSE;
IF PWR THEN
R_TRIG_START(CLK:=PWR);
SignalO:=R_TRIG_START.Q;
Timer_SDUV(Start:=SignalO, Interval:=REAL_TO_TIME(TimeInSduv*1000), Signal=>SignalC, CicleON=>Otduv, TimeSee=>TimeSeeSduv);
Cicle(Start:=Timer_SDUV.Signal, Interval:=REAL_TO_TIME(TimeInCicle*1000), SwitchIN:=Switch, Signal=>SignalO, CicleON=>ADS, SwitchOUT=>Switch, TimeSee=>TimeSeeCicle);
ADSL:=Cicle.CicleON AND NOT switch;
ADSR:=Cicle.CicleON AND switch;
// Отдувка в работе
IF Timer_SDUV.CicleON THEN RL1:=FALSE; RL2:=FALSE; RL3:=FALSE; RL4:=FALSE; RL5:=FALSE; RL6:=FALSE; RL7:=TRUE;
END_IF
// Правое направление в работе
IF ADSR THEN RL1:=FALSE; RL2:=TRUE; RL3:=TRUE; RL4:=FALSE; RL5:=FALSE; RL6:=TRUE; RL7:=TRUE;
END_IF
// Левое направление в работе
IF ADSL THEN RL1:=TRUE; RL2:=FALSE; RL3:=FALSE; RL4:=TRUE; RL5:=TRUE; RL6:=FALSE; RL7:=TRUE;
END_IF
ELSE RL1:=FALSE; RL2:=FALSE; RL3:=FALSE; RL4:=FALSE; RL5:=FALSE; RL6:=FALSE; RL7:=FALSE;
END_IF
Последний раз редактировалось Ger4sim; 28.06.2016 в 22:03.
Я понял. Циклы не меняются, потому что на вход подается сигнал и исчезает, соответственно когда таймер заканчивается, нет сигнала на выходе из ФБ...
Cамый дельный совет - п#8
сегодня 3-й день как я начал заниматься программированием в CodeSys... Пока пишу на ST (ввиду прошлых знаний "ТурбоПаскаль").
Но я все сделал!!! Все работает как часы!!!!
Screenshot_3.jpg Screenshot_4.jpg Screenshot_5.jpg Screenshot_6.jpg
Последний раз редактировалось Ger4sim; 28.06.2016 в 23:56.