ЭКВМ Электроника МК. Обмен данными. Структура пакета


Главная / ЭКВМ / Техническая информация / Обмен данными

4. Структура пакета

 

4.1. В общем случае передаваемый пакет представляет собой последовательность байтов и имеет следующий вид:

NA, A, L1, L2, K, Z, R, D1...DN, KS

  • Где: NA - адрес группы;
  • A - адрес устройства в группе;
  • L1, L2 - длина пакета;
  • K - код типа пакета (команда);
  • Z - код группы параметров;
  • R - код параметра в группе;
  • D1...DN - данные;
  • KS - контрольная сумма.

Заголовок пакета, состоящий из адреса группы, адреса устройства в группе, длины пакета, команды, кода группы параметров и кода параметра, является обязательным, поле данных может отсутствовать, контрольная сумма также является обязательным параметром.

 

4.2. Адрес группы (NA) предназначен для подключения локальной СПД к сетям более высокого уровня, для связи с отдельным устройством внутри локальной СПД адрес группы должен равняться нулю.

Адрес устройства (A) или сетевой номер предназначен для идентификации в составе СПД и должен быть уникален для каждого устройства, подключенного к СПД. В ЭВМ сетевой номер устанавливается записью соответствующего числа в регистр функции R9049.

 

4.3. Длина пакета (L1, L2) может принимать значения от 4 до 65535. В поле учитывается длина полей K, Z, R, D1...DN и KS. Общая длина пакета, с учетом NA, A, L1 и L2, составляет величину 256*L2+L1+4.

В ЭВМ общая длина пакета ограничена величиной 255, то есть параметр L2 всегда равен 0, параметр L1 может принимать значения от 4 до 251.

 

4.4. Код команды K определяет назначение пакета. Используемые значения приведены в таблице 1.

Таблица 1

Код типа Назначение Устройство, формирующее пакет
HEX DEC
10h 16 Запрос данных Ведущее
20h 32 Передача данных Подчиненное
30h 48 Запись данных Ведущее
40h 64 Подтверждение о приеме или сообщение об ошибке Подчиненное
 

4.5. Код группы параметров (Z) и код параметра (R) определяют назначение и формат данных в пакете. Используемые сочетания значений кодов (спецификация кодов) для ЭВМ приведены в таблице 2.

Таблица 2

Номер Z
HEX(DEC)
R
HEX(DEC)
Формат данных Длина данных, байт Доступность Описание параметра
1. Идентификационная информация
1.1 0h (0) 0h (0) S 5 Запрос Краткое название ЭВМ
1.2 0h (0) 1h (1) S 51 Запрос Полное название ЭВМ
1.3 1h (1) 0h (0) S 6 Запрос Дата последней модификации программы
1.4 1h (1) 1h (1) S 24 Запрос Версия программы и дата последней модификации
1.5 2h (2) 0h (0) S 6 Запрос Краткое наименование предприятия-изготовителя
1.6 2h (2) 1h (1) S 84 Запрос Полное наименование предприятия-изготовителя
2. Память программ
2.1 80h (128) 0h (0) B 2 Запись/запрос Установить/считать текущий адрес памяти программ (от 0 до 9999)
2.2 80h (128) 1h (1) B 1 Запись/запрос Установить/считать текущий номер страницы памяти программ (от 0 до 99)
2.3 80h (128) 10h (16) B 1 Запись/запрос Записать/считать один байт программы по установленному адресу из ОЗУ памяти программ
2.4 80h (128) 11h (17) B 100 Запись/запрос Записать/считать страницу памяти программ из ОЗУ памяти программ
2.5 80h (128) 80h (128) - 0 Запись Восстановить ОЗУ памяти программ из ЭСППЗУ
2.6 80h (128) 81h (129) - 0 Запись Сохранить содержимое ОЗУ памяти программ в ЭСППЗУ
3. Десятичные данные
3.1 81h (129) 0h (0) B 2 Запись/запрос Установить/считать текущий номер регистра десятичных данных (от 0 до 999)
3.2 81h (129) 1h (1) B 1 Запись/запрос Установить/считать текущий номер блока десятичных данных (от 0 до 124)
3.3 81h (129) 10h (16) B 8 Запись/запрос Записать/считать десятичное число из ОЗУ памяти десятичных данных
3.4 81h (129) 11h (17) B 64 Запись/запрос Записать/считать блок десятичных чисел (8 чисел) из ОЗУ памяти десятичных данных
3.5 81h (129) 80h (128) - 0 Запись Восстановить ОЗУ памяти десятичных данных из ЭСППЗУ
3.6 81h (129) 81h (129) - 0 Запись Сохранить содержимое ОЗУ памяти десятичных данных в ЭСППЗУ
4. Двоичные данные
4.1 82h (130) 0h (0) B 2 Запись/запрос Установить/считать текущий номер регистра двоичных данных (от 0 до 4095)
4.2 82h (130) 1h (1) B 1 Запись/запрос Установить/считать текущий номер блока двоичных данных (от 0 до 63)
4.3 82h (130) 10h (16) B 1 Запись/запрос Записать/считать двоичное число из ОЗУ памяти двоичных данных
4.4 82h (130) 11h (17) B 64 Запись/запрос Записать/считать блок двоичных чисел из ОЗУ памяти двоичных данных
4.5 82h (130) 80h (128) - 0 Запись Восстановить ОЗУ памяти двоичных данных из ЭСППЗУ
4.6 82h (130) 81h (129) - 0 Запись Сохранить содержимое ОЗУ памяти двоичных данных в ЭСППЗУ
5. Текст
5.1 83h (131) 0h (0) B 2 Запись/запрос Установить/считать текущий номер символа текста (от 0 до 3071)
5.2 83h (131) 1h (1) B 1 Запись/запрос Установить/считать текущий номер строки текста (от 0 до 127)
5.3 83h (131) 10h (16) B 1 Запись/запрос Записать/считать символ из ОЗУ памяти текста
5.4 83h (131) 11h (17) B 24 Запись/запрос Записать/считать строку символов из ОЗУ памяти текста
5.5 83h (131) 80h (128) - 0 Запись Восстановить ОЗУ памяти текста из ЭСППЗУ
5.6 83h (131) 81h (129) - 0 Запись Сохранить содержимое ОЗУ памяти текста в ЭСППЗУ
6. Графический экран
6.1 84h (132) 0h (0) B 2 Запись/запрос Установить/считать текущий номер байта графического экрана (от 0 до 1023)
6.2 84h (132) 1h (1) B 1 Запись/запрос Установить/считать текущий номер строки графического экрана (от 0 до 7)
6.3 84h (132) 10h (16) B 1 Запрос Считать байт графического экрана
6.4 84h (132) 11h (17) B 128 Запрос Считать строку графического экрана
6.5 84h (132) 20h (32) B 1 Запрос Считать байт основного экрана
6.6 84h (132) 21h (33) B 128 Запрос Считать строку основного экрана
7. Журнал событий
7.1 85h (133) 0h (0) B 1 Запрос Считать текущий указатель журнала
7.2 85h (133) 1h (1) B 64 Запрос Считать группу последних записей журнала
8. Электронный блокнот
8.1 88h (136) 1h (1) B 2 Запись/запрос Установить/считать текущий номер группы записей (от 0 до 16383) электронного блокнота
8.2 88h (136) 11h (17) B 32 Запись/запрос Записать/считать группу записей электронного блокнота
9. Файловая структура
9.1 90h (144) 0h (0) B 1 Запись/запрос Установить/считать номер активного диска (0 или 1)
9.2 90h (144) 1h (1) B 1 Запись/запрос Установить/считать текущий номер строки каталога (от 0 до 63)
9.3 90h (144) 10h (16) B 38 Запрос Считать информацию о диске
9.4 90h (144) 11h (17) B 32 Запрос Считать строку каталога
9.5 90h (144) 80h (128) - 0 Запись Загрузить файл/каталог по номеру строки каталога
9.6 90h (144) 81h (129) - 0 Запись Удалить файл/каталог по номеру строки каталога
9.7 90h (144) 82h (130) B 32 Запись Создать каталог
9.8 90h (144) 83h (131) B 32 Запись Создать файл
10. Команды управления
10.1 A0h (160) 0h (0) B 2 Запрос ТЕСТ
10.2 A0h (160) 1h (1) B 1 Запись/запрос Установить/считать скорость обмена
10.3 A0h (160) 80h (128) - 0 Запись Установить блокировку клавиатуры
10.4 A0h (160) 81h (129) - 0 Запись Снять блокировку клавиатуры
10.5 A0h (160) 82h (130) - 0 Запись Запустить программу на исполнение
10.6 A0h (160) 83h (131) - 0 Запись Остановить исполнение программы

