(для интеграции с другими системами по Ethernet-каналу)
- Заметки:
- Протокол действителен для табло с прошивкой u653 (мегапрошивка).
- Автор:
- Шанин А.М.
email: adnega@mail.ru
- Версия:
- v0.2
- Дата:
- 15.06.2016г.
Взаимодействие с табло.
Табло может взаимодействовать с управляющим ПК по сети Ethernet. Для обмена информацией используютя UDP-датаграммы (протокол UDP/IP).
Табло может принимать команды:
- адресованные ему персонально,
- адресованные всем табло его типа (например, при поиске всех табло данного типа в сети),
- адресованные всем табло (например, при поиске всех табло в сети).
Табло принимает команды на UDP-порт ETH_TABLO_CONTROL_PORT. Ответы отправляются в тот порт, с которого они были отправлены с управляющего ПК.
Пример (IP-ПК - IP-адрес управляющего ПК; UDP-ПК - UDP-порт на управляющем ПК; IP-ТАБЛО - IP-адрес табло):
Как правило взаимодействие происходит в двух вариантах:
- запрос данных;
- установка данных.
Команды запроса данных начинаются с ETH_GET_ (пакеты соответственно с sPACKET_GET_).
Команды установки данных начинаются с ETH_SET_ (пакеты соответственно с sPACKET_SET_).
В ответ на команды запроса и на команды установки возвращается ответ, начинающийся с ETH_ANS_ (пакеты соответственно с sPACKET_ANS_).
Для установки нового режима отображения служит команда ETH_SET_MODE (пакет sPACKET_SET_MODE).
- Предупреждения:
- Перечень доступных режимов, номера и типы связанных с этими режимами объектов можно узнать из конфигурации.
Объекты табло.
Табло поддерживает несколько источников данных для отображения. К источникам, управляемым по Ethernet, относятся:
- NVSTR - энергонезависые ASCII-Z строки (сохраняются при потере питания). Размер строки NVSTR NVSTR_SIZE. Число строк NVSTR NVSTR_NUM.
- RSTR - оперативные ASCII-Z строки (обнуляются при потере питания, перезагрузке). Размер строки RSTR RSTR_SIZE. Число строк RSTR RSTR_NUM.
- CSTR - константные ASCII-Z строки (не могут быть изменены, жестко заданы в конфигурации). Размер строки CSTR CSTR_SIZE. Число строк CSTR CSTR_NUM.
- NVNUM - энергонезависые 32-битные числа (сохраняются при потере питания). Число переменных NVNUM NVNUM_SIZE.
- RNUM - оперативные 32-битные числа (обнуляются при потере питания, перезагрузке). Число переменных RNUM RNUM_SIZE.
- CNUM - константные 32-битные числа (не могут быть изменены, жестко заданы в конфигурации). Число переменных CNUM CNUM_SIZE.
- TIMER - универсальные таймеры для отсчета времени. Число переменных TIMER TIMER_NUM.
Для объектов доступны команды запроса (чтения) и установки (записи) (за исключением CSTR и CNUM).
В пакетах передаются массивы элементов. Для указания номера объекта в пакете используется вспомогательный массив индексов. Индексы отсчитываются от нуля. Если индекс больше допустимого, то данный элемент массива игнорируется. Рекомендуется для таких целей использовать индекс 0xFF для NVSTR, RSTR, CSTR, TIMER, и 0xFFFF для NVNUM, RNUM, CNUM.
Пример запроса строк RSTR:
- запрос :
index - 0, 1, 12, 30, 78, 0xFF, 0xFF, 0xFF - запросить строки с индексами 0, 1, 12, 30, 78.
- ответ :
index - 0, 1, 12, 30, 0xFF (т.к. 78 строки RSTR не существует), 0xFF, 0xFF, 0xFF;
profile - профили строк с индексами 0, 1, 12, 30, und, und, und, und;
rstr - содержимое строк с индексами 0, 1, 12, 30, '', '', '', ''.