На экран ПР205 можно выводить мнемосхемы? В виде фона например? Геометрические фигуры и/или иконки (насос там, клапан, вентилятор и т.д.)?
Вид для печати
На экран ПР205 можно выводить мнемосхемы? В виде фона например? Геометрические фигуры и/или иконки (насос там, клапан, вентилятор и т.д.)?
При выводе Динамического текста (как я понимаю показать ту, или иную строку, в зависимости от значения переменной) справа у меня "галка" и я не могу её убрать. Рамку я убрал, а "галку" как?
Раньше вроде было, что кроме вывода значения переменной, можно было задать текст ДО и текст ПОСЛЕ значения? В ПР205 не могу найти такого.
В данный момент галку можно только закрыть другим контролом (например, "текст" с фоновой заливкой). В будущих обновлениях галочка будет убираться сама, если задать параметр "запретить редактирование - да". Текст до и текст после можно реализовать, опять же, при помощи отдельных контролов "текст".
Трудно "с ходу" включится в слабо документированные и без примеров, идеи разработчиков.
Вот мой первый пример, тож пришлось помучатся, пока удалось реализовать задуманное.
Тут три подряд пункта, формируют одну строку параметра.
Но самый крайний закрываю общим номером.
Господа разработчики а можно еще в каких нибудь ближайших релизах добавить в библиотеку элемент индикации битовой в виде прямоугольника, сейчас только круглый
Здравствуйте. Задал в 205 переменную которую нужно задавать с экрана, а галку поставить в энергонезависимость не могу. То есть при выключения питания нужно вносить всё снова, я правильно понимаю?, что за фигня?
Переменные на экране по умолчанию энергонезависимые. Первый раз конечно придётся забивать или сделать инициализацию. Галку поставить нельзя, это одна из очередных придумок разработчиков, только для кого это всё делается, не понятно. Чем больше они пытаются изменить, тем больше багов получается.
kondor3000 СПС.
С переменными на экране и сетевыми, которые автоматически определяются как Retain поборемся. К сожалению не быстро, но поправим. Это косяк и его не прячем.
Обработка шторма по Ethernet и других сложных схем - всегда вопрос. С чем соглашусь - даже если стек переполняется - прибор не должен перезагружаться целиком. Тут мы посмотрим подробнее. Но надо понимать, что на микроконтроллере диагностику и обработку нетипичной работы по сети вести сильно сложнее, чем на ПЛК.
Вот с циклом плавающим не понял, если честно. Джиттер в 12 мс на каком времени цикла?
Что появится в обновлении на этой неделе (подробнее я так понимаю Максим (ПМ по OL) расскажет на днях:
1. Дополнение свойств st.
2. Переписанные на st стандартные базовые POU. Именно переписанные - это не вызов тех же. Так что тут надо быть аккуратнее.
3. Визуализация. Добавятся графические элементы: линия, прямоугольник, круг, треугольник. Цвет контура и заливки настраивается. Если привязать переменную Bool - можно из любого элемента (кроме линии) делать индикатор. Помимо этого элементы будут иметь свойство - действие при "нажатии" на контрол, аналогичные действиям, которые можно привязать к нажатию физической кнопки - переход на экран, изменение значения bool переменной. Из них уже можно собирать функциональные схемы простые и делать меню и кнопки. Правда пока ручками. Контрол организации "меню" в планах есть, но не следующим релизом. Следующим планируем поддержку работы с пользовательскими картинками сделать.
Сильно не хватает или элемента журнал ошибок или проще динамического задания координат элементов для реализации журнала самостоятельно.
Контрол меню и контрол журнал запланированы. К сожалению не вот в ближайшее время.
У меня, при просмотре этого на самом ПР205, "Время цикла, мс" =9, но иногда проскакивает раз в пару сек 12-15.
Потому и стоит вопрос о переменной мкс, получив данные с которой, в начале проги на ST,
возможно решить сколько осталось в этом цикле,
и "раскидать/растянуть" части моей программы по другим циклам.
Например: есть 1000 мс в каждой секунде.
- ПР для работы с периферией "откусит" часть каждого цикла.
- иногда, в итоге пользовательская программа получает время через 3мс.
- п. программа усложняется, и "вылетает" за отведённые 1 мс, "отодвигая/затягивая" свой цикл.
- при возможности знать, при начале цикла, сколько осталось (прочитав мкс),
пользователь может какую-то часть своей программы выполнять в разных циклах.
цикл: (по внутреннему моему счётчику)
N10..45 - достаточно для моей клавиатуры? выполняем, нет - ставим в очередь.
N120..200 - сложная математика с внутренними циклами?
N650..800 - достаточно для обработки принятого по RS485-1?
N870..900 - достаточно для обработки принятого по RS485-2?
и т.п.
И для этого достаточно предоставить доступ, при входе в ST, значение переменной мкс.
Т.е. никакие изменения, доработки, синхронизации, переделки, и ещё сложности в ПР не нужны.
Аккуратнее? Будет переписано/прописано в документации?
Лёд тронулся, господа! (c) :)
Ознакомился только что.
ST в хелпе - дождались! Достаточно подробно!!!
Сменили скрины на текст - копируется, и работает!
Так держать! :)
Остались прежние True и False, приходится упрощать:
Код:I :Bool := true; // соответствие-сокращение идиотским False и True
O :Bool := False; // для идиотов - False и True не отменять!
Например: If Inp5=I AND SX.0=O Then // False и True не отменять!!! :)
Не запретить, а добавить работу с "1" и "0".
Вот эта привычка (из Си) занимать много строк:
// Подробнее пропишите про If: (кому как удобнее - это мой короткий стиль)Код:
IF rTemp > rHighTemp THEN
xHigh := TRUE;
ELSIF rTemp < rLowTemp THEN
xLow := TRUE;
ELSE
xHigh := FALSE;
xLow := FALSE;
END_IF
// Куда удобнее и нагляднее: (кому как удобнее - это мой короткий стиль)
IF rTemp > rHighTemp THEN xHigh := TRUE;
ELSIF rTemp < rLowTemp THEN xLow := TRUE;
ELSE xHigh := FALSE; xLow := FALSE;
END_IF
Про мкс - нет понимания, как очевидными и простыми средствами,Код:
If InADCc<0.1 then
Elsif InADCc<2 then InMAX:=500; InMIN:=0; UotMAX:=12; UotMIN:=0.2;
Elsif InADCc<10 then InMAX:=500; InMIN:=0; UotMAX:=12; UotMIN:=0.4;
Elsif InADCc<15 then InMAX:=500; InMIN:=0; UotMAX:=12; UotMIN:=0.45;
Elsif InADCc<20 then InMAX:=500; InMIN:=0; UotMAX:=12; UotMIN:=0.5;
Elsif InADCc<40 then InMAX:=500; InMIN:=0; UotMAX:=12; UotMIN:=0.6;
Elsif InADCc<50 then InMAX:=500; InMIN:=0; UotMAX:=12; UotMIN:=0.52;
Elsif InADCc<60 then InMAX:=500; InMIN:=0; UotMAX:=12; UotMIN:=0.68;
Else InMAX:=500; InMIN:=0; UotMAX:=12; UotMIN:=1.0;
End_if
// Си-шный "размашистый" стиль - наглядности нет у "размазанной" программы на несколько листов,
// то, что можно уместить аккуратно на половину (не лепить, конечно - без крайностей).
ничего не меняя в архитектуре компилятора с ST, добиться оптимизации программы самим пользователем...
А в остальном, прекрасная программа, ... посмотрим как всё хорошо.
Неплохо работает графика - шаг вперед уже хорошо. А то я уже псевдографикой взялся мнемосхемы рисовать. А так-то лучше гораздо. Правда у меня почему-то иногда элементы прыгают по экрану, в процессе отрисовки, но я пока не понял, может сам чего.
Новые элементы ввели, а видео ОЗУ не выделили.
Катастрофически не хватает...
Создал около 70 переменных, для отображения данных, что = 100%
сообщение при наведении мыши = 28262 байт, при max 28262
"Для оптимизации ОЗУ визуализации попробуйте
уменьшить количество экранов и компонентов
визуализации на экранах"
Когда начал в ниспадающие меню пункты добавлять - всё стало.
Причём индикатор "ОЗУ визуализации" не отображает переполнения,
порога просто не компилится, сообщая:
"Перед записью программы в прибор необходимо устранить все критические замечания."
Пришлось их искать.
Те же 100% превышаются при явном добавлении на экран новой переменной "ввод/вывод".
Т.е. сообщение индикации не учитывает заполнение ниспадающих пунктов меню.Код:28672-29342=670 байт занимает новая переменная 102%
28672-29440=768 байт занимает динамический текст 103%
А там уже прописано по 6 строк в трёх "Динамических текстах".
Вот на этом пределе всё работает. пример А надо ещё под 200.
Прописать бы неизменные пункты меню в ПЗУ области,
а в видео ОЗУ только изменяемые значения.
Код:- ПЗУ 219К занято только 29468 = 12%
- ОЗУ 50К занято только 2676 = 5%
- Var 32К занято только 360 = 1%
То, что они будут "расти" - это понятно,
пераспределять бы "по ходу", под задачу.
для начала хотя бы сделайте возможность задавать для этих переменных (экранных) значение по умолчанию (как у сетевых переменных), чтобы при написании и отладке программы не приходилось забивать все значения экранных переменных заново каждый раз при очередной загрузке из OwenLogic.
Также при использовании элемента "динамический текст" хотелось бы иметь возможность скрывать галку справа, когда элемент используется только для чтения (вариант с перекрытием - не предлагать) - это нужно в первую очередь чтобы она не перекрывала сам текст в данном элементе (т.к. экранчик маленький).
И как писалось выше, неплохо бы сделать возможность определять группы для экранов, чтобы разносить экраны по разным группам, а также возможность определять порядок экранов в менеджере.
Заново вносить придется только в первый раз после заливки программы в ПР205. Далее - при выключении питания значения данных переменных сохраняются
Когда начал в ниспадающие меню пункты добавлять - всё стало.
>> Причём индикатор "ОЗУ визуализации" не отображает переполнения,
>> порога просто не компилится, сообщая:
>> "Перед записью программы в прибор необходимо устранить все критические замечания."
>> Пришлось их искать.
Экран 1 > Динамический текст > Список строк > Редактировать > вставить строку снизу
И так, и так попробовал - значение "ОЗУ визуализации" не изменяется = 100%.
Тупо начинает глючить система.
Здравствуйте!
В ПР205 в элементах ввода нельзя выбрать энергонезависимые переменные. Я что-то не так делаю или так и задумано?
Если так и задумано, то каким образом с ними предполагается работать?
Пора ОВЕН-ам запускать GPT чат, насыщенный документацией по темам.
Сложность изделий фирмы растёт, и человеки на фирме не успевают
увязывать разношёрстные данные - это уже удел нейросетей (ИИ).
А уж с этим попугаем (который GPT) можно болтать бесконечно.
Главное из этой болтовни:
- он будет всё умнее и умнее, общительнее и толковее.
Да, всё там можно разрулить элементарно, в смысле, если переменная при выводе на экран становится энергонезависимой, у ней должна появляться галка энергонезависимости, неактивная, в смысле, без возможности её(галку) убрать, в смысле, пока переменную с экрана не уберут, всё! Ясно и понятно бы стало, в смысле, было бы гораздо меньше вопросов по этому поводу!
1 марта 2024. В общем это выглядит как-то так. :)
Ввиду невозможности фирмы ОВЕН, следовать заявленному мировому уровню поддержки, то...
... то веяния времени требуют перемен в лучшую сторону.
OwenGPT - пришла пора начать тему.
Предыдущие жертвы начинаний, например:
- Часто задаваемые вопросы... https://owen.ru/product/sreda_progra...owen_logic/faq
- Тема: Голосовой помощник Алиса... (2021 страничка) https://owen.ru/forum/showthread.php?t=32901&page=2
- И частная тема "А как связать Алису и owencloud?!" (2021 страничка) https://owen.ru/forum/showthread.php...l=1#post346826
- и ещё пара пучков информации по темам как FAQ.
0. (да, по началу это будет сложно - но если дети рождаются, значит это нужное удовольствие)
Необходимо мгновенно и беспрерывно пользователям объяснять сложные идеи простым языком.
Что позволит осваивать новые изделия и новые дополнения в программировании без особых усилий.
Короткие вопросы, через GPT, упрощают доступ к огромным объемам информации.
1.
Дока по темам: "загоните" туда пдф-ы документации, и начните с этого минимума.
Народ с удовольствием поможет поставить на ноги ваше рождающееся дитя! :)
Требуется, чтоб всё, что генерирует OwenGPT, было лаконично, ёмко и правдиво, всегда с точными ссылками!
Это упростит сложные понятия и объяснения, что делает его ценным инструментом для понимания и изучения различных тем.
2.
Для программистов и маркетологов ОВЕН.
GPT выступит в качестве онлайн-тренера и второго мозга, расширит их способности принимать решения и решать проблемы,
не применяя инструмент "грабли" - обращаясь к OwenGPT за рекомендациями по оптимизации сегментов кода и выявления ошибок.
Попросите OwenGPT усовершенствовать ваше произведение иcскуства - получите наслаждение от совершенного создания! (хоть это и тупая железяка, однако...)
Произведение будет отточено беспрерывной обратной связью, не позволяющей морозить глупости.
В итоге получится инструмент для доступа к ценным знаниям и мудрости из огромного количества информации по специфике направления деятельности ОВЕН.
Пора ОВЕН-ам запускать GPT чат, насыщенный документацией по темам.
Сложность изделий фирмы растёт, и человеки на фирме не успевают
увязывать разношёрстные данные - это уже удел нейросетей (ИИ).
А уж с этим попугаем (который GPT) можно болтать бесконечно.
Главное из этой болтовни:
- он будет всё умнее и умнее, общительнее и толковее.
Литература:
https://codelibrary.info/download/09...v_primerah.pdf
https://zoom.cnews.ru/news/item/567439
Тема: OwenGPT - пришла пора начать тему.
Отупление людей растёт, а не сложность устройств. Сколько ты сам ошибок делал, когда на форум пришёл? Сколькко раз тебя в инструкции тыкали? =)Цитата:
Сложность изделий фирмы растёт
Чем больше будет помощников, GPT, хрен чего - тем больше будет тупых инфантилов вида "Ой! Тут экран. Буквы. Не работает. Мигает."
А почему бы и не перенаправить часть вопрошающих, которые не умеют читать в "автоответчик чат-GPT"?
Ведь читать они не научатся.
Да и проблема не в "читать", а в "читать неоправданно много".
Проблема бессистемности документации по продуктам Овен хорошо иллюстрируется
- особенности программирования ПР205 можно понять лишь читая на форуме многословную бесконечную тему по этому прибору
- работа с библиотекой асинхронного доступа к файлам в CODESYS 2.3 описана по крупицам со множеством ошибок в РЭ к ПЛК, описанию к библиотеке, теме на форуме, примера программы (с кривым форматированием - и это пример официалов!) но единого документа нет.
- подбор макроса ПИД регулятора с трёхпозиционным приводом для OwenLogic выливается в чтение несколько тем на сотни страниц (целый день!)
На изучение каждой мелочи уходит неоправданно большое количество времени, на многое - ответы приходят несвоевременно спустя длительное время.
Если ИИ позволит получить "выжимку" по интересующей меня теме - буду только ЗА.
Так этот чат и сейчас уже пишет код для кодесиса по запросам. Проблема только одна, это как правильно создать этот запрос. Если спросишь ерунду, то такое же в ответ и получишь. И не факт, что он сразу заработает. А это опять сопли и слезы непонимающих ТС.
Этот т9 достал, вставляет не мои слова.