С классическим ПЛК часто путают четыре разные вещи. В Telematic они разделены специально.

НужноИспользуйте
Уставка, режим, счётчик, «включено/выключено»Регистр
Физический датчик или исполнительный механизмВход или выход
«Сейчас аварийно», полоса на экране, сброс операторомАвария
«Вот это произошло» — факт в историиСобытие

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

  Программа (Python или C)
        │
        ▼
   Текущие значения  ◄──►  страница «Управление»
        ▲
        │  если разрешена запись с шины
        ├── Modbus
        └── SNMP
        ▲
        │ несколько раз в секунду
   Реальные входы и выходы
  

Имена, типы и права доступа запоминаются. Текущие значения после перезагрузки сбрасываются, пока программа или оператор не запишут их снова.

Регистры

Регистр — это тег процесса: не адрес ячейки, а величина с именем, типом и правами.

По умолчанию доступно 10 регистров, максимум 32. Число меняется в Настройки → Регистры.

Типы

ТипДля чегоКак выглядит у оператора
Переключатель (bool)Да / нетТумблер или список
Целое со знаком (int)Температура, уровень со знакомЧисло, можно с запятой
Целое без знака (uint)Счётчики, времяЧисло
Дробное (float)РасчётыЧисло
Список (enum)«Стоп / Ручной / Авто»Выпадающий список

Дробная часть у целых чисел — это масштаб на экране, не отдельный тип. Число 123 при одной цифре после запятой показывается как 12.3. В программе для целых типов работают с целым значением в этих единицах (для 12,3 °C пишут 123).

Для веб-формы можно задать минимум, максимум и шаг. У списка — от 2 до 10 подписей.

Кто видит и кто пишет

У каждого регистра два независимых права.

Веб (страница «Управление»)Modbus и SNMP
скрытОператор не видитС шины канала нет
чтениеВидно, менять нельзяТолько чтение
записьМожно менятьМожно писать с шины

Программа всегда может изменить регистр. Ограничения — для человека и для внешней системы.

Настраивать можно двумя способами:

  • в браузере: Настройки → Регистры → шестерёнка у строки;
  • из программы при старте — тогда контроллер сам «рассказывает» вебу, как называются теги.

Кнопка Сбросить на вкладке регистров возвращает шаблон настройки регистров (типы и доступы), а не «заводские значения процесса».

Modbus

Внешняя система видит holding-регистры (16-битные слова). Один пользовательский регистр занимает два слова.

АдресаЧто
0–31Служебное: аварии, состояние программы, время работы
32–63Дискретные выходы
64–95Дискретные входы
96–127Аналоговые выходы
128–159Аналоговые входы
160–223Пользовательские регистры

Запись с Modbus проходит, только если у тега разрешена запись по шине.

Входы и выходы

Это железо. В настройках у канала есть флажок использовать. На «Управление» он попадает, только если включён и не скрыт для веба.

КаналНазначениеС вебаОсобенности
DIДискретный входТолько индикацияНормально замкнутый или разомкнутый контакт
DOДискретный выходМожно, если разрешена записьМожно ШИМ: период и заполнение 0–100 %
AIАналоговый входТолько индикацияТермодатчик NTC (два канала) или 0–10 В (третий канал). Либо «как есть» с АЦП
AOАналоговый выход 0–10 ВМожно, если разрешена записьНа экране — вольты

Для входов в настройках доступ проще: показать или нет. Для выходов — как у регистров: скрыт / чтение / запись.

У аналогового входа можно задать небольшую коррекцию показания. ШИМ доступен на всех пяти дискретных выходах.

Физические входы и выходы контроллер обновляет несколько раз в секунду. Если программа пишет выход чаще, «на клеммы» уйдёт последнее значение к моменту обновления.

Аварии

Авария — это защёлка: «сейчас плохо», пока кто-то не снимет. При включении пишется запись в журнал, в шапке браузера появляется полоса.

Два независимых набора:

  1. Пользовательские — ваши имена («Перегрев», «Нет воды»). До 32, по умолчанию 5 слотов. Настройки → Аварии.
  2. Системные — неисправности самого контроллера и программы, имена не задаются.
Системная аварияСмысл
Сбой прошивкиКритическая ошибка самого контроллера
Сбой в сценарииКритическая ошибка пользовательской программы
Сторожевой таймерПрограмма или система перестали отвечать
Переполнение стекаПрограмме не хватило служебной памяти
Ошибка в сценарииПрограмма завершилась с ошибкой (режим «Эксплуатация»)
Нестабильный сценарийПовторяющиеся тяжёлые сбои программы

Как это работает для пользователя:

  • программа включает аварию — бит защёлкивается, в журнале появляется запись, в шапке полоса;
  • программа может снять свою аварию;
  • кнопки Сбросить в шапке снимают все активные пользовательские или все системные аварии (это тоже пишется в журнал как сервисное действие);
  • пользовательские — жёлтая полоса, системные — красная.

На вкладке настроек аварий виден текущий статус. Менять его с веба может администратор.

События

Словом «событие» называют две разные вещи.

Журнал — лента, которая остаётся, пока её не очистят на странице Сервис. Типы записей:

ТипОткуда
АварияВключили пользовательскую аварию
КонфигурацияСменили настройки, добавили или удалили сценарий
СервисПитание, перезагрузка, прошивка, очистка журналов, сброс аварий
УправлениеПуск и останов программы и ваши события из сценария

Страница События и отметки на графике Метрики читают этот журнал.

Слоты пользовательских событий — это только подписи для журнала (Настройки → События). Программа сообщает «произошло то-то» — в истории появляется строка. Текущего флажка нет: если нужно «авария до сих пор активна», это авария, не событие.

«Сейчас плохо»«Это случилось»
АварияСобытие
Полоса в шапке, сбросТолько журнал и график

В фильтре журнала видна и причина: оператор, веб, алгоритм, время, ошибка и т.д.

Метрики

Встроенный самописец: выбранные каналы и регистры пишутся с периодом от 5 секунд. Настраивается на странице Метрики. Если включена отправка на сервер, те же графики можно смотреть удалённо.

Это не тренды в ячейках ПЛК, а отдельный архив контроллера.

Кто задаёт что

В браузереВ программе
Имя и тип регистраНастройки → Регистрыфункции настройки регистра
Сколько регистров, аварий, событийСписок «количество»функция смены количества
Значение регистра или выхода«Управление», если разрешена записьзапись в тег
Включить авариюстатус / кнопка сбросавключить / выключить аварию
Пользовательское событиетолько имядобавить событие
Какие карточки показать операторугалочки на «Управление»функция вида экрана

Если одно и то же настраивают и в вебе, и при каждом старте программы — останется то, что сделали позже. Для «зашитого» объекта удобно описывать теги в начале сценария.

Если вы привыкли к ПЛК

  1. Регистр — это тег с именем, а не номер ячейки.
  2. Вход и выход можно выключить — тогда его нет на экране оператора.
  3. Авария помнит состояние. Событие — только след в журнале.
  4. После включения питания уставки сами не вернутся: это должна сделать программа.
  5. Modbus видит те же теги, что и веб, но только если для шины не стоит «скрыт».