Просмотр полной версии : Фичи и баги OWEN Logic
Страницы :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[
18]
19
Емельянов Кирилл
25.11.2025, 02:41
Да-да, известный прикол. Надо переходить на аналоговые вычисления)
И будет тоже самое
И будет тоже самое
Пока процы дискретные
Емельянов Кирилл
25.11.2025, 09:22
Очень сильно хочу что-нибудь сложить с помощью двух вольтметров электродинамической системы, а потом упереться в дискретность шкалы
Емельянов Кирилл
27.11.2025, 07:00
Это как-то противоречит?
Скорее дополняет. Есть подозрение, что пока кто-то не досчитает до бесконечности, не будет счастья идеалистам.
Регулярно, на протяжении нескольких версий Owen Logic, появляется следующая ошибка:
86907
2.11.370.0
System.NullReferenceException: Object reference not set to an instance of an object.
at Nevron.UI.WinForm.Controls.NItemsControl.OnItemDra g(NLightUIItemDragDropEventArgs e)
at Nevron.UI.WinForm.Controls.NItemsControl.OnLostFoc us(EventArgs e)
at System.Windows.Forms.Control.WmKillFocus(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at Nevron.UI.WinForm.Controls.NItemsControl.WndProc(M essage& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, WM msg, IntPtr wparam, IntPtr lparam)
И не важно, открываю какой-то старый проект, или создаю новый. В какой-то момент (через 30 минут, через 10 минут, через 5 минут...) начинает постоянно появляться данная ошибка. Сохраняю проект, закрываю Owen Logic, снова открываю проект. Порой надоедает, когда за день приходится 20 раз перезапускать Owen Logic. В чем может быть причина? Переустановка среды разработки не помогает.
Переустановка среды разработки не помогает.
у Вас ошибка в .NET которая в свою очередь использует стороннюю библиотеку Nevron UI, вот что надо обновлять, а не ОЛ
стороннюю библиотеку Nevron UI, вот что надо обновлять, а не ОЛИменно на ней построен Owen Logic
Эта библиотека отвечает за рисование всего, что мы видим: экранов и схемы
у Вас ошибка в .NET которая в свою очередь использует стороннюю библиотеку Nevron UI, вот что надо обновлять, а не ОЛ
Т.е. нужно обновить саму библиотеку Nevron UI? Установил скачанный с официального сайта Nevron .NET Vision 2025.1, это ведь оно? Не помогло.
Заметил, что ошибки начинают сыпаться, как только начинаю пользоваться поиском в панели переменных (путем ввода наименования переменной в строке поиска) и параллельно в программе открывать/закрывать макросы. Возможно с макросами это никак не связано, а только совпадение, но вот с поиском связано точно. Пока поиском не пользуюсь, и 30 минут, и 1 час можно просидеть без ошибок, стоит начать активно пользоваться поиском, и 10 минут не проходит до ошибки.
Ранее фиксировал ошибку на рабочем компьютере. Сегодня решил попробовать поработать дома - на домашнем компьютере, история повторяется - ошибка появляется.
Проблема с комментариями 87195
Умурзаков Денис
11.12.2025, 16:25
Проблема с комментариями 87195
Спасибо, поправим.
Slon1800
20.12.2025, 04:51
Здравствуйте, скажите как в узд1 считать регистры 10199 и 10200 они являются unsigned 32, в пр103 где пишу программу сетевая переменная только 1 регистр, а порегистрово эти регистры не читаются, даже сторонними программами, только сразу 2 регистра. Как считать эту битовую маску?
Здравствуйте, скажите как в узд1 считать регистры 10199 и 10200 они являются unsigned 32, в пр103 где пишу программу сетевая переменная только 1 регистр, а порегистрово эти регистры не читаются, даже сторонними программами, только сразу 2 регистра. Как считать эту битовую маску?
Так не работает?
87304
Slon1800
20.12.2025, 14:06
А как мне потом эту сетевую переменную переделать в буль ведь в макросе 2 входа
66666666
21.12.2025, 13:43
Добрый день, на версии 2.11.370 не открывается ранее созданный проект для ПР 103, пишет "Не удалось найти пакет прибора", пошарив немного по форуму нашел совет откатиться на версию пониже и потом снова обновиться до последней, откатился до 2.10.367, в ней проект открывался, сохранил его, обновился до 370 версии и все равно не может открыть с той же ошибкой. Как быть, вернуться на предыдующую версию и игнорировать предложения обновиться? Другие проекты уже в последней версии сделаны и они не откроются в предыдущей.
kondor3000
21.12.2025, 15:24
Добрый день, на версии 2.11.370 не открывается ранее созданный проект для ПР 103, пишет "Не удалось найти пакет прибора", пошарив немного по форуму нашел совет откатиться на версию пониже и потом снова обновиться до последней, откатился до 2.10.367, в ней проект открывался, сохранил его, обновился до 370 версии и все равно не может открыть с той же ошибкой. Как быть, вернуться на предыдующую версию и игнорировать предложения обновиться? Другие проекты уже в последней версии сделаны и они не откроются в предыдущей.
Вы октрываете от одного юзера, а обновляете от другого юзера (или админа). Получаются разные папки хранения пакетов приборов. Папки можно перенести в свои документы из документов админа или другого юзера.
По хорошему работать надо от одного и того же юзера (лучше вообще от админа), а ещё лучше открывать проекты из нужной версии (можно поставить несколько версий), а не нажатием на проект. Хранить проекты надо в младшей версии, делать копию и открывать в нужной.
66666666
22.12.2025, 07:44
Учетка одна с правами администратора. Какие папки нужно проверить или перенести, чтобы не было этих ошибок?
kondor3000
22.12.2025, 08:41
Учетка одна с правами администратора. Какие папки нужно проверить или перенести, чтобы не было этих ошибок?
Если учётка одна, то ставите любую предыдущую версию, например Setup_OwenLogic_2.9.364.exe и Онлайн обновляете до последней.
https://ftp-ow.owen.ru/softupdate/OWEN%20Logic/Setup/Archive/
Учетка одна с правами администратора. Какие папки нужно проверить или перенести, чтобы не было этих ошибок?
А вот здесь ваша ПРка присутствует?
87334
66666666
22.12.2025, 13:50
присутствует, даже больше скажу. есть несколько проектов для одной и той же модели ПР103, одни проекты открываются в последней версии с предложением бекапа и конвертации, а другие нет, ругается на пакет прибора. такое ощущение, что лоджик не в состоянии открыть проекты начиная с какой-то из предыдущих версий.
kondor3000
22.12.2025, 13:55
присутствует, даже больше скажу. есть несколько проектов для одной и той же модели ПР103, одни проекты открываются в последней версии с предложением бекапа и конвертации, а другие нет, ругается на пакет прибора. такое ощущение, что лоджик не в состоянии открыть проекты начиная с какой-то из предыдущих версий.
Если проект создан в версии 354, то он открывается всеми последующими, например 364 (370), но не откроется более низкой например 353.
Если проект версии 354, отрыть и сохранить в 370, то он откроется только в 370.
Поэтому хранить надо в старой версии, открывать только копию и в нужной версии.
Королев Кирилл
22.12.2025, 14:01
Добрый день, на версии 2.11.370 не открывается ранее созданный проект для ПР 103, пишет "Не удалось найти пакет прибора", пошарив немного по форуму нашел совет откатиться на версию пониже и потом снова обновиться до последней, откатился до 2.10.367, в ней проект открывался, сохранил его, обновился до 370 версии и все равно не может открыть с той же ошибкой. Как быть, вернуться на предыдующую версию и игнорировать предложения обновиться? Другие проекты уже в последней версии сделаны и они не откроются в предыдущей.
Добрый день. Вероятно, Вы создавали проект ранее для еще не вышедшего в тот момент ПР103 [М02] - на конце маркировки в списке выбора таргета было обозначение .1. Нам пришлось заменить эти таргеты на корректные - у них на конце .0 [М02]. Если проект сложный и переносить копипастой долго, то чтобы корректно перенести их на текущие версии OL можно выполнить смену целевой платформы в 367 версии лоджика на обычный ПР103 (без индекса М02) с 0 на конце, а в актуальном лоджике выполнить обратную смену целевой платформы на нужный таргет.
Если возникнут вопросы, то обращайтесь ко мне на почту.
66666666
22.12.2025, 14:13
Спасибо за советы, попробую финт со сменой целевой платформы
Всем привет.
OwenLogic последняя, объект программирования - ПР225
В проекте планируются 2 PID регулятора. Один - нагреватель, другой охлаждение.
Происходит какая-то магия, нагреватель работает, охлаждение - нет.
Менял значения Pv\SP. На выходе ноль. Меняешь в свойствах Холодильник на Нагреватель, сразу начинает работать.87362
kondor3000
23.12.2025, 18:51
Всем привет.
OwenLogic последняя, объект программирования - ПР225
В проекте планируются 2 PID регулятора. Один - нагреватель, другой охлаждение.
Происходит какая-то магия, нагреватель работает, охлаждение - нет.
Менял значения Pv\SP. На выходе ноль. Меняешь в свойствах Холодильник на Нагреватель, сразу начинает работать.87362
А вопрос то в чём? И какой ПИД у вас не работает, на скрине их 2 ?
А вопрос то в чём? И какой ПИД у вас не работает, на скрине их 2 ?
не работает второй, который нижний.
Причем не работает именно в режиме Холодильника.
kondor3000
23.12.2025, 19:14
не работает второй, который нижний.
Причем не работает именно в режиме Холодильника.
поменяйте местами Мах и Минимум в настройках второго, тип логики 1 87364
поменяйте местами Мах и Минимум в настройках второго, тип логики 1
Спасибо огромное!!!!
Точно, не очень конечно логично, но работает так)
поменяйте местами Мах и Минимум в настройках второго, тип логики 1 87364
Интересное решение. Разработчиков Лоджика умом не дано понять
kondor3000
23.12.2025, 19:41
Интересное решение. Разработчиков Лоджика умом не дано понять
Я сам об этом узнал пол часа назад, когда проверял работу PID AT_ )))
Ничего похожего про Мах и Минимум в описании макроса нет.
Для холодильника поменять местами надо Pv и SP, режим работы с 0 на 1, Мах и Минимум , очень умное решение)
Это где то документировано чтоб на разработчиков гнать?
Я обычно Кр меняю на отрицательный знак, этого достаточно
kondor3000
23.12.2025, 21:26
Это где то документировано чтоб на разработчиков гнать?
Я обычно Кр меняю на отрицательный знак, этого достаточно
А вы проверяли, прежде чем писать?
Хрен он работает даже с отрицательным Xp пока не поменяешь Мах и Минимум.
А у PID_REG отрицательную вообще нельзя применить.
"Очень умное решение" - это вообще гон ? По моему кто-то уже реально гонит.
Отрицательный Кп(Хр) уже где-то встречал для смены режима - или в PID (Utils Codesys) или КОНГРАФ (МЗТА). Если производитель заложил такую возможность, то она работает.
Как понимаю, смысл применения встроенного ПИД регулятора имеет один очевидный и превалирующий плюс - автонастройка.
Будет ли работать автонастройка для "холодильника", добытого таким образом?
Отрицательный Кп(Хр) уже где-то встречал для смены режима
это не из-за реализации частного ПИД-а, это в формуле видно https://docs.owen.ru/book_img/2154/20633.svg, что смена местами SP и PV даст отрицательный знак при положительном коэффициенте, что коэффициенту поменять знак, оставив уставку и текущее значние без изменений
это не из-за реализации частного ПИД-а, это в формуле видно https://docs.owen.ru/book_img/2154/20633.svg, что смена местами SP и PV даст отрицательный знак при положительном коэффициенте, что коэффициенту поменять знак, оставив уставку и текущее значние без изменений
Блок ругается, если в его настройках поставить отрицательный коэффициент
Блок ругается, если в его настройках поставить отрицательный коэффициент
я видел картинку с PID AT_ вот видео, мне кажется работает в режиме холодильник без ругани
ЗЫ настройки ни какие не менял, внутрь макроса не лез 87372
Королев Кирилл
24.12.2025, 10:26
Всем привет.
OwenLogic последняя, объект программирования - ПР225
В проекте планируются 2 PID регулятора. Один - нагреватель, другой охлаждение.
Происходит какая-то магия, нагреватель работает, охлаждение - нет.
Менял значения Pv\SP. На выходе ноль. Меняешь в свойствах Холодильник на Нагреватель, сразу начинает работать.87362
Добрый день. Есть ошибки при работе блока в режиме симуляции. На приборе (и в онлайн отладке, соответственно) поведение будет корректным.
kondor3000
24.12.2025, 10:42
Добрый день. Есть ошибки при работе блока в режиме симуляции. На приборе (и в онлайн отладке, соответственно) поведение будет корректным.
Вы можете конкретно написать, что надо сделать в настройках, чтобы блок работал в режиме холодильник?
Макс и минимум надо менять местами или нет?
Королев Кирилл
24.12.2025, 10:51
Вы можете конкретно написать, что надо сделать в настройках, чтобы блок работал в режиме холодильник?
Макс и минимум надо менять местами или нет?
В симуляции, к сожалению, не получится в данный момент корректно отладить блок. Из самых явных ошибок: перепутана пропорциональная составляющая (в симуляции - числитель, в приборе - знаменатель) и, в целом, некорректная работа в режиме холодильник.
Могу написать, что нужно делать, чтобы корректно работал на приборе :)
Просто выставить режим работы холодильник.
Мощности менять местами не нужно.
Коэффициенты корректировать каким-то специальным образом тоже не требуется (например, делать отрицательной пропорциональную составляющую).
Минимум, указанный в настройках, будет соответствовать минимальному воздействию на объект, максимум, соответственно, максимальному.
66666666
27.12.2025, 17:42
Заметил, что ошибки начинают сыпаться, как только начинаю пользоваться поиском в панели переменных (путем ввода наименования переменной в строке поиска) и параллельно в программе открывать/закрывать макросы. Возможно с макросами это никак не связано, а только совпадение, но вот с поиском связано точно. Пока поиском не пользуюсь, и 30 минут, и 1 час можно просидеть без ошибок, стоит начать активно пользоваться поиском, и 10 минут не проходит до ошибки.
Тоже такая проблема, в какой конкретно момент появляется трудно отловить, открыто несоклько макросов, между ними переключаюсь, перетаскиваю переменные на рабочую область, потом просто сообщение посреди экрана с ошибкой, сохраняю проект сочетанием клавиш иначе никак, закрыл, открыл, дальше можно работать какое-то время.
Тоже такая проблема, в какой конкретно момент появляется трудно отловить, открыто несоклько макросов, между ними переключаюсь, перетаскиваю переменные на рабочую область, потом просто сообщение посреди экрана с ошибкой, сохраняю проект сочетанием клавиш иначе никак, закрыл, открыл, дальше можно работать какое-то время.
Хотел бы добавить. Да, попользовался фильтром в панели переменных и поработал с макросом. Ошибка появляется когда курсор мышки навожу на область панели переменных. Я со страницы Лоджика все обязательные и рекомендуемые библиотеки скачал и установил - бесполезно. По времени возникновения у меня по разному, специально пробовал воспроизвести - не получилось.
Умурзаков Денис
30.12.2025, 12:17
Смогли наконец-то воспроизвести данный баг. Ошибка происходит если вбить что-то в поиск в панели переменных, после чего переместить одну из найденных переменных на холст, затем переключиться на макрос и навести курсор на панель переменных. Будем этот баг править.
Aviator_VZh
30.12.2025, 19:27
Коллеги, привет!
Всех с наступающим!
Под НГ возникла засада. Был проект для ПР103 в ОЛ2.7.359.0. Этот проект открыл в ОЛ2.11.370.0, сменил целевую платформу на ПР205, сохранил. При попытке открыть получаю вот такое сообщение.
87464
По совету старших товарищей удалили всю логику - ошибка осталась.
Прикладываю пустые проекты.
Коллеги, привет!
Всех с наступающим!
Под НГ возникла засада. Был проект для ПР103 в ОЛ2.7.359.0. Этот проект открыл в ОЛ2.11.370.0, сменил целевую платформу на ПР205, сохранил. При попытке открыть получаю вот такое сообщение.
87464
По совету старших товарищей удалили всю логику - ошибка осталась.
Прикладываю пустые проекты.
Если секцию AI_N_DAT в сломанном проекте заменить на аналогичную из целого - то вроде открывается (без гарантий отсутствия побочных эффектов конечно)
Коллеги, привет!
Всех с наступающим!
Под НГ возникла засада. Был проект для ПР103 в ОЛ2.7.359.0. Этот проект открыл в ОЛ2.11.370.0, сменил целевую платформу на ПР205, сохранил. При попытке открыть получаю вот такое сообщение.
87464
По совету старших товарищей удалили всю логику - ошибка осталась.
Прикладываю пустые проекты.
У меня вот так получилось
https://disk.yandex.ru/i/6BMdEn_ljaWI-Q
kondor3000
30.12.2025, 19:58
Если секцию AI_N_DAT в сломанном проекте заменить на аналогичную из целого - то вроде открывается (без гарантий отсутствия побочных эффектов конечно)
Проект Evo_1.15_2.7_0 открывается и в 9 и в 11 версиях без проблем, переносится и сохраняется.
Проект Evo_1.15_2.7_0 открывается и в 9 и в 11 версиях без проблем
Да, 7 версия открывается, и платформа меняется - поэтому я лично не уловил в чём именно засада.
Возможно в исходном проекте надо перед сменой платформы аналоговые входа отцепить и для верности токовый сигнал на всех поставить.
А попытка открытия 11 версии файла была просто из интереса
kondor3000
30.12.2025, 20:31
Да, 7 версия открывается, и платформа меняется - поэтому я лично не уловил в чём именно засада.
Возможно в исходном проекте надо перед сменой платформы аналоговые входа отцепить и для верности токовый сигнал на всех поставить.
А попытка открытия 11 версии файла была просто из интереса
11 с ошибками, выше выложили видео,
7 окрывается, разница в кол-ве аналоговых входов ПР103 и ПР 205 их надо проверить.
После переноса платформы и проверки входов и сохранения, всё открывается в 11 версии.
Да, 7 версия открывается, и платформа меняется - поэтому я лично не уловил в чём именно засада.
Возможно в исходном проекте надо перед сменой платформы аналоговые входа отцепить и для верности токовый сигнал на всех поставить.
А попытка открытия 11 версии файла была просто из интереса
Так фишка в том, что платформу надо сменить с ПР103 на ПР205. А у них количество входов-выходов разное
Aviator_VZh
30.12.2025, 21:33
Друзья, СПАСИБО!!!
Всё дело оказалось в том, что перед сохранением проекта в 2.11 с измененной на ПР205 платформой необходимо было в настройках прибора проверить настройку аналоговых входов. Ничего не изменять, просто проверить.
И ошибка ушла.
Всех с наступающим!
Здоровья и удачи Вам и близким!
Сергей0308
30.12.2025, 21:44
Друзья, СПАСИБО!!!
Всё дело оказалось в том, что перед сохранением проекта в 2.11 с измененной на ПР205 платформой необходимо было в настройках прибора проверить настройку аналоговых входов. Ничего не изменять, просто проверить.
И ошибка ушла.
Всех с наступающим!
Здоровья и удачи Вам и близким!
Понятно, подобное называется эффект наблюдателя, грубо говоря, если мы начинаем подсматривать за фотонами(частицами) у них пропадает волновая функция, в смысле, они начинают вести себя как частицы, ещё в школе изучали!
Aviator_VZh
30.12.2025, 23:01
Понятно, подобное называется эффект наблюдателя, грубо говоря, если мы начинаем подсматривать за фотонами(частицами) у них пропадает волновая функция, в смысле, они начинают вести себя как частицы, ещё в школе изучали!
У меня наоборот. Когда я начинаю подсматривать за фотонами, то они начинают вести себя волна. Ну, типа, освещают все вокруг.
Сергей0308
30.12.2025, 23:28
У меня наоборот. Когда я начинаю подсматривать за фотонами, то они начинают вести себя волна. Ну, типа, освещают все вокруг.
У Вас наверно какие-то особенные фотоны, может даже запутанные!
Перед Новым годом (с неделю назад) столкнулся с багом Owen Logic.
Весь проект, к сожалению, на форуме выложить не могу, но при дублировании претензии в техподдержку обязательно прикреплю.
Проект автоматизации содержит несколько насосов, нагревателей, задвижек. Управление всем оборудованием возможно как в автоматическом режиме, так и в ручном режиме с панели оператора Weintek.
Задвижки не имеют концевиков, поэтому управляются "на доверии" - т.е. в программе используется модель задвижки, которая по длительности сигналов "открыть" и "закрыть" вычисляет позицию и срабатывание концевиков (вопросы по решениям и подбору оборудования - к проектировщику, я лишь получаю ТЗ и реализую его).
Эти задвижки открываются только перед пуском насосов для заполнения их водой. Поэтому повторяющийся код с моделью и условиями открытия-закрытия одной задвижки оформлен в макрос. По количеству задвижек программа содержит два макроса.
Каюсь - до этой поры игнорировал предупреждения о циклических связях, поэтому программа содержала 11 таких сообщений. Но при этом, внутри использованных макросов циклических связей не было.
Ошибка проявлялась следующим образом:
Поведение наблюдал как по состояниям на панели, так и на ПР по значениям переменных в режиме онлайн-отладки.
Во время ПНР и проверки исполнительных механизмов с панели оператора перевожу в ручной режим обе задвижки.
Подаю сигнал открыть или закрыть на первую задвижку - через время полного хода (45 секунд) срабатывает "концевик" модели и соответствующее реле выключается и управляющее напряжение с привода снимается.
А вот для второй задвижки срабатывание "концевика" выполняется почти сразу без выдержки времени полного хода в обоих направлениях (и открыть и закрыть).
Ситуация странная, т.к. для каждой задвижки использовал экземпляры одного и того же макроса.
Проблему решил устранением циклических связей - заменой соединительных линий на линии обратной связи.
Ошибка воспроизводилась на ПР205-230.1211.22 и двух разных OwenLogic 2.10.367 и 2.11.370 (с заменой прошивки в ПР).
Думаю, что это всё же ошибка OwenLogic, т.к. несмотря на мою небрежность к циклическим связям, макросы для двух задвижек должны были отрабатывать одинаково - т.е. при формировании состояний "задвижка открыта" или "задвижка закрыта" должно было выдерживаться время полного хода. Тем более, что для одной задвижки это работало, а для другой - нет.
После устранения всех циклических связей - ошибка ушла, т.е. макрос корректный.
Приведу внешний вид макросов в программе, чтобы показать, что все переменные подключены, не перепутаны. Назначение макросов - при поступлении запроса включения насоса перекачки воды - проверить его заполненность водой и при необходимости выполнить заполнение (открыть задвижку и включить погружной насос заполнения). Задвижки индивидуальные, а насос заполнения общий, поэтому сигнал его включения объединяется по OR.
Повторюсь, проекты для ПР и Weintek отправлю в техподдержку, т.к. не могу их опубликовать.
Но для себя сделал вывод, что предупреждения о циклических связях не столь безобидны.
МихаилГл
04.01.2026, 12:12
На языке ST это примерно если бы вы поменяли местами 2 строки, на LD это поменять местами 2 ветви. Это очень критично. Код совершенно по разному будет работать. Но иногда, если в программе нет замороченных связей, это случайным образом проканывает. Тут у вас не прошёл этот финт, где то эта последовательность выполнения и присвоения переменной портит вам всю логику, но это не баг OL, это реальность...
kondor3000
04.01.2026, 12:23
Писанины много, а толку как обычно 0.
Если это макрос на FBD, то при копировании, связи в макросе могут просто разорваться. Надо проверять.
А по выходным линиям задержки видно, что выхода присваиваются в разной последовательности.
Возможно дело не только в линиях задержки, но и в присвоении выходов (например по разному присваиваются энергонезависимые и нет
или с настройкой присвоение в конце цикла -Да или Нет)
А я всегда согласно логики линию задержки ставлю. А если что-то не уследил и Лоджик подсветил желтым, то разбираюсь что на что влияет и ставлю линию задержки (и не всегда там где ее Лоджик подсветил).
Не могу публиковать весь проект.
Повторю - есть макрос на FBD - Prepare_Pump_ - он содержит БЕЗ циклических связей формирование условий открытия и закрытия задвижки, включение насоса заполнения водой через эту задвижку, контроль заполнения трубопровода через дискретный датчик, формирование сигнала разрешения включения основного насоса.
В системе два рабочих насоса, поэтому через две задвижки они заполняются единственным насосом заполнения. Поэтому есть смысл повторяющийся код оформить макросом.
Этот макрос не секретный и приведу его здесь в тестовой программе - он НЕ содержит внутри себя циклических связей.
Ошибка работы ППО на OL состоит в том, что когда поступает сигнал открыть задвижку №1, то после этого сигнала через 45 секунд (время полного хода) сигнал выключается. А вот для задвижки №2 время не выдерживается и выключение происходит почти сразу.
А макросы - одинаковые, и по скрину видно, что снаружи они подключены без обрывов связей.
Т.е. пауза на TON внутри макроса должна отрабатывать и для задвижки №1 и для задвижки №2.
А должна, потому, что подаю с панели команду открыть-закрыть - и вижу эту команду на входе в макрос.
К сожалению, не записал видео, как одна задвижка открывается 45 секунд, а другая - почти мгновенно.
При ПНР первым делом проверил подключение переменной времени полного хода к макросу. Проверил прохождение команд РУЧН-АВТО и ОТКР-ЗАКР от панели - проходят. Значит таймер внутри макроса должен выдержать 45 секунд. НО, не выдерживал для задвижки №2, а выдерживал для №1.
Прикладываю скрины макросов и тестовую программу с ними - это не та, с которой ошибка.
Ещё раз выделю ошибку:
- в ручном режиме все циклические связи уже недействительны - они не проходят через маски из элементов AND
- в ручном режиме остаются только сигналы переключения РУЧН-АВТО и ОТКР-ЗАКР, приходящие от панели оператора
- макрос и вложенный в него - НЕ содержит циклических связей
- при подаче в РУЧН команды ОТКР (или ЗАКР) внутренний таймер TON не выдерживает 45 секунд, а сразу формирует сигнал окончания отсчёта
А таймер в макросе неожиданно стал одним и тем же, и вышло у него время...
Хотя вроде таймеры тут все программные и не должно быть такого, но вдруг как-то с этим связано?
Эта ошибку я устранял методом последовательного удаления соединений ко входам макроса, загрузкой и проверкой управления задвижкой в РУЧН режиме.
После какого-то очередного удаления связи работоспособность задвижки (таймера TON) в РУЧН режиме восстановилась. Тогда я восстановил связи, но устранил все циклические связи - после этого задвижка работала нормально.
Т.е. я устранил ошибку и сдал работу.
Но считаю, что ошибка в OL существует, т.к. таймер TON должен был отсчитать 45 секунд, а не один или несколько машинных циклов.
Возможно при какой то комбинации у вас срабатывал таймер, но не выходы макроса. Не полностью протестировали работу макроса или ещё что.
з.ы. вот банального EN не хватает в Лождике., типа ЕN в нуле и код даже не исполняй.
Вообще печалька, что программисты ОЛ непробиваемые буратины...
...
Вообще печалька, что программисты ОЛ непробиваемые буратины...
А куда, от кактуса деться? Сигнетикс - там свои буратины. Есть еще Зентек - косят под Карел и многие производители на него переходят - Нед, Веза, Ровен
Dimensy да туда, в Пиксель да в Зентек, собственно Овен выигрывает только в математике, Зентек не пробовал, не скажу, а по остальным точно в плане математики Овен лучший.
НО, есть еще типы и количество входов/выходов и другие параметры, включая цену, а главное еще качество, и если именно математика не нужна такого плана, то Овен проигрывает.
а они этого не понимают, и боюсь с менеджерами от ЕГЭ не поймут никогда. А уж в вентиляции математика особо и не нужна.
Всё в Овен понимают - на смену Owen Logic уже пришла ALTA с 5+1 языками, развитыми средствами управления задачами.
Лично я жду.
Я тоже жду, но ценник там будет не ПР-ный. Так что не путайте мягкое с теплым. Альта это больше замена CodeSys 2.3 и возможно выше.
А вот сам ОЛ через попу писанный китайцами, и адаптированный русскими ни в какие ворота.
Я тоже жду, но ценник там будет не ПР-ный. Так что не путайте мягкое с теплым. Альта это больше замена CodeSys 2.3 и возможно выше.
А вот сам ОЛ через попу писанный китайцами, и адаптированный русскими ни в какие ворота.
Насколько я понял, там целая экосистема планируется, где и ПЛК и ПРки и панели будут
Dimensy да туда, в Пиксель да в Зентек, собственно Овен выигрывает только в математике, Зентек не пробовал, не скажу, а по остальным точно в плане математики Овен лучший.
НО, есть еще типы и количество входов/выходов и другие параметры, включая цену, а главное еще качество, и если именно математика не нужна такого плана, то Овен проигрывает.
а они этого не понимают, и боюсь с менеджерами от ЕГЭ не поймут никогда. А уж в вентиляции математика особо и не нужна.
Как раз ОВЕН всё понимает. И ведет весьма правильную политику. В которой качество и цена - да, важны, но не на первом месте :(
Aviator_VZh
07.01.2026, 16:38
Подскажите, можно ли в ПР205 при переходе к экрану, содержащему компонент Меню, этот компонент был сразу активен без нажатия на SEL и первая строчка подсвечивалась? По аналогии с системным меню прибора.
Подскажите, можно ли в ПР205 при переходе к экрану, содержащему компонент Меню, этот компонент был сразу активен без нажатия на SEL и первая строчка подсвечивалась? По аналогии с системным меню прибора.
Нельзя. Хотите сразу, рисуйте свое меню
Aviator_VZh
07.01.2026, 18:27
Нельзя. Хотите сразу, рисуйте свое меню
Это как? Можно чуть подробнее, пожалуйста.
Дублирование страницы меню с выделением разных строк и настройки перехода от кнопок?
У меня получится более 20 лишних экранов. Но, да, это решение.
Это как? Можно чуть подробнее, пожалуйста.
Дублирование страницы меню с выделением разных строк и настройки перехода от кнопок?
У меня получится более 20 лишних экранов. Но, да, это решение.
Вот пример
Aviator_VZh
08.01.2026, 12:47
Вот пример
Спасибо, познавательно.
Но хотелось бы комфортно пользоваться готовым элементом Меню без необходимости каждый раз нажимать SEL.
Aviator_VZh
08.01.2026, 12:52
Интересно, разрабам ОЛ кто-нибудь говорил, что настройка "Скрыть незначащие нули" не должна относится к запятой и нулям после неё?
MarcusTroy
10.01.2026, 14:46
Опять нету доступа к расширениям( Что делать братцы
Опять нету доступа к расширениям( Что делать братцы
Если речь о библиотеке компонентов - скачать с сервера "руками" и загружать в проект через меню "Файл - импорт из файла"
https://ftp-ow.owen.ru/softupdate/OWEN%20Logic/OnlineComponents/
Ещё, у меня не работали компоненты, пока не установил Adobe Acrobat Reader - другие просмотровщики для этого не подходили.
MarcusTroy
10.01.2026, 16:26
да нет. расширения - управления расширениями( пишет нет доступа к интернету. а надо пр - ку привязать к овен клоуд. а файл джей сон с сетевыми переменными не могу получить дез расширений(
Этот json можно получить и без расширения, да ещё и лучшего качества, чем из расширения от производителя
https://owen.ru/forum/showthread.php?t=41462&page=4&p=466460&viewfull=1#post466460
Человек написал эту утилиту, чтобы комментарии и многое другое поместить в этот json не руками, а автоматически.
Полистайте ту тему и по примерам автора разберётесь - там нужно настроить порядок полей в файле cvs для сетевых Slave переменных.
Пользовался ей несколько давно, но она работает
Скрин показывает заполнение этих номеров для Owen Logic 2.11.368.0 и ПР205
87500
Формально, можно и без утилиты обойтись - набрать руками в облаке, но это долго.
Эта программа лучше тем, что
- названия переменных в облаке и ПР - одинаковые, а не унифицированные под вид P16564
- сразу добавляются комментарии-описание - если оно есть у сетевой переменной
Правда - очень удобно.
MarcusTroy
10.01.2026, 18:06
как говорится не везет - так с детства( Неверный JSON файл: Syntax error
МихаилГл
10.01.2026, 18:12
как говорится не везет - так с детства( Неверный JSON файл: Syntax error
Найдите анализатор джейсон файлов... Может скобочка где пропала, или лишняя, или запятая. Там этот формат до невозможности прост... Хотя может требуются какие идентификаторы или ещё что...
http://json.parser.online.fr/
как говорится не везет - так с детства( Неверный JSON файл: Syntax error
Получите эталонный json:
- В той теме есть тестовый пример cvs и json для минимального проекта.
- Также, можете создать пару переменных в самом облаке и экспортировать из облака.
На основе эталонного json посмотрите ошибки формата файла, полученного программой - не в том порядке перечислены поля в cvs (в каждой Owen Logic для каждого ПР этот порядок уникален и неповторим) или присутствует/отсутствует BOM - заголовок Plain Text для кодировки Unicode.
Попробуйте разобраться - программа 100% рабочая.
MarcusTroy
11.01.2026, 21:30
ок. может я не але. поясню ход своих действий. экспортирую в лоджике сетевые в csv - далее запускаю прогу csv_to_owencloud2 - нажимаю кнопку открыть csv и выбираю свой файл. далее нажимаю конвертировать регистры в owen cloud json. далее - сохранить. в клоуде импортировать из json выбираю свой сгенерированный файл и получаю -Неверный JSON файл: Syntax error. или лыжи не едут или я ...
MarcusTroy
11.01.2026, 21:31
дип сик зараза не может это сделать так как вебка
Там вроде играться надо было с соотношением, в зависимости от типа пр. Поищите тему, вроде все расписывал автор.
MarcusTroy
11.01.2026, 22:11
в итоге - это боль. буду ждать понедельника и писать в тех поддержку ребятам из овена. а так это дичь дикая
MarcusTroy
11.01.2026, 22:13
почему сразу не запилили конвертацию в json, не пойму - овен клауд это же стратегия компании а не моя хотелка. не понимаю
MarcusTroy
11.01.2026, 22:14
для того чтобы привязать купленный прибор еще нужно зубы через зад рвать. вообщем спасибо сочувствующим за советы но это не нормально
для того чтобы привязать купленный прибор еще нужно зубы через зад рвать. вообщем спасибо сочувствующим за советы но это не нормально
Можно узнать за какое количество переменных в ПР Вам приходится попу рвать?
MarcusTroy
11.01.2026, 22:27
а какая разница. важен подход а не ирония. если умеешь поймать кенгуру - это навык. мне не очень хошется осваивать основы электрообслуживания электроавтомобиля если я его купил чтобы доехать до дачи
MarcusTroy
11.01.2026, 22:28
а количество переменных - 3)))
Ну как говорится, тогда придется пользоваться эвакуатором :)
MarcusTroy
11.01.2026, 22:29
{
"code": "SUCCESS",
"status": "OK",
"variables": [
{
"code": "REMOTE_STOP",
"VariableName": "REMOTE_STOP",
"VariableType": "Long",
"Register": "512",
"Comment": "",
"MetaType": "Network",
"CatalogPath": ""
},
{
"code": "REMOTE_PUSK",
"VariableName": "REMOTE_PUSK",
"VariableType": "Long",
"Register": "513",
"Comment": "",
"MetaType": "Network",
"CatalogPath": ""
},
{
"code": "TEMP_LEVO",
"VariableName": "TEMP_LEVO",
"VariableType": "Long",
"Register": "514",
"Comment": "",
"MetaType": "Network",
"CatalogPath": ""
},
{
"code": "TEMP_PRAVO",
"VariableName": "TEMP_PRAVO",
"VariableType": "Long",
"Register": "515",
"Comment": "",
"MetaType": "Network",
"CatalogPath": ""
}
]
}
MarcusTroy
11.01.2026, 22:33
часто эвакуатором пользуется пользователь теслы? или лисана или любого китайского автомобиля. а да забыл чтобы газель завести новую например после 2 недель работы надо фишку поменять но только ту которую нужно - если не знаешь ты не поедешь
Как может пользователь Теслы воспользоваться эвакуатором, если он в ней сгорел? :)
MarcusTroy
11.01.2026, 22:36
я к чему - если бы шлюз не купил не тратил бы ваше время для чтения этого бреда. а форум бы действительно помогал людям у которых серьезные вопросы к спецам и возможно советы по решению действительно серьезных проблем. но прибор в продаже - прибор должен работать а как подключить надо что то изучать - ну такое себе. просто на это нету времени
Вот образец описания одной переменной в json
{
"categories": [
{
"tag": "07d6d36a-870b-4514-af32-c561838cb192",
"name": {
"ru-RU": "Сетевые переменные",
"en-US": "Network variables"
},
"child_categories": []
}
],
"parameters": [
{
"code": "P16384",
"read_function": "3",
"write_function": "16",
"address": "4000",
"device_format": "float",
"register_least_byte_first": false,
"least_register_first": true,
"measure": "none",
"precision": 0,
"multiplier": "1.0000000",
"bitmask_enabled": false,
"bitmask_value": null,
"name": {
"ru-RU": "ns_Pump1_Pressure_[bar]",
"en-US": "ns_Pump1_Pressure_[bar]"
},
"in_operative": true,
"in_configuration": false,
"in_manageable": false,
"in_parameters": true,
"in_tables": false,
"in_graphs": false,
"in_events": false,
"category": "07d6d36a-870b-4514-af32-c561838cb192"
},
Программа должна получить аналогичные описания переменных кроме поля uuid - его можно оставить пустым.
МихаилГл
11.01.2026, 22:53
Вот и я смотрю скрины со ссылки, и текст ТС... Что-то не то у него получилось...
Судя по адресу Modbus регистра - 512 - экспорт выполняется для ПР200. У ПР200 совсем другой формат cvs для сетевых Slave переменных. Значит в программе нужно подобрать номера полей, которые вставляются в json до получения корректного json. Это - перебором.
MarcusTroy
11.01.2026, 22:56
Fpavel - представьте что мне 7 лет. расскажите как пользоваться программой.
МихаилГл
11.01.2026, 22:56
Вот ...
Программа должна получить аналогичные описания переменных кроме поля uuid - его можно оставить пустым.
В конце не хватает ] и }, сильно много переменных видать там у вас было...
MarcusTroy
11.01.2026, 22:58
и да - у меня пр200
MarcusTroy
11.01.2026, 23:02
я попробовал в лоб в CSVJSON.com сделать конвертацию - ошибки в загрузке в клоуд.
MarcusTroy
11.01.2026, 23:03
спецы из овен - под себя плагины делали видимо. с какими то нюансами.
Вот, сделал минимальный тестовый пример на 2 переменные для ПР200 и получил экспорт cvs
VariableName;VariableType;Register;Comment;MetaTyp e;CatalogPath
Имя переменной;Тип переменной;Адрес регистра;Комментарий;Метатип;Путь в каталоге
var_1_uint16;Long;512;Комментарий к var_1_uint16;Network;
var_2_float;Long;513;Комментарий к var_2_float;Network;
В программе подобрал номера полей для этого случая и получил json
{
"categories": [],
"parameters": [
{
"code": "P00512",
"read_function": "3",
"write_function": "16",
"address": "0200",
"device_format": "uint16",
"register_least_byte_first": false,
"least_register_first": true,
"measure": "none",
"precision": 0,
"multiplier": "1.0000000",
"bitmask_enabled": false,
"bitmask_value": null,
"list_order": null,
"name": {
"ru-RU": "var_1_uint16",
"en-US": "var_1_uint16"
},
"in_operative": false,
"in_configuration": false,
"in_manageable": false,
"in_parameters": false,
"in_tables": false,
"in_graphs": false,
"in_events": false,
"category": null
},
{
"code": "P00513",
"read_function": "3",
"write_function": "16",
"address": "0201",
"device_format": "uint16",
"register_least_byte_first": false,
"least_register_first": true,
"measure": "none",
"precision": 0,
"multiplier": "1.0000000",
"bitmask_enabled": false,
"bitmask_value": null,
"list_order": null,
"name": {
"ru-RU": "var_2_float",
"en-US": "var_2_float"
},
"in_operative": false,
"in_configuration": false,
"in_manageable": false,
"in_parameters": false,
"in_tables": false,
"in_graphs": false,
"in_events": false,
"category": null
}
]
}
У меня нет облака и проверить не на чем (вернее, оно есть, но сейчас буду долго искать логин-пароль). Думаю, что json должен быть корректным
Мне, правда, кажется, что поле "name" должно заполняться комментарием, но пойдёт и имя тега.
МихаилГл
11.01.2026, 23:08
А как вы в лоб сделаете, если там есть служебная информация... И как она в этом json располагаться должна, это тот ещё квест, я так думаю...
Не переживайте вы так, починят... Наверное... Потом... Половину
Или так получить.
На скрине настройки
87504
в архиве json
87505
Привыкайте уже к конверсии форматов файлов без ИИ и прочих готовых инструментов - одним самодельным скриптом можно описать 200-500 тегов из ПР205 в панель Weintek за 10-30 минут, причём основные потери на описание битовых полей в целых числах.
MarcusTroy
11.01.2026, 23:21
to fPavel = такая же история - Неверный JSON файл: Syntax error
Сейчас уже поздно, завтра на работу. Вечером вернусь и поищу пару логин-пароль для облака и смогу проверять json самостоятельно, тогда и найду перебором настройки программы.
Или же можете самостоятельно описать переменную в облаке, выполнить её экспорт в json и получить образец.
После чего подобрать настройки программы самостоятельно.
А может, сможете получить расширение и штатно получить json.
честно скажу, пЕсатели облака там много нахувертели, что можно было сделать проще.
Мне лично показалось, что те, кто делал что-то для Овен протокола, не советовались с теми, что делал для Modbus протокола. Ну типа разные люди трудились, а потом скрестили ужа с ежом.
з.ы. то же есть логин, но ни одного устройства в нем нет, дома только ПР200, а шлюзов нет, бабла жалко :)
Нашёл логин-пароль. Оказывается, для описания прибора в облаке мне нужен или номер ПР или imei шлюза ПМ - ни того ни другого у меня нет и проверять не смогу.
Если кто-то может - помогите человеку настроить программу.
Нашёл логин-пароль. Оказывается, для описания прибора в облаке мне нужен или номер ПР или imei шлюза ПМ - ни того ни другого у меня нет и проверять не смогу.
Если кто-то может - помогите человеку настроить программу.
Вот файл - выгрузил/загрузил нет ошибок (создан без использования программы)
UPD: Содержимое файла, сгенерированного программой скопировал в этот файл - всё загрузилось нормально. У файла, сгенерированного программой кодировка UTF-8-BOM, а у выгруженного из облака - UTF-8, наверное в этом дело
meta11ist87
12.01.2026, 09:09
Есть два ПР. ПР225 выступает в роли мастера, ПР200 в роли слейва.
Не могу добиться нормальной работы записи в регистры с ПР225.
Например(см.картинки) пишу в 524 регистр, записывается в 525ый.
ПО другим регистрам аналогичная ситуация, какой-то закономерности нет, а какие-то регистры вообще не записываются.
Я понимаю что скорее всего косяк где-то у меня, но где - найти не могу.
Помогите разобраться, плз.
8750887509
Есть два ПР. ПР225 выступает в роли мастера, ПР200 в роли слейва.
Не могу добиться нормальной работы записи в регистры с ПР225.
Например(см.картинки) пишу в 524 регистр, записывается в 525ый.
ПО другим регистрам аналогичная ситуация, какой-то закономерности нет, а какие-то регистры вообще не записываются.
Я понимаю что скорее всего косяк где-то у меня, но где - найти не могу.
Помогите разобраться, плз.
8750887509
Проверьте карту в ПР200 на наличие пропусков адресов.
Все объявленные в ПР200 сетевые переменные должны использоваться в программе (в идеале - проверить наличие циферок на каждой сетевой переменной в отладке)
meta11ist87
12.01.2026, 11:07
Проверьте карту в ПР200 на наличие пропусков адресов.
Все объявленные в ПР200 сетевые переменные должны использоваться в программе (в идеале - проверить наличие циферок на каждой сетевой переменной в отладке)
Пропусков нет, все переменные используются. Циферки должны появиться при записи с пр225, но этого не происходит.
Королев Кирилл
12.01.2026, 11:57
Есть два ПР. ПР225 выступает в роли мастера, ПР200 в роли слейва.
Не могу добиться нормальной работы записи в регистры с ПР225.
Например(см.картинки) пишу в 524 регистр, записывается в 525ый.
ПО другим регистрам аналогичная ситуация, какой-то закономерности нет, а какие-то регистры вообще не записываются.
Я понимаю что скорее всего косяк где-то у меня, но где - найти не могу.
Помогите разобраться, плз.
8750887509
Добрый день.
Попробуйте отключить групповые запросы или отвязать переменную от параметра статуса опроса. Сейчас есть проблема с обработкой групповых запросов в некоторых случаях:
Если в групповом опросе участвуют переменные разного размера (16bit+32bit), то в случае привязки переменной к параметру статус опроса происходит смещение данных.
Если в групповом опросе включен порядок данных "старшим регистром вперед", происходит смещение данных.
О проблеме знаем, работаем над решением.
Пропусков нет, все переменные используются. Циферки должны появиться при записи с пр225, но этого не происходит.
Я имел в виду, что должно быть хоть какое-то значение, а не пустое место. Пустое место означает что данные этой переменной программой не обрабатываются
В программе подобрал номера полей для этого случая и получил json
{
"categories": [],
"parameters": [
{
"code": "P00512",
"read_function": "3",
"write_function": "16",
"address": "0200",
"device_format": "uint16",
"register_least_byte_first": false,
"least_register_first": true,
"measure": "none",
"precision": 0,
"multiplier": "1.0000000",
"bitmask_enabled": false,
"bitmask_value": null,
"list_order": null,
"name": {
"ru-RU": "var_1_uint16",
"en-US": "var_1_uint16"
},
"in_operative": false,
"in_configuration": false,
"in_manageable": false,
"in_parameters": false,
"in_tables": false,
"in_graphs": false,
"in_events": false,
"category": null
},
{
"code": "P00513",
"read_function": "3",
"write_function": "16",
"address": "0201",
"device_format": "uint16",
"register_least_byte_first": false,
"least_register_first": true,
"measure": "none",
"precision": 0,
"multiplier": "1.0000000",
"bitmask_enabled": false,
"bitmask_value": null,
"list_order": null,
"name": {
"ru-RU": "var_2_float",
"en-US": "var_2_float"
},
"in_operative": false,
"in_configuration": false,
"in_manageable": false,
"in_parameters": false,
"in_tables": false,
"in_graphs": false,
"in_events": false,
"category": null
}
]
}
categories должна быть заполнена минимальным набором
"categories": [
{
"name": {
"ru-RU": "Сетевые переменные",
"en-US": "Network variables"
},
"child_categories": []
}
]
если такой файл json выходит из программы форумчанина, при чем тут овен
meta11ist87
12.01.2026, 13:08
Добрый день.
Попробуйте отключить групповые запросы или отвязать переменную от параметра статуса опроса. Сейчас есть проблема с обработкой групповых запросов в некоторых случаях:
Если в групповом опросе участвуют переменные разного размера (16bit+32bit), то в случае привязки переменной к параметру статус опроса происходит смещение данных.
Если в групповом опросе включен порядок данных "старшим регистром вперед", происходит смещение данных.
О проблеме знаем, работаем над решением.
Спасибо. Первый случай мой. Два дня бился и не мог понять что происходит с проектом и почему такие простые вещи не работают как задумывалось в моей голове.
После отключения группового опроса вроде всё работает как должно.
Подкажите ещё вопрос, если ОЗУ визуализации ПР225 заполнено на 98% - в этом случае визуализация(ну и сама ПР) будет работать стабильно?
87513
Королев Кирилл
12.01.2026, 14:08
Спасибо. Первый случай мой. Два дня бился и не мог понять что происходит с проектом и почему такие простые вещи не работают как задумывалось в моей голове.
После отключения группового опроса вроде всё работает как должно.
Подкажите ещё вопрос, если ОЗУ визуализации ПР225 заполнено на 98% - в этом случае визуализация(ну и сама ПР) будет работать стабильно?
87513
Прибор будет работать корректно, если нет ошибок в расчете занимаемой памяти. Периодически отлавливаем эти баги и корректируем расчет, поэтому, проекты, созданные в более ранних версиях могут перестать влезать на актуальных и их нужно оптимизировать. Из-за этого рекомендую останавливаться на 70-80% ОЗУ визу, чтобы потом не было проблем с поддержкой этих проектов.
Если будут ошибки в расчете (элементы визуализации занимают больше места, чем указано в расчете), то прибор может перезагружаться в произвольный момент времени.
categories должна быть заполнена минимальным набором...
если такой файл json выходит из программы форумчанина, при чем тут овен
Исходная проблема была в том, что посреди новогодних праздников человек не мог скачать расширение от производителя, которое осуществляет конвертацию сетевых переменных в json.
До начала работы техподдержки, которая смогла бы перезапустить сервер, предложил стороннее решение. Оно рабочее и результат работы более удобный. Только требует дополнительных знаний за пределами обычной киповской работы (например, существование BOM).
К производителю Овен по поводу работы этого стороннего приложения никаких претензий и быть не может, да никто их и не высказывал.
К расширению от производителя претензии есть, они в той теме с приложением обсуждаются. Но раз решение было тогда найдено, то у меня не осталось причин ворчать.
По поводу categories, к сожалению, не могу проверить... Почему-то в памяти осталось, что в этом поле находится описание тега (переменной), которое отображается в облаке. Проверяется экспортом из облака, а не из Owen Logic.
...
По поводу categories, к сожалению, не могу проверить... Почему-то в памяти осталось, что в этом поле находится описание тега (переменной), которое отображается в облаке. Проверяется экспортом из облака, а не из Owen Logic.
Здесь
Вот файл - выгрузил/загрузил нет ошибок (создан без использования программы)
UPD: Содержимое файла, сгенерированного программой скопировал в этот файл - всё загрузилось нормально. У файла, сгенерированного программой кодировка UTF-8-BOM, а у выгруженного из облака - UTF-8, наверное в этом дело
файл, который выгружен из облака. Если никаких категорий не создано - то и раздел с категориями в файле остаётся пустым
Прошу прощения, вчера не посмотрел - у нас снегопад и большие заторы на улицах, несколько часов добирался до дома и уже не было сил на изучение.
Сохраню файл для образца, чтобы иметь примеры для использования, когда буду применять программу.
К расширению от производителя претензии есть, они в той теме с приложением обсуждаются. Но раз решение было тогда найдено, то у меня не осталось причин ворчать.
ну как претензия, чисто Ваше ворчание может быть, единомышленников же не было. Кто делал конвертер посчитал что будет удобно что когда адреса регистров пишутся в 16-ричной системе, сделать код параметра указывающий что переменная(Р) имеет адрес в десятичной системе такой то, само название параметра такое же как и в проекте ОЛ
А посреди новогодних праздников из-за трех переменных можно было использовать произвольный прибор модбас и добавить все в ручную, хуже от этого работать не стало бы
Aviator_VZh
15.01.2026, 13:28
ПР205
Было бы очень удобно, если бы элементы экрана при копипасте на другой экран не смещались.
OwenLogic 2.11.370.0
Редактор макросов. Делаем константу, включаем "использование в макросе", входим в редактор названия, меняем на что-то, выделяем введенное (мышком или шифт-влево), жмем Ctrl-C. Открываем нотепад и вставляем то, что скопировали. Результат далек от ожидаемого - копируется не только текст, но и заголовки таблицы (накой она тут, кстати?)
Умурзаков Денис
20.01.2026, 10:37
OwenLogic 2.11.370.0
Редактор макросов. Делаем константу, включаем "использование в макросе", входим в редактор названия, меняем на что-то, выделяем введенное (мышком или шифт-влево), жмем Ctrl-C. Открываем нотепад и вставляем то, что скопировали. Результат далек от ожидаемого - копируется не только текст, но и заголовки таблицы (накой она тут, кстати?)
Действительно копируется лишнее. Спасибо, что подсветили ошибку! На сколько она критична для вас?
Умурзаков Денис
20.01.2026, 10:43
ПР205
Было бы очень удобно, если бы элементы экрана при копипасте на другой экран не смещались.
Знаем о такой проблеме, работаем над ее решением.
На сколько она критична для вас?
Она очень редко доставляет небольшой дискомфорт - приходится копировать в 4 приема: скопировал, вставил в блокнот, выделил нужную часть, скопировал.
Больше дискомфорта доставляют отсутствие вырезания компонентов и вставка компонентов только в центр экрана. Я бы предпочел под курсором (при желании, это можно на опцию повесить). Отмена изменений комментария ко входу макроса, если мышкой щелкнуть вне области свойств: например, ввел комментарий ко входу, щелкнул на следующем входе, комментарий удалился.
Больше дискомфорта доставляют отсутствие вырезания компонентов и вставка компонентов только в центр экрана. Я бы предпочел под курсором (при желании, это можно на опцию повесить). Отмена изменений комментария ко входу макроса, если мышкой щелкнуть вне области свойств: например, ввел комментарий ко входу, щелкнул на следующем входе, комментарий удалился.
Жутко плюсую!!!
Задолбало постоянное вытаскивание компонента из центра, и бесконечное срабатывание отрисовки линии на компоненте который находится под ним.
Также во всплывающей подсказке на переменной, хотелось бы видеть список со ссылками, а не тупое "блок входной/выходной переменной"
Умурзаков Денис
21.01.2026, 10:03
Жутко плюсую!!!
Задолбало постоянное вытаскивание компонента из центра, и бесконечное срабатывание отрисовки линии на компоненте который находится под ним.
Также во всплывающей подсказке на переменной, хотелось бы видеть список со ссылками, а не тупое "блок входной/выходной переменной"
Спасибо, занес в бэклог пожелания.
Еще есть сбой, который проявляется, если ввести в панели переменных какой-то поиск, но не полный. Затем переключиться в редактор макросов. Что-то поделать, возможно, посоздавать/поудалять переменные - специально воспроизвести не смог. Через какое-то время случается ошибка object reference not found или что-то типа того. Причем, появляется она при наведении мышки на разные объекты. Окно ошибки можно закрыть, но оно скоро опять появится. Если каким-то образом после этого ухитриться очистить поиск, то есть большие шансы, что ошибка пропадет. Ну, в крайнем случае, можно будет сохранить проект и перезапустить OwenLogic (хотя, при закрытии еще раз 5 придется закрыть окно с ошибкой).
Также во всплывающей подсказке на переменной, хотелось бы видеть список со ссылками, а не тупое "блок входной/выходной переменной"
С моей точки зрения в подсказке должен быть только тип переменной, энергонезависимость, начальное значение и, если есть, комментарий. "Блок входной/выходной переменной" и так очевидно из объекта. Еще было бы полезно указать сколько раз используется в схеме и на экране. А то в таблице про экран ни слова, это только с опытом можно догадаться, если ссылок на переменную нет, а статус "используется", то значит где-то на экране.
Кстати, подсказки формируются через какое-то место. Во-первых, шрифт как-то криво выглядит (рендер не штатный?), а во-вторых, даже пробелы иногда (особенно, в комментариях) пропадают или двойной ширины рисуются. Это же касается и текстовых блоков - пока вводишь текст, все хорошо, а вот когда он отображается, то случается бяка. Заодно может стоит сделать эти блоки с richtext, чтобы можно было хотя бы базовое форматирование делать?
В таблице сетевых переменных (а так же при добавлении сетевого устройства) очень бы хотелось иметь возможность видеть и вводить шестнадцатеричный номер регистра. В большинстве документаций они указываются в HEX виде, да и запомнить 20B проще, чем 523. Даже в owencloud надо вводить в шестнадцатеричном виде. Это адски неудобно постоянно конвертировать туда-сюда.
Очень не хватает отладчика экранов (я про ПР200 в первую очередь). Потому что пока не залил в прибор, пока не создал в реальной жизни нужную ситуацию (а ситуация может быть аварийной, которую создавать не хотелось бы), то отладить работу экрана не получается (далеко не всегда экраны - просто отображают значения переменных, иногда даже наполнение экрана зависит от ситуации - тем более, что не так давно появилось штатное скрытие элементов).
Очень бы хотелось, чтобы видимость элемента экрана можно было повесить не только на булеву переменную, но и на целую (+ действительную). Хотя бы при значении точно равном нулю происходило скрытие. Это несколько уменьшит необходимость создания отдельных переменных. Тем более, что нет возможности сделать еще одну страницу схемы, на которую можно было бы выкинуть логику для экранов.
Casper17
21.01.2026, 13:25
День добрый! Не подскажите в чем проблемма, пытаюсь в настройках прибора ПР205 открыть Modbus master RS-485 и на одном выскакивает такая ошибка, другие на Ethernet открываются нормально.
2.11.370.0
System.InvalidOperationException: Operation is not valid due to the current state of the object.
---> CommandProcessor.ContractException: Команда была выполнена с ошибкой. Подробности смотри во вложении.
---> System.InvalidOperationException: Operation is not valid due to the current state of the object.
at ProgramRelayFBD.InfrastructureLayer.Adapters.Conta inersVer2.Master.MasterModbusHost.HandleGetVariabl eDescriptorCommand(GetVariableDescriptorCommand command)
at ProgramRelayFBD.InfrastructureLayer.Adapters.Conta inersVer2.Master.MasterModbusHost.Handle(Command command)
--- End of inner exception stack trace ---
at CommandProcessor.CommandResult.ThrowIfCommandExecu tedWithException()
at MasterModbus.Presentation.Adapters.OutputAdapter.H andleCommand(Command command)
--- End of inner exception stack trace ---
at MasterModbus.Presentation.Adapters.OutputAdapter.H andleCommand(Command command)
at MasterModbus.Presentation.Adapters.OutputAdapter.G etVariableByUniqueId(Guid variableUniqueId)
at MasterModbus.Application.SlaveDevicesComponent.Get BindingVariable(Guid variableUId)
at MasterModbus.Presentation.Adapters.SlaveDeviceTopV iewModel..ctor(Guid deviceUniqueId, ISlaveDevicesComponent slaveDevicesComponent, TreeNodeCollection treeNodeRepository, IEnumerable`1 interfaceItems, IEnumerable`1 interfaceTypeItems)
at MasterModbus.Presentation.Details.SlaveDeviceViewM odelFactory.ByDeviceUniqueId(Guid deviceUniqueId)
at MasterModbus.Presentation.Adapters.SlaveDevicePres enter.CreateSlaveDeviceTopViewModel(Guid deviceUId)
at MasterModbus.Presentation.Adapters.SlaveDeviceNode Container.OnActivatedView()
at ProgramRelayFBD.InfrastructureLayer.Adapters.Devic eSettings.DeviceSettingsPresenter.HandleTreeInterf acesItemNotify(NLightUIItemNotifyData data, IEnumerable`1 selectedNodes, IWin32Window owner)
at Nevron.UI.WinForm.Controls.NItemsControl.UpdateSel ection(NLightUIItemNotifyData data)
at Nevron.UI.WinForm.Controls.NTreeViewEx.UpdateSelec tion(NLightUIItemNotifyData data)
at Nevron.UI.WinForm.Controls.NLightUIItem.RequestSel ection(Boolean select, ItemSelectionAction action)
at Nevron.UI.WinForm.Controls.NLightUIItem.OnLabelMou seDown(MouseEventArgs e)
at Nevron.UI.WinForm.Controls.NTreeNode.OnLabelMouseD own(MouseEventArgs e)
at Nevron.UI.WinForm.Controls.NLightUIItem.ProcessMou seDown(MouseEventArgs e)
at Nevron.UI.WinForm.Controls.NLightUIItem.OnMouseDow n(MouseEventArgs e)
at Nevron.UI.WinForm.Controls.NItemsControl.OnMouseDo wn(MouseEventArgs e)
at Nevron.UI.WinForm.Controls.NTreeViewEx.OnMouseDown (MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at Nevron.UI.WinForm.Controls.NItemsControl.WndProc(M essage& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, WM msg, IntPtr wparam, IntPtr lparam)
Умурзаков Денис
21.01.2026, 16:06
Еще есть сбой, который проявляется, если ввести в панели переменных какой-то поиск, но не полный. Затем переключиться в редактор макросов. Что-то поделать, возможно, посоздавать/поудалять переменные - специально воспроизвести не смог. Через какое-то время случается ошибка object reference not found или что-то типа того. Причем, появляется она при наведении мышки на разные объекты. Окно ошибки можно закрыть, но оно скоро опять появится. Если каким-то образом после этого ухитриться очистить поиск, то есть большие шансы, что ошибка пропадет. Ну, в крайнем случае, можно будет сохранить проект и перезапустить OwenLogic (хотя, при закрытии еще раз 5 придется закрыть окно с ошибкой).
С моей точки зрения в подсказке должен быть только тип переменной, энергонезависимость, начальное значение и, если есть, комментарий. "Блок входной/выходной переменной" и так очевидно из объекта. Еще было бы полезно указать сколько раз используется в схеме и на экране. А то в таблице про экран ни слова, это только с опытом можно догадаться, если ссылок на переменную нет, а статус "используется", то значит где-то на экране.
Кстати, подсказки формируются через какое-то место. Во-первых, шрифт как-то криво выглядит (рендер не штатный?), а во-вторых, даже пробелы иногда (особенно, в комментариях) пропадают или двойной ширины рисуются. Это же касается и текстовых блоков - пока вводишь текст, все хорошо, а вот когда он отображается, то случается бяка. Заодно может стоит сделать эти блоки с richtext, чтобы можно было хотя бы базовое форматирование делать?
В таблице сетевых переменных (а так же при добавлении сетевого устройства) очень бы хотелось иметь возможность видеть и вводить шестнадцатеричный номер регистра. В большинстве документаций они указываются в HEX виде, да и запомнить 20B проще, чем 523. Даже в owencloud надо вводить в шестнадцатеричном виде. Это адски неудобно постоянно конвертировать туда-сюда.
Очень не хватает отладчика экранов (я про ПР200 в первую очередь). Потому что пока не залил в прибор, пока не создал в реальной жизни нужную ситуацию (а ситуация может быть аварийной, которую создавать не хотелось бы), то отладить работу экрана не получается (далеко не всегда экраны - просто отображают значения переменных, иногда даже наполнение экрана зависит от ситуации - тем более, что не так давно появилось штатное скрытие элементов).
Очень бы хотелось, чтобы видимость элемента экрана можно было повесить не только на булеву переменную, но и на целую (+ действительную). Хотя бы при значении точно равном нулю происходило скрытие. Это несколько уменьшит необходимость создания отдельных переменных. Тем более, что нет возможности сделать еще одну страницу схемы, на которую можно было бы выкинуть логику для экранов.
ПО поводу ошибки отписывался выше в этой ветке. Ошибку отловили, будем исправлять по мере возможности. По поводу предложений не новые, но спасибо, что еще раз их подсветили. Особенно сейчас интересная симуляция дисплея ПР200.
Умурзаков Денис
21.01.2026, 16:07
День добрый! Не подскажите в чем проблемма, пытаюсь в настройках прибора ПР205 открыть Modbus master RS-485 и на одном выскакивает такая ошибка, другие на Ethernet открываются нормально.
2.11.370.0
System.InvalidOperationException: Operation is not valid due to the current state of the object.
---> CommandProcessor.ContractException: Команда была выполнена с ошибкой. Подробности смотри во вложении.
---> System.InvalidOperationException: Operation is not valid due to the current state of the object.
at ProgramRelayFBD.InfrastructureLayer.Adapters.Conta inersVer2.Master.MasterModbusHost.HandleGetVariabl eDescriptorCommand(GetVariableDescriptorCommand command)
at ProgramRelayFBD.InfrastructureLayer.Adapters.Conta inersVer2.Master.MasterModbusHost.Handle(Command command)
--- End of inner exception stack trace ---
at CommandProcessor.CommandResult.ThrowIfCommandExecu tedWithException()
at MasterModbus.Presentation.Adapters.OutputAdapter.H andleCommand(Command command)
--- End of inner exception stack trace ---
at MasterModbus.Presentation.Adapters.OutputAdapter.H andleCommand(Command command)
at MasterModbus.Presentation.Adapters.OutputAdapter.G etVariableByUniqueId(Guid variableUniqueId)
at MasterModbus.Application.SlaveDevicesComponent.Get BindingVariable(Guid variableUId)
at MasterModbus.Presentation.Adapters.SlaveDeviceTopV iewModel..ctor(Guid deviceUniqueId, ISlaveDevicesComponent slaveDevicesComponent, TreeNodeCollection treeNodeRepository, IEnumerable`1 interfaceItems, IEnumerable`1 interfaceTypeItems)
at MasterModbus.Presentation.Details.SlaveDeviceViewM odelFactory.ByDeviceUniqueId(Guid deviceUniqueId)
at MasterModbus.Presentation.Adapters.SlaveDevicePres enter.CreateSlaveDeviceTopViewModel(Guid deviceUId)
at MasterModbus.Presentation.Adapters.SlaveDeviceNode Container.OnActivatedView()
at ProgramRelayFBD.InfrastructureLayer.Adapters.Devic eSettings.DeviceSettingsPresenter.HandleTreeInterf acesItemNotify(NLightUIItemNotifyData data, IEnumerable`1 selectedNodes, IWin32Window owner)
at Nevron.UI.WinForm.Controls.NItemsControl.UpdateSel ection(NLightUIItemNotifyData data)
at Nevron.UI.WinForm.Controls.NTreeViewEx.UpdateSelec tion(NLightUIItemNotifyData data)
at Nevron.UI.WinForm.Controls.NLightUIItem.RequestSel ection(Boolean select, ItemSelectionAction action)
at Nevron.UI.WinForm.Controls.NLightUIItem.OnLabelMou seDown(MouseEventArgs e)
at Nevron.UI.WinForm.Controls.NTreeNode.OnLabelMouseD own(MouseEventArgs e)
at Nevron.UI.WinForm.Controls.NLightUIItem.ProcessMou seDown(MouseEventArgs e)
at Nevron.UI.WinForm.Controls.NLightUIItem.OnMouseDow n(MouseEventArgs e)
at Nevron.UI.WinForm.Controls.NItemsControl.OnMouseDo wn(MouseEventArgs e)
at Nevron.UI.WinForm.Controls.NTreeViewEx.OnMouseDown (MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at Nevron.UI.WinForm.Controls.NItemsControl.WndProc(M essage& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, WM msg, IntPtr wparam, IntPtr lparam)
Добрый день, к сожалению, только по тексту ошибки мало что можно сказать. Нужен ваш проект.
Здравствуйте. Вопрос по фб СТ(счетчик с автосбросом). При установке в схему сразу или через некоторое время на выходе устанавливается " 1 " и не сбрасывается. В свойствах сохранение отключено. Были моменты что счетчик сбрасывался нормально, после удаления и установке нового. Но через некоторое время опять на выходе 1
сразу при включении симулятора. При записи в ПР200 работает нормально. Ничего не могу понять, нужен для записи значения с экрана.
Здравствуйте. Вопрос по фб СТ(счетчик с автосбросом). При установке в схему сразу или через некоторое время на выходе устанавливается " 1 " и не сбрасывается. В свойствах сохранение отключено. Были моменты что счетчик сбрасывался нормально, после удаления и установке нового. Но через некоторое время опять на выходе 1
сразу при включении симулятора. При записи в ПР200 работает нормально. Ничего не могу понять, нужен для записи переменной с экрана.
Проверяйте программу, потому что зависнуть блок может только при нулевой уставке
87646
Спасибо за подсказку. Получается такая ситуация. Когда счетчик предустановлен и нет связи с блоком записи в фб, в симуляторе работает нормально. Но стоит привязать блок записи счетчик зависает. Уставка у меня подключена через фб MUL и константу к блоку записи. Ставлю значение уставки 1 в симуляторе счетчик перестает считать. Под счетчиком значения увеличиваются, но выход не работает.
Без блока записи значение установленное в программе и записанное в пр200 работает нормально. Самое интересное что данная схема работает и была собрана 4 года назад. Запись в СТ по такой же схеме. На CTU то же нормально работает, но в него почему то нет записи в фб.
kondor3000
23.01.2026, 16:22
Спасибо за подсказку. Получается такая ситуация. Когда счетчик предустановлен и нет связи с блоком записи в фб, в симуляторе работает нормально. Но стоит привязать блок записи счетчик зависает. Уставка у меня подключена через фб MUL и константу к блоку записи. Ставлю значение уставки 1 в симуляторе счетчик перестает считать. Под счетчиком значения увеличиваются, но выход не работает.
Без блока записи значение установленное в программе и записанное в пр200 работает нормально. Самое интересное что данная схема работает и была собрана 4 года назад. Запись в СТ по такой же схеме. На CTU то же нормально работает, но в него почему то нет записи в фб.
Что вы хотите, тут выход срабатывает 1 раз при достижении уставки и тут же сбрасывается.
Для проверки работы нужно к выходу подключить счётчик, например СТN и смотреть когда он срабатывает.
Проект надо было выложить или хотя бы скрины.
Как не выражаясь выразить мысль?
87652
Спасибо большое, разобрался. Надо было уставку напрямую подключить к блоку записи. Я перепутал с таймером где было подключение через блок MUL и константу. Всё заработало спасибо.
Если тут можно писать свои предложения.
Хотел бы иметь возможность удаление линии связи через ПКМ-->Удалить
Умурзаков Денис
28.01.2026, 09:53
Если тут можно писать свои предложения.
Хотел бы иметь возможность удаление линии связи через ПКМ-->Удалить
Можно и нужно :)
Стараемся у себя все предложения фиксировать
Всем привет. Помогите пожалуйста. Загружаю в ПР205 пустой проект, выдает ошибку и в блокноте открывает make.bat. ОЛ Версия 2.10.367.0 . Logic.log не находит на дисках. 87754877558775687757
Нашлась причина: Сбой ассоциация в системе. Восстановление командой: assoc .bat=batfile .
Нашел интересный косяк.
На экране ПР225 невозможно разместить пользовательское изображение размером больше 320х240 (размер ПР205).
Причем, на любую картинку размером больше 320х240 Лоджик ругается что картинка больше 480х320
87771
З.Ы. Ругаться Лоджик стал из-за того, что я платформу сменил с ПР205 на ПР225. Если сразу делать в ПР225, то все нормально
З.З.Ы. Лечится перезагрузкой проекта
Умурзаков Денис
30.01.2026, 09:37
Нашел интересный косяк.
На экране ПР225 невозможно разместить пользовательское изображение размером больше 320х240 (размер ПР205).
Причем, на любую картинку размером больше 320х240 Лоджик ругается что картинка больше 480х320
87771
З.Ы. Ругаться Лоджик стал из-за того, что я платформу сменил с ПР205 на ПР225. Если сразу делать в ПР225, то все нормально
З.З.Ы. Лечится перезагрузкой проекта
Любопытно. Спасибо, поправим
Можно как то обновить FB написанный на ST, после тога как изменил выхода\выхода FB? Или только заново перетаскивать на FBD схему и перепривязать ВВ.
Можно как то обновить FB написанный на ST, после тога как изменил выхода\выхода FB? Или только заново перетаскивать на FBD схему и перепривязать ВВ.
Правой кнопкой мыши
87789
Вот странно. Почему то правой кнопкой мыши в меню нет "Обновить".
Вот странно. Почему то правой кнопкой мыши в меню нет "Обновить".
Значит макрос "висит в воздухе". Сделайте, какую-нибудь выходную переменную энергонезависимой
Спасибо, помогло. Но конечно странно что просто так не появляется в меню Обновить.
Спасибо, помогло. Но конечно странно что просто так не появляется в меню Обновить.
Если переменная или блок не учувствует в алгоритме, то Лоджик его игнорирует
Сегодня нашёл
Owen Logic 2.11.370.0
1. Копирую несколько элементов со связями и одной обратной связью - после вставки на линии обратной связи уже две стрелки с направлением
87814
2. В редакторе ST
вполне легальная конструкция умножения времени на целочисленную константу формирует ошибку "Типы не совпадают"
87813
VAR_INPUT
nDelay_s: UDINT;
END_VAR
// преобразование типа и пересчёт значения в [с]
tDelay := UDINT_TO_TIME(nDelay_s) * 1000;
а так работает
// преобразование типа и пересчёт значения в [с]
tDelay := UDINT_TO_TIME(nDelay_s * 1000);
kondor3000
01.02.2026, 15:30
1. Копирую несколько элементов со связями и одной обратной связью - после вставки на линии обратной связи уже две стрелки с направлением
2. В редакторе ST
1) Так уже давно, хуже когда связи вообще теряются при копировании, такое тоже бывает.
2) Правилно ругается, по правилам математических операций, сначала что в скобках.
1) Так уже давно, хуже когда связи вообще теряются при копировании, такое тоже бывает.
2) Правилно ругается, по правилам математических операций, сначала что в скобках.
1) превращаем на минутку баг в фичу и продолжаем работать (с ручным исправлением - так, на всякий случай) ;)
2) НЕТ - тут упираюсь всеми рогами и копытами - если мне нужно взять удвоенный или утроенный интервал - то тип время можно и нужно умножать (делить) на константу - недавно в одном из курсов по CODESYS это проходил, да и логике соответствует. Так что это - БАГ
2. В редакторе ST
вполне легальная конструкция умножения времени на целочисленную константу формирует ошибку "Типы не совпадают"
VAR_INPUT
nDelay_s: UDINT;
END_VAR
// преобразование типа и пересчёт значения в [с]
tDelay := UDINT_TO_TIME(nDelay_s) * 1000;
а так работает
// преобразование типа и пересчёт значения в [с]
tDelay := UDINT_TO_TIME(nDelay_s * 1000);
На эту запись не ругался бы
tDelay := UDINT_TO_TIME(nDelay_s) * t#1000ms;
На эту запись не ругался бы
tDelay := UDINT_TO_TIME(nDelay_s) * t#1000ms;
А какая размерность у этой величины - [s*s] = [s^2] ?
Это же некорректненько :)
Переставляя скобки смог преобразовать и получить код, сейчас пойду дальше по выполнению работы, но всё же это - БАГ компилятора.
Думаю, что и так было бы корректно tDelay := nDelay_s * T#1000ms;, но и это компилятор не пропускает.
МихаилГл
01.02.2026, 17:16
Ага, а ещё поделите текущую дату на 2 и получите... Не 1013 год, а... С какого там 0 время в одном из множества форматов...?
PS Во, нашёл. 1970 год. То бишь поделив текущую дату на 2 получите 1998 год, однако...
Ага, а ещё поделите текущую дату на 2 и получите... Не 1013 год, а... С какого там 0 время в одном из множества форматов...?
PS Во, нашёл. 1970 год. То бишь поделив текущую дату на 2 получите 1998 год, однако...
Я же говорю не про тип DT (точная дата на оси времени), а про TIME (интервал, разность времени).
Для TIME получение удвоенного, или умноженного на константу или целое число - вполне корректная операция.
А Вы знаете, что в CODESYS 3.5 разность дат это тип интервал (DT-DT=TIME)?
Понятно, Owen Logic это другая среда разработки и для разности дат может быть другой тип результата.
Вот памятка для CODESYS 3.5
https://owen-russia.ru/wp-content/uploads/uploads/395/shpargalka_po_programmirovaniyu_v_codesys_v3.5.pdf
87815
Как вызвать конкретный экземпляр FB написанный на ST для отладки в симуляторе?
kondor3000
03.02.2026, 15:42
Как вызвать конкретный экземпляр FB написанный на ST для отладки в симуляторе?
Открыть нужный ФБ на холсте и запустить симуляцию внутри ФБ.
Входные переменные надо задавать вручную, внешние (если есть ) не работают.
Иногда бывает, что внутри поведение не совсем такое как в схеме, если переменные на входе и выходе меняются.
То есть проверить работоспособность можно, а в динамике не всегда.
А какая размерность у этой величины - [s*s] = [s^2] ?
Это же некорректненько :)
результатом UDINT_TO_TIME(nDelay_s) будет nDelay_s в миллисекундах
умножаем nDelay_s мс на 1000 мс получаем nDelay_s в секундах
Переставляя скобки смог преобразовать и получить код, сейчас пойду дальше по выполнению работы, но всё же это - БАГ компилятора.
Думаю, что и так было бы корректно tDelay := nDelay_s * T#1000ms;, но и это компилятор не пропускает.
здесь получаем выражение udint * time, вот компилятор и ругается
Наверное, всё же не соглашусь...
[ms]*[ms]=[ms^2], т.е. размерность не соблюдается
Попытаюсь показать ошибку в Ваших рассуждениях.
А как быть, если на первую задачу отводится T1 := t#1s, а на вторую задачу в k := 7 раз больше.
Как вычислить интервал времени T2?
Спасибо. Странная конечно реализация. Думал что полноценная симуляция.
kondor3000
03.02.2026, 18:46
Наверное, всё же не соглашусь...
[ms]*[ms]=[ms^2], т.е. размерность не соблюдается
Попытаюсь показать ошибку в Ваших рассуждениях.
TIME в миллисекундах должен быть, для конвертации целое число секунд надо привести к ms, умножив на 1000 и только после этого конвертировать.
Никаких секунд в квадрате тут нет, только ms.
Можете сделать обратную конвертацию, например t#5s, при конвертации получите целое 5000 ms, а разделив на целое 1000, получите целое 5 секунд.
Компилятор же ругался, когда конвертированное время пытались умножить на целую 1000, то есть не соблюдали типы переменных, что и подтвердил 2 ваш скрин.
Удивительно, как простейшие вещи надо ещё доказывать, вроде и люди неглупые. Даже в моих примерах, которые вы вроде смотрели, в каждом ФБ есть приведение к ms.
TIME в миллисекундах должен быть, для конвертации целое число секунд надо привести к ms, умножив на 1000 и только после этого конвертировать.
Никаких секунд в квадрате тут нет, только ms.
Можете сделать обратную конвертацию, например t#5s, при конвертации получите целое 5000 ms, а разделив на целое 1000, получите целое 5 секунд.
Компилятор же ругался, когда конвертированное время пытались умножить на целую 1000, то есть не соблюдали типы переменных, что и подтвердил 2 ваш скрин.
Удивительно, как простейшие вещи надо ещё доказывать, вроде и люди неглупые. Даже в моих примерах, которые вы вроде смотрели, в каждом ФБ есть приведение к ms.
Делаю последнюю попытку показать, что операция над типами корректна
[TIME] * [ANY_INT] = [TIME]
Чуть выше уже приводил краткую справку на реализацию в CODESYS 3.5
https://owen.ru/forum/showthread.php?t=12264&p=479204&viewfull=1#post479204
А сейчас сошлюсь на ГОСТ Р МЭК 61131-3—2016, который (цитирую из предисловия к этому документу):
4 Настоящий стандарт идентичен международному стандарту МЭК 61131-3:2013 «Контроллеры программируемые. Часть 3. Языки программирования (IEC 61131-3:2013, «Programmable controllers — Part 3: Programming languages», IDT).
https://files.stroyinf.ru/Data2/1/4293755/4293755016.pdf
Открываю "6.6.2.5.11 Функции даты и продолжительности времен" (с. 83)
Т.к. интересует заголовок и строки внизу таблицы, то на скрине "вырежу" среднюю часть таблицы.
Видно, что в строке 10a описана функция умножения MUL и её представление в выражениях в виде одного символа "*"
Функция (операция) умножения выполняется над двумя аргументами типов [TIME] и [ANY_INT] результатом которого является значение типа [TIME].
87863
Т.е. реализация в Owen Logic неправильная 100%. Это - баг.
Вполне приму объяснение, что с момента внедрения в Owen Logic языка ST прошло несколько лет и пользователями написано много программ, часть из которых передана заказчикам в виде исходников - поэтому, чтобы не ломать совместимость с наработками, найденный баг исправляться не будет.
Aviator_VZh
04.02.2026, 10:36
В ПР205, в отличии от ПР200, при изменении значения поля ввода и нажатии SEL, переход на следующее поле ввода происходит без сохранения значения. Есть планы исправить?
Не факт что так правильнее. Я бы как есть оставил.
Aviator_VZh
05.02.2026, 12:47
Не факт что так правильнее. Я бы как есть оставил.
Я не говорю о правильности. Я говорю об единообразии.
Aviator_VZh
05.02.2026, 12:55
Об этом баге известно? Исправления ждать?
https://disk.yandex.com/i/FRGZzU0DLWjsTw
https://youtu.be/AHf8IQvf_io
Aviator_VZh
05.02.2026, 15:43
Не факт что так правильнее. Я бы как есть оставил.
По поводу правильно.
Считаю абсолютно правильной логику, реализованную в ПР200.
Нажатие SEL подтверждает ввод с переходом к редактированию следующего поля.
Нажатие ОК подтверждает ввод с выходом из режима редактирования.
Нажатие ESC отменяет ввод с выходом из режима редактирования.
Режим редактирования одной переменной без перехода к редактированию другой нужен ОБЯЗАТЕЛЬНО!
kondor3000
05.02.2026, 16:18
Об этом баге известно? Исправления ждать?
А в чём баг то? ютуб не работает, словами написать не могли?
Если про включение переменных с холста, то поставил галки энергонезависимости на переменных и убрал линию задержки всё чётко работает.
Aviator_VZh
05.02.2026, 16:38
Об этом баге известно? Исправления ждать?
Кнопка. Режим действия - удержание. При удержании записывается 1.
При скрытии кнопки 1 остается навсегда.
https://disk.yandex.com/i/It4aMJqUy5yoDQ
https://youtu.be/l1AylkskQAs
kondor3000
05.02.2026, 17:40
Об этом баге известно? Исправления ждать?
Кнопка. Режим действия - удержание. При удержании записывается 1.
При скрытии кнопки 1 остается навсегда.
Галку энергонезависимости включите на выходной переменной.
Она у вас никуда не подключена и работает не правильно (чаще не работает совсем). Всё выходы должны быть подключены куда то, на вход другого блока, на выход ПР или просто быть энергонезависимой.
И ещё, у выходных переменных экрана есть настройка, Запись в конце цикла - ДА 87896
Aviator_VZh
05.02.2026, 18:54
Галку энергонезависимости включите на выходной переменной.
Она у вас никуда не подключена и работает не правильно (чаще не работает совсем). Всё выходы должны быть подключены куда то, на вход другого блока, на выход ПР или просто быть энергонезависимой.
И ещё, у выходных переменных экрана есть настройка, Запись в конце цикла - ДА 87896
Большое спасибо, что пытаетесь помочь.
Эти баги возникают на реальном проекте, где всё подключено куда нужно, энергонезависимо, что нужно и записывается в конце цикла, что нужно.
Проект в сообщении - пример бага создан для иллюстрации.
Предлагаемые Вами костыли не работают.
Aviator_VZh
05.02.2026, 19:00
А в чём баг то? ютуб не работает, словами написать не могли?
Если про включение переменных с холста, то поставил галки энергонезависимости на переменных и убрал линию задержки всё чётко работает.
Я правильно понимаю, что Вы теоретизируйте и даете советы, не проверенные на железе?
Предлагаемые Вами костыли не работают.
Ссылка дана на ютуб, поскольку форум не ест другие ссылки.
kondor3000
05.02.2026, 19:22
Я правильно понимаю, что Вы теоретизируйте и даете советы, не проверенные на железе?
Предлагаемые Вами костыли не работают.
Ссылка дана на ютуб, поскольку форум не ест другие ссылки.
Да сейчас у меня нет ПР205, но у 20 человек заработало и только у вас не работает. Проекты вы выложили с явными косяками, о чём я и написал.
Такие посты почти каждый день, вот из последних https://owen.ru/forum/showthread.php?t=42445&p=479285#post479285
Об этом баге известно? Исправления ждать?
Кнопка. Режим действия - удержание. При удержании записывается 1.
При скрытии кнопки 1 остается навсегда.
Напомнило, "почему мышкой надо три раза, а рукой - всего один?" - Это реальный вопрос о том, с чем каждый часто встречается.
У меня нет youtube и видео не посмотрю.
Вы бы пояснили, как воспроизвести ошибку и в чём она.
Можно ли её воспроизвести в эмуляторе?
Я недавно столкнулся с ошибкой, когда таймер не выдерживая времени показывал срабатывание - решение нашлось в полном исправлении предупреждений о наличии неопределённых обратных связей.
Ошибка воспроизводилась только в железе, а в эмуляторе - нет. Ошибка была устойчивой.
Отправлял проект в ТП - оттуда тиштна.
Aviator_VZh
06.02.2026, 10:21
Напомнило, "почему мышкой надо три раза, а рукой - всего один?" - Это реальный вопрос о том, с чем каждый часто встречается.
У меня нет youtube и видео не посмотрю.
Вы бы пояснили, как воспроизвести ошибку и в чём она.
Можно ли её воспроизвести в эмуляторе?
Я недавно столкнулся с ошибкой, когда таймер не выдерживая времени показывал срабатывание - решение нашлось в полном исправлении предупреждений о наличии неопределённых обратных связей.
Ошибка воспроизводилась только в железе, а в эмуляторе - нет. Ошибка была устойчивой.
Отправлял проект в ТП - оттуда тиштна.
Для понимания ошибки приложил проект.
В эмуляторе ошибка не воспроизводится.
Если интересно, могу скинуть видео на почту.
Aviator_VZh
06.02.2026, 12:17
Если на экране ПР205 настроен переход по длительному SEL, то редактирование полей на этом экране недоступно.
Это навсегда?
Напомню, что на ПР200 работает редактирование полей по короткому SEL и переход на другой экран по длительному.
Aviator_VZh
08.02.2026, 08:50
Исправился. Добавил ссылки на яндекс диск для видео.
Умурзаков Денис
09.02.2026, 11:28
Об этом баге известно? Исправления ждать?
Кнопка. Режим действия - удержание. При удержании записывается 1.
При скрытии кнопки 1 остается навсегда.
https://disk.yandex.com/i/It4aMJqUy5yoDQ
https://youtu.be/l1AylkskQAs
Багом является как минимум то, что поведение на приборе и в симуляции - разное. Постараемся исправить, спасибо!
Aviator_VZh
09.02.2026, 12:43
Багом является как минимум то, что поведение на приборе и в симуляции - разное. Постараемся исправить, спасибо!
Для этого бага есть простые программные костыли.
А вот немного раньше на форуме было другое видео. С более серьезной, нерешаемой проблемой.
Сменил платформу в старом (это важно) проекте с ПР103-24.1610.06 на ПР103-24.1618.16. Никаких ошибок и предупреждений. Сохраняется такой проект нормально. Но после закрытия не открывается.
Ошибка
Не удалось открыть файл C:\....owle.
В документе указан прибор ПР103-24.1618.16.M02, для которого обнаружены несовместимые с документом изменения.
Изменился диапазон значений для указанных параметров:
"Режим DHCP".
У 1610 для режима DHCP по умолчанию ставится "кнопкой", а у 1618 в настройках такого пункта нет, только вкл и выкл. Из-за этого проект при смене платформы не открывается. Если перед портированием сменить режим DHCP то всё открывается норм.
Пробовал создавать новый проект в 1610 и портировал в 1618 - нормально всё сохраняется и открывается. Проблема только со старым проектом.
Прикладываю архив с тремя файлами - проект под 1610, портированный как есть в 1618 (не открывается) и с выключенным дхцп (открывается).
Может можно как то после такого бага открыть файл?
Сменил платформу в старом (это важно) проекте с ПР103-24.1610.06 на ПР103-24.1618.16. Никаких ошибок и предупреждений. Сохраняется такой проект нормально. Но после закрытия не открывается.
Ошибка
У 1610 для режима DHCP по умолчанию ставится "кнопкой", а у 1618 в настройках такого пункта нет, только вкл и выкл. Из-за этого проект при смене платформы не открывается. Если перед портированием сменить режим DHCP то всё открывается норм.
Пробовал создавать новый проект в 1610 и портировал в 1618 - нормально всё сохраняется и открывается. Проблема только со старым проектом.
Прикладываю архив с тремя файлами - проект под 1610, портированный как есть в 1618 (не открывается) и с выключенным дхцп (открывается).
Может можно как то после такого бага открыть файл?
Попробуйте открыть сломаный проект как архив и в файле "Project" исправьте значение этого параметра с 2 на 0
88021
Попробуйте открыть сломаный проект как архив и в файле "Project" исправьте значение этого параметра с 2 на 0
88021
Спасибо. Получилось. Я искал в этом файле "DHCP" :)
Спасибо. Получилось. Я искал в этом файле "DHCP" :)
Я сначала тоже )
Не знаю, описывали такое или нет.
ПР205/225. Сделал на экране кнопки, для ручной проверки исполнительных механизмов.
Режим: Нажато - True, отпущено - False.
При "игрании" с кнопками, как на 205 так и на 225, иногда она оставалась нажатой, по непонятной причине.
Ныне поймал ситуацию: если при нажатой OK (т.е. экранная кнопка нажата), нажать ESC или SEL, то экранная кнопка теряет фокус и остается нажатой, т.е. защелкивается.
В принципе данная "фишка", могла бы пригодится, но если нужно именно короткое нажатие, а она по "подлянке" защелкнулась, то надо опять пробегать селектом, чтобы вернуться к этой кнопке, а это потеря (иногда важного!) времени.
Но правда в первые случаи, я не припомню чтобы фокус терялся. Просто нажимал на нее еще раз и все.
TimoshkaBY
13.02.2026, 11:25
Добрый день!
ПР 225 Owen Logic v2.11.370
При добавлении на экран прибора объекта "Динамический текст" с привязанной к нему целочисленной переменной, у списка только 1 состояние - "0". При нажатии клавиши ВВОД в поле редактирования или нажатии в свободном месте новые состояния не добавляются.
88083
88084
Добрый день!
ПР 225 Owen Logic v2.11.370
При добавлении на экран прибора объекта "Динамический текст" с привязанной к нему целочисленной переменной, у списка только 1 состояние - "0". При нажатии клавиши ВВОД в поле редактирования или нажатии в свободном месте новые состояния не добавляются.
Правой кнопкой мыши кликните
88087
Aviator_VZh
13.02.2026, 12:50
Не знаю, описывали такое или нет.
ПР205/225. Сделал на экране кнопки, для ручной проверки исполнительных механизмов.
Режим: Нажато - True, отпущено - False.
При "игрании" с кнопками, как на 205 так и на 225, иногда она оставалась нажатой, по непонятной причине.
Ныне поймал ситуацию: если при нажатой OK (т.е. экранная кнопка нажата), нажать ESC или SEL, то экранная кнопка теряет фокус и остается нажатой, т.е. защелкивается.
В принципе данная "фишка", могла бы пригодится, но если нужно именно короткое нажатие, а она по "подлянке" защелкнулась, то надо опять пробегать селектом, чтобы вернуться к этой кнопке, а это потеря (иногда важного!) времени.
Но правда в первые случаи, я не припомню чтобы фокус терялся. Просто нажимал на нее еще раз и все.
Аналогичная проблема с защелкиванием происходит при сокрытии кнопки в нажатом состоянии. Я писал об этом.
TimoshkaBY
13.02.2026, 13:14
Правой кнопкой мыши кликните
Спасибо большое!
Добрый день, столкнулся с такой проблемой. В арифметике: при сложении, вычитании, умножении. Если производить действие с числом начиная со второго знака после запятой, то появляется 7 знак после запятой. Простая формула в ST 5 + 0,05 = (уже после 2 цикла) = 5.1000004. В чем может быть причина?
МихаилГл
18.02.2026, 09:31
Добрый день, столкнулся с такой проблемой. В арифметике: при сложении, вычитании, умножении. Если производить действие с числом начиная со второго знака после запятой, то появляется 7 знак после запятой. Простая формула в ST 5 + 0,05 = (уже после 2 цикла) = 5.1000004. В чем может быть причина?
Это не какая-то особая причина, это просто real/float так работает. Сильно критично? Если да, то похоже надо округлять, или просто умножить на 100, например, и перевести в целочисленное, правда не знаю, может такое это реле или нет...
kondor3000
18.02.2026, 09:38
Добрый день, столкнулся с такой проблемой. В арифметике: при сложении, вычитании, умножении. Если производить действие с числом начиная со второго знака после запятой, то появляется 7 знак после запятой. Простая формула в ST 5 + 0,05 = (уже после 2 цикла) = 5.1000004. В чем может быть причина?
Это нормально, считайте Float, а на выходе обрезаете до 2 знаков.
Умножаете на 100, конвертируете в целое, потом конвертируете обратно и делите на 100.
Иногда так делают специально, для передачи Float по сети, в целом виде, используя всего 1 регистр, вместо 2.
Экономия регистров обмена, например в некоторых ТРМ.
МихаилГл
18.02.2026, 09:45
Это нормально, считайте Float, а на выходе округляйте до 2 знаков.
Умножаете на 100, конвертируете в целое, потом конвертируете обратно и делите на 100.
В принципе если не требуется дальнейший вывод, а нужна только математика, можно и с целочисленным работать.
Спасибо большое за ответы, значит буду работать с целочисленными. Доброго дня
Aviator_VZh
18.02.2026, 13:21
Хочу выразить благодарность ТП ОВЕН. Оперативно подтвердили некоторые ограничения актуальной версии ОЛ и дали решения в рамках текущего ПО.
...Простая формула в ST 5 + 0,05 = (уже после 2 цикла) = 5.1000004. В чем может быть причина?
Хоть уже всё ответили, добавлю - простое с виду число 0,05 точно вообще не представимо в 2-ичном виде. Нигде.
savitovir
04.03.2026, 15:48
88384 Здравствуйте, подскажите пожалуйста, при попытке перейти в онлайн отладку выскакивает такая портянка и отладка не запускается .
kondor3000
04.03.2026, 15:58
Здравствуйте, подскажите пожалуйста, при попытке перейти в онлайн отладку выскакивает такая портянка и отладка не запускается .
Выложите проект, иначе не понятно где ошибка у вас.
В расширенном режиме, Иконка Вложения (добавить файл).
Баг в эмуляции.
Для ПР205 создаю два экрана.
На главном размещаю несколько "переключателей" с привязкой к битам.
На втором экране - несколько произвольных элементов.
Запускаю эмуляцию.
На главном экране выбираю переключатели и свободно их переключаю. Пока всё хорошо.
Перехожу на второй экран. Возвращаюсь на главный.
И теперь на главном переключаются уже не все переключатели.
Ещё один-два перехода ко второму экрану - и переключать могу только один. Мышкой выделяю любой, но при нажатии виртуальной кнопки "Ok" или "Enter" на клавиатуре - переключается только один, на котором свет сошёлся.
Если второй экран удалить - ошибка не воспроизводится.
Умурзаков Денис
10.03.2026, 10:28
Баг в эмуляции.
Для ПР205 создаю два экрана.
На главном размещаю несколько "переключателей" с привязкой к битам.
На втором экране - несколько произвольных элементов.
Запускаю эмуляцию.
На главном экране выбираю переключатели и свободно их переключаю. Пока всё хорошо.
Перехожу на второй экран. Возвращаюсь на главный.
И теперь на главном переключаются уже не все переключатели.
Ещё один-два перехода ко второму экрану - и переключать могу только один. Мышкой выделяю любой, но при нажатии виртуальной кнопки "Ok" или "Enter" на клавиатуре - переключается только один, на котором свет сошёлся.
Если второй экран удалить - ошибка не воспроизводится.
Спасибо, ошибка воспроизвелась. Будем чинить.
rediskus
11.03.2026, 10:43
Постоянно вылезает эта ошибка. Что ему не так?
2.11.370.0
System.InvalidOperationException: Operation is not valid due to the current state of the object.
at ProgramRelayFBD.ApplicationLayer.ST.ChangeCalledPr ogramElementService.ChangeFunctionBlock(ChangeFunc tionBlockRequest data)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at CommandProcessor.EventAggregator.<>c__DisplayClass9_0.<Publish>b__0(Object <p0>)
88439
Умурзаков Денис
11.03.2026, 13:20
Постоянно вылезает эта ошибка. Что ему не так?
2.11.370.0
System.InvalidOperationException: Operation is not valid due to the current state of the object.
at ProgramRelayFBD.ApplicationLayer.ST.ChangeCalledPr ogramElementService.ChangeFunctionBlock(ChangeFunc tionBlockRequest data)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at CommandProcessor.EventAggregator.<>c__DisplayClass9_0.<Publish>b__0(Object <p0>)
88439
Подскажите, при каких условиях возникает эта ошибка? Ошибка появляется в конкретном или в любом проекте? Если в конкретном пришлите, его, пожалуйста на почту d.umurzakov@owen.ru
Подобное поведение может встречаться в проектах, где функциональный блок на ST был превращен в функцию на ST или наоборот. Превращен путем замены ключевого слова FUNCTION_BLOCK на FUNCTION. Если подобное было, попробуйте удалить соответствующий блок из проекта. Не с холста, а именно из проекта.
rediskus
11.03.2026, 13:58
Возникает в конкретном проекте, при редактировании любого ST объекта. Достаточно стереть и снова вернуть на место любой знак и через какое-то время возникает ошибка. Проект старый, вяло тянется еще с первых ПР205, потом как-то мигрировал на ПР225. На почту отправил.
Умурзаков Денис
11.03.2026, 14:35
Возникает в конкретном проекте, при редактировании любого ST объекта. Достаточно стереть и снова вернуть на место любой знак и через какое-то время возникает ошибка. Проект старый, вяло тянется еще с первых ПР205, потом как-то мигрировал на ПР225. На почту отправил.
Посмотрел проект. Собственно, как и писал. у вас функция на ST "unpack" (function 1) внутри описана как функциональный блок. Если удалить эту функцию, то ошибка перестает появляться. В ближайшем обновлении планируем поправить постоянное возникновение ошибки.
rediskus
11.03.2026, 15:23
Посмотрел проект. Собственно, как и писал. у вас функция на ST "unpack" (function 1) внутри описана как функциональный блок. Если удалить эту функцию, то ошибка перестает появляться. В ближайшем обновлении планируем поправить постоянное возникновение ошибки.
Спасибо. Видимо когда-то это закралось в проект, но до предыдущей версии никак не проявлялась.
Aviator_VZh
19.03.2026, 14:28
Дорогие разработчики!
Спасибо за обновление до 3.0
В ПР205 появилось в настройках компонента "Меню" поле "В фокусе по умолчанию". К сожалению, осталось снятие фокуса при нажатии ESC и для запрограммированного перехода по ESC кнопку нужно нажать два раза. Было бы логично при наличии Фокуса по умолчанию отключить снятие фокуса по нажатии ESC или сделать отдельную настройку для этого функционала.
Мне не сложно два раза нажать кнопку, однако оператор расценивает это как баг в моей программе, что неприятно.
И еще. При возврате в меню желательно оставлять фокус на строчке, с которой был совершен последний переход, а не перемещать фокус на первую строчку.
Traveller
19.03.2026, 14:45
Не знаю может не туда написал, но полагаю что все таки сюда
В общем когда создаешь макросы и нужно добавить хренову тучу однотипных входов или выходов, то почему то по умолчанию всегда установлен булевый тип данных, в общем уже задолбался все это поодиночке исправлять, не нахожу как поменять тип входа или выхода по умолчанию, если такое вообще есть, , и еще не плохо было бы можно было поставить свой префикс, а не то что заложили I или Q...
kondor3000
19.03.2026, 16:12
Создал массив 1, задал переменные 1,2,3,4, скопировал его в массив 2 и задал новые числа 11,22,33,44. 88540
Теперь в обоих массивах показывает 11,22,33,44.
Теперь что бы работало правильно, надо по новой задать числа в первом массиве. Здравствуй обновление 3.0 и новые баги
При чём в самом массиве 1 числа 1,2,3,4 остались.
Создал массив 1, задал переменные 1,2,3,4, скопировал его в массив 2 и задал новые числа 11,22,33,44. 88540
Теперь в обоих массивах показывает 11,22,33,44.
Теперь что бы работало правильно, надо по новой задать числа в первом массиве. Здравствуй обновление 3.0 и новые баги
Подтвержаю с дополнением: после копирования массива изменение копии приводит к изменению оригинала. При этом в окне просмотра они вообще путаются местами.
В вашем проекте через меню переменных дублировал массив, в дубле изменил одно число. Теперь в меню переменных, окне просмотре и симуляции - разные величины. В симуляции никакие переменные не менял.
Умурзаков Денис
20.03.2026, 10:16
Создал массив 1, задал переменные 1,2,3,4, скопировал его в массив 2 и задал новые числа 11,22,33,44. 88540
Теперь в обоих массивах показывает 11,22,33,44.
Теперь что бы работало правильно, надо по новой задать числа в первом массиве. Здравствуй обновление 3.0 и новые баги
При чём в самом массиве 1 числа 1,2,3,4 остались.
Спасибо, баг воспроизвели у себя, будем править.
Traveller
20.03.2026, 11:55
А еще делаю макрос, насоздавал там массивов, вроде все хорошо, сохранил, вышел, думаю доделаю позже, захожу снова в правку макроса и Ву-А-Ля все массивы куда то исчезли... :)
Aviator_VZh
20.03.2026, 12:50
Сегодня ОЛ 3.0 повисла после онлайн отладки по USB. Не реагировала на мышь и клаву. Дамп могу прислать
Traveller
20.03.2026, 13:05
Сегодня ОЛ 3.0 повисла после онлайн отладки по USB. Не реагировала на мышь и клаву. Дамп могу прислать
Тоже было! но у меня было когда хотел забодяжить макрос с массивами данных, начал устанавливать связь и все зависло, в двойне обидно было когда это все произошло после того как все практически закончил, грохнул приложение через диспетчер задач и начал все заново... :)
Aviator_VZh
20.03.2026, 13:07
Тоже было! но у меня было когда хотел забодяжить макрос с массивами данных, начал устанавливать связь и все зависло, в двойне обидно было когда это все произошло после того как все практически закончил, грохнул приложение через диспетчер задач и начал все заново... :)
Про заново знакомая боль.
Умурзаков Денис
20.03.2026, 17:18
Сегодня ОЛ 3.0 повисла после онлайн отладки по USB. Не реагировала на мышь и клаву. Дамп могу прислать
Пришлите, пожалуйста, на почту d.umurzakov@owen.ru
добрый день, как сделать в схеме в OWEN LOGIC, чтобы при нажатии на лкм i1 сигнал был 1, при отжатии лкм I1 уходил в ноль, то есть кнопка без фиксации
kondor3000
23.03.2026, 08:28
добрый день, как сделать в схеме в OWEN LOGIC, чтобы при нажатии на лкм i1 сигнал был 1, при отжатии лкм I1 уходил в ноль, то есть кнопка без фиксации
Либо поставить кнопку без фиксации, либо таймер TOF с временем 0.
а где взять кнопку без фиксации, через тоф попробовал i1 остается включенным после отжатии лкм в схеме. В самой схеме такое возможно сделать или только в визуале?
kondor3000
23.03.2026, 08:36
а где взять кнопку без фиксации, через тоф попробовал i1 остается включенным после отжатии лкм в схеме. В самой схеме такое возможно сделать или только в визуале?
В симуляции, вы сами должны нажать и отпустить кнопку, имитируя нажатие кнопки без фиксации.
Не может таймер остаться включённым, если время 0.
Traveller
24.03.2026, 12:54
Странное дело!
В общем делаю один небольшой проектик и там порядка 96 однотипных энергонезависимых переменных, в общем если я эти переменные делаю (вернее сделал раньше :) ) все по отдельности т.е. в ручную, то ЭСППЗУ у меня показывает 55% заполнения, а потом я это решил сделать по современному т.е. при помощи массивов и тоже самое кол-во переменных у меня уже переполнило память до 131%, это у меня лыжи не едут или я и в правду чего то недопонимаю?
Это если их много :)
88570
А это если тоже самое, только в виде массивов
88571
kondor3000
24.03.2026, 13:17
Странное дело!
В общем делаю один небольшой проектик и там порядка 96 однотипных энергонезависимых переменных, в общем если я эти переменные делаю (вернее сделал раньше :) ) все по отдельности т.е. в ручную, то ЭСППЗУ у меня показывает 55% заполнения, а потом я это решил сделать по современному т.е. при помощи массивов и тоже самое кол-во переменных у меня уже переполнило память до 131%, это у меня лыжи не едут или я и в правду чего то недопонимаю?
С массивами пока есть баги, так что используйте не последнюю версию и без массивов.
Traveller
24.03.2026, 13:23
С массивами пока есть баги, так что используйте не последнюю версию и без массивов.Да я как бы просто спросил, если это действительно баг, то да, сделаю по старинке, просто слишком много телодвижений, массивы реально делают жизнь легче, это просто сигнал обратной связи, что бы разработчики учли этот нюанс... :)
kondor3000
24.03.2026, 13:25
Да я как бы просто спросил, если это действительно баг, то да, сделаю по старинке, просто слишком много телодвижений, массивы реально делают жизнь легче, это просто сигнал обратной связи, что бы разработчики учли этот нюанс... :)
Как по мне, то нисколько не легче, потому, что передать массив по сети всё равно нельзя. Сгруппировали массив, а потом обратно разбирайте для передачи. Какой тогда в них смысл?
Только что сохранять данные, так и тут хрень с памятью.
Traveller
24.03.2026, 13:34
Как по мне, то нисколько не легче, потому, что передать массив по сети всё равно нельзя. Сгруппировали массив, а потом обратно разбирайте для передачи. Какой тогда в них смысл?
Только что сохранять данные, так и тут хрень с памятью.Ну наверное не все сразу, но все равно польза есть, если конечно не это досадное недоразумение, мне например проще сделать один вход и один выход объявив их массивами, чем городить 32 входа и 32 выхода, а потом последовательно в ручную менять их тип и переименовывать, а так да, было бы здорово если бы еще и функциональные блоки можно было бы объединять в массивы, я даже сперва подумал, что это уже реализовано, ан нет, это мои влажные мечты... :)
В общем я надеюсь разработчики читают это и может быть в какой нить 33 версии софта это появиться, а может быть и раньше... :)
=provincial=
26.03.2026, 15:22
В Лоджике до сих пор, в некоторых случаях, выстакивает надоевшая ошибка:
2.11.370.0
System.NullReferenceException: Object reference not set to an instance of an object.
at Nevron.UI.WinForm.Controls.NItemsControl.OnItemDra g(NLightUIItemDragDropEventArgs e)
at Nevron.UI.WinForm.Controls.NItemsControl.OnLostFoc us(EventArgs e)
at System.Windows.Forms.Control.WmKillFocus(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at Nevron.UI.WinForm.Controls.NItemsControl.WndProc(M essage& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, WM msg, IntPtr wparam, IntPtr lparam)
Последовательность примерно такая: на главной схеме в окне списка переменных есть строка поиска, в ней что-то набито. Открываю макрос или макрос в макросе (FBD) для редактирования, что-то делаю, закрываю и такое окно скачет, при любой попытке наведения мышью на окно со списком переменных: Object reference not set to an instance of an object.
В Лоджике до сих пор, в некоторых случаях, выстакивает надоевшая ошибка:
Последовательность примерно такая: на главной схеме в окне списка переменных есть строка поиска, в ней что-то набито. Открываю макрос или макрос в макросе (FBD) для редактирования, что-то делаю, закрываю и такое окно скачет, при любой попытке наведения мышью на окно со списком переменных: Object reference not set to an instance of an object.
Пока еще руки не дошли https://owen.ru/forum/showthread.php?t=12264&p=478663&viewfull=1#post478663
Добрый день!
Подскажите что делать если в режиме отладки вместо циферок пустые квадратики?
88627
Добрый день!
Подскажите что делать если в режиме отладки вместо циферок пустые квадратики?
88627
Увеличьте масштаб отображения, чтобы в отображаемой области стало меньше циферок
Спасибо! Помогло, правда не удобно когда от выхода до входа не видно одним кадром..
Спасибо! Помогло, правда не удобно когда от выхода до входа не видно одним кадром..
есть функция разделить экран (в правом нижнем углу проекта ОЛ) тогда можно контролировать и вход и выход)
странно если ее включить то цифры видно в любом масштабе) Тоже гран мерси!
Добрый день. Подскажите стабильно работающую версию этого ПО. Последнее обновление с сайта постоянно тупит и выводит сообщение что приложение не отвечает.
Даже если и одумается, то при нажатии на любую из кнопок сразу же виснет.
kondor3000
01.04.2026, 07:38
Добрый день. Подскажите стабильно работающую версию этого ПО. Последнее обновление с сайта постоянно тупит и выводит сообщение что приложение не отвечает.
Даже если и одумается, то при нажатии на любую из кнопок сразу же виснет.
Если работаете в эмуляции, включите режим Оф лайн, у меня на 7 и 10 винде все версии работают нормально.
Но торопиться с обновлениями не стоит, часто бывают баги.
Добрый день. Подскажите стабильно работающую версию этого ПО. Последнее обновление с сайта постоянно тупит и выводит сообщение что приложение не отвечает.
Даже если и одумается, то при нажатии на любую из кнопок сразу же виснет.
У меня со стабильностью работы Лоджика любой версии проблем нет.
Виндовс 10, все необходимые и рекомендуемые пакеты поставлены
Галку автоматической проверки обновлений нужно убрать было. Ломится в интернет это поделие и не находит обновлений. Горюет и плачет поэтому. Отключил интернет на компе и сразу образумилась программа. Разработчикам жирный минус за это.
kaftanati
01.04.2026, 23:50
Небольшой список пожеланий/замечаний:
1. Если в поле переменных ввести текст фильтра по имени переменной - потом зайти в любой ФБ/выйти - при наведении мышки на область переменных ошибка. Лечится только перезапуском.
2. При импорте переменных (сетевых) очень не хватает обновления по имени переменной (адрес/подпапка/описание и т.п. - брать из входного файла)
3. Для менеджера экранов ПР205/225 - при копировании элементов с экрана на другой! - не смещать их на пару пикселей вправо/вниз - при создании однотипных экранов легко сбить верстку
4. Для менеджера экранов ПР205/225 - добавить горячие клавиши для команд выравнивания - советую подсмотреть в том же Corel Draw - b=bottom, top=top, c=center hor, e=center vert, l=left, r=right
5. Сколько пытался воспользоваться функцией автосинхронизации входов в ФБ и в символе (когда поменял порядок входных портов) - никогда не работал, как ожидал. Кто разобрался - подскажите.
6. Так и не поправили скроллы прокрутки в настройках для 2к+ экранов.
7. Так и не запоминается путь места последнего расположения сетевого шаблона - каждый раз сбрасывается на дефолтный. Запоминайте хотя бы в рамках рабочей сессии
8. В списке переменных добавьте возможность удаления папок по нажатию del (хотя бы пустых)
9. Если связь между элементами "схлопнулась" при расстановке - совместились входной порт одного ФБ с другим или у переменной - невозможно перетащить эту пару, выделив рамкой.
10. Вдогонку к п.9 - если раздвинуть схлопнутую связь по горизонтали - она не будет отображаться, пока не сделать сдвиг по вертикали
11. СДЕЛАЙТЕ ВЫРАВНИВАНИЕ БЛОКОВ НА ХОЛСТЕ ПО СЕТКЕ, А ПРИ ПЕРЕМЕЩЕНИИ СТРЕЛКАМИ ШАГАЙТЕ СРАЗУ НА ШАГ СЕТКИ. Простите, крик души.
kaftanati а что значит автосинхронизация входов?
Умурзаков Денис
02.04.2026, 10:00
Небольшой список пожеланий/замечаний:
1. Если в поле переменных ввести текст фильтра по имени переменной - потом зайти в любой ФБ/выйти - при наведении мышки на область переменных ошибка. Лечится только перезапуском.
2. При импорте переменных (сетевых) очень не хватает обновления по имени переменной (адрес/подпапка/описание и т.п. - брать из входного файла)
3. Для менеджера экранов ПР205/225 - при копировании элементов с экрана на другой! - не смещать их на пару пикселей вправо/вниз - при создании однотипных экранов легко сбить верстку
4. Для менеджера экранов ПР205/225 - добавить горячие клавиши для команд выравнивания - советую подсмотреть в том же Corel Draw - b=bottom, top=top, c=center hor, e=center vert, l=left, r=right
5. Сколько пытался воспользоваться функцией автосинхронизации входов в ФБ и в символе (когда поменял порядок входных портов) - никогда не работал, как ожидал. Кто разобрался - подскажите.
6. Так и не поправили скроллы прокрутки в настройках для 2к+ экранов.
7. Так и не запоминается путь места последнего расположения сетевого шаблона - каждый раз сбрасывается на дефолтный. Запоминайте хотя бы в рамках рабочей сессии
8. В списке переменных добавьте возможность удаления папок по нажатию del (хотя бы пустых)
9. Если связь между элементами "схлопнулась" при расстановке - совместились входной порт одного ФБ с другим или у переменной - невозможно перетащить эту пару, выделив рамкой.
10. Вдогонку к п.9 - если раздвинуть схлопнутую связь по горизонтали - она не будет отображаться, пока не сделать сдвиг по вертикали
11. СДЕЛАЙТЕ ВЫРАВНИВАНИЕ БЛОКОВ НА ХОЛСТЕ ПО СЕТКЕ, А ПРИ ПЕРЕМЕЩЕНИИ СТРЕЛКАМИ ШАГАЙТЕ СРАЗУ НА ШАГ СЕТКИ. Простите, крик души.
1. Знаем об этой ошибке, в ближайшем патче будет поправлено
6. К сожалению, чтобы поправить это придется переписывать Owen Logic на другой библиотеке. Не думаю, что это когда-то произойдет
В целом остальные пункты есть в планах, но в любом случае спасибо, что подсветили их)
К сожалению, чтобы поправить это придется переписывать Owen Logic на другой библиотеке. Не думаю, что это когда-то произойдет Посмотрите как он на 4К выглядит, там совсем беда.
kaftanati
02.04.2026, 22:59
kaftanati а что значит автосинхронизация входов?
Изменение порядка входов/выходов в ФБ при перемещении их между собой, добавлении/удалении.
6. К сожалению, чтобы поправить это придется переписывать Owen Logic на другой библиотеке. Не думаю, что это когда-то произойдет
Ну хотя б тогда масштабируйте размер экрана настроек по умолчанию. И сохраняйте его размеры между сессиями. Иначе: переоткрыл проект, опять всё раздвигай..
И, смотрите, у вас скроллы на экране выбора прибора при создании проекта имеют меньшую ширину:
88717 88718
Добрый день.
А работу ПИД регулятора в режиме охлаждения в эмуляции не поправили?
Изменение порядка входов/выходов в ФБ при перемещении их между собой, добавлении/удалении.
При удалении входов/выходов проблема имеется, когда холст вдруг увеличивается и после его фиг уменьшишь. А какие проблемы при перемещении входов/выходов?
А какие проблемы при перемещении входов/выходов? Снаружи макроса не встают так, как внутри.
Снаружи макроса не встают так, как внутри.
Если активировать эту кнопочку и сохранить макрос, то снаружи входы/выходы встанут так же как и внутри макроса
88728
kondor3000
03.04.2026, 13:05
Если активировать эту кнопочку и сохранить макрос, то снаружи входы/выходы встанут так же как и внутри макроса
88728
У меня она не работает и давно уже. Вот скрин, в макросе AO внизу, а на поле выход в середине. 88729
Кнопочками обнажимался и сохранял макрос сто раз, фиг вам.
Пока все выходы не пересоздашь и подпишешь, ничего не изменится.
Короче, всё работает, если после синхронизации входов - выходов, нажать иконку Сохранения.
Выход из макроса с сохранением, не работает.
У меня она не работает и давно уже. Вот скрин, в макросе AO внизу, а на поле выход в середине.
Кнопочками обнажимался и сохранял макрос сто раз, фиг вам.
Пока все выходы не пересоздашь и подпишешь, ничего не изменится.
Нормально работает
https://disk.yandex.ru/i/UHEYGMm5-PB8mw
kondor3000
03.04.2026, 13:32
Нормально работает
https://disk.yandex.ru/i/UHEYGMm5-PB8mw
Так у тебя выходы и входы не привязаны, а мне надо всё отвязать, обновить, сохранить и по новой привязать.
Хотя нет, получилось, сохранял не иконкой, а при выходе.
Если сохранять на выходе, ничего не меняется.
Так у тебя выходы и входы не привязаны, а мне надо всё отвязать, обновить, сохранить и по новой привязать.
Хотя нет, получилось, сохранял не иконкой, а при выходе.
Если сохранять на выходе, ничего не меняется.
Не пойму проблему
https://disk.yandex.ru/i/Di_FU2vio_oxfw
А по новой перепривязывать входы/выходы, да придется
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot