PDA

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



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

KIPEZ
31.08.2023, 07:33
Здравствуйте!
Подскажите, при попытке добавления изображения в "Application/Пул изображений..." появляется ошибка "Индекс находился вне границ массива", не получается добавить фоновую картинку в проект.

Евгений Кислов
31.08.2023, 07:34
Здравствуйте!
Подскажите, при попытке добавления изображения в "Application/Пул изображений..." появляется ошибка "Индекс находился вне границ массива", не получается добавить фоновую картинку в проект.

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

KIPEZ
31.08.2023, 07:37
Добрый день.
Выложите вашу картинку.

А вот теперь пропала ошибка после нескольких перезагрузок программы.

KIPEZ
31.08.2023, 09:11
А можете подсказать, как вставить картинку на фон в нужном разрешении?
Сделал подложку, как вы говорили, но она в бОльшем разрешении вставляется.
Скриншот прикрепляю:69922

Cs-Cs
31.08.2023, 09:24
А можете подсказать, как вставить картинку на фон в нужном разрешении?
Сделал подложку, как вы говорили, но она в бОльшем разрешении вставляется. Надо взять какой-нибудь редактор, который позволяет рисовать точно по пикселям, а не абстрактно. И вот в нём задать размер рабочего поля в пикселях равный размеру экрана визуализации. Я так чертил в Visio, но более примитивно - без красотулек, учился.
69923 69924
А, да! И сохранял в BMP, чтобы контроллер быстрее обрабатывал этот рисунок.

Евгений Кислов
31.08.2023, 09:25
А можете подсказать, как вставить картинку на фон в нужном разрешении?
Сделал подложку, как вы говорили, но она в бОльшем разрешении вставляется.
Скриншот прикрепляю:69922

Вам нужно использовать элемент Изображение и задать ему нужные размеры.
После этого разместите его в нижнем слое экрана визуализации.

Евгений Кислов
31.08.2023, 11:05
Здравствуйте, подскажите почему при добавлении изображения на окно визуализации оно не отображается

69930
69929

Проект доступен по ссылке:
https://cloud.ecolos.ru/index.php/s/DeG739pzdAMHXSe

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

PaPoV
31.08.2023, 22:29
Здравствуйте! Хочу подключиться к веб-визуализации через SSL (ПЛК200). В веб-конфигураторе в ПЛК->Настройки выбрал Тип подключения HTTP и HTTPS.
Сначала сгенерировал SSL сертификат при помощи кнопки "Сгенерировать" 69966. Попробовал подключиться - по порту 8080 работает, по порту 8443 не подключается и похоже даже не видит сертификат. 69967.

Попробовал сгенерировать SSL сертификат при помощи OpenSSL и загрузить на ПЛК. Загрузилось успешно, но веб-визуализация недоступна по HTTPS.

Как мне веб-визуализацию запустить через SSL?

Вообще задача следующая: открывать веб-визуализацию по ярлыку на рабочем столе, так чтобы она открывалась в полноэкранном режиме (как приложение), а не в окне браузера со всеми элементами навигации (как веб страничка). Пробовал использовать FullScreen API, но он не дает запустить полноэкранный режим браузера автоматически (по таким событиям как onload для документа), а требует жеста пользователя (onclick, mousedown, keydown и пр.). Меня это не устраивает (да и к какому элементу привязать событие, когда страница формируется динамически?).

Смотрю в сторону PWA (Progressive web application). Но для PWA нужен SSL. И необходимо, чтобы сертификат был с очень большим сроком действия (иначе как быть с обновлением сертификатов, когда ПЛК уже установлен у заказчика?).

Есть у кого какие мысли?

Евгений Кислов
01.09.2023, 06:46
Добрый день.
После генерации или импорта сертификата нужно нажать кнопку Перезапустить CODESYS, чтобы они подцепились.

PaPoV
01.09.2023, 19:28
Добрый день.
После генерации или импорта сертификата нужно нажать кнопку Перезапустить CODESYS, чтобы они подцепились.

Нажимал! И отключением питания перезагружал. Не работает!

Евгений Кислов
02.09.2023, 20:42
Нажимал! И отключением питания перезагружал. Не работает!

Обеспечьте в понедельник доступ по AeroAdmin - посмотрим, в чем дело.

melky
06.09.2023, 11:13
Картинки для визуализации можно делать в векторе? SVG и если можно, есть ли режим вписать, растянуть ?

Евгений Кислов
06.09.2023, 11:23
Картинки для визуализации можно делать в векторе? SVG и если можно, есть ли режим вписать, растянуть ?

На оба вопроса ответ - да.

zaychenko
06.09.2023, 12:55
Вопрос по новой библиотеке OwenVisuTools. Пока что до конца не изучил, но есть ли возможность отобразить на тренде данные за временной период, заданный программно?

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

Евгений Кислов
06.09.2023, 13:10
Вопрос по новой библиотеке OwenVisuTools. Пока что до конца не изучил, но есть ли возможность отобразить на тренде данные за временной период, заданный программно?

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

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

PupaJr
06.09.2023, 16:31
Добра всем.
Вновь с проблемой к Вам.
Пишу в визуализацию, но наверное правильнее писать в "проблемы с контроллером" или ...
Одним словом в какой-то момент при "тыкании" по экрану он просто перестал откликаться, при этом ноутбук по USB прекрасно видел процессор в ОНЛАЙН и визуализации работали, управляли техпроцессом!! как будто "отвалилась" та часть ПЛК которая отвечает за экран. Сегодня тоже самое случилось на трассировке... надо отметить что всё это время она работала и с включеной трассировкой и без - я думал с начала буфер трассировки переполнялся, а вот сегодня она также работала и прокрутила почти 4 часа по кругу из максимальных расчётных 2 часа - это 4шт Real переменных, 5 секунд такт. (по хорошему всё что старше чем 2 часа просто должны пропадать слева и всё)
Помогает только передёргивание питания на контроллере - снова стартовая визу грузится и всё ок.

МихаилГл
06.09.2023, 16:50
У меня замечена такая же штука как у комментатора выше. Спустя 3..4 часа веб визуализация на ПЛК 210 перестаёт работать, как будто у неё есть демо режим. При рестарте контроллера веб визуализация снова работает. Оставляю на ночь, утром уже не работает.
На контроллера много тэгов через opc ua передаю на рапид скаду, но связано ли это между собой, не знаю. Заметил относительно недавно на стенде, и после этого на объекте решил веб визуализацию не использовать и удалил. Но она была очень удобна, и переделывать всё на скаде тяжеловато, так как функционал немного не тот.

melky
06.09.2023, 17:07
На оба вопроса ответ - да.

В таком случае создавать svg из примитивов любых достаточно легко, используя AutoCad и подобные - печать в pdf и импортирование потом в Inkscape. Только надо правильный pdf делать, чтобы получались линии а не целиком все изображение.

МихаилГл на ПЛК помониторьте утечку памяти. ну и логи web на ПЛК смотреть, или кто там отвечает за визуализацию...

Евгений Кислов
06.09.2023, 18:17
Добра всем.
Вновь с проблемой к Вам.
Пишу в визуализацию, но наверное правильнее писать в "проблемы с контроллером" или ...
Одним словом в какой-то момент при "тыкании" по экрану он просто перестал откликаться, при этом ноутбук по USB прекрасно видел процессор в ОНЛАЙН и визуализации работали, управляли техпроцессом!! как будто "отвалилась" та часть ПЛК которая отвечает за экран. Сегодня тоже самое случилось на трассировке... надо отметить что всё это время она работала и с включеной трассировкой и без - я думал с начала буфер трассировки переполнялся, а вот сегодня она также работала и прокрутила почти 4 часа по кругу из максимальных расчётных 2 часа - это 4шт Real переменных, 5 секунд такт. (по хорошему всё что старше чем 2 часа просто должны пропадать слева и всё)
Помогает только передёргивание питания на контроллере - снова стартовая визу грузится и всё ок.

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

Andrunchic
08.09.2023, 13:05
Подскажите пожалуйста как из кода программы сохранить историю аварий на компьютере пользователя, желательно в форматах поддерживаемых Excel.

МихаилГл
08.09.2023, 15:50
Подскажите пожалуйста как из кода программы сохранить историю аварий на компьютере пользователя, желательно в форматах поддерживаемых Excel.

Если хранить на самом контроллере, то это думаю неправильно, хотя и можно, например в xml. Обычно для этого есть скада со своей базой данных.

Andrunchic
08.09.2023, 17:30
Если хранить на самом контроллере, то это думаю неправильно, хотя и можно, например в xml. Обычно для этого есть скада со своей базой данных.
В данном проекте контроллер стоит один со своей базой истории аварий, созданной Alarm configuration в SQLite, ее и хотелось бы иметь возможность сохранять и просматривать, желательно в Excel.

МихаилГл
08.09.2023, 17:46
Поищите "запись в файл"... Я делал историю событий так, но отказался от такого решения, так как работа с файлами это уже не процесс реального времени и реализуется механизмами линукса контроллера. А ещё необходимо и затирать старые записи, иначе вы заполните всё место на диске... Хотя может сейчас что получше придумали. Кстати, работал я на одном объекте, иностранное оборудование всё хранит на sd промышленной, но раз в год эта карта помирает.

МихаилГл
08.09.2023, 17:51
В данном проекте контроллер стоит один со своей базой истории аварий, созданной Alarm configuration в SQLite, ее и хотелось бы иметь возможность сохранять и просматривать, желательно в Excel.

В разделе codesys 3.5 есть примеры "архивация"

Andrunchic
09.09.2023, 10:58
Поищите "запись в файл"... Я делал историю событий так, но отказался от такого решения, так как работа с файлами это уже не процесс реального времени и реализуется механизмами линукса контроллера. А ещё необходимо и затирать старые записи, иначе вы заполните всё место на диске... Хотя может сейчас что получше придумали. Кстати, работал я на одном объекте, иностранное оборудование всё хранит на sd промышленной, но раз в год эта карта помирает.
Проблема не в записи и чтении файла а в том что он является базой данных, как его посмотреть на компьютере ??,
в скадах есть клавиша "Сохранить(в текстовом виде) " тут нет !

МихаилГл
09.09.2023, 13:29
Ну база данных это набор таблиц. Нужно написать код чтения из базы требуемых данных и записи их в требуемый файл.
В ms sql данные можно смотреть через менеджер, есть ли такое на sqlite, не знаю.
У Овена есть примеры для работы с базами данных, я использовал их пример, всё работало.

Евгений Кислов
10.09.2023, 15:52
Проблема не в записи и чтении файла а в том что он является базой данных, как его посмотреть на компьютере ??,
в скадах есть клавиша "Сохранить(в текстовом виде) " тут нет !

Штатного простого способа конвертировать на стороне ПЛК журнал тревог из sqlite в читабельный для оператора .csv нет.
Как уже написали выше - настройте отдельно сохранения тревог в .csv (например, с помощью упомянутого компонента OwenArchiver).

capzap
10.09.2023, 17:28
как его посмотреть на компьютере ??,

посмотрите плагины для браузеров которые умеют работать с sqlite

RamesIV
13.09.2023, 11:49
Добрый день.
Выложите, пожалуйста, простейший проект, в котором я смогу воспроизвести проблему.

Здравствуйте, Евгений!

Данная проблема вернулась в очередной раз. Применяю шаблон модуля MU110_32R В3.5.11.10 при попытке привязать свойство типа BOOL к каналу выхода получаю все ту же ошибку:
'PLC_PRG.TestObg.prBool' недопустим в качестве операнда для ADR.
Переменная не в массиве. При применении устройства Modbus Slave (не шаблона модуля) свойство привязывается нормально (если это массив, то проблема осталась).
Есть ли решение этой проблемы?

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

Данная проблема вернулась в очередной раз. Применяю шаблон модуля MU110_32R В3.5.11.10 при попытке привязать свойство типа BOOL к каналу выхода получаю все ту же ошибку:
'PLC_PRG.TestObg.prBool' недопустим в качестве операнда для ADR.
Переменная не в массиве. При применении устройства Modbus Slave (не шаблона модуля) свойство привязывается нормально (если это массив, то проблема осталась).
Есть ли решение этой проблемы?

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

Andrunchic
13.09.2023, 15:21
Во фреймах визуализации при изменении размеров картинки возникают пропадания частей надписей при выводе текста через 'Метка' если пользоваться прямоугольником то все нормально !
Установлена Visu Utils 4.3.0.0, Codesys 3.5.17, Basic style 3.5.1670176

Евгений Кислов
13.09.2023, 16:23
Во фреймах визуализации при изменении размеров картинки возникают пропадания частей надписей при выводе текста через 'Метка' если пользоваться прямоугольником то все нормально !
Установлена Visu Utils 4.3.0.0, Codesys 3.5.17, Basic style 3.5.1670176

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

