Спасибо большое!
Вид для печати
Добрый день, столкнулся с такой проблемой. В арифметике: при сложении, вычитании, умножении. Если производить действие с числом начиная со второго знака после запятой, то появляется 7 знак после запятой. Простая формула в ST 5 + 0,05 = (уже после 2 цикла) = 5.1000004. В чем может быть причина?
Это нормально, считайте Float, а на выходе обрезаете до 2 знаков.
Умножаете на 100, конвертируете в целое, потом конвертируете обратно и делите на 100.
Иногда так делают специально, для передачи Float по сети, в целом виде, используя всего 1 регистр, вместо 2.
Экономия регистров обмена, например в некоторых ТРМ.
Спасибо большое за ответы, значит буду работать с целочисленными. Доброго дня
Хочу выразить благодарность ТП ОВЕН. Оперативно подтвердили некоторые ограничения актуальной версии ОЛ и дали решения в рамках текущего ПО.
Вложение 88384 Здравствуйте, подскажите пожалуйста, при попытке перейти в онлайн отладку выскакивает такая портянка и отладка не запускается .
Баг в эмуляции.
Для ПР205 создаю два экрана.
На главном размещаю несколько "переключателей" с привязкой к битам.
На втором экране - несколько произвольных элементов.
Запускаю эмуляцию.
На главном экране выбираю переключатели и свободно их переключаю. Пока всё хорошо.
Перехожу на второй экран. Возвращаюсь на главный.
И теперь на главном переключаются уже не все переключатели.
Ещё один-два перехода ко второму экрану - и переключать могу только один. Мышкой выделяю любой, но при нажатии виртуальной кнопки "Ok" или "Enter" на клавиатуре - переключается только один, на котором свет сошёлся.
Если второй экран удалить - ошибка не воспроизводится.
Постоянно вылезает эта ошибка. Что ему не так?
2.11.370.0
System.InvalidOperationException: Operation is not valid due to the current state of the object.
at ProgramRelayFBD.ApplicationLayer.ST.ChangeCalledPr ogramElementService.ChangeFunctionBlock(ChangeFunc tionBlockRequest data)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at CommandProcessor.EventAggregator.<>c__DisplayClass 9_0.<Publish>b__0(Object <p0>)
Вложение 88439
Подскажите, при каких условиях возникает эта ошибка? Ошибка появляется в конкретном или в любом проекте? Если в конкретном пришлите, его, пожалуйста на почту d.umurzakov@owen.ru
Подобное поведение может встречаться в проектах, где функциональный блок на ST был превращен в функцию на ST или наоборот. Превращен путем замены ключевого слова FUNCTION_BLOCK на FUNCTION. Если подобное было, попробуйте удалить соответствующий блок из проекта. Не с холста, а именно из проекта.
Возникает в конкретном проекте, при редактировании любого ST объекта. Достаточно стереть и снова вернуть на место любой знак и через какое-то время возникает ошибка. Проект старый, вяло тянется еще с первых ПР205, потом как-то мигрировал на ПР225. На почту отправил.
Дорогие разработчики!
Спасибо за обновление до 3.0
В ПР205 появилось в настройках компонента "Меню" поле "В фокусе по умолчанию". К сожалению, осталось снятие фокуса при нажатии ESC и для запрограммированного перехода по ESC кнопку нужно нажать два раза. Было бы логично при наличии Фокуса по умолчанию отключить снятие фокуса по нажатии ESC или сделать отдельную настройку для этого функционала.
Мне не сложно два раза нажать кнопку, однако оператор расценивает это как баг в моей программе, что неприятно.
И еще. При возврате в меню желательно оставлять фокус на строчке, с которой был совершен последний переход, а не перемещать фокус на первую строчку.
Не знаю может не туда написал, но полагаю что все таки сюда
В общем когда создаешь макросы и нужно добавить хренову тучу однотипных входов или выходов, то почему то по умолчанию всегда установлен булевый тип данных, в общем уже задолбался все это поодиночке исправлять, не нахожу как поменять тип входа или выхода по умолчанию, если такое вообще есть, , и еще не плохо было бы можно было поставить свой префикс, а не то что заложили I или Q...
Создал массив 1, задал переменные 1,2,3,4, скопировал его в массив 2 и задал новые числа 11,22,33,44. Вложение 88540
Теперь в обоих массивах показывает 11,22,33,44.
Теперь что бы работало правильно, надо по новой задать числа в первом массиве. Здравствуй обновление 3.0 и новые баги
При чём в самом массиве 1 числа 1,2,3,4 остались.
Подтвержаю с дополнением: после копирования массива изменение копии приводит к изменению оригинала. При этом в окне просмотра они вообще путаются местами.
В вашем проекте через меню переменных дублировал массив, в дубле изменил одно число. Теперь в меню переменных, окне просмотре и симуляции - разные величины. В симуляции никакие переменные не менял.
А еще делаю макрос, насоздавал там массивов, вроде все хорошо, сохранил, вышел, думаю доделаю позже, захожу снова в правку макроса и Ву-А-Ля все массивы куда то исчезли... :)
Сегодня ОЛ 3.0 повисла после онлайн отладки по USB. Не реагировала на мышь и клаву. Дамп могу прислать
Тоже было! но у меня было когда хотел забодяжить макрос с массивами данных, начал устанавливать связь и все зависло, в двойне обидно было когда это все произошло после того как все практически закончил, грохнул приложение через диспетчер задач и начал все заново... :)
Пришлите, пожалуйста, на почту d.umurzakov@owen.ru
добрый день, как сделать в схеме в OWEN LOGIC, чтобы при нажатии на лкм i1 сигнал был 1, при отжатии лкм I1 уходил в ноль, то есть кнопка без фиксации
Либо поставить кнопку без фиксации, либо таймер TOF с временем 0.
Скрин из конфигуратора Вложение 89410
а где взять кнопку без фиксации, через тоф попробовал i1 остается включенным после отжатии лкм в схеме. В самой схеме такое возможно сделать или только в визуале?
Странное дело!
В общем делаю один небольшой проектик и там порядка 96 однотипных энергонезависимых переменных, в общем если я эти переменные делаю (вернее сделал раньше :) ) все по отдельности т.е. в ручную, то ЭСППЗУ у меня показывает 55% заполнения, а потом я это решил сделать по современному т.е. при помощи массивов и тоже самое кол-во переменных у меня уже переполнило память до 131%, это у меня лыжи не едут или я и в правду чего то недопонимаю?
Это если их много :)
Вложение 88570
А это если тоже самое, только в виде массивов
Вложение 88571
Ну наверное не все сразу, но все равно польза есть, если конечно не это досадное недоразумение, мне например проще сделать один вход и один выход объявив их массивами, чем городить 32 входа и 32 выхода, а потом последовательно в ручную менять их тип и переименовывать, а так да, было бы здорово если бы еще и функциональные блоки можно было бы объединять в массивы, я даже сперва подумал, что это уже реализовано, ан нет, это мои влажные мечты... :)
В общем я надеюсь разработчики читают это и может быть в какой нить 33 версии софта это появиться, а может быть и раньше... :)
В Лоджике до сих пор, в некоторых случаях, выстакивает надоевшая ошибка:
Последовательность примерно такая: на главной схеме в окне списка переменных есть строка поиска, в ней что-то набито. Открываю макрос или макрос в макросе (FBD) для редактирования, что-то делаю, закрываю и такое окно скачет, при любой попытке наведения мышью на окно со списком переменных: Object reference not set to an instance of an object.Код:2.11.370.0
System.NullReferenceException: Object reference not set to an instance of an object.
at Nevron.UI.WinForm.Controls.NItemsControl.OnItemDrag(NLightUIItemDragDropEventArgs e)
at Nevron.UI.WinForm.Controls.NItemsControl.OnLostFocus(EventArgs e)
at System.Windows.Forms.Control.WmKillFocus(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at Nevron.UI.WinForm.Controls.NItemsControl.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, WM msg, IntPtr wparam, IntPtr lparam)
Пока еще руки не дошли https://owen.ru/forum/showthread.php...l=1#post478663
Добрый день!
Подскажите что делать если в режиме отладки вместо циферок пустые квадратики?
Вложение 88627