Устройство и принцип работы

Принцип работы

Модуль передает в сеть данные о состоянии входов при запросе от Мастера.

В качестве Мастера сети можно использовать:

  • ПК

    ;
  • ПЛК

    ;
  • панель оператора

    ;
  • удаленный облачный сервис

    .

Сигнал с датчика, измеряющего физический параметр объекта (температуру, давление и т.п.), поступает в модуль в результате последовательного опроса датчиков. Полученный сигнал преобразуется по данным НСХ в цифровые значения. В процессе обработки сигналов осуществляется их фильтрация от помех и коррекция показаний в соответствии с заданными параметрами.

Опрос датчиков и обработка их сигналов измерительным устройством осуществляется последовательно по замкнутому циклу.

Индикация и управление

На лицевой панели модуля расположены элементы индикации, см. таблицу.

Graphic
Лицевая панель модуля

В нижней части лицевой панели расположено поле «IP».

Предупреждение
Поле «IP» предназначено для нанесения IP-адреса модуля тонким маркером или на бумажной наклейке.
Назначение индикации
ИндикаторСостояние индикатораНазначение
Питание Graphic (зеленый)Не светитсяПитание выключено
СветитсяНапряжение питания модуля подано
Eth 1 (зеленый)Не светитсяКабель не подключен
МигаетПередача данных по порту 1 Ethernet
Eth 2 (зеленый)Не светитсяКабель не подключен
МигаетПередача данных по порту 2 Ethernet
Авария Graphic (красный)*Не светитсяСбои отсутствуют
Светится постоянноСбой основного приложения и/или конфигурации
Включается один раз в две секунды (включается на 100 мс)Необходима замена батареи питания часов (напряжение батареи ниже 2 В)
Включается два раза в секунду (включается на 100 мс через паузу 400 мс)Сработал тайм-аут перехода в безопасное состояние (отсутствуют запросы от мастера сети по протоколу Modbus TCP)
Включается на 900 мс через паузу 100 мсАппаратный сбой периферии (Flash, RTC, Ethernet Switch)
Индикаторы состояния входов (зеленый/красный/оранжевый)Светится зеленымВход включен
Не светитсяВход отключен
Выключается на короткое времяИзмерение на входе**
Светится оранжевым Некритическая ошибка входа**
Светится краснымКритическая ошибка входа**
Примечание

*´Приоритеты индикации светодиода «Авария» от большего к меньшему: аппаратный сбой, программные ошибки, безопасный режим, уровень заряда батареи.

**Cм. таблицу.

Под лицевой панелью расположены клеммники и сервисная кнопка (рисунок).

Сервисная кнопка предназначена для выполнения следующих функций:

  • восстановления заводских настроек (раздел)

    ;
  • установки IP-адреса (раздел)

    ;
  • обновления встроенного программного обеспечения (раздел).

Часы реального времени

В модуле есть встроенные часы реального времени (RTC). Они работают от собственного батарейного источника питания.

Отсчет времени производится по UTC в секундах, начиная с 00:00 01 января 2000 года. Значение RTC используется для записи в архив.

Подробнее о настройке часов реального времени см. раздел.

Запись архива

В модуль встроена флеш-память (flash), размеченная под файловую систему с шифрованием файлов. Алгоритм шифрования — Data Encryption Standard (DES) в режиме сцепления блоков шифротекста (CBC). В качестве ключа используется строка superkey. Вектор инициализации генерируется с помощью хеш-функции (см. приложение А). Аргументом функции является пароль, заданный в ПО Owen Configurator. В конце файла сохраняется контрольная сумма, рассчитанная по алгоритму CRC32 (контрольная сумма также шифрируется).

Архив модуля сохраняется в виде набора файлов. Период архивации, ограничение на размер одного файла и их количество задается пользователем в ПО Owen Configurator. Если архив полностью заполнен, то данные перезаписываются, начиная с самых старых данных самого старого файла.

Файл архива состоит из набора записей. Записи разделены символами переноса строки (0x0A0D). Каждая запись соответствует одному параметру и состоит из полей, разделенных символом «;» (без кавычек). Формат записи приведен в таблице ниже.

Формат записи в файле архива
ПараметрТипРазмерКомментарий
Метка времениBinary data4 байтаВ секундах начиная с 00:00 01.01.2000 (UTC+0)
РазделительСтрока1 байтСимвол «;» (без кавычек)
Уникальный идентификатор параметра (UID)Строка8 байтВ виде строки из HEX-символов с ведущими нулями
РазделительСтрока1 байтСимвол «;» (без кавычек)
Значение параметраСтроказависит от параметраВ виде строки из HEX-символов с ведущими нулями
РазделительСтрока1 байтСимвол «;» (без кавычек)
Статус параметраBinary data1 байт1 – значение параметра корректно, 0 – значение параметра некорректно и его дальнейшая обработка не рекомендована
Перенос строкиBinary data2 байта\n\r (0x0A0D)
Пример

Расшифрованная запись:

0x52 0x82 0xD1 0x24 0x3B 0x30 0x30 0x30 0x30 0x61 0x39 0x30 0x30 0x3B 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x31 0x3B 0x31 0x0A 0x0D

где

  • 0x52 0x82 0xD1 0x24 — метка времени. Для получения даты и времени в формате UnixTime следует изменить порядок байт на противоположный и добавить константу-смещение (число секунд между 00:00:00 01.01.1970 и 00:00:00 01.01.2000): 0x24D18252 (HEX) + 946684800 (DEC) = 1564394971 (DEC, соответствует 29 июля 2019 г., 10:09:31);

  • 0x3B — разделитель;

  • 0x30 0x30 0x30 0x30 0x61 0x39 0x30 0x30 — уникальный идентификатор параметра (00003ba00);

  • 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x31 — значение параметра (00000001);

  • 0x31 — статус параметра (1 – значение параметра корректно);

  • 0x0A 0x0D — символы переноса строки.

