Вход

Просмотр полной версии : Фичи и баги OWEN Logic



Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18

Cs-Cs
06.09.2024, 16:00
melky А ты почитай ссылку. Там шла инициализация таймера в тиках и на быстром проце они переполнялись.

melky
06.09.2024, 16:03
я в курсе, что некоторые меряли тиками процессора, но эти времена ушли давно.

iljael
06.09.2024, 16:06
А теперь, надеюсь, мы получим ответ на вопрос, ЗАЧЕМ это нужно.
Спрашиваю без сарказма: ведь такое "регулирование" времени выполнения программы - это крайне нештатное НАСИЛИЕ над ПРкой.


Придется переделывать многие проекты и цена вопроса должна быть минимальной вот и приходиться перед началом большого перевода проектов с одной платформы на другую оценивать примерную совместимость по быстродействию контроллера на который хотим перевести , а как проверить ? Зная логику исходного проекта и понимая примерное количество строк кода и чем программа в этих строках занимается нужно просто последовательно выполнить примерные эквиваленты этих строк на новой платформе и посмотреть возможно ли будет нормальная работа проекта на новом оборудовании или придётся доплачивать (что ОЧЕНЬ не желательно) за более быстродействующее и тут попался на глаза ИПП120 и столкнулся с проблемой которую описал на форуме , ну это так вообщем и в кратком изложении надеюсь понятно объяснил. Ну и если с ИПП120 не получиться то мне дешевле выйдет на кассовых терминалах с экраном все сделать.

Dimensy
06.09.2024, 16:09
я в курсе, что некоторые меряли тиками процессора, но эти времена ушли давно.

Сегнетик тиками меряет, насколько я помню

iljael
06.09.2024, 16:16
А ты почитай ссылку. Там шла инициализация таймера в тиках и на быстром проце они переполнялись.

Не работали те проги на виндах которые обращались на прямую к оборудованию что на виндовс сильно затруднительно , а вот на более шустрых процах и в DOSe ? те проги которые использовали таймер - все ок , а которые с програмной задержкой то - Дррр и усё кончилось.

melky
06.09.2024, 16:16
ИПП120 если не ошибаюсь, это ПР200 без входов/выходов. А оно не умеет групповых запросов от слова вообще. Уже только на это бы обратили внимание.

з.ы. я вот ковыряю панельку https://aliexpress.ru/item/1005006826025212.html?spm=a2g2w.orderdetail.0.0.68 854aa6mKafss&sku_id=12000038427272932

openPlc еще не пробовал на нее ставить, пока только RapidScada. крутится, опрашивает счетчик Пульсар.

iljael
06.09.2024, 16:38
ИПП120 если не ошибаюсь, это ПР200 без входов/выходов. А оно не умеет групповых запросов от слова вообще. Уже только на это бы обратили внимание.
з.ы. я вот ковыряю панельку [url]https://aliexpress.ru.
Мне не надо групповых запросов , одиночные по событию штук по 10 за цикл сойдут, ну а алик для нас не вариант.

melky
06.09.2024, 16:57
за цикл? вы не в себе :)

iljael
06.09.2024, 17:18
за цикл? вы не в себе :)

Обьяснитесь пожалуйста , или это оскорбление ?

Валенок
06.09.2024, 17:30
Мне не надо групповых запросов , одиночные по событию штук по 10 за цикл сойдут
О каком цикле речь?

iljael
06.09.2024, 18:05
О каком цикле речь?

Да это правильный вопрос , речь о одиночном цикле чтения за несколько циклов выполнения программы ,о чем я не упомянул. Да даже и если в каждом цикле выполнения программы , не принципиально.

iljael
06.09.2024, 18:07
за цикл? вы не в себе :)

1. 115000 бит.с / 10 бит (это один байт по 485 интерфейсу) = 11500 байт за секунду
2. 11500 байт / 15 байт в одном запросе-ответе целочисленном = 766 запрос-ответ в секунду
3. 766 з.от / 10 отдельных посылок = 76 ("груповых" по 10)посылок за 1000 милисек.
4. 1000милсек - (10м.с время реакции на запрос * 2 (запрос-ответ)) * 10 запросов = 800 миллисекунд остаётся для 76 групп запросов по 10 в группе
5. 800 / 76 = 10,5 раз в секунду можно отправить 10 посылок по 8 байт в каждой и получить на неё ответ из 7 байт ,
что удлиняет время цикла выполнения на (1000/10.5=) 95 миллисекунд что меня вполне устраивает.
Так что в себя надо приходить вам или обьяснить ваши слова.

Cs-Cs
06.09.2024, 18:14
В ПР так быстро Modbus работать НЕ будет. Время одного запроса будет равно около 100 мсек с голой программой.
А как только программа будет работать (особенно с циклами FOR), время опроса станет ещё реже.
В общем, три страницы темы потрачено на то, что ОВЕН != Другой контроллер, и не надо пытаться его заставить таким быть.

Валенок
06.09.2024, 18:16
с п.2 поскакали сферические кони (а может и п.1 выкатилось пони, 8n1 это не гарантия 10, некоторые так шпарят по 11..12 т.к. все равно есть старт-бит)
Не учтены задержки (если мы про rtu)
тугодумность слейвов неизвестная величина,
... неохота дальше
Вообщем 100 запросов в сек это идеал тута. Да и не тока тута.

Но как слейв ПР интересней. Отвечает на групповой запрос всех 64 регистров даже если не все 64 прописаны. 20мс на все.

Лучше бы задачу описали - и тут бы оценили, потянет или нет

iljael
06.09.2024, 18:29
В ПР так быстро Modbus работать НЕ будет. Время одного запроса будет равно около 100 мсек с голой программой.
А как только программа будет работать (особенно с циклами FOR), время опроса станет ещё реже.
В общем, три страницы темы потрачено на то, что ОВЕН != Другой контроллер, и не надо пытаться его заставить таким быть.

Да я понял , всем спасибо за подсказки и направления .
i'll be back !

iljael
06.09.2024, 19:05
с п.2 поскакали сферические кони (а может и п.1 выкатилось пони, 8n1 это не гарантия 10, некоторые так шпарят по 11..12 т.к. все равно есть старт-бит)
Не учтены задержки (если мы про rtu)
тугодумность слейвов неизвестная величина,
... неохота дальше
Вообщем 100 запросов в сек это идеал тута. Да и не тока тута.
Но как слейв ПР интересней. Отвечает на групповой запрос всех 64 регистров даже если не все 64 прописаны. 20мс на все.

Да в расчетах количества посылок по 485 лажанулся , не правильно посчитал задержки там в 4 пункте 200 мс для 10 одиночных посылок посчитано а не для 76 из 10 ну и дальше все ...
По использованию ИПП120 пока решаю . Спасибо за совет.

melky
06.09.2024, 19:10
Валенок, это из практики на ПР или на ПЛК? или теоретические выкладки для скоростей?

Ой, это наверное больше автору 😀

Вообще интересен выбор ипп120 чем обусловлен?
Был обусловлен? 😀

iljael
15.09.2024, 10:54
Подскажите с разной периодичностью вылетает из редактора ОЛ вот с этим:
78609

Проект не сохраняется что обидно.
Приходиться все заново запускать и восстанавливать что не сохранил !:(
Винда 7/32 .

melky
15.09.2024, 11:24
iljael переключите в режим OFFLINE внизу справа и попробуйте поработать так. Тоже вылетит?

iljael
15.09.2024, 11:33
iljael переключите в режим OFFLINE внизу справа и попробуйте поработать так. Тоже вылетит?

Попробую , но ОЛ даже без загруженного проекта так вылетает , позже напишу был вылет или нет.

iljael
18.09.2024, 05:34
iljael переключите в режим OFFLINE внизу справа и попробуйте поработать так. Тоже вылетит?

Да вы правы , если ставить галочку на OFFLINE то вылеты прекращаются , другой вопрос что с этим делать , переключая режим OFFLINE забываешь его потом включать и раза три четыре были обидные вылеты после длительного но несохранённого редактирования проекта .

kondor3000
18.09.2024, 11:27
Да вы правы , если ставить галочку на OFFLINE то вылеты прекращаются , другой вопрос что с этим делать , переключая режим OFFLINE забываешь его потом включать и раза три четыре были обидные вылеты после длительного но несохранённого редактирования проекта .

Привыкайте сохранять проект сразу после значительных изменений и сохранять как новую версию, а не в тот же проект.

iljael
18.09.2024, 12:00
Привыкайте сохранять .. а не в тот же проект.
А что были прецеденты с порчей проектов , или на всякий случай ?

МихаилГл
18.09.2024, 12:46
А что были прецеденты с порчей проектов , или на всякий случай ?

Очень много...

kondor3000
18.09.2024, 13:46
А что были прецеденты с порчей проектов , или на всякий случай ?

Вот у меня не было, а на форуме полно таких случаев. Наверно потому, что сохраняю проекты сразу.

Сергей0308
18.09.2024, 14:34
Вот у меня не было, а на форуме полно таких случаев. Наверно потому, что сохраняю проекты сразу.

Так это они то, в смысле, в своей криворукости, мягко выражаясь, пытаются(хотят) других обвинить, это я так думаю!

Rask
15.10.2024, 11:08
Да, опять попался))) обновился на 358, сегодня дернули слегка расширить функционал ПР103 на объекте. Там старенькая она, версию даже не помню. Залил, пуск - а ПЧ нет в сети. И так и сяк ну не как, два часа - понял, все, не в программе дело. Обновил под 359 (прочитал об прошивке 1.8.2). Запустилось - нет слов)))

Dron/9K
19.10.2024, 14:27
Скажите, а есть объяснение почему FTRIG - это по заднему фронту, а RTRIG - по переднему?
Логично было ведь ровно наоборот сделать - F - Front, R - Rear

kondor3000
19.10.2024, 15:06
Скажите, а есть объяснение почему FTRIG - это по заднему фронту, а RTRIG - по переднему?
Логично было ведь ровно наоборот сделать - F - Front, R - Rear

R_TRIG - Rising edge detector ( Детектор нарастающего фронта)

F_TRIG - Fall edge detector ( Детектор спадающего фронта)

stesel
21.10.2024, 13:34
Скажите, а есть объяснение почему FTRIG - это по заднему фронту, а RTRIG - по переднему?
Логично было ведь ровно наоборот сделать - F - Front, R - Rear

R - Rise, F - Fall

Evdoc
24.10.2024, 14:19
Подскажите.
Не возможность поменять целевую платформу с ПР205.1211.6 на ПР205.1211.2 - это баг или фича?

kondor3000
24.10.2024, 14:25
Подскажите.
Не возможность поменять целевую платформу с ПР205.1211.6 на ПР205.1211.2 - это баг или фича?

Пока нельзя, возможно позже сделают замену платформы. Пока открывайте рядом 2 проекта и переносите копипастом.

Evdoc
24.10.2024, 21:00
Пока нельзя, возможно позже сделают замену платформы. Пока открывайте рядом 2 проекта и переносите копипастом.

А экраны как перенести? Таблицу переменных?

Дмитрий Костюков
25.10.2024, 09:58
А экраны как перенести? Таблицу переменных?

Сначала копируйте логику.
Потом копируйте визуализацию. Экраны можно выделить все сразу(в окошке слева), скопировать и вставить.
Так и переменные перенесутся, и привязки к визуализации тоже.

Alexandr88
09.11.2024, 19:27
Здраствуйте. Подскажите пожалуйста почему в OL иногда (довольно часто виснет прога) прочитал выше отключить авто обнаружение прибора - стало реже, но теперь в момент загрузки бывает зависает или в момент вставки картинки когда программируешь ПР205й?
И еще вопрос, может кто сталкивался...
почему нельзя сделать сброс аварий на ПР205 кнопкой (прямоугольник, задаю через настройка действия , короткое нажатие "ок", авария сбрасывается, но кнопка "остается нажатой", или можно такое реализовать ТОЛЬКО через динамический текст? Может у кого-то есть решение через "бул" по типу кнопку "без фиксации", вот как реализовать кнопку без фиксации? (сформулировал ))) )
только учусь не кидайте камни сразу пожалуйста ...

kondor3000
09.11.2024, 19:39
Здраствуйте. Подскажите пожалуйста почему в OL иногда (довольно часто виснет прога) прочитал выше отключить авто обнаружение прибора - стало реже, но теперь в момент загрузки бывает зависает или в момент вставки картинки когда программируешь ПР205й?
И еще вопрос, может кто сталкивался...
почему нельзя сделать сброс аварий на ПР205 кнопкой (прямоугольник, задаю через настройка действия , короткое нажатие "ок", авария сбрасывается, но кнопка "остается нажатой", или можно такое реализовать ТОЛЬКО через динамический текст? Может у кого-то есть решение через "бул" по типу кнопку "без фиксации", вот как реализовать кнопку без фиксации? (сформулировал ))) )
только учусь не кидайте камни сразу пожалуйста ...

Лоджик бывает и зависает, не открывайте много проектов одновременно. Сохраняйтесь чаще.

По поводу кнопки, нужен сброс после включения переменной, например импульс на R-trig на 1 цикл или на таймере TP, на 1 сек. 79947

Alexandr88
09.11.2024, 19:59
Лоджик бывает и зависает, не открывайте много проектов одновременно. Сохраняйтесь чаще.

По поводу кнопки, нужен сброс после включения переменной, например импульс на R-trig на 1 цикл или на таймере TP, на 1 сек. 79947

Спасибо.
А по поводу кнопки, я так и сделал через TP, мне не понятно другое:
Я сделал кнопку сброс, при "нажатии" на ТР поступает "1" у меня происходит сброс всех аварий, но кнопка сброса остается нажатой, сейчас проверил, так и динамический текст тоже в "1" остается!!! как сделать что бы она возвращалась в "0"!? подскажите пожалуйста...

kondor3000
09.11.2024, 20:23
Спасибо.
А по поводу кнопки, я так и сделал через TP, мне не понятно другое:
Я сделал кнопку сброс, при "нажатии" на ТР поступает "1" у меня происходит сброс всех аварий, но кнопка сброса остается нажатой, сейчас проверил, так и динамический текст тоже в "1" остается!!! как сделать что бы она возвращалась в "0"!? подскажите пожалуйста...

Вы не кнопку значит сбрасываете, а аварию. Покажите на примере 1 аварии как вы делаете.

