Программное обеспечение модемов

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ МОДЕМОВ

1. Основные функции программ для модемов 

Набор выполняемых связными программами функций чрезвычайно широк и может значительно отличаться в каждом конкретном случае. Основными функциями программ для модемов являются: 

^ конфигурирование связного порта и режимов его взаимодействия с внутренней шиной компьютера (для внутренних модемов); 

> конфигурирование модема, то есть установка протокола передачи, формата данных, команд и других параметров; 

> управление модемом в процессе установления соединения и при передаче данных, вывод ответов модема и информации о состоянии соединения; 

> передача файлов между взаимодействующими компьютерами; 

> диалоговый текстовый обмен между пользователями компьютеров (Chat-режим); 

> доступ к информационным службам, базам данных; 

> выход в Internet; 

> удаленный доступ к локальной сети предприятия; 

> эмуляция режима Host — компьютера (главной ЭВМ) для ряда удаленных терминалов; 

> эмуляция режима терминала удаленного Host-компьютера; 

> сохранение принимаемой и передаваемой информации; 

> регистрация событий, происходящих в течение сеанса связи; 

> автоматизация часто повторяющихся последовательностей действий; 

> передача факсимильной информации между компьютерами или компью тером и факсимильным аппаратом; 

> организация хранения вспомогательной информации, такой как телефон ные номера, данные о конфигурации модема и др. 

Связные программы обеспечивают интерфейс пользователя с модемом, позволяют управлять конфигурацией модема и выполнением ими основных своих функций. 

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

Специфическими особенностями программ передачи факсимильной информации являются: 

> передача данных по расписанию многочисленным адресатам; 

^ прием и передача факсимильной информации в фоновом режиме; 

> преобразование ряда графических форматов данных в стандартные для факсимильных аппаратов; 

> возможность просмотра факсимильной информации. 

13.2. Типовые команды связных программ 

В большинстве связных программ (в основном для операционных систем типа DOS) для управления их режимами работы наряду с меню используются так называемые Alt-команды. Можно сказать, что сформировался некий стандарт де-факто на такие команды. Однако в конкретной реализации коммуникационной программы возможны некоторые отличия. Рассмотрим типовые Alt-команды на примере программы Procomm Plus. 

13.2.1. Команды управления соединением 

До соединения: 

<Alt>—<D> выход в телефонный справочник и набор номера. 

В процессе соединения: 

<Alt>—<B> передача разрыва; 

<Alt>-<C> очистка экрана; 

<Alt>—<G> сохранение информации, выведенной на экран; 

<Alt>—<L> включение/отключение принтера; 

<Alt>—<T> вывод времени соединения; 

<Alt> — <М> использование клавиш макроопределений; 

<Alt>—<Fl> включение/выключение записи в файл регистрации соеди нения; 

<Alt>- <F2> задание паузы записи в файл регистрации соединения; 

<Alt>- <F5> запуск Script-файла; 

<Alt> —<F6> повторный вывод сохраненного содержимого экрана; 

<Alt> — <Е> переключение режима дуплекс/полудуплекс; 

<Alt>—<0> включение режима диалога (Chat—режима); 

<Alt>—<Q> включение Host-режима; 

<Alt> — <J> инициализация модема; 

<Alt>—<Y> автоматический ответ на вызов; 

<Alt>—<U> сброс терминала; 

<Alt> -<R> режим записи; 

<Alt> — <К> переход в меню команд программы защиты от ошибок прото кола Kermit; 

<Alt> — <N> пауза экрана; 

<Alt> — <F3> переключение режимов "возврат каретки/ возврат каретки с переводом строки" (CR/CRLF). 

После соединения: 

<Alt> — <Н> отключение от линии; 

<Alt>-<X> выход из программы. 

13.2.2. Команды установки конфигурации 

<Alt>—<S> конфигурирование модема; 

<Alt>—<P> конфигурирование портов; 

<Alt> <W> таблица преобразования; 

<Alt> - <F8> распределение функций клавиш клавиатуры. 

13.2.3. Команды дополнительных функций 

<Alt> — <А> вызов текстового редактора; 

<Alt>—<F> выход в каталог файлов; 

<Alt>—<!> вывод информации о программе; 

<Alt>—<V> просмотр файла; 

<Alt>—<F7> смена каталога; 

<Alt>—<=> использование буфера временного хранения (Clipboard); 

<Ctrl>—<\> режим монитора; 

<Ctrl > — < ]> изменение состояния; 

<Ctrl> — < — > изменение строк; 

<'> выход в меню программы. 

13.3. Конфигурирование порта 

13.3.1. Установка номера порта 

Большинство программ позволяют использовать последовательные порты СОМ 1—COM4. Однако программы, ориентированные на компьютеры IBM PS/2, могут использовать СОМ1—СОМ8. Номер порта, устанавливаемый в программе, должен соответствовать реально используемому модемом порту. Рис. 13.1 иллюстрирует меню операционной системы Windows'95, в котором производится установка номера порта. 

13.3.2. Скорость передачи 

Скорость передачи данных по последовательному порту задается одним из значений: 75, 110, 300, 1200, 2400, 4800, 9600, 19600, 38400, 57600, 115200 Бод. Выбор скорости зависит от типа модема, его максимальной скорости и типа микросхемы UART, используемой в контроллерах последовательного порта модема и компьютера. 

Если вы не являетесь счастливым обладателем UART 16550A и не используете программные ускорители типа FOSSIL-драйверов, то скорость передачи порта не может быть выше 19200 Бод. 




Рис. 13.1. Установка свойств модема в Windows'95 

