OpenSCADAWiki: Doc/FT3/GRS ProtocolFT3
 
Contents

Протокол передачи данных

В процессе обмена данными на канальном уровне предусматривается небалансная процедура, имеющая три класса диалоговых процедур, построенных на базе кадров переменной длины формата FT3 (ГОСТ Р МЭК 870-5-1-95, ГОСТ Р МЭК 870-5-2-95):

1. Формат кадра


Стартовая комбинация
0x050x64

заголовок фиксированной длины
LCABCRC

данные переменной длины
D 16 байт CRC ... D до 16 байт CRC

L – длина посылки от 3...255, включающая C, A, B и данные D;
С – поле управления;
А – адрес получателя 0...15 (255 – для всех (broadcast ) в процедурах класса S1);
В – адрес отправителя 0…15;
CRC – 2 байта - (инверсные) контрольные разряды циклического кода образуемого полиномом X16+X13+X12+X11+X10+X8+X6+X5+X2+1
Алгоритм вычисления CRC приведен в приложении 1.

2. Структура поля управления

от первичной станции контроллеру
27 26 25 24 23 22 21 20
0 1 FCB 1 КОД

FCB - бит счета кадров: 0/1 чередуются отдельно для S2, S3;
Значения поля «КОД» приведены в таблице 1.
Код Класс Назначение функционального кода
0 S2 Сброс канала (установка FCB класса S2 в 0)
1 S2 Сброс данных класса 2
3 S2 Установка (запись) данных
4 S1 Корректировка таймера
5 S1 Общий сброс
10(0x0A) S3 Запрос данных класса 1
11(0x0B) S3 Запрос данных класса 2
12(0x0C) S3 Запрос данных
13(0x0D) S3 Адресный запрос


от контроллера первичной станции
27 26 25 24 23 22 21 20
0 0 ACD 0 КОД

Для процедур класса S3 предусматриваются два класса данных (изменений параметров КП) по приоритету передачи: класс 1 и класс 2.
ACD = 1, если контроллер располагает данными класса 1 и готов их передать.
Значения поля «КОД» приведены в таблице 2.
Код Класс Назначение функционального кода
0 S2 Положительная квитанция
1 S2 Отрицательная квитанция
8 S3 Данные
9 S3 Отрицательная квитанция (запрошенные данные отсутствуют)

3. Диалоговые процедуры


При получении некорректного поля L, А или С или искаженного кадра контроллер игнорирует его и не квитирует.

Бит счета кадров FCB предназначен для защиты от потерь или дублирования посылок сообщений. Первичная станция при каждой новой операции S2 или S3, направленной к одному и тому же контроллеру, изменяет значение бита FCB. Если ожидаемый ответ отсутствует или искажается, то операции S2 или S3 повторяются с тем же FCB.

Команда «Корректировка таймера» (S1 - код 4) выдается в начале часа.

В случае команды класса S2 «Установка данных» (код 3) поле D содержит последовательность данных вида: Z0P0 ... ZnPn, где Zi - позиционный адрес параметра:
215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
g k n

g - номер группы, k - номер объекта, n - номер параметра,
Pi - параметр (длина и значение зависит от типа параметра).

При обработке команды помимо установки параметров контроллер переносит информацию поля D в данные класса 1. В случае обнаружения ошибки в адресе или параметре обработка прекращается и выдается отрицательная квитанция (код 1 табл.2).

Команды класса S3 (код 10, 11, 12 табл.1) получают либо отрицательную квитанцию (код 9 табл.2), если данных нет, либо данные в виде блока событий в поле D. Причем, в ответ на “ Запрос данных” (код 12 табл.1) данные класса 2 передаются в случае, если нет данных класса 1. Блок событий содержит информацию, относящуюся к одному часу и, имеет следующую структуру: T0Z0sP0T1Z1sP1 ... TnZnsPn*, где **T0 - дата-время:
D:
215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
год (0-99) день (1-31)

H:
27 26 25 24 23 22 21 20
Час (0-23)

M:
215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
миллисекунды (в единицах по 0.1 сек)

Ti (i=1...n) - слово M из T0;
ZiPi (i=0..n) - адрес и параметр;
s - байт "состояние/адрес".

Различаются три типа параметров:
В случае команды «Адресный запрос» (код 13 табл.1) в поле D указываются только адреса запрашиваемых параметров (Z). В ответ контроллер передает либо запрошенные данные в поле D, либо отрицательную квитанцию (код 9 табл.2) при отсутствии параметра с указанным адресом. Значение FCB игнорируется.

Примечание. В приложении 2 приведены примеры некоторых диалоговых процедур.

4. Интерфейс ВУ - КП

В процессе работы ВУ периодически передает КП команду “Запрос данных” (код 12 табл.1). В ответ КП возвращает накопленные с момента последнего опроса события, либо отрицательную квитанцию (код 9 табл.2). ВУ по необходимости выполнять любые другие команды из табл. 1.

Объекты КП

БУЦ

Группа Объект Параметр Тип
Наименование Формат
0 0 0 Состояние 1 байт:
0 - норма
1 - сброс питания с сохранением ОЗУ
2 - общий сброс
После сброса переводится в 0 уставкой таймера
0
0 0 1 Модификация 2 байта: 0
0 1 0 Состояние таймера 1 байт:
0 - норма
1 - не установлен
0
0 1 1 Текущее время 5 байт (см. формат "дата-время") 2
0 1 2 Время последнего останова/запуска 5 байт (см. формат "дата-время") 0

