Модемы и факс-модемы. Программирование для MS-DOS и Windows

Меню "Settings"


Меню "Settings" приложения Terminal изображено на рис. 4.4.

Рис. 4.4. Меню "Settings"

Меню "Settings" предназначено для настройки различных параметров приложения Terminal - телефонного номера, режима работы терминала, выбора протоколов для обмена текстовыми и двоичными файлами, параметров порта асинхронного адаптера к которому подключен модем, а также ввода AT-команд управления модемом.

В первую очередь вам необходимо определить к какому порту асинхронного адаптера подключен модем. Для этого выберите из меню "Settings" строку "Communications...". На экране появится диалоговая панель "Communications" (см. рис. 4.5).

Рис. 4.5. Диалоговая панель "Communications"

Выберите из списка "Connector" имя COM-порта, к которому подключен модем.

Если у вас внутренний модем, то COM-порт, используемый им, определяется при помощи перемычек, расположенных на самой плате. Чтобы узнать, какой COM-порт использует модем, проще всего взять в руки документацию модема и проверить по ней положение переключателей.

Для внешнего модема, подключаемого к разъему асинхронного адаптера с помощью кабеля, узнайте номер соответствующего COM-порта из документации компьютера.

Установите, с какой скоростью будет происходить передача данных через выбранный COM-порт. Выбор скорости производится при помощи переключателя с зависимой фиксацией "Baud Rate". Выберите скорость, соответствующую максимально возможной скорости, с которой модем может передавать данные.

Так, если у вас простой модем, поддерживающий скорость обмена 2400 бит/с и соответствующий рекомендации CCITT V.22 bis, можно установить переключатель в положение 2400.

Если ваш модем обладает возможностью аппаратного сжатия передаваемой информации, следует выбрать более высокую скорость, чем может обеспечить модем. Например, если у вас модем соответствующий рекомендации V.32 (максимальная скорость передачи по линии 9600 бит/с) и он выполняет аппаратную компрессию данных в соответствии с протоколами V.42 bis или MNP5, установите переключатель "Baud Rate" в положение "19200".




В том случае, если у вас высокоскоростной модем со скоростью передачи информации по линии 9600 бит/с и выше или вы выбрали переключателем "Baud Rate" более высокую скорость, чем обеспечивает модем, тогда, чтобы избежать возможной потери данных, вам необходимо включить протокол управления потоком.

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

Существуют две различных модификации протокола управления потоком - аппаратная и программная. В аппаратной реализации  протокола управления потоком модем и компьютер сообщают о переполнении своих буферов сигналами COM-порта (RTS и CTS). Программный метод использует для управления потоком данных символы XON и XOFF.

Чтобы выбрать метод управления потоком данных, установите переключатель "Flow Control". Положение "Xon/Xoff" устанавливает программный метод управления потоком. Положение "Hardware" - аппаратный метод управления потоком, а в положении "None" управления потоком не производится.

Если вы выбрали протокол управления потоком, то вам надо соответствующим образом настроить модем выбрав из меню "Settings" строку "Modem Commands...".

Теперь установите формат данных, передаваемых через COM-порт. Переключателем "Data Bits" выберите количество бит в передаваемых символах. В большинстве случаев необходимо установить этот переключатель в положение 8 (8 бит на символ). Переключателем "Stop Bits" задайте количество стоповых бит на передаваемый символ. Мы будем использовать один стоповый бит.

Затем переключателем "Parity" надо определить режим контроля четности. Если используется режим контроля четности, то вместе с каждым символом передается бит четности. В зависимости от положения переключателя "Parity" этот бит используется по-разному.

В следующей таблице описаны отдельные позиции этого переключателя.



Положение переключателя "Parity"

Режим контроля четности

None

Контроль четности не выполняется

Odd

Выполняется контроль четности. Бит четности устанавливается таким образом, чтобы в передаваемых символах было установлено нечетное число бит

Even

Выполняется контроль четности. Бит четности устанавливается таким образом, чтобы в передаваемых символах было установлено четное число бит

Mark

Бит четности устанавливается равным единице

Space

Бит четности не устанавливается

Чтобы включить режим контроля четности, недостаточно установить переключатель "Parity", надо также включить переключатель Parity Check.