Прибор фиксирует время в архивных файлах по встроенным часам реального времени. Также можно задать часовой пояс, который будет считываться OwenCloud или внешним ПО. Запись во флеш-память (flash) происходит с определенной частотой, рассчитанной таким образом, чтобы ресурса флеш-памяти (flash) прибора хватило на срок не менее 10 лет работы.

Для чтения архива можно использовать:

  • облачный сервис OwenCloud (автоматическое чтение в случае потери и дальнейшего восстановления связи);

  • ПО Owen Configurator (например, для ручного анализа);

  • ПО пользователя (с помощью 20 функции Modbus).

Список архивируемых параметров доступен в Owen Configurator на вкладке Информация об устройстве. Порядок записи параметров в архив соответствует порядку параметров на вкладке.

Архив считывается с помощью 20 функции Modbus (0x14). Данная функция возвращает содержание регистров файла памяти и позволяет с помощью одного запроса прочитать одну или несколько записей из одного или нескольких файлов.

В запросе чтения файла для каждой записи указывается:

  • тип ссылки – 1 байт (должен быть равен 6);

  • номер файла – 2 байта;

  • начальный адрес регистра внутри файла – 2 байта;

  • количество регистров для чтения – 2 байта.

Примечание
Номер файла в запросе по Modbus рассчитывается как 4096 + порядковый номер файла. Порядковая нумерация файлов ведется с нуля. Параметр «Последний индекс архива» содержит порядковый номер файла архива, в который последний раз записывались данные.

Количество считываемых регистров в запросе должно быть подобрано таким образом, чтобы длина ответа не превышала допустимую длину пакета Modbus (256 байт).

Размер файла архива заранее неизвестен, поэтому следует считывать порции данных с помощью отдельных запросов. Если в ответ на запрос будет получено сообщение с кодом ошибки 0х04 (MODBUS_SLAVE_DEVICE_FAILURE), то можно сделать вывод, что адреса регистров в запросе находятся за пределами файла. Чтобы считать последние данные файла, требуется уменьшить количество регистров в запросе.

Примечание
Если отключить питание во время записи данных в архив, запись может не сохраниться.

Режимы обмена данными

Модуль поддерживает следующие режимы обмена данными:

  • обмен с Мастером сети по протоколу Modbus TCP (порт 502) — до 4 одновременных соединений с разными Мастерами сети;
  • соединение и обмен данными с ПК с помощью ПО Owen Configurator;
  • обмен с удаленным облачным сервисом OwenCloud (необходим доступ в Интернет);
  • обмен по протоколу MQTT;
  • обмен по протоколу SNMP.

Включение датчика в список опроса

Включение любого датчика в список опроса производится автоматически после задания типа его НСХ в параметре «Тип датчика». Во время установки в параметре «Тип датчика» значение «Датчик отключен» датчик из списка опроса исключается.

Для каждого входа задается параметр «Период опроса». Период опроса может быть установлен в интервале от 0,6 до 10 секунд. Если опрос входа не может быть произведен с заданной периодичностью (например, если на всех входах задан период опроса 0,6 секунд), то модуль автоматически увеличивает период опроса до наименьшего возможного.

В модуле предусмотрен режим «Максимальной загрузки АЦП». В этом режиме период опроса будет автоматически настроен на минимальный возможный период для соответствующего типа датчика.

Установка диапазона измерения

Во время работы с активными преобразователями, выходным сигналом которых является унифицированный сигнал напряжения постоянного тока или силы тока постоянного напряжения, в модуле предусмотрена возможность масштабирования шкалы измерения. Текущие величины контролируемых параметров вычисляются с помощью масштабирующих значений, задаваемых индивидуально для каждого входа. Использование масштабирующих значений позволяет отображать контролируемые физические параметры непосредственно в единицах их измерения (атмосферах, килопаскалях, метрах и т. д.).

Для масштабирования шкалы измерения следует установить границы диапазона измерения:

  • Ain.L — нижняя граница, соответствует минимальному уровню выходного сигнала датчика;
  • Ain.H — верхняя граница, соответствует максимальному уровню выходного сигнала датчика.

Дальнейшая обработка сигналов датчика осуществляется в заданных единицах измерения по линейному закону (прямо пропорциональному при Ain.H > Ain.L или обратно пропорциональному при Ain.H < Ain.L). Расчет текущего значения контролируемого датчиком параметра производится по формуле:

Graphic Graphic

где

Ain.L, Ain.H — заданные значения параметров Ain.L и Ain.H;

Vвх — текущее значение входного сигнала;

Vmin, Vmax — минимальное и максимальное значения входного сигнала датчика по данным таблицы (мА, мВ или В);

Пизм — измеренное модулем значение параметра.

Пример
При использовании датчика с выходным сигналом силы тока постоянного напряжения (4…20) мА (тип датчика 11 в параметре in-t), контролирующего давление в диапазоне (0...25) атм., в параметре Ain.L задается значение 00,00, а в параметре Ain.H - значение 25,00. После этого обработка и отображение показаний будет производиться в атмосферах.

Настройка цифровой фильтрации измерений

Для дополнительной защиты от электромагнитных помех в модуле предусмотрен программный цифровой фильтр низких частот. Цифровая фильтрация проводится в два этапа.

