PDA

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



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

Карбофос
30.01.2023, 08:29
Есть ли известные причины, почему может не отображаться изображение на экране СПК? Кодесис 3.5.14.3
Добавляю в пул изображений свою картинку png, создаю элемент "изображение", указываю ему статический id из пула изображений. При подключении онлайн из кодесис оно отображается, но в самой панели и веб-интерфейсе просто пустой прямоугольник.

В общем, оказалось, что это какие-то тараканы у png, созданного в фотошопе. Сделал тоже самое в гимпе - отображается на панели нормально. Хотя перед этим перебрал все варианты настроек экспорта в фотошопе.

ДаниилСПб
31.01.2023, 16:33
Добрый день, Евгений! Подскажите пожалуйста есть ли в Codesys 3 трендах возможность изменения масштаба по оси Y(значения)?
По X все интересно и возможностей достаточно много.

Евгений Кислов
31.01.2023, 16:54
Добрый день, Евгений! Подскажите пожалуйста есть ли в Codesys 3 трендах возможность изменения масштаба по оси Y(значения)?
По X все интересно и возможностей достаточно много.

Добрый день.
Есть возможность зуммирования:

65601

И еще управления диапазоном по Y из кода:

65603

Карбофос
01.02.2023, 09:14
Что-то я не могу понять - на стандартной текстовой экранной клавиатуре цифры можно набирать?

Евгений Кислов
01.02.2023, 09:15
Что-то я не могу понять - на стандартной текстовой экранной клавиатуре цифры можно набирать?

Да, можно.

ДаниилСПб
01.02.2023, 10:31
Добрый день.
Есть возможность зуммирования:

65601

И еще управления диапазоном по Y из кода:

65603

ZOOM почему-то позволяет увеличить отрезок только по оси времени, независимо от того стоит режим отображения авто или фиксированный. Так должно быть или это где-то настраивается?
Спасибо!65629

fatlortroll
01.02.2023, 10:36
День добрый. Подскажите пожалуйста, компонент "Text editor" в CoDeSys 3.5 SP14 P3+ умеет отображать свои-же WSTRING?

Пробую прочитать им файл, в который записаны WSTRING -- ошибок (поле "Variable for error code") нет, но и отображения тоже (почти) нет.
"Почти" -- это отображается первый символ из записаных, после scroll-а -- два нечитаемых символа.

ДаниилСПб
01.02.2023, 10:53
ZOOM почему-то позволяет увеличить отрезок только по оси времени, независимо от того стоит режим отображения авто или фиксированный. Так должно быть или это где-то настраивается?
Спасибо!65629

Разобрался, надо использовать bEnableOnY0

Евгений Кислов
01.02.2023, 10:54
День добрый. Подскажите пожалуйста, компонент "Text editor" в CoDeSys 3.5 SP14 P3+ умеет отображать свои-же WSTRING?

Пробую прочитать им файл, в который записаны WSTRING -- ошибок (поле "Variable for error code") нет, но и отображения тоже (почти) нет.
"Почти" -- это отображается первый символ из записаных, после scroll-а -- два нечитаемых символа.

Добрый день.
Насколько я помню - да, умеет.

Карбофос
01.02.2023, 10:58
Да, можно.

Как? Кнопки перехода к цифра не вижу...

Евгений Кислов
01.02.2023, 11:01
Как? Кнопки перехода к цифра не вижу...

Используйте кнопку Shift.

fatlortroll
01.02.2023, 11:25
А какими настройками определяется кодировка, в которой будет выполняться чтение?

Евгений Кислов
01.02.2023, 11:40
А какими настройками определяется кодировка, в которой будет выполняться чтение?

Я предполагаю, что кодировка определяется автоматически.

ДаниилСПб
01.02.2023, 12:13
Можно ли у трендов задать default time range all?

Хочу сделать кнопку кнопку "очистить" и "сохранить на usb".
Сохранить на usb - файл с базой на флешку.

Как очистить данные тренда или только ждать условия заполнения?

Евгений Кислов
01.02.2023, 12:33
Можно ли у трендов задать default time range all?

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


Как очистить данные тренда

п. 10.4.8:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Visu_v3.0.pdf

vozlov
03.02.2023, 12:03
По умолчанию заголовок веб-страницы в визуализации содержит имя элемента в проекте:

https://s1.hostingkartinok.com/uploads/images/2023/02/9cba04ca8bed1105e10783e08732243a.png

Можно ли туда как-то вписать свой текст (с пробелами, знаками препинания и т.д.)?

Евгений Кислов
03.02.2023, 12:12
По умолчанию заголовок веб-страницы в визуализации содержит имя элемента в проекте:

https://s1.hostingkartinok.com/uploads/images/2023/02/9cba04ca8bed1105e10783e08732243a.png

Можно ли туда как-то вписать свой текст (с пробелами, знаками препинания и т.д.)?

Пока что такой возможности нет. Пожелание в баг-трекере есть.

65701

vozlov
03.02.2023, 17:42
Пока что такой возможности нет. Пожелание в баг-трекере есть.

Они вообще хоть что-то из баг-трекера исправляют? Потому как то же наложение областей входов/выходов по Modbus TCP серьезный баг на ровном месте, а они его даже не планируют исправлять...

Евгений Кислов
03.02.2023, 18:11
Они вообще хоть что-то из баг-трекера исправляют?

Да.


Потому как то же наложение областей входов/выходов по Modbus TCP серьезный баг на ровном месте, а они его даже не планируют исправлять...

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

ВладОвен
06.02.2023, 10:19
Привет.
Подскажите, как правильно отдать пользователю файл от сервера CodeSys Visu ?
Я хочу, чтобы по нажатию на графический примитив выполнялась отдача файла пользователю.
Делаю так, как показано в приложенном рисунке. Но файл не отдается. Может настройка неверная?
Спасибо.
65720

Евгений Кислов
06.02.2023, 10:55
Привет.
Подскажите, как правильно отдать пользователю файл от сервера CodeSys Visu ?
Я хочу, чтобы по нажатию на графический примитив выполнялась отдача файла пользователю.
Делаю так, как показано в приложенном рисунке. Но файл не отдается. Может настройка неверная?
Спасибо.
65720

Добрый день.
У вас путь некорректно указан.
Посмотрите пример:
https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/02_Visu/03_Additional/Example_VisuTransferFile_3514v1.projectarchive

ВладОвен
06.02.2023, 15:55
Да. Ваш пример работает на СПК, а вот на Raspberry работать не хочет.
Ни на запись, ни на чтение.
Может между этими железками есть какие-нибудь отличие?

Евгений Кислов
06.02.2023, 16:05
Да. Ваш пример работает на СПК, а вот на Raspberry работать не хочет.
Ни на запись, ни на чтение.
Может между этими железками есть какие-нибудь отличие?

Конечно, СПК - лучше. )
И по СПК мы с радостью вас проконсультируем, ведь это наш продукт.

ДаниилСПб
08.02.2023, 15:58
Можно ли делать визуализацию в Codesys пропорционально в более высоком(4К 16:9) разрешении чем у ВП110?
Будет ли такая визуализация корректно отображаться на ВП110?
Основное устройство ввода планируется ВП110, но желательно качественная визуализация на ПК и mobile.
Полностью адаптивный интерфейс, как я понял из примера, не сделать, но можно сделать несколько визуализаций для разных клиентов(хотя-бы в горизонтальном и вертикальном расположении).

Евгений Кислов
08.02.2023, 16:00
Можно ли делать визуализацию в Codesys пропорционально в более высоком(4К 16:9) разрешении чем у ВП110?
Будет ли такая визуализация корректно отображаться на ВП110?
Основное устройство ввода планируется ВП110, но желательно качественная визуализация на ПК и mobile.
Полностью адаптивный интерфейс, как я понял из примера, не сделать, но можно сделать несколько визуализаций для разных клиентов(хотя-бы в горизонтальном и вертикальном расположении).

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

ДаниилСПб
08.02.2023, 16:13
Зависит от настроек масштабирования web-визуализации.
Если выбрать изотропный режим - то должно выглядеть нормально.

svg нормально масштабируются, шрифты с заметными глазу шумами.
Существуют ли какие-то особые настройки масштабирования для текстов? Сглаживание итп
Кстати, HTML5 тексты хорошо смотрятся, но тема сырая еще..

Евгений Кислов
08.02.2023, 17:08
svg нормально масштабируются, шрифты с заметными глазу шумами.
Существуют ли какие-то особые настройки масштабирования для текстов? Сглаживание итп
Кстати, HTML5 тексты хорошо смотрятся, но тема сырая еще..

Галочка Сглаживание у вас, вероятно, установлена.
Насколько я знаю - других настроек нет.

ВладОвен
10.02.2023, 10:57
Здравствуйте.
Скажите, есть ли возможность вставить живую ссылку на экране визуализации?
Т.е. как в HTML вставить:

<a href="http://htmlbook.ru" target="_blank">Ссылка открывает новое окно на сайт www.htmlbook.ru</a>

ЗЫ. Оператор будет работать только через Web-визуализацию, т.е. через браузер.

Евгений Кислов
10.02.2023, 11:00
Здравствуйте.
Скажите, есть ли возможность вставить живую ссылку на экране визуализации?
Т.е. как в HTML вставить:

<a href="http://htmlbook.ru" target="_blank">Ссылка открывает новое окно на сайт www.htmlbook.ru</a>

ЗЫ. Оператор будет работать только через Web-визуализацию, т.е. через браузер.

Добрый день.
Конфигурация ввода - <нужное событие> - Выполнить команду - Перейти к URL.

Votrj1
15.02.2023, 11:30
Для уменьшения вероятности битой базы в трендах при отключении рекомендовалось установить сохранение на 10000-15000. А параметр ДОПОЛНИТЕЛЬНЫЙ БУФЕР НА -- какие рекомендации?

Евгений Кислов
15.02.2023, 12:03
Для уменьшения вероятности битой базы в трендах при отключении рекомендовалось установить сохранение на 10000-15000. А параметр ДОПОЛНИТЕЛЬНЫЙ БУФЕР НА -- какие рекомендации?

Я оставляю по умолчанию.
В свежих версиях для режима "record by time interval" эту настройку вообще убрали.

Петр Петрович
15.02.2023, 12:38
Добрый день.
Поделитесь, пожалуйста, опытом. Как можно узнать, что в визуализации нажата кнопка? Делал я например так в Конфигурации ввода для события нажатия кнопки:

PLC_PRG.btn_Index:=4; // Индивидуальный номер кнопки
PLC_PRG.btn_state:=TRUE;
PLC_PRG.btn_Index_Changed:=TRUE;

Это конечно неудобно. Кнопку-то можно скопировать и потом вставить, но нужно для каждой кнопки редактировать btn_Index. Да еще и на отпускание кнопки делать подобное,
а меню свойств кнопки не очень удобное.

В JS мы делаем например так: onMouseDown(this.id); Тут достаточно, просто что бы у каждой кнопки был индивидуальный идентификатор.
Есть ли что-то подобное в CODESYS ?

Евгений Кислов
15.02.2023, 13:11
Добрый день.
Поделитесь, пожалуйста, опытом. Как можно узнать, что в визуализации нажата кнопка? Делал я например так в Конфигурации ввода для события нажатия кнопки:

PLC_PRG.btn_Index:=4; // Индивидуальный номер кнопки
PLC_PRG.btn_state:=TRUE;
PLC_PRG.btn_Index_Changed:=TRUE;

Это конечно неудобно. Кнопку-то можно скопировать и потом вставить, но нужно для каждой кнопки редактировать btn_Index. Да еще и на отпускание кнопки делать подобное,
а меню свойств кнопки не очень удобное.

В JS мы делаем например так: onMouseDown(this.id); Тут достаточно, просто что бы у каждой кнопки был индивидуальный идентификатор.
Есть ли что-то подобное в CODESYS ?

