PDA

Просмотр полной версии : ВП110 Реализация протокола работы цикла



AlekseyR
03.06.2022, 13:59
В порядке импортозамещения начал осваивать программирование в среде CODESYS V3.5 с использованием аппаратуры ОВЕН. Для решения задачи хочу использовать панель ВП110 + контроллер ПЛК200. Вопрос: можно ли на панели ВП110 реализовать?

1 При включении панели на экране возникает окно "Введите пароль".
2 Оператор вводит цифровой пароль, например "4894", и система определяет, что это оператор Василий Пупкин.
3 Тогда появляется возможность задать параметры работы и запустить автоматический цикл.
4 После окончания цикла на экране должены быть отображены:
- идентификатор (порядковый номер),
- дата / время,
- ФИО оператора,
- номер изделия (который вводит оператор перед запуском цикла),
- технологические параметры (длительность работы цикла, объем перекаченной жидкости и пр.).
5 Протокол работы должен храниться в панели. Оператор может просматривать архив.
6 Должна быть возможность выгрузить архивы с протоколами на USB флешку.
7 Мастер, зарегистрированный в системе как администратор, может создавать новых пользователей с правами оператора (ФИО + пароль)

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

Всё описанное относится в основном к CODESYS V3.5.
ВП110 - это просто web-браузер, который подключается к web-визуализации ПЛК с CODESYS.

Всё, что вы описали, можно реализовать со следующими оговорками:

2, 7. Логины/пароли операторов будут создаваться в CODESYS и не будут иметь отношения к логинам/паролям, которые можно создать в конфигураторе панели.
5, 6. Архив будет храниться в контроллере. Можно будет выгрузить его на USB флешку, подключенную к контролллеру или к панели. В память панели архив никаким образом не попадет.

AlekseyR
03.06.2022, 19:43
Спасибо за оперативный ответ. После всяких сименсов, мозг еще не переключился на работу с web-панелями. Надо осмыслить ваши советы: про архив - вроде направление понятно. Нашел ветку про архивацию (https://owen.ru/forum/showthread.php?t=27332).

А вот логины/пароли.... Я думал, что во всех современных панелей механизм динамического создания пользователей более менее отработан. Где можно почитать об этом. Может уже есть примеры подобного?

А как на счет связки СП310-Р + ПЛК110-24.60.К-М ? На чем проще реализовать задачу?

Евгений Кислов
03.06.2022, 19:48
А вот логины/пароли.... Я думал, что во всех современных панелей механизм динамического создания пользователей более менее отработан. Где можно почитать об этом. Может уже есть примеры подобного?

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


А как на счет связки СП310-Р + ПЛК110-24.60.К-М ? На чем проще реализовать задачу?

Проще на ПЛК200 и ВП110 - тогда вся работа будет в CODESYS V3.5 (он функциональнее CoDeSys V2.3, в котором программируется ПЛК110, и конфигуратора панелей СП3х) и не придется настраивать обмен между ПЛК и панелью.

AlekseyR
04.06.2022, 05:33
Я правильно понимаю, что СПК1xx - это суть ПЛК200 и ВП110 в одном флаконе, но без встроенных входов-выходов? Все видео с обучением СПК1хх относиться и к связке ПЛК200 и ВП110 ?

Евгений Кислов
04.06.2022, 09:29
Я правильно понимаю, что СПК1xx - это суть ПЛК200 и ВП110 в одном флаконе, но без встроенных входов-выходов? Все видео с обучением СПК1хх относиться и к связке ПЛК200 и ВП110 ?

Да, именно так.

AlekseyR
09.01.2023, 13:10
Получилось реализовать проект. Сделал немного не так, как представлялось, но результатом удовлетворен. С помощью Owen Archiver протокол пишется на CD карту. Вопрос такой: если пример просмотра файла csv на панели оператора?

kondor3000
09.01.2023, 13:18
Получилось реализовать проект. Сделал немного не так, как представлялось, но результатом удовлетворен. С помощью Owen Archiver протокол пишется на CD карту. Вопрос такой: если пример просмотра файла csv на панели оператора?

Если у вас на панели установлен Microsoft Excel то сможете)))