GeraZverev
10.11.2024, 06:05
... как сделать что бы она возвращалась в "0"!? подскажите пожалуйста...
Вот здесь https://owen.ru/forum/showthread.php?t=26216&p=450554&viewfull=1#post450554 смоделировал "сброс" кнопки.
И опять возник вопрос.

Inches
11.11.2024, 10:02
Здравствуйте. Подскажите плиз. Появилась необходимость подключить ПР103. Обновил ОвенЛоджик до 2.8.360.0, Открываю смотрю приборы, Нет 103 модификации. Всю голову сломал. Потом зашел на компе под админом, там открыл ОвенЛоджик, там есть 103! Как так ? подскажите плиз раньше не сталкивался с таким

kondor3000
11.11.2024, 10:25
Здравствуйте. Подскажите плиз. Появилась необходимость подключить ПР103. Обновил ОвенЛоджик до 2.8.360.0, Открываю смотрю приборы, Нет 103 модификации. Всю голову сломал. Потом зашел на компе под админом, там открыл ОвенЛоджик, там есть 103! Как так ? подскажите плиз раньше не сталкивался с таким

Обновляться надо тем, кто устанавливал программу и им же открывать проекты. В вашем случае админом.
Файлы в папке Owen Logic вы можете скопипастить, если надо, из документов админа в документы пользователя.

Inches
11.11.2024, 10:33
Спасибо, но я и устанавливал и обновлял под пользователем?!

kondor3000
11.11.2024, 10:34
Спасибо, но я и устанавливал и обновлял под пользователем?!

Нет, файлы по умолчанию устанавливаются в папку документы админа, поэтому вы и не видите ПР103

Inches
11.11.2024, 10:43
Так а что делать то? я работаю под пользователем. Программа пишет версия 2.8.360.0, а прибора 103 нет.

kondor3000
11.11.2024, 10:45
Так а что делать то? я работаю под пользователем. Программа пишет версия 2.8.360.0, а прибора 103 нет.
Выше всё было написано, учитесь читать не только 1 строчку.
Файлы в папке Owen Logic вы можете скопипастить, если надо, из документов админа в документы пользователя.

Inches
11.11.2024, 11:06
Выше всё было написано, учитесь читать не только 1 строчку.
Файлы в папке Owen Logic вы можете скопипастить, если надо, из документов админа в документы пользователя.

классно, спасибо, ......как?

Inches
11.11.2024, 14:08
Всем спасибо вопрос снимаю

Aleks Che
18.11.2024, 11:10
Всем добра. Недавно тут. Вчера пробовал накидать реверсивное управление электродвигателем и столкнулся с непонятными сложностями с блоком "Детектор переднего фронта". Если в одном варианте вставить сначала детектор и протянуть провода к входу и выходу, а в другом варианте сначала соединить вход и выход и потом вставить в "разрыв" провода детектор, то при пошаговой симуляции эти два варианта ведут себя по разному. Детекторы заднего фронта тоже по разному себя ведут в пошаговой симуляции в зависимости от очередности размещения на холсте. Другие блоки не проверял. Релиз 2.8.360.0


https://youtu.be/_SgRmtgpyPU


P.S. Разобрался вроде: Во втором случае "врезка в провод" только визуальна - блок перемещается отдельно от провода. Моя невнимательность. Сразу подумалось - а почему нет "автоматической" врезки блока при размещении его на проводе? Но это уже не относится к сути сообщения. Еще раз пардон. Учимся дальше

Сергей0308
19.11.2024, 20:08
Всем добра. Недавно тут. Вчера пробовал накидать реверсивное управление электродвигателем и столкнулся с непонятными сложностями с блоком "Детектор переднего фронта". Если в одном варианте вставить сначала детектор и протянуть провода к входу и выходу, а в другом варианте сначала соединить вход и выход и потом вставить в "разрыв" провода детектор, то при пошаговой симуляции эти два варианта ведут себя по разному. Детекторы заднего фронта тоже по разному себя ведут в пошаговой симуляции в зависимости от очередности размещения на холсте. Другие блоки не проверял. Релиз 2.8.360.0


https://youtu.be/_SgRmtgpyPU


P.S. Разобрался вроде: Во втором случае "врезка в провод" только визуальна - блок перемещается отдельно от провода. Моя невнимательность. Сразу подумалось - а почему нет "автоматической" врезки блока при размещении его на проводе? Но это уже не относится к сути сообщения. Еще раз пардон. Учимся дальше

Я когда то был поражён данной "схемой":

80201

Её один форумчанин выложил, Вы представляете как бы бахнуло(коротнуло), в подобных случаях если исполнить ваши желания?

Irida
27.11.2024, 17:27
Здравствуйте, уважаемые. Вопрос, возможно, обсуждался, кто знает - направьте.
Есть ФБ "Импульс включения заданной длительности (TP)". В описании (в справке) указано, что "Допустимый диапазон значений Тимп от 0 до 4147200000 мс". В свойствах самого ФБ масштаб времени начинается с секунд, миллисекунды нельзя выбрать, их просто нет. Программа допускает установку Тимп как числа с плавающей точкой, в свойствах можно задать 100 мс как 0,1с. Однако в этом случае невозможно использовать блок записи в ФБ, т.к. он работает только с целочисленными значениями, то есть в данном случае, с точностью до секунд. Принципиальное решение "в циклах" ПР у меня есть, но там время скорее "в попугаях", примерно только пересчитывается в мс, иногда требуется определенная величина времени.

1exan
27.11.2024, 17:30
С целочисленными - с точностью до 1 МИЛЛИСЕКУНДЫ

Irida
27.11.2024, 17:43
С целочисленными - с точностью до 1 МИЛЛИСЕКУНДЫ

ОК, подскажите, как там установить 500 мс, например, если единицы измерения времени в настройках ФБ можно выбрать из "сек", "мин", "час", "день".

1exan
27.11.2024, 17:54
ОК, подскажите, как там установить 500 мс, например, если единицы измерения времени в настройках ФБ можно выбрать из "сек", "мин", "час", "день".

Когда вы используете блок записи в ФБ - единицы измерения - мс, без вариантов

kondor3000
27.11.2024, 17:57
ОК, подскажите, как там установить 500 мс, например, если единицы измерения времени в настройках ФБ можно выбрать из "сек", "мин", "час", "день".

1 секунда - это 1000 мс, выставить 500 мс можно как 0.5 секунды. 1 мс - это 0.001 секунды
Если записывать время в таймер через WriteToFb, то записывать надо как 500.

Irida
27.11.2024, 18:33
1 секунда - это 1000 мс, выставить 500 мс можно как 0.5 секунды. 1 мс - это 0.001 секунды
Если записывать время в таймер через WriteToFb, то записывать надо как 500.

Да, я про это написала, можно мс указывать как тысячные доли секунд, OL допускает, не ругается. Но я предполагаю, что при подстановке из WriteToFb целочисленного значения, оно будет интерпретировано так, как указано в свойствах ФБ, минимально как секунды. Проверить на ПР нет возможности, поэтому тут спрашиваю

Irida
27.11.2024, 18:38
Когда вы используете блок записи в ФБ - единицы измерения - мс, без вариантов

Спасибо, проверю

kondor3000
27.11.2024, 18:41
Да, я про это написала, можно мс указывать как тысячные доли секунд, OL допускает, не ругается. Но я предполагаю, что при подстановке из WriteToFb целочисленного значения, оно будет интерпретировано так, как указано в свойствах ФБ, минимально как секунды. Проверить на ПР нет возможности, поэтому тут спрашиваю

Для этого ПР не нужен, запустите эмуляцию и всё видно будет. 80380

Irida
27.11.2024, 22:34
Спасибо всем за помощь. Для меня оказалось неочевидно, что параметр "Длительность импульса" задается по-разному в зависимости от способа ввода - через свойства или через блок записи в ФБ. В одном случае в комбинации с масштабом, в другом - в "исходных" единицах. Так себе инкапсуляция, после 25+ лет программирования на с++ такие вещи в принципе воспринимаются как "условно невозможные".

1exan
28.11.2024, 04:09
Спасибо всем за помощь. Для меня оказалось неочевидно, что параметр "Длительность импульса" задается по-разному в зависимости от способа ввода - через свойства или через блок записи в ФБ. В одном случае в комбинации с масштабом, в другом - в "исходных" единицах. Так себе инкапсуляция, после 25+ лет программирования на с++ такие вещи в принципе воспринимаются как "условно невозможные".

Это действительно неочевидно, но подозреваю, что в справке этот момент описан

Юрий_Влад
29.11.2024, 07:08
ПР102, проект в Owen Logic изменяю на экране, сохраняю проект. После этого загружаю в реле, а загружается старый вариант. Проект с изменениями загрузился только после перезапуска программы. Может я чего не так делаю?

master2113
03.12.2024, 09:59
Вчера на домашнем компьютере обновил OwenLogic до 2,8,361 причем спокойно с первого раза - как обычно. Сегодня на работе пытаюсь сделать тоже самое, но не могу. Пишет сообщение о загрузке файла с ошибкой.
80520
Соответственно проект который правил дома на работе открыть не могу. Это только у меня данная проблема или общий баг?

kondor3000
03.12.2024, 10:38
Вчера на домашнем компьютере обновил OwenLogic до 2,8,361 причем спокойно с первого раза - как обычно. Сегодня на работе пытаюсь сделать тоже самое, но не могу. Пишет сообщение о загрузке файла с ошибкой.
80520
Соответственно проект который правил дома на работе открыть не могу. Это только у меня данная проблема или общий баг?

Прямо сейчас обновился, всё работает. Но вы не спешите обновляться без причины, часто новые версии с багами.
У меня все версии отдельно, могу открыть любую из последних. А для проектов всегда держите копию в старой версии.

master2113
05.12.2024, 07:05
Спасибо за отклик. Разобрался. Проблема во внутренней сетке оказалась. Раздал интернет с телефона, все с первого раза обновилось.

ProRus
09.12.2024, 15:59
Верните функцию "Сохранить устройство ка шаблон" и "Тиражировать" в настройке прибора ПР103.
80651
80650

Путник
10.12.2024, 08:07
При открытии OL 2.8.362.0 без интернета возникает сообщение:
80661
На более ранних версиях такого не было.

Vadik39
12.12.2024, 00:11
Добрый день,
Подскажите можно ли надеятся, что в новом обновлении добавят возможность работать с битами в целочисленных переменных на языке ST, так как это реализовано в Codesys.
Речь идёт о возможности как извлекать, так и записывать бит в целочисленную переменную указав имя переменной, после чего ставится точка и указывается бит с которым надо работать (a:= example.bit0)?

1exan
12.12.2024, 04:06
Добрый день,
Подскажите можно ли надеятся, что в новом обновлении добавят возможность работать с битами в целочисленных переменных на языке ST, так как это реализовано в Codesys.
Речь идёт о возможности как извлекать, так и записывать бит в целочисленную переменную указав имя переменной, после чего ставится точка и указывается бит с которым надо работать (a:= example.bit0)?

Возможность обратиться к биту целочисленной переменной через точку, указав номер бита есть в OL и сейчас. А то, что в вашем примере - и в кодесисе вроде как работает, только если bit0 - это константа

kondor3000
12.12.2024, 08:08
Добрый день,
Подскажите можно ли надеятся, что в новом обновлении добавят возможность работать с битами в целочисленных переменных на языке ST, так как это реализовано в Codesys.
Речь идёт о возможности как извлекать, так и записывать бит в целочисленную переменную указав имя переменной, после чего ставится точка и указывается бит с которым надо работать (a:= example.bit0)?

В каждом втором примере, на ST есть извлечение и упаковка бит через точку. https://owen.ru/forum/showthread.php?t=38920&page=2#13

p_dima90
12.12.2024, 10:55
Добрый день!
Подскажите, пожалуйста, не могу сохранить проект - скрины в приложении.
При всем при этом, день нормально отлаживалась программа, проблем не было, день закончился, нажал кнопку сохранить и вот:
Если нажать кнопку "Сохранить" - скрин №1
Если нажать кнопку "Сохранить проект как" - скрин №1

Vadik39
12.12.2024, 14:01
В каждом втором примере, на ST есть извлечение и упаковка бит через точку. https://owen.ru/forum/showthread.php?t=38920&page=2#13

Искренне обнимаю и жму руку, на форуме это не находил, а в справке увы не описано.

А оказывается все очень даже просто, пиши имя переменной, ставь после точку и номер бита и присваивай. Кайф!

Ollema
12.12.2024, 17:26
Так ST и для меня истинный кайф в ПР.
Недавно пришлось старый проект переделывать. Открыл функциональный блок и закрыл испугавшись. Удалил нафиг и все описал строчками кода. А входов там 450 штук, да и выходов не на много меньше. Excel здорово помогла автоматизировать набор переменных.

IVM
12.12.2024, 17:29
Так ST и для меня истинный кайф в ПР.
Недавно пришлось старый проект переделывать. Открыл функциональный блок и закрыл испугавшись. Удалил нафиг и все описал строчками кода. А входов там 450 штук, да и выходов не на много меньше. Excel здорово помогла автоматизировать набор переменных.

Как Excel помогла автоматизировать набор переменных ?

kaftanati
12.12.2024, 17:49
Excel вообще весьма универсальный инструмент. Я в последнее время почти любую программу начинаю с заполнения самодельного генератора регистров, который:

1. Позволяет собрать по шаблонам группы объектов управления (насосы, датчики, фильтры и т.д.)
2. Составить шаблонно связанные регистры - с автоматическим назначением адреса/номера бита/единиц измерений и т.п.
3. На выходе - готовые таблицы для импорта в панель Weintek (как регистров так и журналов событий/аварий)
4. На выходе - готовые таблица с json для импорта в OwenCloud (вот прям 300-800 регистров/тегов/битов с текстовым описанием/текстовым подстановкой/единицами/коэффициентами и т.п., разложенными по подпапкам)
5. На выходе - готовая таблица регистров управления/диспетчеризации в приложения к шкафу / заказчику/подрядчику.
6. Жду импорта переменных для ПР205/103 чтоб и туда сразу махом все подтягивать. Но пока разработчики OL завтраками кормят.
7. Разбираюсь (но это не точно) как в MasterScada подтянуть, но чую, что сходу не получится.

