Вход

Просмотр полной версии : CODESYS V3.5. Визуализация



Страницы : 1 2 3 4 5 6 7 8 9 10 11 [12]

GoodLuck
28.03.2025, 12:25
Здравствуйте!

Возможно ли открыть диалоговое окно из кода программы?

Евгений Кислов
28.03.2025, 12:29
Здравствуйте!

Возможно ли открыть диалоговое окно из кода программы?

Добрый день.
Да.
Cм. FbOpenDialog в библиотеке Visu Utils.
Скучные подробности здесь в п. 1.4 и смежных с ним пунктах:
https://ftp.owen.ru/CoDeSys3/98_Books/CodesysVisuIecCode.pdf

artem287
02.04.2025, 09:38
Здравствуйте. Есть ли возможность через библиотеку OwenVisuTools на графике отображать только резкие скачки значений (т.е. если значения меняются резко вверх\вниз) и можно ли вообще такое сделать, есть ли какой-то может пример?

Евгений Кислов
02.04.2025, 10:10
Здравствуйте. Есть ли возможность через библиотеку OwenVisuTools на графике отображать только резкие скачки значений (т.е. если значения меняются резко вверх\вниз) и можно ли вообще такое сделать, есть ли какой-то может пример?

Добрый день.
OwenVisuTools не поддерживает такую возможность.

artem287
02.04.2025, 15:06
Добрый день. Я в визуализации настроил Alarm, и вывел таблицу. Работает так: если значение переменной x изменяется, отображается сообщение в таблице с параметрами: дата и время, сообщение, значение переменной x (триггерная переменная 1) и значение переменной x которое было до изменения (триггерная переменная 2). Если я не подтверждаю данное сообщение и заново меняю переменную х, то в таблице дата и время меняется, а триггерная переменная 1 и 2 остаются такие же (именно их отображение в таблице). Но если подтверждаю и меняю, все ок. Можно ли как-то сделать так чтобы они тоже менялись в реальном времени при изменении?

Belletein
12.04.2025, 16:34
Здравствуйте, можете подсказать почему при подключении по веб к панели на android и пк визуализация отображается нормально, а при подключении с айфона на некоторых элементах кресты. Прибор СПК110, версия codesys 3.5 sp17.8305483055

Cs-Cs
12.04.2025, 19:45
Belletein Скорее всего формат картинок, которыми эти элементы вставлены, не поддерживается.
Можно попробовать перевести всё в поддерживаемые форматы ипа BMP/JPG.

Ароха
14.04.2025, 11:33
Здравствуйте. Как можно сделать REFERENCE TO ANY_INT.

Belletein
14.04.2025, 12:01
Здравствуйте, можете подсказать почему при подключении по веб к панели на android и пк визуализация отображается нормально, а при подключении с айфона на некоторых элементах кресты. Прибор СПК110, версия codesys 3.5 sp17.8305483055

Помогла замена всех элементов с bmp на png

TaPX
15.04.2025, 10:38
Доброе утро. Памажити! Вставляю фоном изображение в формате png, в кодесис в отладке все отображается, а в браузере в это время вместо фона красный крест. Почему так?
8311483115
p.s. это может быть потому, что фон у фона (фон самого изображения) не белый, а прозрачный?

Евгений Кислов
15.04.2025, 10:47
Доброе утро. Памажити! Вставляю фоном изображение в формате png, в кодесис в отладке все отображается, а в браузере в это время вместо фона красный крест. Почему так?
8311483115

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

TaPX
15.04.2025, 10:55
Добрый день.
Вероятно, в названии картинки есть символы кириллицы или спецсимволы.
Переименуйте ее и передобавьте в пул изображений.

Благодарю - помогло!

yurya
16.04.2025, 09:44
Добрый день.
При компиляции вылезли эти ошибки, по две на каждое окно визуализации.
Подскажите, пожалуйста, где эти переменные? Куда смотреть?
83132

Евгений Кислов
16.04.2025, 10:18
Добрый день.
При компиляции вылезли эти ошибки, по две на каждое окно визуализации.
Подскажите, пожалуйста, где эти переменные? Куда смотреть?
83132

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

yurya
16.04.2025, 11:08
Ссылка: https://cloud.mail.ru/public/oxmZ/j6DJeP648
Пароль: 070607. Проект в 3.5.17.3.
После того как я его скачал по ссылке и открыл, ошибок не было. Тот, который на ПК при компиляции выдает ошибки.

Евгений Кислов
16.04.2025, 11:17
Ссылка: https://cloud.mail.ru/public/oxmZ/j6DJeP648
Пароль: 070607. Проект в 3.5.17.3.
После того как я его скачал по ссылке и открыл, ошибок не было. Тот, который на ПК при компиляции выдает ошибки.

У меня в выложенном вами проекте никаких ошибок не возникает.
Он успешно загрузился в виртуальный контролер и запустился.
Если у вас проблема с этим проектом на конкретном ПК - то, пожалуйста, напишите на support@owen.ru и подготовьте удаленный доступ к тому конкретному ПК.

yurya
16.04.2025, 11:21
А что это за переменные, с которых я начал? Где их можно увидеть в CODESYS?
Скачанный по ссылке проект на том же ПК ошибок не выдал. Как такое возможно?

Евгений Кислов
16.04.2025, 11:30
А что это за переменные, с которых я начал? Где их можно увидеть в CODESYS?
Скачанный по ссылке проект на том же ПК ошибок не выдал.

Нигде. Это системные переменные, сгенерированные для ваших визуализаций.

yurya
16.04.2025, 11:35
Просто сохранил проект под новым именем и ошибки пропали.
Не понятно.

Ароха
21.04.2025, 14:15
Здравствуйте, Есть ли элемент визуализации, для ввода IP адреса. Или, может можно как-то задать маску для простого текстового поля?

Евгений Кислов
21.04.2025, 15:14
Здравствуйте, Есть ли элемент визуализации, для ввода IP адреса. Или, может можно как-то задать маску для простого текстового поля?

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

artem287
29.04.2025, 13:24
Добрый день. В проекте хочу реализовать отображение время выхода пользователя из сессии. Поставил 8 часов (фото 1). В текстовом поле поставил соответствующие переменные (фото 2). (Фото 3) - проблема, таймер не отсчитывает, на 1-2 с уходит, а потом прыгает снова на 8 ч. По итогу, отчет идет 1-2 с и начинается снова.

МихаилГл
29.04.2025, 14:26
Так надо эти 8 часов ничего не трогать