На первом этапе фильтрации из текущих измерений входных параметров отфильтровываются значения, имеющие явно выраженные «провалы» или «выбросы». Для этого модуль вычисляет разность между результатами измерений входной величины, выполненных в двух последних циклах опроса, и сравнивает ее с заданным значением, называемым полосой фильтра. Если вычисленная разность превышает заданный предел, то производится повторное измерение, полученный результат отбрасывается, а значение полосы фильтра удваивается. В случае подтверждения нового значения фильтр перестраивается (т.е. полоса фильтра уменьшается до исходной) на новое стабильное состояние измеряемой величины. Такой алгоритм позволяет защитить модуль от воздействия единичных импульсных и коммутационных помех, возникающих на производстве при работе силового оборудования.

Полоса фильтра задается в единицах измеряемой величины в ПО OWEN Configurator индивидуально для каждого датчика. Уменьшение полосы фильтра улучшает помехозащищенность входа измерения, но приводит к замедлению реакции модуля на быстрое изменение входной величины. Поэтому при низком уровне помех или при работе с быстро меняющимися процессами рекомендуется увеличить значение полосы фильтра или отключить действие этого параметра. При работе в условиях сильных помех для устранения их влияния на работу модуля необходимо уменьшить значение полосы фильтра. Данный фильтр может быть отключен установкой значения 0 в параметре Полоса фильтра.

На втором этапе фильтрации осуществляется сглаживание (демпфирование) сигнала с целью устранения шумовых составляющих. Основной характеристикой сглаживающего фильтра является «постоянная времени фильтра».

Фильтрация происходит по формуле:

Graphic

где

П – значение в регистре «Значение аналогового выхода»;

Пизм – значение, измеренное на входе;

Пизм’ – значение, измеренное на входе в предыдущий такт измерений;

T = 1 / (k / 10+1) – коэффициент сглаживания;

K – постоянная времени фильтра.

Постоянная времени фильтра задается в секундах индивидуально для каждого входа в соответствующем параметре в ПО OWEN Configurator.

Увеличение постоянной значения фильтра улучшает помехозащищенность входа измерения, но и одновременно увеличивает его инерционность. То есть, реакция модуля на быстрые изменения входной величины замедляется.

В случае необходимости данный фильтр может быть отключен установкой значения 0 в параметре Постоянная времени фильтра.

Временные диаграммы работы цифровых фильтров представлены на рисунке.

Graphic
Временные диаграммы работы цифровых фильтров

Коррекция измерительной характеристики датчиков

Для устранения начальной погрешности преобразователей входных сигналов, измеренное модулем значение может быть откорректировано. В модуле есть два типа коррекции, позволяющие осуществлять сдвиг или наклон характеристики на заданную величину.

Graphic
Коррекция «сдвиг характеристики»

Сдвиг характеристики применяется:

  • для компенсации погрешностей, вносимых сопротивлением подводящих проводов при использовании двухпроводной схемы подключения ТС;
  • при отклонении у ТС значения R0.
Такая коррекция осуществляется путем прибавления к измеренной величине значения δ. Значение δ задается параметром Сдвиг в ПО OWEN Configurator. Пример сдвига характеристики для датчика TCM (Cu50) графически представлен на рисунке.

Graphic
Коррекция «наклон характеристики»

Изменение наклона характеристики осуществляется путем умножения измеренной (и скорректированной «сдвигом», если эта коррекция необходима) величины на поправочный коэффициент β, значение которого задается параметром Наклон. Пример изменения наклона измерительной характеристики графически представлен на рисунке. Данный вид коррекции используется, как правило, для компенсации погрешностей самих датчиков (например, при отклонении у термопреобразователей сопротивления параметра α от стандартного значения) или погрешностей, связанных с разбросом сопротивлений шунтирующих резисторов (при работе с преобразователями, выходным сигналом которых является сила тока постоянного напряжения). Значение поправочного коэффициента β задается в безразмерных единицах в диапазоне от – 1 до 10 и перед установкой определяется по формуле:

Graphic

где

Пфакт – фактическое значение контролируемой входной величины;

Пизм – измеренное модулем значение той же величины.

Определить необходимость введения поправочного коэффициента можно, измерив максимальное или близкое к нему значение параметра, где отклонение наклона измерительной характеристики наиболее заметно.

Предупреждение
Задание корректирующих значений, отличающихся от заводских установок (Сдвиг = 000.0 и Наклон = 1.000), изменяет стандартные метрологические характеристики модуля и должно производиться только в технически обоснованных случаях квалифицированными специалистами.

Полученная после фильтрации и коррекции результирующая информация об измеренных значениях входных параметров поступает для передачи в сеть.

Работа по протоколу ModBus

Работа по протоколу ModBus проходит в режиме TCP.

Результаты измерения представляются в следующих форматах:

  • четырехбайтовые значения с плавающей точкой (без времени);
  • двухбайтовое целое.
Целое число – это результат измерения, умноженный на 10 в степени, заданной параметром «Положение десятичной точки». Значение «Положение десятичной точки» может быть равно от 0 до 7 и задается отдельно для каждого канала.

Предупреждение
При задании параметру «Положение десятичной точки» значений 6 и 7 может возникнуть ситуация, когда измеренное значение, умноженное на 10 в степени «Положение десятичной точки», будет больше 32767 или меньше – 32768 (для значений со знаком) или больше 65535 (для значений без знака). Такие значения не могут быть переданы в формате числа int16. Это следует учитывать при задании значения «Положение десятичной точки».