PupaJr
14.09.2023, 16:09
Доброго дня/вечера или ночи как уже у нас :)
Я затрону тему трассировки вновь, пришло время попробывать сохранить её в файл.. иии.. или я не.. или одно из двух.
Создавал трассировку с элементами управления, прочитал FAQ в3, там есть трассировка , всё понятно, есть даже видео по ней, но нет НИ СЛОВА нигде про то как сохранить её и загрузить и как передать допустим на ПК в каком-либо виде.
Я думал - тыкаю на поле имени файла(как во всех вводных полях) ожидаю диалог ввода имени и пути сохранения - на USB(если вставлена влешка) или на вн.память ПЛК. Ан нет!! просто моргает курсор!! а как вводить туда буквы имени если нет на экране диалога (как например при вводе имени и пароля пользователя -я так и думал что будет). В идеале бы при WEB визуализации сохранять её прямо на ПК!!! было бы ваще чётко!!!
Нажимал кнопку сохранить или загрузить - также ничего не меняется...:confused:
Видимо надо отдельно какую-то опять библиотеку "прикручивать" для работы с файлами??

Евгений Кислов
14.09.2023, 16:34
Доброго дня/вечера или ночи как уже у нас :)
Я затрону тему трассировки вновь, пришло время попробывать сохранить её в файл.. иии.. или я не.. или одно из двух.
Создавал трассировку с элементами управления, прочитал FAQ в3, там есть трассировка , всё понятно, есть даже видео по ней, но нет НИ СЛОВА нигде про то как сохранить её и загрузить и как передать допустим на ПК в каком-либо виде.
Я думал - тыкаю на поле имени файла(как во всех вводных полях) ожидаю диалог ввода имени и пути сохранения - на USB(если вставлена влешка) или на вн.память ПЛК. Ан нет!! просто моргает курсор!! а как вводить туда буквы имени если нет на экране диалога (как например при вводе имени и пароля пользователя -я так и думал что будет). В идеале бы при WEB визуализации сохранять её прямо на ПК!!! было бы ваще чётко!!!
Нажимал кнопку сохранить или загрузить - также ничего не меняется...:confused:
Видимо надо отдельно какую-то опять библиотеку "прикручивать" для работы с файлами??

Добрый день.
Трассировка в визуализации не поддерживает сохранение значений перьев в файл.
Поддерживается только сохранение и загрузка ее конфигурации (настроек).
В вашем случае действительно придется "прикручивать" библиотеку для работы с файлами.

PupaJr
14.09.2023, 17:37
Добрый день.
Трассировка в визуализации не поддерживает сохранение значений перьев в файл.
Поддерживается только сохранение и загрузка ее конфигурации (настроек).
В вашем случае действительно придется "прикручивать" библиотеку для работы с файлами.

Очень странно.. я именно понял что все перья/графики можно сохранить и потом в "екселе" просмотреть всё как и в трендах.. очень скудное описание самого тренда..
Даже если только настройки - почему не появляется диалог с вводом имени и пути ? есть только переменная где теоретически будет лежать имя...

Евгений Кислов
14.09.2023, 19:08
Очень странно.. я именно понял что все перья/графики можно сохранить и потом в "екселе" просмотреть всё как и в трендах.. очень скудное описание самого тренда..
Даже если только настройки - почему не появляется диалог с вводом имени и пути ? есть только переменная где теоретически будет лежать имя...

Потому что такова реализация.

PupaJr
19.09.2023, 16:57
Вновь я здесь. Всем добра.
Возможно уже рассматривалось где-то, но не нашёл. Решил написать сюда поскольку имеет место вывод на экран.
Проблема: при выводе системной даты и времени в прямоугольник просто пишем спецификаторы без переменной - и видим реальные дату и время которые установили через системное меню самой панели СПК107Х[M01], при этом взять их оттуда нельзя.
Для этого есть СAA DTUtil с полным фаршем. Подключил, функцией DTU.GetDateAndTime получил в переменную DATE_AND_TIME значение даты и времени и вывел её в прямоугольник рядом - и смотрите что получилось-
Время не сходится на 3 часа!!!! это как вообще может быть ??? (думаю что временную зону надо двигать -но нафига там всё сломали ??, пробывал через DTU.SetTimeZoneInformation поменять - несработало :( )

Евгений Кислов
19.09.2023, 17:11
Проблема: при выводе системной даты и времени в прямоугольник просто пишем спецификаторы без переменной - и видим реальные дату и время которые установили через системное меню самой панели СПК107Х[M01], при этом взять их оттуда нельзя.


Добрый день.

См. узел OwenRTC в дереве проекта...

PupaJr
20.09.2023, 04:12
Да, спасибо, просто в документе SPK_SystemTime_v.1.1.pdf нет ни слова про эту возможность.. но и то не сразу получилось. При это появляется префикс в тексте DT# - как его убрать ?? вырезать строковыми функциями первые 3 символа ? - тоже как-то не айс...

Евгений Кислов
20.09.2023, 06:30
Да, спасибо, просто в документе SPK_SystemTime_v.1.1.pdf нет ни слова про эту возможность.. но и то не сразу получилось.

Этот документ уже не актуален и на него нет ссылки на странице CODESYS V3.5 на нашем сайте.


При это появляется префикс в тексте DT# - как его убрать ?? вырезать строковыми функциями первые 3 символа ? - тоже как-то не айс...

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

Клаус
26.09.2023, 09:57
Добрый день. Подскажите пожалуйста, только начинаю осваивать CDS, закончил курсы по ПЛК2хх, визуализация была, но конечно не охватывала все аспекты. Сейчас возник вопрос в следующем: Есть примитивная задача, чтобы загруженное мною изображение грубо говоря в покое имело один цвет, а при аларме менялось бы на красный. Я взял одно и тоже изображение в PS сделал его обычного цвета и красного (два разных файла), закинул оба через пул изображения в Визуализацию...А как дальше? :) Что-то не могу найти куда дальше копать. Заранее извиняюсь, если вопрос глупый, но как есть...

Евгений Кислов
26.09.2023, 11:10
Добрый день. Подскажите пожалуйста, только начинаю осваивать CDS, закончил курсы по ПЛК2хх, визуализация была, но конечно не охватывала все аспекты. Сейчас возник вопрос в следующем: Есть примитивная задача, чтобы загруженное мною изображение грубо говоря в покое имело один цвет, а при аларме менялось бы на красный. Я взял одно и тоже изображение в PS сделал его обычного цвета и красного (два разных файла), закинул оба через пул изображения в Визуализацию...А как дальше? :) Что-то не могу найти куда дальше копать. Заранее извиняюсь, если вопрос глупый, но как есть...

Добрый день.
Посмотрите п. 10.3.4:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Visu_v3.0.pdf

Там описан принцип, который вам поможет.

Клаус
26.09.2023, 12:05
Добрый день.
Посмотрите п. 10.3.4:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Visu_v3.0.pdf

Там описан принцип, который вам поможет.

Спасибо!!!

DmitriiAnyushin
26.09.2023, 14:26
Добрый день! Вопрос по Web визуализации СПК.
Скажите пожалуйста, можно ли как-то реализовать, чтобы вход на web визуализацию СПК107 был доступен только после авторизации?
В Codesys (SP17) и в конфигураторе СПК107 (версия 11) данную опцию не нашел.
Спасибо!

Евгений Кислов
26.09.2023, 16:02
Добрый день! Вопрос по Web визуализации СПК.
Скажите пожалуйста, можно ли как-то реализовать, чтобы вход на web визуализацию СПК107 был доступен только после авторизации?
В Codesys (SP17) и в конфигураторе СПК107 (версия 11) данную опцию не нашел.
Спасибо!

Добрый день.
Для этого достаточно установить пароль на доступ к контроллеру:
https://youtu.be/ehTkxII0CqA?si=ZKrnkyNfQ8OqlCdl

Задумкин Сергей
29.09.2023, 12:22
Добрый день!
Есть веб-визуализация на ПЛК-210. Есть журнал тревог. Требуется присваивать переменной значение TRUE если активна хотя бы одна тревога класса Alarm. Как только добавляю данное действие сразу вылезают ошибки. Как бороться? Сделано вроде все по аналогии с примером из "Codesys V3.5 Визуализация"

70598

Евгений Кислов
29.09.2023, 12:35
Добрый день!
Есть веб-визуализация на ПЛК-210. Есть журнал тревог. Требуется присваивать переменной значение TRUE если активна хотя бы одна тревога класса Alarm. Как только добавляю данное действие сразу вылезают ошибки. Как бороться? Сделано вроде все по аналогии с примером из "Codesys V3.5 Визуализация"

70598

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

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

Спасибо, уже победил. Промучился час, потом попробовал "Очистить все". Помогло

Задумкин Сергей
29.09.2023, 16:26
Коллеги!
Никак не могу сообразить как обнаружить, что у меня в журнале тревог есть АКТИВНЫЕ, НЕ ПОДТВЕРЖНЕННЫЕ тревоги.
Способ подтверждения ACK_REP_ACK. Т.е. Тревога может быть активна и подтверждена и она не должна считаться за активную тревогу (нужно выключить сигнализацию).

Поясню в каком контексте я хочу чтобы это работало. К примеру, есть условный насос, который работает в режиме АВТО. Если его автоматический выключатель аварийно отключается (по перегрузу или кз), то по этому событию взводится SR-триггер. Сброс триггера происходит по приведению автомата насоса в рабочее положение. Выход Q1 SR-триггера формирует тревогу класса Alarm. Оператор должен иметь возможность подтвердить данную тревогу, которая все еще активна, т.к. SR-триггер не сброшен (автомат все еще отключен).

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

Ковыряние с действиями "активация", "деактивация", "подтвердить" и "АСК" пока результатов не дали.

Дополнительный вопрос: можно как то обратиться к конкретной тревоги конкретной группы (по ее ID или т.п.) и посмотреть ее состояние (активна, активна и подтверждена, неактивна и ожидает подтверждения и т.д)?

МихаилГл
29.09.2023, 17:00
Сделайте обработку аварий средствами программного кода. Это проще, по крайней мере я так делаю без всяких доп библиотек кодесиса.

//Обработка аварий
FOR i:= 1 TO 32 DO
IF TMP_MEC.ALA_CUR[i] THEN TMP_MEC.ALA_MEM[i]:= TRUE; END_IF //Взвод бита аварии в память
IF TMP_MEC.ALA_MEM[i] AND TMP_MEC.COM_RES THEN TMP_MEC.ALA_CON[i]:= TRUE; END_IF //Взвод бита подтветждения аварии
IF TMP_MEC.ALA_CON[i] AND NOT TMP_MEC.ALA_CUR[i] THEN
TMP_MEC.ALA_MEM[i]:= FALSE; //Сброс бита аварии из памяти при отсутствии аварии после подтверждения
TMP_MEC.ALA_CON[i]:= FALSE; //Сброс бита подтветждения аварии при отсутствии аварии после подтверждения
END_IF
IF NOT(NOT TMP_MEC.ALA_MEM[i] OR (TMP_MEC.PAR_DIS[i] AND TMP_MEC.COM_DIS[i])) THEN
TMP_MEC.STA_REA:= FALSE; //Сброс бита готовности
TMP_MEC.STA_ALA:= TRUE; //Взведение бита аварии
END_IF
END_FOR

Задумкин Сергей
29.09.2023, 17:09
Сделайте обработку аварий средствами программного кода. Это проще, по крайней мере я так делаю без всяких доп библиотек кодесиса.

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

Капаюсь в библиотеке AlarmManager, но пока ничего не нашел

МихаилГл
29.09.2023, 17:14
Я дополнил пост выше кодом...

Votrj1
10.10.2023, 13:35
Ну хоть бы сказала , что и где. Вроде как рекомедации с трендами выполнены, если в них дело. Редко но бывает. А так месяцами крутится. Обычно после смены проекта.

Cs-Cs
10.10.2023, 17:45
Задумкин Сергей Глянь вот эти темы:
https://owen.ru/forum/showthread.php?t=34145 - тут я отвечал про то, как получить доступ к инфе о тревоге при изменении её статуса (любого).
https://owen.ru/forum/showthread.php?t=36416 - тут примерно про то же

В теории можно сделать так: отслеживать изменение статуса нужной тревоги и менять нужную переменную при этом.

Votrj1
10.10.2023, 23:29
После переноса с cs16 на cs17 остановились все тренды. Ошибок нет. Библиотеки, таргет обновлены. Методом тыка выяснилось если компонент "Селектор Диапазона дат" стоит по порядку сзади плоскости отображения тренда ,то тренд не отрисовывается, стоит на месте. Если переместить ВПЕРЕД, то начинает работать. На cs16 все работало. ЗЫ: сразу если вопрос зачем перемещать назад, отвечаю чтоб больше было рабочее поле тренда. ??? Прошивка 2.4...