CFC-ST
30.04.2025, 15:03
Добрый день! в программе есть переменная типа WORD. хочу в визуализации изменять эту переменную из элемента типа прямоугольник. Менять могу и всё работает, но индикация в 16 виде. Можно ли не меняя основную программ, а что-то дописав (например {TO_STRING(PLC_PRG.ReadWrite, '%u') раздел Тексты, подраздел Tекст} в элемент прямоугольник выводить в десятичном виде. Кстати, а ввод при этом в 16 или 10 виде? что-то я запутался.

kondor3000
30.04.2025, 18:07
Добрый день! в программе есть переменная типа WORD. хочу в визуализации изменять эту переменную из элемента типа прямоугольник. Менять могу и всё работает, но индикация в 16 виде. Можно ли не меняя основную программ, а что-то дописав (например {TO_STRING(PLC_PRG.ReadWrite, '%u') раздел Тексты, подраздел Tекст} в элемент прямоугольник выводить в десятичном виде. Кстати, а ввод при этом в 16 или 10 виде? что-то я запутался.

Откуда она в 16-ричном виде?
Вы сами можете переключить в программе отображение, обычно оно в десятичном и отображается в Визу как %d или %s.

Если же вы получаете в таком виде, например время из панели, то есть ФБ конвертации
Конвертация времени BCD формата панелей, HEX в DEC и обратно DEC в HEX https://owen.ru/forum/showthread.php?t=38239&page=20#200

CFC-ST
30.04.2025, 20:23
Откуда она в 16-ричном виде?
Вы сами можете переключить в программе отображение, обычно оно в десятичном и отображается в Визу как %d или %s.

Если же вы получаете в таком виде, например время из панели, то есть ФБ конвертации
Конвертация времени BCD формата панелей, HEX в DEC и обратно DEC в HEX https://owen.ru/forum/showthread.php?t=38239&page=20#200

спасибо. Но я бы хотел не менять программу, а изменения вность только в элемент визуализации. Просто когда много переменных WORD, то каждой нужно будет делать свою дополнительную(вроде). 835908359183592 На вложении видно, что OPC показывает 21, в регистрах TCP/IP 21, а в визуализации 15 (шестнадцатеричное).

Евгений Кислов
30.04.2025, 21:04
спасибо. Но я бы хотел не менять программу, а изменения вность только в элемент визуализации. Просто когда много переменных WORD, то каждой нужно будет делать свою дополнительную(вроде). 835908359183592 На вложении видно, что OPC показывает 21, в регистрах TCP/IP 21, а в визуализации 15 (шестнадцатеричное).

Выложите ваш проект - посмотрим, в чем дело.

CFC-ST
30.04.2025, 21:58
Выложите ваш проект - посмотрим, в чем дело.

я бы рад, только не пойму как выложить (погуглил, сам поискал - нет успеха) и только еще вопрос только файл связь 5.project (там еще с другими расширениями).
подскажите как выложить

вот так может?https://disk.yandex.ru/d/I-qrvWHCzckUsQ

и еще вопрос это slave modbus tcp, а master - на masterOPC. не получается вводить данные в визуализации Codesys и в таблице соответствия (не хочет изменять)

Евгений Кислов
01.05.2025, 06:29
я бы рад, только не пойму как выложить (погуглил, сам поискал - нет успеха) и только еще вопрос только файл связь 5.project (там еще с другими расширениями).
подскажите как выложить

вот так может?https://disk.yandex.ru/d/I-qrvWHCzckUsQ

и еще вопрос это slave modbus tcp, а master - на masterOPC. не получается вводить данные в визуализации Codesys и в таблице соответствия (не хочет изменять)

У меня с выложенным проектом проблема не воспроизводится:

83595

Напишите мне в понедельник утром в телеграм (см. в подписи) и подготовьте доступ по AnyDesk - посмотрим, что у вас происходит.


не получается вводить данные в визуализации Codesys и в таблице соответствия (не хочет изменять)

Это тоже давайте обсудим в понедельник.

CFC-ST
01.05.2025, 09:11
У меня с выложенным проектом проблема не воспроизводится:

83595

Напишите мне в понедельник утром в телеграм (см. в подписи) и подготовьте доступ по AnyDesk - посмотрим, что у вас происходит.



Это тоже давайте обсудим в понедельник.

спасибо. тема для меня интересная. попробую сам, а в понедельник свяжемся.

Ароха
12.05.2025, 11:43
Здравствуйте, есть руководство по работе с рецептами: сохранение в файл, получение и отображение списка рецептов, выбор из списка и загрузка, импорт на внешний диск или на компьютер по сети. Желательно не видео.

Евгений Кислов
12.05.2025, 12:11
Здравствуйте, есть руководство по работе с рецептами: сохранение в файл, получение и отображение списка рецептов, выбор из списка и загрузка, импорт на внешний диск или на компьютер по сети. Желательно не видео.

Добрый день.
https://www.youtube.com/playlist?list=PLUw7cl8x4xnKYWlxbYmcKnwpUBMY6uzP7

artem287
21.05.2025, 19:13
Добрый вечер. Пытаюсь запустить проект в эмуляции, а ничего не происходит. Галочка при эмуляции есть, нажимаю Пуск (Логин), раньше хоть была видна какая-то загрузка в нижней панели, сейчас некоторое время ничего не происходит и появляется окно - нет соединения с gateway, при этом он запущен (фото). Проект пересохранял, добавлял новый gateway, через компиляцию - очистить все делал, ничего не помогает.

Евгений Кислов
21.05.2025, 19:14
Добрый вечер. Пытаюсь запустить проект в эмуляции, а ничего не происходит. Галочка при эмуляции есть, нажимаю Пуск (Логин), раньше хоть была видна какая-то загрузка в нижней панели, сейчас некоторое время ничего не происходит и появляется окно - нет соединения с gateway, при этом он запущен (фото). Проект пересохранял, добавлял новый gateway, через компиляцию - очистить все делал, ничего не помогает.

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

artem287
21.05.2025, 19:22
Только такой получилось, архив пишет слишком большой

Евгений Кислов
21.05.2025, 19:52
Только такой получилось, архив пишет слишком большой

У меня выложенный вами проект в эмуляции запустился.

83890

Попробуйте для начала перезагрузить ПК.

Надо отметить, что тренды и обмен по Modbus в режиме эмуляции работать не будут.
Но их можно отладить на виртуальном контроллере:
https://oscat.ru/wp-content/Video/CodesysOneLove/MainPlaylist/062_SimulationAndCodesysControlWin.mp4

artem287
21.05.2025, 20:50
У меня выложенный вами проект в эмуляции запустился.

83890

Попробуйте для начала перезагрузить ПК.

Надо отметить, что тренды и обмен по Modbus в режиме эмуляции работать не будут.
Но их можно отладить на виртуальном контроллере:
https://oscat.ru/wp-content/Video/CodesysOneLove/MainPlaylist/062_SimulationAndCodesysControlWin.mp4

Проделал, также не помогает

Евгений Кислов
22.05.2025, 06:07
Проделал, также не помогает

Напишите, пожалуйста, в телеграм (см. в подписи) или на support@owen.ru

TaPX
26.05.2025, 11:44
Добрый день. Как настроить отображение визуализации с 8443-го порта? Галочка стоит в правилах траффика, а страница не открывается.84009

Евгений Кислов
26.05.2025, 11:46
Добрый день. Как настроить отображение визуализации с 8443-го порта? Галочка стоит в правилах траффика, а страница не открывается.84009

Добрый день.
п. 11.4: https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Faq_v.3.5.pdf

artem287
02.06.2025, 13:07
Добрый день, пытаюсь настроить отчистку истории тревог. Добавим стандартный код, написал условие (что код выполняется когда при нажатии кнопки), ну подвязал переменную к кнопке.
При запуске и отчистке ничего не происходит. Почти все аварии типа ACK-REP, пробовал менять itfAlarmConfiguration7.ClearHistory(xKeepActiveAla rms := TRUE (на FALSE); не помогает.

kondor3000
02.06.2025, 13:27
Добрый день, пытаюсь настроить отчистку истории тревог. Добавим стандартный код, написал условие (что код выполняется когда при нажатии кнопки), ну подвязал переменную к кнопке.
При запуске и отчистке ничего не происходит. Почти все аварии типа ACK-REP, пробовал менять itfAlarmConfiguration7.ClearHistory(xKeepActiveAla rms := TRUE (на FALSE); не помогает.

А у вас эта программа POU привязана к задачам?
Или она должна вызываться из основной программы, у вас как?

artem287
02.06.2025, 13:35
А у вас эта программа POU привязана к задачам?
Или она должна вызываться из основной программы, у вас как?

Не заметил, привязал в конфигурацию задач. Поменялся i c 0 на 1, но так и не очищает.
Из основной программы не вызывается, является отдельной.

UPD: поменял значение в последней строке на FALSE и все работает. Спасибо.

Забодай тебя комар
02.06.2025, 15:30
Повесил на кнопку "OnMouseDown" два действия: переход на предыдущую визуализацию и выполнение ST-кода.
Код устанавливает в FALSE переменную, которая устанавливается в TRUE при изменении значения других элементов управления.
В результате получается, что события кнопки обрабатываются не одновременно, а поочередно, т.е. чтобы уйти с визуализации надо 2 раза нажать на кнопку. При чем это только на экране ПЛК и в ВЕБ-визуализации, в CODESYS оба срабатывают по одному клику мышкой.

Почему так? Что я сделал не правильно?
Есть ли возможность обработать событие "активация визуализации" и/или "деактивация" (по аналогии с onShow и onHide в других системах программирования)?

Забодай тебя комар
02.06.2025, 15:54
Курсор можно отключить в конфигураторе СПК на вкладке Дополнительно. См. СПК. FAQ, п. 5.

Не наблюдаю такой вкладки в ВЕБ-конфигураторе СПК110...

Евгений Кислов
02.06.2025, 17:06
Не наблюдаю такой вкладки в ВЕБ-конфигураторе СПК110...

Речь об экранном конфигураторе.

По остальным вопросам - напишите мне в телеграм, пожалуйста (см. в подписи).

ShikuS
05.06.2025, 11:32
Добрый день!

Пытаюсь разобраться с клавиатурой NumpadOwen. Хочу реализовать ввод пароля без логина, т.е. переход на другую визуализацию при нужном значении.
Подскажите, как можно перехватить значение, которое вводится, в какой переменной оно сохраняется (или обрабатывается при вводе) для обработки?
Или же обработка введенного значения возможна только после нажатия на "галочку" с последующей обработкой. Но опять же в какой переменной хранится значение ввода

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

Буду весьма благодарен за ответ

Евгений Кислов
05.06.2025, 12:12
Добрый день!

Пытаюсь разобраться с клавиатурой NumpadOwen. Хочу реализовать ввод пароля без логина, т.е. переход на другую визуализацию при нужном значении.
Подскажите, как можно перехватить значение, которое вводится, в какой переменной оно сохраняется (или обрабатывается при вводе) для обработки?
Или же обработка введенного значения возможна только после нажатия на "галочку" с последующей обработкой. Но опять же в какой переменной хранится значение ввода

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

Буду весьма благодарен за ответ

Добрый день.
Напишите мне в телеграм, пожалуйста (см. в подписи), чтобы более предметно обсудить ваш вопрос.

Дмитрий Цыгулёв
10.06.2025, 16:25
Добрый день! Возникла необходимость изменения трендов в проекте с дефолтных, на те что хранятся в библиотеке OwenVisuTools. (дефолтные тренды периодически уходят в отказ как проблеме, описанной в данной теме https://owen.ru/forum/showthread.php?t=28167&page=7&p=325383&viewfull=1#post325383).
Столкнулся со следующей проблемой - при попытке прикрутить графическую часть (OwenTrendFrame) выскакивают следующие ошибки - представлены на фото84262.
На входы функционального блока вроде как все необходимые данные подал (возможно где-то ошибся, со структурами столкнулся впервые, но во всяком случае ошибок до прикручивания фрейма не выдаётся). 84266.
Подскажите, пожалуйста в чём может быть проблема? Сам поискал, но конкретно с подобной проблемой не смог найти никаких данных

Евгений Кислов
10.06.2025, 17:01
Добрый день! Возникла необходимость изменения трендов в проекте с дефолтных, на те что хранятся в библиотеке OwenVisuTools. (дефолтные тренды периодически уходят в отказ как проблеме, описанной в данной теме https://owen.ru/forum/showthread.php?t=28167&page=7&p=325383&viewfull=1#post325383).
Столкнулся со следующей проблемой - при попытке прикрутить графическую часть (OwenTrendFrame) выскакивают следующие ошибки - представлены на фото84262.
На входы функционального блока вроде как все необходимые данные подал (возможно где-то ошибся, со структурами столкнулся впервые, но во всяком случае ошибок до прикручивания фрейма не выдаётся). 84266.
Подскажите, пожалуйста в чём может быть проблема? Сам поискал, но конкретно с подобной проблемой не смог найти никаких данных

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

Дмитрий Цыгулёв
11.06.2025, 09:19
Добрый день.
Выложите, пожалуйста, ссылку на простейший проект, в котором я смогу увидеть эту ошибку.

Евгений, здравствуйте! При создании простейшего проекта подобная проблема отсутствует - создал проект где есть только ФБ для компановки тренда, укомплектовал его, создал фрейм - всё работает.

А вот на существующем проекте - затык.

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

Евгений Кислов
11.06.2025, 09:21
Евгений, здравствуйте! При создании простейшего проекта подобная проблема отсутствует - создал проект где есть только ФБ для компановки тренда, укомплектовал его, создал фрейм - всё работает.

А вот на существующем проекте - затык.

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

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

Дмитрий Цыгулёв
11.06.2025, 09:22
Добрый день.
На каком из выложенных проектов проявляется ошибка?

84282
В данном проекте

Upd.- Прошу прощения, проекты вернул в прежнем сообщении. Файл проверка библиотеки - это собственно простейший проект, где всё работает нормально

Евгений Кислов
11.06.2025, 09:55
84282
В данном проекте

Upd.- Прошу прощения, проекты вернул в прежнем сообщении. Файл проверка библиотеки - это собственно простейший проект, где всё работает нормально

Удалите из менеджера библиотек проекта библиотеку VisuFPlot.
После этого выполните команду Компиляция - Генеририровать код.

Дмитрий Цыгулёв
11.06.2025, 10:04
Удалите из менеджера библиотек проекта библиотеку VisuFPlot.
После этого выполните команду Компиляция - Генеририровать код.

Огромное спасибо! Помогло! Не могли бы Вы объяснить как в таких случаях определить с чем именно конфликт происходит?

Евгений Кислов
11.06.2025, 10:08
Огромное спасибо! Помогло! Не могли бы Вы объяснить как в таких случаях определить с чем именно конфликт происходит?

Я удалил из проекта всё, кроме экрана с трендом, и ошибки не исчезли.
Тогда начал из менеджера библиотек удалять библиотеки, которые казались мне сомнительными (их там, на самом деле, очень много - библиотек, которые добавлены, но реально в проекте не используются).
В итоге обнаружил конкретную библиотеку, которая приводила к конфликту.

Дмитрий Цыгулёв
11.06.2025, 12:04
Евгений, прошу прощения, ещё раз Вас потревожу. Возникла следующая проблема - при компиляции проекта никаких ошибок нет, но при попытке загрузки проекта в виртуальный контроллер для отладки выскакивают следующие ошибки84293.
Следуя инструкции из Вашего видео про плейсхолдеры вышел на то что проблема в библиотеке CmpOwenPidRegs, но в видео описывается вариант, когда версия таргета контроллера ниже версии плейсхолдера и там проблема в этом. В видео при откатывании библиотеки на более старую версию проблема исчезает.

В моём же случае версия таргета виртуального контроллера 3.5.17.30, версия CmpOwenPidRegs 3.5.14.33 (и она последняя, я вприниципе других версий у Вас на сайте не увидел).
Причём версия таргета виртуального контроллера совпадает с версией таргета физического контроллера, а исходный проект, который содержит данную библиотеку отлично логинится с физическим контроллером.
Это какая-то особенность виртуального контроллера? Можно ли мне как-то обойти данную проблему не выпиливая из проекта все элементы, взятые из данной библиотеки? Потому что в простейший проект когда добавляю элементы из библиотеки CmpOwenPidRegs, то компиляция тоже проходит без проблем, а вот при загрузке в виртуальный контроллер вываливаются те же ошибки.

Евгений Кислов
12.06.2025, 15:44
Это какая-то особенность виртуального контроллера? Можно ли мне как-то обойти данную проблему не выпиливая из проекта все элементы, взятые из данной библиотеки? Потому что в простейший проект когда добавляю элементы из библиотеки CmpOwenPidRegs, то компиляция тоже проходит без проблем, а вот при загрузке в виртуальный контроллер вываливаются те же ошибки.

Эта библиотека поддержана только в прошивках наших контроллеров, виртуальный контролер о ней ничего не знает.
Поэтому придется "выпиливать" (например, закомментировать) ее объекты.

Votrj1
18.06.2025, 13:32
Решил попробовать ваши Овеновские тренды. Собрал тест. Главный вопрос: почему если я на ходу нажал стереть график, то отображения, например при осиХ=5 минут, ждать 5 минут. Или если на экране в информации дыра тогда применения настроек визуализации, например масштаб осей Y надо ждать пока все это не проползет по экрану.

Евгений Кислов
18.06.2025, 13:35
Решил попробовать ваши Овеновские тренды. Собрал тест. Главный вопрос: почему если я на ходу нажал стереть график, то отображения, например при осиХ=5 минут, ждать 5 минут. Или если на экране в информации дыра тогда применения настроек визуализации, например масштаб осей Y надо ждать пока все это не проползет по экрану.

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

Votrj1
18.06.2025, 13:59
Добрый день.
Приложите, пожалуйста, видео, с помощью кототорого можно будет понять ваши действия и полученный результат.


Вот тест. Нажмите например крест, это будет Clear(). После этого 5 минут ждать синусоиду. Второй вариант , выключить тренды (кнопка ПУСК) , перезагрузить СПК, ОПЯТЬ ВКЛЮЧИТЬ ПУСК, будет зазор во времени, пока дыра не проползет по экрану масштаб осей Y не применится иногда, или вообще ничего 5 мин.

Votrj1
18.06.2025, 14:29
Вот тест. Нажмите например крест, это будет Clear(). После этого 5 минут ждать синусоиду. Второй вариант , выключить тренды (кнопка ПУСК) , перезагрузить СПК, ОПЯТЬ ВКЛЮЧИТЬ ПУСК, будет зазор во времени, пока дыра не проползет по экрану масштаб осей Y не применится иногда, или вообще ничего 5 мин.

И видео еще.

Евгений Кислов
18.06.2025, 15:18
Спасибо, завтра утром изучу ваши материалы.

Евгений Кислов
19.06.2025, 07:10
И видео еще.

По п. 1 - не смог у себя повторить вашу проблему. Свяжитесь, пожалуйста, со мной по телеграм (см. в подписи), чтобы мы смогли более детально обсудить ее.
По п. 2 - это связано с логикой работы настройки lrStopValue из структуры TREND_VISU_SETTINGS. По умолчанию она имеет значение -50. Вы можете, например, присвоить ей 0, чтоб избежать "провалов" (индицирующих периоды отсутствия данных) после перезагрузки.
См. подробности в п. 4.2.1:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_OwenVisuTools_v3.0.pdf

Валерий_Н
23.06.2025, 11:47
Добрый день. В действии "Передача файлов" есть поле "Управляющие флаги", которое не описано в документации. Для чего оно и как им пользоваться? 84480

Евгений Кислов
23.06.2025, 12:00
Добрый день. В действии "Передача файлов" есть поле "Управляющие флаги", которое не описано в документации. Для чего оно и как им пользоваться? 84480

Добрый день.
https://content.helpme-codesys.com/en/CODESYS%20Visualization/_visu_dlg_input_configuration.html



Note: The variable is evaluated only for transfer direction From Visualization to PLC.

Variable (type DWORD) // битовая маска флагов

Determines how the object (file or instance object) is handled on the file system of the PLC. Two flags are provided for this with which the variable can be set.

Flag 1: VisuElems.VisuEnumFileTransferControlFlags.UseOrig inalFileName

Flag 2: VisuElems.VisuEnumFileTransferControlFlags.Confirm FileOverwriteInPlc

Options
No flag set:

The user selects a file which is saved in the path specified in File name or Streaming instance name.

Flag 1 is set:

The path, which is specified by the user at visualization runtime, is applied and used as the path in the PLC file system.

Both flags are set:

The path is also checked. If an object already exists in the path specified on the client side, then a message prompt is displayed in the visualization. There the visualization user can confirm that the file will be overwritten.

ВладОвен
27.06.2025, 12:11
привет.
подскажите по такому вопросу.
как и куда правильно положить текстовый файл, для того что он отображался к окне "текстовый редактор"?
как настроить этот граф.примитив?

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

Евгений Кислов
27.06.2025, 18:29
Добрый день.


как и куда правильно положить текстовый файл

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


я включил нужный файл в дерево проекта

...и после загрузки проекта он окажется в директории /.../PlcLogic/Application, где /... - путь к рабочей директории CODESYS, который зависит от вашего конкретного контроллера.


указал его имя

Надо указывать полный путь к файлу.


но на экране визуализации - пустой текстовый редактор.

Чтобы открыть файл - надо булевской переменной, привязанной к свойству Open, присвоить TRUE.

https://content.helpme-codesys.com/en/CODESYS%20Visualization/_visu_elem_text_editor.html
https://content.helpme-codesys.com/en/CODESYS%20Examples/_ex_visu_text_editor.html

ВладОвен
30.06.2025, 13:45
Спасибо за помощь.

Не открывается файл с размером 80 кБ. А файл в размером в 1 кБ открывается. Есть какие-то ограничения по размеру?

Не могу отобразить кириллицу. Как это можно сделать?

Евгений Кислов
30.06.2025, 15:15
Не открывается файл с размером 80 кБ. А файл в размером в 1 кБ открывается. Есть какие-то ограничения по размеру?


На каком устройстве вы проводите тест?



Не могу отобразить кириллицу. Как это можно сделать?

Вероятно, потребуется сохранить файл с Unicode-кодировкой и выбрать её в параметре элемента Character encoding.
См. также параметр New line character sequence.

ВладОвен
01.07.2025, 11:53
Евгений, это сложная тема. Создал отдельную ветку:
https://owen.ru/forum/showthread.php?t=41562

TaPX
07.07.2025, 14:34
Добрый день. Никто не сталкивался с таким поведением трендов? Пишет с прерываниями, через какое-то время отваливается флешка - нужно перемонтировать ручками через веб-морду плк. Менять флешку?
84713

Евгений Кислов
07.07.2025, 15:23
Добрый день. Никто не сталкивался с таким поведением трендов? Пишет с прерываниями, через какое-то время отваливается флешка - нужно перемонтировать ручками через веб-морду плк. Менять флешку?
84713

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

TaPX
07.07.2025, 15:46
Добрый день.
Попробовать с другой флэшкой - хорошая мысль.
"Прерывания" визуально похожи на индикацию отсутствия данных. Например, если отключить контроллер на некоторое время, а потом включить - на тренде период отключения должен отобразиться именно так.

тогда вопрос - кто с такой периодичностью включает/выключает контроллер? )

Евгений Кислов
07.07.2025, 17:31
тогда вопрос - кто с такой периодичностью включает/выключает контроллер? )

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

pt200
08.07.2025, 08:28
Что то не нашел примеров:
1) Как можно сделать Table со столбцом из ComboBox"ов
2) Как добавить в Table "виртуальные" столбцы(т.е. без переменных) с кнопками(например для функционала INSERT / DELETE)

Евгений Кислов
08.07.2025, 08:35
Что то не нашел примеров:
1) Как можно сделать Table со столбцом из ComboBox"ов
2) Как добавить в Table "виртуальные" столбцы(т.е. без переменных) с кнопками(например для функционала INSERT / DELETE)