Оба формата можно считать независимо, каждый по своему адресу (см. таблицу)

Время измерения – это циклическое время с шагом 0,01 секунд, передаваемое в двух байтах. Время точно соответствует времени проведения измерения в данном канале и при работе с ним (например, при вычислении дифференциальной составляющей при ПИД-регулировании) можно не учитывать задержку передачи по сети Ethernet. Отсчет циклического времени начинается при включении модуля и каждые 65536 тактов (что соответствует 655,36 секунд) время обнуляется.

Запись регистров осуществляется командой 16 (0x10), чтение – командами 3 (0x03) или 4 (0x04).

Регистры обмена по протоколу ModBus
ПараметрЗначение (ед. изм.)Адрес регистраТип доступаФормат данных
DECHEX
Значение (float) на входе 140000xFA0Только чтениеFLOAT 32
Циклическое время измерения входа 10...65535 (миллисекунд)40020xFА2Только чтение UINT 16
Значение (float) на входе 240030xFA3Только чтение FLOAT 32
Циклическое время измерения входа 20...65535 (миллисекунд)40050xFА5Только чтениеUINT 16
Значение (float) на входе 340060xFA6Только чтениеFLOAT 32
Циклическое время измерения входа 30...65535 (миллисекунд)40080xFА8Только чтениеUINT 16
Значение (float) на входе 440090xFA9Только чтениеFLOAT 32
Циклическое время измерения входа 40...65535 (миллисекунд)40110xFАВТолько чтениеUINT 16
Значение (float) на входе 540120xFACТолько чтениеFLOAT 32
Циклическое время измерения входа 50...65535 (миллисекунд)40140xFАЕТолько чтениеUINT 16
Значение (float) на входе 640150xFAFТолько чтениеFLOAT 32
Циклическое время измерения входа 60...65535 (миллисекунд)40170xFВ1Только чтениеUINT 16
Значение (float) на входе 740180xFB2Только чтениеFLOAT 32
Циклическое время измерения входа 70...65535 (миллисекунд)40200xFВ4Только чтениеUINT 16
Значение (float) на входе 840210xFB5Только чтениеFLOAT 32
Циклическое время измерения входа 80...65535 (миллисекунд)40230xFВ7Только чтениеUINT 16
Хол. спай 140400xFC8Только чтениеFLOAT 3
Хол. спай 240420xFCAТолько чтениеFLOAT 3
Хол. спай 340440xFCCТолько чтениеFLOAT 3
Значение (integer) на входе 140640xFE0Только чтениеINT 16
Значение (integer) на входе 240650xFE1Только чтениеINT 16
Значение (integer) на входе 340660xFE2Только чтениеINT 16
Значение (integer) на входе 440670xFE3Только чтениеINT 16
Значение (integer) на входе 540680xFE4Только чтениеINT 16
Значение (integer) на входе 640690xFE5Только чтениеINT 16
Значение (integer) на входе 740700xFE6Только чтениеINT 16
Значение (integer) на входе 840710xFE7Только чтениеINT 16
Статус входа 140720xFE8Только чтениеUINT 16
Статус входа 240730xFE9Только чтениеUINT 16
Статус входа 340740xFEAТолько чтениеUINT 16
Статус входа 440750xFEBТолько чтениеUINT 16
Статус входа 540760xFECТолько чтениеUINT 16
Статус входа 640770xFEDТолько чтениеUINT 16
Статус входа 740780xFEEТолько чтениеUINT 16
Статус входа 840790xFEFТолько чтениеUINT 16
Тайм-аут перехода в безопасное состояние0...60 (секунд)7000x2BCЧтение и записьUINT 8
Разрешение конфигурирования из удаленного облачного сервиса

0 – заблокировано;

1 – разрешено

7010x2BDЧтение и записьUINT 16
Управление и запись значений из удаленного облачного сервиса

0 – заблокировано;

1 – разрешено

7020x2BEЧтение и записьUINT 16
Доступ к регистрам Modbus из удаленного облачного сервиса

0 – полный запрет;

1 – только чтение;

2 – только запись;

3 – полный доступ

7030x2BFЧтение и записьUINT 16
Состояние батареи (напряжение)0…3300 (мВ)8010x321Только чтениеUINT 16
Период архивирования10…3600 (секунд)9000x384Чтение и записьUINT 16
Максимальная загрузка АЦП

0 – Выкл.

1 – Вкл.