Есть замысел эту таблицу таки превратить в отдельную программу со встроенной БД и... но пока это только замысел

1exan
12.12.2024, 18:31
Excel вообще весьма универсальный инструмент. Я в последнее время почти любую программу начинаю с заполнения самодельного генератора регистров, который:

1. Позволяет собрать по шаблонам группы объектов управления (насосы, датчики, фильтры и т.д.)
2. Составить шаблонно связанные регистры - с автоматическим назначением адреса/номера бита/единиц измерений и т.п.
3. На выходе - готовые таблицы для импорта в панель Weintek (как регистров так и журналов событий/аварий)
4. На выходе - готовые таблица с json для импорта в OwenCloud (вот прям 300-800 регистров/тегов/битов с текстовым описанием/текстовым подстановкой/единицами/коэффициентами и т.п., разложенными по подпапкам)
5. На выходе - готовая таблица регистров управления/диспетчеризации в приложения к шкафу / заказчику/подрядчику.
6. Жду импорта переменных для ПР205/103 чтоб и туда сразу махом все подтягивать. Но пока разработчики OL завтраками кормят.
7. Разбираюсь (но это не точно) как в MasterScada подтянуть, но чую, что сходу не получится.

Есть замысел эту таблицу таки превратить в отдельную программу со встроенной БД и... но пока это только замысел

C экспортом в МастерСкаду (4D) тоже можно такое провернуть - не сложнее, чем в вайнтек.
С модбасом это так выглядит - в дерево скады добавляется протокол и устройство, потом двойным кликом на устройстве открывается окно импорта-экспорта. Формат файлов - Excel.
80754
На других протоколах думаю аналогично должно быть

Cs-Cs
13.12.2024, 15:30
kaftanati Молодец! Отлично! Я ща такое решение встраиваю в свою базу 1Ски. Будет генерить:
* Расчёт мощностей блоков питания
* Список синалов IO и код для них по шаблонам
* Карты регистров и код для них по шаблонам

abaklazhov
25.12.2024, 22:52
После обновления OWEN Logic при редактировании ST постоянно вываливается ошибка, даже когда просто правишь комментарии 81001 Не подскажете как исправить?

b-s-a
31.12.2024, 16:10
Только меня смущает качество отображения чисел с плавающей точкой в среде Owen Logic?

Если там используются стандартные float, то точность отображения должна быть порядка 6 знаков (пример: 123.456, 1.00000). Сейчас же если число не выводится в формате 1 или 1.0, то сразу начинает выводиться в научном формате: 8.33E+00. Вопрос, зачем?!? Вы так показываете округление? Предлагаю или сделать на галочке, или просто сразу отображать нормально: если число в обычном десятичном формате занимает не более 8 символов (с учетом десятичной точки/запятой), то в нем и выводить. При таком алгоритме возможны проблемы с числами по модулю меньше 1, но тут можно просто до E-03 выводить в обычной форме.

А то отлаживаешь, а у тебя все цифры скачут в разные стороны.

Cs-Cs
31.12.2024, 20:32
b-s-a Меня на смущает. Меня БЕСИТ просто, потому что мне непривычен формат с E+xx. Я его видел в начале 00ых годов в институте и сейчас в OwenLogic.

b-s-a
01.01.2025, 15:31
Ничего не имею против него. Это научный формат. Мы в институте, обычно, писали 0,1234*10^-6, но 0.1234e-6 несколько лаконичней. Этот формат очень удобен для сохранения необходимой точности вычислений: нельзя написать 10*9.8*3.1415926=307.8760748 - надо писать 0.31e+3, так как исходные данные имеют минимальную точность 2 знака. В науке это важно...

Но вся эта херня не имеет отношения к OwenLogic, так как здесь ограничения по точности накладывает только битовая разрядность переменных. Я посмотрел представление OL - в научном формате число занимает 8 символов: 3 значащих знака, десятичная запятая, буква E, знак степени и две цифры степени. Поэтому можно спокойно писать числа до миллиона в нормальном виде, более миллиона в научном, с шагом экспоненты 3: 1.23, 12.3, 123, 1230, 12300, 123000, 1.23е+06, 12.3е+06, 123е+06, 1.23е+09... Аналогично для чисел меньше 1: 0.123, 0.0123, 0.00123, 123е-06, 12.3е-06, 1.23е-06, 123е-09... Почему так? Во-первых, близкие числа не будут так часто скакать между экспонентами - а то смотришь, параметр должен расти, а он на первый взгляд в 10 раз уменьшается, это только потом, если успеваешь, можно разобрать изменение экспоненты. Во-вторых, наиболее популярные значения будут в интуитивно понятном виде. В-третьих, когда присутствует экспонента, она сразу совместима со стандартными размерностными приставками (микро, мега...).

Если так нельзя, то хотя бы всегда отображать float в научном формате с шагом экспоненты 3: 0.123e+03, 1.23e+03, 12.3e+03, 0.123e+06... и 12.3e+00, 1.23e+00, 0.123e+00, 12.3e-03, 1.23e-03...

Cs-Cs
01.01.2025, 15:56
В науке - пусть. Меня бесит, когда я пишу числовую константу типа 4294967295 (0xFFFFFFFF) и вижу там этот формат.

АРТ.Кар 64
01.01.2025, 19:44
Если так нельзя, то хотя бы всегда отображать float в научном формате с шагом экспоненты 3: 0.123e+03, 1.23e+03, 12.3e+03, 0.123e+06... и 12.3e+00, 1.23e+00, 0.123e+00, 12.3e-03, 1.23e-03.

Не спорю. Но насколько помнится( могу и ошибаться),что мантисса всегда должна принимать значение от 1 до 10..
Но как написать мантиссу-тоже регламентируется.(стандартизуется).

1.23e+03,

Вот это правильно.

Сергей0308
01.01.2025, 20:05
Мантисса должна быть от 1 до 10, называется стандартный вид числа, изучается в 8 классе школы:
https://math-prosto.ru/ru/pages/standard_form_number/standard_form_number/
https://nsportal.ru/shkola/algebra/library/2012/12/17/urok-algebry-v-8-klasse-standartnyy-vid-chisla
https://ege-study.ru/ru/oge/materialy/matematika/standartnyj-vid-chisla/?utm_num_popup=3

АРТ.Кар 64
01.01.2025, 20:38
Сергей.
Читать такую массу полезной информации 1-го числа Наступившего года как-то несвоевременно..Но хочется сказать ,что хорошо хоть то ,что числа отображаются в "десятичном формате",если бы в "двоичном"-то вообще бы "задолбались".
Но про то ,что нужно что-то в существующей "редакции менять" так и осталось для меня "тайной за 7-ю печатями".

melky
01.01.2025, 21:12
всего-то достаточно сделать настройку как отображать числа float. и сколько знаков после запятой. При программировании той же вентиляции как-то глубоко пофигу на E+, достаточно и 2-х знаков.

всегда ставлю макросы округления и не парюсь. Но ведь можно было обойтись и без макросов.

Cs-Cs
02.01.2025, 10:06
Да. Я не хочу изучать математику и все эти мантиссы и какие-то ерунды. Мне это не нравилось и не нравится. И когда пишут что-то типа 2.08E-2 я буду дико тупить, потому что не знаю (и не хочу знать), как это ввести в калькулятор Windows чтобы получить понятное число.
Поэтому не надо тут всякой школы и высшей математики. Я наелся этим по горло. Я хочу программировать и видеть свои цифры, а не в ВУЗ играть. Фу.

АРТ.Кар 64
02.01.2025, 12:12
Если это шутка-то это просто классная шутка!
Такое чувство,что число с "плавающей точкой" Вы стараетесь подменить на число с "фиксированной точкой"
Тогда числу "плыть" будет некуда и при "математических вычислениях" Вы очень проиграете в точности.
Либо придётся округлять.

всегда ставлю макросы округления и не парюсь.

Всё совершенно правильно.(Чуть не написал "С лёгким паром!")
А то ,что удобно-я не спорю. Но "машина" вычисляет именно так ,как и "затеяно" в ОЛ.

81099

А когда вы что-то проверяете,то в любом случае получается "более понятливее". Впрочем убрать "целый пласт курса за 8 класс" и отпустить учеников на каникулы- это тоже не плохо.

b-s-a
02.01.2025, 14:35
Дело не в том, что кто-то курс пропустил. А в том, что это дико не удобно, когда у тебя при отладке значения прыгают 9,82 -> 1,01e+01 -> 9,93 -> 1,12e+01...

Сергей0308
05.01.2025, 12:33
Дело не в том, что кто-то курс пропустил. А в том, что это дико не удобно, когда у тебя при отладке значения прыгают 9,82 -> 1,01e+01 -> 9,93 -> 1,12e+01...

Хотя бы прочитали, для чего нужен(используют) стандартный вид числа, короче, если кратко, как раз для удобства и используют!!!

1exan
06.01.2025, 13:38
Если с шифтом перетащить переменную на вход блока - можно получить такую интересную конструкцию:
81150
И наверное это всё же баг, а не фича

Dimensy
06.01.2025, 13:54
Если с шифтом перетащить переменную на вход блока - можно получить такую интересную конструкцию:
81150
И наверное это всё же баг, а не фича

Попробовал, ругается

81151

1exan
06.01.2025, 15:38
Попробовал, ругается



Когда я случайно так сделал - написал "Ошибка компиляции".
Пробовал специально на пустом проекте - он даже запустился в эмуляции/

Похоже, что компилятор это понимает как то, что переменная подключена одновременно ко входу и к выходу блока

b-s-a
10.01.2025, 10:58
Хотя бы прочитали, для чего нужен(используют) стандартный вид числа, короче, если кратко, как раз для удобства и используют!!!

я не спорю про удобство. Вот только это удобство возникает при унификации вывода. Опять же, 0.00000001 выглядит хуже, чем 1.0e-8, но 0.01e-6 выглядит еще лучше, хоть и не соответствует стандарту. Но проблема не в этом, а в том, что при отладке числа на блоках постоянно меняют способ отображения. То стандартный, то простая десятичная дробь, то экспонента меняется. Постоянно меняются порядки. Ну, невозможно адекватно оценивать числа, когда они ежесекундно меняются так: 9,82 -> 1.01e+01 -> 1.23e+02... Здесь не научная статья, а представление чисел должно быть максимально удобно для анализа. Вот я и предложил форматировать следующим образом: 0,752 -> 9,82 -> 10,1 -> 123,0 -> 1,05e+03... Т.е. экспоненты кратны 3-м например. Это дает, что близкие значения очень редко меняют экспоненту (кстати, даже эти изменения тоже можно сократить - например, если текущая экспонента всего на 1 отличается от предыдущей кратной 3, то использовать предыдущую). Наиболее популярные значения в тысячных долях в пределах тысячи представляются в виде классической десятичной дроби (0,001 ... 999,999). Это очень удобно для разработчика схем в OL, и сделать это не сложно для программистов.

Если ну принципиально хочется стандартное отображение, то никто не запрещает отказаться от простого вида в пользу 1,000e+00. Но только с сохранением кратности порядков, чтобы скакания не было, а то полумера получается.

Traveller
29.01.2025, 09:24
Всем доброго времени суток!
Я надеюсь этот форум читают разработчики данного софта. :)
Возможно я сейчас задам очень глупый вопрос, но тем не менее. Почему в данной программе нет функции скажем так описания проекта, вернее что то подобное есть "Сведения о проекте", но там нет текстового поля куда я смог бы руками написать те изменения которые я в нес в текущую версию программы, что бы я ее скажем открыл через полгодика и смог понять что там было изменено, сейчас приходится все это впихивать в имя файла, что не айс, не понимаю, неужели так трудно добавить текстовое поле, что бы можно было за комментировать какие нить детали, не, я понимаю, эти комменты можно по на вставлять в саму схему проекта, но я не хочу перегружать поле избыточной информацией.
В общем сейчас это выглядит вот так:
81623
81624
Но хотелось бы что бы это выглядело примерно так, как в Zelio Logic:
81625
Это трудно сделать? :)

Rask
29.01.2025, 11:07
Всем доброго времени суток!
Я надеюсь этот форум читают разработчики данного софта. :)
Возможно я сейчас задам очень глупый вопрос, но тем не менее. Почему в данной программе нет функции скажем так описания проекта, вернее что то подобное есть "Сведения о проекте", но там нет текстового поля куда я смог бы руками написать те изменения которые я в нес в текущую версию программы, что бы я ее скажем открыл через полгодика и смог понять что там было изменено, сейчас приходится все это впихивать в имя файла, что не айс, не понимаю, неужели так трудно добавить текстовое поле, что бы можно было за комментировать какие нить детали, не, я понимаю, эти комменты можно по на вставлять в саму схему проекта, но я не хочу перегружать поле избыточной информацией.
В общем сейчас это выглядит вот так:
81623
81624
Но хотелось бы что бы это выглядело примерно так, как в Zelio Logic:
81625
Это трудно сделать? :)
И по возможности добавить в меню прибора название загруженного проекта.
то, есть которое дал ему программист - к примеру v1_2901_itog/
Чтобы при возможном обновление, залез и увидел, базу которую загрузил.

Traveller
29.01.2025, 11:42
И по возможности добавить в меню прибора название загруженного проекта.
то, есть которое дал ему программист - к примеру v1_2901_itog/
Чтобы при возможном обновление, залез и увидел, базу которую загрузил.Кстати да, тоже не хватает этой информации, выгрузить же ничего нельзя, так хоть знать что там загружено!

Dimensy
29.01.2025, 12:06
И по возможности добавить в меню прибора название загруженного проекта.
то, есть которое дал ему программист - к примеру v1_2901_itog/
Чтобы при возможном обновление, залез и увидел, базу которую загрузил.
В ПР200 вы сможете посмотреть в системном меню то, что забили на вкладке алгоритм.
В ПР100 и 102 - куда вы залезете чтобы посмотреть название?
В ПР103 и ПР205 скорее всего, сможете через конфигуратор глянуть что вы на вкладке Алгоритм забили

Traveller
29.01.2025, 13:40
В ПР200 вы сможете посмотреть в системном меню то, что забили на вкладке алгоритм.
Ну хоть что то, но все равно хотелось бы что бы было поле куда можно забить более подробную информацию