Шевцов Игорь
11.10.2023, 16:36
Добрый день!
Как осуществить переключение экрана с внешней физической кнопки?
Переключение экрана требуется делать последовательно по кругу: Экран1-Экран2-Экран3-Экран1-....
Имеется: СПК107 CS3.5 SP17 P3 и подключенный к нему модуль DI

Евгений Кислов
11.10.2023, 16:42
Добрый день!
Как осуществить переключение экрана с внешней физической кнопки?
Переключение экрана требуется делать последовательно по кругу: Экран1-Экран2-Экран3-Экран1-....
Имеется: СПК107 CS3.5 SP17 P3 и подключенный к нему модуль DI

Добрый день.
См. п. 10.3.1 в данном документе:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Visu_v3.0.pdf

Timpod
13.10.2023, 19:15
Добрый вечер.
Помогите пожалуйста понять как изменить названия статусов ошибок. К примеру в библиотеке AlarmManager текст лист TL_AlarmStatus. В нём статусы Нормально, Активно, Ожидание подтверждения и т.д. Как мне сделать чтобы в Alarm Table вместо "Нормально", выдавало бы - "Не активно" ?
Спасибо.

ГЛЮКОNIC
14.10.2023, 13:29
1: Возможно ли перетаскивать Нумпад и клавиатуру по экрану в кодесис словно окно в виндовс просто ? 2: Не понял где ошибаюсь в вызове окна визуалзации, Драйвер инфо нормально открывается и овен скрин, а вот ДрайвОвен, Тайм и Нетворк вылитают с исключением, в проект я добавил библиотеку и OwenVisuTools и OwenVisuDialogs 3.5.17.3 70938

Евгений Кислов
14.10.2023, 14:22
Добрый вечер.
Помогите пожалуйста понять как изменить названия статусов ошибок. К примеру в библиотеке AlarmManager текст лист TL_AlarmStatus. В нём статусы Нормально, Активно, Ожидание подтверждения и т.д. Как мне сделать чтобы в Alarm Table вместо "Нормально", выдавало бы - "Не активно" ?
Спасибо.

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

Евгений Кислов
14.10.2023, 14:25
1: Возможно ли перетаскивать Нумпад и клавиатуру по экрану в кодесис словно окно в виндовс просто ? 2: Не понял где ошибаюсь в вызове окна визуалзации, Драйвер инфо нормально открывается и овен скрин, а вот ДрайвОвен, Тайм и Нетворк вылитают с исключением, в проект я добавил библиотеку и OwenVisuTools и OwenVisuDialogs 3.5.17.3 70938

1. Да, но только в веб-визуализации
2. При вызове этих диалогов нужно к их VAR_IN_OUT переменной привязать экземпляр соответствующей структуры из библиотеки OwenTypes.
Посмотрите, как это сделано в примере:
https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/02_Visu/03_Additional/Example_OwenVisuDialogs_3517v3.projectarchive

ГЛЮКОNIC
15.10.2023, 02:13
1. Да, но только в веб-визуализации
2. При вызове этих диалогов нужно к их VAR_IN_OUT переменной привязать экземпляр соответствующей структуры из библиотеки OwenTypes.
Посмотрите, как это сделано в примере:
https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/02_Visu/03_Additional/Example_OwenVisuDialogs_3517v3.projectarchive

Ага, спасибо, а кто переменную привязывать то будет тем более что она обязательная, я что-то подумал они на автомате, вижу, спасибо вроде работают. Эх быстрей бы Январь месяц вроде ВП1xx к концу 2023 года в продажу выйти снова должны, надеюсь они выйдут в 3-х модификациях.

Andrunchic
16.10.2023, 10:36
Как в заголовке веб визуализации вывести другое название вместо объекта отображаемого окна ?
Имя объекта не допускает пробелы и другие разделители, а хотелось бы их видеть в заголовке.

Евгений Кислов
16.10.2023, 10:45
Как в заголовке веб визуализации вывести другое название вместо объекта отображаемого окна ?
Имя объекта не допускает пробелы и другие разделители, а хотелось бы их видеть в заголовке.

Насколько я помню - на стороне CODESYS такой возможности нет.

Khedron
16.10.2023, 12:12
Как в заголовке веб визуализации вывести другое название вместо объекта отображаемого окна ?
Имя объекта не допускает пробелы и другие разделители, а хотелось бы их видеть в заголовке.
А текст в какой кодировке? Может вам подойдёт неразрывный пробел (https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D1%80%D0%B0%D0%B7%D1%80%D1%8B%D0%B2%D 0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B1%D0%B5%D0 %BB)?

ГЛЮКОNIC
17.10.2023, 15:39
В диалоге OVD.DateTimeSetOwen текущее время отображается 1 день 1 месяц 1970 год и время по нулям, 1. Добавлен диалог изменения системного времени DateTimeSetOwen.
Значение текущего системного времени передается в диалог через глобальные переменные из списка DialogSettings. - или я что-то не догоняю ? 70995

Евгений Кислов
17.10.2023, 16:02
В диалоге OVD.DateTimeSetOwen текущее время отображается 1 день 1 месяц 1970 год и время по нулям, 1. Добавлен диалог изменения системного времени DateTimeSetOwen.
Значение текущего системного времени передается в диалог через глобальные переменные из списка DialogSettings. - или я что-то не догоняю ? 70995

Посмотрите, как это сделано в примере (см. код программы):
https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/02_Visu/03_Additional/Example_OwenVisuDialogs_3517v3.projectarchive

ГЛЮКОNIC
17.10.2023, 16:31
Посмотрите, как это сделано в примере (см. код программы):
https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/02_Visu/03_Additional/Example_OwenVisuDialogs_3517v3.projectarchive

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

ГЛЮКОNIC
17.10.2023, 16:36
Попробую завтра на работе ещё раз очистить, снова скоплелировать и перезалить прект

Timpod
17.10.2023, 19:56
Добрый день.
Решить вашу задачу можно, но описание ее решения текстом займет много времени.
Напишите мне, пожалуйста, в телеграм (в подписи) - так будет проще обсудить ваш вопрос.

Евгений, большое спасибо за вашу помощь! Всё работает как надо.
Появился такой вопрос. Есть ли возможность изменить встроенный AlarmManager так, чтобы в истории отображались все изменения статусов для аларма, а не только последний статус?
Спасибо.

Евгений Кислов
17.10.2023, 20:45
Евгений, большое спасибо за вашу помощь! Всё работает как надо.
Появился такой вопрос. Есть ли возможность изменить встроенный AlarmManager так, чтобы в истории отображались все изменения статусов для аларма, а не только последний статус?
Спасибо.

Нет. В реализации CODESYS в истории отображается только последнее состояние тревоги.
Пожелание по описанному вами варианту зарегистрировано 4 года назад, но с тех пор ничего не изменилось.

70996

Shurup511
24.10.2023, 11:28
Здравствуйте. Был рабочий проект на SP16, после перехода на SP17, возник следующий момент, который "напрягает" - открываем фрейм, в нем есть кнопка "закрыть" с конфигурацией "изменить показанную визуализацию" на "предыдущую".
При ее нажатии один раз ничего не происходит в SP17, только повторное нажатие приводит к смене фрейма. В SP16 смена была сразу. При этом если использовать "Выполнить ST-код", то его выполнение происходит сразу. Например счетчик нажатий на эту кнопку, дает х2.
Есть какое то решение этой проблемы без варианта указывать конкретный фрейм для перехода ?

Евгений Кислов
24.10.2023, 11:43
Здравствуйте. Был рабочий проект на SP16, после перехода на SP17, возник следующий момент, который "напрягает" - открываем фрейм, в нем есть кнопка "закрыть" с конфигурацией "изменить показанную визуализацию" на "предыдущую".
При ее нажатии один раз ничего не происходит в SP17, только повторное нажатие приводит к смене фрейма. В SP16 смена была сразу. При этом если использовать "Выполнить ST-код", то его выполнение происходит сразу. Например счетчик нажатий на эту кнопку, дает х2.
Есть какое то решение этой проблемы без варианта указывать конкретный фрейм для перехода ?

Добрый день.
Это баг плагина визуализации 4.1.1.0.
Можете повесить на кнопку два действия изменить показанную визуализацию.

Shurup511
24.10.2023, 11:59
Добрый день.
Это баг плагина визуализации 4.1.1.0.
Можете повесить на кнопку два действия изменить показанную визуализацию.

Весьма простое и гениальное решение :). Работает! Спасибо.

Votrj1
24.10.2023, 21:10
Вопрос по масштабированию вебвизуализации. После перехода на 17 версию при масштабировании изображения на андроиде в яндекс браузере жестом ( двумя пальцами) масштабирование не происходит. И это только с веб от овена. Весь остальной контент масштабируется. Как будто принудительно стоит фиксация размера. Но режим масштабирования у веб ИЗОТРОПНЫЙ. При подключении через браузер компьютера , то же через яндекс, размер равен размеру открытого окна, те масштабируется. Надеюсь понятно. Кто виноват?

Евгений Кислов
24.10.2023, 21:11
Вопрос по масштабированию вебвизуализации. После перехода на 17 версию при масштабировании изображения на андроиде в яндекс браузере жестом ( двумя пальцами) масштабирование не происходит. И это только с веб от овена. Весь остальной контент масштабируется. Как будто принудительно стоит фиксация размера. Но режим масштабирования у веб ИЗОТРОПНЫЙ. При подключении через браузер компьютера , то же через яндекс, размер равен размеру открытого окна, те масштабируется. Надеюсь понятно. Кто виноват?

https://owen.ru/forum/showthread.php?t=28167&p=415362&viewfull=1#post415362

Votrj1
25.10.2023, 09:55
https://owen.ru/forum/showthread.php?t=28167&p=415362&viewfull=1#post415362

Ок! Заработало. Одна из галок была.

Votrj1
25.10.2023, 13:25
Евгений, прошло много лет, а не появился ли "нормальный" способ воспроизведения звука в вебвизуализации?

Евгений Кислов
25.10.2023, 13:35
Евгений, прошло много лет, а не появился ли "нормальный" способ воспроизведения звука в вебвизуализации?

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

Задумкин Сергей
26.10.2023, 22:49
Добрый день
Codesys 3.5 SP17 Patch 3 (ПЛК210 веб-визуализация на ВП110, если что). ПЛК читает температуру с модуля МВ210-101 в целых числах одним регистром, в настройках одна точка после запятой (т.е. при температуре 15,4 °С в ПЛК читает значение 154).
На визуализации сначала выводил значение REAL через соответствующий спецификатор, но при отсутствии связи с модулем или неисправности датчика значение либо остается прежним, либо сбрасывается в ноль (в зависимости от настроек), а хотелось бы видеть что-то типа "--" (прочерк). И с этим справляется вот такой простой код:

IF <нет ошибок> THEN
sTemp := TO_STRING(0.1*TO_REAL(iValue));
ELSE
sTemp := '--';
END_IF

Идея проста - создать строковую переменную для температуры (sTemp) и в нее писать преобразованное в строку значение температуры (предварительно приведенное к нужному виду). Ну и эту переменную уже вывожу в визуализации со спецификатором %s.
И все вроде работает, но периодически вместо, скажем, "15,4" (уже в виде строки) на экране появляется "15,4000". Далее при изменении температуры на 0,1 °С все опять приходит в норму - "15,5". И так до следующего раза на произвольном значении температуры. Таких температур на экране 4 штуки и у всех такая беда. Пробовал явно указывать REAL_TO_STRING и INT_TO_REAL - не помогает.

P.S. Накладывать друг на друга отображение двух переменных (численной и строковой) и скрывать одну показывать другую, а потом наоборот как то не хочется, т.к. потом забудется что их там две

Николай Суриков
26.10.2023, 23:16
sTemp := OSU.Before(TO_STRING(0.1*TO_REAL(iValue)),000);

Mal31
26.10.2023, 23:43
Добрый день, снова я =) У меня теперь совершенно другая проблема, которой ранее не было, замучала уже.
Есть в проекте тренды, проект под ПЛК 200-04. Пока собираю и натсраиваю все - использую эмуляцию, зная что в ней тренды не работают - мне они и не нужны пока. Я даже визуализации с ними и их настроечные элементы исключил из компиляции (ранее я уже не один проект делал так и все было отлично). И в итоге с этим проектом такая беда - в какой-то момент при очередном запуске эмуляции - вылезает ошибка "нет библиотеки visutrendstorageaccess 4.1.0.0 нажмите да для поиска....бла-бла... т.к. это относится к компилированной библиотеке..." и все, эмуляция становится в "исключение" и не работает.
Иду в менеджер библиотек - там есть эта библиотека, загружена и в работе. Удаляю, добавляю ее заново из базы библиотек, делаю "компиляция - очистить все", запускаю эмуляцию - и та же фигня.
Выключаешь проект, запускаешь заново, "очистить все", запускаешь - все норм, но не факт, может и снова вылезти ошибка.
Ранее с другими проектами такого не было ни разу! Как быть и что делать?
В итоге сейчас пришлось удалить все что касается трендов, чтоб хоть как-то дописать проект.