Последний орган управления на диалоговой панели "Communications" называется "Carrier Detect". Если вам требуется, чтобы приложение Terminal реагировало на внезапный разрыв соединения с удаленным модемом, включите этот переключатель.

Когда вы закончили заполнение диалоговой панели "Communications", нажмите на кнопку "OK". Теперь Terminal подключен к COM-порту и модем готов к приему AT-команд. Для проверки модема можно передать модему команду ATZ. Для этого достаточно набрать в главном окне приложения строку "ATZ" и нажать клавишу <Enter>. Команда будет передана модему. Если модем подключен правильно и работает, он воспримет команду и передаст компьютеру результат OK. В главном окне, ниже команды "ATZ", появится строка "OK".

Вы даже можете передать модему команду набора номера. Для этого наберите строку "ATDP 999-99-99" и нажмите клавишу <Enter>. Модем наберет номер 999-99-99. Если по этому номеру подключен другой модем, они установят связь и на экране появится сообщение модема об установлении соединения с удаленным модемом - CONNECT.

Передав компьютеру сообщение CONNECT, модем переходит в режим передачи данных удаленному модему. Теперь все, что вы набираете на клавиатуре, передается удаленному модему, а от него - удаленному компьютеру. Одновременно с вашим модемом после установления соединения удаленный модем также переключается в режим передачи данных и все, что удаленный компьютер передает своему модему, будет отображаться на экране нашего компьютера.



Запустите на двух компьютерах, снабженных модемами, приложение Terminal. Одному модему передайте команду ATS0=1. Эта команда означает, что когда позвонит телефон, модем сразу снимет трубку и попытается установить связь с удаленным модемом. На другом компьютере передайте модему команду набора номера первого модема (ATDP 999-99-99).

Когда модемы установят связь и на экране компьютеров появятся строка CONNECT, вы сможете обменяться сообщениями, набрав их на клавиатуре и прочитав ответ от удаленного компьютера в окне Terminal.

Набор номера методом непосредственного ввода команды ATD неудобен. Если номер занят, то вам придется снова набирать его. Приложение Terminal позволяет автоматизировать эту процедуру.

Сначала вам надо определить команды для инициализации модема, набора номера и разрыва связи. Выберите из меню "Settings" строку "Modem Commands...". На экране появится диалоговая панель "Modem Commands" (см. рис. 4.6).

 

Рис. 4.6. Диалоговая панель "Modem Commands"

В правой нижней части диалоговой панели "Modem Commands" находится переключатель "Modem Defaults". Переведите данный переключатель в положение, соответствующее типу вашего модема. Как правило, для большинства модемов вы можете выбрать положение "Hayes".

В групповом окне "Commands" находятся пять строк, содержащих команды для модема, используемые при наборе номера - Dial, разрыве связи - Hangup, передачи двоичных данных - Binary TX, приеме  двоичных данных - Binary RX, инициализации модема - Originate. Все команды, кроме команды инициализации модема, могут состоять из двух частей - префикса и суффикса.

Вам необходимо изменить префикс команды набора номера, заменив команду ATDT на ATDP. Команда ATDT выбирает тональную систему набора номера. Отечественные АТС используют не тональный, а импульсный метод набора номера. Для выбора импульсной системы предназначена команда ATDP.

Команду для разрыва связи можно оставить без изменения. Эта команда работает следующим образом. Когда из меню "Phone" вы выбираете строку "Hangup", приложение Terminal, выдержав интервал задержки, передает модему Escape-последовательность из трех символов '+'. Модем, получив Escape-последовательность, переходит из режима передачи данных в командный режим. Затем Terminal передает модему команду разорвать связь и положить трубку - ATH.



Следующие две строки Binary TX и Binary RX не содержат команд. Оставьте их без изменения.

Последняя строка Originate содержит команду инициализации модема. По умолчанию выбрана команда инициализации ATQ0V1E1S0=0. Она инструктирует модем возвращать ответ на все передаваемые модему команды (Q0) в текстовом виде на английском языке (V1). Модем должен возвращать все символы, ему компьютером обратно (E1). Модем не должен сам снимать трубку (S0=0).

Следующая по важности строка меню "Settings" называется "Phone Number...". При ее выборе на экране появляется диалоговая панель "Phone Number" (см. рис. 4.7).