В ПР100 и 102 - куда вы залезете чтобы посмотреть название?Ну вот это плохо, не знаю может для кого то и хорошо, что в реле можно только залить, а прочитать уже ничего нельзя, какая то инфа все равно должна считываться...

Dimensy
29.01.2025, 15:37
Ну хоть что то, но все равно хотелось бы что бы было поле куда можно забить более подробную информацию
Ну вот это плохо, не знаю может для кого то и хорошо, что в реле можно только залить, а прочитать уже ничего нельзя, какая то инфа все равно должна считываться...

В общем, кое-какую информацию по ПР200 и ПР102 можно в Лоджике посмотреть
81630
По ПР103 и ПР205, как я уже говорил, скорее всего, в конфигураторе надо смотреть
ПР100 пролетает.

Почему так сделано - программистов из Овен умом не понять, они на какой-то другой планете живут

melky
29.01.2025, 15:47
ага, в каком-нибудь Цинь-Дзяне :)

FPavel
29.01.2025, 20:11
ПР200, кажется не очень давно, "подружили" с OwenConfigurator. Там можно подключиться к ПР200 в любой момент и посмотреть эти данные.
Не очень уверен, но при включении питания или в системном меню была возможность увидеть на экране сведения об алгоритме.

Если будет поле "Комментарии", доступные только в среде разработки - будет неплохо, я бы нашёл им применение.
Хотя, для ведения реестра изменений, лучше пользоваться чем-то независимым от среды разработки и более распространённым, чтобы представитель эксплуатации после прочтения выдал на руки самую свежую версию.

Vadik39
03.02.2025, 15:46
Добрый день,
Писал в поддержку, решил продублировать сюда.
Использую битовые маски. Для комфортной работы с битами состояния извлекаю их из целочисленной маски и присваиваю ячейкам булевого массива.
Чтобы не делать жесткое присвоение (arrayB[0]:= udintVar.0) решил прогнать целочисленное значение циклом FOR смещая бит в право и записывая его в каждую ячейку массива.
Выглядит следующим образом:
var_input
udintVar: udint;// битовая маска
end_var

var
udintArray: array [0..15] of bool; // булевый массив для записи каждого из битов состояния
selectIn: udint; // итератор цикла
end_var


for selectIn := 0 to 15 do
udintVar:= shr(udintVar,selectIn);
udintArray[selectIn]:= udintVar.0;

end_for

В итоге провожу тест:
целочисленное 1 = bit0 true
целочисленное 2 = bit1 true
целочисленное 3 = bit0 true и bit1 true
целочисленное 4 = все биты 0, вместо того, чтобы bit2 был true.

Соответственно все, что больше 4 в десятичном виде, уже откровенно не совпадает с действительность.
Сделал подобное при помощи FBD SHR и EXTRACT и все работает корректно, а в рамках ST не работает.
Либо я делаю что-то неверно, либо это баг.

kondor3000
03.02.2025, 15:58
Соответственно все, что больше 4 в десятичном виде, уже откровенно не совпадает с действительность.
Сделал подобное при помощи FBD SHR и EXTRACT и все работает корректно, а в рамках ST не работает.
Либо я делаю что-то неверно, либо это баг.

А где переменные выхода? Или вы функцию сделали?

Vadik39
03.02.2025, 16:06
А где переменные выхода? Или вы функцию сделали?

Здесь не указывал, так как тестировал алгоритм.
Тестировал с 16 булевыми переменными выхода.

Dimensy
03.02.2025, 16:38
Добрый день,
Писал в поддержку, решил продублировать сюда.
Использую битовые маски. Для комфортной работы с битами состояния извлекаю их из целочисленной маски и присваиваю ячейкам булевого массива.
Чтобы не делать жесткое присвоение (arrayB[0]:= udintVar.0) решил прогнать целочисленное значение циклом FOR смещая бит в право и записывая его в каждую ячейку массива.
Выглядит следующим образом:
var_input
udintVar: udint;// битовая маска
end_var

var
udintArray: array [0..15] of bool; // булевый массив для записи каждого из битов состояния
selectIn: udint; // итератор цикла
end_var


for selectIn := 0 to 15 do
udintVar:= shr(udintVar,selectIn);
udintArray[selectIn]:= udintVar.0;

end_for

В итоге провожу тест:
целочисленное 1 = bit0 true
целочисленное 2 = bit1 true
целочисленное 3 = bit0 true и bit1 true
целочисленное 4 = все биты 0, вместо того, чтобы bit2 был true.

Соответственно все, что больше 4 в десятичном виде, уже откровенно не совпадает с действительность.
Сделал подобное при помощи FBD SHR и EXTRACT и все работает корректно, а в рамках ST не работает.
Либо я делаю что-то неверно, либо это баг.

У вас проблема здесь: udintVar:= shr(udintVar,selectIn);
Вы сдвигаете на бит и запоминаете число, потом в этом новом числе вы сдвигаете на два бита и т.д.

В общем,

var //объявление локальных переменных
bitArray : array [0..15] of bool;
flag : udint;
i : udint;
end_var

for i := 0 to 15 do
flag := shr(bitMask, i);
bitArray[i] := flag.0;
end_for

Vadik39
03.02.2025, 16:43
У вас проблема здесь: udintVar:= shr(udintVar,selectIn);
Вы сдвигаете на бит и запоминаете число, потом в этом новом числе вы сдвигаете на два бита и т.д.

В общем,

var //объявление локальных переменных
bitArray : array [0..15] of bool;
flag : udint;
i : udint;
end_var

for i := 0 to 15 do
flag := shr(bitMask, i);
bitArray[i] := flag.0;
end_for

Точно, упустил момент.
Спасибо. Добавил переменную для смещенных битов и все работает.

Спасибо за консультацию. Хорошего дня:)

1exan
05.02.2025, 12:47
Почему в окне слейв-сетевых переменных нет столбца "Использование в проекте" как на вкладке с обычными переменными?
Причём в слейв переменных это более важно, т.к. неподключенные сетевые переменные "выпадают" из области памяти слейва и напрочь рушат весь опрос мастера.
Вот и сидишь тычешь в каждую переменную списка, проверяя наличие ссылок на неё - просто капец как удобно.

Или сделайте так, чтобы все объявленные слейв-сетевые переменные были доступны для опроса, независимо от участия их в схеме

SmSerg
06.02.2025, 13:16
Добрый день.
При выполнении арифметического действия в программе (вычитание), в разных строчках программы переменная имеет разное значение, меньше на 1. При этом с переменной в этом месте программы ни каких действий не производится.
Пробовал переносить строчку в разные места программы, удалял и из новых компонентов писал строчку, ни чего не помогает. Эта ошибка проявляется как при выполнении программы в контроллере, так и в режиме симулятора.
Прошу подсказать, где ошибка.

81804

Среда разработки Овен Лоджик 2.8.362.0
ПР103-24.1610.03.X.0

kondor3000
06.02.2025, 13:27
Добрый день.
При выполнении арифметического действия в программе (вычитание), в разных строчках программы переменная имеет разное значение, меньше на 1. При этом с переменной в этом месте программы ни каких действий не производится.
Пробовал переносить строчку в разные места программы, удалял и из новых компонентов писал строчку, ни чего не помогает. Эта ошибка проявляется как при выполнении программы в контроллере, так и в режиме симулятора.
Прошу подсказать, где ошибка.

Среда разработки Овен Лоджик 2.8.362.0
ПР103-24.1610.03.X.0

Вы в пошаговом режиме смотрите, так выходная переменная уже получила новое значение, а входная получит в следующем цикле.
А вообще вычитание (любое действие) надо делать в одном месте, а не в 3 как у вас, на пол страницы размахали вместо 2 элементов.
Либо вы просто перемудрили в программе, тогда выкладывайте проект.

SmSerg
06.02.2025, 14:51
делал и в пошаговом и в непрерывном цикле видно, что из-за разницы значений уменьшается общий результат вычислений.
То что сделано на несколько шагов, на скриншоте видно, что одна и таже переменная имеет разные значения. Так быть не должно.
Столько много действий - пытался выловить почему происходит ошибка.
Куда выложить проект?

kondor3000
06.02.2025, 15:01
делал и в пошаговом и в непрерывном цикле видно, что из-за разницы значений уменьшается общий результат вычислений.
То что сделано на несколько шагов, на скриншоте видно, что одна и таже переменная имеет разные значения. Так быть не должно.
Столько много действий - пытался выловить почему происходит ошибка.
Куда выложить проект?

В расширенном режиме, значок добавить файл, прямо здесь.

capzap
06.02.2025, 15:03
делал и в пошаговом и в непрерывном цикле видно, что из-за разницы значений уменьшается общий результат вычислений.
То что сделано на несколько шагов, на скриншоте видно, что одна и таже переменная имеет разные значения. Так быть не должно.
Столько много действий - пытался выловить почему происходит ошибка.
Куда выложить проект?

пока на скрине всё логично, сперва считается разность, далее идет селектор который присваивает переменной Уменьшаемое значение из переменной СумматорРасходомерСмолы 81805

SmSerg
06.02.2025, 15:09
Прикладываю проект

SmSerg
06.02.2025, 15:12
пока на скрине всё логично, сперва считается разность, далее идет селектор который присваивает переменной Уменьшаемое значение из переменной СумматорРасходомерСмолы 81805

Одна и таже переменная имеет разные значения.
Результат одной и той же операции разный.

kondor3000
06.02.2025, 15:18
Прикладываю проект

Всё как и сказал, работа не синхронизирована, выходы уже получили число 25, а входы (где число 24) получат в следующем цикле.
Но 1 шаг сделать нельзя, потому что счётчик насчитает ещё 25, до 50.

Вот смотрите, период BLINK увеличил с 2 мс до 200, сразу стало видно, 81807
что у вас периодически уменьшаемое, становится меньше вычитаемого

А если поставить 20 мс, то через раз переменные становятся равны, то есть на вход успевает записаться число. 81808
А через раз также разница в 1.

capzap
06.02.2025, 15:22
Одна и таже переменная имеет разные значения.
Результат одной и той же операции разный.



COUNT := 0; // чему равно значение переменной?
COUNT := COUNT + 1; // а сейчас чему равно значение этой же переменной?
здесь нет одной и той же операции, есть последовательное выполнение каких либо операций

SmSerg
06.02.2025, 16:06
Вот смотрите, период BLINK увеличил с 2 мс до 200, сразу стало видно, 81807
что у вас периодически уменьшаемое, становится меньше вычитаемого



Вот за это Спасибо.
У меня не проявлялась эта ошибка

SmSerg
06.02.2025, 16:08
Всё как и сказал, работа не синхронизирована, выходы уже получили число 25, а входы (где число 24) получат в следующем цикле.
Но 1 шаг сделать нельзя, потому что счётчик насчитает ещё 25, до 50.



У меня на столе стоит ПР103.
Загружаю в него программу. Смотрю не в режиме отладки, а в реальном времени идет суммирование.
Если суммировать результат с разных строчек итога вычитания, то получаются разные результаты. Здесь дело не в шагах симулятора.

kondor3000
06.02.2025, 16:10
Вот за это Спасибо.
У меня не проявлялась эта ошибка

Но дело не в этом, при 2 мс всё работает, а разные числа из за отсутствия синхронизации. 81810
Вот скрин, перенёс Разность -1 и Разность в одно место и всё чётко считает

SmSerg
06.02.2025, 16:26
81812
Есть счет еще в одном месте, выделил зеленым.
Так же считает правильно.
Красным выделил, где считает неправильно.
Думаю вопрос не в шагах симулятора, т.к. в режиме реального времени на ПР103 эта ошибка так же проявляется.
На одном проходе программы эти строки должны были посчитаться одинаково. Если они не считаются одинаково, то как можно сказать, что в ходе работы оно будет считаться правильно.
Где здесь ошибка.

1exan
06.02.2025, 17:27
81812
Есть счет еще в одном месте, выделил зеленым.
Так же считает правильно.
Красным выделил, где считает неправильно.
Думаю вопрос не в шагах симулятора, т.к. в режиме реального времени на ПР103 эта ошибка так же проявляется.
На одном проходе программы эти строки должны были посчитаться одинаково. Если они не считаются одинаково, то как можно сказать, что в ходе работы оно будет считаться правильно.
Где здесь ошибка.

Это не ошибка - это вопрос последовательности обработки ФБ (которая в OL устанавливается по своим алгоритмам и никак не отображается к сожалению).
Там где у обведено красным - подключите вместо переменной "Уменьшаемое" непосредственно выход блока SEL и все будет считаться так. как ожидаете

kondor3000
06.02.2025, 17:36
Красным выделил, где считает неправильно.
Где здесь ошибка.

Выше скрин уже выложил, и перенёс туда, где считает правильно

stesel
06.02.2025, 23:11
Это не ошибка - это вопрос последовательности обработки ФБ (которая в OL устанавливается по своим алгоритмам и никак не отображается к сожалению).
Там где у обведено красным - подключите вместо переменной "Уменьшаемое" непосредственно выход блока SEL и все будет считаться так. как ожидаете

Я заметил что выполняется в той последовательности, в которой добавлялись блоки.

dimon_ag
07.02.2025, 08:15
Обновление 2.9 Перестало работать быстрое копирование имен переменных Ctrl С - Ctrl V.
Пришлось откатиться на последнею 2.8. Вбивать полностью имя для каждой новой переменной, крайне не удобно.

kondor3000
07.02.2025, 08:41
Обновление 2.9 Перестало работать быстрое копирование имен переменных Ctrl С - Ctrl V.
Пришлось откатиться на последнею 2.8. Вбивать полностью имя для каждой новой переменной, крайне не удобно.

Проверил, вставка Ctrl С - Ctrl V нормально работает. Вставляет и текст и блоки.
А ещё, Реализован режим симуляции кода для языка ST, теперь можно в работе тестировать 81819

dimon_ag
07.02.2025, 09:23
Проверил, вставка Ctrl С - Ctrl V нормально работает. Вставляет и текст и блоки.
А ещё, Реализован режим симуляции кода для языка ST, теперь можно в работе тестировать 81819

Еще раз попробовал. Блоки нормально, текст не копируется вообще никак. В 2.8 нет проблем. Значит баг в проге. Не под все компы идет.

kondor3000
07.02.2025, 09:55
Еще раз попробовал. Блоки нормально, текст не копируется вообще никак. В 2.8 нет проблем. Значит баг в проге. Не под все компы идет.