При использовании модема, поддерживающего протоколы сжатия (V.42bis, MNP5), рекомендуется устанавливать скорость порта несколько большей, чем максимально возможная скорость передачи информации модемом. Например, если модем поддерживает протокол V.34 (28800 бит/с), то необходимо установить скорость порта 38400, 57600, или 115200 Бод. 

Часто для более устойчивой работы приложений требуется, чтобы скорость передачи по используемому порту была постоянной и не изменялась в течение сеанса связи, даже несмотря на изменение скорости передачи модемом в канале. Это условие, в частности, относится к программам, использующим в своей работе Fossil-драйверы. Такая "залочка" (lock — замок, запирать) порта, как правило, достигается подачей команды АТ&В1 или явным заданием скорости порта в программе. В Windows'95, характеризующейся общим "отчуждением железа" от пользователя, фиксация скорости порта осуществляется установкой флажка "Only connect at this speed" в поле "Maximum speed" меню General (Control Panel\Modems\General) (рис. 13.1). 

13.3.3. Формат передачи 

Формат передаваемых через порт асинхронных знаков задается следующими параметрами: 

> числом бит данных (7 или 8); 

> числом стоповых бит (1, 1.5 или 2); 

> типом проверки (на четность — Even, на нечетность — Odd, без проверки — None, проверочный бит всегда равен "1" — Mark, проверочный бит всегда равен "О" — Space). 




Рис. 13.2. Установка формата асинхронного символа в Windows'95 

Наиболее широко используется формат символа, включающий в себя 8 бит данных и 1 столовый бит без использования проверки (8N1). Значения соответствующих параметров для данного формата в Windows'95 показаны на рис. 13.2. 




Рис. 13.3. Установка адреса порта и номера прерывания в терминальной программе Telix 




Рис. 13.4. Установка параметров порта в программе Term95 (NC 5.0) 

13.3.4. Адрес порта и номер прерывания 

При конфигурировании встроенных модемов задаются адрес порта ввода-вывода и номер линии прерывания. На рис. 13.3 и 13.4 иллюстрируется выполнение этой операции для DOS с помощью программ Telix и Term95 (терминальной программы, включенной в состав оболочки Norton Commander 5.0). 

13.4. Использование FOSSIL-драйверов 

FOSSIL-драйверы используются для расширения функций BIOS, обслуживающих асинхронный последовательный порт (FOSSIL — аббревиатура названий нескольких коммуникационных программ Fido/Opus/SEAdog Standard Layer). Дополнительно эти драйверы поддерживают ряд функций для работы с клавиатурой, видеоадаптером и системным таймером. 

Применение FOSSIL-драйверов позволяет увеличить скорость обмена по последовательному порту до 38400 Бод, в то время как функции BIOS обеспечивают максимальную скорость передачи только 9600 Бод. 

Работа FOSSIL-драйверов основана на перехвате прерываний от портов. Драйверы содержат два внутренних буфера (приемника и передатчика), организованных в виде очереди FIFO. В буфер передатчика записываются данные, передаваемые компьютером модему. Драйвер самостоятельно определяет, когда свободен регистр данных СОМ-порта, и записывает в него очередной символ данных. При этом переданный символ удаляется из буфера, и осуществляется передача следующего символа. В буфер приемника драйвер записывает данные, поступающие в компьютер через СОМ-порт. Затем содержимое этого буфера может быть считано прикладной программой при помощи специальной функции драйвера. 

Существуют специальные FOSSIL-драйверы, обеспечивающие программную эмуляцию протоколов исправления ошибок. Наиболее распространенными FOSSIL-драйверами являются XOO.SYS (ХОО.СОМ) и BNU.EXE (BNU.COM). В качестве примера рассмотрим установку этих драйверов. 

Для запуска драйвера из стартового файла CONFIG.SYS, в нем необходимо записать строку: 

device = XOO.SYS Е 2 Т=1024 R=2048, 

где Е — отключение заставки, 2 — номер СОМ-порта, Т=1024 — размер буфера для передачи, R=2048 — размер приемного буфера. 

При запуске драйвера из командной строки DOS с теми же параметрами необходимо набрать следующую команду: 

ХОО.ЕХЕ Е 2 Т=1024 R=2048 Драйвер BNU.EXE запускают из командной строки следующим образом: 

BNU.EXE /T:1024 /R:2048 /М-, 

где /Т=1024 — размер буфера для передачи, /R=2048 — размер приемного буфера, /М— — отключение заставки. 

Рассматриваемые драйверы допускают фиксацию скорости порта, что оказывается полезным при использовании модемов с аппаратным сжатием передаваемых данных. При фиксации порта в команды запуска FOSSIL-драйверов добавятся следующие параметры (порт COM2, скорость фиксации 9200 Бод): 

> при запуске драйвера ХОО в CONFIG.SYS: 

device = XOO.SYS Е 2 Т=1024 R=2048 В,2,19200 > при запуске драйвера ХОО из командной строки DOS: 

ХОО.ЕХЕ Е 2 Т=1024 R=1024 В,2,19200 > при запуске драйвера BNU: 

BNU.EXE /R-.1024 /Т:2048 /М- /L1:19200,8N1 

Для большинства модемов V.22bis (2400 Бод) с аппаратными протоколами MNP и V.42bis рекомендуется установить скорость порта 9600 Бод, для модемов V.32 (9600 Бод) - 19200 бод, а для модемов V.32bis (14400 Бод) - 19200 и выше. Максимальная скорость в этом случае зависит уже от параметров СОМ-порта. 

13.5. Конфигурирование модема 