1) Такой возможности нет
2) У этих столбцов все равно будут переменные - просто вы можете их не использовать.

TaPX
08.07.2025, 15:31
Я не утверждаю, что у вас происходит именно это - вам на месте, безусловно, виднее, что происходит с контроллером.
Возможно, это просто последствия предполагаемых проблем с флэшкой.

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

Евгений Кислов
08.07.2025, 15:34
Евгений, а может быть такая проблема, если просто модбас-слейв устройство, откуда плк читает данные для записи в тренд, отвалилось кратковременно со связи? Или в таком случае в тренде ступенька будет в ноль и обратно?

Либо ступенька в 0, либо будет отображаться последнее считанное значение (в зависимости от настроек канала Modbus).

TaPX
08.07.2025, 15:35
Либо ступенька в 0, либо будет отображаться последнее считанное значение (в зависимости от настроек канала Modbus).

благодарю за информацию )

GoodLuck
09.07.2025, 14:18
Добрый день!

Подскажите, СПК210 поддерживает прозрачность? Надо сделать элемент Прямоугольник белым полупрозрачным.

Евгений Кислов
09.07.2025, 15:44
Добрый день!

Подскажите, СПК210 поддерживает прозрачность? Надо сделать элемент Прямоугольник белым полупрозрачным.