БВТС

nTC - количество групп ТС. Каждая группа содержит 8 каналов ТС.
Группа Объект Параметр Тип
Наименование Формат
1 0 0 Состояние 1 байт:
0 - норма
128 - авария
0
1 0 2 N ТС блока 2 * N байт: группы ТС, Маски ТС 1
1 1 0 ... (nTC-1) Группа ТС 1 байт: D7-D0 - 8 TC группы. 0 - разомкнуто, 1 - замкнуто 0
1 2 0 - (N-1) Маски группы ТС 1 байт: D7-D0 - 8 масок TC группы. 0 - обрабатывается, 1 - замаскировано (отключено) 2

БТУ/БТР

nTU - количество каналов ТУ, nTR - количество каналов ТР.
Группа Объект Параметр Тип
Наименование Формат
2,11 0 0 Состояние 1 байт:
0 - норма
128 - авария
0
2,11 0 1 Выбор ТУ 1 байт:
D7 = 0 - отключить, 1 - включить
D6-D0 - номер ТУ
2
2,11 0 2 Исполнить 1 байт: 0x55 - исполнить, 0x00 - сброс ТУ 2
2,11 1 ... nTU 0 Время выдержки ТУ 2 байта: 0 - 65535 в единицах по 0,1 с 2
2,11 1 ... nTU 1 ТС концевиков 2 байта:
1-й байт - отключить:
D7 - значение ТC прекращения ТУ
D6-D0 - номер ТC
2-й байт - включить:
D7 - значение ТC прекращения ТУ
D6-D0 - номер ТC
2
2,11 1 ... nTU 2 Доп. время выдержки ТУ 1 байт: 0 - 255 в единицах по 0,1 с (после срабатывания концевика) 2
2,11 nTU + (1 ... nTR) 2 Уставка ТР 4 байта: число с плавающей точкой (0.00 - 20.0 мА) 2

Группа задвижек

Группа Объект Параметр Тип
Наименование Формат
6 0 0 Состояние 1 байт:
1 - норма
0 - авария
0
6 0 1 Конфигурация 1 слово 0
6 0 2 16 задвижек группы 32 байта: 2 на задвижку: 1(адрес) + 1(состояние) 0
6 1-16 0 Состояние 1 байт: D3-D0 - состояние:
0 - неопределенное
1 - закрыта
2 - открыта
3 - заклинена
5 - промежуточное
6 - ремонт (откл.)
D6-D4 - номер невыполненной функции:
1 - открыть
2 - закрыть
3 - стоп привода
4 - установить "отключено"
5 - снять отключено
D7 - режим:
0 - дистанционный
1 - кнопочный
2
6 1-16 1 Адреса ТУ и время исполнения 5 записей по 2 слова: 1 - открыть, 2 - закрыть
3 - стоп, 4 - установить дистанционный 5 - установить кнопочный режим
1 слово: D3-D0 - номер группы БТУ, D9-D4 - номер линии ТУ, D15-D10 - номер реле (см. БТУ)
2 слово: время исполнения (0,1с)
2
6 1-16 2 Адреса и состояния ТС 5 слов: 1 - открыта, 2 - закрыта
3 - установлен дистанционный режим, 4 - не откр. 5 - не закр.
D3-D0 - номер группы БВТС, D9-D4 - номер ТС, D15-D10 - ожидаемое состояние (см. БВТС)
2
6 1-16 3 Функция 1 байт: 1 - открыть, 2 - закрыть
3 - стоп привода, 4 - установить дистанционный режим 5 - установить кнопочный режим
2

Группа насосов

Группа Объект Параметр Тип
Наименование Формат
7 0 0 Состояние 1 байт:
1 - норма
0 - авария
0
7 0 1 Конфигурация 1 слово 0
7 0 2 16 насосов группы 32 байта: 2 на насос: 1(адрес) + 1(состояние) 0
7 1-16 0 Состояние 1 байт: D3-D0 - состояние:
0 - неопределенное
1 - выключен
2 - включен
3 - ремонт (откл.)
D6-D4 - номер невыполненной функции:
1 - включить
2 - выключить
3 - установить "отключено"
4 - снять отключено
5 - аварийно выключился
6 - не вышел на режим
D7 - режим:
0 - дистанционный
1 - кнопочный
2
7 1-16 1 Адреса ТУ и время исполнения 5 записей по 2 слова: 1 - вкл, 2 - выкл
3 - стоп, 4 - установить дистанционный 5 - установить кнопочный режим
1 слово: D3-D0 - номер группы БТУ, D9-D4 - номер линии ТУ, D15-D10 - номер реле (см. БТУ)
2 слово: время исполнения (0,1с)
2
7 1-16 2 Адреса и состояния ТС 3 слова: 1 - включен, 2 - выключен
3 - установлен дистанционный режим
D3-D0 - номер группы БВТС, D9-D4 - номер ТС, D15-D10 - ожидаемое состояние (см. БВТС)
2
7 1-16 3 Функция 1 байт: 1 - включить, 2 - выключить
3 - установить дистанционный режим 4 - установить кнопочный режим
2