Узел АРМ: настройка по шагам
- Откройте вкладку «Узлы» и выберите узел АРМ. Если его ещё нет, нажмите «+» и создайте узел, например
Operator1. - На вкладке «Параметры компьютера» выберите «Назначение» — «АРМ». В поле «Имя компьютера / IP» задайте адрес компьютера, на котором установлена служба HMI. Браузеры операторов могут работать на других компьютерах.
- В поле «Сервер истории» выберите Historian для исторических трендов и журналов. При единственном Historian можно оставить автоматический выбор.
- Проверьте «Порт управления и загрузки АРМ» (обычно 8865), «Порт диагностики АРМ» (8866) и «Порт оператора АРМ» (8080). Операторы подключаются к последнему; Studio использует служебные порты.
- Укажите «Таймаут связи браузер — АРМ, мс» и «Таймаут связи АРМ — Runtime, мс». Это разные участки связи. Для начальной проверки можно оставить 3000 и 5000 мс, затем оценить их по условиям сети.
- Проверьте параметры журнала и описание, нажмите «Сохранить». Выберите состав видеокадров по следующей инструкции.
- Скачайте конфигурацию узла через контекстное меню дерева и установите HMI по инструкции установки. После запуска службы откройте «Просмотр АРМ» и убедитесь, что компонент доступен.
- Подготовьте и загрузите проект на Runtime, откуда АРМ будет получать значения. Для АРМ откройте «Показать различия», затем в контекстном меню его узла выберите «Залить клиентскую часть». Дождитесь завершения.
- Откройте в браузере адрес компьютера HMI с портом оператора, например
http://адрес-компьютера:8080/. Проверьте главный видеокадр, переходы, значения, тренды и журналы. При публикации через Apache используйте настроенный адрес HTTPS.
Выгрузка и параметры hmi.json
В дереве «Узлы» нажмите правой кнопкой на АРМ и выберите конфигурацию нужной платформы. Снимок меню и порядок установки файла одинаковы для всех ролей. Установите файл как hmi.json в каталоге службы HMI.
| Параметр | Назначение и настройка |
|---|---|
operator_host | Локальный адрес приёма подключений браузеров операторов. По умолчанию 0.0.0.0. Может отличаться от host, на котором доступны служебные интерфейсы. |
control_port | Порт управления и загрузки клиентской части из Studio; обычно 8865. |
diagnostic_port | Порт диагностики АРМ; обычно 8866. |
operator_port | Порт веб-интерфейса оператора; обычно 8080. В браузере открывают адрес компьютера именно с этим портом либо настроенный HTTPS-домен. |
client_connection_timeout_ms | Таймаут контроля связи браузера с HMI в миллисекундах. |
runtime_connection_timeout_ms | Таймаут контроля связи HMI с Runtime в миллисекундах. |
runtime_poll_interval_ms | Интервал получения текущих данных от Runtime в миллисекундах; штатно 200. |
storage_dir | Каталог сохранённых загрузок и служебных данных АРМ. Нужны права записи службы; отдельным узлам нужны отдельные каталоги. |
disks | Список контролируемых дисков: alias — обозначение, path — путь для проверки свободного места. |
historian | Источник исторических трендов и журналов. Поля enabled, node_id, name, url и token задают включение, идентификатор, имя, адрес службы и токен доступа. Блок появляется при выборе сервера истории. |
Обозначения format, version, platform, node_id, node_name, project_name, description, host, token и logging приведены в общей таблице. После изменения файла перезапустите HMI. Видеокадры и адреса Runtime-источников передаются при загрузке клиентской части из Studio.
Выбор видеокадров и главного экрана АРМ
- Создайте видеокадры проекта и сохраните их содержимое.
- В настройках узла АРМ откройте вкладку «Видеокадры». Справа находятся «Кадры проекта», слева — «Кадры АРМ».
- Перетащите нужные экраны из правой области в левую. Кнопка «⇐ Добавить все» включает все доступные кадры; отдельный кадр можно вернуть обратно перетаскиванием либо командой «Убрать из АРМ» в контекстном меню.
- Нажмите правой кнопкой на обычный кадр слева и выберите «Сделать главным». Звезда и подпись «Главный» показывают экран, который откроется первым. Всплывающее окно не назначается главным.
- Включите все экраны, на которые ведёт навигация данного АРМ. Команды добавления и назначения сохраняют состав сразу; загрузите обновлённый проект на АРМ, чтобы изменения вступили в силу.
Получение данных АРМ
HMI читает тэги, используемые открытым видеокадром и открытыми всплывающими окнами. При закрытии окна его дополнительные привязки исключаются из подписки. Одинаковые тэги нескольких операторов читаются совместно. Первый снимок поступает порциями; далее передаются изменения значений и качества. Время последнего чтения обновляется отдельными компактными сообщениями, поэтому возраст данных определяется правильно и при неизменном значении. На порцию установлены два ограничения: не более 200 значений и 256 КиБ данных.
Значения и текущие аварии обновляются независимо. Запрос истории также не задерживает анимацию. Переход на дальнюю страницу текущих аварий выполняется через индекс: предыдущие строки не загружаются. Исторические журналы поступают ограниченными порциями через HMI из Historian.
При восстановлении соединения АРМ повторно получает нужные значения. Перезапускать видеокадр не требуется. Буфер хранит последние состояния тэгов; промежуточные изменения значений у медленного клиента объединяются. Переходы аварий и события сохраняются в Historian независимо от скорости браузера.
Дополнительные параметры в hmi.json:
| Параметр | По умолчанию | Назначение |
|---|---|---|
value_batch_count | 200 | Число значений в порции: от 1 до 200. |
value_batch_bytes | 262144 | Размер порции: от 4096 до 262144 байт. Применяется одновременно с ограничением количества. |
value_cache_bytes | 67108864 | Предел общего буфера значений HMI. Общая память процесса также включает служебные структуры и графику. |
value_max_paths | 50000 | Максимум разных путей в активных подписках всех операторов. |
alarm_poll_interval_ms | 1000 | Пауза между завершённым обновлением текущих аварий и следующим запросом. |
После изменения файла перезапустите службу HMI. Если буфер заполнен или отдельное значение слишком велико, система сообщает об этом; увеличьте допустимый буфер либо сократите состав кадра. При обновлении установите совместимые версии Runtime, HMI и Historian. Настройка HTTPS описана в разделе «HTTPS для операторского АРМ».
Видеокадр как операторский экран
Если вы создаёте первый экран, начните со сквозного примера графического символа насоса: рисование, параметры, анимации, проверка и размещение экземпляра на видеокадре.
Создайте видеокадр и задайте имя, описание, размеры и фон. Имя служит техническим идентификатором, описание — понятным названием для оператора. В HMI описание используется в заголовке страницы, если оно задано.
Добавьте символы экземпляров и моделей. При выборе проверьте владельца символа: графика с именем SensorGraphic может принадлежать разным измерительным каналам. Разместите элементы, настройте масштаб и проверьте результат в предпросмотре.
В редакторе доступны множественное выделение и групповое перемещение. При изменении состава модели проверьте вложенные символы: источник, удалённый из композиции, нужно заменить действующим источником или удалить из графики.
Базовый видеокадр
Базовый кадр удобен для общего заголовка экрана, навигации и служебных элементов интерфейса. Производные кадры получают эти элементы, а собственная область используется для конкретной схемы.
Элементы базового кадра располагаются перед собственными элементами. Это сохраняет доступность общей навигации. Унаследованные элементы редактируются и удаляются в базовом кадре.
Перед изменением базового видеокадра проверьте, какие экраны используют его элементы. Прозрачная большая область или неверный слой могут перехватывать действия мыши, даже если визуально не заметны.
- Базовый кадрОбщие элементы: навигация, часы, авторизация.
- Производный кадрСобственные символы оборудования и служебные объекты.
- Итоговый экранЭлементы базового кадра отображаются поверх собственных элементов.
Служебные объекты: добавление и настройка
Панель «Служебные инструменты» находится слева в редакторе видеокадра. Эти объекты добавляются непосредственно на видеокадр и не требуют создания графического символа.
| Значок | Объект | Назначение |
|---|---|---|
| Тренд реального времени | Наблюдение за текущими значениями Runtime. | |
| Исторический тренд | Просмотр записанных значений Historian за выбранный период. | |
| Журнал узлов | Сообщения служб и драйверов: связь, запуск, диагностика и ошибки. | |
| Звук | Воспроизведение файла по условию. В работающем АРМ объект не виден. | |
| Каталог аудиофайлов | Загрузка, прослушивание, импорт и экспорт общего каталога. | |
| Авторизация | Вход оператора и выход из его учётной записи. | |
| Текущие аварии | Состояния аварий Runtime и их подтверждение. | |
| История аварий | Хронология переходов аварийных состояний из Historian. | |
| Журнал событий | Сообщения, созданные правилами событий тэгов и сохранённые в Historian. | |
| Навигация | Меню переходов между видеокадрами АРМ. |
- Перетащите значок нужного инструмента на рабочее поле.
- Выделите объект. В блоке «Положение и размер» задайте X, Y, ширину и высоту, затем нажмите «Применить». Размер также можно изменить за угловую ручку.
- Дважды щёлкните по объекту, чтобы открыть его настройки. У журнала узлов отдельного диалога нет: фильтры находятся в самом журнале.
- Настройте объект по соответствующей инструкции ниже. В диалогах звука и тренда нажмите «Сохранить». Изменения колонок журналов, меню навигации и авторизации сохраняются при редактировании.
- Включите видеокадр в состав АРМ, загрузите обновлённый проект и проверьте объект в браузере оператора.
В редакторе служебные объекты предназначены для компоновки. Квитирование, запросы истории и воспроизведение звука проверяйте в режиме выполнения. Чтобы удалить собственный объект, выделите его и нажмите Delete с подтверждением.
Фильтры текущих и исторических аварий
Нажмите «Фильтр» в журнале. В текущих авариях можно выбрать состояния, экземпляр, тэг, текст сообщения, пользователя, приоритет, период последнего изменения состояния, длительность аварии и время до квитирования. Для истории вместо текущего состояния выбираются переходы состояний. В списках состояний и переходов можно выбрать несколько значений; для выбора отдельных строк удерживайте Ctrl или Command.
В дереве «Группы (модели)» отметьте нужные группы. Дерево формируется автоматически из структуры проекта. Если журнал настроен на определённую группу, доступны только она и вложенные группы. Можно выбрать несколько ветвей; выбор родительской группы включает её потомков. Кнопки «+» и «−» раскрывают и сворачивают дерево.
Нажмите «Применить», чтобы обновить результат и перейти к первой странице. Несколько выбранных групп или состояний объединяются, остальные условия применяются одновременно. «Сбросить» очищает дополнительные условия, сохраняя область групп, заданную в настройках журнала. В текущих авариях пустой период означает отсутствие ограничения по времени.
Тренд реального времени
Добавьте элемент интерфейса, задайте его размер и откройте настройки. Выберите тэги, подписи кривых, цвета, единицы и диапазоны шкал. Пустые границы означают автоматический подбор. Для дискретных сигналов удобна ступенчатая линия.
Тренд реального времени показывает поступающие значения в текущем окне наблюдения. Для просмотра данных за время, когда экран был закрыт, используйте исторический тренд.
Выбор кривой в легенде определяет активную шкалу. Масштаб по времени и пауза помогают рассмотреть участок. Возврат к текущему времени сохраняет выбранную длительность окна без сброса к исходному часовому интервалу.
Исторический тренд
Исторический тренд запрашивает записи Historian. В каталоге доступны параметры, для которых настроено сохранение истории. Если тэга нет в выборе, проверьте его эффективную настройку истории, состав параметров Historian и версию проекта на узлах.
В диалоге выбора доступны дерево, поиск и страницы. Описание складывается из контекста моделей, экземпляра и комментария тэга; искать можно и по полному описанию.
- Выберите кривые и период «с — по».
- Дождитесь обновления данных. Изменение состава кривых или периода запускает новый запрос.
- Включите A|B для установки и перемещения измерительных курсоров. Отключите A|B, чтобы завершить работу с курсорами.
- Сохраните набор перьев. Последний вид и временной масштаб запоминаются в браузере.
Настройки тренда сохраняются в данном браузере. При удалении данных сайта, смене профиля браузера или компьютера их потребуется настроить заново. Для переноса используйте сохранение и загрузку набора перьев.
Пустой участок графика требует проверки: параметр мог не записываться, данные ещё догружаются, сутки восстанавливаются из архива либо выбран неверный период.
Настройка в редакторе
- Добавьте ▥ и откройте настройки двойным щелчком.
- Задайте заголовок, длительность окна и интервал обновления в миллисекундах. Например, 3600000 мс — один час.
- Нажмите «Теги …», найдите параметры по имени или описанию и выберите необходимые кривые. Для исторического тренда доступны тэги с включённой записью истории.
- Для каждой кривой задайте подпись, цвет, единицу, границы шкалы и число знаков. Нажмите «Сохранить».
- В АРМ выберите период, проверьте поступление данных. Кнопки сохранения и загрузки набора позволяют повторно использовать выбранные перья.
Текущие аварии
Элемент «Текущие аварии» показывает состояния, полученные от Runtime. Исторический журнал показывает сохранённые переходы из Historian. Поэтому число строк в текущем и историческом журналах может различаться.
Подтверждение фиксирует ознакомление оператора с аварией. Активное состояние сохраняется до прекращения аварийного условия. Для квитирования нужны соответствующие права пользователя.
В режиме выполнения видеокадра ширину колонок можно менять мышью. Двойной щелчок по правой границе подбирает ширину по содержимому, а наведение на текст помогает прочитать обрезанное значение. При большом числе записей используйте фильтры и страницы.
Авария плохого качества сообщает о достоверности источника. Технологическая авария сообщает о состоянии процесса. Различайте их по описанию и источнику, даже если они отображаются в одном журнале.
Настройка таблицы текущих аварий
- Добавьте ⚠ и откройте настройки двойным щелчком.
- Выберите отображение заголовка и возвращённых неподтверждённых аварий, число записей на странице, шрифт и размер текста.
- Оставьте «Группы» пустыми для всех доступных моделей либо перечислите имена моделей через запятую. Для изменения состава во время работы включите получение групп из текстового тэга и выберите его.
- Отметьте нужные колонки. Задайте ширину, выравнивание заголовка и данных. Стрелками ← и → измените порядок колонок. Для квитирования оставьте колонку «Действие».
- Закройте окно и загрузите изменения на АРМ. Проверьте аварийное состояние и подтверждение под учётной записью оператора.
История аварий: настройка и просмотр
- Добавьте ◷ «История аварий». Убедитесь, что для АРМ выбран Historian, принимающий аварии нужных Runtime-узлов.
- Дважды щёлкните по таблице. Настройте число записей на странице, шрифт, ограничение по группам моделей и колонки.
- Проверьте ширину колонки «Сообщение» и «Переход». Измените порядок стрелками и выравнивание заголовков и данных.
- В работающем АРМ задайте период «От — До». Используйте фильтры по экземпляру, тэгу, сообщению, переходу, пользователю и длительности, затем обновите данные.
- Измените сортировку по времени или перейдите на следующую страницу. Для новых данных обновите выборку.
Одна авария может дать несколько записей: возникновение, подтверждение и возврат в норму. История показывает эти переходы; текущее состояние смотрите в объекте «Текущие аварии».
Журнал событий
Элемент «Журнал событий» предназначен для переходов, которые настроены в тэгах: например, запуска механизма или изменения режима. Добавьте его на кадр и настройте доступные фильтры и отображение.
События отличаются от аварий: запуск насоса может быть штатным действием и регистрироваться как событие. Задайте понятный текст перехода, например «Режим переведён в автоматический». Для исторического просмотра требуется работающая доставка в Historian.
- В редакторе тэга настройте событие: условие возникновения и текст сообщения. Сохраните тэг и загрузите изменения на Runtime.
- Убедитесь, что Runtime передаёт события в Historian, а для АРМ выбран нужный сервер истории.
- Перетащите ▤ «Журнал событий» на видеокадр и дважды щёлкните по нему. Задайте заголовок, размер страницы, шрифт, группы моделей, ширину и порядок колонок.
- Загрузите видеокадр на АРМ. В журнале задайте период и при необходимости раскройте фильтры по экземпляру, тэгу, сообщению или группе моделей, затем обновите выборку.
- Найдите запись о проверяемом событии. Для следующих записей используйте страницы; для изменения порядка нажмите заголовок времени.
Колонки «Значение» и «Качество» относятся к моменту события. Квитирование здесь не требуется: журнал фиксирует факты изменения, а не активные аварийные состояния.
Журнал узлов на видеокадре
- Добавьте ▤ «Журнал узлов» из панели служебных инструментов. Выделите достаточно места для фильтров и строк журнала.
- Загрузите кадр на АРМ. В списке «Узел» выберите нужную службу проекта.
- Выберите источник, например конкретный I/O-сервер, и уровень сообщения. Укажите период или текст поиска.
- Нажмите «Обновить». Для поиска по тексту можно нажать Enter. Читайте сообщения, используя страницы и сортировку по времени.
Этот объект предназначен для диагностики служб. В нём отображаются те записи, которые узел сохранил с учётом настроенного уровня журнала. Подробные правила фильтрации и разбор ошибок приведены в разделе обслуживания.
Каталог аудиофайлов
- Нажмите ♬ в панели служебных инструментов. Каталог общий для проектов Studio.
- Выберите аудиофайл, при необходимости задайте имя и папку. Для совпадающих имён выберите пропуск, перезапись или задайте новое имя. Нажмите «Загрузить».
- Найдите файл через поиск и папки, прослушайте его кнопкой ▶. Проверьте длительность и громкость.
- Для переноса каталога нажмите «Экспорт ZIP». На другой Studio выберите ZIP в поле импорта, нажмите «Импорт» и разрешите конфликты имён.
- В настройках звукового объекта откройте каталог и нажмите «Выбрать» рядом с файлом. Загрузите обновлённый проект на АРМ.
Кнопка «Изменить / перенести» меняет имя и папку. «Удалить» удаляет файл из общего каталога с подтверждением. Перед удалением проверьте его использование в проектах.
Звуковые сообщения
Загрузите аудиофайл в общий каталог, затем добавьте звуковой контрол на кадр. В операторском режиме этот контрол не виден. Он воспроизводит выбранный файл на компьютере оператора, пока открыт соответствующий кадр или всплывающее окно.
Условием служит BOOL-тэг или логическое выражение. Можно запускать звук однократно при наступлении TRUE/FALSE, в том числе если условие уже выполнено при открытии кадра, либо повторять, пока условие сохраняется; для повторения задайте период. Условия могут использовать доступные сигналы символов и экземпляров проекта.
Без дополнительных инструментов доступен PCM WAV. Для широкого набора исходных форматов Studio использует FFmpeg, доступный в PATH служебного пользователя. Сообщение «FFmpeg не найден» относится к серверу Studio, а не к браузеру оператора.
Браузер может запретить автоматическое воспроизведение до первого действия пользователя. Проверьте звук на реальном рабочем месте после входа, а также громкость и выбранное аудиоустройство. Проверьте выполнение звукового условия в работающем АРМ.
- Добавьте ♫ на кадр и дважды щёлкните по объекту.
- Нажмите «Выбрать аудиофайл / каталог…» и выберите файл кнопкой «Выбрать».
- Нажмите «Добавить источник условия…». Выберите тэг экземпляра либо параметр символа кадра. Источнику назначается имя, например
Signal1. - В поле булевого ST-условия задайте выражение:
Signal1для BOOL илиSignal1 > 5для числового сигнала. Можно объединять несколько источников через AND, OR и NOT. - Выберите режим и период, затем нажмите «Сохранить».
- Загрузите проект на АРМ, откройте видеокадр и проверьте начало и прекращение воспроизведения при изменении условия.
| Режим | Поведение |
|---|---|
| На TRUE | Однократное воспроизведение при наступлении истинного условия. |
| На FALSE | Однократное воспроизведение при наступлении ложного условия. |
| Пока TRUE | Повторение с заданным периодом, пока условие истинно. |
| Пока FALSE | Повторение с заданным периодом, пока условие ложно. |
Повторные воспроизведения одного объекта не накладываются друг на друга. При отсутствии данных звук не запускается; при закрытии кадра воспроизведение прекращается.
Ежедневная работа оператора
Откройте адрес АРМ и войдите под своей учётной записью, если проект требует авторизации. Убедитесь, что данные обновляются и нет предупреждений о связи или резервной паре. Прежде чем подавать команду, проверьте объект, режим и доступность обратной связи.
При потере связи последнее отображённое значение нельзя считать актуальным. Дождитесь восстановления и проверьте фактическое состояние оборудования. Не повторяйте команду многократно только потому, что ответ задержался.
Полноэкранный режим скрывает панели браузера. В режиме kiosk браузер ограничивает доступ к своим обычным элементам управления. Этот режим настраивает администратор рабочего места; включить его только средствами страницы HMI нельзя.
Фильтр истории аварий по приоритету
В настройках контрола «История аварий» задайте диапазон «Приоритет: от / до». Границы включаются в выборку; пустая граница не ограничивает диапазон с соответствующей стороны. Чтобы показывать один приоритет, укажите одинаковые значения. Допустимы приоритеты от 1 до 32767.
Выключенный переключатель «Разрешить фильтрацию в АРМ» закрепляет диапазон в конфигурации. Если включить переключатель, заданный диапазон станет начальным значением: оператор сможет изменить или сбросить его в окне «Фильтр». Изменение применяется при нажатии «Применить» и открывает первую страницу результата.