Добрый день, у вас получилось исправить это?

Евгений Кислов
27.10.2023, 11:36
Добрый день, у вас получилось исправить это?

Добрый день.
Тренды в эмуляции не работают.
Используйте для отладки проектов с ними виртуальный контроллер.

Задумкин Сергей
28.10.2023, 21:13
sTemp := OSU.Before(TO_STRING(0.1*TO_REAL(iValue)),000);

Эта функция вернёт пустую строку если значение нормальное (вида "14, 6 °С"). Если уж пользоваться OSU, то сразу REAL_TO_STRING_FORMAT. В итоге этой функцией и воспользовался, она работает стабильно. Просто хотелось обойтись без лишней библиотеки

sco-scorpion
02.11.2023, 15:34
Подскажите какой элемент надо использовать в визуализации чтобы отобразить значение строки?

wsStatus := "В режиме остановки";

МихаилГл
02.11.2023, 15:49
Подскажите какой элемент надо использовать в визуализации чтобы отобразить значение строки?
https://help.codesys.com/webapp/_visu_placeholder_with_formatting_sequence_in_a_st ring;product=core_visualization;version=3.5.14.0

kondor3000
02.11.2023, 15:49
Подскажите какой элемент надо использовать в визуализации чтобы отобразить значение строки?

Всю жизнь был %s это есть даже в справке по F1

ГЛЮКОNIC
13.11.2023, 10:08
Я так понимаю Овен тренд резать нельзя ? - я убрал лишние кнопки настройки и отображения индикаторов с права от Фрейма которые мне не нужны и получит исключение через время. 71552Access violation
Код: 81

Петр Петрович
13.11.2023, 12:05
Добрый день! Подскажите, а нет ли в WEB-визуализации возможности дописать что-либо внутри нее на JS? Например, сменить текущую страницу только на данном клиенте визуализации при нажатии на кнопку на WEB-странице? Инногда это было бы очень удобно, часть логики интерфейса можно было бы обрабатывать в браузере.

Евгений Кислов
13.11.2023, 13:54
Я так понимаю Овен тренд резать нельзя ? - я убрал лишние кнопки настройки и отображения индикаторов с права от Фрейма которые мне не нужны и получит исключение через время. 71552Access violation
Код: 81

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

Евгений Кислов
13.11.2023, 13:55
Добрый день! Подскажите, а нет ли в WEB-визуализации возможности дописать что-либо внутри нее на JS? Например, сменить текущую страницу только на данном клиенте визуализации при нажатии на кнопку на WEB-странице? Инногда это было бы очень удобно, часть логики интерфейса можно было бы обрабатывать в браузере.

Добрый день.
Это можно сделать и штатными средствами CODESYS.

Петр Петрович
13.11.2023, 14:20
> Это можно сделать и штатными средствами CODESYS.
Понятно, спасибо. А вот такой вопрос. Интересно, большую ли дополнительную нагрузку дает на контроллеры Owen 200 серии использование HTTPS для доступа к визуализации? Дополнительное шифрование там и прочее? В процессоре вроде есть что-то для ускорения этого, а на практике?

ГЛЮКОNIC
13.11.2023, 15:13
Я не думаю, что ваша ошибка связана с трендом.
Чтобы выяснить ее причиной - нужно приступить к отладке проекта.

убрав тренд Овен и вернул обратно стандартный Тренд у меня в Овен Дэбаг нагрузка процессора СПК1xx (СПК107) со стабильный 100% загрузки упала и дёргается от 25 до 75 максимум - чаще 25-65

beatitas
15.11.2023, 11:00
Добрый день.
Прошу помощи в реализации подсветки нажатия кнопок.

Есть основной экран, занимающий 100% площади монитора 1920*1080, на котором нарисовано меню с кнопками-названиями объектов автоматизации.
В моём кейсе 11 пунктов меню , к которым добавляется ещё 11 лампочек тревоги в каждом из пунктов и 5 элементов с информацией, не хотелось бы заниматься копированием 27 элементов навигации на каждую страницу, как в примере на степике.
Поэтому навигация ощущаствляется через кнопку -> конфигурация ввода -> OnMouseClick -> переключить визуализацию фрейма
И уже во фрейм, размером 1500*1060 загружается нужный экран объекта астоматизации.

Но очень сильно хочется, чтобы кнопка соответствующая активному фрейму подсвечивалась другим цветом.
Какие есть варианты? Можно как то сделать средствами CodeSYS, не прибегая к рисованию 11 картинок и прозрачных кнопок над ними.

Евгений Кислов
15.11.2023, 11:06
Добрый день.
Прошу помощи в реализации подсветки нажатия кнопок.

Есть основной экран, занимающий 100% площади монитора 1920*1080, на котором нарисовано меню с кнопками-названиями объектов автоматизации.
В моём кейсе 11 пунктов меню , к которым добавляется ещё 11 лампочек тревоги в каждом из пунктов и 5 элементов с информацией, не хотелось бы заниматься копированием 27 элементов навигации на каждую страницу, как в примере на степике.
Поэтому навигация ощущаствляется через кнопку -> конфигурация ввода -> OnMouseClick -> переключить визуализацию фрейма
И уже во фрейм, размером 1500*1060 загружается нужный экран объекта астоматизации.

Но очень сильно хочется, чтобы кнопка соответствующая активному фрейму подсвечивалась другим цветом.
Какие есть варианты? Можно как то сделать средствами CodeSYS, не прибегая к рисованию 11 картинок и прозрачных кнопок над ними.

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

Евгений Кислов
15.11.2023, 11:11
> Это можно сделать и штатными средствами CODESYS.
Понятно, спасибо. А вот такой вопрос. Интересно, большую ли дополнительную нагрузку дает на контроллеры Owen 200 серии использование HTTPS для доступа к визуализации? Дополнительное шифрование там и прочее? В процессоре вроде есть что-то для ускорения этого, а на практике?

Незначительную.

beatitas
15.11.2023, 15:23
Добрый день.
Вы можете менять цвет кнопки через вкладки параметров Цвета и Переменные цвета.

Евгений, добрый день.
Правильно ли я Вас понял:
Надо создать отдельную переменную для каждой кнопки или строку или массив.
Далее создать отдельную функцию, которая будет отлавливать - какой номер фрейма сейчас активен и на основе этого уже передавать в некую строку из 11 элементов состояние для каждой.
И далее из этой строки индексами достаем состояние соответствующей кнопки?
Или есть какой то простой способ просто взять номер активного фрейма и сразу его использовать, задав состояние тревоги?

Евгений Кислов
15.11.2023, 15:51
Евгений, добрый день.
Правильно ли я Вас понял:
Надо создать отдельную переменную для каждой кнопки или строку или массив.
Далее создать отдельную функцию, которая будет отлавливать - какой номер фрейма сейчас активен и на основе этого уже передавать в некую строку из 11 элементов состояние для каждой.
И далее из этой строки индексами достаем состояние соответствующей кнопки?

Да, вам в любом случае потребуется массив булевских переменных, которые будут привязаны к кнопкам.
Так как фреймы у вас переключаются по нажатиями по кнопкам - то можно добавить код изменения цветов кнопок ("подсветки" нужной кнопки, "выключение подсветки" всех остальных) в код каждой кнопки (OnMouseClick - Выполнить ST-код).


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

Можно и так - через "переменную-переключатель фрейма".

beatitas
15.11.2023, 17:28
Да, вам в любом случае потребуется массив булевских переменных, которые будут привязаны к кнопкам.
Можно и так - через "переменную-переключатель фрейма".

Благодарю. пока не смог её найти, но в поисках.

Зато удалось добиться очень странного поведения визуализации. А именно, экраны визуализации закрываются не открывшис. То есть подключаюсь к контроллеру, загружаю программу, открываю любую из страниц визуализации и она сразу же закрывается.
Все окна которые закрываются сами связаны тем фактом, что были добавлены в "переключить визуализацию фрейма". Но сейчас я фрейм удалил и со всех кнопок событие переключающее содержимое - убрал. Не помогло.
Где я мог так накосячить?

Заранее спасибо)

Евгений Кислов
15.11.2023, 17:30
Благодарю. пока не смог её найти, но в поисках.

Зато удалось добиться очень странного поведения визуализации. А именно, экраны визуализации закрываются не открывшис. То есть подключаюсь к контроллеру, загружаю программу, открываю любую из страниц визуализации и она сразу же закрывается.
Все окна которые закрываются сами связаны тем фактом, что были добавлены в "переключить визуализацию фрейма". Но сейчас я фрейм удалил и со всех кнопок событие переключающее содержимое - убрал. Не помогло.
Где я мог так накосячить?

Заранее спасибо)

Давайте завтра утром разберемся со всеми вопросами сразу через AnyDesk?
Со мной можно связаться через телеграм (в подписи).

Емельянов Кирилл
16.11.2023, 08:58
Здравствуйте! CDS 3.5.14.3. Куда подевался параметр внутреннее вращение??
71647

Евгений Кислов
16.11.2023, 09:10
Здравствуйте! CDS 3.5.14.3. Куда подевался параметр внутреннее вращение??
71647

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

71648

Емельянов Кирилл
16.11.2023, 09:19
71649
Профиль визуализации 3.5.14.3
Стиль: дефолт 3.5.14.0

Евгений Кислов
16.11.2023, 09:34
71649
Профиль визуализации 3.5.14.3
Стиль: дефолт 3.5.14.0

На ПЛК2хх у нас действительно в той версии эта возможность не была активирована.
Она у нас появилась начиная с таргетов-файлов 3.5.16.x.

beatitas
16.11.2023, 13:09
Давайте завтра утром разберемся со всеми вопросами сразу через AnyDesk?
Со мной можно связаться через телеграм (в подписи).

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


Для тех кто будет делать так же повторю задачу и решение:

Есть основной экран, занимающий 100% площади монитора 1920*1080, на котором, справа, столбцом, нарисовано меню с кнопками-названиями объектов автоматизации и "экранов" соответствующих им.
На оставшемся пустом месте добавлен фрейм, размером 1500*1060. В который загружается нужный экран объекта автоматизации.
Чтобы кнопка активной визуализации во фрейме подсвечевалась и, тем самым, экономила место заголовка-названия экрана:

В любой программе создаём переменную в которой будет храниться индекс активной визуализации во фрейме
iMainFrameIndex: INT;
Создаём N визуализаций, размером с фрейм.
Создаём фрейм, на экране с меню. В конфигурации фрейма добавляем эти визуализации и запоминаем присвоенные им индексы.
В свойствах фрейма Конфигурация Ввода -> Переключение -> Переменная добавляем нашу переменную visualization.iMainFrameIndex

Теперь в наши кнопки на главном экране добавляем:
Переменные цвета -> переключить цвет
visualization.iMainFrameIndex = 0
Вместо нуля поочерёдно подставляем индекс визуализации соответствующий этой кнопке из настроек фрейма.
Далее в Конфигурация Ввода -> OnMouseClick добавляем событие "Выполнить ST-код", куда прописываем
visualization.iMainFrameIndex := 0;

yurya
17.11.2023, 13:34
Добрый день.
Управление процессом на базе СПК110. Архив пишется на флэшку, а для визуального контроля параметров в проект добавлен тренд.
Можно как-то оценить на какой период хватит флэш-памяти СПК после чего история тренда начнет затираться?

Евгений Кислов
17.11.2023, 13:42
Добрый день.
Управление процессом на базе СПК110. Архив пишется на флэшку, а для визуального контроля параметров в проект добавлен тренд.
Можно как-то оценить на какой период хватит флэш-памяти СПК после чего история тренда начнет затираться?

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

yurya
17.11.2023, 13:48
Добрый день.
Провести такой расчет можно только опытным путем - посмотреть, например, на сколько килобайт файл тренда увеличивается каждый час.
Рекомендую сохранять файлы тренда на накопителе, а не в памяти контроллера - у нее ограниченное число циклов перезаписи, со временем память просто "перетрется".

А чем его потом открывать?

Евгений Кислов
17.11.2023, 13:49
А чем его потом открывать?

Если вы используете стандартный тренд CODESYS - то любой утилитой, которая поддерживает формат sqlite.
Например, DB Browser for SQLite.

