-
Вот простейший код, который тормозит на определённых шагах:
Код:
PROGRAM PLC_PRG
VAR
targetSpeed, tmpSpeed, resultSpeed: INT (1..18);
isAccStep: BOOL;
delay: TON;
END_VAR
IF targetSpeed <> tmpSpeed THEN
delay(IN := isAccStep, PT := T#1s);
tmpSpeed := tmpSpeed + LIMIT(-1, targetSpeed - tmpSpeed, 1) * (BOOL_TO_INT(delay.Q) + BOOL_TO_INT(NOT isAccStep));
END_IF
isAccStep := tmpSpeed = 11 OR tmpSpeed = 14 OR tmpSpeed = 17;
IF targetSpeed = tmpSpeed OR isAccStep THEN
resultSpeed := tmpSpeed;
END_IF
-
Спасибо за алгоритм будем пробовать. Судя по всему придется изучать язык ST. Я рисовал все в FBD но видно он мне не поможет все решить.:(
Я щас застрял на такой проблеме мало того что по ступеням нужно разгонятся так еще и возник вопрос если переключились к примеру с 10 на 11 то как отработать ее как разгонную ступень или просто как скорость рабочую.
-
Помогите разобраться. Хочу вставить действие или подпрограмму в проект, вставляю а у меня при компилировании не видится эта подпрограмма. Подскажите как правильно сделать.
-
Вот вам ответ примерно того же качества, что и вопрос: у меня всё работает. Требуется помощь — описывайте проблему целиком. Выложите проект. Если нельзя — воспроизведите проблему в пустом проекте и выложите его.