# Блок индикации 4-х сегментный pTBL

ВХОДЫ
Text | <текст> Вход и текст. Если на входе 1, то текст посылается в блок
ВЫХОДЫ
NetAddress | Сетевой адрес от 1 до 31
ComPort | Номер СОМ-порта контроллера
ErrorFlag | Нет связи
ErrorCount | Счетчик ошибочных запросов
Enable | Разрешение работы с блоком
StrNum | Макс. кол-во выводимых строк
SkipTime | Интервал перелистывания строк

Редактирование текста – Alt+V. Допустимые для вывода символы:

0 1 2 3 4 5 6 7 8 9 - P O А = E Y У U И F Г L Э С . _ t ^ | ? № П S B b Н h Б

Если нужно вывести точку, в конце символа нужно поставить "."

Пример:

12.86

# Приложение. Описание модуля pTBL

Модуль «Табло» (далее – модуль) предназначен для индикации сигналов на четырёх-разрядном семисегментном индикаторе. Модуль последовательно отображает от 1 до 10 строк, с заданным временем отображения одной строки.

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

### Регистры модуля.

Адрес | Диапазон значений | Назначение
0 | 0..10 | Количество отображаемых строк. Если значение равно 0, то постоянно отображается первая строка.
1 | 0..255 | Время отображения одной строки в 0.1с.
2..5 | 0..255 | 1-я строка. Значение регистра соответствует матрицы отображаемых сегментов.
6..9 | 0..255 | 2-я строка.
10..13 | 0..255 | 3-я строка.
14..17 | 0..255 | 4-я строка.
18..21 | 0..255 | 5-я строка.
22..25 | 0..255 | 6-я строка.
26..29 | 0..255 | 7-я строка.
30..33 | 0..255 | 8-я строка.
34..37 | 0..255 | 9-я строка.
38..41 | 0..255 | 10-я строка.

### Описание протокола обмена

Для обеспечения связи с внешними устройствами данное модуль имеет интерфейс RS-485, с гальванической развязкой.

Параметры связи:

1. тип связи – полудуплексная;

2. скорость – 9600;

3. посылка – 8 бит;

4. стоп бит – 1;

5. чётность – нет;

6. протокол – AA55.

AA55 – полудуплексный протокол обмена с одним главным и несколькими подчинёнными устройствами. Т.е. только одно устройство (главный) может инициировать передачу данных (сделать запрос). Подчинённые устройства передают запрашиваемые главным данные и/или производят запрашиваемые действия. Типичное главное устройство – компьютер.

В протоколе используются два специальных кода:

$55 – ключ (key) обращения к модулю;

$AA – префикс (^) передачи байтов, равных значению специальных кодов, но не являющихся ими.

Любая команда начинается с ключа – код $55. Далее данный код не должен встречаться ни в команде посылаемой главным, ни в ответе подчиненного. Для того чтобы выполнить это условие существует префикс – код $AA (префикс специальных кодов). Таким образом для передачи кода $55 необходимо передать следующую посылку $AA$00, а для передачи кода $AA - $AA$01.

Далее по тексту используются следующие обозначения:

ADR – адрес модуля (0-31);

CRC8 – контрольная сумма посчитанная по алгоритму CRC8.

Внимание! В первых версиях модуля адрес равен 31.

### Команда записи группы регистров

Формат запроса:

Смещение | Длинна поля (в байтах) | Допустимые значения | Описание
0 | 1 | $55 | Префикс команды.
1 | 1 | $20..$3F | Код команды ($20) + адрес модуля.
2 | 1 | 0..41 | Стартовый адрес.
3 | 1 | 0..41 | Количество изменяемых регистров. (N)
4 | 1 | 0..255 | Значение регистра.
... | ... | ... | ...
N+2 | 1 | 0..255 | Значение регистра.
N+3 | 1 | 0..255 | CRC8

Формат ответа:

Смещение | Длинна поля (в байтах) | Допустимые значения | Описание
0 | 1 | $00..$1F | адрес модуля.
1 | 1 | 0..3 | Код: 0 – команда выполнена успешно; 1 – неверный формат команды; 2 – неверный код команды; 3 – ошибка CRC
2 | 1 | 0..255 | CRC8

### Запрос версии программы

Запрос: Uп1FM<CR>

Ответ: !1FpTBL v1.00<CR>