PDA

Просмотр полной версии : СПК107 визуализация



lazy
28.10.2019, 13:15
Добрый день!

После закрытия диалогов визуализация не обновляется, на месте диалога серое поле. И Таргет и Web ведут себя одинаково. Куда копать? )

Евгений Кислов
28.10.2019, 13:23
Добрый день.
Если в диалогах используется фон - то его следует убрать.

lazy
28.10.2019, 13:29
Да, вместо фона "прямоугольник" - помогло. Спасибо )

lazy
28.10.2019, 14:49
ок. продолжу.

В диалоговом окне два поля. ввод числа и ввод текста. Таргет ввод - сенсорный экран. Web ввод - клавиатура.

в событии ОnMouseClick -> записать переменную -> тип ввода для текста "ввод текста". для числа - "по умолчанию"

Запускаем на исполнение.
При вводе числа все ок, на таргете выводится Numpad на web - ввод с клавы.
При вводе текста на Web все нормально вводится с клавиатуры, а на таргете тишина просто текст в поле выделяется и все.

Если событии ОnMouseClick -> записать переменную -> тип ввода для текста выбрать Keypad, то с него и ввод и там и там, но хотелось бы текст на Web текст вводить с клавиатуры. Куда копать? )

lazy
28.10.2019, 15:01
ок. разобрался. в ОnMouseClick -> записать переменную -> для всех нужно - "по умолчанию" )

lazy
29.10.2019, 12:52
Еще вопрос.

Вздумал управлять параметрами экрана. Яркость, времена...
В окне "Screen Соотнесение входов/выходов" добавил переменные, вижу, что они меняются, но экран не гаснет и яркость не меняет. Что я делаю не так? )

45356

Евгений Кислов
29.10.2019, 12:54
Чтобы управлять через переменные - надо на вкладке Конфигурация выбрать соответствующий режим.

lazy
29.10.2019, 17:14
Да, нашел исправил заработало )

Еще вопрос. Во втором кодесисе пользовался OWENLIBFILEASYNC.LIB какая библиотека пришла ей на замену для 3.5 sp11?

Евгений Кислов
30.10.2019, 06:31
Да, нашел исправил заработало )

Еще вопрос. Во втором кодесисе пользовался OWENLIBFILEASYNC.LIB какая библиотека пришла ей на замену для 3.5 sp11?

Библиотека CAA File. Но, возможно, будет удобнее воспользоваться компонентом OwenArchiver.
Все описано здесь:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Archives_v2.0.pdf

lazy
06.11.2019, 11:02
Добрый день!

Еще вопрос. Допустим нужно отображать некое число (например rVal: REAL) в зависимости от настроек с разным количеством знаков после точки(запятой).

Можно, конечно, в свойстве прямоугольника "Текст" задать %s, а саму переменную преобразовывать в string c нужным количеством знаков... Но хотелось бы чего то более изящного. Например динамически задавать это самое свойство "Текст" %.2f или %.3f...

Можно и заранее настроенные прямоугольники "скрывать" и "показывать" в зависимости от настроек количества знаков, но это тоже не комильфо. Подскажите самый короткий и красивый путь? )

Евгений Кислов
06.11.2019, 11:09
Более простого способа, чем конверсия в STRING (см. готовую функцию в библиотеке OwenStringUtils с задаваемым числом знаков), вероятно, нет.

lazy
06.11.2019, 16:21
Еще вопрос. Возможно ли в таблице тревог временные метки выводить в формате [dd.MM.yy], а не [dd.MM.yyyy]?

Евгений Кислов
06.11.2019, 18:04
Можно.
В библиотеке AlarmManager для этого есть глобальная переменная g_sDateFormat.
Надо в коде программы записать в нее строку с нужным форматированием.

45493

lazy
07.11.2019, 15:25
Спасибо, заработало )

Еще вопрос. Непонятно как в таблице тревог работает скролинг. Создал две таблицы. Одна показывает текущие ошибки, вторая (в другом окне визуализации) показывает историю. Никаких нажатий на таблицах не предусмотрено поэтому в правах доступа для всех групп пользователей стоит "only visable". Но, чтобы в лучае чего можно было скролить все привязано к доступному скролу. Значение скролов привязано к индексам прокрутки таблиц тревог. Конечный индекс скролов рассчитывается в PLC_PRG счетчик тревог таблиц минус количество видимых строк в таблицах. Теперь, если для таблицы где "История" = фальш - все работает ка кнадо, то "историческая" таблица - тупит. После загрузки проекта вообще может ничего не показать, хотя ошибки есть, после тыканий по скролу или при открытии нового окна с таблицей, например в web - начинает показывать. Далее неправильно скролит, - показывает в конце пустую строку, после возврата не показывает первую строку, может показать несколько одинаковых ошибок в соседних строках, а так же, на самой панели после скрола ошибки отличаются от тех которые показывает web, хотя значения индекса одинаковое. итд....