Евгений Кислов
09.01.2023, 16:17
Получилось реализовать проект. Сделал немного не так, как представлялось, но результатом удовлетворен. С помощью Owen Archiver протокол пишется на CD карту. Вопрос такой: если пример просмотра файла csv на панели оператора?

Панель просто отображает визуализацию CODESYS.
Вы можете отображать в ней .csv с помощью элемента Текстовый редактор (просто реализовать, но выглядеть будет так же, как если вы .csv на ПК откроете в Блокноте - то есть с разделителями, без выравнивания и т.п.), либо с помощью элемента Таблица (но тогда вам придется реализовать в коде парсинг .csv и конвертировать его в массив структур, который будет привязан к таблице). Реализовать такой парсинг средствами CODESYS - не самая тривиальная задача. В прошивках 2.4.xxxx.xxxx поддерживаются скрипты на Python - вероятно, с их помощью сделать это будет существенно проще. В скрипте можно сразу формировать .html или .pdf, который будет отображаться на панели.

AlekseyR
10.01.2023, 08:17
Спасибо. Попробую.

Еще вопрос. При включении питания контроллера и панели оператора не происходит автоматический запуск визуализации. Приходится запускать вручную с помощью всплывающей нижней панели с надписью "visu" (или типа того). Можно ли это поправить?

Евгений Кислов
10.01.2023, 08:19
Спасибо. Попробую.

Еще вопрос. При включении питания контроллера и панели оператора не происходит автоматический запуск визуализации. Приходится запускать вручную с помощью всплывающей нижней панели с надписью "visu" (или типа того). Можно ли это поправить?

А в настройках вкладки на панели задано ее автообновление?

65065

AlekseyR
03.02.2023, 08:56
К сожалению не было доступа к панели, чтобы попробовать. Когда появилось, то обнаружилось следующее. Если включить автообновление, то слетает авторизация. У меня реализовано разграничение по уровню доступа, в протокол работы пишется имя пользователя. Т.е. работать невозможно. В итоге автообновление отключили.

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

Я правильно понимаю - у вас ВП загружается быстрее ПЛК, и поэтому в момент старта еще не может отобразить web-страницу?

AlekseyR
06.02.2023, 05:55
Да, именно так

Евгений Кислов
06.02.2023, 06:16
Да, именно так

Мы планируем исправить это поведение в следующей прошивке.

AlekseyR
08.07.2024, 09:27
Очередная задача по протоколированию работы установки. Есть 4 нагревателя. Для каждого нагревателя требуется вывести графики температуры 3 шт. (REAL). Т.е. для каждого нагревателя будет отдельный экран с трендом.
И надо, чтобы на флешку писался архив: 4 нагревателя * ( 3 температуры REAL + код ошибки DINT). Период записи - каждые 120 с. Каждые сутки - новый файл.

Вопрос: как лучше/проще это реализовать?

OwenVisuTools пишет данные трендов на флешку. Делать 4 тренда, который будут работать одновременно?
Или лучше использовать OwenArchiver ?

Евгений Кислов
08.07.2024, 10:23
Очередная задача по протоколированию работы установки. Есть 4 нагревателя. Для каждого нагревателя требуется вывести графики температуры 3 шт. (REAL). Т.е. для каждого нагревателя будет отдельный экран с трендом.
И надо, чтобы на флешку писался архив: 4 нагревателя * ( 3 температуры REAL + код ошибки DINT). Период записи - каждые 120 с. Каждые сутки - новый файл.

Вопрос: как лучше/проще это реализовать?

OwenVisuTools пишет данные трендов на флешку. Делать 4 тренда, который будут работать одновременно?
Или лучше использовать OwenArchiver ?

Добрый день.
OwenVisuTools выглядит подходящим вариантом.

AlekseyR
09.07.2024, 08:03
Добрый день.
OwenVisuTools выглядит подходящим вариантом.

Мне надо сохранять 16 параметров. У тренда 8 перьев. Я правильно понимаю, что архив будет писаться в минимум в 2 файла, или 4 файла - архив по каждому нагревателю? Или можно как-то слить в один файл?

Евгений Кислов
09.07.2024, 08:15
Я правильно понимаю, что архив будет писаться в минимум в 2 файла, или 4 файла - архив по каждому нагревателю?