yurya
17.11.2023, 13:52
Если вы используете стандартный тренд CODESYS - то любой утилитой, которая поддерживает формат sqlite.
Например, DB Browser for SQLite.

т.е. изначала писать тренд на флэшку или как?

Евгений Кислов
17.11.2023, 13:53
т.е. изначала писать тренд на флэшку или как?

Да, сразу писать тренд на флешку.

yurya
17.11.2023, 14:00
Да, сразу писать тренд на флешку.

Извините, а как это сделать?

Евгений Кислов
17.11.2023, 14:04
Извините, а как это сделать?

См. п. 7.19:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Faq_v.3.1.pdf

yurya
17.11.2023, 14:07
Спасибо за терпение и ответы.

ETL_Роман
24.11.2023, 17:23
Добрый вечер.

Есть идея поставить nginx, который будет перенаправлять запросы из одной подсети в другую по принципу
ip1:80/plc210 proxy [ip адрес плк210:8080]
ip1:80/plc200 proxy [ip адрес плк200:8080]
ip1:80/router proxy [ip адрес web-configurator'a роутера]
и т.д.

без URI у меня получилось попасть на web-visu, но нужно было писать ip1:80/webvisu.htm
а когда ставлю больше 1-го location с перенаправлением по URI запрос ip1:80/plc210 не доходит вообще никуда, а ip1:80/plc210/webvisu.htm может добраться до плк, но сама визуализация не откроется

как настроить правильно proxy до визуализации по различным URI

конфигурация nginx
https://owen.ru/forum/attachment.php?attachmentid=71864&stc=1&d=1700835760

Kotenko
25.11.2023, 15:01
Добрый день.
Правильно ли я понимаю, что при использовании библиотеки OwenVisuTools для создания более одного графика в визуализации (т.е. разные экземпляры fbTrend) с уникальными настройками осей, я должен помимо экземпляров самого фб объявить еще другие экземпляры структур и массива alrCurrentTrendValues?
71889

Евгений Кислов
25.11.2023, 15:08
Добрый день.
Правильно ли я понимаю, что при использовании библиотеки OwenVisuTools для создания более одного графика в визуализации (т.е. разные экземпляры fbTrend) с уникальными настройками осей, я должен помимо экземпляров самого фб объявить еще другие экземпляры структур и массива alrCurrentTrendValues?
71889

Добрый день.
Да, именно так.

Drain
27.11.2023, 16:01
Есть еще момент с 17й версией. С телефон масштабируется, но выгладить как масштабирования растра. На прошлых было нормально. Как лечить? Нам это достаточно критично.

Евгений Кислов
27.11.2023, 16:40
Есть еще момент с 17й версией. С телефон масштабируется, но выгладить как масштабирования растра. На прошлых было нормально. Как лечить? Нам это достаточно критично.

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

beatitas
29.11.2023, 10:20
Доброе утро.

Как можно кастомизировать диалог OVD.TimeSetOwen так, чтобы пользователь мог ввести только минуты (часы и секунды всегда по нулям записываются) или часы (минуты и секунды записываются 00:00)? Переменная в которую пишем TIME.

Заранее спасибо.

Евгений Кислов
29.11.2023, 10:24
Доброе утро.

Как можно кастомизировать диалог OVD.TimeSetOwen так, чтобы пользователь мог ввести только минуты (часы и секунды всегда по нулям записываются) или часы (минуты и секунды записываются 00:00)? Переменная в которую пишем TIME.

Заранее спасибо.

Добрый день.
Т.е. вам нужно на базе OVD.TimeSetOwen создать еще два диалога?
Тогда просто скопируйте его и удалите ненужные вам поля ввода.

beatitas
29.11.2023, 14:25
Добрый день.
Т.е. вам нужно на базе OVD.TimeSetOwen создать еще два диалога?
Тогда просто скопируйте его и удалите ненужные вам поля ввода.

Евгений, благодарю. Разобрался.

beatitas
29.11.2023, 14:55
Добрый день.
Т.е. вам нужно на базе OVD.TimeSetOwen создать еще два диалога?
Тогда просто скопируйте его и удалите ненужные вам поля ввода.

В итоге не стал использовать кастомные - вышел из положения обычным numpadowen. Потому что нужно было ограничить оператора в значениях.

Но вот с TimeSetOwen как то интересно накосячил. Уставноил её для ввода переменной. Компилятор ни на что не ругался. Но визуализация вылетела с ошибкой. При этом перезагрузка и остановка/старт приложения никак не помогают визуализации реанимироваться и запуститься.

71991

71992

Что я сделал не правильно?

И хотел уточнить - как можно реализовать замену текста переменной

$Status:
Если он 0 - выводим просто текст "отдыхает"
если он 1 - выводим "Закончит в $EndTime"
Я так понимаю, что пихать переменную в список текстов точно нельзя?
Заранее спасибо.

Евгений Кислов
29.11.2023, 16:31
Что я сделал не правильно?

У этого диалога есть вход-выход (VAR_IN_OUT) tNewTime. При вызове диалоге нужно передать на него переменную (это особенность VAR_IN_OUT'ов - их нельзя оставить непривязанными).


Я так понимаю, что пихать переменную в список текстов точно нельзя?

Нельзя. Вам потребуется объявить Status как строковую переменную (WSTRING) и формировать ее значение в коде.

Drain
29.11.2023, 16:34
Пожалуйста.
Для примера, простенький проект отображения в sp17 и скриншоты из другого проекта в sp14.
Разница в масштабировании наглядная, причем в браузерах на ПК масштабируется корректно.

Евгений Кислов
30.11.2023, 07:57
Пожалуйста.
Для примера, простенький проект отображения в sp17 и скриншоты из другого проекта в sp14.
Разница в масштабировании наглядная, причем в браузерах на ПК масштабируется корректно.

Подключитесь к контроллеру через WinSCP и в файле /home/root/CODESYS_WRK/PlgLogic/visu/webvisu.htm замените строку

<meta name="viewport" content="initial-scale=1.0">

на

<meta name="viewport" content="initial-scale=0.5">

После этого перезагрузите страницу в браузере смартфона.

Файл webvisu.htm перезаписывается при каждой загрузке проекта, так что вам потребуется заложить в проект логику его изменения.
Например - сохраните его отредактированную версию отдельно (за пределами папки visu; например - в корне /home/root/CODESYS_WRK) и при запуске проекта перезаписывайте исходный файл отредактированным
(см., например, функцию SysFileCopy в библиотеке SysFile).

Drain
02.12.2023, 17:49
Подключитесь к контроллеру через WinSCP и в файле /home/root/CODESYS_WRK/PlgLogic/visu/webvisu.htm замените строку

<meta name="viewport" content="initial-scale=1.0">

на

<meta name="viewport" content="initial-scale=0.5">

После этого перезагрузите страницу в браузере смартфона.

Файл webvisu.htm перезаписывается при каждой загрузке проекта, так что вам потребуется заложить в проект логику его изменения.
Например - сохраните его отредактированную версию отдельно (за пределами папки visu; например - в корне /home/root/CODESYS_WRK) и при запуске проекта перезаписывайте исходный файл отредактированным
(см., например, функцию SysFileCopy в библиотеке SysFile).

В принципе, помогло. Спасибо. Можно думать, что в следующий апдейт включат фикс?

Евгений Кислов
02.12.2023, 18:02
В принципе, помогло. Спасибо. Можно думать, что в следующий апдейт включат фикс?

Честно говоря, не уверен.
В старых версиях CODESYS параметра "viewport" вообще не было (и поэтому в SP14 у вас все было нормально), но начиная с SP16 разработчики осознанно его добавили (судя по баг-трекеру - без него на web-панелях некоторых вендоров визуализация CODESYS отображалась с неожиданным масштабированием).

ВладОвен
04.12.2023, 17:30
Подскажите, реализовано ли в CodeSys 3.5 вращение граф. элемента Фрейм?

Евгений Кислов
04.12.2023, 17:53
Подскажите, реализовано ли в CodeSys 3.5 вращение граф. элемента Фрейм?

Да, если если контроллер поддерживает технологию overlay и в менеджере визуализации установлена галочка Поддержка клиентских анимаций.

col7
09.12.2023, 04:11
доброго времени суток.
Верстаю проект на базе примера OwenTrend и столкнулся с проблемой имени файла. В частности проблема с не изменением стандартного имени для разных экземпляров.
после долгих ковыряний и попыток разобраться, словил окно о входе пользователя Owner для исполнения кода
Библиотека: owenvisutools, 3.5.17.21
Один раз уже это случалось, пересобрал проект, сейчас пройдя не малую часть пути не хотелось бы этого.
Может подскажет, кто сталкивался

Евгений Кислов
09.12.2023, 13:08
доброго времени суток.
Верстаю проект на базе примера OwenTrend и столкнулся с проблемой имени файла. В частности проблема с не изменением стандартного имени для разных экземпляров.
после долгих ковыряний и попыток разобраться, словил окно о входе пользователя Owner для исполнения кода
Библиотека: owenvisutools, 3.5.17.21
Один раз уже это случалось, пересобрал проект, сейчас пройдя не малую часть пути не хотелось бы этого.
Может подскажет, кто сталкивался

Добрый день.
Если вы используете в проектов несколько экземпляров ФБ OwenTrend - то нужно для каждого объявить свой экземпляр структуры TREND_FILE_SETTINGS и TREND_FILE_PROPERTIES.
Пути к файлам задаются в полях экземпляра структуры TREND_FILE_SETTINGS - sPathToBinFile и sPathToCsvFile соответственно.

col7
09.12.2023, 13:21
Да, верно так и делаю. Понял что их нужно держать все время активными, иначе имя слетает на стандартное.
Проверить дальше не получается из-за окна авторизации.
Если не сложно ткните куда копать
Скрины объявления экземпляров, и скрины затыка запуска приложения и окна авторизации
72251
72252
72253
72254

col7
09.12.2023, 13:41
в целом и с этим разобрался, имя файла формировалось из переменной, и если она пуста то и были ошибки, смутило что просило вход в библиотеку. буду дальше экспериментировать

col7
09.12.2023, 14:03
Все таки есть проблема с динамическим изменением имени файла, и его размером. Если тренд активен, и находится в трассировке, то он уже запоминает имя которое ему отправляется. При включении режима записи в файл (xTraceMode:=false) запись в изменившееся имя файла не происходит. В старое имя пишется одна строка, точнее перезаписывается.
Общий план использовать разные экземпляры(разные папки соответственно) и разные имена файлов для архивации повторяющегося процесса.
Рисует правильно но на лету не начинает писать в новое имя файла, а в старом нет данных.
Подскажите что это может быть, скрины/проект/доступ могу дать.

Михаил Троицкий
09.12.2023, 14:57
Как себя чувствует контроллер, когда сразу несколько блоков fbTrend из библиотеки запущены?

Евгений Кислов
09.12.2023, 15:01
Все таки есть проблема с динамическим изменением имени файла, и его размером. Если тренд активен, и находится в трассировке, то он уже запоминает имя которое ему отправляется. При включении режима записи в файл (xTraceMode:=false) запись в изменившееся имя файла не происходит. В старое имя пишется одна строка, точнее перезаписывается.
Общий план использовать разные экземпляры(разные папки соответственно) и разные имена файлов для архивации повторяющегося процесса.
Рисует правильно но на лету не начинает писать в новое имя файла, а в старом нет данных.
Подскажите что это может быть, скрины/проект/доступ могу дать.

Если нужно в процессе работы менять настройки тренда - то сначала останавливайте работу экземпляра (вызывайте его с xEnable := FALSE), меняйте настройки, и уже потом вызывайте его с xEnable := TRUE.

Евгений Кислов
09.12.2023, 15:01
Как себя чувствует контроллер, когда сразу несколько блоков fbTrend из библиотеки запущены?

Нормально.

Михаил Троицкий
09.12.2023, 15:18
Включил эту библиотеку в проект и в течении недели планирую тестировать на реальном объекте. Насколько я понял из объяснений, OWT с трендом нужна только для ПЛК и СПК на текущей платформе, чтобы не было проблем при использовании трендов в проектах. На новой платформе есть ионисторы и вполне можно применять штатный тренд. То есть OWT своего рада костыль.

alexander.kinsfator@gmail.com
09.12.2023, 15:45
Здравствуйте!

Существует ли где то библиотека или другой источник с графикой насосов, заслонок, трубопроводов в стиле часов-выключателей-циферблатов из стандартной визуализации CS3.5.
Неужели каждый сам колхозит это всё?

Евгений Кислов
09.12.2023, 17:05
Здравствуйте!

Существует ли где то библиотека или другой источник с графикой насосов, заслонок, трубопроводов в стиле часов-выключателей-циферблатов из стандартной визуализации CS3.5.
Неужели каждый сам колхозит это всё?

Добрый день.
Встроенной библиотеки нет.
Что-то доступно здесь:
https://owen.ru/forum/showthread.php?t=29152

Евгений Кислов
09.12.2023, 17:05
Включил эту библиотеку в проект и в течении недели планирую тестировать на реальном объекте. Насколько я понял из объяснений, OWT с трендом нужна только для ПЛК и СПК на текущей платформе, чтобы не было проблем при использовании трендов в проектах. На новой платформе есть ионисторы и вполне можно применять штатный тренд. То есть OWT своего рада костыль.

У СПК210 ионисторов, к сожалению, не будет.
Ну и надо сказать, что у нашего тренда есть свои преимущества - например, архивация в .csv и широкие возможности по настройке внешнего вида.

Ринат 24
12.12.2023, 10:55
Добрый день.
Выложите проект, с которым в эмуляции происходит исключение.
Добрый день столкнулся с той же проблемой, можете подсказать как решить еее?

Евгений Кислов
12.12.2023, 11:00
Добрый день.


можете подсказать как решить еее?

Выложить проект, с которым в эмуляции происходит исключение.

Ринат 24
12.12.2023, 11:20
ссылку отправил письмом

Евгений Кислов
12.12.2023, 11:28
ссылку отправил письмом

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

Ринат 24
12.12.2023, 12:26
Благодарю, все заработало.

les_11
15.12.2023, 23:27
Здравствуйте, не получается запустить проект с добавленным OwenVisuTools трендом - просит пароль Owner для этой библиотеки. Или это платная библиотека?

Евгений Кислов
16.12.2023, 10:14
Здравствуйте, не получается запустить проект с добавленным OwenVisuTools трендом - просит пароль Owner для этой библиотеки. Или это платная библиотека?

Добрый день.
Библиотека бесплатная, пароль требуется только для доступа к исходному коду.
Вероятно, вы некорректно вызываете экземпляр ФБ OwenTrend, что приводит к исключению - и именно из-за этого появляется сообщение про пароль, которое вы видите (CODESYS пытается показать место в исходном коде, затронутое исключением, но код защищен паролем).
Попробуйте для начала запустить пример:
https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/02_Visu/06_OwenVisuTools/Example_OVT_OwenTrend_3517v1.projectarchive

les_11
17.12.2023, 09:16
Попробуйте для начала запустить пример:

Спасибо! Пример очень выручил.

sco-scorpion
18.12.2023, 11:53
Добрый день, подскажите как правильно организовать ввод времени в (мс)
Если выбрать текущий вариант
72444
при вводе параметра(времени) значение сохраняеться, но не отображается.
Если вставить параметр %t[ms]
72443
значение отображается, но при попытке сохранить, не сохраняется.

ETL_Роман
18.12.2023, 12:12
Добрый день.
Может ли смена имени стартовой визуализации на готовом проекте с фреймами внутри этой визуализации через рефакторинг вызвать какие-либо непредвиденные/неприятные последствия?
На что обратить внимание после рефакторинга кроме Стартовой визуализации в настройках WebVisualization?
Картинка 2 - Конечная цель для переименования. Если можно изменить ее без изменения имени визуализации в CoDeSys, то было бы полезно знать этот механизм тоже
7244672454

Cs-Cs
18.12.2023, 12:20
sco-scorpion Сделать просто ввод числа. А потом в коде его перевести в миллисекунды через WORD_TO_TIME (зависит от типа переменной - WORD, INT, LONG).
Время как раз задаётся в миллисекундах, поэтому WORD_TO_TIME(300) даст как раз t#300ms.

ETL_Роман
18.12.2023, 12:30
sco-scorpion
Под это поле отводишь отдельную переменную целочисленного типа (int, uint). В нужном месте пишешь t#1ms * (uint_time) и тогда блок который на входе использует получит время, а на визуализации будет отображаться так как тебе это нужно

klad_Fe2O3
19.12.2023, 19:30
Подскажите, пожалуйста, как в CODESYS 3.5 установить правильную(кириллицу) кодировку текста в элементе Текстовое поле и поле ввода этого элемента. А то все делаю как в описанном примере из файла CDSv3.5_Visu_v3.0.pdf, а в результате русскоязычная строка подменяется абракадаброй.

Евгений Кислов
19.12.2023, 19:34
Подскажите, пожалуйста, как в CODESYS 3.5 установить правильную(кириллицу) кодировку текста в элементе Текстовое поле и поле ввода этого элемента. А то все делаю как в описанном примере из файла CDSv3.5_Visu_v3.0.pdf, а в результате русскоязычная строка подменяется абракадаброй.

Вероятно, вы привязываете к элементу переменную типа STRING.
В вашем случае нужно WSTRING.

klad_Fe2O3
19.12.2023, 19:40
Большое спасибо.

ETL_Роман
20.12.2023, 12:58
Добрый день.
Может ли смена имени стартовой визуализации на готовом проекте с фреймами внутри этой визуализации через рефакторинг вызвать какие-либо непредвиденные/неприятные последствия?
На что обратить внимание после рефакторинга кроме Стартовой визуализации в настройках WebVisualization?
Картинка 2 - Конечная цель для переименования. Если можно изменить ее без изменения имени визуализации в CoDeSys, то было бы полезно знать этот механизм тоже
7244672454

Повторю вопрос

Евгений Кислов
20.12.2023, 13:09
Повторю вопрос

Добрый день.

1. Я такого не наблюдал. Но если так формулировать вопрос - то, теоретически, может за счет еще необнаруженных багов.
2. Такого способа нет. В баг-трекере есть соответствующее пожелание; ему уже 8 лет.

72505

beatitas
22.12.2023, 19:06
Добрый вечер.
1) Хотел уточнить - как и где можно правильно хранить изображения для проекта, которые будут отображаться в визуализации? А то внутренняя память быстро забьется.

2) изображения, повёрнутые и отмасштабированные с редствами CodeSYS почему то поворачиваются обратно при загрузке визуализации и самовольно меняют масшаб, если выбрать анизотропное масштабирование