Добрый день.
Да, поддерживает.

GoodLuck
09.07.2025, 15:54
Добрый день.
Да, поддерживает.

Подскажите, пожалуйста, как это сделать. Не могу найти в свойствах параметр Прозрачность.

Евгений Кислов
09.07.2025, 15:55
Подскажите, пожалуйста, как это сделать. Не могу найти в свойствах параметр Прозрачность.

См. скриншот:

84754

GoodLuck
09.07.2025, 16:03
См. скриншот:

84754

Странно... У меня ничего нет...


UPD. Создаю пустой проект, добавляю Прямоугольник, прозрачность на месте.

Евгений Кислов
09.07.2025, 16:26
Странно... У меня ничего нет...


UPD. Создаю пустой проект, добавляю Прямоугольник, прозрачность на месте.

Проверьте, что в менеджере визуализации установлена галочка Semi-transparent drawing (на русском, кажется, "полупрозрачное рисование").

Назаров Александр
22.07.2025, 11:18
Добрый день! Три контроллера 210. Абсолютно идентичные программы. На одном из ПЛК подвисает визуализация. Скриншоты сделаны с интервалом в 14 сек. Счетчики VIZU.TASK не обновляются. Затем что то прорывается и начинает работать. Что с этим можно или нужно сделать?

Евгений Кислов
22.07.2025, 11:41
Добрый день! Три контроллера 210. Абсолютно идентичные программы. На одном из ПЛК подвисает визуализация. Скриншоты сделаны с интервалом в 14 сек. Счетчики VIZU.TASK не обновляются. Затем что то прорывается и начинает работать. Что с этим можно или нужно сделать?

Добрый день.
Я предлагаю начать с обращения в support@owen.ru, чтобы мы смогли более детально изучить вашу ситуацию.

pt200
26.07.2025, 22:05
А зачем визуализация создает себе экземпляры моих обьектов?


....
[WARNING] unf_153a_3281178: APP_CF [Device: PLC Logic: Application](Line 123 (Decl)): C0244: No matching instance path in VAR_PERSISTENT list found for variable __VisuInitInstantiation_Gvl.visu__inst__FP_CFG_CF_ EXT_DIALOG.cf.m_instrument_center1. Use the command "Add all instance paths" to add all instance paths to the VAR_PERSISTENT list. (See Help for details)
[WARNING] unf_153a_3281178: APP_CF [Device: PLC Logic: Application](Line 124 (Decl)): C0244: No matching instance path in VAR_PERSISTENT list found for variable __VisuInitInstantiation_Gvl.visu__inst__FP_CFG_CF_ EXT_DIALOG.cf.m_instrument_center2. Use the command "Add all instance paths" to add all instance paths to the VAR_PERSISTENT list. (See Help for details)
....


Что это за дич такая "__VisuInitInstantiation_Gvl"?
Она еще и ритэйн под себя требует получается?

================================================== ================================================== ======================
Вроде разобрался, интерфесы дилога:


VAR_IN_OUT xxx:MyObject
VAR_INPUT xxx:REFERENCE TO MyObject
VAR_INPUT xxx:POINTER TO MyObject


И только в 3м случае не будет доп экземпляра, хотя до этого думал что 2 и 3 "равнозначны" внутри(и 1й 2му тоже).