Добрый день.
Если хочется изысканного - см. VisuElems.VisuElemBase.IInputOnElementEventHandler (https://content.helpme-codesys.com/en/libs/VisuElemBase/Current/Public-Parts/Interfaces/IInputOnElementEventHandler.html).
Краткое описание можно найти здесь на стр. 40:
https://ftp.owen.ru/CoDeSys3/99_ForumFiles/CODESYS_V3.5_SP17_features_forum.pdf

Петр Петрович
20.02.2023, 15:20
Добрый день.
Поcоветуйте, пожалуйста. Мне будет нужно выводить в визуализацию в браузер что-то вроде календаря событий, так, что бы можно было:

1. Выбрать событие. Какой элемент для этого лучше всего подходит? Таблица?
2. И можно ли в каждой строке таблицы разместить несколько строк текста. Первую строку - тему события, крупным шрифтом. А под темой - описание события более мелким.
3. Хорошо бы еще те события, которые посчитаем неактуальными, как-то выделять. Можно, конечно, и просто перестроить список, убрав уже ненужные, если иначе невозможно.

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

1. Каковы конкретные требования к элементу? Как будет взаимодействовать с ним пользователь визуализации? Что такое в данном контексте "событие", кем они формируются, что означает "выбор события"?

2. Каждая строка таблицы может состоять из нескольких ячеек, к каждой из которых может быть привязана переменная типа STRING.
Шрифт для каждой ячейки можно настраивать индивидуально.

3. Каждую ячейки таблицы можно выделять своим цветом.

Петр Петрович
20.02.2023, 16:33
Евгений! Спасибо за ответ.

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

>2. Каждая строка таблицы может состоять из нескольких ячеек, к каждой из которых может быть привязана переменная типа STRING. Шрифт для каждой ячейки можно настраивать индивидуально.
А нельзя ли в пределах одной ячейки использовать по-разному отформатированный текст? Хотя бы размером шрифта?

Евгений Кислов
20.02.2023, 16:37
1. Тогда согласен, что элемент Таблица в целом хорошо подходит для описанной задачи.
2. Нет, нельзя.

Алексей Козлитин
22.02.2023, 15:33
Добрый день. Вопрос - можно ли в CODESYS определить запущена Target-визуализация или запущена Web-визуализация в данном случае?

Евгений Кислов
22.02.2023, 15:35
Добрый день. Вопрос - можно ли в CODESYS определить запущена Target-визуализация или запущена Web-визуализация в данном случае?

Добрый день.
Да, см. в библиотеке Visu Utils ФБ fbIterateClients.
Он позволяет получить информацию о клиентах визуализации - в т. ч. тип визуализации для каждого клиента.
Пример использования библиотеки:
https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/02_Visu/03_Additional/Example_ClientManager_3517v2.projectarchive

vozlov
27.02.2023, 16:28
Как сделать, чтобы можно было масштабировать визуализацию (временно увеличить какую-то область) на мобильном устройстве (просто увеличивать / уменьшать пальцами)?
Сейчас выбран вариант Isotropic, визуализация масштабируется по размеру экрана, но увеличить / уменьшить ее нельзя. Даже в режиме "Версия для ПК". На компьютере все без проблем увеличивается по Ctrl +

Евгений Кислов
27.02.2023, 16:31
Как сделать, чтобы можно было масштабировать визуализацию (временно увеличить какую-то область) на мобильном устройстве (просто увеличивать / уменьшать пальцами)?
Сейчас выбран вариант Isotropic, визуализация масштабируется по размеру экрана, но увеличить / уменьшить ее нельзя. Даже в режиме "Версия для ПК". На компьютере все без проблем увеличивается по Ctrl +

Проверьте, в каком у вас состоянии галочка Multitouch handling в Менеджере визуализации.
Если установлена - то, думаю, ее надо снять.

vozlov
27.02.2023, 16:40
Проверьте, в каком у вас состоянии галочка Multitouch handling в Менеджере визуализации.
Если установлена - то, думаю, ее надо снять.

Спасибо. Помогло. Еще снял галочку Handle touch as mouse events в настройках веб-визуализации

r.belov
01.03.2023, 15:12
Добрый день. Я видел, что на некоторых системах после запуска виртуального контроллера визуализация автоматически открывается на весь экран (за это отвечает один из процессов CODESYSControlService.exe). На других ПК подобного не происходит. Установить причину я не пытался, поскольку мне это скорее мешает.

Можно уточнить, зачем вы хотите этого добиться? Не проще ли использовать веб-визуализацию при отладке проекта на виртуальном контроллере?

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

Евгений Кислов
01.03.2023, 15:15
Добрый день, наткнулся на ваше сообщение о попытке найти причину открытия визуализации на весь экран после запуска виртуального контроллера. Подскажите удалось найти решение данной проблемы? Очень мешает при отладке программы на виртуальном контроллере.

Добрый день.
В принципе, достаточно удалить узел Таргет-визуализация в дереве проекта.

Ivan.Yermylov
03.03.2023, 14:45
Добрый день, уважаемые.

Столкнулся с очень странной проблемой...

На основном рабочем компьютере из всех проектов и визуализаций (CoDeSys V3.5 SP14 Patch 3) - исчезла функция выбора "Права доступа" для любых визуальных элементов...
Если любой проект заархивировать и открыть на другом компьютере, то все нормально, а если на основном компьютере - абсолютно в любом проекте, этой функции нет!
P.S. Также и наоборот с доп. компьютера отправляю проект/архив на основной и эта функция исчезает...

В чем может быть проблема и как ее исправить?
66285

glazastik
03.03.2023, 14:55
галку Advanced поставьте

Ivan.Yermylov
03.03.2023, 15:02
glazastik, благодарю!

Уже пару часов голову ломаю! При том, что на другом компе - Advanced тоже не включен...

татар егет
19.03.2023, 18:17
Здравствуйте. Подскажите пожалуйста есть ли в CODESYS 3.5 sp17 возможность использовать анимацию для таргет визуализации, реализуемую для состояния "включено" к примеру, проток жидкости по трубе, ну или просто работа насоса, не через переменные, как описано в руководстве по визуализации, а с помощью переключателя изображений, где выкл- статическое изображение, а вкл- анимированное? Ориентировался на видеоурок "новые возможности версии 14". Но там представленные возможности касаются видимо только web- визуализации, и то, возможность использовать пользоват. анимацию открывается только при удалении модуля "таргет- визуализация". В итоге в эмуляторе то работает, но не знаю как это будет на самом деле.

Евгений Кислов
19.03.2023, 19:05
Здравствуйте. Подскажите пожалуйста есть ли в CODESYS 3.5 sp17 возможность использовать анимацию для таргет визуализации, реализуемую для состояния "включено" к примеру, проток жидкости по трубе, ну или просто работа насоса, не через переменные, как описано в руководстве по визуализации, а с помощью переключателя изображений, где выкл- статическое изображение, а вкл- анимированное? Ориентировался на видеоурок "новые возможности версии 14". Но там представленные возможности касаются видимо только web- визуализации, и то, возможность использовать пользоват. анимацию открывается только при удалении модуля "таргет- визуализация". В итоге в эмуляторе то работает, но не знаю как это будет на самом деле.

Добрый день.
В таргет-визуализации анимированные .gif/.svg не будут корректно отображаться.
Так что остается вариант из руководства.

gom
19.03.2023, 21:05
Добрый день появилась проблемма в двух проектах на CODESYS V3.5 SP16 Patch 3. CODESYS полгода вообще не включал, а как понадобилось то вылезла ошибка. причём если проект открываю и сразу нажимаю перекомпиляция, то ошибки нет а стоит что либо изменить, то вылезает она:
[WARNING] PLC 210-03-CS_BFS: Менеджер библиотек [Device: Plc Logic: Application]: C0100: Библиотека CmpTargetVisu не добавлена в Менеджер библиотек, либо не найдено корректной лицензии.
66620

Евгений Кислов
20.03.2023, 06:17
Добрый день.
Выложите ваш проект - посмотрим, в чём именно дело.
Вы за эти полгода установили на ПК CODESYS V3.5 SP17 Patch 3, верно?

gom
20.03.2023, 12:17
Спасибо, Евгений мне помог по телефону. Проблемма решилась простой командой в самом CODESYS V3.5 "компиляция/ очистить всё ". это были "фантомные ошибки " от предыдущих компиляций.

xjkpt
20.03.2023, 14:02
Использую СПК 107, Codesys 3.5 sp17 патч 3. Передача файлов в визуализации отказывается работать с предупреждением в логе "Передача файлов не поддерживается для этого клиента". Пример выдает то же самое. AllowFileTransferServices=1 в конфигах присутствует.

Евгений Кислов
20.03.2023, 14:04
Использую СПК 107, Codesys 3.5 sp17 патч 3. Передача файлов в визуализации отказывается работать с предупреждением в логе "Передача файлов не поддерживается для этого клиента". Пример выдает то же самое. AllowFileTransferServices=1 в конфигах присутствует.

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

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

Вот проект
66647
Пример я взял отсюда
https://owen.ru/product/codesys_v3/example_of_work

Евгений Кислов
21.03.2023, 08:55
Вот проект
66647
Пример я взял отсюда
https://owen.ru/product/codesys_v3/example_of_work

Понятно.
Пример по ссылке был создан в CODESYS V3.5 SP14 Patch 3.
В более новых версиях CODESYS использовать для FileTransfer абсолютные пути нельзя.
Нужно использовать относительные пути с файловыми плейсхолдерами.

Например, $$PlcLogic$$/qr.png - это будет автоматически интерпретироваться как /home/root/CODESYS_WRK/PlcLogic/qr.png

Нагляднее см. в видео: https://youtu.be/IemOlv7FcQI

Список доступных файловых плейсхолдеров описан здесь в п. 2.4:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Archives_v3.0.pdf

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

Zerling
23.03.2023, 06:07
cds3.5 sp16 p3.

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

Евгений Кислов
23.03.2023, 06:20
cds3.5 sp16 p3.

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

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

Zerling
23.03.2023, 07:02
Библиотеки подключать не нужно.
Выложите проект, в котором у вас наблюдается проблема.

Клава-спк.

Проблема во всех проектах - следовательно, мои крывые руки)))
Сделал-как-было в другом проекте, добавил переменку x_visu_test, пытался ее переключать. В визуализации справа вверху, над трендом, 2 кнопки привязаны к ней.

Евгений Кислов
23.03.2023, 08:00
У меня в вашем проекте горячие клавиши корректно работают и в web-визуализации, и в таргет-визуализации (подключил клавиатуру напрямую к СПК).
Проверял в V3.5 SP17 Patch 3, но каких-то изменений, касающихся используемых вами горячих клавиш, в этой версии не было - так что и в V3.5 SP16 Patch 3 должно работать.
После подключения клавиатуры к СПК требуется перезагрузить контроллер по питанию.

xjkpt
25.03.2023, 12:29
Понятно.
Пример по ссылке был создан в CODESYS V3.5 SP14 Patch 3.
В более новых версиях CODESYS использовать для FileTransfer абсолютные пути нельзя.
Нужно использовать относительные пути с файловыми плейсхолдерами.

Например, $$PlcLogic$$/qr.png - это будет автоматически интерпретироваться как /home/root/CODESYS_WRK/PlcLogic/qr.png

Нагляднее см. в видео: https://youtu.be/IemOlv7FcQI

Список доступных файловых плейсхолдеров описан здесь в п. 2.4:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Archives_v3.0.pdf

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

Я попробовал другой пример, свежий
https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/05_Archives/Example_CaaFile_3517v1.projectarchive
аналогично
Не думаю, что дело в неверном пути.

Вот как это выглядит
66745

Евгений Кислов
25.03.2023, 12:33
Вы на кнопку нажимаете в сервисной визуализации CODESYS?
Там она не будет работать.
Проверяйте в web-визуализации.

xjkpt
25.03.2023, 13:06
В веб-визуализации при нажатии на кнопку ничего не происходит.