Примечание:

  • S - строка символов ASCII (кодовая страница 866);
  • B - последовательность двоичных данных;
  • ЭСППЗУ - энергонезависимая память ЭВМ.
 

4.6. Контрольная сумма (KS) вычисляется как арифметическая сумма всех байтов пакета по модулю 256.

 

4.7. Пакет запроса данных формируется внешним устройством и служит для получения от ЭВМ значения параметра, определяемого полями Z и R.

Структура пакета запроса данных, с учётом предопределённых значений полей: NA, A, 4, 0, 10h, Z, R, KS.

 

4.8. Пакет передачи данных формируется ЭВМ в ответ на пакет запроса данных при условии возможности передачи корректного значения параметра. В противном случае формируется пакет сообщения об ошибке (п. 4.10).

Структура пакета передачи данных, с учётом предопределённых значений полей: NA, A, (N+4)mod256, (N+4)/256, 20h, Z, R, D1,...DN, KS.

Символом "/" обозначена операция цельночисленного деления.

 

4.9. Пакет записи данных формируется внешним устройством и служит для записи в ЭВМ значения параметра, определяемого полями Z и R.

Если запись переданного параметра произведена корректно, формируется пакет подтверждения приёма (п. 4.11). В противном случае формируется пакет сообщения об ошибке (п. 4.10).

Структура пакета записи данных, с учётом предопределённых значений полей: NA, A, (N+4)mod256, (N+4)/256, 30h, Z, R, D1,...DN, KS.

Символом "/" обозначена операция цельночисленного деления.

 

4.10. Сообщение об ошибке формируется ЭВМ в ответ на пакеты запроса или записи данных в случае, если ЭВМ не может выполнить соответствующее действие.

Структура пакета сообщения об ошибке, с учётом предопределённых значений полей: NA, A, 5, 0, 40h, Z, R, D1, KS.

Байт данных D1 пакета является кодом возникшей ошибки. Возможные значения кода ошибки приведены в п. 5.

 

4.11. Сообщение об приёме формируется ЭВМ в ответ на пакет записи данных в случае корректного выполнения.

Структура пакета подтверждения приёма, с учётом предопределённых значений полей: NA, A, 5, 0, 40h, Z, R, 0, KS.

Пакет подтверждения приёма является частным случаем пакета сообщения об ошибке с кодом ошибки 0 (ноль).



НПП "СЕМИКО" (383) 271-01-25 (многоканальный)