Andrunchic
30.07.2025, 11:55
Добрый день
на ПЛК210-03-CS
Подскажите пожалуйста как из кода программы можно поменять часовой пояс, при подключенном NTP клиенте,
так чтобы после этого время (TargetVars.stRtc.sGetFormatTime) и
системное время в формате Unixtime (TargetVars.stRtc.dtDateAndTime) отображались правильно.

При изменении (TargetVars.stRtc.siSetUtcOffset) и активации триггера (TargetVars.stRtc.xUpdateSettings)
какоето из двух времен всегда неверно !

Евгений Кислов
30.07.2025, 17:55
Добрый день
на ПЛК210-03-CS
Подскажите пожалуйста как из кода программы можно поменять часовой пояс, при подключенном NTP клиенте,
так чтобы после этого время (TargetVars.stRtc.sGetFormatTime) и
системное время в формате Unixtime (TargetVars.stRtc.dtDateAndTime) отображались правильно.

При изменении (TargetVars.stRtc.siSetUtcOffset) и активации триггера (TargetVars.stRtc.xUpdateSettings)
какоето из двух времен всегда неверно !

Добрый день.
Напишите, пожалуйста, завтра утром мне в телеграм (см. в подписи) и подготовьте доступ по AnyDesk - посмотрим, что именно у вас происходит.

Andrunchic
30.07.2025, 18:28
Завтра не смогу, c утра на объекте, можно потом.
А есть какая нибудь команда Codesys для изменения таймзоны, чтобы не пользоваться таргетами из OwenRTC ?

Евгений Кислов
30.07.2025, 19:24
Завтра не смогу, c утра на объекте, можно потом.
А есть какая нибудь команда Codesys для изменения таймзоны, чтобы не пользоваться таргетами из OwenRTC ?

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

Andrunchic
30.07.2025, 20:18
когда меняем через OwenRTC UTC offset то в зависимости от цифры меняется и на данную величину (Application.TargetVars.stRtc.dtDateAndTime) системное время в формате Unixtime, а этого быть недолжно !
Более того при прохождении команды от NTP время может поменяться еще раз на этуже величину.
Если Offset сделать равным 0 то NTP работает правильно, но местное время равно времени в UTC.

kondor3000
30.07.2025, 20:38
когда меняем через OwenRTC UTC offset то в зависимости от цифры меняется и на данную величину (Application.TargetVars.stRtc.dtDateAndTime) системное время в формате Unixtime, а этого быть недолжно !
Более того при прохождении команды от NTP время может поменяться еще раз на этуже величину.
Если Offset сделать равным 0 то NTP работает правильно, но местное время равно времени в UTC.

Делаете синхронизацию по NTP для 0 пояса, прибавляете часовой пояс (+3 часа для Москвы), получаете местное время.
В UTC по ходу так и сделано. Также сделано и в модулях МВ210, если не ошибаюсь.

Andrunchic
30.07.2025, 20:55
Делаете синхронизацию по NTP для 0 пояса, прибавляете часовой пояс (+3 часа для Москвы), получаете местное время.
В UTC по ходу так и сделано. Также сделано и в модулях МВ210, если не ошибаюсь.

после прибавления +3 по москве следующий запрос по NTP установит время UTC на 3 часа меньше

kondor3000
30.07.2025, 21:45
после прибавления +3 по москве следующий запрос по NTP установит время UTC на 3 часа меньше

Сделайте отдельную переменную, в которой будет NTP +3 часа и не трогайте NTP. Какие проблемы то?
Или используйте UTC и не трогайте его.
Вот ещё пример получения времени с помощью функции SysTimeRtcGet
https://owen.ru/forum/showthread.php?t=20069&p=455664&viewfull=1#post455664
https://owen.ru/forum/showthread.php?t=20069&p=455747&viewfull=1#post455747

Andrunchic
30.07.2025, 22:37
Сделайте отдельную переменную, в которой будет NTP +3 часа и не трогайте NTP. Какие проблемы то?
Или используйте UTC и не трогайте его.
Вот ещё пример получения времени с помощью функции SysTimeRtcGet
https://owen.ru/forum/showthread.php?t=20069&p=455664&viewfull=1#post455664
https://owen.ru/forum/showthread.php?t=20069&p=455747&viewfull=1#post455747
К сожалению UTC и NTP должны работать для синхронизации времени, и местное время тоже нужно для журнала и удобства операторов.
Спасибо за ссылки попробую.

xdreddx
15.08.2025, 11:16
Здравствуйте. Не подскажете, существуют ли расширенные библиотеки визуализации с различным технологическим оборудованием (задвижка, насос, бункер, конвейер...)?

Евгений Кислов
15.08.2025, 11:22
Здравствуйте. Не подскажете, существуют ли расширенные библиотеки визуализации с различным технологическим оборудованием (задвижка, насос, бункер, конвейер...)?

Добрый день. Готовых библиотек изображений для CODESYS нет.

pt200
22.08.2025, 10:05
СПК210 3.7.0228.1046 в свежезалитом контроллере слетает "верстка"(в основном выравнивание текста на кнопках/размер шрифта): т.е берешь новый контроллер, заливаешь болванку: на некоторых кнопках шрифт по левому краю(в редакторе и симуляторе все ОК(по центру)) и далее по мере допиливания проекта эти глюки сами както рассасываются(чегото не догрузилось сразу или ....)?

Назаров Александр
05.09.2025, 14:24
Добрый день! Как по кнопке вызвать конкретную визуализацию, например Visu1..Visu3, в зависимости от конкретного экземпляра структуры привязанной во фрейме, например astValue: array [1..3] of stData?
Т.е. по кнопке ГРАФИК переходить на визуализацию тренда Камеры активной в окне.

Евгений Кислов
05.09.2025, 16:44
Добрый день! Как по кнопке вызвать конкретную визуализацию, например Visu1..Visu3, в зависимости от конкретного экземпляра структуры привязанной во фрейме, например astValue: array [1..3] of stData?
Т.е. по кнопке ГРАФИК переходить на визуализацию тренда Камеры активной в окне.

Добрый день.
Кнопки "Камера №1", "Камера №2" и "Камера №3" переключают экраны внутри фрейма?
Как с фреймом соотносится кнопка "График"?
Будет легче вам ответить, если вы выложите простейший пример и описание, как именно его надо доработать.

Назаров Александр
05.09.2025, 18:43
Добрый день.
Кнопки "Камера №1", "Камера №2" и "Камера №3" переключают экраны внутри фрейма?
Как с фреймом соотносится кнопка "График"?
Будет легче вам ответить, если вы выложите простейший пример и описание, как именно его надо доработать.

1. Именно так, переключают структуру фрейма.
2. кнопка "ГРАФИК", допустим BOOL переменная структуры Камера. Можно и по другому, но пока не понимаю решения моей задачи (про вывод трендов).

Самое простое, как видится, это было бы для каждой структуры камера присвоить константу типа sVisuNameTrend: string := 'visuTrend_X'; При нажатии кнопки "ГРАФИК" выполнялся ST код который передает переменную sVisuNameTrend в функцию вызова визуализации. Примерно, тоже что и "Перейти к URL (Webvisu)"

Евгений Кислов
05.09.2025, 18:55
Если для переключения экранов фрейма использовать параметр элемента Фрейм "Переменная-переключатель фрейма", то в каждый момент времени вы будете знать индекс текущего активного фрейма.
Соответственно, на кнопку Тренд можно привязать действие Выполнить ST-код с кодом типа


PLC_PRG.sTrendVisuName := CONCAT('visuTrend_', TO_STRING(PLC_PRG.iCurrentFrameIndex) );

и действие Изменить отображаемую визуализацию - Присвоить выражение - PLC_PRG.sTrendVisuName

Назаров Александр
05.09.2025, 20:48
Если для переключения экранов фрейма использовать параметр элемента Фрейм "Переменная-переключатель фрейма", то в каждый момент времени вы будете знать индекс текущего активного фрейма.
Соответственно, на кнопку Тренд можно привязать действие Выполнить ST-код с кодом типа


PLC_PRG.sTrendVisuName := CONCAT('visuTrend_', TO_STRING(PLC_PRG.iCurrentFrameIndex) );

и действие Изменить отображаемую визуализацию - Присвоить выражение - PLC_PRG.sTrendVisuName

Спасибо за помощь, ключ решения: "Присвоить выражение ... "

TaPX
01.10.2025, 10:30
Доброе утро
При попытке привязать свойство ФБ к визуализации пишет: "someValue недопустим в качестве операнда для ADR". Так нельзя делать?
8594785948859498595085951

Евгений Кислов
01.10.2025, 10:36
Доброе утро
При попытке привязать свойство ФБ к визуализации пишет: "someValue недопустим в качестве операнда для ADR". Так нельзя делать?
8594785948859498595085951

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