Евгений Кислов
25.03.2023, 13:11
В веб-визуализации при нажатии на кнопку ничего не происходит.

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

xjkpt
25.03.2023, 13:31
Вот. Путь вроде бы верный.
66746

Евгений Кислов
25.03.2023, 13:50
У меня с вашим проектом (без каких-либо изменений) файл успешно скачивается.
https://disk.yandex.ru/i/BwncCyQuXdVywA

Обеспечьте в понедельник утром удаленный доступ по AeroAdmin - посмотрим по месту, что у вас происходит.
Данные для подключения и ваш контактный телефон пришлите мне на почту (в подписи).

xjkpt
25.03.2023, 15:05
У меня с вашим проектом (без каких-либо изменений) файл успешно скачивается.
https://disk.yandex.ru/i/BwncCyQuXdVywA

Обеспечьте в понедельник утром удаленный доступ по AeroAdmin - посмотрим по месту, что у вас происходит.
Данные для подключения и ваш контактный телефон пришлите мне на почту (в подписи).

Письмо я отправил. Только что проверил, как оно работает на ПЛК200. Никаких проблем.

что говорит журнал, при нажатии на кнопку в визуализации
66747

xjkpt
27.03.2023, 07:59
У меня с вашим проектом (без каких-либо изменений) файл успешно скачивается.
https://disk.yandex.ru/i/BwncCyQuXdVywA

Обеспечьте в понедельник утром удаленный доступ по AeroAdmin - посмотрим по месту, что у вас происходит.
Данные для подключения и ваш контактный телефон пришлите мне на почту (в подписи).

Отбой. Я нашел причину. Спасибо энивей.

Евгений Кислов
27.03.2023, 08:00
Отбой. Я нашел причину. Спасибо энивей.

Ок, принял. Отпишитесь, пожалуйста, что за причина-то?

xjkpt
27.03.2023, 08:45
Ок, принял. Отпишитесь, пожалуйста, что за причина-то?

Изначально проблема была в том, что я действительно неверно задал адрес файла для выгрузки. В попытках самостоятельно найти причину я отредактировал СODESYScontrol.cfg, переведя строчки, отвечающие за передачу файлов в разряд комментариев просто ради интереса. Обратно конфигурационный файл меняться отказался. Я не знаю, почему он вообще смог измениться, если доступ к нему запрещен (я подключался к файловой системе панели через WinSCP). Через консоль я снял атрибут неизменяемости и вернул все как было.

RomeoVar
27.03.2023, 10:22
Добрый день
Давно интересует вопрос. В редакторе интерфейсов присутствует блок переменных с единственным разделом VAR_IN_OUT. Информации нигде не нашел и не понял как использовать этот раздел.
Подозреваю что он служит для обмена между интерфейсом и программой но не пойму как обратиться к этой переменной?
Через имя интерфейса не получается

Евгений Кислов
27.03.2023, 10:24
Добрый день
Давно интересует вопрос. В редакторе интерфейсов присутствует блок переменных с единственным разделом VAR_IN_OUT. Информации нигде не нашел и не понял как использовать этот раздел.
Подозреваю что он служит для обмена между интерфейсом и программой но не пойму как обратиться к этой переменной?
Через имя интерфейса не получается

Добрый день.
VAR_IN_OUT поддерживается только в фреймах и диалогах.
https://content.helpme-codesys.com/en/CODESYS%20Visualization/_visu_call_visualization_with_interface.html

RomeoVar
29.03.2023, 08:53
Еще такой вопрос:
Есть массив структуры в котором хранятся некие параметры.
Этот массив я хочу вывести в таблицу, но хочу чтобы в таблице были показаны не все элементы массива, а только те, у которых в одном из полей одинаковые значения.
Что-то типа SELECT-а
Ну например массив из таких структур:

TYPE OBJECT_PARAMS_1 :
STRUCT
object : OBJECT_TYPES := OBJECT_TYPES.PALLET;
diXsize : DINT; // Рабочий ход по координате X (от ограничителя до ограничителя)
diYsize : DINT; // Рабочий ход по координате Y (от ограничителя до ограничителя)
diZsize : DINT; // Рабочий ход по координате Z (от ограничителя до ограничителя)
END_STRUCT
END_TYPE

есть поле object : OBJECT_TYPES := OBJECT_TYPES.PALLET;
По этому полю хочу отобрать только те элементы, у которы OBJECT_TYPES = PALLET
Добавил выпадающий список, и в нем выбираю переменную (objectType : OBJECT_TYPES;)

Но похоже так отбор сделать не получится?

И в свойствах таблицы в шаблоне, у перменной TargetVars.goodsPlaceArray[INDEX].diXsize есть значение индекса. Но ограничить вывод по значению OBJECT_TYPES := OBJECT_TYPES.PALLET; не знаю как

Буду признателен

Евгений Кислов
29.03.2023, 09:11
Есть массив структуры в котором хранятся некие параметры.

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

Евгений Кислов
30.03.2023, 08:22
layerPoints : ARRAY[0..5, 0..50] OF INT OF OBJECT_COORD

Такой синтаксис не поддерживается.


layerPoints : ARRAY[0..5, 0..50] OF OBJECT_COORD;

Технически так можно сделать.

RomeoVar
30.03.2023, 09:50
Такой синтаксис не поддерживается.



Технически так можно сделать.

Только я теперь не могу сообразить как его так проинициализировать, типа как в хелпе arr3 : ARRAY [1..2,2..3,3..4] OF INT := [2(0),4(4),2,3]; насколько я понимаю из хелпа двухмерный массив организован в памяти как гладкий массив в моем случае из 6*51 элементов. Соответственно инициализация массива тоже "гладкая". Соответственно мне не удастся "объяснить компилятору" что для полей с именем iId первой группы массива мне нужно установить значения iId := 50(0), для второй iId := 50(1), и так далее?

Евгений Кислов
30.03.2023, 09:53
Только я теперь не могу сообразить как его так проинициализировать, типа как в хелпе arr3 : ARRAY [1..2,2..3,3..4] OF INT := [2(0),4(4),2,3]; насколько я понимаю из хелпа двухмерный массив организован в памяти как гладкий массив в моем случае из 6*51 элементов. Соответственно инициализация массива тоже "гладкая". Соответственно мне не удастся "объяснить компилятору" что для полей с именем iId первой группы массива мне нужно установить значения iId := 50(0), для второй iId := 50(1), и так далее?

Используйте для инициализации графический редактор:
https://youtu.be/KjVlFH2lF4k?t=341

RomeoVar
30.03.2023, 09:54
Наверно лучше объявить его как массив массивов?

RomeoVar
31.03.2023, 14:46
Подскажите как устанавливаются библиотеки SM3_Basic, SM3_CNC, SM3_Robotics?
У меня почему-то не получается их установить
Есть пример проекта (к примеру) Robotics_PickAndPlace_without_Depictor я попытался из него экспортнуть библиотеки и добавить их в свой проект. Ничего не получилосЯ

Евгений Кислов
31.03.2023, 21:38
Подскажите как устанавливаются библиотеки SM3_Basic, SM3_CNC, SM3_Robotics?
У меня почему-то не получается их установить
Есть пример проекта (к примеру) Robotics_PickAndPlace_without_Depictor я попытался из него экспортнуть библиотеки и добавить их в свой проект. Ничего не получилосЯ

Наши контроллеры не поддерживают эти библиотеки.
И, собственно, никакого отношения к визуализации они не имеют.

Карбофос
04.04.2023, 09:02
Здравствуйте. Можно ли из кода программы закрыть текущий открытый диалог? Codesys 3.5.14.x

Евгений Кислов
04.04.2023, 09:37
Здравствуйте. Можно ли из кода программы закрыть текущий открытый диалог? Codesys 3.5.14.x

Добрый день.
Нормальный способ для этого появился только в 3.5.17.0.

Карбофос
04.04.2023, 09:40
Добрый день.
Нормальный способ для этого появился только в 3.5.17.0.

Интересно, что представляет из себя ненормальный?

Евгений Кислов
04.04.2023, 09:56
Интересно, что представляет из себя ненормальный?

https://content.helpme-codesys.com/en/libs/VisuElemBase/Current/Public-Parts/Interfaces/pou-IDialogManager2/CloseDialog2.html

Как получить pClient и IVisualisationDialog - можете тут посмотреть, вроде там было:
https://forge.codesys.com/prj/codesys-example/visu-dialog-st/

Карбофос
04.04.2023, 10:12
Спасибо, еще вопрос: можно ли менять свойства элементов визуализации из кода? Например, есть прямоугольник, нужно задать ему координаты X, Y.

Евгений Кислов
04.04.2023, 10:26
Спасибо, еще вопрос: можно ли менять свойства элементов визуализации из кода? Например, есть прямоугольник, нужно задать ему координаты X, Y.

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

Эдуард_Н
12.04.2023, 16:53
как цвет перевести в ворд?

Евгений Кислов
12.04.2023, 16:55
как цвет перевести в ворд?

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

Эдуард_Н
12.04.2023, 17:02
Нужно изменять цвет рамки текстового поля, переменная DWORD. и как R-208 G-224 B-143 перевести в дворд?

Евгений Кислов
12.04.2023, 17:05
Нужно изменять цвет рамки текстового поля, переменная DWORD. и как R-208 G-224 B-143 перевести в дворд?

