Использование автономной станции первичного сбора информации на базе универсальной микроЭВМ "Электроника/НЦ-80" В распределенной разнородной системе файлового обмена KERMIT
Автор: Брусиловский Л.И., Конкина Л.Р., Скляров В.В.
Журнал: Компьютерная оптика @computer-optics
Рубрика: Автоматизация проектирования
Статья в выпуске: 4, 1989 года.
Бесплатный доступ
Описаны автономные средства автоматизации процесса первичного сбора и передачи информации на базе одноплатной микроэвм "Электроника/НЦ-80" с использованием протокола файлового обмена KERMIT.
Короткий адрес: https://sciup.org/14058157
IDR: 14058157
Текст научной статьи Использование автономной станции первичного сбора информации на базе универсальной микроЭВМ "Электроника/НЦ-80" В распределенной разнородной системе файлового обмена KERMIT
Работа, описываемая в данной статье, ведется в рамках создания автоматизированной интегрированной системы компьютерной оптики, которая включает в себя первичный сбор и обработку информации, управление технологическим процессом изготовления элементов компьютерной оптики, проведением испытаний готовых элементов КО, обработку результатов экспериментов и т.д.
Настоящая статья посвящена описанию автономных средств автоматизации процесса первичного сбора информации и передачи ее для дальнейшей обработки в инструментальновычислительный комплекс (ИВК).
Состав программного и технического обеспечения
Автоматизированная станция первичного сбора и передачи информации (АССП) создается на базе широко распространенной одноплатной микро-ЭВМ "Электроника/НЦ-80", которая является экономичной, дешевой, выпускается большим тиражом*
В качестве ИВК может использоваться компьютер любого типа с необходимыми для выполнения конкретной задачи ресурсами. Таким образом, комплекс АССП - ИВК состоит, в общем случае, из разнородных вычислительных средств. Для обмена информацией между АССП и ИВК был выбран протокол файлового обмена KERMIT. Выбор именно этого протокола обусловлен следующими причинами:
во-первых, KERMIT обеспечивает надежную передачу данных между разнородными ЭВМ;
во-вторых, KERMIT поддерживает передачу по обычным терминальным линиям связи (коммутируемым и физическим выделенным линиям), не требуя специального сетевого обеспечения (например, дорогостоящих сетевых адаптеров).
Кроме того, у нас накоплен уже некоторый опыт работы с этим протоколом в различных операционных системах и на различных ЭВМ [1].
Вышеизложенные соображения объясняют наше решение реализации АССП на базе микроЭВМ "Электроника/НЦ-80" с использованием протокола KERMIT для обмена данными.
В соответствии с задачами АССП ее программное обеспечение можно подразделить на три основные части: - управляющий монитор;
-
- целевое программное обеспечение, осуществляющее сбор информации с различных устройств связи, подключенных к станции;
-
- сетевое программное обеспечение для обмена информацией между АССП и ИВК, реализующее протокол файлового обмена KERMIT.
Эта последняя часть будет рассмотрена нами более подробно.
Формальное описание протокола KERMIT
Протокол KERMIT предназначен для обмена файлами между разнородными компьютерами по последовательным линиям связи [2].
KERMIT - символьно-ориентированный протокол, способный поддерживать передачу символьных и двоичных данных как в дуплексном, так и в полудуплексном режимах. Особенностью протокола KERMIT является возможность передавать как отдельные файлы, так и группы файлов, используя обобщенные имена. При этом имена файлов приводятся к нормальной форме: <имя>.<тип>.
Единицей передаваемых данных для протокола KERMIT является "пакет". Это ограниченная последовательность символов длиною до 94, содержащая поля данных, служебные и управляющие поля, обеспечивающие правильную и полную передачу информации. Протоколом предусмотрено получение подтверждения на каждый переданный пакет.
Формат пакета следующий:
MARK 1 LEN 1 S Е Q 1 TYPE 1 DATA 1 CHECK
Все поля состоят из ASCII-символов,
Содержание полей:
MARK - символ, обозначающий начало пакета, обычно CTRL-А;
LEN - длина пакета минус два, то есть число символов в полях SEQ,TYPE, DATA,CHECK. Максимальное значение LEN равно 94;
SEQ - последовательный номер пакета по mod64, то есть после каждой группы из 64 пакетов значение SEQ устанавливается в 0;
TYPE - тип пакета, может принимать одно из следующих значений:
D - пакет данных;
-
Y - ack - подтверждение успешной передачи;
N - пак - неподтвержденно передачи;
S - send-init - инициализация передачи;
В - break - завершение процесса обмена (транзакции*);
F - заголовок файла;
Z - конец файла;
Е - ошибка передачи;
Т - зарезервирован для внутреннего использования.
Кроме этих типов, в режиме SERVER используются дополнительные типы:
А - атрибуты файла;
R - инициализация приема;
С - системная команда;
К - команда KERMIT;
G - общие команды KERMIT с подкомандами;
I - инициализация обмена;
DATA - "содержание" пакета; интерпретируется в соответствии с типом пакета. Так, если тип С, или К, или G, то поле данных содержит текст команды;
CHECK - контрольная сумма по всем полям, кроме MARK и CHECK.
Таким образом, все типы пакетов Протокола KERMIT имеют одинаковый формат, различаясь только содержанием поля данных. Особый формат имеет S-пакет, в котором указываются параметры обмена данными, устанавливаемые в начале передачи.
Кроме формата пакета, протокол KERMIT определяет правила передачи
♦Транзакция здесь - это "сеанс" S-пакета и заканчивающийся В- или Е дачу одного или более файлов в одно:
Файлов во время одной транзакции. Последовательность передачи пакетов следующая:
-
- передающая программа ("передатчик") посылает S-пакет, определяющий параметры обмена; принимающая программа ("приемник") подтверждает передачу Y-пакетом;
обмена пакетами, начинающийся с пакетом и включающий в себя пере-[ и том же направлении.
-
- передатчик посылает F-пакет -заголовок файла, содержащий имя файла в поле данных; приемник подтверждает F-пакет пустым полем данных или именем в поле данных, под которым этот файл будет запомнен;
-
- передатчик пересылает содержимое Файла в D-пакетах; каждый D-пакет подтверждается приемником;
-
- когда передан весь файл, передатчик посылает Z-пакет (конец файла) ; если есть еще файлы для передачи , процесс повторяется, начиная с передачи F-пакета; если же все файлы переданы, то передатчик посылает В-пакет (конец транзакции).
При возникновении фатальной ошибки передачи посылается Е-пакет, вызывающий аварийное завершение транзакции.
Обмен данными по протоколу KERMIT может вестись в двух режимах -простом (базовом) и SERVER. SERVER-это программа KERMIT, запущенная на удаленном конце соединения. В отличие от базового режима, когда KERMIT запускается на обоих концах и управляющие команды выдаются пользователем как с приемного, так и с передающего узлов, режим SERVER характеризуется тем, что все управле ние процессом обмена ведется с одного конца соединения после запуска программы на удаленном конце в режиме SERVER. Во время транзакции все команды SERVER получает в С-, К-, R- или G-пакетах.
На рисунке изображена диаграмма состояний приемо-передающего узла, работающего в режиме SERVER. На этой диаграмме состояния узла обозначены окружностями, переходы из состояния в состояние - стрелками, а рядом со стрелкой указана причина перехода. Причиной перехода может быть получение пакета данных, управляющего пакета или пакета-подтверждения, или тайм-аут.
Начальное состояние узла определяется командой пользователя, заданной после запуска программы KERMIT. Если это команда "Server", то начальным будет состояние RECSERVER-IDLE, то есть состояние между транзакциями, в котором SERVER ждет управляющей команды. Задание команд "Get" или "Host" вводит в состояния SEND-GEN-COM или SEND-SERVER-INIT - состояния передачи управляющей команды режиму SERVER.
На диаграмме выделены также следующие состояния:
REC-FILE --ожидание F-пакета (заголовка файла);
REC-DATA - ожидание пакета данных или пакета EOF;
SEND-INIT - инициализация передачи;
SEND-FILE - передача F-пакета;
SEND-DATA - передача пакета данных;
SEND-EOF - передача пакета EOF (конец файла);
SEND-BREAK - передача В-пакета (конец транзакции);
COMPLETE - успешное завершение процесса передачи;
ABORT - аварийное завершение процесса передачи.
Режим SERVER более удобен в работе, так как не требует непосредственного ведения диалога на удаленном конце соединения для управления приемом/передачей. Для нашей задачи создания АССП это особенно важно, поскольку станция должна работать автономно, то есть без непосредственного управления пользователем.
Особенности реализации программного обеспечения АССП
Сетевое программное обеспечение АССП реализует именно SERVER - режим протокола KERMIT.
В связи с требованием экономичности (объем адресуемой памяти -64 Кбайт ) , предъявляемым к программному обеспечению АССП, в программе


обмена данными реализуются лишь основные возможности протокола, такие как выполнение команд SEND, RECEIVE, GET, CONNECT в режиме SERVER, а также некоторых команд ведения диалога с удаленным SERVER. Однако программа "открыта" для внесения дополнений, так что, используя для создания АССП микроЭВМ "Электроника/НЦ-ВО.3" с адресуемым пространством до 256 Кбайт, можно реализовать расширенные возможности KERMIT.
Программное обеспечение АССП разрабатывается и отлаживается на ИВК в среде Micro Power/Pascal, позволяющем создавать автономные программные приложения. Затем готовое приложение загружается в АССП и работает автономно.
Загрузка может производиться по линиям связи с ИВК или непосредственно из ППЗУ, в котором "зашито" программное приложение для АССП.