Часть 1.
В этой части:
- список скринов
- индикатор состояния насоса
Повторимся:
Функции в панели:
- редактирование и хранение уставок
- человеко-машинный интерфейс
- ротация насосов
- распределение нагрузки по насосам.
- В ТЗ было указано: что 4 насоса в работе (ротации), 2 резервных (включаются, если рабочих не хватает).
Программировалась панель в Vijeo disainer basic. Начнем со скринов:
Дисплей разделен на две области:
1. Вывод активного окна (в зависимости от нажатой кнопки)
2. Кнопки навигации выводятся всегда
Посмотрим как лампочки работают на примере насоса 1.
У нас 6 насосов, IDE позволяет создать массив. Нам нужно 6 элементов.
Идея в следующем. Состояние насоса формируется в ПЛК, и пишется в панель (как формируется адрес - здесь). Если насос в работе - в нулевой бит пишем "1", переменная state_p[0] принимает значение 1, этому состоянию у нас соответствует цвет - зеленый
Второй бит отвечает за сигнал авария и зажигает красный цвет
Состояние насосов формируется в контроллере. Вернемся к хайвелу.
Запись битов в число реализована через таблицу "Discrete bit table".
Сигнал "в работе" - скорость ПЧ больше нуля. Авария - отсутствие сигнала "в работе" спустя 30 секунд после команды пуск. В части один есть скрины этой функции.
Аналогично сделан индикатор "прессостат", отличие лишь в том, что в нем один бит.
Давления, температуры - просто вывод значения, ничего особенного.
Единственно, давление масштабирую в скрипте. Работу со скриптами разберем в следующей части.