40970x1001Чтение и записьUINT 16
Тип датчика входа 1см. таблицу41000x1004Чтение и записьUINT 32
Полоса фильтра входа 10…10041020x1006Чтение и записьUINT 16
Положение десятичной точки входа 10…741030x1007Чтение и записьUINT 16
Сдвиг характеристики входа 1–10000…1000041040x1008Чтение и записьFLOAT 32
Наклон характеристики входа 1–1…1041060x100AЧтение и записьFLOAT 32
AIN.H верхняя граница входа 1–10000…1000041080x100CЧтение и записьFLOAT 32
AIN.L нижняя граница входа 1–10000…1000041100x100EЧтение и записьFLOAT 32
Постоянная времени фильтра входа 10…6553541120x1010Чтение и записьUINT 16
Период измерения входа 1600…10000 (миллисекунд)41130x1011Чтение и записьUINT 16
Тип датчика входа 2см. таблицу41160x1014Чтение и записьUINT 32
Полоса фильтра входа 20…10041180x1016Чтение и записьUINT 16
Положение десятичной точки входа 20…741190x1017Чтение и записьUINT 16
Сдвиг характеристики входа 2–10000…1000041200x1018Чтение и записьFLOAT 32
Наклон характеристики входа 2–1…1041220x101AЧтение и записьFLOAT 32
AIN.H верхняя граница входа 2–10000…1000041240x101CЧтение и записьFLOAT 32
AIN.L нижняя граница входа 2–10000…1000041260x101EЧтение и записьFLOAT 32
Постоянная времени фильтра входа 20…6553541280x1020Чтение и записьUINT 16
Период измерения входа 2600…10000 (миллисекунд)41290x1021Чтение и записьUINT 16
Тип датчика входа 3см. таблицу41320x1024Чтение и записьUINT 32
Полоса фильтра входа 30…10041340x1026Чтение и записьUINT 16
Положение десятичной точки входа 30…741350x1027Чтение и записьUINT 16
Сдвиг характеристики входа 3–10000…1000041360x1028Чтение и записьFLOAT 32
Наклон характеристики входа 3–1…1041380x102AЧтение и записьFLOAT 32
AIN.H верхняя граница входа 3–10000…1000041400x102CЧтение и записьFLOAT 32
AIN.L нижняя граница входа 3–10000…1000041420x102EЧтение и записьFLOAT 32
Постоянная времени фильтра входа 30…6553541440x1030Чтение и записьUINT 16
Период измерения входа 3600…10000 (миллисекунд)41450x1031Чтение и записьUINT 16
Тип датчика входа 4см. таблицу41480x1034Чтение и записьUINT 32
Полоса фильтра входа 40…10041500x1036Чтение и записьUINT16
Положение десятичной точки входа 40…741510x1037Чтение и записьUINT 16
Сдвиг характеристики входа 4–10000…1000041520x1038Чтение и записьFLOAT 32
Наклон характеристики входа 4–1…1041540x103AЧтение и записьFLOAT 32
AIN.H верхняя граница входа 4–10000…1000041560x103CЧтение и записьFLOAT 32
AIN.L нижняя граница входа 4–10000…1000041580x103EЧтение и записьFLOAT 32
Постоянная времени фильтра входа 40…6553541600x1040Чтение и записьUINT 16
Период измерения входа 4600…10000 (миллисекунд)41610x1041Чтение и записьUINT 16
Тип датчика входа 5см. таблицу41640x1044Чтение и записьUINT 32
Полоса фильтра входа 50…10041660x1046Чтение и записьUINT 16
Положение десятичной точки входа 50…741670x1047Чтение и записьUINT 16
Сдвиг характеристики входа 5–10000…1000041680x1048Чтение и записьFLOAT 32
Наклон характеристики входа 5–1…1041700x104AЧтение и записьFLOAT 32
AIN.H верхняя граница входа 5–10000…1000041720x104CЧтение и записьFLOAT32
AIN.L нижняя граница входа 5–10000…1000041740x104EЧтение и записьFLOAT 32
Постоянная времени фильтра входа 50…6553541760x1050Чтение и записьUINT 16
Период измерения входа 5600…10000 (миллисекунд)41770x1051Чтение и записьUINT 16
Тип датчика входа 6см. таблицу41800x1054Чтение и записьUINT 32
Полоса фильтра входа 60…10041820x1056Чтение и записьUINT 16
Положение десятичной точки входа 60…741830x1057Чтение и записьUINT 16
Сдвиг характеристики входа 6–10000…1000041840x1058Чтение и записьFLOAT 32
Наклон характеристики входа 6–1…1041860x105AЧтение и записьFLOAT 32
AIN.H верхняя граница входа 6–10000…1000041880x105CЧтение и записьFLOAT 32
AIN.L нижняя граница входа 6–10000…1000041900x105EЧтение и записьFLOAT 32
Постоянная времени фильтра входа 60…6553541920x1060Чтение и записьUINT 16
Период измерения входа 6600…10000 (миллисекунд)41930x1061Чтение и записьUINT 16
Тип датчика входа 7см. таблицу41960x1064Чтение и записьUINT 32
Полоса фильтра входа 70…10041980x1066Чтение и записьUINT 16
Положение десятичной точки входа 70…741990x1067Чтение и записьUINT 16
Сдвиг характеристики входа 7–10000…1000042000x1068Чтение и записьFLOAT 32
Наклон характеристики входа 7–1…1042020x106AЧтение и записьFLOAT 32
AIN.H верхняя граница входа 7–10000…1000042040x106CЧтение и записьFLOAT 32
AIN.L нижняя граница входа 7–10000…1000042060x106EЧтение и записьFLOAT 32
Постоянная времени фильтра входа 70…6553542080x1070Чтение и записьUINT16
Период измерения входа 7600…10000 (миллисекунд)42090x1071Чтение и записьUINT 16
Тип датчика входа 8см. таблицу42120x1074Чтение и записьUINT 32
Полоса фильтра входа 80…10042140x1076Чтение и записьUINT 16
Положение десятичной точки входа 80…742150x1077Чтение и записьUINT 16
Сдвиг характеристики входа 8–10000…1000042160x1078Чтение и записьFLOAT 32
Наклон характеристики входа 8–1…1042180x107AЧтение и записьFLOAT 32
AIN.H верхняя граница входа 8–10000…1000042200x107CЧтение и записьFLOAT 32
AIN.L нижняя граница входа 8–10000…1000042220x107EЧтение и записьFLOAT 32
Постоянная времени фильтра входа 80…6553542240x1080Чтение и записьUINT16
Период измерения входа 8600…10000 (миллисекунд)42250x1081Чтение и записьUINT 16
Время в миллисекундах615630xF07BТолько чтениеUINT 32
Новое времяДата/Время в секундах с 1 января 2000 г.615650xF07DЧтение и записьUINT 32
Записать новое время

