Принцип работы
Модуль получает команды на управление выходами от Мастера сети. Модуль передает в сеть данные о состоянии входов при запросе от Мастера.
В качестве Мастера сети можно использовать:
- ПК;
- ПЛК;
- панель оператора;
- удаленный облачный сервис.
Если превышен тайм-аут обмена с Мастером сети, то модуль переходит в безопасное состояние.
Индикация и управление
На лицевой панели прибора расположены элементы индикации — светодиоды. Назначение светодиодов приведено в таблице
В нижней части лицевой панели расположено поле «IP».
Поле «IP» предназначено для нанесения IP-адреса модуля тонким маркером или на бумажной наклейке.Назначение светодиодов
Светодиод | Состояние светодиода | Назначение |
---|---|---|
Питание (зеленый) | Не светится | Питание выключено |
Светится | Напряжение питания прибора подано | |
Eth 1 (зеленый) | Не светится | Кабель не подключен |
Мигает | Передача данных по порту 1 Ethernet | |
Eth 2 (зеленый) | Не светится | Кабель не подключен |
Мигает | Передача данных по порту 2 Ethernet | |
Авария (красный) | Не светится | Сбои отсутствуют |
Светится постоянно | Сбой основного приложения и/или конфигурации | |
Включается на 200 мс один раз в три секунды | Необходимо заменить батарею питания часов (напряжение батареи ниже 2 В) | |
Включается на 100 мс два раза в секунду (через паузу 400 мс) | Модуль находится в безопасном состоянии | |
Включен 900 мс, 100 мс выключен | Аппаратный сбой периферии (Flash, RTC, Ethernet Switch) | |
Индикаторы состояния выходов (зеленый/красный)* | Светится зеленым | Замкнутое состояние входа или выхода |
Не светится | Разомкнутое состояние входа или выхода | |
Светится красным (для выходов модуля МК210-312) | Определен обрыв нагрузки или диагностирована неисправность выхода** | |
Примечание Приоритеты индикации светодиода «Авария» от большего к меньшему: аппаратный сбой, программные ошибки, безопасный режим, уровень заряда батареи. ** См. раздел. |
Под лицевой панелью расположены клеммники и сервисная кнопка (рисунок).
Сервисная кнопка предназначена для выполнения следующих функций:
Часы реального времени
В приборе есть встроенные часы реального времени (RTC). Часы реального времени работают от собственного батарейного источника питания.
Отсчет времени производится по UTC в секундах, начиная с 00:00 01 января 2000 года. Значение RTC используется для записи в архив.
Подробнее о настройке часов реального времени см. раздел.
Запись архива
В модуль встроена флеш-память (flash), размеченная под файловую систему с шифрованием файлов. Алгоритм шифрования — Data Encryption Standard (DES) в режиме сцепления блоков шифротекста (CBC). В качестве ключа используется строка superkey. Вектор инициализации генерируется с помощью хеш-функции (см. приложение А). Аргументом функции является пароль, заданный в ПО Owen Configurator. В конце файла сохраняется контрольная сумма, рассчитанная по алгоритму CRC32 (контрольная сумма также шифрируется).
Архив модуля сохраняется в виде набора файлов. Период архивации, ограничение на размер одного файла и их количество задается пользователем в ПО Owen Configurator. Если архив полностью заполнен, то данные перезаписываются, начиная с самых старых данных самого старого файла.
Файл архива состоит из набора записей. Записи разделены символами переноса строки (0x0A0D). Каждая запись соответствует одному параметру и состоит из полей, разделенных символом «;» (без кавычек). Формат записи приведен в таблице ниже.
Формат записи в файле архива
Параметр | Тип | Размер | Комментарий |
---|---|---|---|
Метка времени | Binary data | 4 байта | В секундах начиная с 00:00 01.01.2000 (UTC+0) |
Разделитель | Строка | 1 байт | Символ «;» (без кавычек) |
Уникальный идентификатор параметра (UID) | Строка | 8 байт | В виде строки из HEX-символов с ведущими нулями |
Разделитель | Строка | 1 байт | Символ «;» (без кавычек) |
Значение параметра | Строка | зависит от параметра | В виде строки из HEX-символов с ведущими нулями |
Разделитель | Строка | 1 байт | Символ «;» (без кавычек) |
Статус параметра | Binary data | 1 байт | 1 – значение параметра корректно, 0 – значение параметра некорректно и его дальнейшая обработка не рекомендована |
Перенос строки | Binary data | 2 байта | \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 (256 байт).
Размер файла архива заранее неизвестен, поэтому следует считывать порции данных с помощью отдельных запросов. Если в ответ на запрос будет получено сообщение с кодом ошибки 0х04 (MODBUS_SLAVE_DEVICE_FAILURE), то можно сделать вывод, что адреса регистров в запросе находятся за пределами файла. Чтобы считать последние данные файла, требуется уменьшить количество регистров в запросе.
Режимы обмена данными
Модуль поддерживает следующие режимы обмена данными:
- обмен с Мастером сети по протоколу Modbus TCP (порт 502) — до 4 одновременных соединений с разными Мастерами сети;
- соединение и обмен данными с ПК с помощью ПО Owen Configurator;
- обмен с удаленным облачным сервисом OwenCloud (необходим доступ в Интернет);
- обмен по протоколу MQTT;
- обмен по протоколу SNMP.
Работа по протоколу Modbus TCP
Чтение и запись параметров по протоколу Modbus TCP
Операция | Функция |
---|---|
Чтение | 3 (0х03) или 4 (0х04) |
Запись | 6 (0х06) или 16 (0х10) |
Общие регистры оперативного обмена по протоколу Modbus
Название | Регистр | Размер/тип/описание |
---|---|---|
Название (имя) прибора для показа пользователю (DEV) | 0xF000 | Символьная строка до 32 байт, кодировка Win1251 |
Версия встроенного ПО прибора для показа пользователю (VER) | 0xF010 | Символьная строка до 32 байт, кодировка Win1251 |
Название платформы | 0xF020 | Символьная строка до 32 байт, Win1251 |
Версия платформы | 0xF030 | Символьная строка до 32 байт, Win1251 |
Версия аппаратного обеспечения | 0xF040 | Символьная строка до 16 байт, Win1251 |
Дополнительная символьная информация | 0xF048 | Символьная строка до 16 байт, Win1251 |
Время | 0xF080 | 4 байта, в секундах с 2000 г |
Часовой пояс | 0xF082 | 2 байта, signed short, смещение в минутах от Гринвича |
Заводской номер прибора | 0xF084 | Символьная строка 32 байта, кодировка Win1251, используется 17 символов |
Регистры обмена по протоколу ModBus
Параметр | Значение (ед. изм.) | Адрес регистра | Тип доступа | Формат данных | |
---|---|---|---|---|---|
DEC | HEX | ||||
Битовая маска значений входов | 0...4095 | 51 | 0х33 | Только чтение | UINT 16 |
Дополнительный режим работы входа DI1 | 0 – отключен; 1 – измерение периода; 2 – подсчет импульсов; 3 – измерение частоты | 64 | 0х40 | Чтение и запись | UINT 16 |
Дополнительный режим работы входа DI2 | 0 – отключен; 1 – измерение периода; 2 – подсчет импульсов; 3 – измерение частоты | 65 | 0х41 | Чтение и запись | UINT 16 |
Дополнительный режим работы входа DI3 | 0 – отключен; 1 – измерение периода; 2 – подсчет импульсов; 3 – измерение частоты; 4 – энкодер | 66 | 0х42 | Чтение и запись | UINT 16 |
Дополнительный режим работы входа DI4 | 0 – отключен; 1 – измерение периода; 2 – подсчет импульсов; 3 – измерение частоты; 4 – энкодер | 67 | 0х43 | Чтение и запись | UINT 16 |
Дополнительный режим работы входа DI5 | 0 – отключен; 1 – измерение периода; 2 – подсчет импульсов; 3 – измерение частоты; 4 – энкодер | 68 | 0х44 | Чтение и запись | UINT 16 |
Дополнительный режим работы входа DI6 | 0 – отключен; 1 – измерение периода; 2 – подсчет импульсов; 3 – измерение частоты; 4 – энкодер | 69 | 0х45 | Чтение и запись | UINT 16 |
Дополнительный режим работы входа DI7 | 0 – отключен; 1 – измерение периода; 2 – подсчет импульсов; 3 – измерение частоты; 4 – энкодер | 70 | 0х46 | Чтение и запись | UINT 16 |
Дополнительный режим работы входа DI8 | 0 – отключен; 1 – измерение периода; 2 – подсчет импульсов; 3 – измерение частоты; 4 – энкодер | 71 | 0х47 | Чтение и запись | UINT 16 |
Включение фильтра антидребезга для входа DI1 | 0 – выключено; 1 – включено | 96 | 0х60 | Чтение и запись | UINT 16 |
Включение фильтра антидребезга для входа DI2 | 0 – выключено; 1 – включено | 97 | 0х61 | Чтение и запись | UINT 16 |
Включение фильтра антидребезга для входа DI3 | 0 – выключено; 1 – включено | 98 | 0х62 | Чтение и запись | UINT 16 |
Включение фильтра антидребезга для входа DI4 | 0 – выключено; 1 – включено | 99 | 0х63 | Чтение и запись | UINT 16 |
Включение фильтра антидребезга для входа DI5 | 0 – выключено; 1 – включено | 100 | 0х64 | Чтение и запись | UINT 16 |
Включение фильтра антидребезга для входа DI6 | 0 – выключено; 1 – включено | 101 | 0х65 | Чтение и запись | UINT 16 |
Включение фильтра антидребезга для входа DI7 | 0 – выключено; 1 – включено | 102 | 0х66 | Чтение и запись | UINT 16 |
Включение фильтра антидребезга для входа DI8 | 0 – выключено; 1 – включено | 103 | 0х67 | Чтение и запись | UINT 16 |
Включение фильтра антидребезга для входа DI9 | 0 – выключено; 1 – включено | 104 | 0х68 | Чтение и запись | UINT 16 |
Включение фильтра антидребезга для входа DI10 | 0 – выключено; 1 – включено | 105 | 0х69 | Чтение и запись | UINT 16 |
Включение фильтра антидребезга для входа DI11 | 0 – выключено; 1 – включено | 106 | 0х6А | Чтение и запись | UINT 16 |
Включение фильтра антидребезга для входа DI12 | 0 – выключено; 1 – включено | 107 | 0х6B | Чтение и запись | UINT 16 |
Период измерения частоты входа DI1 | 0 – 10 миллисекунд; 1 – 100 миллисекунд; 2 – 1 секунд; 3 – 10 секунд | 128 | 0х80 | Чтение и запись | UINT 16 |
Период измерения частоты входа DI2 | 0 – 10 миллисекунд; 1 – 100 миллисекунд; 2 – 1 секунд; 3 – 10 секунд | 129 | 0х81 | Чтение и запись | UINT 16 |
Период измерения частоты входа DI3 | 0 – 10 миллисекунд; 1 – 100 миллисекунд; 2 – 1 секунд; 3 – 10 секунд | 130 | 0х82 | Чтение и запись | UINT 16 |
Период измерения частоты входа DI4 | 0 – 10 миллисекунд; 1 – 100 миллисекунд; 2 – 1 секунд; 3 – 10 секунд | 131 | 0х83 | Чтение и запись | UINT 16 |
Период измерения частоты входа DI5 | 0 – 10 миллисекунд; 1 – 100 миллисекунд; 2 – 1 секунд; 3 – 10 секунд | 132 | 0х84 | Чтение и запись | UINT 16 |
Период измерения частоты входа DI6 | 0 – 10 миллисекунд; 1 – 100 миллисекунд; 2 – 1 секунд; 3 – 10 секунд | 133 | 0х85 | Чтение и запись | UINT 16 |
Период измерения частоты входа DI7 | 0 – 10 миллисекунд; 1 – 100 миллисекунд; 2 – 1 секунд; 3 – 10 секунд | 134 | 0х86 | Чтение и запись | UINT 16 |
Период измерения частоты входа DI8 | 0 – 10 миллисекунд; 1 – 100 миллисекунд; 2 – 1 секунд; 3 – 10 секунд | 135 | 0х87 | Чтение и запись | UINT 16 |
Значение входа DI1 в дополнительном режиме | 0…4294967295 импульсов | 160 | 0хА0 | Только чтение | UINT 32 |
Значение входа DI2 в дополнительном режиме | 0…4294967295 импульсов | 162 | 0хА2 | Только чтение | UINT 32 |
Значение входа DI3 в дополнительном режиме | 0…4294967295 импульсов | 164 | 0хА4 | Только чтение | UINT 32 |
Значение входа DI4 в дополнительном режиме | 0…4294967295 импульсов | 166 | 0хА6 | Только чтение | UINT 32 |
Значение входа DI5 в дополнительном режиме | 0…4294967295 импульсов | 168 | 0хА8 | Только чтение | UINT 32 |
Значение входа DI6 в дополнительном режиме | 0…4294967295 импульсов | 170 | 0хАА | Только чтение | UINT 32 |
Значение входа DI7 в дополнительном режиме | 0…4294967295 импульсов | 172 | 0хАС | Только чтение | UINT 32 |
Значение входа DI8 в дополнительном режиме | 0…4294967295 импульсов | 174 | 0хАЕ | Только чтение | UINT 32 |
Значение счетчика импульсов входа DI9 | 0…4294967295 импульсов | 176 | 0хB0 | Только чтение | UINT 32 |
Значение счетчика импульсов входа DI10 | 0…4294967295 импульсов | 178 | 0хB2 | Только чтение | UINT 32 |
Значение счетчика импульсов входа DI11 | 0…4294967295 импульсов | 180 | 0хB4 | Только чтение | UINT 32 |
Значение счетчика импульсов входа DI12 | 0…4294967295 импульсов | 182 | 0хB6 | Только чтение | UINT 32 |
Сброс значения дополнительного режима входа DI1 | 0 – сбросить; 1 – не сброшен | 224 | 0xE0 | Чтение и запись | UINT 16 |
Сброс значения дополнительного режима входа DI2 | 0 – сбросить; 1 – не сброшен | 225 | 0хE1 | Чтение и запись | UINT 16 |
Сброс значения дополнительного режима входа DI3 | 0 – сбросить; 1 – не сброшен | 226 | 0хE2 | Чтение и запись | UINT 16 |
Сброс значения дополнительного режима входа DI4 | 0 – сбросить; 1 – не сброшен | 227 | 0хE3 | Чтение и запись | UINT 16 |
Сброс значения дополнительного режима DI5 | 0 – сбросить; 1 – не сброшен | 228 | 0хE4 | Чтение и запись | UINT 16 |
Сброс значения дополнительного режима входа DI6 | 0 – сбросить; 1 – не сброшен | 229 | 0хE5 | Чтение и запись | UINT 16 |
Сброс значения дополнительного режима входа DI7 | 0 – сбросить; 1 – не сброшен | 230 | 0хE6 | Чтение и запись | UINT 16 |
Сброс значения дополнительного режима входа DI8 | 0 – сбросить; 1 – не сброшен | 231 | 0хE7 | Чтение и запись | UINT 16 |
Сброс значения счетчика импульсов входа DI9 | 0 – сбросить; 1 – не сброшен | 232 | 0хE8 | Чтение и запись | UINT 16 |
Сброс значения счетчика импульсов входа DI10 | 0 – сбросить; 1 – не сброшен | 233 | 0хE9 | Чтение и запись | UINT 16 |
Сброс значения счетчика импульсов входа DI11 | 0 – сбросить; 1 – не сброшен | 234 | 0хEА | Чтение и запись | UINT 16 |
Сброс значения счетчика импульсов входа DI12 | 0 – сбросить; 1 – не сброшен | 235 | 0хEВ | Чтение и запись | UINT 16 |
Режим работы выхода DO1 | 0 –переключение логического сигнала; 1 –ШИМ | 272 | 0х110 | Чтение и запись | UINT 16 |
Режим работы выхода DO2 | 0 – переключение логического сигнала, 1 – ШИМ | 273 | 0х111 | Чтение и запись | UINT 16 |
Режим работы выхода DO3 | 0 – переключение логического сигнала; 1 – ШИМ | 274 | 0х112 | Чтение и запись | UINT 16 |
Режим работы выхода DO4 | 0 – переключение логического сигнала; 1 – ШИМ | 275 | 0х113 | Чтение и запись | UINT 16 |
Период ШИМ выхода DO1 | 1000...60000 миллисекунд | 308 | 0х134 | Чтение и запись | UINT 16 |
Период ШИМ выхода DO2 | 1000...60000 миллисекунд | 309 | 0х135 | Чтение и запись | UINT 16 |
Период ШИМ выхода DO3 | 1000...60000 миллисекунд | 310 | 0х136 | Чтение и запись | UINT 16 |
Период ШИМ выхода DO4 | 1000...60000 миллисекунд | 311 | 0х137 | Чтение и запись | UINT 16 |
Значение коэффициента заполнения ШИМ выхода DO1 | 0...1000 (0,10 %) | 340 | 0х154 | Чтение и запись | UINT 16 |
Значение коэффициента заполнения ШИМ выхода DO2 | 0...1000 (0,10 %) | 341 | 0х155 | Чтение и запись | UINT 16 |
Значение коэффициента заполнения ШИМ выхода DO3 | 0...1000 (0,10 %) | 342 | 0х156 | Чтение и запись | UINT16 |
Значение коэффициента заполнения ШИМ выхода DO4 | 0...1000 (0,10 %) | 343 | 0х157 | Чтение и запись | UINT16 |
Включение диагностики выхода DO1* | 0 – выкл, 1 – вкл. | 436 | 0х1B4 | Чтение и запись | UINT 16 |
Включение диагностики выхода DO2* | 0 – выкл, 1 – вкл. | 437 | 0х1B5 | Чтение и запись | UINT16 |
Включение диагностики выхода DO3* | 0 – выкл, 1 – вкл. | 438 | 0х1B6 | Чтение и запись | UINT 16 |
Включение диагностики выхода DO4* | 0 – выкл, 1 – вкл. | 439 | 0х1B7 | Чтение и запись | UINT 16 |
Битовая маска состояния выходов DO1–4 | 0...15 | 468 | 0х1D4 | Только чтение | UINT 8 |
Битовая маска установки состояния выходов DO1–4 | 0...15 | 470 | 0х1D6 | Чтение и запись | UINT 8 |
Битовая маска состояния диагностики реле и обрыва нагрузки* | 0...15 | 472 | 0х1D8 | Только чтение | UINT 8 |
Безопасное состояние выхода DO1 | 0...1000 (0,10 %) | 474 | 0х1DA | Чтение и запись | UINT 16 |
Безопасное состояние выхода DO2 | 0...1000 (0,10 %) | 475 | 0х1DB | Чтение и запись | UINT 16 |
Безопасное состояние выхода DO3 | 0...1000 (0,10 %) | 476 | 0х1DC | Чтение и запись | UINT 16 |
Безопасное состояние выхода DO4 | 0...1000 (0,10%) | 477 | 0х1DD | Чтение и запись | UINT 16 |
Тайм-аут перехода в безопасное состояние | 0...60 (секунд) | 700 | 0х2BC | Чтение и запись | UINT16 |
Разрешение конфигурирования из удаленного облачного сервиса | 0 – заблокировано; 1 – разрешено | 701 | 0х2BD | Чтение и запись | UINT 16 |
Управление и запись значений из удаленного облачного сервиса | 0 – заблокировано; 1 – разрешено | 702 | 0х2BE | Чтение и запись | UINT 16 |
Доступ к регистрам Modbus из удаленного облачного сервиса | 0 – полный запрет; 1 – только чтение; 2 – только запись; 3 – полный доступ | 703 | 0х2BF | Чтение и запись | UINT 16 |
Состояние батареи (напряжение) | 0…3300 (мВ) | 801 | 0х321 | Только чтение | UINT 16 |
Период архивирования | 10…3600 (секунд); Заводская настройка – 30 | 900 | 0х384 | Чтение и запись | UINT 16 |
Новое время | Дата/Время в секундах с 1 января 2000 г. | 61565 | 0хF07D | Чтение и запись | UINT 32 |
Записать новое время | 0 – не записывать; 1 – записать | 61567 | 0хF07F | Чтение и запись | UINT 16 |
Время и дата (UTC) | Дата/Время в секундах с 1 января 2000 г. | 61568 | 0хF080 | Только чтение | UINT 32 |
Часовой пояс | Смещение в минутах от Гринвича | 61570 | 0хF082 | Чтение и запись | INT 16 |
MAC адрес | — | 61696 | 0xF100 | Только чтение | UINT 48 |
DNS сервер 1 | — | 12 | 0xС | Чтение и запись | UINT 32 |
DNS сервер 2 | — | 14 | 0xЕ | Чтение и запись | UINT 32 |
Установить IP-адрес | — | 20 | 0x14 | Чтение и запись | UINT 32 |
Установить маску подсети | — | 22 | 0x16 | Чтение и запись | UINT 32 |
Установить IP-адрес шлюза | — | 24 | 0x18 | Чтение и запись | UINT 32 |
Текущий IP-адрес | — | 26 | 0x1A | Только чтение | UINT 32 |
Текущая маска подсети | — | 28 | 0x1C | Только чтение | UINT 32 |
Текущий IP-адрес шлюза | — | 30 | 0x1E | Только чтение | UINT 32 |
Режим DHCP | 0 – полный запрет; 1 – только чтение; 2 – только запись | 32 | 0x20 | Чтение и запись | UINT 16 |
Подключение к OwenCloud | 0 – выкл; 1 – вкл. | 35 | 0x23 | Чтение и запись | UINT 16 |
Статус подключения к OwenCloud | 0 – нет связи; 1 – соединение; 2 – работа; 3 – ошибка; 4 – нет пароля | 36 | 0x24 | Чтение и запись | UINT 16 |
Коды ошибок для протокола Modbus
Во время работы модуля по протоколу Modbus возможно возникновение ошибок, представленных в таблице. В случае возникновения ошибки модуль отправляет Мастеру сети ответ с кодом ошибки.
Список возможных ошибок
Название ошибки | Возвращаемый код | Описание ошибки |
---|---|---|
MODBUS_ILLEGAL_FUNCTION | 01 (0x01) | Недопустимый код функции – ошибка возникает, если модуль не поддерживает функцию Modbus, указанную в запросе |
MODBUS_ILLEGAL_DATA_ADDRESS | 02 (0x02) | Недопустимый адрес регистра – ошибка возникает, если в запросе указаны адреса регистров, отсутствующие в модуле |
MODBUS_ILLEGAL_DATA_VALUE | 03 (0x03) | Недопустимое значение данных – ошибка возникает, если запрос содержит недопустимое значение для записи в регистр |
MODBUS_SLAVE_DEVICE_FAILURE | 04 (0x04) | Ошибка возникает, если запрошенное действие не может быть завершено |
Во время обмена по протоколу Modbus модуль проверяет соответствие запросов спецификации Modbus. Не прошедшие проверку запросы игнорируются модулем. Запросы, в которых указан адрес, не соответствующий адресу модуля, также игнорируются.
Далее проверяется код функции. Если в модуль приходит запрос с кодом функции, не указанной в таблице, возникает ошибка MODBUS_ILLEGAL_FUNCTION.
Список поддерживаемых функций
Название функции | Код функции | Описание функции |
---|---|---|
MODBUS_READ_HOLDING_REGISTERS | 3 (0x03) | Чтение значений из одного или нескольких регистров хранения |
MODBUS_READ_INPUT_REGISTERS | 4 (0x04) | Чтение значений из одного или нескольких регистров ввода |
MODBUS_WRITE_SINGLE_REGISTER | 6 (0x06) | Запись значения в один регистр |
MODBUS_WRITE_MULTIPLE_REGISTERS | 16 (0x10) | Запись значений в несколько регистров |
MODBUS_READ_FILE_RECORD | 20 (0x14) | Чтение архива из файла |
MODBUS_WRITE_FILE_RECORD | 21 (0x15) | Запись архива в файл |
Ситуации, приводящие к возникновению ошибок во время работы с регистрами, описаны в таблице.
Ошибки во время работы с регистрами
Используемая функция | Наименование ошибки | Возможные ситуации, приводящие к ошибке |
---|---|---|
MODBUS_READ_HOLDING_REGISTERS | MODBUS_ILLEGAL_DATA_ADDRESS |
|
MODBUS_READ_INPUT_REGISTERS | MODBUS_ILLEGAL_DATA_ADDRESS |
|
MODBUS_WRITE_SINGLE_REGISTER | MODBUS_ILLEGAL_DATA_ADDRESS |
|
MODBUS_ILLEGAL_DATA_VALUE |
| |
MODBUS_WRITE_MULTIPLE_REGISTERS | MODBUS_ILLEGAL_DATA_ADDRESS |
|
MODBUS_ILLEGAL_DATA_VALUE |
|
Ситуации, приводящие к возникновению ошибок во время работы с архивом, описаны в таблице.
Ошибки во время работы с архивом
Используемая функция | Наименование ошибки | Возможные ситуации, приводящие к ошибке |
---|---|---|
MODBUS_READ_FILE_RECORD | MODBUS_ILLEGAL_FUNCTION |
|
MODBUS_ILLEGAL_DATA_ADDRESS |
| |
MODBUS_ILLEGAL_DATA_VALUE |
| |
MODBUS_SLAVE_DEVICE_FAILURE |
| |
MODBUS_WRITE_FILE_RECORD | MODBUS_ILLEGAL_FUNCTION |
|
MODBUS_ILLEGAL_DATA_ADDRESS |
| |
MODBUS_SLAVE_DEVICE_FAILURE |
|
Работа по протоколу MQTT
Архитектура MQTT определяет три типа устройств в сети:
- брокер – устройство (обычно – ПК с серверным ПО), которое осуществляет передачу сообщений от издателей к подписчикам;
- издатели – устройства, которые являются источниками данных для подписчиков;
- подписчики – устройства, которые получают данные от издателей.
Одно устройство может совмещать функции издателя и подписчика.
Подписка и публикация данных происходит в рамках топиков. Топик представляет собой символьную строку с кодировкой UTF-8, которая позволяет однозначно идентифицировать определенный параметр. Топики состоят из уровней, разделяемых симводом «/».
Структура топиков модулей: Серия/Имя_устройства/Функция/Имя_узла/Параметр, где:
- Серия – наименование серии устройства, всегда имеет значение MX210;
- Имя_устройства – имя конкретного модуля, заданное в ПО Owen Configurator (см. раздел);
- Функция – GET (чтение значений входов или выходов модуля) или SET (запись значений выходов модуля);
- Имя_узла – тип входов или выходов (DI/DO/AI/AO);
- Параметр – название конкретного параметра (см. таблицу).
Уровни топиков модуля
Серия | Имя устройства | Функция | Имя узла | Параметр | Описание | Формат значения |
---|---|---|---|---|---|---|
MX210 | Device | GET | DI | MASK | Битовая маска дискретных входов | Целочисленный |
GET | DI1–DI12 | COUNTER | Значение счетчика | Целочисленный | ||
SET | DO | MASK | Битовая маска дискретных выходов | Целочисленный | ||
GET | DO | STATE | Битовая маска дискретных выходов | Целочисленный | ||
GET | DO | DIAGNOSTICS | Битовая маска диагностики дискретных выходов* | Целочисленный | ||
Примечание * Только для
МК210-312 |
Пример
Работа по протоколу SNMP
Протокол основан на архитектуре «Клиент/Сервер», при этом в терминологии протокола клиенты называются менеджерами, а серверы – агентами.
Менеджеры могут производить чтение (GET) и запись (SET) параметров агентов. Агенты могут отправлять менеджерам уведомления (трапы) – например, о переходе оборудования в аварийное состояние.
Каждый параметр агента имеет уникальный идентификатор (OID), представляющий собой последовательность цифр, разделенных точками. Для упрощения настройки обмена производители устройств-агентов обычно предоставляют MIB-файлы, которые включают в себя список параметров прибора с их названиями и идентификаторами. Эти файлы могут быть импортированы в SNMP-менеджер.
Ограничение обмена данными при работе с облачным сервисом OwenCloud
Облачный сервис OwenCloud является надежным хранилищем данных, обмен информации с которым зашифрован модулем. Если на производстве имеются ограничения на передачу данных, то обмен данными с облачным сервисом OwenCloud можно отключить. По умолчанию подключение модуля к облачному сервису запрещено. Ограничение доступа и обмена данными с модулем следует настраивать в ПО Owen Configurator.
Для разрешения подключения в Owen Configurator следует:
- Установить пароль для доступа к модулю (см. раздел).
- Задать значение Вкл. в параметре Подключение к OwenCloud (рисунок).
Если доступ к модулю через облачный сервис OwenCloud разрешен, то можно настроить следующие ограничения доступа (рисунок):
- Разрешение конфигурирования — доступ к конфигурационным параметрам модуля;
- Управление и запись значений — чтение и запись значений модуля;
- Доступ к регистрам Modbus — чтение и/или запись значений регистров.
Режим работы дискретных входов
Входы модуля работают в режиме определения логического уровня.
Для каждого входа задействован счетчик импульсов, поступающих на вход.
Параметры счетчика импульсов
Параметр | Значение |
Разрядность | 32 бит |
Максимальная частота входного сигнала | 400 Гц |
Подавление дребезга | Вкл./выкл. Настраивается в ПО OWEN Configurator |
Время подавления дребезга | 25 мс (не настраивается) |
Если счетчик переполнился, то соответствующий регистр обнуляется автоматически. Последовательность действий для принудительного обнуления приведена в разделе.
Значения состояния дискретных входов хранятся в виде битовой маски и считываются из соответствующего регистра.
Первые 8 входов модуля МК210-302 поддерживают следующие дополнительные режимы работы:
- подсчет количества высокочастотных импульсов (см. раздел);
- измерение частоты (см. раздел);
- обработка сигналов энкодера (см. раздел). Возможно подключение до 3 AB-энкодеров (входы 3-4, 5-6, 7-8).
Режим определения логического уровня
Группа входов DI1–DI12 модуля выполняет определение логического уровня.
По опросу модуль возвращает в регистр Modbus битовую маску, соответствующую состоянию входов. Определение логического уровня производится постоянно и не зависит от включения режима счетчика импульсов, измерения частоты или обработки сигналов энкодера.
Режим подсчета числа высокочастотных импульсов
Режим подсчета числа высокочастотных импульсов работает для входов DI1–DI8.
Максимальная частота входного сигнала — 100 кГц при коэффициенте заполнения 0,5.
Для каждого входа задействован 32-разрядный счетчик. Значения счетчика входа считываются из регистра, соответствующего данному входу.
В случае переполнения счетчика значение обнуляется. Для принудительного обнуления счетчика следует записать значение 0 в регистр сброса значения входа. Обнуление счетчика будет произведено в течение 10 мс после записи значения 0.
Режим измерения частоты и периода
Входы DI1-DI8 можно настроить на режим измерения частоты или периода.
Диапазоны измерения:
- в режиме «измерение частоты» – от 100 Гц до 100 кГц;
- в режиме «измерение периода» – от 0 мс до 10 мс.
Интервал измерения частоты или периода настраивается в параметре «Период измерения».
Возможные значения параметра «Период измерения»: 10 мс, 100 мс, 1 с, 10 с. Значение по умолчанию – 10 мс.
Для отображения измеренных значений частоты или периода задействован 32-разрядный регистр.
Режим обработки сигналов с энкодера
К модулю возможно подключение до трех двухканальных энкодеров (без Z канала). Номера входов для подключения: 3-4, 5-6, 7-8.
Максимальная частота сигналов с энкодера – 100 кГц.
Для каждого входа задействован 32–разрядный счетчик, в котором находится накопленное количество импульсов с учетом направления вращения после обнуления, зафиксированное энкодером. Если после обнуления направление вращения меняется, то счет начинается с максимального и уменьшается на количество накопленных импульсов.
Значения счетчика входа считываются из регистра, соответствующего данному входу.
В случае переполнения счетчика значение обнуляется. Для принудительного обнуления счетчика следует записать значение 0 в регистр сброса значения счетчика. Обнуление счетчика будет произведено в течение 10 мс после записи значения 0.
Режимы работы дискретных выходов
Каждый дискретный выход может работать в одном из следующих режимов:
- переключение логического сигнала;
- генерация ШИМ сигнала.
Для выбора режима и изменения параметров выхода следует записать значения в соответствующие Modbus-регистры (см. раздел).
Безопасное состояние выходных элементов
Для каждого выхода возможна установка безопасного состояния.
Выход переходит в безопасное состояние, если в течение времени тайм-аута отсутствуют команды от Мастера сети. На выходе модуля устанавливается значение параметра Безопасное состояние в процентах (от 0 до 100 %).
Тайм-аут перехода в безопасное состояние задается пользователем. Модуль при включении перейдет в состояние, которое было установлено последним до выключения, и будет находиться в нем до получения новой команды от Мастера сети. Для отключения функции перехода в безопасное состояние следует установить параметр Тайм-аут перехода в безопасное состояние равным 0.
Если Мастером сети является только облачный сервис OwenCloud, необходимо отключить Безопасное состояние для выходов. Для отключения безопасного состояния следует задать значение параметра Тайм-аут перехода в безопасное состояние равным 0.
Контроль обрыва нагрузки
Для модуля МК210-312 реализована цепь контроля подключения нагрузки и контроль замыкания контактов реле при подключении нагрузки.
Для контроля нагрузки следует включить диагностику выхода в ПО OWEN Configurator. После включения диагностики выхода в параметре «Состояние диагностики реле и обрыва нагрузки» можно отследить состояние выхода. Прибор определяет состояние выхода по напряжению на резисторе:
- В случае разомкнутых контактах реле (при выключенном реле) присутствует ток через резистор, выход работает нормально. Если падения напряжения нет, произошел обрыв нагрузки или спекание контактов реле, то фиксируется авария.
- В случае замкнутых контактах реле (при включенном реле) ток через резистор отсутствует, выход работает нормально. Если контакты реле замкнуты и ток присутствует, произошло повреждение реле или контактов, фиксируется авария.
Контроль аварии включается при настройке модуля.
В случае фиксирования аварии загорается красный светодиод состояния выхода.
Состояние выходов записывается в битовую маску статуса для каждого выхода.
Схема контроля обрыва нагрузки приведена на рисунке.
Схема контроля обрыва нагрузки работает при напряжении питания нагрузки не менее 18 В постоянного тока при сопротивлении нагрузки не более 10 кОм и не менее 90 В переменного тока при сопротивлении нагрузки не более 20 кОм.