Не срослось. Что китаец что овен - недоделанные. Для задачи кого нить из них - в мусор
Вид для печати
У меня в версии OWEN Logic2.10.365 на Win7x32 вообще невозможно создать проект для ПР200, ПР205 или ПР225.
Да, это известный косяк. Сейчас овеновцы думают, как исправить
Вложение 83297
как быть :? что за подстава!!!?? Повторная установка ничего не меняет
Поставьте снова OWEN Logic2.9.364 http://ftp-ow.owen.ru/softupdate/OWE...Setup/Archive/
Из Бекапа достаньте проект в предыдущей версии и открывайте в ней.
Сервисное программное обеспечение (обязательное)
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 релиз...
А на сайте все еще предлагается глючная версия.
У меня на версии Owen Logic2.10.366 всё заработало, на Виндовс 7 (32 бит)
Версия 2.10.366.0 проект для ПР225:
Константа (целочисленное) - связь - сетевая переменная(целочисленное)
При установленном значении более 9999 преобразуется (переполняется) и в окне просмотра переменных другое число.
Пример 9999 ->9999, а 99999 -> 34463
Скрин:
Сетевые переменные - 2-х байтные. Максимальное значение = 65535. 99999 - 65536 = 34463
Да - это такой прикол. В программе целочисленные значения типа UDINT(4 байта), а в сетевых переменных целочисленные UINT(2 байта). Причем если из программы переменную привязать в сетевые, то никакой ошибки не будет, просто при значении больше 65535 будет в сетевой переменной мусор.
Нигде про это не написано, разбирайтесь сами с такими багами.
Для меня ПР исчезли навсегда как приборы после обнаружении такой фичи.
Насколько знаю: в режиме мастер ПР умеет работать с 32 битными сетевыми переменными, в режиме слейв - надо вручную разделять 32 битную переменную на два смежных регистра!
В справке написано что есть три типа данных - булевые, целочисленные и вещественные, так же написано что нет неявного преобразования из одного типа в другой.
Значит если одну переменную можно привязать к другой и проект компилируется без ошибок, значит они имеют одинаковый тип, но это не так, в слейве целочисленные это UINT.
Значит это баг и притом нигде про него не написано (возможно ошибаюсь, поправьте).
В режиме слейв 32 битная целочисленная внутренняя переменная обрежется до 16 младших бит, для правильной передачи надо вручную разделить на два смежных регистра, вроде об этом много разговоров было, поэтому я запомнил, где это написано не знаю, может потом допишут, если ещё не написали или добавят поддержку работы с такими переменными в режиме слейв.
Извините, я не хочу к вам цепляться, но как разделить одну переменную 4 байта на две по 2 байта если в ПР нет переменных по 2 байта?))
Получается мы делим VAR1 (UDINT) на две VAR2 и VAR3 тоже UDINT и потом так же через баг лоджика присваиваем к сетевым переменным UINT.
Далее выходит "обновление" (которые уже стали выходить каждую неделю) и все проекты полетят.
Что значит нет, 1 регистр это и есть 2 байта. Вы это должны знать как никто другой.
Передаёте сетевую целочисленную 1 или 2 регистрами, то есть передаёте WORD (65535) или DWORD (4294967295).
Отправляя число больше 65535 надо выбирать 2 регистра, для программиста это как азбука.
Так же как типы переменных, разборка и сборка 32 битных переменных на две 16 битных и это не меняется при обновлении ОЛ.
Есть переменная из часов реального времени "Время в миллисек" - она целочисленная.
Есть локальная переменная - она целочисленная.
Есть сетевая переменная - она тоже целочисленная.
Привязываю локальную переменную к часам реального времени и выношу на холст.
Выношу на холст сетевую переменную, связываю их линией, ниточкой, проводочком.
Обе переменных целочисленные, в описании к приборам и среде программирования есть только три вида данных и только один целочисленный.
Но оказывается сетевые переменные не совсем такие как написано в руководстве, она обрезанная, и где-то на 180 странице темы на форуме об этом написано.
Так как мне в слейв передать переменную часов реального времени?
Штатными средствами разделить 4 байта на 2 по 2?
Если ПР Мастер, то ставите 2 регистра,
если ПР слейв, то разбираете 32 битную на две 16 битных и передаёте 2 переменных. Вложение 83315
Мне кажется, в самой последней версии OL вводилась возможность чтения 32-разрядных переменных.
Надеюсь - не ошибся. Вот только проверить не могу, у меня Win7.
Ясно. Спасибо.
Пока не буду обновляться - через 2-3 недели сдача, а критически важных улучшений/исправлений для этого проекта не предложено.
Не совсем понял про Win7 (32 бит) - знал, что такая версия существует, но не думал, что кто-то использует - предполагал, что большинство x64 применяют Win7x64.
Кстати, по обновлению. При обновлении сегодня с 2.7 на 2.10 изменил путь установки (всегда так делаю, даже не знаю почему) и всегда старая версия остается живой, без всяких танцев с бубнами. Т.е. на ПК доступны сразу 2 версии. Для любителей обновить и потом думать как откатить назад пригодится...
В руководстве к OL знаковая переменная типа Long не описывается, всплывающая подсказка несколько смущает. 16 битное целочисленное используем для сетевых переменных?
Знаковых типа INT и DINT в Лоджике нет, используйте Функции FLOAT_TO_INT и INT_TO_FLOAT
FLOAT_TO_DINT и DINT_TO_FLOAT https://owen.ru/forum/showthread.php...821#post429821
Для передачи 1 регистра 16 битное WORD (INT), для 2 регистров 32 битное UDINT (DINT, DWORD ).
Товарищи, толи я дурак, толи лыжи не едут. OWL Версия 2.10.366.0
Нет доступа к булевому входу макроса, внутри макрос работает. К примеру
Вложение 83375
Вложение 83376
Вложение 83377
Переменную Out привяжете или к физическому выходу ПР или к выводу на экран.
Если результат не используется - оптимизация удаляет неиспользуемый код.
Понял, спасибо!
здравствуйте! скорее всего это уже упоминали где-то но я не нашла. есть проблема с отображением овен лоджик на ноутбке с разрешением 3200х2000. Масштаб стоит 200%, рабочая область с блоками отображается нормально, но вот панели управления справа слева и сверху с очень маленьким шрифтом и частично даже не видны. можете пожалуйста это починить? на мониторе с меньшим разрешением все нормально отображаетсяВложение 83410
есть несоответствия в справке Вложение 83457 раз уж в ST используется real, в справке совершенно не к месту тип float в третьем пункте на скрине.
Элемент экрана Ввод/Вывод времени некорректно отображает время (я использую формат MM:SS) из Modbus Slave переменных. Понятно что это связано с количеством бит в переменной, но наверно можно какой-то костыль придумать?
P.S. а в симуляции все работает так как требуется.
После обновления OL до версии 2.10 и перешивки устройства, перестали передаваться по modbus аналоговые выходы ПР200 (регистры 0xA00/A01, 0xA02/A03). Точнее они передаются, но нулями, хотя электрически выходы работают корректно. При этом выходы в формате uint16 (регистры 0xA80 и 0xA81) передаются корректно.