Я бы вам рекомендовал воспользоваться готовой функцией RGB_TO_DWORD_COLOR из библиотеки OwenVisuDialogs (https://owen.ru/forum/showthread.php?t=34327).

Эдуард_Н
12.04.2023, 17:18
Я бы вам рекомендовал воспользоваться готовой функцией RGB_TO_DWORD_COLOR из библиотеки OwenVisuDialogs (https://owen.ru/forum/showthread.php?t=34327).

Спасибо, отличная штука.

andemeno
18.04.2023, 14:47
Здравствуйте. Вопрос по диалоговому окну DateTimeSetOwen библиотеки OwenVisuDialogs. После нажатия на кнопку "Применить" диалоговое окно не закрывается. Так и должно быть?
Пользовательский опыт подсказывает, что диалог должен быть закрыт

andemeno
18.04.2023, 16:28
Еще вопрос по диалогу DateTimeSetOwen библиотеки OwenVisuDialogs.
Если к интерфейсной переменной xSetNewDateTime привязать TargetVars.stRtc.xUpdateSettings то по нажатию кнопки "Применить" её значение не изменяется, и соответственно новое значение даты и времени не применяется.
А если объявить переменную типа BOOL в PLC_PRG, связать её с соответствующим каналом OwenRTC и её же привязать к интерфейсной переменной xSetNewDateTime, то новое значение даты и времени устанавливается.
Вопрос: я что-то делаю не так в первом варианте?

Евгений Кислов
18.04.2023, 16:46
Здравствуйте. Вопрос по диалоговому окну DateTimeSetOwen библиотеки OwenVisuDialogs. После нажатия на кнопку "Применить" диалоговое окно не закрывается. Так и должно быть?
Пользовательский опыт подсказывает, что диалог должен быть закрыт

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

Евгений Кислов
18.04.2023, 16:52
Еще вопрос по диалогу DateTimeSetOwen библиотеки OwenVisuDialogs.
Если к интерфейсной переменной xSetNewDateTime привязать TargetVars.stRtc.xUpdateSettings то по нажатию кнопки "Применить" её значение не изменяется, и соответственно новое значение даты и времени не применяется.
А если объявить переменную типа BOOL в PLC_PRG, связать её с соответствующим каналом OwenRTC и её же привязать к интерфейсной переменной xSetNewDateTime, то новое значение даты и времени устанавливается.
Вопрос: я что-то делаю не так в первом варианте?

Я завтра утром проверю ваш сценарий и отпишусь.

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

Codesys 3.5.17.3, СПК110 М01

andemeno
18.04.2023, 17:39
Я завтра утром проверю ваш сценарий и отпишусь.

Вопрос снимается, моя ошибка

Евгений Кислов
18.04.2023, 18:00
Codesys 3.5.17.3, СПК110 М01

Я посмотрел проект и вспомнил - действительно, мы осознанно не сделали закрытие диалога по кнопке Применить - чтобы пользователь мог увидеть, что введенное им значение действительно применилось. Библиотека доступна в исходниках - так что можете отредактировать ее под свои задачи (только измените название, пожалуйста, чтобы не спутать с оригинальной).

andemeno
18.04.2023, 21:40
Я посмотрел проект и вспомнил - действительно, мы осознанно не сделали закрытие диалога по кнопке Применить - чтобы пользователь мог увидеть, что введенное им значение действительно применилось. Библиотека доступна в исходниках - так что можете отредактировать ее под свои задачи (только измените название, пожалуйста, чтобы не спутать с оригинальной).

Спасибо за ответ.

Еще хочу поделиться наблюдением. В диалоге DateSetOwen при попытке редактировать поле "День" с помощью Numpad происходит следующее: при нажатии на поле появляется цифровая клавиатура а при последующем отпускании поля происходит закрытие цифровой клавиатуры.
Вероятно это происходит из-за того, что кнопка закрытия цифровой клавиатуры (большая галка на зеленом фоне) оказывается в момент открытия диалога под пальцем (или стилусом), а отпускание этой кнопки (событие onMouseUp) обрабатывается уже не диалогом DateSetOwen, а Numpad-ом. То же происходит в диалоге TimeSetOwen при попытке редактировать секунды.
Думаю это можно поправить (возможно в следующей версии библиотеки), если Numpad открывать по событию onMouseUp, а не onMouseDown.

Евгений Кислов
19.04.2023, 07:51
Спасибо за ответ.

Еще хочу поделиться наблюдением. В диалоге DateSetOwen при попытке редактировать поле "День" с помощью Numpad происходит следующее: при нажатии на поле появляется цифровая клавиатура а при последующем отпускании поля происходит закрытие цифровой клавиатуры.
Вероятно это происходит из-за того, что кнопка закрытия цифровой клавиатуры (большая галка на зеленом фоне) оказывается в момент открытия диалога под пальцем (или стилусом), а отпускание этой кнопки (событие onMouseUp) обрабатывается уже не диалогом DateSetOwen, а Numpad-ом. То же происходит в диалоге TimeSetOwen при попытке редактировать секунды.
Думаю это можно поправить (возможно в следующей версии библиотеки), если Numpad открывать по событию onMouseUp, а не onMouseDown.

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

АлексейН
21.04.2023, 16:09
Добрый день, коллеги.
Оборудование СП110, таблица тревог.
Есть ли возможность организовать фильтр в реальном времени (не история) по критериям Авария - Активна, Авария устранена, но не квитирована.
В прикреплённом файле 0 строка - не квитированная , 1 строка - активная авария
т.е. Если мне необходимо просмотреть только активные аварии все остальные варианты в журнале тревог скрываются, аналогично для не квитированных аварий.67465

Евгений Кислов
23.04.2023, 09:17
Добрый день, коллеги.
Оборудование СП110, таблица тревог.
Есть ли возможность организовать фильтр в реальном времени (не история) по критериям Авария - Активна, Авария устранена, но не квитирована.
В прикреплённом файле 0 строка - не квитированная , 1 строка - активная авария
т.е. Если мне необходимо просмотреть только активные аварии все остальные варианты в журнале тревог скрываются, аналогично для не квитированных аварий.67465

Добрый день.
Фильтровать можно по значению latch-переменной. Соответственно, в вашей ситуации нужно записать в latch-переменную статус тревоги.
Посмотрите пример:
https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/11_Other/Example_AlarmHandlerWithEmailNotification_3516v1.p rojectarchive

На что нужно обратить внимание:
- вкладка "Действия уведомление" в классе Warning (станет понятно, как указать экземпляр ФБ-подписчика тревог)
- в методе xExecute: на переменную eAlarmState (статус тревоги) и uiAlarmId (ее идентификатор).
На основании ID нужно будет записать eAlarmState в latch-переменную соответствующей тревоги

https://content.helpme-codesys.com/en/CODESYS%20Visualization/_cds_obj_alarm_group.html ("Latch var 1, Latch var 2")
https://content.helpme-codesys.com/en/CODESYS%20Visualization/_visu_filtering_alarms_via_latch_variables.html

Карбофос
25.04.2023, 18:55
Здравствуйте. В таблице тревог нужно выровнять сообщения по левому краю, выставлены следующие настройки (скриншот), но они все равно выравниваются по центру. Что можно сделать? Codesys 3.5.17.3
67537

Евгений Кислов
25.04.2023, 19:13
Здравствуйте. В таблице тревог нужно выровнять сообщения по левому краю, выставлены следующие настройки (скриншот), но они все равно выравниваются по центру. Что можно сделать? Codesys 3.5.17.3
67537

Добрый день.
Полностью это решили в плагине визуализации 4.4.0.0, релиз которого запланирован на вторую половину июня.

Пока что есть workaround:
- настроить выравнивание по правому краю, загрузить и запустить проект
- настроить выравнивание по левому краю, загрузить и запустить проект - оно сработает

67538

Карбофос
25.04.2023, 19:25
О как? Спасибо...

Евгений Кислов
27.04.2023, 14:02
Подготовлена статья по работе с визуализацией CODESYS V3.5 из программы пользователя.

В статье рассмотрены следующие вопросы:

работа с библиотекой Visu Utils (сбор информации о клиентах визуализации, переключение экранов/открытие диалогов)
работа с библиотекой VisuUserManagement (авторизация/разлогиние пользователей, считывание списка пользователей, редактирование настроек пользователей и т. д.)
обработка событий о подключении/отключении клиентов визуализации;
работа с фреймами (переключение экранов в фрейме и т. д);
выделение элементов и имитация нажатий на них;
обработка событий визуализации (нажатий клавиш, перемещения курсора, изменения значений переменных с помощью элементов визуализации и т. д.).


Статья доступна по ссылке:
https://ftp.owen.ru/CoDeSys3/98_Books/CodesysVisuIecCode.pdf

АлексейН
03.05.2023, 18:04
Добрый день.
Фильтровать можно по значению latch-переменной. Соответственно, в вашей ситуации нужно записать в latch-переменную статус тревоги.
Посмотрите пример:
https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/11_Other/Example_AlarmHandlerWithEmailNotification_3516v1.p rojectarchive

На что нужно обратить внимание:
- вкладка "Действия уведомление" в классе Warning (станет понятно, как указать экземпляр ФБ-подписчика тревог)
- в методе xExecute: на переменную eAlarmState (статус тревоги) и uiAlarmId (ее идентификатор).
На основании ID нужно будет записать eAlarmState в latch-переменную соответствующей тревоги

https://content.helpme-codesys.com/en/CODESYS%20Visualization/_cds_obj_alarm_group.html ("Latch var 1, Latch var 2")
https://content.helpme-codesys.com/en/CODESYS%20Visualization/_visu_filtering_alarms_via_latch_variables.html

Спасибо за информацию

UAN
04.05.2023, 16:07
Приветствую.
Наткнулся на следующую проблему: если в проекте включить опцию Activate property handling in all element properties (https://help.codesys.com/webapp/_cds_dlg_project_settings_visualization;product=co desys;version=3.5.17.0) то при попытке ввода с использованием OVD.KeypadOwenBig (остальные элементы библиотеки пока не проверял) в визуализации возникает исключение.
При этом после рестарта визуализации значение переменной меняется и все продолжает работать.
Проверял на пустом проекте - добавлял два поля, привязанных к одной строковой переменной. Одно поле пишет переменную с помощью Textinput, второе - OVD.KeypadOwenBig. Первый вариант работает безотказно, второй при активации указанной выше опции начинает сбоить.

Евгений Кислов
05.05.2023, 08:32
Приветствую.
Наткнулся на следующую проблему: если в проекте включить опцию Activate property handling in all element properties (https://help.codesys.com/webapp/_cds_dlg_project_settings_visualization;product=co desys;version=3.5.17.0) то при попытке ввода с использованием OVD.KeypadOwenBig (остальные элементы библиотеки пока не проверял) в визуализации возникает исключение.
При этом после рестарта визуализации значение переменной меняется и все продолжает работать.
Проверял на пустом проекте - добавлял два поля, привязанных к одной строковой переменной. Одно поле пишет переменную с помощью Textinput, второе - OVD.KeypadOwenBig. Первый вариант работает безотказно, второй при активации указанной выше опции начинает сбоить.

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

UAN
05.05.2023, 11:50
Добрый день.
Не смог по вашему описанию воспроизвести проблему (тестировал в 3.5.17.30).
Выложите, пожалуйста, архив вашего тестового проекта, в котором я смогу ее повторить.
Вот, пожалуйста: 67728
Единственный ньюанс - я сейчас проверил и ошибка выскочила не с первого а со второго раза.

Евгений Кислов
05.05.2023, 11:59
C вашим проектом я тоже не смог повторить проблему (вводил значение с помощью диалога больше десяти раз).
Снимите, пожалуйста, видео, как вы ее воспроизводите - может, имеет значение вводимый текст или что-то еще.

UAN
05.05.2023, 13:42
C вашим проектом я тоже не смог повторить проблему (вводил значение с помощью диалога больше десяти раз).
Снимите, пожалуйста, видео, как вы ее воспроизводите - может, имеет значение вводимый текст или что-то еще.
67739
Могу дать доступ к машине через AnyDesk, если понадобится.

Евгений Кислов
05.05.2023, 14:02
67739
Могу дать доступ к машине через AnyDesk, если понадобится.

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

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

UAN
05.05.2023, 14:27
По вашему видео смог повторить проблему.
Она проявляется только в том случае, если закрывать диалог нажатием на кнопку Enter аппаратной клавиатуры.
Если закрывать кликом мыши на зеленую кнопку в диалоге - то проблем нет.
Я постараюсь передать информацию о баге разработчикам CODESYS.

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

Ух, я и не обратил внимание... Спасибо!

UAN
05.05.2023, 14:58
Еще вопрос: как поменять порядок столбцов, привязанных к свойствам ФБ в элементе Table с массивом ФБ в качестве источника данных? Привязка осуществляется в порядке объявления переменных/свойств, но если порядок переменных я могу поменять, то свойства сортируются по алфавиту в дереве проекта. И опять же - как быть, если я хочу, чтобы свойство было раньше переменной в таблице?

Евгений Кислов
05.05.2023, 15:06
Еще вопрос: как поменять порядок столбцов, привязанных к свойствам ФБ в элементе Table с массивом ФБ в качестве источника данных? Привязка осуществляется в порядке объявления переменных/свойств, но если порядок переменных я могу поменять, то свойства сортируются по алфавиту в дереве проекта. И опять же - как быть, если я хочу, чтобы свойство было раньше переменной в таблице?

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

UAN
05.05.2023, 20:24
Я думаю, что удобных вариантов нет. Можно, конечно, изменить названия свойств, создав таким образом нужный порядок...
Но в целом визуализация CODESYS до сих пор не особенно дружелюбна в плане привязки свойств.
Если у вас нет четкой уверенности, что в вашем конкретном проекте они приносят существенную пользу - я бы рекомендовал вам отказаться от них в пользу обычных переменных.

Я задал этот вопрос (https://forge.codesys.com/forge/talk/Visualization/thread/612b69b2f5/) на форуме CODESYS, оказалось, проблема решается действительно тривиально - можно перетаскивать колонки непосредственно в таблице:D

Paoloricci
07.05.2023, 20:06
Добрый день.
Конфигурация ввода - <нужное событие> - Выполнить команду - Перейти к URL.

Здравствуйте, у меня вот тут тоже возник такой же вопрос. Нужно чтобы по кнопкам на визуализации - открывались разные страницы в браузере (визуализация так же вся в браузере) - делаю как сказано - в свойствах кнопки "действие по клику" - "перейти к url (webvisu)" - указываю url, сохраняю.
В итоге при компиляции - ругается что вместо ":" должны быть ";" а так же - постоянно пункт "переход к URL" - не фиксируется, и перескакивает на первый пункт "выполнить программу на плк".
Подскажите что не так?

Евгений Кислов
07.05.2023, 20:26
Здравствуйте, у меня вот тут тоже возник такой же вопрос. Нужно чтобы по кнопкам на визуализации - открывались разные страницы в браузере (визуализация так же вся в браузере) - делаю как сказано - в свойствах кнопки "действие по клику" - "перейти к url (webvisu)" - указываю url, сохраняю.
В итоге при компиляции - ругается что вместо ":" должны быть ";" а так же - постоянно пункт "переход к URL" - не фиксируется, и перескакивает на первый пункт "выполнить программу на плк".
Подскажите что не так?

Добрый день.
Покажите скриншотами, как именно вы указываете url.

Paoloricci
07.05.2023, 20:35
Добрый день.
Покажите скриншотами, как именно вы указываете url.

67760

Прописываю просто как ссылку, и даже сейчас видно что оно снова мне переключило само на "выполнить программу плк"

Евгений Кислов
07.05.2023, 20:40
67760

Прописываю просто как ссылку, и даже сейчас видно что оно снова мне переключило само на "выполнить программу плк"

URL надо прописывать в одинарных кавычках.
То, что "оно снова вам переключило" - это нормально.
Просто по умолчанию при добавлении команды предлагается команда "Выполнить программу на ПЛК".

Paoloricci
07.05.2023, 21:01
URL надо прописывать в одинарных кавычках.
То, что "оно снова вам переключило" - это нормально.
Просто по умолчанию при добавлении команды предлагается команда "Выполнить программу на ПЛК".

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

Евгений Кислов
07.05.2023, 21:17
Премного благодарен! Заработало!
Подскажете по второму параметру - который "заменить" - чтоб оно вкладки в браузере не плодило - пишу тоже в одинарных кавычках 'заменить' но все равно открывается новая вкладка.

Надо писать 'replace'

Paoloricci
08.05.2023, 13:18
Огромная благодарность вам за подсказки и помощь! Все работает как надо!

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

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

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

ГЛЮКОNIC
18.05.2023, 21:12
Добрый вечер, решил старый проект тестовый с сайта адаптировать для SP17 чтобы понять лучше как работать с флешкой и мультиязычностью сразу, так вот выдаётся сообщение C0357: POU 'GetNextClient' has been marked as obsolete: Please use the methods of VisuUtils instead. ругается на строку pClient := VisuElems.VisuElemBase.g_ClientManager.GetNextClie nt что GetNextClient устарел, я так понимаю мне нужно изменить GetNextClient на VisuUtils но какой в этом смысл, я обратился к PDF по визуализации, но не нашёл ответа на мой вопрос.

Евгений Кислов
19.05.2023, 06:21
Добрый вечер, решил старый проект тестовый с сайта адаптировать для SP17 чтобы понять лучше как работать с флешкой и мультиязычностью сразу, так вот выдаётся сообщение C0357: POU 'GetNextClient' has been marked as obsolete: Please use the methods of VisuUtils instead. ругается на строку pClient := VisuElems.VisuElemBase.g_ClientManager.GetNextClie nt что GetNextClient устарел, я так понимаю мне нужно изменить GetNextClient на VisuUtils но какой в этом смысл, я обратился к PDF по визуализации, но не нашёл ответа на мой вопрос.

Добрый день.
Таким образом разработчики CODESYS мотивируют пользователей переходить на Visu Utils, чтобы позволить им избежать использования мало документированной и довольно сложной в использовании VisuElemBase.
Также см. п. 1.2.8 в данной статье:
https://ftp.owen.ru/CoDeSys3/98_Books/CodesysVisuIecCode.pdf

67890

RamesIV
20.05.2023, 21:10
Проверил в V3.5 SP17 Patch 3 - вариант с вашего первого скриншота компилируется без ошибок.
Насколько я понимаю - вы работаете со старой СПК (без Ethernet) в V3.5 SP5 Patch 5?
Похоже, в той версии такая возможность просто еще не поддерживалась.

Здравствуйте!

В CDS3.5SP17P3 вылезла та-же проблема. Невозможно привязать Property к каналу Modbus slave. Прошу помочь! 67916

Евгений Кислов
20.05.2023, 21:15
Здравствуйте!

В CDS3.5SP17P3 вылезла та-же проблема. Невозможно привязать Property к каналу Modbus slave. Прошу помочь! 67916

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

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

Проблема проявляется при работе с массивом.

67917

Евгений Кислов
20.05.2023, 23:55
Проблема проявляется при работе с массивом.

67917

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

RamesIV
21.05.2023, 11:54
Спасибо, воспроизвел баг. Постараюсь передать информацию о нем разработчикам CODESYS.
Помочь, к сожалению, не получится - могу только посоветовать отказаться от привязки свойств к каналам конфигурации.

Спасибо !

UAN
07.06.2023, 11:33
Доброго дня.
Сделал функцию:

FUNCTION Wait : BOOL
VAR_INPUT
T: TIME;
END_VAR
VAR
Timer: TON;
END_VAR
Timer(IN:=TRUE, PT:=T);
WHILE NOT(Timer.Q) DO
Timer(PT:=T);
END_WHILE
Timer(IN:=FALSE);
которую кроме прочего использую для ожидания ответа от внешнего устройства:

WHILE NOT(ExtDevice.Status=ExtDeviceStatus.Stop) DO
Wait(T#0.5S);
END_WHILE
Все работает, но в процессе ожидания замирает визуализация. Можно как-то устранить этот эффект?

Евгений Кислов
07.06.2023, 12:05
Доброго дня.
Сделал функцию:

FUNCTION Wait : BOOL
VAR_INPUT
T: TIME;
END_VAR
VAR
Timer: TON;
END_VAR
Timer(IN:=TRUE, PT:=T);
WHILE NOT(Timer.Q) DO
Timer(PT:=T);
END_WHILE
Timer(IN:=FALSE);
которую кроме прочего использую для ожидания ответа от внешнего устройства:

WHILE NOT(ExtDevice.Status=ExtDeviceStatus.Stop) DO
Wait(T#0.5S);
END_WHILE
Все работает, но в процессе ожидания замирает визуализация. Можно как-то устранить этот эффект?

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

Почему бы просто каждый цикл задачи контроллера не проверять состояние ExtDevice.Status вместо использования WHILE?

UAN
07.06.2023, 12:12
Добрый день.
В вашей реализации - нет.
Опишите, пожалуйста, задачу, а не выбранное вами решение.

Почему бы просто каждый цикл задачи контроллера не проверять состояние ExtDevice.Status вместо использования WHILE?

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

Евгений Кислов
07.06.2023, 12:16
У меня имеется несколько задач для устройства. Для выполнения следующей устройство должно завершить текущее. Таким простейшим образом я реализую очередь задач.

Я бы рекомендовал использовать оператор CASE и для переключения "задач" использовать переход между его метками.
Таким образом вы сможете отказаться от цикла WHILE, который создает синхронную задержку в работе приложения контроллера.

vozlov
07.06.2023, 13:08
Подскажите, как можно в гистограмме сделать несколько уровней цвета? Например, когда >50 цвет оранжевый, а когда >70 красный?
И как можно вывести текущее числовое значение каждого столбика (например, на уровне 0 в каждом столбике чтобы было число? Только отдельные label и их привязка, или можно как-нибудь проще?

68201

Евгений Кислов
07.06.2023, 13:16
Подскажите, как можно в гистограмме сделать несколько уровней цвета? Например, когда >50 цвет оранжевый, а когда >70 красный?
И как можно вывести текущее числовое значение каждого столбика (например, на уровне 0 в каждом столбике чтобы было число? Только отдельные label и их привязка, или можно как-нибудь проще?

68201

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

vozlov
14.06.2023, 20:39
Возможно ли как-нибудь воспроизводить звуки в веб-визуализации? Например, сигнализировать о тревоге, о срабатывании какого-нибудь дискретного входа?

Этот пример сработает в веб-визуализации ПЛК200?

https://www.youtube.com/watch?v=KUP5UNGSjbw

Евгений Кислов
15.06.2023, 06:14
Возможно ли как-нибудь воспроизводить звуки в веб-визуализации? Например, сигнализировать о тревоге, о срабатывании какого-нибудь дискретного входа?

Этот пример сработает в веб-визуализации ПЛК200?

https://www.youtube.com/watch?v=KUP5UNGSjbw

Да, возможно.
Лучше используйте обновленный пример:
https://youtu.be/uJvpz0PP7C8

RamesIV
18.06.2023, 16:23
Добрый день!

Подскажите, пожалуйста, как открыть демонстрационный проект из руководства Работа с визуализацией из кода программы в CODESYS V3"?
Example_VisuUtils_SwitchVisu2_cds3517_visu4300_v1. projectarchive и Example_VisuClientManagerListener_cds3517_visu4300 _v1.projectarchive открываются с ошибками на CDS3.5SP17P3.

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

Подскажите, пожалуйста, как открыть демонстрационный проект из руководства Работа с визуализацией из кода программы в CODESYS V3"?
Example_VisuUtils_SwitchVisu2_cds3517_visu4300_v1. projectarchive и Example_VisuClientManagerListener_cds3517_visu4300 _v1.projectarchive открываются с ошибками на CDS3.5SP17P3.

Добрый день.
Чтобы открыть пример - вам потребуется установить плагин визуализации 4.3.0.0.
Ссылка на него есть на последней странице упомянутого руководства.
Рекомендую установить плагин в отдельном окружении (CODESYS Installer - Add installation).

RamesIV
18.06.2023, 20:20
Добрый день.
Чтобы открыть пример - вам потребуется установить плагин визуализации 4.3.0.0.
Ссылка на него есть на последней странице упомянутого руководства.
Рекомендую установить плагин в отдельном окружении (CODESYS Installer - Add installation).

Спасибо!
Все получилось.

zaychenko
18.06.2023, 23:18
Добрый день! Есть ли способ программно задать в тренде диапазон отображения данных?

Задача следующая: запоминается время начала приготовления партии, запоминается время завершения. На экране "Последняя завершенная партия" необходимо выводить диаграмму давления за время приготовления.

Евгений Кислов
19.06.2023, 06:17
Добрый день! Есть ли способ программно задать в тренде диапазон отображения данных?

Задача следующая: запоминается время начала приготовления партии, запоминается время завершения. На экране "Последняя завершенная партия" необходимо выводить диаграмму давления за время приготовления.

Добрый день.
Можете попробовать этот способ:
https://forge.codesys.com/forge/talk/Visualization/thread/d737a76e9c/

Kipiamail
20.06.2023, 18:09
При открытии диалог ovd.timesetowen открывается экран с ошибкой. Этот диалог вообще у кого нибудь работает?

Евгений Кислов
20.06.2023, 18:27
При открытии диалог ovd.timesetowen открывается экран с ошибкой. Этот диалог вообще у кого нибудь работает?

Работает. У этого диалога есть VAR_IN_OUT-переменные - при его вызове ко всем этим переменным должны быть привязаны переменные программы.

Kipiamail
21.06.2023, 08:49
Можете поподробнее описать. Или есть инструкция. Пример может быть.

Евгений Кислов
21.06.2023, 09:22
Можете поподробнее описать. Или есть инструкция. Пример может быть.

https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/02_Visu/03_Additional/Example_OwenVisuDialogs_3517v2.projectarchive

Kipiamail
24.06.2023, 07:01
Скачал пример загрузил в панель время дату не меняет. Не работает ваш пример. Что еще можно сделать?

Kipiamail
24.06.2023, 13:13
Все разобрался методом тыка.

Евгений Кислов
25.06.2023, 11:48
Все разобрался методом тыка.

Можете, пожалуйста, уточнить, что именно помешало вам сразу добиться с помощью примера желаемого результата?

Kipiamail
25.06.2023, 20:06
В примере в настройках диалога не все переменные были подключены поэтому не работало. Подключил заработало.

thecatvlz
26.06.2023, 10:37
Добрый день.
Прошу подсказки относительно настройки веб-визуализации, конкретно - как отключить показ некоторых из визуализаций? в документе по визуализации пока не нашел

GoodLuck
26.06.2023, 12:34
Добрый день!

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

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

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

Добрый день.
А почему переменная-переключатель не подходит?

Евгений Кислов
26.06.2023, 18:38
Добрый день.
Прошу подсказки относительно настройки веб-визуализации, конкретно - как отключить показ некоторых из визуализаций? в документе по визуализации пока не нашел

Добрый день.
Что значит "отключать показ"?
Как это должно выглядеть для пользователя?

Евгений Кислов
26.06.2023, 18:51
В примере в настройках диалога не все переменные были подключены поэтому не работало. Подключил заработало.

В примере, естественно, подключены все нужные переменные.
https://ibb.co/BBm6ZkV

Но в любом случае я рад, что у вас всё получилось.

thecatvlz
27.06.2023, 12:08
Добрый день.
Что значит "отключать показ"?
Как это должно выглядеть для пользователя?

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

Евгений Кислов
27.06.2023, 12:30
Я вижу это так, что либо не все визуализации таргета должны быть доступны в веб, либо для веб создать отдельные

У вас переключение визуализаций реализовано по нажатию на кнопки?
Тогда просто в нужный момент отключайте их активность (см. свойство Переменные состояний/Отключение ввода).

thecatvlz
27.06.2023, 12:36
У вас переключение визуализаций реализовано по нажатию на кнопки?
Тогда просто в нужный момент отключайте их активность (см. свойство Переменные состояний/Отключение ввода).

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

Евгений Кислов
27.06.2023, 13:17
да, по кнопкам, посмотрю Вашу рекомендацию чуть позже. По итогу - назначить какие-то визуализации только для таргета, какие-то только для веб нельзя, правильно понимаю?

Еще раз - что значит "назначить"?
У таргет- и веб-визуализации могут быть разные стартовые визуализации с разным набором кнопок переходов на другие экраны.
Это решает вашу задачу?

thecatvlz
28.06.2023, 14:22
Еще раз - что значит "назначить"?
У таргет- и веб-визуализации могут быть разные стартовые визуализации с разным набором кнопок переходов на другие экраны.
Это решает вашу задачу?

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

GoodLuck
30.06.2023, 21:23
Добрый день.
А почему переменная-переключатель не подходит?

В проекте есть визуализация, на ней несколько вкладок (их число варьируется в зависимости от проекта от 1 до 6). И в каждой из этой вкладке есть еще несколько вкладок. И необходимо сделать так, чтобы при переходе на одну из этих вложенных вкладок выполнялся код.

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

Евгений Кислов
02.07.2023, 18:39
В проекте есть визуализация, на ней несколько вкладок (их число варьируется в зависимости от проекта от 1 до 6). И в каждой из этой вкладке есть еще несколько вкладок. И необходимо сделать так, чтобы при переходе на одну из этих вложенных вкладок выполнялся код.

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

Я предлагаю начать с п. 5 из этой статьи:
https://ftp.owen.ru/CoDeSys3/98_Books/CodesysVisuIecCode.pdf

Возможно, информации оттуда хватит для решения вашей задачи.

Карбофос
04.07.2023, 14:42
Здравствуйте.

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

Есть ли в Кодесис такая возможность (как например в Сименсах)?

Евгений Кислов
04.07.2023, 19:00
Здравствуйте.

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

Есть ли в Кодесис такая возможность (как например в Сименсах)?

Добрый день.
Да, такая возможность есть.
Для этого используются диалоги с интерфейсными переменными (VAR_INPUT, VAR_IN_OUT).

sco-scorpion
06.07.2023, 14:40
Добрый день. Подскажите при компиляции выдает ошибку.
Если убрать галочку проект компилируется и загружается, но некоторые элементы не загружаются, что можно сделать?

Евгений Кислов
06.07.2023, 19:08
Добрый день. Подскажите при компиляции выдает ошибку.
Если убрать галочку проект компилируется и загружается, но некоторые элементы не загружаются, что можно сделать?

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

Карбофос
07.07.2023, 14:58
Добрый день.
Да, такая возможность есть.
Для этого используются диалоги с интерфейсными переменными (VAR_INPUT, VAR_IN_OUT).

Пытаюсь разобраться, вроде бы нахожусь на верном пути, но все же пока немного не дотянул:

Имеется структура AI для хранения данных датчика, в т.ч такие поля как
SPhigh : REAL; //верхняя аварийная граница
SPlow : REAL; //нижняя аварийная граница

Далее, в диалоге я прописываю переменную IN_OUT sensor: AI:
68716,
в кнопке, которая вызывает это диалог, я прописываю необходимую переменную:
68717
После чего запускаю проект. В поля диалога успешно загружаются поля структуры, но при изменении значения в диалоге, в структуре значения не меняются. Что нужно добавить, чтобы изменения сохранялись? Установить одну из доступных галочек?


UPD: вопрос снят, установка галочки "ОК" решила проблему, прошу прощения за этот преждевременный вопрос.

Карбофос
11.07.2023, 09:11
Продолжение предыдущего вопроса:

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

Евгений Кислов
11.07.2023, 09:17
Продолжение предыдущего вопроса:

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

Да, можно.
https://content.helpme-codesys.com/en/CODESYS%20Visualization/_visu_pragma_var_in_out_as_pointer.html

Карбофос
11.07.2023, 09:31
Видимо, я опять что-то не так понял. При попытке открытия диалога выскакивает исключение (и на самом контроллере, и на онлайн-подключении)
68763
68764

Евгений Кислов
11.07.2023, 09:50
Вы в действии Открыть диалог привязили переменную к переменной pump диалога?

Карбофос
11.07.2023, 09:57
Вы в действии Открыть диалог привязили переменную к переменной pump диалога?

Да, конечно
68765

Евгений Кислов
11.07.2023, 10:02
Да, конечно
68765

Тогда выложите, пожалуйста, простейший проект, в котором я смогу вопроизвести это исключение.

Карбофос
11.07.2023, 10:35
Большое спасибо за помощь Евгению Кислову, проблема решена. Как оказалось, это баг Кодесис, и для решения проблемы нужно заново создать кнопку вызова диалога.

nick2015
12.07.2023, 12:12
Пытаюсь разобраться, вроде бы нахожусь на верном пути, но все же пока немного не дотянул:

Имеется структура AI для хранения данных датчика, в т.ч такие поля как
SPhigh : REAL; //верхняя аварийная граница
SPlow : REAL; //нижняя аварийная граница

Далее, в диалоге я прописываю переменную IN_OUT sensor: AI:
68716,
в кнопке, которая вызывает это диалог, я прописываю необходимую переменную:
68717
После чего запускаю проект. В поля диалога успешно загружаются поля структуры, но при изменении значения в диалоге, в структуре значения не меняются. Что нужно добавить, чтобы изменения сохранялись? Установить одну из доступных галочек?


UPD: вопрос снят, установка галочки "ОК" решила проблему, прошу прощения за этот преждевременный вопрос.

а не проще фрейм использовать ?

Карбофос
19.07.2023, 18:07
Здравствуйте.

А есть ли решение для такой задачи: предположим, имеется структура "sensor" для храния данных с датчка, которая кроме прочего хранит в себе поля "value" (значение датчика) и "color" для хранения цвета текстового поля вывода датчика (меняется при достижении аварийных границ значения). В настояящее время приходится привязывать к свойству текстового поля "текстовая переменная" sensor.value и к свойству "переменные цвета->нормальное состояние->цвет заливки" sensor.color.

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

Евгений Кислов
19.07.2023, 18:16
Здравствуйте.

А есть ли решение для такой задачи: предположим, имеется структура "sensor" для храния данных с датчка, которая кроме прочего хранит в себе поля "value" (значение датчика) и "color" для хранения цвета текстового поля вывода датчика (меняется при достижении аварийных границ значения). В настояящее время приходится привязывать к свойству текстового поля "текстовая переменная" sensor.value и к свойству "переменные цвета->нормальное состояние->цвет заливки" sensor.color.

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

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

Карбофос
19.07.2023, 18:23
Добрый день.
Можно оформить такое текстовое поле в виде отдельного фрейма, если я правильно вас понял.

Фрейм это "группа" в российской локализации? Как туда переменную структуры передать?

Евгений Кислов
19.07.2023, 18:36
Фрейм это "группа" в российской локализации? Как туда переменную структуры передать?

Фрейм так и называется - "Фрейм".
Посмотрите видео:
https://youtu.be/Bvnmr9Wbt4M

Карбофос
19.07.2023, 19:10
Спасибо, ознакомлюсь!

Карбофос
20.07.2023, 08:25
Что может означать эта ошибка?
[ERROR] Проект: Visualization_1 [Device: Plc Logic: Application](ID элемента 0): Интерфейс визуализации <frm_sensor> не соответствует текущей конфигурации. Обновите ссылки в текущей визуализации.

Я создал визуализацию "frm_sensor", прописал в VAR_IN_OUT переменную, потом добавил фрейм на основную визуализацию, указал в нем ссылку на "frm_sensor" и переменную, что хочу туда передать.
6901269013

Евгений Кислов
20.07.2023, 08:49
Что может означать эта ошибка?
[ERROR] Проект: Visualization_1 [Device: Plc Logic: Application](ID элемента 0): Интерфейс визуализации <frm_sensor> не соответствует текущей конфигурации. Обновите ссылки в текущей визуализации.

Я создал визуализацию "frm_sensor", прописал в VAR_IN_OUT переменную, потом добавил фрейм на основную визуализацию, указал в нем ссылку на "frm_sensor" и переменную, что хочу туда передать.
6901269013

Выложите проект с ошибкой, пожалуйста.

Карбофос
20.07.2023, 09:46
Благодаря Евгению Кислову проблема решена - при использовании фрейма нельзя добавлять атрибут "{attribute 'VAR_IN_OUT_AS_POINTER'}" к переменным визуализации фрейма, он только для диалогов.
Спасибо в очередной раз!

ProgrOwist
25.07.2023, 10:20
Добрый день. Надеюсь, что задаю вопрос в нужной ветке.

Я хочу вытащить данные тренда и по ним построить график в, скажем, Excel. Данные у меня следующие - снимаю тренд изменения значений тока в мА во времени. Но в файле .sqlite я вижу вот такие значения. Подскажите, пожалуйста, что это за формат такой? В первом столбце - время, во втором - значения тока в каком-то формате.
69168

Евгений Кислов
25.07.2023, 10:28
Добрый день. Надеюсь, что задаю вопрос в нужной ветке.

Я хочу вытащить данные тренда и по ним построить график в, скажем, Excel. Данные у меня следующие - снимаю тренд изменения значений тока в мА во времени. Но в файле .sqlite я вижу вот такие значения. Подскажите, пожалуйста, что это за формат такой? В первом столбце - время, во втором - значения тока в каком-то формате.
69168

Добрый день.
https://owen.ru/forum/showthread.php?t=28167&p=415504&viewfull=1#post415504

ProgrOwist
25.07.2023, 10:30
Спасибо большое!

andemeno
27.07.2023, 16:30
Подскажите, как правильно открывать диалоги из библиотеки OwenVisuDialogs с помощью fbOpenDialog/fbOpenDialogExtended.
Прикладываю пример, где это сделать не удаётся, при том что диалог, созданный в этом же проекте успешно открывается.

Евгений Кислов
27.07.2023, 18:59
Если поставить эту галочку - то диалог откроется.

69257

Но авторизоваться и закрыть диалог вы не сможете.
Диалоги управления пользователями не предназначены для использования совместно с данными ФБ.

andemeno
27.07.2023, 19:18
Если поставить эту галочку - то диалог откроется.

69257

Но авторизоваться и закрыть диалог вы не сможете.
Диалоги управления пользователями не предназначены для использования совместно с данными ФБ.

То есть открывать их из кода программы нельзя? Даже каким-то другим способом?
Это относится только к диалогам авторизации или ко всем диалогам библиотеки OwenVisuDialogs?

Евгений Кислов
27.07.2023, 19:24
То есть открывать их из кода программы нельзя? Даже каким-то другим способом?
Это относится только к диалогам авторизации или ко всем диалогам библиотеки OwenVisuDialogs?

Открывать можно, но по упомянутым выше причинам - не имеет смысла.
Это относится к диалогам авторизации и диалогам ввода (Numpad, Keypad).

PaPoV
30.07.2023, 17:29
У меня дополнение к документу по работе с визуализацией из кода (https://ftp.owen.ru/CoDeSys3/98_Books/CodesysVisuIecCode.pdf).

В структуре данных о клиенте визуализации ID клиентов (iClientId) у меня было -1. Но прочитав пункт 1.2.7. Пара слов об идентификаторах клиентов и добавив библиотеку VisuGlobalClientManager, ID клиентов стали отображаться.

Таким образом, чтобы стало доступным свойство ClientId интерфейса IVisualizationClient, необходимо установить библиотеку VisuGlobalClientManager.

На странице 31 также было замечание, что при обновлении страницы в браузере обновляется и ID клиента и происходит разлогинивание. Если обновить страницу с неавторизованным пользователем, то ID не меняется.

UPD: С авторизованным пользователем ID также не меняется, но происходит Logout. Причем происходит переход на стартовую визуализацию, хотя в менеджере визуализации эта опция выключена. Но это можно объяснить: при обновлении страницы делается новый запрос /webvisu.htm, а по этому запросу отдается стартовая страница.

Евгений Кислов
31.07.2023, 13:12
У меня дополнение к документу по работе с визуализацией из кода (https://ftp.owen.ru/CoDeSys3/98_Books/CodesysVisuIecCode.pdf).

В структуре данных о клиенте визуализации ID клиентов (iClientId) у меня было -1. Но прочитав пункт 1.2.7. Пара слов об идентификаторах клиентов и добавив библиотеку VisuGlobalClientManager, ID клиентов стали отображаться.

Таким образом, чтобы стало доступным свойство ClientId интерфейса IVisualizationClient, необходимо установить библиотеку VisuGlobalClientManager.

На странице 31 также было замечание, что при обновлении страницы в браузере обновляется и ID клиента и происходит разлогинивание. Если обновить страницу с неавторизованным пользователем, то ID не меняется.

UPD: С авторизованным пользователем ID также не меняется, но происходит Logout. Причем происходит переход на стартовую визуализацию, хотя в менеджере визуализации эта опция выключена. Но это можно объяснить: при обновлении страницы делается новый запрос /webvisu.htm, а по этому запросу отдается стартовая страница.

Спасибо за уточнения. Использую их при обновлении статьи.

PupaJr
04.08.2023, 13:54
Добрый день.
Среда 3.5SP17P3, операционка вин10/64, СПК107[М01] Ethernet
При написании заголовков ввода параметров (стандартное наборное поле) в место русского "краказябры", ладно, заменил на английский..
но вот надо теперь выводить динамический текст в сообщении - тут опять эта же фигня.
как лечить ?

69333 69334

Евгений Кислов
04.08.2023, 13:59
Добрый день.
Среда 3.5SP17P3, операционка вин10/64, СПК107[М01] Ethernet
При написании заголовков ввода параметров (стандартное наборное поле) в место русского "краказябры", ладно, заменил на английский..
но вот надо теперь выводить динамический текст в сообщении - тут опять эта же фигня.
как лечить ?

69333 69334

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

PupaJr
04.08.2023, 14:23
Спасибо, но не помогло - ругается на какую-то конвертацию, вот скрины.
И как быть со стандартным диалогом ввода цифр? там как сделать русский? Специально сделал сейчас диалог с анг/русс заголовком.
693376933869340

Андрей Косоротов
04.08.2023, 14:36
Спасибо, но не помогло - ругается на какую-то конвертацию, вот скрины.
И как быть со стандартным диалогом ввода цифр? там как сделать русский? Специально сделал сейчас диалог с анг/русс заголовком.
693376933869340

Используйте двойные кавычки (""). Одинарные ('') используются для типа STRING.

PupaJr
04.08.2023, 14:45
Спасибо!! сейчас сработало и там и там!!!
6934169342

ПС но в самом теле диалога ввода цифр есть мин / макс - на английском - это править диалог или свой рисовать ?

Андрей Косоротов
04.08.2023, 15:12
Спасибо!! сейчас сработало и там и там!!!
6934169342

ПС но в самом теле диалога ввода цифр есть мин / макс - на английском - это править диалог или свой рисовать ?

Можно свой, а можете библиотеку OwenDialogs подключить. Там красивые диалоги и русская клавиатура.

yurya
07.08.2023, 10:10
Добрый день.
Подскажите, пожалуйста, как осуществить переход с одного экрана на другой используя пароли пользователей.

Евгений Кислов
07.08.2023, 11:08
Добрый день.
Подскажите, пожалуйста, как осуществить переход с одного экрана на другой используя пароли пользователей.

Добрый день.
Проще всего сделать кнопку перехода невидимой или неактивной для незалогинившегося пользователя.
См. п. 10.3.7:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Visu_v3.0.pdf

yurya
07.08.2023, 12:10
Получилось. Спасибо.

yurya
07.08.2023, 14:16
Добрый день.
Проще всего сделать кнопку перехода невидимой или неактивной для незалогинившегося пользователя.
См. п. 10.3.7:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Visu_v3.0.pdf

С помощью диалогового окна «Конфигурация пользователей» создаются новые пользователи. Где при этом хранится информация о новых пользователях и о коррекции старых? Как можно привести в соответствие вкладку «Управление пользователями» менеджера визуализации? Или только вручную?

Евгений Кислов
07.08.2023, 14:19
С помощью диалогового окна «Конфигурация пользователей» создаются новые пользователи. Где при этом хранится информация о новых пользователях и о коррекции старых? Как можно привести в соответствие вкладку «Управление пользователями» менеджера визуализации? Или только вручную?

С помощью этой кнопки:

69363

yurya
07.08.2023, 14:43
С помощью этой кнопки:

69363

На 3.5.11.54 такой кнопки нет. На 3.5.17.3 есть. Получилось.

tPorte
10.08.2023, 08:52
Здравствуйте! Нужно настроить открытие визуализации через кнопку по паролю. Настроил по мануалу права доступа, нажимаю на кнопку, открывается окно визуализации и окно доступа по паролю НО, нажав на кнопку Cansel окно ввода пароля закрывается и визуализация доступна! То есть окно ввода пароля бесполезно. Как это исправить?

Евгений Кислов
10.08.2023, 09:39
Здравствуйте! Нужно настроить открытие визуализации через кнопку по паролю. Настроил по мануалу права доступа, нажимаю на кнопку, открывается окно визуализации и окно доступа по паролю НО, нажав на кнопку Cansel окно ввода пароля закрывается и визуализация доступна! То есть окно ввода пароля бесполезно. Как это исправить?

Добрый день.
Вам нужно на кнопку смены экрана привязывать не открытие диалога логина, а настроить для нее права доступа.
https://owen.ru/forum/showthread.php?t=22038&p=413664&viewfull=1#post413664

tPorte
10.08.2023, 11:24
а как тогда открыть диалог логина? Я смотрел инструкцию, но там не понятно написано:( Не могу понять. 6940869409694106941169412

Евгений Кислов
10.08.2023, 11:28
а как тогда открыть диалог логина? Я смотрел инструкцию, но там не понятно написано:( Не могу понять. 6940869409694106941169412

Посмотрите на ваш первый скрин.
Вам нужно разбить действия с него на 2 кнопки:
- с помощью одной из них пользователь авторизуется
- если он авторизован, то для него становится видимой или активной кнопка с действием "Изменить отображаемую визуализацию" (за счет вкладки "Права доступа" этой кнопки; ее видно на первом скрине справа внизу)

tPorte
10.08.2023, 13:13
Спасибо, стало понятнее! Создал две кнопки как Вы сказали, но теперь при нажатии на кнопку доступ к ПИД у меня выходит окно ошибки визуализации.694136941469415

Евгений Кислов
10.08.2023, 13:21
Выложите проект - посмотрим, что у вас происходит.

tPorte
10.08.2023, 13:45
Еще попробовал изменить настройки доступа и ошибка визуализации ушла. Но теперь после ввода пароля кнопка которая не активна по прежнему не активна.
Вот ссвлка на проект в GOOGLE диск https://drive.google.com/drive/folders/1gCV_WT-W9ohsd-dSYQ9Ud1G5YzVC7u2n?usp=sharing
Я просто не знаю как выкладывать сюда проект

Евгений Кислов
10.08.2023, 13:58
Сделайте так:

69417

tPorte
10.08.2023, 14:06
Евгений, СПАСИБО Вам:o !!!! Работает!))

KIPEZ
11.08.2023, 10:13
Здравствуйте!
Подскажите, почему вращаются элементы после каждого выхода из текущего экрана визуализации на СПК110?
Элементам, которые вращаются присвоил значение "90" в позиция/угол. У которых значение "0" - не вращаются.
Прикрепляю картинки:
69430
69431
69432

Евгений Кислов
11.08.2023, 16:57
Здравствуйте!
Подскажите, почему вращаются элементы после каждого выхода из текущего экрана визуализации на СПК110?
Элементам, которые вращаются присвоил значение "90" в позиция/угол. У которых значение "0" - не вращаются.
Прикрепляю картинки:
69430
69431
69432

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

KIPEZ
14.08.2023, 13:04
Немного разобрался, удалил элемент "группа", из-за него поворачивало элементы.
Но всё ещё не могу повернуть задвижки "АК1" и "АК2", в проекте правильно стоят, а на панели переворачиваются.

Евгений Кислов
14.08.2023, 13:29
Немного разобрался, удалил элемент "группа", из-за него поворачивало элементы.
Но всё ещё не могу повернуть задвижки "АК1" и "АК2", в проекте правильно стоят, а на панели переворачиваются.

Добрый день.
Это баг CODESYS, который до сих пор не исправлен.
Вам придется повернуться картинки в графическом редакторе и не использовать в CODESYS параметр Угол поворота.

KIPEZ
15.08.2023, 05:53
Хорошо, понял, спасибо!

KIPEZ
15.08.2023, 13:52
Добрый день.
Это баг CODESYS, который до сих пор не исправлен.
Вам придется повернуться картинки в графическом редакторе и не использовать в CODESYS параметр Угол поворота.

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

Евгений Кислов
15.08.2023, 13:54
Еще остаётся проблема с исчезновением элементов. В проекте есть краны, а при загрузке на СПК пропадают некоторые элементы. Как это можно устранить?

Эта проблема воспроизводится в проекте, выложенном на прошлой странице?
Если да - то уточните, пожалуйста, какие именно элементы "пропадают" (лучше покажите их скриншотами).

KIPEZ
15.08.2023, 13:59
Эта проблема воспроизводится в проекте, выложенном на прошлой странице?
Если да - то уточните, пожалуйста, какие именно элементы "пропадают" (лучше покажите их скриншотами).

Да, АК1 и АК2, вертикальные желтые краны и один горизонтальный желтый с правого края.

Евгений Кислов
15.08.2023, 14:07
Да, АК1 и АК2, вертикальные желтые краны и один горизонтальный желтый с правого края.

Уточните, куда именно мне нужно смотреть.

Лучше - скриншотами.

69612

Стас Ц.
17.08.2023, 13:25
Подскажите, а что именно мне нужно запустить.
69658
В качестве устройства использую компьютер.
(до этого проблем не было, а сегодня появились, хотя настройки ни какие не трогал)

Евгений Кислов
17.08.2023, 13:41
Подскажите, а что именно мне нужно запустить.
69658
В качестве устройства использую компьютер.
(до этого проблем не было, а сегодня появились, хотя настройки ни какие не трогал)

Отладка - Старт

Стас Ц.
17.08.2023, 14:20
Я так и сделал, но ничего не происходит.
И такой вопрос может ли это быть связано с вызовом функции(которая не может запуститься).

причина в функции которую написал, она не давала каким-то образом запустить визуализацию.

PupaJr
19.08.2023, 09:49
Добра всем.
Вопрос - почему при нажатии на кнопку смены визуализации переход происходит моментально, а из той - куда перешел - назад со второго раза !!! именно надо нажать кнопку "назад" 2 раза чтобы вернуться на предыдущую визуализацию с которой сюда пришёл, и так на всех.
На кнопке чётко указано событие OnMouseClick - изменить показанную визуализацию - previous.
Что тут может быть не так? Причём при первом нажатии кнопка чётко меняет своё графическое отображение - тоесть срабатывает.69675

Евгений Кислов
19.08.2023, 14:25
Добра всем.
Вопрос - почему при нажатии на кнопку смены визуализации переход происходит моментально, а из той - куда перешел - назад со второго раза !!! именно надо нажать кнопку "назад" 2 раза чтобы вернуться на предыдущую визуализацию с которой сюда пришёл, и так на всех.
На кнопке чётко указано событие OnMouseClick - изменить показанную визуализацию - previous.
Что тут может быть не так? Причём при первом нажатии кнопка чётко меняет своё графическое отображение - тоесть срабатывает.69675

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

PupaJr
20.08.2023, 17:51
Добрый день.
Это баг версии плагина визуализации 4.1.1.0.
Можете просто настроить на кнопке два действия "изменить показанную визуализацию - previous" - тогда будет срабатывать с одного нажатия.

С этим я как-то смерился... а вот то что цвет из соседнего элемента (меняет цвет красный/зелёный от тех. процесса) перелетает на другой элемент - это да... БАГ просто жесть.. Также был баг - элемент "галочка" включает глобальный бит BOOL и при этом включается совсем другая кнопка имеющая тоже статус в глобальной переменной!!! Это был шок! когда вместо разрешения воды в ТП, включился сам тех процесс - тоесть как бы нажалась кнопка в другом углу экрана!! при этом и тот и тот элемент управления уже более чем 2 недели вообще не трогался в программе и отработаны были давно!! По этому я как-то начал "напрягаться" уже.. с этими багами визуализации...

Двойное нажатие исправил так - на событие OnMouseDown и OnMouseUp поставил возврат - всё сработало. Но это КОСТЫЛЬ, исправят этот баг и прийдётся снова переделывать проект после обновления..

KIPEZ
21.08.2023, 16:56
Уточните, куда именно мне нужно смотреть.

Лучше - скриншотами.

69612


Вот например, вставляю много желтых кранов, в веб визуализации всё видно, а на самом экране СПК не видно ни одного желтого крана, кроме РК1
Скриншот веб-визуализации прикрепляю69706

Евгений Кислов
22.08.2023, 07:59
Вот например, вставляю много желтых кранов, в веб визуализации всё видно, а на самом экране СПК не видно ни одного желтого крана, кроме РК1
Скриншот веб-визуализации прикрепляю69706

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

PupaJr
22.08.2023, 15:13
Вновь прошу Вашего внимания к себе.
Точно глюк/баг и т.д. - поставил в проекте в визуализации "кнопка флажёк" (CheckBox) 3 штуки - , включить воду, включить УФ-лампу и включить свет.
В какой-то момент времени всё работало. Случайно заметил при очередном прогоне всего интерфейса что ставя/снимая галочку на "включить свет" запускается техпроцесс!! - совсем другая кнопка!!, причём на этой другой кнопке запускается только ST код на нажатие а переменная кнопки не меняется!! и таким образом у меня половина кода кнопки срабатывает только - на сообщение. Причём этот глюк и в симуляции и в реальном СПК107М01 !!!.
Удалил кнопку, создал заново - тоже самое!!, сделал простое копипасту этой кнопки - поставил рядом 2 абсолютно одиниковые!! По одной (первой) срабатывает глюк а по новой скопированной НЕТ!!!! БРЕД!!!, удалил глючную (думал там прописался глюк) - а ФИГУ!! глюк переехал на новую!! Сделал снова эту галочку (4_ю по счёту в проекте), 3_ю скрыл - и вот , 4_я работает!!! Место положения и группировка роли ни играет, глюк по прежнему на 3_й кнопке-галочке.697196972069721
На скринах чётко видно свойства кнопки-галочки, потом код где она опрашивается и что она влючает/выключает бит на выходном модуле - ВСЁ, и также как она объявлена в глобальных переменных, внизу указаны все места где она использована - всё чётко 4 раза в программе - объявление, опрос в коде, и опрос/запись в визуализации. Точно также определена и описана и рядом стоящая такая же кнопка на UV-лампу - эта работает а другая НЕТ!!! Бред... ахтунг..

Евгений Кислов
22.08.2023, 15:54
Добрый день.

Выложите, пожалуйста, ПРОСТЕЙШИЙ (с минимумом вашего кода и визуализаций) проект, в котором я смогу воспроизвести проблему, и подробно опишите, как именно это сделать.

PupaJr
24.08.2023, 07:31
Код подготовлю, попробую минимизировать и выложить.. хотя я думаю что глюк может просто пропасть с ростом/уменьшения кода, также как пропал глюк с изменением цвета на кнопках - перескакивал на другие кнопки..

Но вот возник очередной вопрос - WEB визуализация работает только когда я подключён к СПК107М01 по USB (виртуальная сеть) и всё прекрасно работает (IP 10.0.6.10:8080/myweb.htm).
Отключаю USB, подтыкаю Ethernet кабель, на компе ставлю IP 10.0.6.111 (лампочки начинают гореть и там и там), но подключиться не получается к контроллеру - даже не пингуется, может надо как-то физически включить порт на СПК? прописать настройки в системном меню? в проекте? (отключить от USB и перенести на Ethernet ?)
Прошарил все настройки в веб морте ПЛК - нет такого, в проекте я не использую Ethernet - оставил именно для веб-визуализации. (порты в/выв на 485).

Добавил проект, также посмотрите в нём как настроен адрес Ethernet, в самой панели НИЧЕГО не менял в системных настройках с завода.
Ещё прошу Вас глянуть настройку модулей ввода/выдова - вернее тайминги на них для скорости 115200, не могу добиться быстрого обмена, такое ощущение что пакеты теряются..

Евгений Кислов
24.08.2023, 07:34
Код подготовлю, попробую минимизировать и выложить.. хотя я думаю что глюк может просто пропасть с ростом/уменьшения кода, также как пропал глюк с изменением цвета на кнопках - перескакивал на другие кнопки..

Но вот возник очередной вопрос - WEB визуализация работает только когда я подключён к СПК107М01 по USB (виртуальная сеть) и всё прекрасно работает (IP 10.0.6.10:8080/myweb.htm).
Отключаю USB, подтыкаю Ethernet кабель, на компе ставлю IP 10.0.6.111 (лампочки начинают гореть и там и там), но подключиться не получается к контроллеру - даже не пингуется, может надо как-то физически включить порт на СПК? прописать настройки в системном меню? в проекте? (отключить от USB и перенести на Ethernet ?)
Прошарил все настройки в веб морте ПЛК - нет такого, в проекте я не использую Ethernet - оставил именно для веб-визуализации. (порты в/выв на 485).

Какой IP-адрес у вас задан для Ethernet-интерфейса СПК?

PupaJr
24.08.2023, 08:46
Какой IP-адрес у вас задан для Ethernet-интерфейса СПК?

Где это посмотреть/как ? в системном веб интерфейсе ? - ничего не менял... Ну и выше пост подправил - там проект порезанный, глюк - при установке галочки на UV-лампу как будто нажимается кнопка стоп (которая пока не активна даже)

CDS 3.5 SP17p3 32bit , как вывести список библиотек не знаю, не могу написать, но при загрузке проекта среда напишет какие я использовал.

Евгений Кислов
24.08.2023, 09:19
в системном веб интерфейсе ?

Да.


ничего не менял.

Тогда у СПК на Ethernet'е IP-адрес по умолчанию - 192.168.0.10. Вполне логично, что вы не можете пропинговать его с ПК, у которого IP из другой подсети (10.0.6.111).


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

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


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

PupaJr
24.08.2023, 10:21
Да.



Тогда у СПК на Ethernet'е IP-адрес по умолчанию - 192.168.0.10. Вполне логично, что вы не можете пропинговать его с ПК, у которого IP из другой подсети (10.0.6.111).



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


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

С веб визуализацией разобрался, да, ИП были не те, спасибо.

По "багу" - надо скачать новый плагин , старый убрать (как?) и новый поставить (как?), и привет новые глюки!! :)
Двойной клик тут исправлен ??

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

Евгений Кислов
24.08.2023, 10:29
Двойной клик тут исправлен ??

Да.


старый убрать (как?) и новый поставить (как?),

CODESYS Installer - Install file

PupaJr
24.08.2023, 15:29
Спасибо большое за подсказки, действительно, скачал с Вашего сайта 4.4, поставил, пока всё гуд.

kondor3000
24.08.2023, 17:57
Спасибо большое за подсказки, действительно, скачал с Вашего сайта 4.4, поставил, пока всё гуд.

А где вы на сайте Овен плагин визуализации 4.4.0.0 нашли?
Мне не удалось найти.

Евгений Кислов
24.08.2023, 19:57
А где вы на сайте Овен плагин визуализации 4.4.0.0 нашли?
Мне не удалось найти.

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

DuMa
25.08.2023, 21:53
Здравствуйте.
Изучаю графический примитив «Декартовый график»
В руководстве пользователя «CODESYS V3.5 Визуализация версия 24.05.2022 версия 3.0» представлена общая информация, но хотелось бы реальный пример применения этого примитива.
Может у кого-нибудь есть проект, где этот примитив работает. Прошу поделится.

kondor3000
26.08.2023, 02:58
https://ftp.owen.ru/CoDeSys3/01_CODESYS/plugins/CODESYS%20Visualization%204.4.0.0.package

Спасибо, уже работает плагин визуализации 4.4.0.0

Евгений Кислов
26.08.2023, 11:31
Здравствуйте.
Изучаю графический примитив «Декартовый график»
В руководстве пользователя «CODESYS V3.5 Визуализация версия 24.05.2022 версия 3.0» представлена общая информация, но хотелось бы реальный пример применения этого примитива.
Может у кого-нибудь есть проект, где этот примитив работает. Прошу поделится.

Добрый день.
Посмотрите пример от разработчиков CODESYS:
https://forge.codesys.com/prj/codesys-example/visu-element-xy/home/Home/

PupaJr
29.08.2023, 14:59
И снова я здесь, Вы уж простите.
При просмотре трассировки стал появляться вот такой глюк(мне кажется раньше его не замечал на 4.1.0.0) - всплывающая подсказка многократно с интервалом 4 секунды появляется снизу и опять подстыковывается и опять - пока весь экран не заполнит, пересталяю курсор на другое место - снова 1 раз и опять понеслась низу подставляться - это снова BUG или какая-то настройка ??? интервал записи у меня 10 секунд.
69874
Снял видео
69875

Евгений Кислов
30.08.2023, 07:09
И снова я здесь, Вы уж простите.
При просмотре трассировки стал появляться вот такой глюк(мне кажется раньше его не замечал на 4.1.0.0) - всплывающая подсказка многократно с интервалом 4 секунды появляется снизу и опять подстыковывается и опять - пока весь экран не заполнит, пересталяю курсор на другое место - снова 1 раз и опять понеслась низу подставляться - это снова BUG или какая-то настройка ??? интервал записи у меня 10 секунд.
69874
Снял видео
69875

Судя по всему - баг.

69884