0 – не записывать

1 – записать

615670xF07FЧтение и записьUINT 16
Время и дата (UTC)Дата/Время в секундах с 1 января 2000 г.615680xF080Только чтениеUINT 32
Часовой пояссмещение в минутах от Гринвича615700xF082Чтение и записьINT 16
DNS сервер 1120xСЧтение и записьUINT 32
DNS сервер 2140xЕЧтение и записьUINT 32
Установить IP-адрес200x14Чтение и записьUINT 32
Установить маску подсети220x16Чтение и записьUINT 32
Установить IP-адрес шлюза240x18Чтение и записьUINT 32
MAC адрес616960xF100Только чтениеUINT 48
Текущий IP-адрес260x1AТолько чтениеUINT 32
Текущая маска подсети280x1CТолько чтениеUINT 32
Текущий IP-адрес шлюза300x1EТолько чтениеUINT 32
Режим DHCP

0 – выкл.;

1 – вкл.;

2 – разовая установка кнопкой

320x20Чтение и записьUINT 16
Подключение к OwenCloud

0 – выкл.;

1 – вкл.

350x23Чтение и записьUINT 16
Статус подключения к OwenCloud

0 – нет связи;

1 – соединение;

2 – работа;

3 – ошибка;

4 – нет пароля

360x24Только чтениеUINT 16
Включение/Отключение NTP

0 – выкл.;

1 – вкл.

56320x1600Чтение и записьUINT 16
Пул NTP серверов56330x1601Чтение и записьSTRING 256
NTP сервер 156970x1641Чтение и записьUINT 32
NTP сервер 256990x6143Чтение и записьUINT 32
Период синхронизации NTP5…65535 с57010x1645Чтение и записьUINT 16
Статус NTP

0 – отключено;

1 – опрос;

2 – синхронизировано

57020x1646Чтение и записьUINT 16
Подключение к брокеру MQTT

0 – выкл.;

1 – вкл.

58880x1700Только чтениеUINT 16
Логин MQTT59280x1728Чтение и записьSTRING 256
Пароль MQTT59600x1748Чтение и записьSTRING 256
Имя устройства MQTT58960x1708Чтение и записьSTRING 256
Адрес брокера MQTT59930x1769Чтение и записьSTRING 256
Порт MQTT0…6553558910x1703Чтение и записьUINT 16
Хранение последнего сообщения MQTT

0 – выкл.;

1 – вкл.

58950x1707Чтение и записьUINT 16
Интервал публикации MQTT5…600 с58920x1704Чтение и записьUINT 16
Качество обслуживания MQTT

0 – QoS0;

1 – QoS1;

2 – QoS2

58930x1705Чтение и записьUINT 16
Интервал Keep Alive MQTT0…600 с59920x1768Чтение и записьUINT 16
Статус MQTT

0 – отключено;

1 – подулючено;

2 – ошибка соединения

60250x1789Только чтениеUINT 16
Включить (MQTTstatus)

0 – выкл.;

1 – вкл.

60260x178AЧтение и записьUINT 16
Включение/Отключение SNMP

0 – выкл.;

1 – вкл.

51200x1400Чтение и записьUINT 16
Сообщество для чтения SNMP60010x1771Чтение и записьSTRING 256
Сообщество для записи SNMP60170x1781Чтение и записьSTRING 256
IP адрес для ловушки SNMP51210x1401Чтение и записьUINT 32
Номер порта для ловушки0…6553551230x1403Чтение и записьUINT 16
Версия SNMP

0 – SNMPv1;

1 – SNMPv2

51240x1404Чтение и записьUINT 16

При управлении по протоколу Modbus для каждого входа следует указать тип датчика записью кода в соответствующий регистр. По умолчанию установлено значение 0.

Коды типов датчиков
Значение в регистре «тип датчика»Тип датчика
0Датчик отключен
1Cu 100 (α = 0,00426 °С-1)
2Cu 50 (α = 0,00426 °С-1)
3Pt 100 (α = 0,00385 °С-1)
4100П (α = 0,00391 °С-1)
5ТХК (L)
6ТХА (K)
7Датчик (–50…+50) мВ
8Pt 50 (α = 0,00385 °С-1)
950П (α = 0,00391 °С-1)
1050М (α = 0,00428 °С-1)
11Датчик (4…20) мА
12Датчик (0…20) мА
13Датчик (0…5) мА
14Датчик (–1…1) В
15100М (α = 0,00428 °С-1)
16

ТСМ гр.23 (53 Ом)

17ТПР (B)
18

ТПП (S)

19

ТПП (R)

20TНН (N)
21ТЖК (J)
22

ТВР (А-1)

23ТВР (А-2)
24TВР (А-3)
25TМК (Т)
26Датчики контактные (сухие)
27

Ni 100 (α = 0,00617 °С-1)

28Cu 500 (α = 0,00426 °С-1)
29500M (α = 0,00428 °С-1)
30Pt 500 (α = 0,00385 °С-1)
31500П (α = 0,00391 °С-1)
32

Ni 500 (α = 0,00617 °С-1)

33Cu 1000 (α = 0,00426 °С-1)
341000M (α = 0,00428 °С-1)
35Pt 1000 (α = 0,00385 °С-1)
361000П (α = 0,00391 °С-1)
37

Ni 1000 (α = 0,00617 °С-1)

38Резистивный датчик (0…2,0) кОм
39Резистивный датчик (0…5,0) кОм