Где у вас не копируется? Скрином покажите
Вот мой скрин, накопировал блоков и текста без проблем 81820

dimon_ag
07.02.2025, 10:03
Ютуб не работает. Как же все бесит!!!:(
Ладно. Работаем в 2.8 ждем следующего обновления. Но на этом ноуте я с 2020 работаю, ни с одним обновлением такого не было.

Dimensy
07.02.2025, 11:28
Версия 2.9. Идея распределить переменные по папкам хорошая, но невозможность свернуть эти папки в панели переменных сводит на нет эту идею
81829

Cs-Cs
07.02.2025, 12:41
Версия 2.9. Идея распределить переменные по папкам хорошая, но невозможность свернуть эти папки в панели переменных сводит на нет эту идею
81829 Я разочарован! Это не то, что я ожидал, и не то окно, как я его представлял, когда мы с Максимом Денисовым всё обсуждали.
Попробуй ради интереса нажать + и - на NumPad'е, когда курсор будет стоять на папке в дереве.
Если это стандартный контрол "Дерево", то он должен такие кнопки обрабатывать штатно, даже если плюсиков нет.

dimon_ag
08.02.2025, 09:42
Ужас какой то а не обновление. Ошибка драйвера! Не могу связаться с ПР200.
Что натворили??? Было же все нормально.81850
2 часа уже на объекте бьемся. До обновы все в норме было.
Разрабы что делать то?
Полный снос и переустановка не помогли!!!

dimon_ag
08.02.2025, 11:21
Тишина в эфире.
Всем спасибо. Ноут сел. Обнова суа=пер. Нихрена не получилось, ОВЕН как всегда на высоте. Едем на базу.

Тимур Назарбоев
10.02.2025, 11:37
Ужас какой то а не обновление. Ошибка драйвера! Не могу связаться с ПР200.
Что натворили??? Было же все нормально.81850
2 часа уже на объекте бьемся. До обновы все в норме было.
Разрабы что делать то?
Полный снос и переустановка не помогли!!!

Добрый день, попробуйте отключить цифровую подпись драйверов. Пример: https://remontka.pro/disable-drivers-signature-check-windows-10/

Khedron
10.02.2025, 12:20
Ужас какой то а не обновление. Ошибка драйвера! Не могу связаться с ПР200.
Что натворили??? Было же все нормально.81850
2 часа уже на объекте бьемся. До обновы все в норме было.
Разрабы что делать то?
Полный снос и переустановка не помогли!!!
Эта фигня могла прилететь и от обновления самой винды.
Как вам уже написали - отключайте цифровую подпись драйверов

=provincial=
10.02.2025, 14:54
Установил версию 2.9.363.0 и сразу же столкнулся с отсутствием сортировки по столбцам переменных в таблицах.

Pavel_
10.02.2025, 15:30
Ужас какой то а не обновление. Ошибка драйвера! Не могу связаться с ПР200.
Что натворили??? Было же все нормально.81850
2 часа уже на объекте бьемся. До обновы все в норме было.
Разрабы что делать то?
Полный снос и переустановка не помогли!!!

Есть топик на форуме с такой-же ситуацией: https://owen.ru/forum/showthread.php?t=40088

FPavel
11.02.2025, 00:31
Ошибка драйвера! Не могу связаться с ПР200.
С драйверами поступаю просто.

Всего в мире несколько микросхем для USB-COM, вероятно, что уже довелось пользоваться разными "шнурками" и ставить драйвера для них.
Нужно при подключении ПР102 не устанавливать драйвер, а указать установщику, что устройство "PR102" обслуживается уже установленным ранее драйвером и выбрать его из списка.

Если драйвер не ставили, то просто установите самый свежий драйвер от производителя микросхем.

Детали с окошками уже не вспомню, но их можно найти в интернете.

А на будущее, чаще вспоминайте, что чернобыльская авария произошла в ночь на субботу перед праздниками. Т.е. какие могут быть эксперименты с прошивками и обновлениями после выхода на объект?
У меня самого был случай. Несколько лет назад на выходных ушёл "в запой" и ноутбук не включал. В ночь на субботу производитель обновил прошивку BIOS и трезвенники обновили ноуты. А в понедельник из новостей я узнал, что обновлённые ноуты отправляют в сервис-центры для "раскирпичивания".
Производитель ноутов - крайне серьёзная фирма, мой ноут из линейки профессиональных с повышенной защитой и соответствующей ценой.
Теперь у Вас и у меня есть опыт, говорящий о ненужности скорейших обновлений.

Надеюсь, совет с драйверами поможет. Овен использует микросхемы, названия которых начинается с буквы "S", точнее не помню, но и микросхем не много.

Ollema
11.02.2025, 11:39
Установил версию 2.9.363.0 и сразу же столкнулся с отсутствием сортировки по столбцам переменных в таблицах.

Правый щелчок мыши на заголовке столбца...

Ollema
11.02.2025, 11:55
Если уж сделали возможность группировки переменных, то выбрав одну переменную в какой либо категории, в этой категории бы оставаться при закрытии окна выбора. А то каждый раз нужно туда лезть, либо по старинке искать в общей куче - что порой и быстрее...

FPavel
12.02.2025, 19:06
Новый элемент "График" не поддерживает симуляцию?
Или для симуляции нужна Windows 10+?

У меня - Windows 7.
Если нужна Win10+ добавьте об этом в справке.

kondor3000
12.02.2025, 20:23
Новый элемент "График" не поддерживает симуляцию?
Или для симуляции нужна Windows 10+?

У меня - Windows 7.
Если нужна Win10+ добавьте об этом в справке.

В эмуляции не работает на любой винде, на 10 тоже.

FPavel
12.02.2025, 20:59
Спасибо.

Раз так, то просьба к разработчикам - отметить это в справке. Думаю, что читал её внимательно, перед тем как на форум написать.

Аши
14.02.2025, 00:53
Доброго времени суток. Обновил лоджик до последней версии 2.9.363.0. При попытке найти расширения ооооочень долго думает и выдает что расширений для этой версии не найдено, обновитесь до последней. Откатился на предыдущую - та же история. А нужен экспорт в OC. Есть мысли? Переустанавливать уже пробовал.

Тимур Назарбоев
14.02.2025, 10:26
Доброго времени суток. Обновил лоджик до последней версии 2.9.363.0. При попытке найти расширения ооооочень долго думает и выдает что расширений для этой версии не найдено, обновитесь до последней. Откатился на предыдущую - та же история. А нужен экспорт в OC. Есть мысли? Переустанавливать уже пробовал.

Добрый день, данная проблема известна, инженеры уже работают над её решением.

Аши
14.02.2025, 11:25
Добрый день, данная проблема известна, инженеры уже работают над её решением.

Спасибо. Риторический, конечно, вопрос но всё же: нельзя ли попросить инженеров прекратить работать по формуле "Х*2 и в продакшн"? В бюджетном сегменте особо вариантов кроме вас нет, а такие вещи очень сильно тормозят работу и иногда просто ну очень не вовремя.

Королев Кирилл
14.02.2025, 13:49
Спасибо. Риторический, конечно, вопрос но всё же: нельзя ли попросить инженеров прекратить работать по формуле "Х*2 и в продакшн"? В бюджетном сегменте особо вариантов кроме вас нет, а такие вещи очень сильно тормозят работу и иногда просто ну очень не вовремя.

Добрый день. Обновление OL не затрагивало сервер расширений, проблема в том, что этот сервер прилег. В любом случае, спасибо, что сообщили об ошибке.

Kotrr
14.02.2025, 15:40
Здравствуйте, обновился сегодня на Версию 2.9.363.0. Очень классное добавление каталогов для переменных в "Панель переменных". Но если бы эти каталоги можно было бы сворачивать, это было бы очень удобно. Спасибо

Аши
14.02.2025, 17:03
Добрый день. Обновление OL не затрагивало сервер расширений, проблема в том, что этот сервер прилег. В любом случае, спасибо, что сообщили об ошибке.

Спасибо за ответ. Так хотя бы понятно что происходит и чего можно ждать.

dimon_ag
16.02.2025, 14:22
Всем спасибо за советы, с драйвером разобрались. Правда пришлось винду переустановить. Стояла корпоративная с отключенной системой восстановления. Установили Вин 10 про.
Но проблема с копированием имен переменных не ушла. Так что работаю на предыдущей версии Лоджика.
Разработчикам: у нас в городе Ютуб не работает Совсем никак. Поэтому не могу показать видео проблемы. Может уже подключите что нибудь типа Рутуб? Или подождем когда санкции снимут?

kondor3000
16.02.2025, 15:41
Всем спасибо за советы, с драйвером разобрались. Правда пришлось винду переустановить. Стояла корпоративная с отключенной системой восстановления. Установили Вин 10 про.
Но проблема с копированием имен переменных не ушла. Так что работаю на предыдущей версии Лоджика.
Разработчикам: у нас в городе Ютуб не работает Совсем никак. Поэтому не могу показать видео проблемы. Может уже подключите что нибудь типа Рутуб? Или подождем когда санкции снимут?

Достаточно скрины было выложить.
Рутуб работает, более того большая часть обучающих видео от Овен есть и на Рутуб.
А при желании, спокойно находится в Инете, как заставить работать Ю-туб.

МихаилГл
16.02.2025, 17:16
А при желании, спокойно находится в Инете...

Ну на счет "спокойно", не знаю. Это в случае если уже сидите на впн, возможно, а так, тот еще... А если на руках дома только смартфон, то считай вообще невозможно.

kondor3000
16.02.2025, 17:52
Ну на счет "спокойно", не знаю. Это в случае если уже сидите на впн, возможно, а так, тот еще... А если на руках дома только смартфон, то считай вообще невозможно.

На компе без ВПН, на браузер ставите расширение (в разных браузерах разные расширения) и смотрите спокойно. Есть и за деньги и бесплатно.
Бесплатно, чуть помедленнее работает и нет 4К.

dimon_ag
16.02.2025, 18:50
Вот очень интересно, как скрином вы покажете динамичный процесс?

kondor3000
16.02.2025, 18:59
Вот очень интересно, как скрином вы покажете динамичный процесс?

Вы уже 9 день не можете показать что вы копируете, откуда и куда. Для этого достаточно 2 скринов, выделить на скрине и дописать пару строк пояснений.
7 числа ещё выложил свой скрин https://owen.ru/forum/showthread.php?t=12264&p=456821&viewfull=1#post456821
и за 9 дней никто не написал, что у него не копируется что-то.

dimon_ag
16.02.2025, 19:41
Вы уже 9 день не можете показать что вы копируете, откуда и куда. Для этого достаточно 2 скринов, выделить на скрине и дописать пару строк пояснений.
7 числа ещё выложил свой скрин https://owen.ru/forum/showthread.php?t=12264&p=456821&viewfull=1#post456821
и за 9 дней никто не написал, что у него не копируется что-то.

Ваш скрин ничего не имеет общего с вышеописанной проблемой.
Я не не могу, я не хочу заниматься всякой фигней, потому как понятно что до следующего обновления проблема не решиться. А работать мне вполне комфортно и в предыдущей версии.

Dimensy
16.02.2025, 19:55
Разработчикам: у нас в городе Ютуб не работает Совсем никак. Поэтому не могу показать видео проблемы. Может уже подключите что нибудь типа Рутуб? Или подождем когда санкции снимут?
Залейте видео на яндекс диск и выложите здесь ссылку.

dimon_ag
17.02.2025, 07:44
Залейте видео на яндекс диск и выложите здесь ссылку.

https://rutube.ru/video/private/1b9d26cc43b363063c8b5ad2e5db2644/?p=v4ZZlzy8INs6sNs2eve0Tg

kondor3000
17.02.2025, 08:02
https://rutube.ru/video/private/1b9d26cc43b363063c8b5ad2e5db2644/?p=v4ZZlzy8INs6sNs2eve0Tg

И зачем куча лишних движений? Если переменные дублируются прямо в списке по ПКМ и по Cntrl+D 81995

По кнопкам Cntrl+C и Cntrl+V тоже работает (это неудобно, надо выделять строку)
Как на видео тоже работает, надо выделить строку (поставить курсор) 81996 Скопировать и вставить имя переменной,
выходить на поле программы не надо.

dimon_ag
17.02.2025, 13:01
Дублировать это вообще не то. К примеру нужно переменные прописать в сетевые, раньше щелкнул на нее, она выделилась дальше Ctrl C - Ctrl V в окне сетевой переменной, добавили например буковку с в конец имени (типо сетевая) чтобы Лоджик на одинаковые имена не ругался и все. Быстро удобно. Так вот, на двух компах пробовал, в последнем обновлении Ctrl V не отрабатывает, так же как и на видео правой кнопкой мыши. Причем на ноут уже лицензионную винду поставили и все обновления сделали. Все равно в последнем обновлении Ctrl V НЕ РАБОТАЕТ. А так как опробовано уже на двух компах и трех разных Виндовс, то понятно что баг именно в новом обновлении, т.к. откат Лоджика на предыдущую версию проблему решает!
У каждого конечно своя манера работать. Но вот мне этого копирования очень сильно не хватает.

dimon_ag
18.02.2025, 08:55
в том и дело что у каждого своя, поэтому Вас ни кто не понимает https://drive.google.com/file/d/1fOJYwa_sRCK2sPZoFeVE0xq-d3pnoK4W/view?usp=sharing

Смешно ей богу. Куда понятней то.
Ладно заканчиваем диалог. ;)

dimon_ag
18.02.2025, 09:16
подождите, куда Вы сливаетесь. На вопрос дайте ответ, находясь в окне переменных у Вас получается копировать и вставлять, а про то что Вы делаете копировать, потом выходите из окна, заходите по новой и вставить не доступна Вы ни где до этого не писали, пока видео не выдложили

Я четко написал, Не работает копирование имен переменных! Не понимаю что не понятно?
Вот видео со звуком об элементарности поставленного вопроса. https://rutube.ru/video/private/d48fa3e31728bc94af94d652a9261d31/?p=tEYGXjAvYrRzlSAempdJPw
Виде с предыдущей версии. В последней это копирование, по крайней мере у меня не работает!

