Modbus для подключения RFID-считывателей к АСУ ТП
ОПИСАНИЕ ПРОТОКОЛА MODBUS RTU OVER TCP/IP (MODBUS TCP)
Holding register 0x03
Ниже описание формата представления данных в регистре Holding register 0x03 для версии 3.28 встраиваемого программного обеспечения RFID-считывателей SAUK:
Holding register 0x03 по адресу 1000 (содержит информацию об антеннах, в зоне действия которых находится RFID-метка). При наличии RFID-метки в поле действия антенны устанавливается флаг (значение байта 0x01, 0x10, 0x11). При пропадании метки из поля действия антенны флаг снимается.
Таблица 15. Holding register 0x03
- с сетевым интерфейсом Ethernet или Wi-Fi
- с проводными интерфейсами RS232, RS485.
Holding register 0x03 по адресу 1000 (содержит информацию об антеннах, в зоне действия которых находится RFID-метка). При наличии RFID-метки в поле действия антенны устанавливается флаг (значение байта 0x01, 0x10, 0x11). При пропадании метки из поля действия антенны флаг снимается.
Таблица 15. Holding register 0x03
Параметр | Адрес | R/W, тип | Описание, комментарий |
---|---|---|---|
Метка в поле антенн [4:3:2:1] | 1000 | R, [Byte:Byte] | Примеры:
|
Результат записи данных в метку на антеннах и коды ошибок записи [4:3:2:1] | 1001 | R, [Byte:Byte] | Запись данных в метку выполняется через WRITE MULTIPLE REGISTERS 16, но результат кодирования возвращается через HOLDING REGISTER 3. Результат возвращается в виде 1 слова (2 байта) по каждой антенне независимо. Результат по каждой антенне имеет длину 4 бита (половина байта) и может содержать следующие коды:
|
Таблица 16. Holding register (0x03) по адресам 1002-1077
Секция данных от Антенны №1 | Адрес | R/W, тип | Описание, комментарий |
---|---|---|---|
Номер антенны от 1 до 4 | 1002 | R, [Byte:Byte] | |
Timestamp | 1003, 1004 | R, word | Системное время регистрации RFID-метки (общая длина 32 бита). Пример:
|
Счетчик событий по метке | 1005 | R, word | Каждый новый факт сканирования одной и той же метки приводит к инкременту внутреннего счетчика |
Уровень сигнала метки RSSI, dB | 1006 | R, word | Значение уровня сигнала ослабления, отрицательная величина, в большинстве случаев от -90 dB до -30 dB. При этом, -90 самый слабый сигнал, 0 - самый сильный. |
Номер банка памяти EPC и количество данных EPC | 1007 | R, [0x01, Byte] | Для этой группы данных номер банка памяти константа 0x01, соответствует банку памяти EPC. В большинстве случаев количество передаваемых данных 12 байт, соответствует EPC нумерации 96 бит (самые распространённый способ кодирования UHF меток) |
Данные из EPC-памяти метки | 1008-1013 | R, [Byte] массив 12 байт, 6 слов | EPC номер. Пример E280699500005010DE651922 в регистре выглядит следующим образом:
|
Номер банка памяти дополнительных данных и количество данных | 1014 | R, [Byte, Byte] | Номер банка памяти с данными:
|
Данные из дополнительной памяти метки (EPC, TID или USER) | 1015-1020 | R, [Byte] массив 12 байт, 6 слов | TID номер. Пример E280699500005010DE651922 в регистре выглядит следующим образом:
|
Секция данных от Антенны №2 | 1021-1039 | | |
Секция данных от Антенны №3 | 1040-1058 | | |
Секция данных от Антенны №4 | 1059-1077 | | |
На изображении ниже (рисунок 31) представлен внешний вид интерфейса встраиваемого программного обеспечения SAUK, доступного через WEB-браузер. На экранной форме интерфейса отображается таблица с 4 идентифицированными RFID-метками, которые прошли фильтрацию. Прочитаны все необходимые данные EPC 12 Байт, DATA 12 Байт (в частности блок TID).
Рисунок 31. Таблица идентификации RFID-меток
На изображении ниже представлен внешний вид интерфейса программного обеспечения MODBUS Poll, опрашивающее регистр Holding register 0x03 считывателя SAUK E4. Общее количество данных для ревизии встраиваемого ПО версии 3.26 составляет 78 слов.
Формат записи данных в RFID-метку (WRITE MULTIPLE REGISTERS 16, код 0x10)
Общая информация
Данное описание относится к версии 3.26 встроенного ПО RFID-считывателя SAUK Profi1 и SAUK E4.
Особенности работы:
Требования к формату данных
Запись через функцию WRITE MULTIPLE REGISTERS 16 (код 0x10) должна строго соответствовать следующим условиям:
Структура данных
Таблица. Параметры WRITE MULTIPLE REGISTERS 16 (0x10)
Особенности работы:
- Данные с каждой метки группируются по антеннам, через которые была произведена идентификация
- Результаты кодирования также сохраняются в отдельных группах для каждой антенны
- Статус операции записи возвращается в HOLDING REGISTER 0x03 (описание см. в разделе 1001 вышеприведённой таблицы)
Требования к формату данных
Запись через функцию WRITE MULTIPLE REGISTERS 16 (код 0x10) должна строго соответствовать следующим условиям:
- Фиксированная длина: 17 слов (34 байта)
- Обязательное наличие всех полей, указанных в таблице ниже
- Передача пакета данных с другим размером приведёт к его отклонению
- Считыватель не обрабатывает некорректные по длине посылки
Структура данных
Таблица. Параметры WRITE MULTIPLE REGISTERS 16 (0x10)
Параметр | Адрес | R/W, тип | Описание, комментарий |
---|---|---|---|
Антенна, Банк памяти метки | 2000 | W, [Byte: Byte] | ANT - указывается номер антенны, которая будет кодировать метку (производить запись данных в метку). Обязательно указывается номер антенны от 1 до 4. Если номер антенны указан не будет, то такая посылка обрабатываться считывателем не будет. BANK - указывается банк памяти RFID-метки, куда будет производиться запись:
|
EPC метки, в которую будет производиться запись | 2001...2006 | W, [Byte] массив 12 байт, 6 слов | Массив фиксированной длины 12 байт (6 слов). Если массив заполнен нулями 0x00, то данные будут записаны в любую метку, которая окажется в поле действия антенны |
ACCESS PASSWORD для перезаписи данных | 2007…2008 | W, [Byte] массив 4 байта, 2 слова | Массив фиксированной длины 4 байта (2 слова). Если массив заполнен нулями 0x00, то пароль не будет использоваться при записи метки - такая настройка используется если память метки не закрыта паролем. Если память метки закрыта паролем, его необходимо указывать иначе данные в метку записать не получится. |
Смещение и длина данных (указывается в словах) | 2009 | W, [Byte:Byte] | Память метки устроена аналогично регистрам MODBUS, смещение и длина указывается в словах (по 2 байта).
|
Данные, которые будут закодированы в память метки | 2010…2015 | W, [Byte] массив 12 байт, 6 слов | Массив фиксированной длины 12 байт (6 слов). |
Флаг подтверждения успешной записи данных в память метки звуковым сигналом (бузера) | 2016 | W, [Byte:0x00] |
|
Полный пример записи в USER Memory RFID-метки
Базовый адрес: 2000 Используемая антенна: №1 Банк памяти:
- Записывается банк памяти:
0x03
(USER MEMORY)
- Адреса: 2001-2006
- Значение: Метка, в которую будет произведена запись имеет EPC-номер
0101010305441FFFFFF003448
- Длина: 12 байт
- Адреса: 2007-2008
- Значение: Пароль Access password не используется, соответствующие данные заполнены
00000000
- Длина: 4 байта
- Адрес: 2009
- Параметр: Смещение записи
- Значение: Запись производится со смещением
0x00
- Длина данных: 1 слово (2 байта)
- Адрес: 2010
- Значение: Данные, которые будут записаны
0xABCD
- Формат: hex
- Адрес: 2016
- Код подтверждения: Факт успешной записи будет подтвержден подачей звукового сигнала
0x0100
SAUK© 2020 – 2025. Все тексты и изображения, представленные на сайте, являются интеллектуальной собственностью SAUK. Могут быть использованы только по письменному согласию SAUK. SAUK® является зарегистрированным торговым знаком.