воскресенье, 11 августа 2024 г.

Codesys 2.3 немного о визуализации

Мне лень читать документацию, а иногда требуется сделать что-то не совсем очевидное, поэтому решил написать небольшую заметку, чтобы вернуться к ней если понадобится когда-нибудь еще. Была задача добавить визуализацию нескольких однотипных модулей. Рисовать 10, 20 картинок конечно же было бы тупо, а вот нарисовать одну, и привязать к ней промежуточный тег - это правильно. Обычно это называется фейсплейт или faceplate, или шаблон. То есть был сделан шаблон визуализации в Codesys 2.3. 

Чтобы выйти из ситуации, придумал такой план: создал массив с 20 элементами (по числу модулей) со структурой визуализации, в которой записываются интересующие параметры - собирается больше 20 сигналов с каждого модуля. Как это выглядит (создана структура depStruct и создан массив DEP):

и чтобы получить напряжение Ua у третьего модуля то нужно обратиться к массиву DEP[3].Ua


Но написать хотелось не об этом, а о визуализации. В кодесис чтобы получить Real значение, нужно написать в тексте %1.3f - , где значение 3 - это сколько цифр после запятой будет отображаться (это к слову о неочевидных вещах, до которых без документации к конкретному ПО не получится методом дойти самому методом тыка). А какой тег привязывается видно на скрине, в поле переменные надо выбрать с какого тега брать данные. Причем очень удобно выбирать то что надо через всплывающее окно по нажатии на F2

Вот так сделал визуализацию - на экране DEP_IN привязал все теги к нулевому элементу массива DEP. и по клику на кнопку меняется значение глобальной переменной globSelect, в программе DEP[0]:=DEP[globSelect]; то есть нажав кнопку №2 у нас нулевой элемен станет равным второму, и на экране покажется состояние второго модуля

Чтобы добавить время нужно сделать текст элемента таким: %t %H:%M:%S

Так выглядит нулевой экран с привязкой тегов нулевого массива (%i для значений integer):
Еще из неочевидного - чтобы запустить визуализацию на весь экран нужно создать ярлык визуализации, где в параметрах запуска указывается путь к проекту и название визуализации, которую нужно запустить:

"C:\Program Files (x86)\3S Software\CoDeSys V2.3\CoDeSysHMI\CoDeSysHMI.exe" "C:\Projects\OWEN-RTU-UDP \Owen_RTU_Master.pro" /visu main_1280 /visudownload

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

Комментариев нет:

Отправить комментарий