Установки параметров и управление работой модема осуществляется с помощью АТ-команд. Для удобства пользователя современные коммуникационные программы используют заранее подготовленные данные о конфигурации и АТ-командах большого числа известных модемов. Если модем не входит в их число, то приходится выбирать наиболее близкий по характеристикам из списка либо самостоятельно создать строку инициализации, автоответа, отбоя и т.п., пользуясь документацией на модем. 

13.5.1. Строка инициализации 

Строка инициализации (init string) задает исходный режим работы модема и состоит из ряда АТ-команд. В общем случае таких строк может быть несколько — для различных режимов соединения. Например, одна — для соединения без использования протоколов сжатия данных и исправления ошибок, другая — с использованием таких протоколов. Часто строку инициализации можно сократить, записав необходимые установки в память модема, например, командой AT&W1. 

Пример строки инициализации в меню Modem Settings программы Term 95 приведен на рис. 13.5. 

В операционной системе Windows'95 строка инициализации в явном виде практически никогда не задается. При инициализации модема, обслуживаемого Windows'95, посылаются команды, соответствующие установкам параметров модема. 

Таблица 13.1. Протокол соединения модема 

Номер раздела 

Содержимое файла ModemLog.txt 

1 

10-06-1996 20:31:12.94 — Телефакс-модем ZyXEL U-1496xx (E,E+,S,S+), V32b (внешний) in use. 10-06-1996 20:31:13.12 — Modem type: Телефакс-модем ZyXEL U-1496xx (E,E+,S,S+), V32b (внешний) 10-06-1996 20:31:13.12 - Modem Inf path: MDMZYXEL.INF 10-06-1996 20:31:13.12 — Modem Inf section: UodemO 10-06-1996 20:31:13.47 — 19200,8.6,1 10-06-1996 20:31:14.64 — 36400Х6,1 10-06-1996 20:31:14.64 — 36400,N,6,1 

2 

10-06-1996 20:31:15.07 — Initializing modem. 10-06-1996 20:31:15.07 — Send: AT &F ЕО Х7<сг> 10-06-199620:31:15.26— Recv: <cr><lf>OK<crxlf> 10-06-1996 20:31:15.26 — Interpreted response: Ok 10-06-1996 20:31:15.26 — Send: AT 835.1=0 S35.7=1 <cr> 10-06-1996 20:31:15.29 — Recv: <cr><lf>OK<crxlf> 10-06-199620:31:15.29 — Interpreted response: Ok 10-06-1996 20:31:15.29 — Send: AT S46.2°1<cr> 10-06-1996 20:31:15.29 — Recv: <cr><lf>OK<crxlf> 10-06-199620:31:15.31 — Interpreted response: Ok 10-06-199620:31:15.31 —Send: ATS7-60S50-OL1 M 1 &K3'EO&K4&H3BOS41.4-1 <cr> 10-06-199620:31:15.32 — Recv: <crxlf>OK<crxlf> 10-06-199620:31:15.32 — Interpreted response: Ok 10-06-19S6 20:31:15.32 — Send: AT&N35LO<cr> 10-06-1996 20:31:15.32 — Recv: <crxlf>OK<crxlf> 10-06-1996 20:31:15.32 — Interpreted response: Ok 

3 

10-08-199620:31:16.33 — Dialing 10-06-1996 20:31:15.33 - Send: ATDP#,#######<cr> 10-06-1996 20:31:43.06 — Recv: <crxlf>RINQINe<crxlf> 10-06-1996 20:31:43.06 — Interpreted response: Informative 10-06-1996 20:31:48.69 - Recv: <crxlf>RINQINQ<cr><lf> 104)6-1996 20:31:48.69 — Interpreted response: Informative 10-06-1996 20:31:57.64 — Hanging up the modem. 10-06-1996 20:31:57.64 — Send: <cr> 10-06-1996 20:31:56.26 — Recv: <crxlf>NO CARRIER<crxlf> 10-06-1996 20:31:56.26 — Interpreted response: No Carrier » 10-06-1996 20:31:56.26—Send: ATHO<cr> 10-06-1996 20:31:56.46 — Recv: <crx¦f>OK<crxlf> 10-06-1996 20:31:56.46 — Interpreted response: Ok 




4 

10-06-1996 20:31:58.85 — Session Statistics: 10-06-1996 20:31:58.85 — Reads : 72 bytes 10-06-1996 20:31:58.85 — Writes: 109 bytes 10-06-1996 20:31:58.85 — Телефакс-модем ZyXEL U-1496xx (E,E+,S,S+), V32b (внешний) closed. 




Опытный пользователь может добавить свои АТ-команды в строке ввода "Extra settings" меню "Advanced Connection Settings" (рис. 13.6). В этом случае установленные пользователем команды будут посланы модему в последнюю очередь непосредственно перед набором номера и установлением соединения. 

В табл. 13.1 приведен протокол (неудачного) соединения для конфигурации модема, соответствующей установкам параметров на рис. 13.1, 13.2, и 13.6. При установленном флажке "Record a log file" протокол записывается в файл ..\Windows\ModemLog.txt (рис. 13.6). 

В табл. 13.1 можно выделить несколько разделов. Первый раздел содержит основные данные о модеме и параметрах порта. Второй — протокол инициализации модема. Инициализация происходит путем передачи модему нескольких наборов АТ-команд и получения от него ответов. Последними посылаются команды, набранные пользователем в строке "Extra settings" меню "Advanced Connection Settings" (в табл. 13.1 выделено жирным курсивом). После этого начинается набор номера. Протокол набора номера записывается в разделе 3. Протокол соединения одиночного вызова завершается разделом статистики (раздел 4). 