72569

А после загрузки в контроллер и запуска приложения:

72570

Евгений Кислов
22.12.2023, 19:48
Добрый вечер.
1) Хотел уточнить - как и где можно правильно хранить изображения для проекта, которые будут отображаться в визуализации? А то внутренняя память быстро забьется.

2) изображения, повёрнутые и отмасштабированные с редствами CodeSYS почему то поворачиваются обратно при загрузке визуализации и самовольно меняют масшаб, если выбрать анизотропное масштабирование

72569

А после загрузки в контроллер и запуска приложения:

72570

Добрый день.
1. Почему вы решили, что внутренняя память забьется?
2. Баг с масштабированием действительно есть. Его исправили в версии плагина визуализации 4.4.0.0.
Чтобы обойти баг - вы можете поворачивать изображения в графическом редакторе на ПК, и уже импортировать в CODESYS сразу повернутыми.
Что касается проблем с масштабированием - выложите, пожалуйста, простейший проект (и нужную картинку), с которым я смогу повторить эту проблему.

beatitas
23.12.2023, 10:49
Добрый день.
1. Почему вы решили, что внутренняя память забьется?
2. Баг с масштабированием действительно есть. Его исправили в версии плагина визуализации 4.4.0.0.
Чтобы обойти баг - вы можете поворачивать изображения в графическом редакторе на ПК, и уже импортировать в CODESYS сразу повернутыми.
Что касается проблем с масштабированием - выложите, пожалуйста, простейший проект (и нужную картинку), с которым я смогу повторить эту проблему.

Евгений, доброе утро.
1)Я случайно загрузил 6.5 Мб jpeg и кодсис пожаловался на нехватку памяти когда загружал в контроллер. И, если я всё же буду его использовать в BMS - там визуализаций станет очень много, с большим количеством растровых картинок.
2) да, понимаю что можно поворачивать заранее. Но, тогда на каждое изображение будет 3-4 экземпляра. Потому что актуаторы и сенсоры могут быть повёрнуты разными сторонами. Я думал, что это я где то накосипорил и это легко исправить. После EasyBuilderPro тяжело идёт.
В любом случае - сейчас это для быстрого прототипирования и запуска интерфейса. Поэтому не критично - потом закажу отрисовку нормальную, чтобы как в EasyBuilder.
Сейчас уже перерисовал используя заранее повёрнутые картинки, бекапа не оставил. картинки прилагаю.
Может это было из-за того что я использовал PNG с прозрачным фоном. Но одна - датчика давления, повёрнута, при этом отрисовывается нормально.

72572

72573

72574

Cs-Cs
23.12.2023, 13:59
beatitas Есть такая наука, как КУЛЬТУРА. В данном случае - программирования.
Саркастически, как чёртов старпёр, даю намёк: много бескультурных людей отсылают по почте несжатые фотки. По 10-20 мегабайт. У тебя та же ситуация.
Что надо сделать:
1. Изучить про растровые форматы. Они имеют максимальное качество при графическом размере 1:1 и максимальную скорость загрузки. Это чащее всего пресловуты BMP. Для Web и фоток он плох, а для ПЛК - отличен, так как там данные хранятся попиксельно и наложение максок прозрачности, обрезки и прочего будет работать 100% точно и чётко.
2. Заранее ужать и подготовить все картинки ТОЧНО под размер визуализации. Образно, если визуализация имеет размеры 1024х600 точек - то фон должен иметь точно такие же размеры в точках. Или если какой-то кран или клапан будет стоять в поле размерами 32х32 точки - то и картинка должна быть СТРОГО такого же размера.

Эти два пункта дадут вот что:
* Ускорение загрузки и обработки картинок. BMP не надо разжимать и отрисовывать - его можно (на уровне API) прям чуть ли не в видеопамять сразу скопировать как функция MemMove().
* Снижение нагрузки на масштабирование. Зачем заставлять ПЛК ещё и масштабировать картинки, если заранее можно сделать это.

В общем, это всё напоминает подготовку спрайтов для компьютерных игр.

Вот, я делал первую в своей жизни визуализацию с якобы кранами (стрелки). Компоненты я начертил в Visio, а потом ужал до 256 цветов нарезал на спрайты и втащил в CodeSys. В итоге фоновая картинка весит 400 кб всего. Стрелки сделал прозрачными через маску цвета фона.
72575

Евгений Кислов
27.12.2023, 08:12
Евгений, доброе утро.
1)Я случайно загрузил 6.5 Мб jpeg и кодсис пожаловался на нехватку памяти когда загружал в контроллер. И, если я всё же буду его использовать в BMS - там визуализаций станет очень много, с большим количеством растровых картинок.
2) да, понимаю что можно поворачивать заранее. Но, тогда на каждое изображение будет 3-4 экземпляра. Потому что актуаторы и сенсоры могут быть повёрнуты разными сторонами. Я думал, что это я где то накосипорил и это легко исправить. После EasyBuilderPro тяжело идёт.
В любом случае - сейчас это для быстрого прототипирования и запуска интерфейса. Поэтому не критично - потом закажу отрисовку нормальную, чтобы как в EasyBuilder.
Сейчас уже перерисовал используя заранее повёрнутые картинки, бекапа не оставил. картинки прилагаю.
Может это было из-за того что я использовал PNG с прозрачным фоном. Но одна - датчика давления, повёрнута, при этом отрисовывается нормально.

72572

72573

72574

Добрый день.

1. У ПЛК2хх даже в старых прошивок около 70 Мб памяти доступно пользователю под его приложение.
Возможно, вы перепрошивали ПЛК, и при это файловая система была некорректно размечена - тогда доступное под проект место будет составлять около 11 Мб.
Это можно исправить путем повторной прошивки со сбросом настроек.

2. Нет, в данном случае ошибка на стороне CODESYS.

Что касается анизотропного масштабирования (и масштабирования в целом) - если предполагается его возможность, то лучше использовать векторные изображения в формате .svg.

1exan
27.12.2023, 08:26
...

Что касается анизотропного масштабирования (и масштабирования в целом) - если предполагается его возможность, то лучше использовать векторные изображения в формате .svg.


beatitas Есть такая наука, как КУЛЬТУРА. В данном случае - программирования.
Саркастически, как чёртов старпёр, даю намёк: много бескультурных людей отсылают по почте несжатые фотки. По 10-20 мегабайт. У тебя та же ситуация.
Что надо сделать:
1. Изучить про растровые форматы...

72575

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

smnt
11.01.2024, 22:39
Добрый день.
Можно ли у "Текстового поля" менять цвет фона в зависимости от значений переменной?

МихаилГл
11.01.2024, 22:43
Добрый день.
Можно ли у "Текстового поля" менять цвет фона в зависимости от значений переменной?

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

