PDA

Просмотр полной версии : LIMIT ФБ ST в Овен лоджик



Sergijsever
08.11.2023, 22:00
Доброго времени!!!
Подскажите пожалуйста, можно ли реализовать в ФБ st оператор limit ?
Как это правильно сделать?
Допустим out1 := LIMIT(0, in1, 100) пишет функция лимит не объявлена.

Cs-Cs
09.11.2023, 08:38
Можно просто написать его IFами по таким условиям:

if (in1 < 0) then
out1 := 0;
elsif (in1 > 100) then
out1 := 100;
else
out1 := in1;
end_if

...только надо проверить, подержан ли в OL elsif.

1exan
09.11.2023, 09:20
function LIMIT: real;
var_input
MIN : real;
IN : real;
MAX : real;
end_var

LIMIT := IN;
IF IN < MIN THEN LIMIT := MIN;
ELSIF IN > MAX THEN LIMIT := MAX;
END_IF;

end_function

kondor3000
09.11.2023, 14:53
Доброго времени!!!
Подскажите пожалуйста, можно ли реализовать в ФБ st оператор limit ?
Как это правильно сделать?
Допустим out1 := LIMIT(0, in1, 100) пишет функция лимит не объявлена.

Странно, что вам только LIMIT нужен, а как же остальные блоки, таймеры, триггеры, счётчики? Все эти блоки самописные, так как стандартные
нельзя использовать в ФБ на ST.

Посмотрите пример, глубина вложения блоков до 3, для наглядности тут пример в Лоджике и в среде Codesys 2.3.
Там есть и вызовы таймеров, триггеров, работа с массивами и циклами.
https://owen.ru/forum/showthread.php?t=38453&page=10#93

Здесь есть некоторые функции на ST https://owen.ru/forum/showthread.php?t=37203
Кстати и LIMIT тоже есть.
Здесь некоторые ФБ на ST https://owen.ru/forum/showthread.php?t=38239&page=11

Sergijsever
19.11.2023, 16:18
Спасибо Вам огромное , я только сейчас обнаружил свой вопрос (тему) просто я новичок в этом форуме и до путя не разобрался как им пользоваться, да ещё и с телефона. Простите если что не так. За ответы и подсказки благодарю Вас.