Рис. 13.6. Задание "строки инициализации" в свойствах соединения Windows'95 

13.5.2. Префикс и окончание строки набора 

Префикс строки набора (dial prefix) обычно содержит команду подключения к линии (ATD) и выбора типа набора — импульсный (Р) или тональный (Т). При необходимости в префикс строки набора вводят команду задания паузы или ожидания второго ответа станции ("," или W соответственно) при внешнем или междугороднем соединении. 

Окончание строки набора (dial suffix) обычно представляет собой знак "Возврат каретки", завершающий последнюю АТ-команду ("М, то есть <Ctrl>-<M>) (см. рис. 13.5). 

13.5.3. Строки автоответа и отбоя 

Строка автоответа (answer string) представляет собой АТ-команду ATSO=1'M. Строка отбоя (hang-up string) выглядит примерно следующим образом: 

——+++-—-АТН(ГМ (см. рис. 13.5). Здесь знаки "——•" задают необходимую паузу в передаче, но не менее 1 с, необходимую для переключения модема в командный режим. 

13.6. Установки для факсимильной связи 

Кроме перечисленных выше параметров, программы передачи факсимильных сообщений используют ряд специфических установок. К ним относятся: 

> параметры управления передачей; 

> параметры преобразования факсимильной информации; 

> параметры приема факсов; 

> параметры открывающей страницы; 

> параметры аппаратных средств системы. 

Для известной программы BitFax Professional Lite вариант возможных групп параметров представлен на рис. 13.7. 

13.6.1. Параметры управления передачей факсов 

Параметры управления передачей факсов включают в себя (рис. 13.8): 

> включение/выключение передачи открывающей страницы; 

> стирание/сохранение QFX-файлов после их передачи; 

> основной/фоновый режим передачи; 

> число повторных наборов номера; 

> интервал между повторными наборами номера и ряд других. 




Рис. 13.7. Установки типичной факсимильной программы 




Рис. 13.8. Основные параметры передачи BitFax Professional Lite 

13.6.2. Параметры преобразования факсимильной информации 

Параметры преобразования факсимильной информации включают в себя: 

> включение/выключение центровки на странице; 

> установка разрешающей способности; 

> включение/выключение полностраничной передачи; 

> установка числа строк текста на странице (60—70); 

> установка интервала табуляции (6—'10 знаков) > установка отступов сверху и снизу страницы. 

13.6.3. Параметры режима приема факсов 

Для задания режима приема факсов устанавливаются следующие параметры (рис. 13.9): 

> идентификация приема факсов; 

> основной/фоновый режим приема факсов; 

> имя каталога для сохранения принимаемых факсимильных сообщений; 




Рис. 3.9. Параметры режима приемов факса 

> режим ответа модема: Fax, Fax/Data или ручной; 

^ число входящих звонков для ответа факс-модема и ряд ругих (рис. 13.9). 

/ 

13.6.4. Параметры открывающей страницы 

Для создания программой открывающей страницы (Cover Page) требуется ввести информацию о пользователе: 

> наименование организации; 

> координаты пользователя (факс и телефон); 

> фамилия и имя; 

> имя графического файла, содержащего рисунок, включаемый в открывающую страницу. 

13.6.5. Параметры аппаратных средств 

Установка параметров аппаратных средств требуется, как правило, для программ, предназначенных для работы в операционных системах без графического интерфейса пользователя. В этом случае нужно задать: 

> тип монитора; 

> режим адаптера монитора; 

> тип принтера; 

> порт печатающего устройства. 

13.7. Конфигурирование окружения коммуникационных программ 

Для того, чтобы коммуникационная программа могла работать с файлами, необходима определенная установка параметров окружения: 

>  имена файлов и пути (имена каталогов) для сохранения различных данных, регистрационной и вспомогательной информации; 

> названия и пути внешних редакторов текста и (или) изображения; 

> названия и пути внешних программ просмотра текстовых и графических файлов; 

>  палитры и другие детали оформления пользовательского интерфейса. 




Рис. 13.10. Параметры окружения программы Qmodem Pro for Windows'95 

Набор и количество конфигурационных параметров меняется в зависимости от конкретного приложения. В качестве примера на рис. 13.10 приведено меню "Options" программы Qmodem Pro for Windows'95. 

13.8. Использование Script-команд 

Scri pt-командыи Script-файлы являются чрезвычайно удобным средством автоматизации часто повторяемых задач. Они представляют собой последовательность команд,написанных на специально созданных для этих целей Scri pt-языках (script languages) и оформленных в виде макрокоманд или файлов. В состав таких Script-языков входит ряд операторов, позволяющие выполнять основные функции связных программ, такие как набор номера, ввод пароля, ответы на запрос удаленного абонента, пауза и т.п. Современные Script-языки имеют различный уровень сложности, начиная от простого списка возможных команд до развитых алгоритмических языков. В программах со сложными Script-языками обычно имеется функция создания Script-команд путем запоминания выполняемой пользователем последовательности действий. 

Наиболее известными Script-языками являются SALT (Quick Link II Fax), SALT II (WinTelix), Aspect (Procomm Plus), SLIQ (QmodemPro for Windows'95) и др. В качестве простого примера использоватгя Script-команд рассмотрим применение свободно распространяемой утилиты Dial-Up Scripting Tool, предназначенной для автоматизации сетевых соединений (Dial-Up ) в среде Widows'95. 

Сначала требуется создать Script-файл — текстовый файл, содержащий последовательность команд. Основными командами последовательности являются следующие: 

ргос <пате> — определяет начало Script-процедуры. Все Script-файлы должны иметь главную процедуру (ргос main). Последовательность команд начинает выполняться в главной процедуре и заканчивается в ее конце. 

endproc — обозначает окончание Script-процедуры. После выполнения этой команды из главной процедуры средствами Dial-Up Networking будет запущен протокол РРР или SLIP. 

delay <n seconds> — задает паузу длительностью п секунд между текущей и следующей командами. 

waitfor "<string>" — используется для ожидания последовательности символов, передаваемых удаленным компьютером, с которым устанавливается соединение. Задаваемая последовательность символов <string> зависит от регистра их набора. Например, если задана команда waitfor "OLEG", то при приеме последовательности "Oleg" следующая команда выполнена не будет. 

transmit "<string>" \ SUSERID \ SPASSWORD - передача последовательности символов, имени пользователя или его пароля удаленному компьютеру. Имя пользователя и пароль автоматически передаются из соответствующих переменных Dial-Up Networking connection, с которым связан данный Script-файл (рис. 13.11). 

set port databits <integer> — изменяет число бит в передаваемом компьютером асинхронном символе. Допустимы значения от 5 до 8. Если эта команда не используется, то применяются установки порта из свойств Dial-Up Networking connection, с которым связан данный Script-файл. 




Рис. 13.11. Установка связи средствами Dial-Up Networking Windows'95 

set port stopbits <integer> — изменяет число стоповых бит в передаваемом асинхронном символе. Возможны значения 1 или 2. Если эта команда не применяется, то используются установки свойств соответствующего Dial-Up Networking connection. 

set port parity none \ odd. \ even \ mark \ space — позволяет изменять схему паритета передаваемых в течении сессии асинхронных знаков. Особенности команды те же, что и двух предыдущих. 

set ipaddr — устанавливает для сессии IP-адрес. 

set screen keyboard on \ off — включает/выключает возможность ввода с клавиатуры в окно терминала. 

getip <optional index> — получает IP-адрес и использует его как адрес рабочей станции. Параметр <optional index> содержит не тот IP-адрес, который будет использоваться в случае, если удаленный компьютер прислал более одного адреса. 

Halt — позволяет приостановить выполнение Script-файла. В этом случае появляется окно терминала, где вручную можно ввести дополнительную информацию. Для продолжения соединения необходимо нажать кнопку Continue. 

; — индикатор комментария. Любой текст, следующий за этим знаком игнорируется. 

Пример простого Script-файла, применяемого для связи с Internet-провайдером, приведен ниже. 

proc main 

delay I 

transmit ""M" 

waitfor "login:" 

delay 1 

transmit "uutest" 

transmit ""M" 

delay 1 

waitfort "password:" 

delay 1 

transmit "test" 

waitfor "Shere=gsp" 

delay 2 

transmit "^PStest ppp" 

transmit ""M" endproc 

Затем созданный Script-файл необходимо сохранить с расширением *.scp и связать с соответствующим сетевым соединением. Это осуществляется при помощи утилиты Dial-Up Scripting Tool (рис. 13.12): 




Рис 13 .12 Свнязывание сетевого соединения со скрипт файлом 

> в окне "ConnecLions" выберите сетевое соединение; 

> в строке "File name" введите имя требуемого Script-файла; 

> нажмите кнопку "Apply". 

13.9. Эмуляция Host-компьютера 

Некоторые коммуникационные программы позволяют переводить компьютера в режим Host-компьютера (главного компьютера). Такой режим позволяет организовать на базе компьютера упрощенную электронную доску объявлений BBS (Bulletin Board Service) или банк данных для группового использования. Удаленные пользователи получают доступ к ресурсам местного компьютера, находящегося в режиме главного компьютера. Они могут просматривать каталоги и файлы, организовывать их прием и передавать свои данные на Host-компьютер. 

Для организации режима Host-компьютера коммуникационная программа должна выполнить следующую последовательность действий: 

^ перевести модем в режим автоответа на входящий звонок; 

> передать "приглашение" вызывающему абоненту после установления соединения; 

> запросить имя и пароль абонента; 

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

> выполнить автоматическое разъединение при прекращении сеанса с удаленным абонентом. 

Перевод компьютера в Host-режим производится при помощи соответствующего варианта команды конкретной связной программы. Чаще всего в таких программах режим Host-компьютера устанавливается путем запуска специальной Script-команды. 

13.10. Эмуляция терминалов 

Свойство эмуляции терминала коммуникационной программы дает возможность компьютеру функционировать как терминал определенного типа, что, в свою очередь, предоставляет ему возможность связываться практически с любым Host-компьютером, в частности, с BBS. В тоже время, режим терминала коммуникационной программы является исходным для ввода любых команд управления. В этом режиме осуществляется выдача команд модему и получение ответов от него. 

Функция эмуляции терминала осуществляет перевод команд от Host-компьютера и к нему в команды, определенные изготовителями для терминала данного типа. Эти команды часто начинаются с кода ASCII "ESC" (1Bh), за которым следует последовательность знаков. Такие последовательности называются Esc-последовательностями. Содержание этих последовательностей для разных типов терминалов различно. 

Как правило, имеется возможность выбора типа эмулируемого терминала (рис. 13.13). Предлагаемая в коммуникационных программах настройка режима  терминала позволяет управлять тем, как приложение обращается с информацией, отображаемой в режиме терминала (рис. 13.14). Это относится как к принимаемым данным, так и к данным, набираемым на клавиатуре. 




Рассмотрим некоторые параметры, относящиеся практически к любому из эмулируемых терминалов. 

Line Wrap — включение опции автоматического перевода строки по достижению ее границы экрана. 

Add LF to CR — упраляет вставкой символа перевода строки LF (Line Feed) после каждого символа возврата каретки CR (Carriage Return). 

Destructive backspace — опция управления действием клавиши Backspace. Когда она выключена, клавиша Backspace сдвигает курсор на один символ влево не стирая его. При включении этой опции клавиша Backspace дополнительно стирает стоящий слева символ. 

Strip high bit — предписывает программе игнорировать старший бит выводимого на экран байта. При работе с кодировками национальных языков данная опция должна быть выключена. 

Наиболее простым типом терминала является TTY. Он обрабатывает только простейшие управляющие символы, такие как возврат каретки и табуляция. Широкое распространение получили термины ANSY, ANSY-BBS, VT52, VT100, VT102 и WISE. Многие программы электронных справочных служб BBS при соответствующих командах могут передавать последовательности, поддерживаемым терминалом ANSY-BBS. Терминал VT102 разработан фирмой Digital Equipment Corporation и также является популярным типом терминала. В нем реализовано большое число функций. 




Рис. 13.t4. Опции эмуляции терминала ANSY в программе Qmodem Pro 

В табл. 13.2—13.5 приводятся управляющие последовательности наиболее распространенных терминалов и их эмуляторов. 

Таблица 13.2. Управляющие последовательности для терминалов ANSI 

Клавиши PC 

Клавиши терминала 

Передаваемые символы 

Tab 

Tab 

Л1 

F1 

Program Function 1 (PF1) 

*[ОР 

F2 

Program Function 2 (PF2) 

*[OQ 

F3 

Program Function 3 (PF3) 

*[ОР 

F4 

Program Function 4 (PF4) 

"[OS 

Backspace 

Backspace 

*Н 

Enter 

Return 

*М 

Gray Delete 

Delete Character 

D 

Gray Home 

Home Cursor 

-[[Н 

Gray End 

Erase End of Line 

W 

Gray Pageup 

Mapped by QmodemPro 

©UPLOAD 

Gray Pagedown 

Mapped by QmodemPro 

©DOWNLOAD 

Gray Up 

Cursor Up 

^[А 

Gray Down 

Cursor Down 

^[В 

Gray Left 

Cursor Left 

W 

Gray Right 

Cursor Right 

-ЧЕС 

Pad/ 

/ 

/ 

Pad' 

* 

* 

Pad- 

— 

— 

Pad+ 

+ 

+ 

Pad Enter 

Enter 

*М 

Pad. 

 

 

PadO 

0 

о 

Pad1 

1 

1 

Pad 2 

2 

2 

Pad3 

3 

3 

Pad 4 

4 

4 

Pad 5 

5 

5 

Pad 6 

6 

6 

Pad? 

7 

7 

Pad 8 

8 

8 

Pad 9 

9 

9 

Pad Delete 

Delete Character 

D 

Pad End 

Erase End of Line 

W 

Pad Down 

Cursor Down 

^[В 

Pad Pagedown 

Mapped by QmodemPro 

©DOWNLOAD 

Pad Left 

Cursor Left 

-[[D 




Pad Right 

Cursor Right 

"[[С 

Pad Home 

Home Cursor 

-[[Н 

Pad Up 

Cursor Up 

-[[А 

Pad Pageup 

Mapped by QmodemPro 

©UPLOAD 

Shift+Backspace 

Delete Character 

D 

Shift+Enter 

Enter 

*М 

Shift+Gray Delete 

Delete Character 

D 

Shift+Pad / 

/ 

/ 

Shift+Pad« 

* 

* 

Shift+Pad — 

— 

— 

Shift+Pad + 

+ 

— 

Shift+Pad Enter 

Enter 

"М 

Shift+Pad Delete 

 

 

Shift+Pad Insert 

0 

о 

Shift+Pad End 

1 

1 

Shift+Pad Down 

2 

2 

Shift+Pad Pagedown 

3 

3 

Shift+Pad Left 

4 

4 

Shift+Pad Clear 

5 

5 

Shift+Pad Right 

6 

6 

Shift+Pad Home 

7 

7 

Shift+Pad Up 

8 

9 

Shift+Pad Pageup 

9 

9 

Control+Backspace 

0 

"Х 

Control+Enter 

Enter 

"М 

Control+Gray Home 

Insert Line' 

^[L 

Control+Gray Pageup 

Delete Line 

"[[М 

Control+Gray Pagedown 

Clear Screen 

^[WW 

Control+Pad / 

/ 

/ 

Control+Pad « 

* 

* 

Control+Pad — 

Keypad Application MINUS 

"[От 

Control+Pad + 

Keypad Application COMMA 

"[01 

Control+Pad Enter 

Keypad Application Enter 

"[ОМ 

Control+Pad . 

Keypad Application PERIOD 

"[On 

Control+Pad 0 

Keypad Application 0 

л[0р 

Control+Pad 1 

Keypad Application 1 

A[OQ 

Control+Pad 2 

Keypad Application 2 

"[Or 

Control+Pad 3 

Keypad Application 3 

'40s 

Control+Pad 4 

Keypad Application 4 

"[Ot 




Control+Pad 5 

Keypad Application 5 

*[0u 

Control+Pad 6 

Keypad Application 6 

"[Ov 

Control+Pad 7 

Keypad Application 7 

^Ow 

Control+Pad 8 

Keypad Application 8 

^Ox 

Control+Pad 9 

Keypad Application 9 

л[0у 

Control+Pad Delete 

Keypad Application PERIOD 

"[On 

Control+Pad Insert 

Keypad Application 0 

л[0р 

Control+Pad End 

Keypad Application 1 

л[0о 

Control+Pad Down 

Keypad Application 2 

"[Or 

Control+Pad Pagedown 

Keypad Application 3 

'40s 

Control+Pad Left 

Keypad Application 4 

"[Ot 

Control+Pad Clear 

Keypad Application 5 

^Ou 

Control+Pad Right 

Keypad Application 6 , 

*[0v 

Control+Pad Home 

Keypad Application 7 

"[Ow 

Control+Pad Up 

Keypad Application 8 

"[Ox 

Control+Pad Pageup 

Keypad Application 9 

л[0у 

Shift+Control+Enter 

Enter 

^ 

ShIft+Control+Pad Enter 

Enter 

"M 

ShIft+Control+Pad Home 

Insert Line 

^[L 




Таблица 13.4. Управляющие последовательности для терминалов VT 102 

Клавиши PC 

Клавиши терминала 

Передаваемые символы 

Tab 

Tab 

А! 

F1 

Program Function 1 (PF1) 

"[ОР 

F2 

Program Function 2 (PF2) 

*[OQ 

F3 

Program Function 3 (PF3) 

-ЧОР 

F4 

Program Function 4 (PF4) 

^OS 

Backspace 

Backspace 

"Н 

Enter 

Return 

"М 

Gray Delete 

Delete Character 

D 

Gray Home 

Home Cursor 

-[[Н 

Gray End 

Erase End of Line 

W 

Gray Up 

Cursor Up 

^[А 

Gray Down 

Cursor Down 

-[[В 

Gray Left 

Cursor Left 

-[ID 

Gray Right 

Cursor Right 

-[[С 

Numlock 

PF1 

л[ОР 

Pad/ 

PF2 

A[QQ 

Pad- 

PF3 

"[OR 

Pad— 

PF4 

"[OS 

Pad+ 

Keypad COMMA 

 

Pad Enter 

Enter 

"М 

PadO 

0 

0 

Pad1 

1 

1 

Pad 2 

2 

2 

Pad3 

3 

3 

Pad 4 

4 

4 

Pad 5 

5 

5 

Pad 6 

6 

6 

Pad? 

7 

7 

Pad8 

8 

8 

PadO 

9 

9 

Pad Delete 

 

 

Pad Insert 

0 

0 

Pad End 

1 

1 

Pad Down 

2 

2 

Pad Pagedown 

3 

3 

Pad Left 

4 

4 

Pad Clear 

5 

5 

Pad Right 

6 

6 

Pad Home 

7 

7 




Клавиши PC 

Клавиши терминала 

Передаваемые символы 

Pad Up 

8 

8 

Pad Pageup 

9 

9 

Shift+Backspace 

Delete Character 

D 

ShIft+Enter 

Enter 

^М 

Shitt+Gray Delete 

Delete Character 

D 

Shift+Pad / 

/ 

/ 

Shift+Pad " 

« 

* 

Shift+Pad — 

— 

— 

Shift+Pad + 

Keypad MINUS 

— 

Shift+Pad Enter 

Enter 

*М 

Shift+Pad Delete 

 

D 

Shift+Pad End 

Erase End of Line 

-[[К 

Shift+Pad Down 

Cursor Down 

^[В 

Shift+Pad Pagedown 

Clear Screen 

»[[H*[[2J 

Shift+Pad Left 

Cursor Left 

-[[D 

Shift+Pad Right 

Cursor Right 

W 

Shift+Pad Home 

Home Cursor 

^[H 

Shift+Pad Up 

Cursor Up 

^[A 

Shift+Pad Pageup 

Delete Line 

^[M 

Control+Backspace 

Ctrl—Backspace 

*X 

Control+Enter 

Enter 

*м 

Control+Gray Home 

Insert Line 

-[[L 

Control+Qray Pageup 

Delete Line 

"[[M 

Control+Qray Pagedown 

Clear Screen 

-4[H-4[2J 

Control+Gray Up 

Application Cursor Up 

^OA 

Control+Gray Down 

Application Cursor Down 

A[OB 

Control+Gray Left 

Application Cursor Left 

A[QD 

Control+Gray Right 

Application Cursor Right 

A[QC 

Control+Pad / 

/ 

/ 

Control+Pad • 

• 

* 

Control+Pad — 

Keypad Application MINUS 

"[Om 

Control+Pad + 

Keypad Application COMMA 

^Ol 

Control+Pad Enter 

Keypad Application Enter 

"[OM 

Control+Pad . 

Keypad Application PERIOD 

"[On 

Control+Pad 0 

Keypad Application 0 

*[0p 

Control+Pad 1 

Keypad Application 1 

A[0q 

Control+Pad 2 

Keypad Application 2 

"[Or 

Control+Pad 3 

Keypad Application 3 

*[0s 

Control+Pad 4 

Keypad Application 4 

'401 




Клавиши PC 

Клавиши терминала 

Передаваемые символы 

Control+Pad 5 

Keypad Application 5 

A[OU 

Control+Pad 6 

Keypad Application 6 

A[QV 

Control+Pad 7 

Keypad Application 7 

"[Ow 

Control+Pad 8 

Keypad Application 8 

"[Ox 

Control+Pad 9 

Keypad Application 9 

л[0у 

Control+Pad Delete 

Keypad Application PERIOD 

*[0n 

Control+Pad Insert 

Keypad Application 0 

л[0р 

Control+Pad End 

Keypad Application 1 

*[0q 

Control+Pad Down 

Keypad Application 2 

-ЧОг 

Control+Pad Pagedown 

Keypad Application 3 

*[0s 

Control+Pad Left 

Keypad Application 4 

^Ot 

Control+Pad Clear 

Keypad Application 5 

*[0u 

Control+Pad Right 

Keypad Application 6 

*[0v 

Control+Pad Home 

Keypad Application 7 

^Ow 

Control+Pad Up 

Keypad Application 8 

'40X 

Control+Pad Pageup 

Keypad Application 9 

*[0y 

ShIft+Control+Enter 

Enter 

*M 

ShIft+Control+Pad Enter 

Enter 

*M 

ShIft+Control+Pad Down 

Application Cursor Down 

^OB 

ShIft+Control+Pad Left 

Application Cursor Left 

»[OD 

ShIft+Control+Pad Right 

Application Cursor Right 

*[OC 

ShIft+Control+Pad Home 

Insert Line 

-[[L 

ShIft+Control+Pad Up 

Application Cursor Up 

^OA 




Таблица 13.5. Управляющие последовательности для терминалов Wyse 100 

Клавиши PC 

Клавиши терминала 

Передаваемые символы 

Tab 

Tab 

л¦ 

F1 

Function 1 (F1) 

'^О'^ 

F2 

Function 2 (F2) 

-W^M 

F3 

Function 3 (F3) 

"АВ^ 

F4 

Function 4 (F4) 

^С^ 

F5 

Function 5 (F5) 

'•W^M 

F6 

Function 6 (F6) 

"АЕ*!^ 

F7 

Function 7 (F7) 

"AF^ 

F8 

Function 8 (F8) 

"AG^ 

F9 

Line Insert 

-ЧЕ 

F10 

Line Delete 

<[R 




Backspace 

Backspace 

*н 

Enter 

Enter 

^М 

Gray Insert 

Insert Off 

^г 

Gray Delete 

Insert Space Character 

*[Q 

Gray Home 

Home Cursor 

лл 

Gray End 

Erase End of Line 

^т 

Gray Pageup 

Scrl Up 

*[w 

Gray Pagedown 

Scrl Down 

АГу 

Gray Up 

Cursor Up 

*K 

Gray Down 

Cursor Down 

*J 

Gray Left 

Cursor Left 

^ 

Gray Right 

Cursor Right 

"L 

Pad/ 

/ 

/ 

Pad' 

• 

« 

Pad— 

— 

— 

Pad+ 

+ 

+ 

Pad Enter 

Enter 

"M 

Pad. 

 

 

PadO 

0 

0 

Pad1 

1 

1 

Pad 2 

2 

2 

Pad3 

3 

3 

Pad 4 

4 

4 

Pad 5 

5 

5 

Pad 6 

6 

6 

Pad? 

7 

7 

Pad8 

8 

8 

Pad 9 

9 

9 

Pad Delete 

Insert Space Character 

*[Q 

Pad Insert 

Insert Off 

-Чг 

Pad End 

Erase End of Line 

^Т 

Pad Down 

Cursor Down 

*J 

Pad Pagedown 

Scrl Down 

Л[у 

Pad Left 

Backspace 

'»H 

Pad Right 

Cursor Right 

-^ 

Pad Home 

Home Cursor 

АЛ 

Pad Up 

Cursor Up 

Ж 

Pad Pageup 

Scrl Up 

"[w 

Shift+Tab 

Back tab 

*[! 




Shift+F1 

Function 9 (Shift F1) 

"WM 

Shift+F2 

Function 10 (Shift F2) 

"А^М 

Shift+F3 

Function 11 (Shift F3) 

"А^М 

Shift+F4 

Function 12 (Shift F4) 

^«"М 

Shitt+F5 

Function 13 (Shift F5) 

"AL^ 

Shift+F6 

Function 14 (Shift F6) 

"АМ-Ч^ 

Shift+F7 

Function 15 (Shift F7) 

"АГ^М 

Shift+F8 

Function 16 (Shift F8) 

W^M 

Shift+F9 

Shift Line Insert 

^t 

Shift+Gray Delete 

Delete Character 

A[W 

Shift+Gray Home 

Cursor to Start of Text 

"К 

Shift+Gray End 

Page Erase 

лгу 

Shift+Gray Pageup 

Insert On 

^[q 

Shift+Pad Delete 

Delete Character 

A[W 

Shift+Pad Insert 

Insert On 

A[q 

Shift+Pad Left 

Erase End of Page 

лгу 

Shift+Pad Home 

Cursor to Start of Text 

^ 

Control+Backspace 

Rubout 

D 

Control+Enter 

Enter 

"M 

Control+Pad / 

/ 

/ 

Control+Pad " 

* 

* 

Control+Pad — 

— 

— 

Control+Pad + 

+ 

+ 

Control+Pad Enter 

Enter 

"M 

Control+Pad . 

 

 

Control+Pad 0 

Insert Space Character 

"[0 

Control+Pad 1 

Line Erase 

^T 

Control+Pad 2 

Cursor Down 

"J 

Control+Pad 3 

Scrl Down 

Л[у 

Control+Pad 4 

Backspace 

"H 

Control+Pad 6 

Cursor Right 

"L 

Control+Pad 7 

Home Cursor 

АЛ 

Control+Pad 8 

Cursor Up 

^ 

Control+Pad 9 

Scrl Up 

"[w 

Control+Pad Delete 

 

 

Control+Pad Insert 

0 

0 

Control+Pad End 

1 

1 

Control+Pad Down 

2 

2 

Control+Pad Pagedown 

3 

3 




Control+Pad Lett 

4 

4 

Control+Pad Clear 

5 

5 

Control+Pad Right 

6 

6 

Control+Pad Home 

7 

7 

Control+Pad Up 

8 

8 

Control+Pad Pageyp 

9 

9