TaPX
01.10.2025, 10:52
Добрый день.
Чтобы можно было - надо поставить галочку: Проект - Установки проекта - Визуализация - Дополнительно - Активировать обработку свойств во всех элементах визуализации
Но с ней исторически связаны разного рода баги, так что я рекомендую сначала подумать, точно ли вам нужны все эти изыски.

Благодарю за информацию
А какие могут быть баги, например?

Евгений Кислов
01.10.2025, 11:08
Благодарю за информацию
А какие могут быть баги, например?

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

Но вообще их гораздо больше. Только найденные за последние пару лет:

85956

TaPX
01.10.2025, 11:38
Из последнего встретившегося - при установке этой галочки в визуализации некорректно отображались тексты встроенного списка текстов переменной-перечисления.

Но вообще их гораздо больше. Только найденные за последние пару лет:

85956

а можно ссылку на эту страничку?

Евгений Кислов
01.10.2025, 12:25
а можно ссылку на эту страничку?

Она будет бессмысленной, так как требуется логин/пароль.

Fusa
01.10.2025, 12:36
Добрый день, вопрос по веб визуализации. Вроде простой момент, но не могу найти как сделать ввод текста, например строковую переменную. Как понимаю текстовое поле только для отображения переменной в соответствии с выбранным форматом, а как именно ввести?

Sergey361
01.10.2025, 12:52
Конфигурация ввода-MouseClick-Записать переменную

TaPX
02.10.2025, 08:21
Доброе утро. Есть проект с визуализацией.
Хочу сделать рефакторинг: вношу изменения, делаю "сохранить как" в другую папку. И после логина в проект и нажатия "старт" в меню "отладка" выдает такое окошко (вложение)
Как с этим бороться?85977

UPD: решилось выпиливанием трендов

Cs-Cs
02.10.2025, 08:39
Это значит, что где-то в проекте ошибка.
Надо её искать.
ПЛК пытается показать место с ошибкой, но так как оно в ядре - то исходного кода не будет

Ufolog
17.10.2025, 11:07
Подскажите пожалуйста, можно ли число "305" формата WORD, в визуализации отображать как 30.5 не переводя в REAL ? Просто так же как в сенсорной панели сместить точку при отображении? Долго сам пытался, искал казалось бы часто нужную вещь в документации и на форуме но не нашел.

Евгений Кислов
17.10.2025, 11:46
Подскажите пожалуйста, можно ли число "305" формата WORD, в визуализации отображать как 30.5 не переводя в REAL ? Просто так же как в сенсорной панели сместить точку при отображении? Долго сам пытался, искал казалось бы часто нужную вещь в документации и на форуме но не нашел.

Добрый день.
Встроенного смещения десятичной точки, как в панелях оператора, в визуализации CODESYS нет.
Можно конвертировать вашу переменную типа WORD в переменную типа REAL и привязать к визуализации ее.
Или сделать конвертацию прямо в поле привязки переменной к визуализации:

86243

Задумкин Сергей
18.10.2025, 13:43
Подскажите пожалуйста, можно ли число "305" формата WORD, в визуализации отображать как 30.5 не переводя в REAL ? Просто так же как в сенсорной панели сместить точку при отображении? Долго сам пытался, искал казалось бы часто нужную вещь в документации и на форуме но не нашел.

Можно еще через UnitConversion

Spawn
27.10.2025, 11:57
Евгений, здравствуйте.
Решил попробовать библиотеку OwenVisuTools в проекте, интересуют ответы на пару вопросов:
1. По нулю оси Y рисуется какая-то тонкая линия (свои по 3pt сделал) оранжевого цвета. Возможно её как-то убрать, чтобы "глаз не мозолила" и путаницу не создавала?
2. Возможно как-то использовать свои AxisName, вместо тех, которые содержатся в списке текстов самой библиотеки, без её (библиотеки) редактирования? Пробовал в том числе в поле "ID списка текстов для названия" окна "Настройки осей и перьев" указывать свой список с индексом, нечего не меняется, надпись отсутствует. С AxisName.0, например, надпись (Ось 0) появляется.

Евгений Кислов
27.10.2025, 12:05
Евгений, здравствуйте.
Решил попробовать библиотеку OwenVisuTools в проекте, интересуют ответы на пару вопросов:
1. По нулю оси Y рисуется какая-то тонкая линия (свои по 3pt сделал) оранжевого цвета. Возможно её как-то убрать, чтобы "глаз не мозолила" и путаницу не создавала?
2. Возможно как-то использовать свои AxisName, вместо тех, которые содержатся в списке текстов самой библиотеки, без её (библиотеки) редактирования? Пробовал в том числе в поле "ID списка текстов для названия" окна "Настройки осей и перьев" указывать свой список с индексом, нечего не меняется, надпись отсутствует. С AxisName.0, например, надпись (Ось 0) появляется.

Добрый день.
1. Покажите, пожалуйста, скриншотом, о чем речь.
2. Насколько я помню - нормальных способов для этого нет.

Spawn
27.10.2025, 12:20
1. Покажите, пожалуйста, скриншотом, о чем речь.
86404
Вот...

Евгений Кислов
27.10.2025, 12:24
86404
Вот...

Если снять галочку TE2 - эта линия исчезнет?

Spawn
27.10.2025, 12:27
Нет, снимаю все галочки, линия на месте...:)

Евгений Кислов
27.10.2025, 12:28
Нет, снимаю все галочки, линия на месте...:)

Если использовать исходную версию библиотеки, а не отредактированную вами - эта линия сохраняется?

Upd. - повторил у себя.
Чтобы убрать эту линию - надо перед запуском экземпляра ФБ тренда (пока xEnable в FALSE) отключить видимость неиспользуемых перьев.

В рамках примера с нашего сайта это можно сделать так:



IF NOT(xIsInitVisuSettings) THEN

...
// отключите видимость только тех перьев, которые не планируете использовать
stTrendVisuSettings.astCurves[3].xNoVis := TRUE;
...
stTrendVisuSettings.astCurves[8].xNoVis := TRUE;

...

END_IF

Spawn
27.10.2025, 12:52
Если использовать исходную версию библиотеки, а не отредактированную вами - эта линия сохраняется?

Да, всё тоже самое. Могу приложить проект для Win V3.

Евгений Кислов
27.10.2025, 12:56
Да, всё тоже самое. Могу приложить проект для Win V3.

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

Spawn
27.10.2025, 13:06
Я обновил свой пост выше - описал, как исправить упомянутое вами поведение.

Да, всё получилось. Спасибо.