Да.


Или можно как-то слить в один файл?

Можно попробовать, например, сделать это средствами Python (в прошивке контроллера есть его интерпретатор).
Но было бы проще объединить файлы уже на ПК.

AlekseyR
09.07.2024, 08:30
Чтобы каждые сутки создавался новый архив, требуется:
- отследить начало новых суток,
- остановить тренд,
- изменить имя файлов архивов,
- запустить тренд.

Так?

Евгений Кислов
09.07.2024, 08:32
Чтобы каждые сутки создавался новый архив, требуется:
- отследить начало новых суток,
- остановить тренд,
- изменить имя файлов архивов,
- запустить тренд.

Так?

Да, всё верно.

Николай Суриков
09.07.2024, 08:49
Чтобы каждые сутки создавался новый архив, требуется:
- отследить начало новых суток,
- остановить тренд,
- изменить имя файлов архивов,
- запустить тренд.

Так?

Архивация в файл делается элементарно, не проще сделать?
OwenArhiver или самостоятельная реализация на SysLibFile.

AlekseyR
09.07.2024, 10:58
Я попробовал сделать 4 тренда по 3 переменные типа REAL. Пишет 4 файла архива. В принципе устроит, только имена файлов менять раз в сутки.
OwenArhiver тоже можно. Но все равно надо тренды смотреть. Получиться что архивы два раза будут писаться?

Евгений Кислов
09.07.2024, 11:00
Я попробовал сделать 4 тренда по 3 переменные типа REAL. Пишет 4 файла архива. В принципе устроит, только имена файлов менять раз в сутки.
OwenArhiver тоже можно. Но все равно надо тренды смотреть. Получиться что архивы два раза будут писаться?

Можете тренды использовать для визуализации, а с помощью OwenArchiver создавать один архив на 12 переменных, который уже потом выгружать на ПК.
Кстати, OwenArchiver поддерживает создание суточных архивов - это его штатный функционал.

AlekseyR
17.09.2024, 19:19
В разработанном проекте своих алгоритмов управления почти совсем нет. В основном используются разработки OWEN: тренды, архивация, реализация протоколов Modbus RTU master, Modbus TCP slave, работа с USB накопителем, визуализация и пр.
Потребовалось выполнить небольшие доработки. Выполнили перемонтаж. Добавили два датчика температуры. Включаю контроллер - на панели визуализация не включается. Я залил новую программу - появляется стартовый экран, через несколько секунд такое окно:
78659
потом, после отмены
78660
потом
78662
На панеле надпись: "Rised exception. Access violation" (в настройках панели выставил "отображать на панели исключения")

Что делать? Куда смотреть? Где найти стек вызова и ошибочный POU ?

AlekseyR
17.09.2024, 19:27
Только обратил внимание, что компилятор выдает ошибку визуализации:
78663
Только не понимаю, что с этим делать? При нажатии на надпись ошибки ничего не происходит.

Евгений Кислов
17.09.2024, 19:27
Что делать?

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

AlekseyR
17.09.2024, 19:34
А вот, что еще пишет компилятор:
[WARNING] owenvisutools, 3.5.17.21 (production association owen): TraceEnable [binFileProxy](Строка 1 (Объявл.)): C0373: TODO: Может быть стоит вынести этот функционал, так как это логичнее реализовать за пределами функционального блока

AlekseyR
24.09.2024, 10:30
Связаться со мной завтра утром по телеграм (см. в подписи) и обеспечить доступ по AnyDesk.

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

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

AlekseyR
16.10.2024, 12:00
Ошибку у себя в программе обнаружил: выполнялось деление на ноль в процессе вычисления объема свободного места на USB накопителе. В расчетах используются параметры узла "DRIVES", который появляется, если выбран контроллер СПК110. При отладке заменяю устройство на ControlWin3 - узел "DRIVES" пропадает, соответственно привязанные переменные обнуляются. Добавил инициализацию переменных при отладке. Однако при переходе обратно от ControlWin3 к СПК110 приходится повторно привязывать переменные узелов "DRIVES" и RTC.

Это как-то можно побороть? Я что-то не так делаю?