И еще, как сделать чтобы значения скрола для каждого клиента было свое? Завести массив ScrolId[0...кол-во клиентов] а к скролу привязать
ScrolId[текущий клиент]? Как эта переменная называется CurrentVisu?

PS: причем заметил, скролинг начинает так себя вести только на web и на таргете при включении web. один таргет без web - работает как надо.

lazy
15.11.2019, 12:30
Добрый день! Есть поле которое отображается в двоичном виде (свойство "Текст" = %b )
Как организовать его ввод в таком же виде, то есть вводить только единички и нули?

Евгений Кислов
15.11.2019, 12:45
Добрый день! Есть поле которое отображается в двоичном виде (свойство "Текст" = %b )
Как организовать его ввод в таком же виде, то есть вводить только единички и нули?

В настройках диалога ввода можно задать ограничения на мин. и макс. вводимое значение.

lazy
15.11.2019, 13:37
В настройках диалога ввода можно задать ограничения на мин. и макс. вводимое значение.

Мин, Макс - понятно. Имеется в виду, что ввод осуществляется все равно в десятичном виде. И например, вводя 11 получаем-то 1011, а нужно - 3, только отображение в единичках-нулях. Например, маска состояний выходов при обрыве связи(аварии) - удобно же вводить в двоичном виде. Неплохо бы в окне ввода вообще все кроме 1 и 0 заблокировать.

Евгений Кислов
15.11.2019, 15:15
Мин, Макс - понятно. Имеется в виду, что ввод осуществляется все равно в десятичном виде. И например, вводя 11 получаем-то 1011, а нужно - 3, только отображение в единичках-нулях. Например, маска состояний выходов при обрыве связи(аварии) - удобно же вводить в двоичном виде. Неплохо бы в окне ввода вообще все кроме 1 и 0 заблокировать.

Теперь понял вопрос. К сожалению, такого режима ввода нет - только DEC или HEX.
Можно при желании сделать свою клавиатуру на базе стандартных.

lazy
15.11.2019, 16:24
Можно при желании сделать свою клавиатуру на базе стандартных.

Как сделать такую клаву понятно, как ее вызывать - нет ) Примерчик бы... или ссылку на него.

Евгений Кислов
15.11.2019, 16:47
Как сделать такую клаву понятно, как ее вызывать - нет ) Примерчик бы... или ссылку на него.

https://owen.ru/forum/showthread.php?t=28167&page=3&p=270956&viewfull=1#post270956

Юра54
21.12.2022, 13:35
6471864719
Евгений, здравствуйте!
Смотрю одновременно одну и ту же страницу на компьютере и на СПК.
В web визуализации слово "непрерывный" легко читается, а чтобы прочесть на экране СПК нужна лупа :(.
Что нужно сделать, чтобы на экране СПК тоже читалось?

Евгений Кислов
21.12.2022, 13:47
6471864719
Евгений, здравствуйте!
Смотрю одновременно одну и ту же страницу на компьютере и на СПК.
В web визуализации слово "непрерывный" легко читается, а чтобы прочесть на экране СПК нужна лупа :(.
Что нужно сделать, чтобы на экране СПК тоже читалось?

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

Cs-Cs
21.12.2022, 17:31
Юра54 Может в слово просто сразу переводы строк вставить и не надеяться на автоматический перенос знаков?

Юра54
22.12.2022, 05:23
Юра54 Может в слово просто сразу переводы строк вставить и не надеяться на автоматический перенос знаков?

Слово из списка текстов, используется в нескольких местах. Так что простое решение потащит за собой дополнительные переделки.
Но если не получится победить по настоящему, так и сделаю.

Евгений Кислов
22.12.2022, 07:02
Слово из списка текстов, используется в нескольких местах. Так что простое решение потащит за собой дополнительные переделки.
Но если не получится победить по настоящему, так и сделаю.

В менеджере визуализации на вкладке Установки шрифта снимите вот эту галочку:

64742

Юра54
22.12.2022, 07:22
[QUOTE=Евгений Кислов;397117]В менеджере визуализации на вкладке Установки шрифта снимите вот эту галочку:

64743
Проблема не решилась, а изменилась. :)
Можно сделать, чтобы слово переносилось на другую строку по частям, также как в веб-визуализации?

Евгений Кислов
22.12.2022, 07:43
64743
Проблема не решилась, а изменилась. :)
Можно сделать, чтобы слово переносилось на другую строку по частям, также как в веб-визуализации?

Думаю, что нет.
Либо размер прямоугольников увеличивать, либо, как предложил Cs-Cs - вручную расставлять переносы в строке.
"Разрыв строки" для таргет-визуализации полноценно так и не поддержали, судя по баг-трекеру CODESYS.

Юра54
22.12.2022, 09:59
Понял, спасибо!