Spawn
02.11.2025, 07:49
В общем, "пощупал" я на днях этот аналог встроенного в CDS компонента "Тренд" (OwenVisuTools), и что хочется сказать (написать), ребят (представители компании), вы пока не вылечите все болячки своего оборудования, которые кочуют из релиза в релиз, о перспективе линейки СПК, как таковой, не стоит и задумываться. Вроде и железо умощнили (на руках СПК210), вроде и дизайн проработали, вроде и практичности добавилось, но эти тренды...
Для себя, честно, пришел (давно, данный конкретный СПК, с которым сейчас приходится работать, заказывал не я, так, в качестве "оправдания") к выводу, что в проектах с HMI ТОЛЬКО СВЯЗКА ПЛК+СП, как минимум. Как бы мне не нравилась практическая сторона СПК, на его косяки сводят на нет все желание с ним связываться.
ОВЕН позиционирует свое оборудование, в первую очередь, как оборудование для решения задач ПРОМЫШЛЕННОЙ автоматизации ("а уже потом всё остальное"), которое должно отвечать определенным требованиям и функциональным возможностям, а не только требованиям о внесение того или иного оборудования в реестр СИ. Так вот, одна из таких функциональных возможностей - это тренды (ну коли у нас HMI устройство "в руках" и далеко не ИП320), которые что оригинал, что аналог, недопилены. Проблемы встроенного компонента описывать не буду, причастные о нем давно знают, опишу аналог:
1. Глубина архива(ов) *.bin. Изучая пример, в глаза сразу бросилось значение 7200 переменной udiSaveBinPeriod (udiSaveCsvPeriod), спустя некоторое время тестирования ШУ на столе, начало приходить осознание выбора данного значения автором OVT. Ребят, вы серьезно, 7200 записей, два часа посекундно? Да вас (меня в данном конкретном случае) конечный потребитель/пользователь/заказчик системы с ботинками сожрет, с такой глубиной трендов. Почему осознание данного значения пришло только спустя некоторое время? Потому что я вместо 7200 указал 604800. И вот спустя почти двое суток (что будет дальше, страшно вообразить), "передернув" питание СПК наблюдаем "веселье". Для начала опишу свою "кухню". Три ТА, по 4 датчика температуры на каждом (итого 12), и "довесок" с еще пяток, итого 17 штук (измеряемых параметров). Городить все/всё это в кучу не стал, во-первых, нужно разделение/разнесение датчиков по принадлежности, во-вторых, OVT не "разрешает" больше восьми значений на один fbTrend. Так вот, спустя почти двое суток и по ~10МБ (всего-то) накопленных данных в файлах архивов, программа СПК, после загрузки CODESYS, начинает "шевелиться" только по прошествии более 50 секунд... это пипец, больше сказать нечего. Т.е. 50 секунд визуализация "стоит", основная программа "стоит", я из-за этого даже стартовую визуализацию с задержкой оформить не могу. Опять же возвращаемся к вопросу целесообразности данного компонента, на этот раз аналога, если с такой его работой, проще использовать трассировки.
2. С изменением системного (СПК) времени тоже атас. Любые устройства с RTC, которые не синхронизируются с источником эталонного времени, имеют свойство, через определенные интервалы, показывать его (время) неправильно, соответственно, когда-то придется его изменить. Ну и что, скорректировал время/дату и с временными метками текущих и архивных данных начинается кавардак, причем текущие временные метки постепенно "лечатся", архивные нет. Что будет происходить с временными метками при постоянной автоматической синхронизации СПК, например, с сервером NTP, караул полный? Что в таком случае делать, при изменении системных времени/даты удалять файлы архивных данных, чтобы они начинали писаться с нуля без искажений? Я "как послушная маня" сделал органы редактирования времени/даты для пользователя, чтобы не бегать самому за тридевять земель с такой примитивной проблемой, пришлось "отмену запуска" делать. У встроенного компонента данные портятся при перезагрузке оного не вовремя, у OVT при редактировании системных времени/даты. Это ирония какая-то?
3. Просмотр архивных данных. Почему в OVT нельзя было сделать селектор временного интервала по примеру оригинального компонента, пускай не всего, но хотя бы 10мин/30мин/60мин? Почему нельзя было сделать возможность выбирать и просматривать архивные данные диапазоном (с соответствующими селекторами), листать по (даже) 50 минут назад двое-трое суток - это просто мученье. А если нужно неделю отмотать?
4. В РЭ СПК210 вы пишете, что рекомендуется использовать журналируемЫЕ файловЫЕ системЫ (во множественном числе) и тут же, что NTFS только для чтения. Тупой вопрос - какую же журналируемую файловую систему мне тогда выбрать? Наверное, Ext4 попробую, но это не точно, потому как форматирование SD-карты в конфигураторе (при загрузке) только в FAT32...рука-лицо... CODESYS "крутящийся" на Linux'е не умеет форматировать SD-карту в формат "родной" файловой системы? :confused:

Одно лечится, другое калечится. Честно, вот проще и быстрее было остаться на встроенном компоненте, "прикрутить" к шкафу бесперебойник с замком и года 2-3 к нему не подходить.

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

86557

И выдайте сборщикам динамометрические отвертки, все корпусные болты сорваны.

86562

МихаилГл
02.11.2025, 09:13
А я против того, что всё то, что нужно реализовывать через скада и базы данных, пытаются втолкнуть в плк (спк). Зачем!?
Да, есть встроенная визуализация (для плк), но это не делает его полноценной системой для хранения исторических трендов и пр.

Spawn
02.11.2025, 09:45
А я против того, что всё то, что нужно реализовывать через скада и базы данных, пытаются втолкнуть в плк (спк). Зачем!?
Да, есть встроенная визуализация (для плк), но это не делает его полноценной системой для хранения исторических трендов и пр.

Зачем он (СПК, как отдельная линейка) тогда вообще нужен, если это не продукт, а полуфабрикат?

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

И чем конкретно СПК отличается от ПЛК+СП, тем, что это два в одном?

Про SCADA и БД/СУБД речь не идет, речь идет о конкретном оборудовании, зачем говорить о том, чего нет?

melky
02.11.2025, 10:48
Ну писать раз в 1с данные это большая нагрузка на память и на проц СПК, если каналов много. А он еще должен выполнять основную функцию программы.
Визуализация тут больше наверное для того, чтобы уменьшить органы управления на двери щита. Изначально не стоит полагаться на это.

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

Spawn
03.11.2025, 09:15
Ну писать раз в 1с данные это большая нагрузка на память и на проц СПК, если каналов много. А он еще должен выполнять основную функцию программы.
Визуализация тут больше наверное для того, чтобы уменьшить органы управления на двери щита. Изначально не стоит полагаться на это.

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

С записью, как раз, проблем нет. Пока fbOwenTrend ведет свои записи в файлы, всё работает более чем. Если ориентироваться по макс. времени цикла (VISU_TASK - 154mS, MainTask - 21mS), то СПК особо не напрягается.

Spawn
03.11.2025, 09:28
IVM варианты могут быть разные, просто люди невнимательно смотрят характеристики панельных контроллеров и думают что они прямо под все заточены.

Так, по конкретней, пожалуйста. Где это я "невнимательно смотрят" и "под все заточены"?

Лично я за честность. Если СПК поддерживают тренды (конкретно о них), то об этом так и написать, и привести этот компонент к нормальному бою, если бой не нормальный и/или привести его к нормальному не представляется возможным, то так и написать "Товарищи, компонент "Тренд" в СПК не работает и работать не будет! Просьба учитывать данную информацию при подборе оборудования и реализации проектов!". Всё! Четко и понятно, чтобы не было соблазна это брать и пытаться как-то использовать/реализовать, "на нет и суда нет", как говорится. В РЭ, РП, технических характеристиках и описаниях на оборудование нужно четко указывать то, что оно имеет на борту и способно выполнять, а не писать и заявлять всё, что не попадя. Сейчас, в данный момент, что на родном компоненте, что на аналоге проблема одна - недопиленность, но если первая недопиленность была известна заранее (на нее и на ёё решение уже было потрачено время), то вторая нет и, по сути, время потрачено зря, а бета-тестером как-то некогда и нехотно работать.

Spawn
03.11.2025, 09:34
Особенно если некоторые смотрят ещё и на цену...
Ага, спк нам дешевле обойдётся, чем плк+ПК+ПО примерно раз в 5... А мы же хотим экономить, пусть программисты думают, как это на спк сделать, там есть и плк, и экран, и линукс. Главное мы сэкономили, нам премия. А не работает, это программисты дурачки, зачем вы им вообще платите...

Причем здесь цена, МихаилГл? Где о ней хоть слово? Как я уже писал выше, для меня лично, СПК - это практичность. Реализуемые на нем задачи ни коим образом не выходят за грани его возможностей, даже близко к ним (граням возможностей) не подходят.

И да... Зачем покупать оборудование за цену x100, если возможно те же задачи реализовать на оборудовании с ценой x1? Не вижу смысла прикручивать к боковой стенке ШУ платформу Proliant, если с текущими задачами справится и ПЛК63 ("Земля ему пухом.")...

МихаилГл
03.11.2025, 12:07
Вы не по адресу задаете вопросы. Во-первых, я не имел ввиду вас... Во-вторых, это не к овену вопросы, а к разработчикам кодекса. При чем у кодекса уже какая версия есть? А овен до этой версии когда обновится при нынешних санкциях и закрытию доступа к проектам?
Может скоро они окончательно на полигон перейдут...

PS И вроде ещё есть какая-то система на подходе...

PS2 кодекс... Кодесис, автозамена в телефоне, не заметил)

SlavikP
03.11.2025, 13:05
Может скоро они окончательно на полигон перейдут...
PS И вроде ещё есть какая-то система на подходе...

Но при сохранении текущей схемотехники СПК возможности будут плюс-минус такие же.
Для радикального повышения производительности надо ставить более моЩЩЩный процессор. И тогда все упирается в отвод тепла. Подсознательно ожидаю в след.версиях СПК металлический корпус и вентилятор.
Возможно дождемся и кроватку для M2 SSD. По оперативной памяти вроде как проблем особых нет.

melky
03.11.2025, 13:10
154мс на визуализацию это овердофига. Имхо, не больше 50-ти, далее ПК.
з.ы. как-то попал на обучение по Дельте. Svg файлы для визуализации в панелях - 100+ КБ. Идиоты, его же можно сделать до 20кБ.

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

Spawn
04.11.2025, 01:43
154мс на визуализацию это овердофига. Имхо, не больше 50-ти, далее ПК.
з.ы. как-то попал на обучение по Дельте. Svg файлы для визуализации в панелях - 100+ КБ. Идиоты, его же можно сделать до 20кБ.

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

melky, Вы читаете не внимательно или не полностью. "макс. времени цикла"... Среднее (прямщас смотрю) время цикла: VISU_TASK - 0.224mS, MainTask - 0.307mS, Посл.: VISU_TASK - ~0.350mS (на визуализациях с OVT прыгает до 17mS), MainTask - ~0.4mS. Поэтому, ИМХО, "СПК особо не напрягается".