dimon_ag
18.02.2025, 09:31
Сори, но я его не видел.
Ютуб умер, публичные Рутуб, ВК, которыми и я пользуюсь. Танцами с бубном с других источников заниматься просто некогда. Еще раз сори.
Если у вас работает значит у меня проблемы с компами причем сразу с двумя. :(

Dimensy
18.02.2025, 09:37
В последней это копирование, по крайней мере у меня не работает!
Насколько я понял, при открытии окна переменных почему-то очищается буфер обмена. Видать, разработчики где-то не там галку поставили
Как вариант (пока не починят): копируете переменную на холсте, потом открываете, там копируете имя и вставляете в пустую строку

1exan
18.02.2025, 09:38
а я показал видео что всё работает, что не понятно?

В локальных переменных всё нормально, а вот в списке СЕТЕВЫХ переменных - текст в название переменной не вставляется/
Да, похоже буфер очищается при переходе в этот список/
А ещё точнее - при переходе в ЛЮБОЙ из списков переменных

dimon_ag
18.02.2025, 09:52
здесь сетевые? https://owen.ru/forum/showthread.php?t=12264&p=457475&viewfull=1#post457475

да и сетевыми попробовал все работает если не выходить из окна

Как не выходить из окна когда вы имя в разные типы переменных копируете? В предыдущем видно как это работает, в новом (Видео разработчикам) как это стало работать И комп тут не при чем. 100% уверен есть баг в новом обновлении! https://rutube.ru/video/private/80adf0441bd4ff559a17e9238a244893/?p=fgSwojuoGDbNMagCy4l51Q

dimon_ag
18.02.2025, 10:26
когда появилось это условие?

почувствовали разницу, первая Ваша ссылка(которую я привожу где Вы меня сейчас цитируете) и текущая. Когда пишите что не работает копипаст это только Вам известно про что это, а классический он работает во всех версиях и под любой виндой

а почему разработчики чистят буффер, ну возможно чтоб не было таких переменных например
С самого начала!!! Не работает копирование ИМЕН, ИМЕН, ИМЕН, а не переменных или их дублирование!!! Что не понятно???????
Все. Пусть разрабы разбираются.
До свидание. Здоровья, удачи вам от всего сердца.
Диалог закончен.

Ded_Paxom
18.02.2025, 15:48
Еще, с новым обновлением перестала работать симуляция дисплея на ПР-200. Даже кнопка пропала

Dimensy
18.02.2025, 16:49
Еще, с новым обновлением перестала работать симуляция дисплея на ПР-200. Даже кнопка пропала

Так симуляции экрана на ПР200 и не было никогда

Королев Кирилл
18.02.2025, 16:59
С самого начала!!! Не работает копирование ИМЕН, ИМЕН, ИМЕН, а не переменных или их дублирование!!! Что не понятно???????
Все. Пусть разрабы разбираются.
До свидание. Здоровья, удачи вам от всего сердца.
Диалог закончен.

Добрый день.

Задачу завели, спасибо за обратную связь.

kov.alex91
23.02.2025, 13:26
Здравствуйте!
Возникла проблема с просмотром переменных в "Окне просмотра" в режиме симулятора. При нажатии на кнопку троеточия в поле "Имя" появляется окно с ошибкой "Object reference not set to an instance of an object.". Полный текст ошибки:

2.9.363.0
System.NullReferenceException: Object reference not set to an instance of an object.
at ProgramRelayFBD.PresentationLayer.Presenters.Varia bleCollectionViewModel.<>c__DisplayClass8_0.<GetTreeNodes>b__0(VariableInfoBaseDecorator item)
at System.Linq.Enumerable.SelectListIterator`2.MoveNe xt()
at System.Collections.Generic.LargeArrayBuilder`1.Add Range(IEnumerable`1 items)
at System.Collections.Generic.EnumerableHelpers.ToArr ay[T](IEnumerable`1 source)
at ProgramRelayFBD.Views.VariablesServicePage..ctor(I VariableCollectionViewModel viewModel)
at ProgramRelayFBD.InfrastructureLayer.Details.Variab lesPageFactory.CreateInputVariablesPage()
at ProgramRelayFBD.InfrastructureLayer.SchemeEditor.T ablePagesFactoryFromWatchList.Create(DrawingDocume nt drawing)+MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerabl e`1 collection)
at ProgramRelayFBD.InfrastructureLayer.Adapters.Manag erVariablesPresenter..ctor(IEnumerable`1 tableVariablesPages, BaseVariableInfo currentVariableInfo, String textNullablePage, IMappingParameterRepository mappingParameterRepository, IVariableManager variableManager, ExtensionPanelPresenter extensionPanelPresenter, VariablesCatalogPresenter variablesCatalogPresenter)
at ProgramRelayFBD.InfrastructureLayer.Adapters.FormP resenter.CreateManagerVariablesPresenter(IEnumerab le`1 pages, BaseVariableInfo currentVariableInfo, String textNullablePage, IVariableManager variableManager, ExtensionPanelPresenter extensionPanelPresenter)
at ProgramRelayFBD.InfrastructureLayer.Adapters.FormP resenter.SelectVariableFromTable(IEnumerable`1 pages, BaseVariableInfo currentVariableInfo, DrawingDocument drawingDocument, String textNullablePage, IWin32Window owner)
at ProgramRelayFBD.InfrastructureLayer.Adapters.FormP resenter.SelectVariableFromCurrentDocument(BaseVar iableInfo currentVariableInfo, String textNullablePage, IWin32Window owner, ITablePagesFactory pagesFactory)
at ProgramRelayFBD.InfrastructureLayer.SchemeEditor.L abelButtonEditingPresenter.SelectNewValue()
at Owen.ExternalInterfaces.LabelButtonEditingControl.<CreateChildControls>b__17_0(Object <p0>, EventArgs <p1>)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at Nevron.UI.WinForm.Controls.NButton.OnClick(EventAr gs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at Nevron.UI.WinForm.Controls.NButton.OnMouseUp(Mouse EventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at Nevron.UI.WinForm.Controls.NButton.WndProc(Message& 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)

Версия программы: 2.9.363.0. Операционная система Windows 11 23H2 и Windows 10 22H2.

Воспроизведение ошибки:
1. Открываем программу
2. Создаем новый проект
3. Выбираем модель устройства ПР102-24.2416.16
4. В меню "Прибор -> Настройки прибора" добавляем модуль расширения ПРМ-24.1
5. Сохраняем файл проекта на рабочий стол под именем 123.owle
6. Закрываем программу
7. Открываем программу, дважды нажав на файл 123.owle
8. Включаем режим симулятора
9. В "Окне просмотра" нажимаем на кнопку троеточия в поле "Имя"
10. Появляется окно с сообщением об ошибке, приведенном выше.

Если после описанных действий удалить модуль расширения ПРМ-24.1 в меню "Настройки прибора", то ошибка не появляется и переменные просмотреть можно. При повторном добавлении модуля расширения, сохранении проекта, закрытии и открытии программы ошибка вновь появляется.

Подскажите, пожалуйста, как решить данную проблему?

hawkey
06.03.2025, 02:09
Версия Owen_Logic 2.9.363.0 - при открытии окна переменных на корешке вкладки у слова "Схема" появляется звёздочка, как будто проект изменён. При том, что ничего не менялось, просто было открыто окно переменных. То же самое происходит при входе в окошко новых многострочных комментариев - даже если комментарий не изменять, звёздочка всё равно появляется.
То есть толку теперь от неё нет.

Путник
06.03.2025, 21:16
Это было и на более ранних версиях OL

hawkey
07.03.2025, 22:10
Это было и на более ранних версиях OL

2.8.360 - открытие окна переменных не вызывает появление звёздочки. 2.9.363 - вызывает. На каких более ранних? Между этими версиями два обновления. И в любом случае это неправильно, хоть было раньше, хоть нет.
Многострочных комментариев до 2.9.363 вообще не было.
Из вашего ответа можно только уяснить себе, что Owen_Logic вы не пользуетесь. Больше никакой пользы. Так для чего вы его писали?

Morozbl4
01.04.2025, 09:12
Добрый день.
А будет ли как-то решаться вопрос с масштабированием интерфейса программы для больших разрешений экрана?
Присутствуют некоторые неудобства.

Путник
01.04.2025, 11:18
При программировании ПР205 из версии OL 2.9.364.0 замечено отсутствие подсветки фокуса перемещения по редактируемым элементам на экране (при нажатии SEL). Ранее такое выделение было видно за счёт утолщения на 1 пиксель рамки на выбранном элементе. В системном меню с этим проблем нет.

Dimensy
01.04.2025, 15:18
При программировании ПР205 из версии OL 2.9.364.0 замечено отсутствие подсветки фокуса перемещения по редактируемым элементам на экране (при нажатии SEL). Ранее такое выделение было видно за счёт утолщения на 1 пиксель рамки на выбранном элементе. В системном меню с этим проблем нет.

Это уже давно так
https://owen.ru/forum/showthread.php?t=37840&p=455069&viewfull=1#post455069

Королев Кирилл
01.04.2025, 16:25
При программировании ПР205 из версии OL 2.9.364.0 замечено отсутствие подсветки фокуса перемещения по редактируемым элементам на экране (при нажатии SEL). Ранее такое выделение было видно за счёт утолщения на 1 пиксель рамки на выбранном элементе. В системном меню с этим проблем нет.

Толщина фокуса сейчас привязана к толщине рамки контрола.

Путник
02.04.2025, 21:18
Толщина фокуса сейчас привязана к толщине рамки контрола.

И это навсегда или можно что-то изменить, если на то будут многочисленные просьбы трудящихся?

Королев Кирилл
03.04.2025, 09:39
И это навсегда или можно что-то изменить, если на то будут многочисленные просьбы трудящихся?

Многочисленные просьбы уже видим :) Сейчас прорабатываем функционал настройки толщины фокуса. Предварительно - появится новое окно с общими настройками визуализации проекта (настройки из него будут применяться для всей визуализации). Помимо толщины фокуса в планах добавить еще возможность настраивать цвет фокуса.

kondor3000
03.04.2025, 15:16
Многочисленные просьбы уже видим :) Сейчас прорабатываем функционал настройки толщины фокуса. Предварительно - появится новое окно с общими настройками визуализации проекта (настройки из него будут применяться для всей визуализации). Помимо толщины фокуса в планах добавить еще возможность настраивать цвет фокуса.

Толщина вообще не нужна, надо выделять весь элемент, а вот цвет как раз нужен, чтобы была инверсия цвета элемента.

Королев Кирилл
03.04.2025, 16:31
Толщина вообще не нужна, надо выделять весь элемент, а вот цвет как раз нужен, чтобы была инверсия цвета элемента.

А есть какие-нибудь референсы/визуализация такого решения? Если есть - пришлите, пожалуйста.

kondor3000
03.04.2025, 18:04
А есть какие-нибудь референсы/визуализация такого решения? Если есть - пришлите, пожалуйста.

Вот пример не выделенного и выделенного для изменения элемента 82862 настраиваемая инверсия цвета элемента и шрифта.
Может у других будет другое мнение, но выделение даже толстой рамки это не выход, плохо будет видно.

Petrovi4
03.04.2025, 18:48
Инверсия цвета при выделении превращается в тыкву, если рядом попадутся элементы совпадающие по цвету с инверсным цветом. ИМХО только вариант рамки с маркерами или возможность выбора цвета/шрифвтов/толщины рамки для каждого состояния объекта.

Валенок
04.04.2025, 09:19
Такую же тыкву можно получить и с рамкой - кто-то запретил навставлять штатных рамок?



.. прорабатываем функционал настройки толщины фокуса.
.. добавить еще возможность настраивать цвет фокуса.
все сёстрам по серьгам

Королев Кирилл
04.04.2025, 14:59
Вот пример не выделенного и выделенного для изменения элемента 82862 настраиваемая инверсия цвета элемента и шрифта.
Может у других будет другое мнение, но выделение даже толстой рамки это не выход, плохо будет видно.

При нахождении фокуса на контроле числового ввода/вывода мигает выбранный для редактирования разряд (заметно, на мой субъективный взгляд). Проблема сейчас, в основном, может возникнуть с динамическим текстом и примитивами (многоугольник/круг).
Для примитивов вариант с цветовым выделением заливкой не подойдет (т.к. у них есть настройка цвета состояний true/false).
Если для дин текста добавить индикацию, похожую на числовой ввод - мигание галочки, когда контрол в фокусе, но "свернут", то это улучшит ситуацию?

kondor3000
04.04.2025, 17:37
При нахождении фокуса на контроле числового ввода/вывода мигает выбранный для редактирования разряд (заметно, на мой субъективный взгляд). Проблема сейчас, в основном, может возникнуть с динамическим текстом и примитивами (многоугольник/круг).
Для примитивов вариант с цветовым выделением заливкой не подойдет (т.к. у них есть настройка цвета состояний true/false).
Если для дин текста добавить индикацию, похожую на числовой ввод - мигание галочки, когда контрол в фокусе, но "свернут", то это улучшит ситуацию?

Ну тогда для динамич. текста выделение рамки в настраиваемой шириной и цветом и мигание галочки. Для примитивов рамка, для дисплеев рамка с мигающим разрядом.
Что то другие молчат, наверно нужно мнение и других участников.

Dimensy
04.04.2025, 18:56
При нахождении фокуса на контроле числового ввода/вывода мигает выбранный для редактирования разряд (заметно, на мой субъективный взгляд). Проблема сейчас, в основном, может возникнуть с динамическим текстом и примитивами (многоугольник/круг).
Для примитивов вариант с цветовым выделением заливкой не подойдет (т.к. у них есть настройка цвета состояний true/false).
Если для дин текста добавить индикацию, похожую на числовой ввод - мигание галочки, когда контрол в фокусе, но "свернут", то это улучшит ситуацию?

Я не видел экран в живую, но думаю достаточно выделять рамкой толщиной 3 пикселя, при этом рамка должна на 1 пиксель выходить за контур контрола. ну и выбор выбор цвета выделения оставить за пользователем

kondor3000
11.04.2025, 13:34
У меня после установки OWEN Logic2.10.365 и обновления NET, теперь проекты открываются с ошибкой 83014 и 83015Виндовс 7 (32 бит)
На версии OWEN Logic2.9.364 всё работает хорошо 83016 те же проекты на Винде 10 (64 бит) и версии OWEN Logic2.10.365 открываются нормально.
Один из примеров выложил.