Коды ошибок для протокола Modbus

Во время работы модуля по протоколу Modbus возможно возникновение ошибок, представленных в таблице. В случае возникновения ошибки модуль отправляет Мастеру сети ответ с кодом ошибки.

Список возможных ошибок
Название ошибкиВозвращаемый кодОписание ошибки
MODBUS_ILLEGAL_FUNCTION01 (0x01)Недопустимый код функции – ошибка возникает, если модуль не поддерживает функцию Modbus, указанную в запросе
MODBUS_ILLEGAL_DATA_ADDRESS02 (0x02)Недопустимый адрес регистра – ошибка возникает, если в запросе указаны адреса регистров, отсутствующие в модуле
MODBUS_ILLEGAL_DATA_VALUE03 (0x03)Недопустимое значение данных – ошибка возникает, если запрос содержит недопустимое значение для записи в регистр
MODBUS_SLAVE_DEVICE_FAILURE04 (0x04)Ошибка возникает, если запрошенное действие не может быть завершено

Во время обмена по протоколу Modbus модуль проверяет соответствие запросов спецификации Modbus. Не прошедшие проверку запросы игнорируются модулем. Запросы, в которых указан адрес, не соответствующий адресу модуля, также игнорируются.

Далее проверяется код функции. Если в модуль приходит запрос с кодом функции, не указанной в таблице, возникает ошибка MODBUS_ILLEGAL_FUNCTION.

Список поддерживаемых функций
Название функцииКод функцииОписание функции
MODBUS_READ_HOLDING_REGISTERS3 (0x03)Чтение значений из одного или нескольких регистров хранения
MODBUS_READ_INPUT_REGISTERS4 (0x04)Чтение значений из одного или нескольких регистров ввода
MODBUS_WRITE_SINGLE_REGISTER6 (0x06)Запись значения в один регистр
MODBUS_WRITE_MULTIPLE_REGISTERS16 (0x10)Запись значений в несколько регистров
MODBUS_READ_FILE_RECORD20 (0x14)Чтение архива из файла
MODBUS_WRITE_FILE_RECORD21 (0x15)Запись архива в файл

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

Ошибки во время работы с регистрами
Используемая функцияНаименование ошибкиВозможные ситуации, приводящие к ошибке

MODBUS_READ_HOLDING_REGISTERS

MODBUS_ILLEGAL_DATA_ADDRESS

  • количество запрашиваемых регистров больше максимального возможного числа (125);
  • запрос несуществующего параметра

MODBUS_READ_INPUT_REGISTERS

MODBUS_ILLEGAL_DATA_ADDRESS

  • количество запрашиваемых регистров больше максимального возможного числа (125);
  • запрос несуществующего параметра

MODBUS_WRITE_SINGLE_REGISTER

MODBUS_ILLEGAL_DATA_ADDRESS

  • попытка записи параметра, размер которого превышает 2 байта;
  • попытка записи параметра, доступ на запись к которому запрещен;
  • попытка записи параметра такого типа, запись в который не может быть осуществлена данной функцией. Поддерживаемые типы:

    • знаковые и беззнаковые целые (размер не более 2 байт);
    • перечисляемые;

    • float16 (на данный момент в модуле такой тип не используется).

  • запрос несуществующего параметра

MODBUS_ILLEGAL_DATA_VALUE

  • выход за пределы максимального или минимального ограничений для параметра

MODBUS_WRITE_MULTIPLE_REGISTERS

MODBUS_ILLEGAL_DATA_ADDRESS

  • запись несуществующего параметра;
  • попытка записи параметра, доступ на запись к которому запрещен;
  • количество записываемых регистров больше максимального возможного числа (123)

MODBUS_ILLEGAL_DATA_VALUE

  • не найден терминирующий символ (\0) в строковом параметре;

  • размер запрашиваемых данных меньше размера первого или последнего в запросе параметра;

  • выход за пределы максимального или минимального ограничений для параметра

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

Ошибки во время работы с архивом
Используемая функцияНаименование ошибкиВозможные ситуации, приводящие к ошибке

MODBUS_READ_FILE_RECORD

MODBUS_ILLEGAL_FUNCTION

  • ошибочный размер данных (0x07 <= data length <= 0xF5)

MODBUS_ILLEGAL_DATA_ADDRESS

  • reference type не соответствует спецификации;

  • не удалось открыть файл для чтения (возможно, он отсутствует)

MODBUS_ILLEGAL_DATA_VALUE

  • не удалось переместиться к нужному смещению в файле

MODBUS_SLAVE_DEVICE_FAILURE

  • ошибка удаления файла при запросе на удаление;

  • запрос слишком большого количества данных (больше 250 байт);

  • недопустимый record number (больше 0x270F);

  • недопустимый record length (больше 0x7A)

MODBUS_WRITE_FILE_RECORD

MODBUS_ILLEGAL_FUNCTION

  • ошибочный размер данных (0x09 <= data length <= 0xFB)

MODBUS_ILLEGAL_DATA_ADDRESS

  • reference type не соответствует спецификации;

  • не удалось открыть файл для записи

MODBUS_SLAVE_DEVICE_FAILURE

  • запрашиваемый файл отсутствует;

  • запрашиваемый файл доступен только для чтения;

  • не удалось записать необходимое количество байт

Работа по протоколу MQTT

Архитектура MQTT определяет три типа устройств в сети:

  • брокер – устройство (обычно – ПК с серверным ПО), которое осуществляет передачу сообщений от издателей к подписчикам;
  • издатели – устройства, которые являются источниками данных для подписчиков;
  • подписчики – устройства, которые получают данные от издателей.