TaPX
02.12.2025, 10:48
Люди, памажите, я забыл, как это делать.
Вот у меня есть визуализация в ПЛК200. У ней есть фон. у фона огромное разрешение, 3507х2481. Как его подогнать под мою маленькую визуализацию, чтобы там вся фоновая картинка была, а не только ее край?

Kros
03.12.2025, 09:32
Если проблемы со всей визуализацией: ПКМ по Visualization → Свойства → Визуализация→ (указать размеры визуализации)
87044

Если проблемы конкретно с картинкой из пула изображений:
87045

Для ПЛК200 это выглядит так:
87046

pt200
09.12.2025, 20:53
Как прокинуть Button.Bitmap_Info.Static_ID "на верх" в визуализации, чтобы потом во фрэйме задавать картинку?
Какой у него тип(вроде STRING, но как обычно славливаю какие то забавные ошибки без адреса)?

Евгений Кислов
09.12.2025, 20:55
Как прокинуть Button.Bitmap_Info.Static_ID "на верх" в визуализации, чтобы потом во фрэйме задавать картинку?
Какой у него тип(вроде STRING, но как обычно славливаю какие то забавные ошибки без адреса)?

У ID изображения действительно тип STRING.
Если выложите простейший проект, демонстрирующий вашу ситуацию - будет проще вам помочь.

pt200
09.12.2025, 21:31
У ID изображения действительно тип STRING.
Если выложите простейший проект, демонстрирующий вашу ситуацию - будет проще вам помочь.
Или хотя бы как сделать Image "прозрачный" для кликов, т.е. картинка над кнопкой: тыкаем в картинку а попадаем в кнопку?

Евгений Кислов
10.12.2025, 09:49
1. В экране фрейма замените VAR_IN_OUT на VAR_INPUT и привяжите переменную к нужному параметру:

87174

2. В самом фрейме используйте в литерале одиночные кавычки:


'VisuSymbols.Symbols.ArrowUpRight'

87175

87176

pt200
10.12.2025, 10:39
1. В экране фрейма замените VAR_IN_OUT на VAR_INPUT и привяжите переменную к нужному параметру:
87174

2. В самом фрейме используйте в литерале одиночные кавычки:
Спасибо, проморгал этот пунктик(кстати можно VAR_INPUT CONSTANT, только поможет это чем то?(например рендер не будет картинку каждый раз подгружать))

P.S. а вот отступы/padding для картинки там нигде случам не завалялся(а то картинка от края до края получается)?

Евгений Кислов
10.12.2025, 11:36
Спасибо, проморгал этот пунктик(кстати можно VAR_INPUT CONSTANT, только поможет это чем то?(например рендер не будет картинку каждый раз подгружать))

P.S. а вот отступы/padding для картинки там нигде случам не завалялся(а то картинка от края до края получается)?

Я не думаю, что модификатор CONSTANT как-то изменит ситуацию.
Насчет отступа - насколько я помню, задать его значение в пикселях не получится.
На размеры и положение изображения кнопки влияют параметры ее вкладки "Информация изображения".

pt200
10.12.2025, 18:35
1. В экране фрейма замените VAR_IN_OUT на VAR_INPUT и привяжите переменную к нужному параметру:..
Что то фокус не удался на реальном железе(СПК210-10): на кнопке нет картинки(в симуляторе есть, в онлайне(на компе) есть, в webе не смотрел)!

PS Cold reset -делал, экран с картинками добавлял(чтобы прокешировались)

Евгений Кислов
11.12.2025, 07:10
Что то фокус не удался на реальном железе(СПК210-10): на кнопке нет картинки(в симуляторе есть, в онлайне(на компе) есть, в webе не смотрел)!

PS Cold reset -делал, экран с картинками добавлял(чтобы прокешировались)

У меня проблема не воспроизводится.
Свяжитесь, пожалуйста, со мной по телеграм (см. в подписи) и продемонстрируйте вашу ситуацию по AnyDesk.

TaPX
16.12.2025, 11:35
Добрый день. А как заставить элемент визуализации (текст или прямоугольник, или кастомное изображение) мигать?

Евгений Кислов
16.12.2025, 11:42
Добрый день. А как заставить элемент визуализации (текст или прямоугольник, или кастомное изображение) мигать?

Добрый день.
Путем воздействия из кода на булевскую переменную, привязанную к параметру элемента Переменные состояний/Невидимый.

TaPX
16.12.2025, 11:43
Добрый день.
Путем воздействия из кода на булевскую переменную, привязанную к параметру элемента Переменные состояний/Невидимый.

я Вас понял

TaPX
17.12.2025, 14:39
Добрый день. Добавляю свою ПНГ-картинку из ИмэйджПула, а она невидимая на визуализации. Что это может быть?

kondor3000
17.12.2025, 14:45
Добрый день. Добавляю свою ПНГ-картинку из ИмэйджПула, а она невидимая на визуализации. Что это может быть?

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

TaPX
17.12.2025, 14:46
Привязали переменную к состоянию невидимый.

свежевпиханное изображение, ни одной переменной никуда не привязано

kondor3000
17.12.2025, 14:47
свежевпиханное изображение, ни одной переменной никуда не привязано

Тогда она работать и не будет вообще.

TaPX
17.12.2025, 14:49
Тогда она работать и не будет вообще.

а как тогда добавлять постоянно отображаемые элементы без привязки к переменным? декорации, так сказать?

kondor3000
17.12.2025, 14:52
а как тогда добавлять постоянно отображаемые элементы без привязки к переменным? декорации, так сказать?

Чтобы показывало всегда, изображение надо привязать к состоянию FALSE.

TaPX
17.12.2025, 14:55
Тогда она работать и не будет вообще.
Вы, видимо меня не поняли. В предыдущем проекте в режиме редактирования я добавлял изображение, и видел его на холсте. В этом я добавляю изображение из панели инструментов, и оно невидимое - просто контур по его краю.

TaPX
17.12.2025, 15:00
Вы, видимо меня не поняли. В предыдущем проекте в режиме редактирования я добавлял изображение, и видел его на холсте. В этом я добавляю изображение из панели инструментов, и оно невидимое - просто контур по его краю.

Видимо, не поддерживает кириллицу: переименовал сами изображения и их айдишники в имэйджпуле - и все теперь светится

kondor3000
17.12.2025, 15:20
Видимо, не поддерживает кириллицу: переименовал сами изображения и их айдишники в имэйджпуле - и все теперь светится

С кириллицей в названии, не показывают в Веб визуализации, в обычной показывают.

TaPX
17.12.2025, 15:33
С кириллицей в названии, не показывают в Веб визуализации, в обычной показывают.

а что такое обычная визуализация?

kondor3000
17.12.2025, 15:35
а что такое обычная визуализация?

Есть таргет и ВЕБ визуализация, на экране и через браузер.

TaPX
17.12.2025, 15:36
Есть таргет и ВЕБ визуализация, на экране и через браузер.

Про веб-визуализацию в курсе. А что такое таргет?

TaPX
17.12.2025, 15:37
Есть таргет и ВЕБ визуализация, на экране и через браузер.

таргет - это, вероятно, у СПК?

kondor3000
17.12.2025, 15:38
таргет - это, вероятно, у СПК?

У СПК на экране и у ПЛК в Codesys

TaPX
18.12.2025, 16:15
Добрый вечер. Памажити, у меня фантомный элемент на холсте: даже вон выделяю когда большим куском - его в выделении нету даже прозрачного. А во время запуска он откуда-то появляется (пустая стрелка-указатель)... Как-то можно списком увидеть все элементы на холсте?
8727687277

Party3AH
18.12.2025, 16:35
Добрый вечер. Памажити, у меня фантомный элемент на холсте: даже вон выделяю когда большим куском - его в выделении нету даже прозрачного. А во время запуска он откуда-то появляется (пустая стрелка-указатель)... Как-то можно списком увидеть все элементы на холсте?
8727687277

В верхней части редактора визуализации есть таблица элементов.

TaPX
18.12.2025, 16:59
В верхней части редактора визуализации есть таблица элементов.
и в этой таблице у меня всего две стрелки, а на экране после старта три, блин...

Party3AH
18.12.2025, 17:15
и в этой таблице у меня всего две стрелки, а на экране после старта три, блин...

Попробуйте во вкладке "Компиляция" выбрать "Очистить всё", затем заново скомпилировать (если что, после этого действия не получится подключиться без остановки приложения на ПЛК).

Либо создать новую визуализацию, из старой все элементы перенести.

TaPX
18.12.2025, 22:14
Попробуйте во вкладке "Компиляция" выбрать "Очистить всё", затем заново скомпилировать (если что, после этого действия не получится подключиться без остановки приложения на ПЛК).

Либо создать новую визуализацию, из старой все элементы перенести.

Первый вариант сразу же попробовал - не помогает. Завтра буду пробовать второй