В поле "переменные цвета"...

smnt
11.01.2024, 23:10
Там привязка к булевой переменной и всего два цвета: норма и тревога.
А надо закрашивать в большее количество цветов.

Евгений Кислов
12.01.2024, 06:36
Добрый день.
Можно ли у "Текстового поля" менять цвет фона в зависимости от значений переменной?

Добрый день.
Да, можно.
См. скриншот:

72899

К этому параметру надо привязать переменную типа DWORD и записывать в нее значение цвета в формате ARGB (https://en.wikipedia.org/wiki/RGBA_color_model#ARGB32) (например, 16#FFFF0000).

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

smnt
12.01.2024, 10:12
Такой вопрос.
Можно ли вэб-браузером подключиться к симулятору для проверки визуализации?

Евгений Кислов
12.01.2024, 10:34
Такой вопрос.
Можно ли вэб-браузером подключиться к симулятору для проверки визуализации?

К симулятору нет. Используйте виртуальный контроллер.

smnt
12.01.2024, 11:11
У вас время на сайте неправильно отображается.
https://e.radikal.host/2024/01/12/2024-01-12_11-10-06.md.png (https://radikal.host/i/cbzede)

Евгений Кислов
12.01.2024, 11:53
У вас время на сайте неправильно отображается.
https://e.radikal.host/2024/01/12/2024-01-12_11-10-06.md.png (https://radikal.host/i/cbzede)

Кабинет (на странице форума - вверху справа) - Мои настройки (слева внизу) - Основные настройки - Опции даты и времени (внизу) - Часовой пояс - выберите нужный

smnt
12.01.2024, 12:31
Давно мы сменили часовой пояс на +4? Вроде всегда мск был +3.
Да и не в часовом поясе дело. Я свой вопрос задал утром, а никак не в час ночи.

smnt
12.01.2024, 13:55
Еще проблема...
Хочу использовать гиф-анимацию.
В менеджере визуализации поставил галочку "Поддержка клиентских анимаций...".
Теперь картинка анимирована. Но!
Не могу просмотреть всю визуализацию при симуляции. Куда то пропали полосы прокрутки.

Можно ли несколько гифок свести в один список, чтобы сменять их по значению одного тэга?

Евгений Кислов
12.01.2024, 14:03
Можно ли несколько гифок свести в один список, чтобы сменять их по значению одного тэга?

Да, это возможно.
См. параметр Переменная ID изображения у элемента Изображение.
Пример его использования - в п. 10.3.4:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Visu_v3.0.pdf

smnt
12.01.2024, 14:12
С гифками разобрался, спасибо.
А как вернуть полосы прокрутки?

Евгений Кислов
12.01.2024, 15:41
С гифками разобрался, спасибо.
А как вернуть полосы прокрутки?

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

smnt
13.01.2024, 00:01
Запустил проект на Soft-PLC.
Полосы прокрутки на странице визуализации CDS так и не появились.
Вэб-браузером подключился. Но почему то гиф-анимация на странице не отображается.
Хотя в визуализации CDS все нормально.

Евгений Кислов
13.01.2024, 11:26
Запустил проект на Soft-PLC.
Полосы прокрутки на странице визуализации CDS так и не появились.
Вэб-браузером подключился. Но почему то гиф-анимация на странице не отображается.
Хотя в визуализации CDS все нормально.

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

smnt
13.01.2024, 22:09
Выслал на рабочую почту.
Еще вопрос. А какая визуализация лучше, Вэб или Таргет?
К ПЛК будет подключен промышленный ПК с монитором.
Сначала думал просто выводить туда вэб-визуализацию.
Потом решил поставить туда CDS. Может тогда лучше отображать таргет-визуализацию?
Правда еще не разобрался как ее поставить в автозагрузку и как из нее выходить?

Евгений Кислов
14.01.2024, 09:51
Выслал на рабочую почту.
Еще вопрос. А какая визуализация лучше, Вэб или Таргет?
К ПЛК будет подключен промышленный ПК с монитором.
Сначала думал просто выводить туда вэб-визуализацию.
Потом решил поставить туда CDS. Может тогда лучше отображать таргет-визуализацию?
Правда еще не разобрался как ее поставить в автозагрузку и как из нее выходить?

По проекту - отвечу вам завтра.

В дистрибутив CODESYS входит триальная версия виртуального контроллера - спустя 2 часа она прекратит работу.
Можно ее перезапустить вручную. Можно купить лицензию в https://store.codesys.com/en/ (но вы не сможете это сделать, используя банковскую карту РФ или РБ).
Какая визуализация лучше подходит для вашей задачи - решать вам.
Их функционал, в целом, не имеет существенных отличий.

smnt
14.01.2024, 12:25
Спасибо.
Лицензия меня не интересует т.к. ПЛК будет реальный.
Где можно почитать/посмотреть по настройкам таргет-визуализации?
(Как настроить автозапуск и как потом из нее выйти)

Евгений Кислов
14.01.2024, 12:56
Таргет-визуализация автоматически запускается при старте контроллера, если она добавлена в проекте и поддерживается контроллером.
Чтобы ее закрыть - нужно нажать кнопку Win и закрыть визуализацию через панель задач Windows.

smnt
14.01.2024, 13:57
Таргет-визуализация автоматически запускается при старте контроллера, если она добавлена в проекте и поддерживается контроллером.
Не понял, а как реальный контроллер (не soft-plc) может запустить таргет-визуализацию на ПК?


Чтобы ее закрыть - нужно нажать кнопку Win и закрыть визуализацию через панель задач Windows.
А кнопку на мнемосхеме нельзя сделать? Что если клавиатуры нету?

Евгений Кислов
14.01.2024, 15:10
Не понял, а как реальный контроллер (не soft-plc) может запустить таргет-визуализацию на ПК?

Никак. Об этом речи и не шло.
Все сказанное относилось к таргет-визуализации Soft Plc.
Наши ПЛК2хх не поддерживают таргет-визуализацию (у них нет экрана).


А кнопку на мнемосхеме нельзя сделать? Что если клавиатуры нету?

Уточните ваш вопрос в связи с моим ответом на ваш первый вопрос.

smnt
14.01.2024, 17:14
Тогда вопрос с таргет-визуализацией снимается.
А как сделать кнопку для выхода из вэб-визуализации?
(при работе с тач экраном)

Евгений Кислов
14.01.2024, 17:36
Тогда вопрос с таргет-визуализацией снимается.
А как сделать кнопку для выхода из вэб-визуализации?
(при работе с тач экраном)

Уточните, что именно вы называете "тач экраном".
Частью какого устройства он является?

smnt
14.01.2024, 17:42
Монитор. Часть промышленного ПК.

Евгений Кислов
14.01.2024, 18:16
Монитор. Часть промышленного ПК.

Т.е. веб-визуализация на нем отображается в браузере. В браузерах обычно есть кнопки закрытия вкладок.
Или у вас браузер на пром. ПК запускается в режиме киоска?

smnt
14.01.2024, 18:19
Планирую запускать браузер в полноэкранном режиме.
Клавиатуры у ПК скорее всего не будет....

Евгений Кислов
15.01.2024, 06:37
Запустил проект на Soft-PLC.
Полосы прокрутки на странице визуализации CDS так и не появились.
Вэб-браузером подключился. Но почему то гиф-анимация на странице не отображается.
Хотя в визуализации CDS все нормально.

В вашем письме вы пишите:

В этом проекте почему то при подключении вэб-браузером, гиф анимация работает. Что странно…

Остается история с полосой прокрутки, на которую влияет галочка в менеджере визуализации.
Эту полосу вы наблюдаете в сервисной визуализации CODESYS.
В вашем случае я рекомендую отказаться от взаимодействия с ней и смотреть только на веб-визуализацию через веб-браузер - в конечном итоге, для оператора будет отображаться именно она.

Евгений Кислов
15.01.2024, 08:10
Планирую запускать браузер в полноэкранном режиме.
Клавиатуры у ПК скорее всего не будет....

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

72950

smnt
16.01.2024, 11:37
Добрый день.
Почему то CDS перестал находить софт-плк...
https://e.radikal.host/2024/01/16/2024-01-16_11-33-53.md.png (https://radikal.host/i/cYuAOE)
Куда смотреть?

Евгений Кислов
16.01.2024, 11:49
Добрый день.
Почему то CDS перестал находить софт-плк...
https://e.radikal.host/2024/01/16/2024-01-16_11-33-53.md.png (https://radikal.host/i/cYuAOE)
Куда смотреть?

Добрый день.
Вы запустили софт-ПЛК?

smnt
16.01.2024, 11:50
Да, конечно.
https://e.radikal.host/2024/01/16/2024-01-16_11-50-45.md.png (https://radikal.host/i/cYukeh)
И служба тоже запущена.

Евгений Кислов
16.01.2024, 11:52
Да, конечно.
https://e.radikal.host/2024/01/16/2024-01-16_11-50-45.md.png (https://radikal.host/i/cYukeh)
И служба тоже запущена.

Свяжитесь со мной через телеграм (в подписи) и обеспечьте удаленный доступ по AnyDesk.

smnt
16.01.2024, 13:51
Почему в Таблице тревог сообщение по центру, хотя в настройках выбрано выравнивание по левому краю?
https://e.radikal.host/2024/01/16/2024-01-16_13-48-04.md.png (https://radikal.host/i/cYWzSx)
https://e.radikal.host/2024/01/16/2024-01-16_13-48-33.md.png (https://radikal.host/i/cYWQ7C)

Евгений Кислов
16.01.2024, 17:57
Почему в Таблице тревог сообщение по центру, хотя в настройках выбрано выравнивание по левому краю?
https://e.radikal.host/2024/01/16/2024-01-16_13-48-04.md.png (https://radikal.host/i/cYWzSx)
https://e.radikal.host/2024/01/16/2024-01-16_13-48-33.md.png (https://radikal.host/i/cYWQ7C)

Это баг. Обойти можно так:

1. Установите выравнивание по центру
2. Компиляция - Очистить все
3. Загрузите проект
4. Отключитесь
5. Верните выравнивание по левому краю
6. Компиляция - Очистить все
7. Загрузите проект
8. Тексты тревог будут выровнены по левому краю

smnt
16.01.2024, 18:46
Это баг. Обойти можно так:
...


Спасибо, помогло.
А этот баг как исправить?
"Мин" и "Макс" имеют одинаковые настройки.
Наблюдается в вэб-визуализации. При редактировании в CDS такого нет.
https://e.radikal.host/2024/01/16/111.png (https://radikal.host/i/cYqAq1)

Евгений Кислов
16.01.2024, 19:26
Спасибо, помогло.
А этот баг как исправить?
"Мин" и "Макс" имеют одинаковые настройки.
Наблюдается в вэб-визуализации. При редактировании в CDS такого нет.
https://e.radikal.host/2024/01/16/111.png (https://radikal.host/i/cYqAq1)

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

smnt
16.01.2024, 20:24
https://disk.yandex.ru/d/XxrdJk6N7F49vw

Евгений Кислов
17.01.2024, 09:25
https://disk.yandex.ru/d/XxrdJk6N7F49vw

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

smnt
28.01.2024, 16:02
Добрый день.
Можно ли для "Текстового поля" задать ограничения на вводимое значение переменной?

Евгений Кислов
28.01.2024, 16:11
Добрый день.
Можно ли для "Текстового поля" задать ограничения на вводимое значение переменной?

Добрый день.
Если привязана числовая переменная - то можно, в настройках действия Записать переменную.

73149

smnt
28.01.2024, 17:42
Спасибо. Про Конфигурацию ввода я и забыл.
Еще вопрос.
Нарисовал на мнемосхеме кнопку для переключения переменной Application.TargetVars.stPlc200_04.stRoot.xStartSt opSwitch.
Чтобы останавливать ПЛК.
Но она почему то не работает...

Евгений Кислов
28.01.2024, 17:44
Спасибо. Про Конфигурацию ввода я и забыл.
Еще вопрос.
Нарисовал на мнемосхеме кнопку для переключения переменной Application.TargetVars.stPlc200_04.stRoot.xStartSt opSwitch.
Чтобы останавливать ПЛК.
Но она почему то не работает...

xStartStopSwitch - это состояние физического тумблера на корпусе ПЛК.
Его из программы не переключить - потребуется воздействие пальцем.
Лучше напишите, что именно вы хотите реализовать. Что значит "останавливать ПЛК"?

smnt
28.01.2024, 17:53
Изредка в сети RS485 возможна работа другого мастера.
Думал таким образом останавливать ПЛК чтобы они не конфликтовали...

Евгений Кислов
28.01.2024, 17:59
Изредка в сети RS485 возможна работа другого мастера.
Думал таким образом останавливать ПЛК чтобы они не конфликтовали...

Тогда лучше обмен в программе ПЛК отключать, а не останавливать работу рантайма CODESYS.

smnt
28.01.2024, 18:15
И как это делать из программы?

Евгений Кислов
28.01.2024, 18:43
И как это делать из программы?

Зависит от того, как именно у вас настроен обмен - через дерево проекта или библиотеку.

smnt
28.01.2024, 18:56
Через дерево проекта.

Евгений Кислов
28.01.2024, 18:58
Через дерево проекта.

https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Modbus_v3.2.pdf

п. 3.4 (шаблоны устройств ОВЕН) и 4.6 (стандартные компоненты CODESYS)

sco-scorpion
29.01.2024, 13:54
Добрый день.
Сейчас при нажатии на кнопку настройки открывается другая визуализация, подскажите как сделать что бы при нажатии запрашивался пароль и при правильном вводе открывал визуализацию.

Евгений Кислов
29.01.2024, 13:57
Добрый день.
Сейчас при нажатии на кнопку настройки открывается другая визуализация, подскажите как сделать что бы при нажатии запрашивался пароль и при правильном вводе открывал визуализацию.

Добрый день.
Можете посмотреть этот пример:
https://owen.ru/forum/showthread.php?t=28167&page=6&p=312297&viewfull=1#post312297

sco-scorpion
29.01.2024, 14:22
Добрый день.
Можете посмотреть этот пример:
https://owen.ru/forum/showthread.php?t=28167&page=6&p=312297&viewfull=1#post312297

Подскажите, а где можно скачать таргет визуализации 4.3?

Евгений Кислов
29.01.2024, 14:42
Подскажите, а где можно скачать таргет визуализации 4.3?

Перед установкой плагина вы должны принять как факт, что в ней могут быть еще неизвестные ошибки, с которыми техподдержка не сможет вам оперативно помочь.
Ответственность за последствия этого решения целиком ложится на вас.
Кроме того, при установке будет удалена ваша текущая версия плагина визуализации, так что желательно сначала создать отдельное окружение (в CODESYS Installer - Add installation) и уже в нее установить плагин - иначе могут быть трудности с другими проектами, в которых использовался "cтандартный" плагин визуализации 4.1.1.0.

https://ftp.owen.ru/CoDeSys3/01_CODESYS/plugins/CODESYS%20Visualization%204.3.0.0.package

ProgrOwist
20.02.2024, 10:48
Доброго времени суток.

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

Евгений Кислов
20.02.2024, 10:50
Доброго времени суток.

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

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

ProgrOwist
20.02.2024, 10:54
Добрый день.
Да.
Подойдет практически любой из базовых элементов - прямоугольник, текстовое поле и т. д.

Я имею ввиду - в реальном времени их тоже можно использовать?

Евгений Кислов
20.02.2024, 11:30
Я имею ввиду - в реальном времени их тоже можно использовать?

Да, можно.

MishaSur
21.02.2024, 13:21
Добрый день. Подскажите как можно отредактировать клавиатуру, увеличить размер и т.п. при вводе с сенсорного экрана? (при 20и дюймовой панели с разрешением 1920х1080 экранная клавиатура мелковата)

Евгений Кислов
21.02.2024, 13:24
Добрый день. Подскажите как можно отредактировать клавиатуру, увеличить размер и т.п. при вводе с сенсорного экрана? (при 20и дюймовой панели с разрешением 1920х1080 экранная клавиатура мелковата)

Добрый день.
Я рекомендую для начала попробовать наши клавиатуры из библиотеки OwenVisuDialogs с постфиксом Huge (NumpadOwenHuge, KeypadOwenHuge):
https://owen.ru/forum/showthread.php?t=34327

Если нужно еще больше - то можете отредактировать библиотеку, она доступна в исходниках.

MishaSur
21.02.2024, 16:23
Спасибо. Второй вариант подошел больше

ProgrOwist
26.02.2024, 09:50
Доброе утро. Подскажите, пожалуйста, как можно избавиться от отображения крокозябр вместо русского языка? Галочка "Использовать строки Unicode" стоит.
В нижнее окно я вписываю текст на русском, сверху (подчёркнуто красным) отображается введённый текст.
73900

Евгений Кислов
26.02.2024, 10:45
Доброе утро. Подскажите, пожалуйста, как можно избавиться от отображения крокозябр вместо русского языка? Галочка "Использовать строки Unicode" стоит.
В нижнее окно я вписываю текст на русском, сверху (подчёркнуто красным) отображается введённый текст.
73900

Добрый день.
Используйте тип WSTRING, а не STRING.

ProgrOwist
26.02.2024, 12:13
Добрый день.
Используйте тип WSTRING, а не STRING.

У меня есть ограничения, связанные с тем. что мне нужно использовать изначально переменную WSTRING. Существует ли другой способ какой-нибудь, или проще отказаться от идеи с отображением?

Евгений Кислов
26.02.2024, 12:25
У меня есть ограничения, связанные с тем. что мне нужно использовать изначально переменную WSTRING. Существует ли другой способ какой-нибудь, или проще отказаться от идеи с отображением?

Опишите вашу задачу (и связанные с ней ограчения) в подробностях.

ProgrOwist
26.02.2024, 13:19
Опишите вашу задачу (и связанные с ней ограчения) в подробностях.

Задача такая - я записываю в OwenArchiver множество значений, использую режим архивирования "Периодически". При этом у меня есть одна переменная, которую я добавляю по желанию (что-то типа заметки в момент времени архивирования). Это и есть та самая WSTRING-переменная. Она используется для того. чтоб на экране визуализации в codesys можно было через поле ввода присвоить в неё текст русскими буквами.
Однако OWenArchiver умеет архивировать только STRING-переменные, поэтому с помощью функции из библиотеки OWenStringUtils я WSTRING преобразую в STRING, и конечную STRING-переменную уже архивирую и хочу её же отобразить в каком-нибудь окошке (см. скриншот выше сообщением).
Поэтому у меня и остаётся вопрос - как ещё можно отобразить эту преобразованную переменную в окошке (элемент "Текстовое поле" использую для этого)?

Ответа на этот вопрос в документах и справке я не смог найти

Евгений Кислов
26.02.2024, 13:21
Вам нужно отображать в визуализации "ту самую WSTRING-переменную". Ее содержимое (в плане символов, а не кодировки) будет соответствовать вашей архивируемой STRING-переменной.

ProgrOwist
26.02.2024, 13:28
Вам нужно отображать в визуализации "ту самую WSTRING-переменную". Ее содержимое (в плане символов, а не кодировки) будет соответствовать вашей архивируемой STRING-переменной.

WSTRING-переменная не отображается в этом окне, я проверял

Евгений Кислов
26.02.2024, 13:40
WSTRING-переменная не отображается в этом окне, я проверял

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

ProgrOwist
26.02.2024, 14:02
Выложите простейший проект, в котором я смогу это повторить (с указанием окна, на котором используется данная переменная).

https://dropmefiles.com/QlIcJ

Евгений Кислов
26.02.2024, 14:10
https://dropmefiles.com/QlIcJ

Вы %s забыли.

ProgrOwist
26.02.2024, 14:22
А с ним крокозябры будут отображаться как на скриншоте ранее

UPD: О. Заработало. Спасибо большое, глупо получилось :D

Евгений Кислов
26.02.2024, 14:23
А с ним крокозябры будут отображаться

У меня не отображаются.

73903 73904

Nerion
12.03.2024, 00:36
Добрый вечер!
Можно ли как-то для загрузки рецептов в визуализации использовать "комбинированное окно (целочисленное)". Что бы выпадал список всех рецептов и из него можно было нужный и загрузить в программу из него параметры.

Евгений Кислов
12.03.2024, 06:15
Добрый вечер!
Можно ли как-то для загрузки рецептов в визуализации использовать "комбинированное окно (целочисленное)". Что бы выпадал список всех рецептов и из него можно было нужный и загрузить в программу из него параметры.

Добрый день.
См. в самом начале этого видео:
https://youtu.be/A1WrZVJUWhY?si=kMa6MBPazjenElYe

Cs-Cs
12.03.2024, 22:14
Nerion А в каком виде массивы надо использовать? Если использовать в виде ссылки на элемент массива типа arrValues[10] > 15 или даже arrData[Val_SensorExt] > 20 - то прокатит.
Если подсунуть целиком массив, то, насколько я знаю, - нет.

Nerion
12.03.2024, 22:23
Nerion А в каком виде массивы надо использовать? Если использовать в виде ссылки на элемент массива типа arrValues[10] > 15 или даже arrData[Val_SensorExt] > 20 - то прокатит.
Если подсунуть целиком массив, то, насколько я знаю, - нет.

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

ultra76
15.03.2024, 14:50
Коллеги, здравствуйте.
Есть ли возможность менять стиль визуализации из кода программы или из Web-визуализации?

Хочу дать возможность оператору менять тему со "светлой" на "тёмную".
74387

Евгений Кислов
15.03.2024, 17:14
Коллеги, здравствуйте.
Есть ли возможность менять стиль визуализации из кода программы или из Web-визуализации?

Хочу дать возможность оператору менять тему со "светлой" на "тёмную".
74387

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

Ruslan Bort
16.03.2024, 13:52
Коллеги, доброго дня.

Прошу совета в части визуализации.

Суть в следующем:

В программе запускается таймер PT. Задача - отображать текущее значение его выхода ET (присвоено переменной, для привязки в элементе визуализации)
Отображать нужно в виде Xч XX мин XX сек.
Вопрос:
Что необходимо указать в поле "текст" элемента (напр. прямоугольника) чтоб корректно отображалось время в минутах и секундах?
Или может есть какой-то специальный элемент?


Заранее благодарю за помощь

Евгений Кислов
16.03.2024, 14:01
Коллеги, доброго дня.

Прошу совета в части визуализации.

Суть в следующем:

В программе запускается таймер PT. Задача - отображать текущее значение его выхода ET (присвоено переменной, для привязки в элементе визуализации)
Отображать нужно в виде Xч XX мин XX сек.
Вопрос:
Что необходимо указать в поле "текст" элемента (напр. прямоугольника) чтоб корректно отображалось время в минутах и секундах?
Или может есть какой-то специальный элемент?


Заранее благодарю за помощь

Добрый день.
%t[mm:ss]

Если с часами: %t[HH:mm:ss]

Ruslan Bort
16.03.2024, 14:47
Добрый день.
%t[mm:ss]

Если с часами: %t[HH:mm:ss]

Благодарю за оперативнсть

olegik7711
18.03.2024, 20:29
Здравствуйте! Возникла следующая проблема. Есть проект в CoDesys 2.3 с визуализацией CoDeSys HMI. Беда в том, что лицензия для CoDeSys HMI 2.3(а нужна именно лицензия) уже не продается, проект написан для ПЛК 160. Подскажите пожалуйста, как можно использовать CoDesys HMI 3.5 для ПЛК 160 и проекта версии 2.3? Можно ли перенести только визуализацию и как это сделать. Возможно есть какая-то документация на этот счет. Буду очень признателен за ссылки.

Евгений Кислов
18.03.2024, 21:02
Добрый день.


Подскажите пожалуйста, как можно использовать CoDesys HMI 3.5 для ПЛК 160 и проекта версии 2.3?

Без серьезной доработки - нет.

Если основной критерий - минимизировать число усилий, то проще всего подключаться к ПЛК из CoDeSys V2.3 и работать с визуализацией непосредственно из среды разработки.
Если это будет делать оператор - то нужно четко объяснить ему, как при этом не повлиять на содержимое проекта, не удалить его случайно из ПЛК и т. д.

Если важнее - функционал и надежность, то разумнее использовать SCADA-систему. Соответственно, весь графический интерфейс потребуется разработать с нуля.

Crashroma2009
21.03.2024, 10:04
Здравствуйте. Подскажите, пожалуйста. Есть проект на V3.5 SP17 Patch 3, в Codesys Визуализация отображается корректно, а вот если ее запускаю через браузер любой, то половина элементов перечеркнута крестом.
В чем может быть проблема?

P.S. Если написал не в той теме, прошу извинить!

Евгений Кислов
21.03.2024, 10:20
Здравствуйте. Подскажите, пожалуйста. Есть проект на V3.5 SP17 Patch 3, в Codesys Визуализация отображается корректно, а вот если ее запускаю через браузер любой, то половина элементов перечеркнута крестом.
В чем может быть проблема?

P.S. Если написал не в той теме, прошу извинить!

Добрый день.
Выложите два сравнительных скриншота (из CODESYS и из браузера).

Crashroma2009
21.03.2024, 10:28
Добрый день.
Выложите два сравнительных скриншота (из CODESYS и из браузера).

7456474565