Мало того, даже при создании нового проекта, тоже ошибка. Что 7 Винду совсем в утиль?

RfSS
12.04.2025, 10:01
У меня после установки OWEN Logic 2.10.365 и обновления NET возникают ошибки при запуске эмуляции 83044,83045, и при закрытии этих окон все висит. Винда: Выпуск Windows 10 Pro Версия 22H2
Дата установки ‎27.‎12.‎2024
Сборка ОС 19045.3031

novinky
13.04.2025, 02:27
при попытке открыть проект, над которым работал пару дней назад и проблем не было.
как теперь открыть?

TaPX
17.04.2025, 10:25
Добрый день. Как-то уже пытался найти ответ на этот вопрос, но так и не нашёл. Баг или фича? Дано: ПР-103 и китайский релейный модуль, подкинутый к ПР по модбас-рту. у модуля есть два дискретных входа. Теоретически они должны считываться ПР-кой либо в две булевых переменных, либо в одну вордовую, из которой можно потом побитно эти входы считать. Но практически все интереснее: оба входа считываются в одну БУЛЕВУ переменную. И если ее прокинуть на выход ПР, то выход срабатывает только при подаче сигнала на первый вход модуля. А если замкнуть второй вход китайского модуля - В БУЛЕВОЙ ПЕРЕМЕННОЙ отображается циферка 2 - но выход ПР, на который она прокинута, не срабатывает. Как это вообще возможно такое поведение? И опять же - я читаю дискретные входы из китайского модуля функцией модбас 02, которая вроде как подразумевает чтение НЕСКОЛЬКИХ дискретных входов - и согласно этой логике для такого поведения должен выбираться целочисленный тип переменной. Но выбирается только булевый. Это можно как-то пофиксить/обойти? Или так будет всегда?
831898319083191

kondor3000
17.04.2025, 10:51
Добрый день. Как-то уже пытался найти ответ на этот вопрос, но так и не нашёл. Баг или фича? Дано: ПР-103 и китайский релейный модуль, подкинутый к ПР по модбас-рту. у модуля есть два дискретных входа. Теоретически они должны считываться ПР-кой либо в две булевых переменных, либо в одну вордовую, из которой можно потом побитно эти входы считать. Но практически все интереснее: оба входа считываются в одну БУЛЕВУ переменную. И если ее прокинуть на выход ПР, то выход срабатывает только при подаче сигнала на первый вход модуля. А если замкнуть второй вход китайского модуля - В БУЛЕВОЙ ПЕРЕМЕННОЙ отображается циферка 2 - но выход ПР, на который она прокинута, не срабатывает. Как это вообще возможно такое поведение? И опять же - я читаю дискретные входы из китайского модуля функцией модбас 02, которая вроде как подразумевает чтение НЕСКОЛЬКИХ дискретных входов - и согласно этой логике для такого поведения должен выбираться целочисленный тип переменной. Но выбирается только булевый. Это можно как-то пофиксить/обойти? Или так будет всегда?
831898319083191

Пробуйте считать целое, функцией 03 или 04, Маску бит и выделить из них биты, 1 - 0 бит, 2 -1 бит.

TaPX
17.04.2025, 11:05
Пробуйте считать целое, функцией 03 или 04, Маску бит и выделить из них биты, 1 - 0 бит, 2 -1 бит.

целое не считывается, к сожалению

1exan
17.04.2025, 11:09
Добрый день. Как-то уже пытался найти ответ на этот вопрос, но так и не нашёл. Баг или фича? Дано: ПР-103 и китайский релейный модуль, подкинутый к ПР по модбас-рту. у модуля есть два дискретных входа. Теоретически они должны считываться ПР-кой либо в две булевых переменных, либо в одну вордовую, из которой можно потом побитно эти входы считать. Но практически все интереснее: оба входа считываются в одну БУЛЕВУ переменную. И если ее прокинуть на выход ПР, то выход срабатывает только при подаче сигнала на первый вход модуля. А если замкнуть второй вход китайского модуля - В БУЛЕВОЙ ПЕРЕМЕННОЙ отображается циферка 2 - но выход ПР, на который она прокинута, не срабатывает. Как это вообще возможно такое поведение? И опять же - я читаю дискретные входы из китайского модуля функцией модбас 02, которая вроде как подразумевает чтение НЕСКОЛЬКИХ дискретных входов - и согласно этой логике для такого поведения должен выбираться целочисленный тип переменной. Но выбирается только булевый. Это можно как-то пофиксить/обойти? Или так будет всегда?


А если эту "булевую" двойку преобразовать в целое - что будет?

TaPX
17.04.2025, 11:16
А если эту "булевую" двойку преобразовать в целое - что будет?

83197 ну вот такое получается

МихаилГл
17.04.2025, 11:21
Это как так:
Булево регистр 0 бит 0 и ниже
Булево регистр 0 бит 1...
Скидывайте инструкцию на девайс...

PS Сам неправ, потому что с коилами не работал.

Может пр'ка не булевы цифры показывает, а основной регистр?

TaPX
17.04.2025, 11:42
Это как так:
Булево регистр 0 бит 0 и ниже
Булево регистр 0 бит 1...
Скидывайте инструкцию на девайс...

PS Сам неправ, потому что с коилами не работал.

Может пр'ка не булевы цифры показывает, а основной регистр?

https://pcus.ru/moduli/moduli-rele/rele-s-interfejsom-rs485-dvojnoj-modbus-rtu-2x - вся инструкция, какую нашёл. Это чудеса - как вообще в булевой переменной может отображаться целочисленная двойка?

kondor3000
17.04.2025, 12:47
https://pcus.ru/moduli/moduli-rele/rele-s-interfejsom-rs485-dvojnoj-modbus-rtu-2x - вся инструкция, какую нашёл. Это чудеса - как вообще в булевой переменной может отображаться целочисленная двойка?

Это баг ОЛ, и уже давно. Читаем бит как регистр 0 бит 1, получаем маску, число 2 ( в данном случае), а по факту это бит.
Китайские реле не хотят работать с ПР от Овен, да и с ПЛК иногда только через биб-ку.

TaPX
17.04.2025, 13:24
Это баг ОЛ, и уже давно. Читаем бит как регистр 0 бит 1, получаем маску, число 2 ( в данном случае), а по факту это бит.
Китайские реле не хотят работать с ПР от Овен, да и с ПЛК иногда только через биб-ку.

А какие библиотеки можно использовать для ПЛК?

kondor3000
17.04.2025, 13:27
А какие библиотеки можно использовать для ПЛК?

Биб-ки Модбас, примеры на сайте. Разговор о ПЛК1хх

TaPX
17.04.2025, 13:56
Биб-ки Модбас, примеры на сайте. Разговор о ПЛК1хх

а на ПЛК 2хх?

Валенок
17.04.2025, 14:00
Это баг ОЛ, и уже давно...
Не то что бы баг. Для ф1..2 задается и кол-во битов. В ОЛ же нет задания кол-ва битов? А считывает (имхо) все 8
Накой там вообще поле регистра для битовых функций (я не знаю)

Судя по фотке с X-I приведение происходит по 0-му биту контейнера содержащего буль
А при значении 2 Q1 щелкнул?

Если в этом китайце есть >8 битов, то может попробывать в другую бульную переменную считать с 1-ого бита?

kondor3000
17.04.2025, 14:04
а на ПЛК 2хх?

На ПЛК2хх, не пробовал китайские модули. Но там тоже, кроме конфигурации, есть биб-ки Модбас и Овен. Примеры есть на сайте тоже.

kondor3000
17.04.2025, 14:08
Не то что бы баг. Для ф1..2 задается и кол-во битов. В ОЛ же нет задания кол-ва битов? А считывает (имхо) все 8
Накой там вообще поле регистра для битовых функций (я не знаю)

Судя по фотке с X-I приведение происходит по 0-му биту контейнера содержащего буль
А при значении 2 Q1 щелкнул?

Если в этом китайце есть >8 битов, то может попробывать в другую бульную переменную считать с 1-ого бита?

Не получится, у кого больше 1 бита, в китайских модулях, сталкиваются с проблемами чтения и записи. У китайцев это отдельные области (как положено),
а у Овена всё наложено друг на друга.

TaPX
17.04.2025, 14:12
Не то что бы баг. Для ф1..2 задается и кол-во битов. В ОЛ же нет задания кол-ва битов? А считывает (имхо) все 8
Накой там вообще поле регистра для битовых функций (я не знаю)

Судя по фотке с X-I приведение происходит по 0-му биту контейнера содержащего буль
А при значении 2 Q1 щелкнул?

Если в этом китайце есть >8 битов, то может попробывать в другую бульную переменную считать с 1-ого бита?

при значении 2 Q2 не щёлкает.

TaPX
17.04.2025, 14:13
Камрады, тут еще другая проблема, никак не связанная с этой - почему может вылезать табличка во время онлайн-отладки "Устройство было сброшено"?

Валенок
17.04.2025, 16:30
при значении 2 Q2 не щёлкает.
предположение
"приведение X-I происходит по 0-му биту контейнера содержащего буль"
получило подтверждение.
+ определение самого буля по 0-му биту. Что вообще странно для тех кто "if(x){....}", но конкретно здесь может (не обязано) помочь после выяснения вопроса ниже



Не получится, у кого больше 1 бита, в китайских модулях, сталкиваются с проблемами чтения и записи.
"Не получится" - это утверждение или предположение для данного случая?
Попытка прочитать c 1-ого (не 0-ого) бита - была?



..У китайцев это отдельные области (как положено), а у Овена всё наложено друг на друга.
Конкретно это никак ни на что не влияет. Тут мастеру сказали функцию, адрес бита и, видимо, неявно какое-то количество (8/16/32?) битов. Совмещены ли у слейва области или нет - мастеру абсолютно пофиг.
Есть ли у слейва биты 1..8/16/32 (не 0..7/15/31 !!) - это вопрос illegal adress
Может ли слейв прислать биты с любого адреса - это вопрос реализации самого слейва. В рамках протокола хоть с 13-ого 69 штук. Вот тут овен-слейв вроде чудит. Но разговор за китайцев-слейвцев, а овена - мастера.

kondor3000
17.04.2025, 17:17
предположение
"приведение X-I происходит по 0-му биту контейнера содержащего буль"
получило подтверждение.
+ определение самого буля по 0-му биту. Что вообще странно для тех кто "if(x){....}", но конкретно здесь может (не обязано) помочь после выяснения вопроса ниже
"Не получится" - это утверждение или предположение для данного случая?
Попытка прочитать c 1-ого (не 0-ого) бита - была?


Выше уже все ответил, на эти вопросы, приходит булевая, в ней число. Извлечь это число не возможно в ОЛ (кроме 0 бита), потому что переменная булевая.
1 работает, больше 1 для буля в ОЛ это 0. Конвертация в целое не работает. ТС уже не первый, у кого ничего не вышло.

Разрабы могли бы исправить работу, маска же приходит, но так ничего и не сделали.

Валенок
17.04.2025, 18:40
kondor3000, так и я ответил. Для возможного решения проблемы в рамках текущей версии ОЛ/ПР нужно точно сказать - читается ли с 1-ого (не 0-ого) бита.
Точно, а не где-то когда то.

Не больше 1 не работает, а для буля юзают 0-й бит. Хоть и похоже, но есть смысловая разница. Но это же и можно использовать если прочитается с 1-ого. Это будет 1-й бит слейва на месте 0-ого в другой переменной мастера - это же очевидно.

А для нормализации таких булей желательно просто X—I - - - I—X
Или стонать и ждать другой версии ОЛ. Проверит ли ТС свой всего лишь шанс - мне лично побоку.

TaPX
18.04.2025, 08:45
предположение
"приведение X-I происходит по 0-му биту контейнера содержащего буль"
получило подтверждение.
+ определение самого буля по 0-му биту. Что вообще странно для тех кто "if(x){....}", но конкретно здесь может (не обязано) помочь после выяснения вопроса ниже



"Не получится" - это утверждение или предположение для данного случая?
Попытка прочитать c 1-ого (не 0-ого) бита - была?



Конкретно это никак ни на что не влияет. Тут мастеру сказали функцию, адрес бита и, видимо, неявно какое-то количество (8/16/32?) битов. Совмещены ли у слейва области или нет - мастеру абсолютно пофиг.
Есть ли у слейва биты 1..8/16/32 (не 0..7/15/31 !!) - это вопрос illegal adress
Может ли слейв прислать биты с любого адреса - это вопрос реализации самого слейва. В рамках протокола хоть с 13-ого 69 штук. Вот тут овен-слейв вроде чудит. Но разговор за китайцев-слейвцев, а овена - мастера.

попытка прочитать с первого (не нулевого) бита была. я специально сделал несколько переменных и попривязывал их к 0.0, 0.1, 1.0, 1.1, 2.0 (регистр.бит). Везде, кроме первого варианта, при замыкании входов нолики. Если внимательно посмотреть на первый скриншот в моем стартовом сообщении, там видно куда привязаны остальные переменные. И на остальных скриншотах так же видно, что при замыкании входов китайца в этих переменных нолики

Kipiamail
18.04.2025, 15:06
8325883259
Добрый день. Не совсем понятный случай.
1 рисунок. Беру сетевую переменную, передаю значение в стандартную переменную, затем использую ее в ФБ, то она не передается внутри блока в переменную.
2 рисунок Если использую стандартную переменную или константу, то значение передается
Вначале в ФБ использовал сетевую и не мог понять проблему. В данном случае передаю в переменную для наглядности.
Преобразователь совсем не причем - пробовал как вариант

kondor3000
18.04.2025, 15:52
8325883259
Добрый день. Не совсем понятный случай.
1 рисунок. Беру сетевую переменную, передаю значение в стандартную переменную, затем использую ее в ФБ, то она не передается внутри блока в переменную.
2 рисунок Если использую стандартную переменную или константу, то значение передается
Вначале в ФБ использовал сетевую и не мог понять проблему. В данном случае передаю в переменную для наглядности.
Преобразователь совсем не причем - пробовал как вариант

Вот скрин, сетевая входит и выходит без проблем. 83264 можно в сетевую или в обычную, главное, чтобы последняя не перезаписывалась ниже по программе и передавалась в блоке. У вас на входе разные значения, поэтому и выход может переключиться.
На вашем скрине видно, что открыты несколько программ, да ещё запущена отладка. Этого делать не стоит, только для переноса программы, потом зарыть лишнее, сохранить и работать. При открытии и работе нескольких программ, они могут влиять друг на друга.
Или выкладывайте проект.