Рис. 4.7. Диалоговая панель "Phone Number"

В поле "Dial" введите телефонный номер удаленного модема, с которым надо соединиться. На рисунке 4.7 введен номер 999-99-99. Чтобы набрать этот номер, достаточно выбрать из меню "Phone" строку "Dial".

В поле "Timeout If Not Connected In" задается интервал времени (в секундах), в течение которого модем должен успеть набрать номер и установить связь с удаленным модемом. Если за указанное время связь не будет установлена, модем прервет процесс соединения. Так как набор номера довольно длительная процедура, то можно увеличить этот интервал до 50-60 секунд.

Приложение Terminal предоставляет пользователю возможность автоматического дозвона до удаленного абонента. В этом режиме Terminal будет повторно набирать номер до тех пор, пока не установиться соединение. Чтобы установить этот режим, достаточно включить переключатель "Redial After Timing Out". Если переключатель "Redial After Timing Out" не включен, тогда номер будет набран только один раз.

Последний орган управления в диалоговой панели "Phone Number" - переключатель "Signal When Connected". Если он установлен, то после удачного установления связи, когда модем возвращает ответ CONNECT и переходит в режим передачи данных, компьютер подает звуковой сигнал.



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

Более подробно о протоколах передачи файлов вы узнаете позже. Сейчас мы отметим, что для правильной передачи файла оба компьютера должны использовать одинаковые протоколы. Приложение Terminal поддерживает два протокола XModem CRC и Kermit. Эти протоколы не самые эффективные, но зато поддерживаются практически всеми телекоммуникационными программами.

Чтобы выбрать протокол, который будет использоваться при передаче и приеме файлов выберите из меню "Settings" строку "Binary Transfers...". На экране появится диалоговая панель "Binary Transfers" (см. рис. 4.8).



Рис. 4.8. Диалоговая панель "Binary Transfers"

Она содержит только один переключатель с двумя положениями XModem/CRC и Kermit. Выберите любой протокол и нажмите кнопку "OK".

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

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

Чтобы установить тип терминала, эмулируемого приложением Terminal, выберите из меню "Settings" строку "Terminal Emulation...". На экране появится диалоговая панель "Terminal Emulation" (см. рис. 4.9).



Рис. 4.9. Диалоговая панель "Terminal Emulation"

Выбрав тип терминала, вы можете провести более тонкую настройку. Выберите из меню "Settings" строку "Terminal Preferences...". На экране появится диалоговая панель "Terminal Preferences" (см. рис. 4.10).





Рис. 4.10. Диалоговая панель "Terminal Preferences"

Первая группа органов управления, расположенная в диалоговой панели "Terminal Preferences", называется "Terminal Mode".

Переключатель "Line Wrap" устанавливает режим свертки длинных строк. Если свертка включена, при достижении текстовым курсором правой границы окна редактирования курсор автоматически переходит на следующую строку. Если свертка выключена, при достижении правой границы окна весь текст сдвигается влево для того, чтобы вы могли продолжить ввод.

Переключатель "Local Echo" вызывает вывод на экран всех набираемых на клавиатуре символов. Так как в строке инициализации модема выбрано возвращение всех передаваемых ему символов обратно в компьютер, то, если установить этот переключатель, каждый символ, набранный на клавиатуре, будет дублироваться на экране два раза. Переключатель "Sound" разрешает приложению выдавать звуковые сигналы.

Группа CR -> CR/LF определяет, как реагирует приложение на нажатие клавиши <Enter> и поступление от модема символа CR (возврата каретки). Если переключатель "Inbound" включен, то при приходе от модема символа CR курсор не только перемещается в начало строки, но также переходит на следующую строку, как при приходе символа LF (перевода строки). Если установлен переключатель "Outbound", то при нажатии на клавишу <Enter>, приложение Terminal передает модему два символа CR и LF.

Группа "Columns" содержит один переключатель с зависимой фиксацией, позволяющий выбрать ширину окна - 80 или 132 символов.

Группа "Cursor" предназначена для управления курсором. Вы можете выбрать курсор в виде прямоугольника (Block) или подчеркивания (Underline). Если вы желаете, чтобы курсор мигал, установите переключатель "Blink".