Одно устройство может совмещать функции издателя и подписчика.

Graphic
Структурная схема обмена по протоколу MQTT

Подписка и публикация данных происходит в рамках топиков. Топик представляет собой символьную строку с кодировкой UTF-8, которая позволяет однозначно идентифицировать определенный параметр. Топики состоят из уровней, разделяемых символом «/».

Примечание
Топики MQTT могут включать в себя заполнители – специальные символы, которые обрабатываются брокером особым образом. Существует два типа заполнителей – одноуровневый заполнитель «+» и многоуровневый заполнитель «#».
Предупреждение
Топики являются чувствительными к регистру.

Структура топиков модулей: Серия/Имя_устройства/Функция/Имя_узла/Параметр, где:

  • Серия – наименование серии устройства, всегда имеет значение MX210;
  • Имя_устройства – имя конкретного модуля, заданное в ПО Owen Configurator (см. раздел);
  • Функция – GET (чтение значений входов или выходов модуля) или SET (запись значений выходов модуля);
  • Имя_узла – тип входов или выходов (DI/DO/AI/AO);
  • Параметр – название конкретного параметра (см. таблицу).
Уровни топиков модуля
СерияИмя устройстваФункцияИмя узлаПараметрОписаниеФормат значения
MX210DeviceGETAI1–AI8VALUEЗначение аналогового входаС плавающей точкой
Пример

1. Чтение значения дискретных входов

MX210/Device/GET/DI/MASK

Пример полученного значения: 15 (замкнуты входы 1–4)

2. Запись значений дискретных выходов

MX210/Device/SET/DO/MASK

Пример записываемого значения: 15 (включить выходы 1–4)

3. Использование одноуровневого заполнителя

MX210/Device/GET/+/COUNTER – будет получена информация о значениях счетчиков всех дискретных входов модуля, то есть этот топик эквивалентен набору топиков:

MX210/Device/GET/DI1/COUNTER

MX210/Device/GET/DI2/COUNTER

MX210/Device/GET/…/COUNTER

MX210/Device/GET/DIn/COUNTER

4. Использование многоуровневого заполнителя

MX210/Device/GET/# – будет получена информация о всех параметрах модуля, доступных для чтения (GET), то есть этот топик эквивалентен набору топиков:

MX210/Device/GET/DI/MASK

MX210/Device/GET/DI1/COUNTER

MX210/Device/GET/DI2/COUNTER

MX210/Device/GET/…/COUNTER

MX210/Device/GET/DIn/COUNTER

Работа по протоколу SNMP

Протокол основан на архитектуре «Клиент/Сервер», при этом в терминологии протокола клиенты называются менеджерами, а серверы – агентами.

Менеджеры могут производить чтение (GET) и запись (SET) параметров агентов. Агенты могут отправлять менеджерам уведомления (трапы) – например, о переходе оборудования в аварийное состояние.

Каждый параметр агента имеет уникальный идентификатор (OID), представляющий собой последовательность цифр, разделенных точками. Для упрощения настройки обмена производители устройств-агентов обычно предоставляют MIB-файлы, которые включают в себя список параметров прибора с их названиями и идентификаторами. Эти файлы могут быть импортированы в SNMP-менеджер.

Graphic
Структурная схема обмена по протоколу SNMP

Диагностика работы первичных датчиков

В процессе работы модуль контролирует работоспособность подключенных к нему первичных преобразователей. В случае обнаружения неисправности любого из них модуль передает сообщение об ошибке по сетевому интерфейсу Ethernet.

Ошибки формируются:

  • при работе с ТС в случае их обрыва или короткого замыкания;
  • при работе с ТП в случае их обрыва, а также при увеличении температуры свободных концов термопар свыше 90 °С или при ее уменьшении ниже минус 40 °С;
  • при работе с любым типом первичных преобразователей в случае получения результатов измерений, выходящих за установленные для данного датчика границы диапазона контроля.

Некоторые типы неисправностей первичных преобразователей не могут быть диагностированы модулем. К ним относятся обрывы датчиков тока и напряжения (измеренный вход выдает нулевое значение или диагностирует как неисправность «Значение слишком мало»).

Из-за введенной в модуль диагностики короткого замыкания ТС модуль воспринимает сигналы сопротивления менее 25 Ом как недостоверные, в связи с этим, например,  датчик (0...2000) Ом не может измерять сигналы в диапазоне от 0 до 25 Ом (от 0 до 1,26 % диапазона).

Ошибки датчиков

В случае возникновения ошибки на входе во время обмена по протоколу Modbus код ошибки передается в регистр статуса входа и в старший байт регистра значения (тип float).

Коды ошибок регистра значения
Характер ошибкиСтарший байт регистра значения (float32)Регистр статусаИндикация
Измерение успешно0х000х00Зеленый
Значение заведомо неверно0хF0Оранжевый
Данные не готовы. Необходимо дождаться результатов первого измерения после включения модуля0xF60x06Оранжевый
Датчик отключен0xF70x07Выключен
Велика температура свободных концов ТП0xF80x08Оранжевый
Мала температура свободных концов ТП0xF90x09Оранжевый
Измеренное значение слишком велико0xFA0x0AОранжевый
Измеренное значение слишком мало0xFB0x0BОранжевый
Короткое замыкание датчика0xFC0x0CКрасный
Обрыв датчика0xFD0x0DКрасный
Отсутствие связи с АЦП0xFE0x0EКрасный
Некорректный калибровочный коэффициент0xFF0x0FОранжевый