Переменными с квадратными скобками в имени они окончательно болт на массивы положили. Так что ничего хорошего в этом нет.
Вид для печати
Переменными с квадратными скобками в имени они окончательно болт на массивы положили. Так что ничего хорошего в этом нет.
Пока позволяла среда Owen Logic - именовал, как считал нужным.
Скорее всего, изначально пользовался без скобок, а потом или подглядел или случайно скопировал единицы измерения со скобками.
На этих скобках не строилась стратегия работ. Просто была милая неповторимая возможность... уцелевшая в сетевых переменных...
Возвращаясь к реально насущному вопросу - как ведёт себя новый ПИД для КЗР на краях диапазона оцениваемого положения регулирующего органа (на 0% и на 100%)?
Выдаёт непрерывный сигнал или игнорирует положение и продолжает регулирование?
Т.е. это стоящее обновление или пока лучше обходиться самодельным макросом?
Добрый день.
В режиме управления дискретным КЗР алгоритм не учитывает рассчитанное значение выхода Pwr. То есть, выходным сигналом, фактически, является приращение в + или в -. Из ближайших аналогов в нашем ассортименте приборов - у ТРМ32 подобный способ регулирования.
Выход Pwr в данном режиме предназначен исключительно для удобства отображения.
В последней версии ST перестало работать правильно. В версии 2.10.367 правильно Вложение 85636 в версии Owen Logic2.11.368 не правильно Вложение 85637
функция Min5 должна выдавать 4, а в последней версии выдаёт 2, четвёртая наработка самая маленькая 212410, у остальных одинаковая 222410Код:function Min5: udint; //имя функции и тип данных выхода
var_input //объявление входных переменных
I1,I2,I3,I4, I5 : udint; //входная переменная с типом данных udint
end_var
var //объявление локальных переменных
end_var
if I1<=I2 and I1<=I3 and I1<=I4 and I1<=I5 then
Min5:=1;
elsif I2<=I1 and I2<=I3 and I2<=I4 and I2<=I5 then
Min5:=2;
elsif I3<=I1 and I3<=I2 and I3<=I4 and I3<=I5 then
Min5:=3;
elsif I4<=I1 and I4<=I2 and I4<=I3 and I4<=I5 then
Min5:=4;
elsif I5<=I1 and I5<=I2 and I5<=I3 and I5<=I4 then
Min5:=5;
end_if
end_function
тут алиса утверждает что кот можно доработать предлагает такой
вдруг её вариант будет работать во всех версияхКод:function Min5: udint;
var_input
I1, I2, I3, I4, I5: udint;
end_var
var
min_value: udint;
min_index: udint := 1;
begin
min_value := I1;
IF I2 < min_value THEN
min_value := I2;
min_index := 2;
END_IF;
IF I3 < min_value THEN
min_value := I3;
min_index := 3;
END_IF;
IF I4 < min_value THEN
min_value := I4;
min_index := 4;
END_IF;
IF I5 < min_value THEN
min_value := I5;
min_index := 5;
END_IF;
Min5 := min_index;
end_function
Зато эмуляции внутри этой же функции - норм.
За сам факт возможности эмуляции ST-функций - респект.
Но напихали модных/стильных/молодежных дебильных квадратиков с значениями прям в коде как в КДС3. Вот накой они нужны если показывают значение в конце цикла?
И каждая 20 раз упоминаемая в коде переменная засирает всё своими квадратиками с одним и тем же дерьмом как голубь.
Текущего в объявлениях достаточно. А любителям писать километровые пергаменты сделали бы отделяемые окно объяв и кода. Или вообще отдельное окно с свободно редактируемой табличкой. где можно указать что показывать
Был этот голубиный помет в 367? (я пропустил этот момент) Есть довольные этим?
Не. Косяк от матерых прогеров.Цитата:
вдруг её вариант будет работать во всех версиях
Просто - попробуйте 2 получить
Это жеВложение 85639Код:function index: udint;
var_input
u1,u2: udint;
end_var
index := 1;
IF u2 < u1 THEN
index := 2;
END_IF;
end_function
Они - знали. Заранее сняли
Да, в последней версии эмуляция работает криво
Вложение 85640
еще забавнее если добавить дополнительную переменную Вложение 85641
массив переменных задом наперед получается
Не используйте последнюю версию Owen Logic 2.11.368, там ST врёт.
https://owen.ru/forum/showthread.php...l=1#post471308
https://owen.ru/forum/showthread.php...l=1#post471135
Можно использовать Owen Logic 2.10.366 или Owen Logic 2.10.367
Если вместо функции использовать функциональный блок, то все чудесным образом работает правильно )
А зачем вообще нужны функции, если они полностью могут быть сделаны на функциональном блоке?
Функция не использует память, для сохранения промежуточных и выходных переменных, а каждый цикл их рассчитывает. Имеет один выход и
не требует объявления и вызова экземпляра, как ФБ.
Зачем сохранять в памяти каждый SEL, Min, Max, упаковку бит, конвертацию данных и т. д.? А так же удобно для расчётов.
Так я про создание функции методом функционального блока говорю. В функции может быть счетчик?
Вы можете. А кто-то в поле под дождем обновится. А в функцию заходит старт и стоп/уставка и обратная связь/дебет и кредит
А только функции? Ваше здоровье это несовершенство средств диагностики.Цитата:
сейчас в этой версии использовать функции на ST нельзя.
Прошивка 2.11.368.0 КРИВАЯ* как минимум для эмуляции (снаружи) функций на ST
*суть - FIFO и LIFO перепутаны
Обнаружил - kondor3000
кто-нить наживую проверил?
Коллеги, добрый день. Ошибки работы функций на ST проявляются только в симуляции. На приборе алгоритм отрабатывает корректно. Задача по исправлению заведена, спасибо за обратную связь.
тут про действие такого же порядка как
a := b + c;
Свойственного даже не ОЛ, даже не Овену. И даже не ST а вообще всем языкам (с фунциями) на этой планете.
Вот вся программа из подобного. Отлаженного.
Споёте песню что будете проверять такое в тепличных условиях?
А именно такие действия, а не появившийся групповой запрос (это - безусловно).
Вы хоть поняли о чем речь? Это не машина после ТО теперь не заводится - это педаль газа и тормоза переставили местами. Или руль теперь нужно крутить влево чтоб поехать вправо.
Какая разница что ломается? Новая версия потенциально опасна для использования в полевых условиях. Можете дальше спорить, но я никогда новый релиз не залью без предварительной проверки. У меня и так седых волос хватает.
Здравствуйте. Не знаю сообщалось ли об этой проблеме. В последней версии программы открываю прошлый проект. В редактировании макроса удаляю один их входов и холст уменьшается до 20х100. Ручное увеличение холста не возвращает возможность нормального отображения входов и выходов.
Добрый день.
Проверили у себя, проблема не повторилась.
Пришлите на почту support@owen.ru Ваш проект и развернутое описание.
Постараемся разобраться.
Добрый день.
Не перемещаются линии в графическом редакторе OL 2.11.368.0. Приложил видео. На форуме искал похожее - не нашел.
https://disk.yandex.ru/i/0yixYl3CK2AWRg
Есть такой глюк. Давно уже...
Ctrl-X и Ctrl-V - удаляю и снова вставляю эту линию и она снова некоторое время перемещается по форме.
Ещё глюк - рисую объект из линий, кругов и треугольников, потом выделяю их и перетаскиваю на другое место - все элементы перемещаются не синхронно, а "расползаются" по сторонам, и нужно заново "собирать" из них объект. А тут и линии перестают перемещаться.
Обращать внимание на всё - никаких нервов не хватит.
Спасибо - воспользуюсь.
О группировке на форуме общались с представителем Овен - он выразил интерес, уточнял детали желаемого результата и назначение такой хотелки. Возможно, внедрят. Не завтра, но сделают.
Группировка - с сохранением в подобие библиотеки - было бы хорошо. Чтобы в свойствах были только параметры с привязками к переменным, а остальные не показывались.
Добрый день! С последним обновлением появилась проблема с рабочим полем. Сначала столкнулся с этим при открытии старых проектов OL. Сегодня ещё столкнулся при работе с макросами. Если удалить вход в макросе, то рабочее поле ломается (прикрепил видео) и не восстанавливается при повторном открытии
Вложение 85804
Отправьте видео в техподдержку https://owen.ru/forum/showthread.php...l=1#post471623
Не число?Вложение 85819