В группе "Terminal Font" можно выбрать название и размер шрифта, а группа "Translations" позволяет учесть различия в кодировке символов для операционных систем Windows и MS-DOS.



Переключатель "Show Scroll Bars" добавляет к оформлению главного окна приложения горизонтальную и вертикальную полосы просмотра.

Все символы, отображаемые на экране, одновременно записываются во внутренний буфер приложения. Размер этого буфера в строках текста задается в поле "Buffers Lines".

Переключатель "Use Function, Arrow, and Ctrl Keys for Windows" определяет, что функциональные клавиши, клавиши управления курсором и комбинации различных клавиш с клавишей <Ctrl> передаются Windows и не передаются модему.

Вы можете параллельно с выводом на экран печатать всю информацию, поступающую от модема, на принтере. Для этого достаточно выбрать в меню "Settings" строку "Printer Echo".

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

Для определения функциональных клавиш выберите из меню "Settings" строку "Function Keys...". На экране появится диалоговая панель "Function Keys". Она содержит восемь строк для функциональных клавиш <F1> - <F8>. Каждая строка состоит из двух полей "Key Name" и "Command". В поле "Key Name" можно ввести название команды, а в поле "Command" команду, выполняемую при нажатии соответствующей функциональной клавиши.

Команда может состоять из текста, непосредственно передаваемого приложению и специальных управляющих кодов. В следующей таблице перечислены управляющие коды, которые можно использовать в поле "Key Name".

Управляющий код

Действие

^A-^Z

Передать удаленному компьютеру управляющий символ Ctrl-A - Ctrl-Z

^$Dnn

Приложение Terminal выполняет задержку nn секунд

^$B

Приложение Terminal передает сигнал BREAK в течение 117 миллисекунд

^$C

Набирает телефонный номер, как если бы вы выбрали строку Dial из меню Phone

^$H

Разрывает связь с удаленным модемом, как если бы вы выбрали строку Hangup из меню Phone

^$L1-^$L4 

Выбрать другой набор функциональных клавиш

^^

Передать символ ^ удаленному компьютеру

^@

Передать удаленному компьютеру символ с кодом 0

^[n

Передать удаленному компьютеру одну или несколько Escape-последовательностей. Переменная n представляет одну или несколько Escape-последовательностей

<


Для удобства использования функциональных клавиш можно включить переключатель "Keys Visible". После этого в нижней части главного окна приложения Terminal появится ряд кнопок, по одной для каждой функциональной клавиши. Названия кнопок соответствует полю "Key Name" диалоговой панели "Function Keys" (см. рис. 4.11).



Рис. 4.11. Диалоговая панель "Function Keys"

Если для вас не достаточно восьми функциональных клавиш, то Terminal позволяет создать четыре различных набора функциональных клавиш и переключаться между ними по мере необходимости. Чтобы определить в диалоговой панели "Function Keys" несколько наборов клавиш, предназначен переключатель с зависимой фиксацией "Key Level".

После того как вы определили первый набор функциональных клавиш, переведите переключатель "Function Keys" в следующее положение и снова заполните поля "Key Name" и "Command".



Рис. 4.12. Приложение "Terminal - BOOK.TRM"

На рисунке 4.12 представлен внешний вид приложения Terminal, для которого в соответствии с рисунком 4.11 определен набор функциональных клавиш.

Чтобы выполнить действие, соответствующее функциональной клавише, можно либо нажать ее на клавиатуре, либо нажать кнопку в нижней части главного окна Terminal. Если вы определили несколько наборов функциональных клавиш, то переключаться между ними можно, нажимая на кнопку "Level", расположенную в правой  части верхнего ряда кнопок приложения.

Если в диалоговой панели "Function Keys" вы установили переключатель "Keys Visible", то вместе с набором кнопок, соответствующих функциональным клавишам появится кнопка с часами.

Вместо названия на этой кнопке отображается текущее время или значение таймера. Чтобы переключиться с отображения текущего времени на таймер и обратно, достаточно нажать на эту кнопку. Сбросить таймер можно, выбрав из меню "Settings" строку "Timer Mode". Таймер удобно использовать, чтобы следить за временем соединения.


Содержание раздела