Валенок
18.04.2025, 18:41
скриншотах так же видно, что при замыкании входов китайца в этих переменных нолики
Не срослось. Что китаец что овен - недоделанные. Для задачи кого нить из них - в мусор

Ollema
19.04.2025, 17:00
У меня в версии OWEN Logic2.10.365 на Win7x32 вообще невозможно создать проект для ПР200, ПР205 или ПР225.

bayk
20.04.2025, 10:19
Да, это известный косяк. Сейчас овеновцы думают, как исправить

savitovir
21.04.2025, 09:34
83297
как быть :? что за подстава!!!?? Повторная установка ничего не меняет

kondor3000
21.04.2025, 09:45
83297
как быть :? что за подстава!!!?? Повторная установка ничего не меняет
Поставьте снова OWEN Logic2.9.364 http://ftp-ow.owen.ru/softupdate/OWEN%20Logic/Setup/Archive/
Из Бекапа достаньте проект в предыдущей версии и открывайте в ней.

savitovir
21.04.2025, 10:27
Поставьте снова OWEN Logic2.9.364 http://ftp-ow.owen.ru/softupdate/OWEN%20Logic/Setup/Archive/
Из Бекапа достаньте проект в предыдущей версии и открывайте в ней.
Пробовал откатить , все тот же результат , пробовал переустановить библиотеку VCREDIST_X86 не помогло , короче что-то в винде сломалось после установки OL 2.10.

МихаилГл
21.04.2025, 10:52
Пробовал откатить , все тот же результат , пробовал переустановить библиотеку VCREDIST_X86 не помогло , короче что-то в винде сломалось после установки OL 2.10.

Сервисное программное обеспечение (обязательное)
Microsoft .NET Desktop Runtime 6.0.20 (Owen Logic версии 2.0 и старше)
zip
103.88 MB
Microsoft Visual C++ 2015-2022 (Owen Logic версии 1.22 и старше)
zip
36.69 MB

Это поставили?

PS Сейчас через меню программы обновил, вроде работает. Но там уже 366 релиз...

Умурзаков Денис
21.04.2025, 11:48
Пробовал откатить , все тот же результат , пробовал переустановить библиотеку VCREDIST_X86 не помогло , короче что-то в винде сломалось после установки OL 2.10.

Добрый день, сегодня вышло обновление 2.10.366, в котором была решена проблема работы с 32-разрядными ОС. Подскажите, на новом обновлении ошибка воспроизводится?

Ollema
21.04.2025, 11:57
А на сайте все еще предлагается глючная версия.

savitovir
21.04.2025, 13:21
Сервисное программное обеспечение (обязательное)
Microsoft .NET Desktop Runtime 6.0.20 (Owen Logic версии 2.0 и старше)
zip
103.88 MB
Microsoft Visual C++ 2015-2022 (Owen Logic версии 1.22 и старше)
zip
36.69 MB

Это поставили?

PS Сейчас через меню программы обновил, вроде работает. Но там уже 366 релиз...

нифига ничего не помогло, ("привет" дремлющей поддержке овен) кроме как по пути ошибки вручную положил файл vcruntime140.dll

kondor3000
21.04.2025, 13:42
У меня на версии Owen Logic2.10.366 всё заработало, на Виндовс 7 (32 бит)

jereghi1979
21.04.2025, 13:53
Версия 2.10.366.0 проект для ПР225:
Константа (целочисленное) - связь - сетевая переменная(целочисленное)
При установленном значении более 9999 преобразуется (переполняется) и в окне просмотра переменных другое число.
Пример 9999 ->9999, а 99999 -> 34463
83302

EFrol
21.04.2025, 14:30
Сетевые переменные - 2-х байтные. Максимальное значение = 65535. 99999 - 65536 = 34463

МихаилГл
21.04.2025, 14:31
Версия 2.10.366.0 проект для ПР225:
Константа (целочисленное) - связь - сетевая переменная(целочисленное)
При установленном значении более 9999 преобразуется (переполняется) и в окне просмотра переменных другое число.
Пример 9999 ->9999, а 99999 -> 34463
83302

А не связано ли это с WORD? ПРки вроде больший формат в сетевых не тянут... Хотя я не спец в ПР...

Николай Суриков
21.04.2025, 15:56
Да - это такой прикол. В программе целочисленные значения типа UDINT(4 байта), а в сетевых переменных целочисленные UINT(2 байта). Причем если из программы переменную привязать в сетевые, то никакой ошибки не будет, просто при значении больше 65535 будет в сетевой переменной мусор.
Нигде про это не написано, разбирайтесь сами с такими багами.
Для меня ПР исчезли навсегда как приборы после обнаружении такой фичи.

Сергей0308
21.04.2025, 16:06
Насколько знаю: в режиме мастер ПР умеет работать с 32 битными сетевыми переменными, в режиме слейв - надо вручную разделять 32 битную переменную на два смежных регистра!

Николай Суриков
21.04.2025, 16:14
Насколько знаю: в режиме мастер ПР умеет работать с 32 битными сетевыми переменными, в режиме слейв - надо вручную разделять 32 битную переменную на два смежных регистра!

В справке написано что есть три типа данных - булевые, целочисленные и вещественные, так же написано что нет неявного преобразования из одного типа в другой.
Значит если одну переменную можно привязать к другой и проект компилируется без ошибок, значит они имеют одинаковый тип, но это не так, в слейве целочисленные это UINT.
Значит это баг и притом нигде про него не написано (возможно ошибаюсь, поправьте).

Сергей0308
21.04.2025, 16:41
В режиме слейв 32 битная целочисленная внутренняя переменная обрежется до 16 младших бит, для правильной передачи надо вручную разделить на два смежных регистра, вроде об этом много разговоров было, поэтому я запомнил, где это написано не знаю, может потом допишут, если ещё не написали или добавят поддержку работы с такими переменными в режиме слейв.

Николай Суриков
21.04.2025, 17:16
Извините, я не хочу к вам цепляться, но как разделить одну переменную 4 байта на две по 2 байта если в ПР нет переменных по 2 байта?))
Получается мы делим VAR1 (UDINT) на две VAR2 и VAR3 тоже UDINT и потом так же через баг лоджика присваиваем к сетевым переменным UINT.
Далее выходит "обновление" (которые уже стали выходить каждую неделю) и все проекты полетят.

kondor3000
21.04.2025, 17:41
Извините, я не хочу к вам цепляться, но как разделить одну переменную 4 байта на две по 2 байта если в ПР нет переменных по 2 байта?))
Получается мы делим VAR1 (UDINT) на две VAR2 и VAR3 тоже UDINT и потом так же через баг лоджика присваиваем к сетевым переменным UINT.
Далее выходит "обновление" (которые уже стали выходить каждую неделю) и все проекты полетят.

Что значит нет, 1 регистр это и есть 2 байта. Вы это должны знать как никто другой.
Передаёте сетевую целочисленную 1 или 2 регистрами, то есть передаёте WORD (65535) или DWORD (4294967295).
Отправляя число больше 65535 надо выбирать 2 регистра, для программиста это как азбука.
Так же как типы переменных, разборка и сборка 32 битных переменных на две 16 битных и это не меняется при обновлении ОЛ.

Николай Суриков
21.04.2025, 18:02
Есть переменная из часов реального времени "Время в миллисек" - она целочисленная.
Есть локальная переменная - она целочисленная.
Есть сетевая переменная - она тоже целочисленная.

Привязываю локальную переменную к часам реального времени и выношу на холст.
Выношу на холст сетевую переменную, связываю их линией, ниточкой, проводочком.

Обе переменных целочисленные, в описании к приборам и среде программирования есть только три вида данных и только один целочисленный.
Но оказывается сетевые переменные не совсем такие как написано в руководстве, она обрезанная, и где-то на 180 странице темы на форуме об этом написано.

Так как мне в слейв передать переменную часов реального времени?
Штатными средствами разделить 4 байта на 2 по 2?

Сергей0308
21.04.2025, 18:34
Есть переменная из часов реального времени "Время в миллисек" - она целочисленная.
Есть локальная переменная - она целочисленная.
Есть сетевая переменная - она тоже целочисленная.

Привязываю локальную переменную к часам реального времени и выношу на холст.
Выношу на холст сетевую переменную, связываю их линией, ниточкой, проводочком.

Обе переменных целочисленные, в описании к приборам и среде программирования есть только три вида данных и только один целочисленный.
Но оказывается сетевые переменные не совсем такие как написано в руководстве, она обрезанная, и где-то на 180 странице темы на форуме об этом написано.

Так как мне в слейв передать переменную часов реального времени?
Штатными средствами разделить 4 байта на 2 по 2?

Если Вы передаёте в слейв, значит сетевой интерфейс ПР в режиме мастер, мне кажется, никаких дополнительных манипуляций не нужно!

Николай Суриков
21.04.2025, 18:42
Если Вы передаёте в слейв, значит сетевой интерфейс ПР в режиме мастер, мне кажется, никаких дополнительных манипуляций не нужно!

Хорошо, но если ПР в режиме слейв... то начинается магия.

kondor3000
21.04.2025, 18:43
Есть переменная из часов реального времени "Время в миллисек" - она целочисленная.
Так как мне в слейв передать переменную часов реального времени?
Штатными средствами разделить 4 байта на 2 по 2?

Если ПР Мастер, то ставите 2 регистра,
если ПР слейв, то разбираете 32 битную на две 16 битных и передаёте 2 переменных. 83315

FPavel
21.04.2025, 19:10
Мне кажется, в самой последней версии OL вводилась возможность чтения 32-разрядных переменных.
Надеюсь - не ошибся. Вот только проверить не могу, у меня Win7.

Cs-Cs
21.04.2025, 19:20
Мне кажется, в самой последней версии OL вводилась возможность чтения 32-разрядных переменных.
Надеюсь - не ошибся. Вот только проверить не могу, у меня Win7.Я могу наврать, но чтение 32х разрядов было вон ещё на ПР200 давно.
Просто в количестве регистров указываем 2 штуки. И запись вроде тоже.

kondor3000
21.04.2025, 19:33
Мне кажется, в самой последней версии OL вводилась возможность чтения 32-разрядных переменных.
Надеюсь - не ошибся. Вот только проверить не могу, у меня Win7.

Ставьте Owen Logic2.10.366, уже проверил, работает на Win7 (32 бит), а 2 переменные в слейве поставить нельзя.


Я могу наврать, но чтение 32х разрядов было вон ещё на ПР200 давно.
Просто в количестве регистров указываем 2 штуки. И запись вроде тоже.
Только в Мастере 2 регистра можно поставить , в слейве нет до сих пор, во всех моделях.

FPavel
21.04.2025, 20:20
Ясно. Спасибо.

Пока не буду обновляться - через 2-3 недели сдача, а критически важных улучшений/исправлений для этого проекта не предложено.

Не совсем понял про Win7 (32 бит) - знал, что такая версия существует, но не думал, что кто-то использует - предполагал, что большинство x64 применяют Win7x64.

Cs-Cs
21.04.2025, 20:29
Только в Мастере 2 регистра можно поставить , в слейве нет до сих пор, во всех моделях.Принято, СПАСИБО тебе! Ты лучше всех всё знаешь!

МихаилГл
21.04.2025, 21:10
Кстати, по обновлению. При обновлении сегодня с 2.7 на 2.10 изменил путь установки (всегда так делаю, даже не знаю почему) и всегда старая версия остается живой, без всяких танцев с бубнами. Т.е. на ПК доступны сразу 2 версии. Для любителей обновить и потом думать как откатить назад пригодится...

Mike_K
21.04.2025, 22:41
В руководстве к OL знаковая переменная типа Long не описывается, всплывающая подсказка несколько смущает. 16 битное целочисленное используем для сетевых переменных?

kondor3000
21.04.2025, 22:52
В руководстве к OL знаковая переменная типа Long не описывается, всплывающая подсказка несколько смущает. 16 битное целочисленное используем для сетевых переменных?

Знаковых типа INT и DINT в Лоджике нет, используйте Функции FLOAT_TO_INT и INT_TO_FLOAT
FLOAT_TO_DINT и DINT_TO_FLOAT https://owen.ru/forum/showthread.php?t=22915&page=311&p=429821#post429821

Для передачи 1 регистра 16 битное WORD (INT), для 2 регистров 32 битное UDINT (DINT, DWORD ).

KoT'86
23.04.2025, 18:41
Товарищи, толи я дурак, толи лыжи не едут. OWL Версия 2.10.366.0
Нет доступа к булевому входу макроса, внутри макрос работает. К примеру
83375
83376
83377

FPavel
23.04.2025, 18:44
Переменную Out привяжете или к физическому выходу ПР или к выводу на экран.
Если результат не используется - оптимизация удаляет неиспользуемый код.

KoT'86
23.04.2025, 18:48
Понял, спасибо!

pipi
25.04.2025, 08:19
здравствуйте! скорее всего это уже упоминали где-то но я не нашла. есть проблема с отображением овен лоджик на ноутбке с разрешением 3200х2000. Масштаб стоит 200%, рабочая область с блоками отображается нормально, но вот панели управления справа слева и сверху с очень маленьким шрифтом и частично даже не видны. можете пожалуйста это починить? на мониторе с меньшим разрешением все нормально отображается83410

capzap
26.04.2025, 06:28
есть несоответствия в справке 83457 раз уж в ST используется real, в справке совершенно не к месту тип float в третьем пункте на скрине.

RV9WFJ
08.05.2025, 09:52
Элемент экрана Ввод/Вывод времени некорректно отображает время (я использую формат MM:SS) из Modbus Slave переменных. Понятно что это связано с количеством бит в переменной, но наверно можно какой-то костыль придумать?
P.S. а в симуляции все работает так как требуется.

kondor3000
08.05.2025, 10:22
Элемент экрана Ввод/Вывод времени некорректно отображает время (я использую формат MM:SS) из Modbus Slave переменных. Понятно что это связано с количеством бит в переменной, но наверно можно какой-то костыль придумать?
P.S. а в симуляции все работает так как требуется.

Вы бы хоть скрины показали и выложили проект с куском кода, что там некорректно.