IF(RET) ANSW=""

IF(RET) GOTO REC1

/посылаем свой автоответ

PUTS OWNID+"\R"

:REC1

MESS_SC " Абонент1="+ANSW

/записать автоответ в строку контрольной записи

CLBIN

ECHOIN 0

SENDTEXT

ENDTEXT

IF(!RET) GOTO OK

RSTR=" "

RSTR=RET

WRITE JR "Не передан файл: "+MY_FN

WRITE JR " по номеру: "+NUMBER

WRITE JR " дата: "+_DATE

WRITE JR " время: "+_TIME

WRITE JR " код ошибки: "+RSTR

WRITE JR "\R\N*\R\N"

RSTR=RSTR+" "

MESS_SC " Err="+RSTR

DTR 0

DELAY 1

DTR 1

HALT 2

:OK

WRITE JR "Передан файл: "+MY_FN

WRITE JR " по номеру: "+NUMBER

WRITE JR " дата: "+_DATE

WRITE JR " время: "+_TIME

WRITE JR "\R\N*\R\N"

MESS_SC " Передан: "+NUMBER

MESS_SC " дата: "+_DATE

MESS_SC " время: "+_TIME

/записать в строку контрольной записи

:N1

DELAY 1

IF(N_OUT) GOTO N1

CNT=0

:N1

DELAY 1

CNT=CNT+1

IF(CNT>30) GOTO N2

IF(DCD) GOTO N1

:N2

DTR 0

CLMESS

DELAY 1

MESSAGE "ПЕРЕДАЧА ТЕКСТА ЗАВЕРШЕНА"

DTR 1

Пример сценария riinit. sci приема по коммутируемым линиям. Файл сценария

должен находится в каталоге передачи данного канала и вызывается по

сигналу Ring Indicator. Если модем внешний, и в соединительном кабеле

отсутствует провод RI(125 цепь), то в этом случае в сценарии инициализации

SCINIT. SCI следует записать: SETRUN "RING" "riinit. sci".

НЕ нашли? Не то? Что вы ищете?

В нем же на всех рабочих станциях установить один тип протокола

например: PROTOCOL "1"

Автоматическое поднятие трубки модемом отключить(S0=0), иначе следует

изменить сценарий(убрать команду PUTS "ATA\R")

DTR 1

RTS 1

/имя файла журнала в каталоге WORK

JR="TGJOUR.1"

CLBIN

CLBOUT

ECHOOUT 0

ECHOIN 1

MESSAGE "Звонок "

PUTS "ATA\R"

:N1

DELAY 1

IF(N_OUT) GOTO N1

MESSAGE "Ожидаем соединения "

WAITFOR "CONNECT","NO DIALTONE","ERROR","BUSY","NO ANSWER"

IF(!RET) MESSAGE "CONNECT"

IF(!RET) GOTO BEG

IF(RET=1) MESSAGE "NO DIALTONE"

IF(RET=2) MESSAGE "ERROR"

IF(RET=3) MESSAGE "BUSY"

IF(RET=4) MESSAGE "NO ANSWER"

IF(RET=5) MESSAGE "no connect"

GOTO END

:BEG

DELAY 2

MAKEFN fl

ECHOIN 0

/ожидание запроса автоответа

WAITFOR "GET ID:"

IF(RET) GOTO N1

CLBIN

/посылаем свой автоответ

PUTS OWNID + "\R"

/ждем автоответ от вызывающего абонента

GETS ANSW

IF(RET) ANSW = ""

CLMESS

WRITE fl "Абонент=" + ANSW

WRITE fl "\R\N"

MESSAGE "Прием "+_TIME

:N1

CLBIN

RECEIVE fl

CHMOD fl

SRT=" "

SRT=RET

IF(!RET) GOTO EN1

WRITE JR "Ошибка приема файла: "+fl

WRITE JR " номер: "+SRT

WRITE JR " дата: "+_DATE

WRITE JR " время: "+_TIME

WRITE JR "\R\N*\R\N"

GOTO END

:EN1

WRITE JR "Принят файл: "+fl

WRITE JR " от абонента: " + ANSW

WRITE JR "\R\Nдата: "+_DATE

WRITE JR " время: "+_TIME

WRITE JR " \R\N*\R\N"

:END

DELAY 1

IF(N_OUT) GOTO END

DTR 0

DELAY 1

DTR 1

CLBIN

CLBOUT

MESSAGE "ПРИЕМ ЗАКОНЧЕН "

Примеры сценариев для работы по сети Х25(Х28)

SCINIT. SCI - сценарий инициализации(размещается в каталоге передачи)

MESSAGE "инициализация"

JR="TGJOUR.1"

ECHOIN 1

ECHOOUT 0

SETRUN "COM","x25.sci"

SETWAITFOR 30

TIMEOUT 50

PROTOCOL "1"

DTR 0

DELAY 1

IF(DSR) GOTO M1

MESSAGE "Нет DSR"

WRITE JR " Модем выключен"

WRITE JR " дата: "+_DATE

WRITE JR " время: "+_TIME

WRITE JR "\R\N*\R\N"

RETURN

:M1

ENABLE

DTR 1

RTS 1

DELAY 1

WAITFOR "*"

IF(RET) GOTO M2

MESSAGE "Получено приглашение"

WRITE JR " Модем включен"

WRITE JR " дата: "+_DATE

WRITE JR " время: "+_TIME

WRITE JR "\R\N*\R\N"

GOTO M3

:M2

MESSAGE "Нет приглашения"

WRITE JR " Нет приглашения к набору"

WRITE JR " дата: "+_DATE

WRITE JR " время: "+_TIME

WRITE JR "\R\N*\R\N"

:M3

CLBIN

X25_OUT. SCM - Стандартный сценарий для передачи (размещается в рабочем каталоге)

/передача текста по х25

JR="TGJOUR.1"

ATTEMPT 5

******

CLRSC=1

/очищать файл сценария после успешного завершения

CLMESS

ECHOIN 1

ECHOOUT 0

CLBIN

DTR 0

DELAY 1

YH=0

DTR 1

RTS 1

WAITFOR "*"

IF(!RET) GOTO M1

MESSAGE "Нет приглашения"

WRITE JR "Не передан файл: "+MY_FN

WRITE JR " по номеру: "+NUMBER

WRITE JR " дата: "+_DATE

WRITE JR " время: "+_TIME

WRITE JR ", нет приглашения к набору"

WRITE JR "\R\N*\R\N"

MESS_SC " NouGA"

DTR 0

HALT 2

:M1

MESSAGE "Набор номера"

PUTS NUMBER + "\R"

WAITFOR "COM"

IF(!RET) GOTO M2

MESSAGE "Нет приглашения COM"

WRITE JR "Не передан файл: "+MY_FN

WRITE JR " по номеру: "+NUMBER

WRITE JR " дата: "+_DATE

WRITE JR " время: "+_TIME

WRITE JR ", нет приглашения COM"

WRITE JR "\R\N*\R\N"

MESS_SC " NouCOM"

DTR 0

HALT 2

:M2

MESSAGE "Начать передачу"

DELAY 1

CLBIN

ECHOIN 0

SENDTEXT

ENDTEXT

ECHOIN 1

IF(!RET) GOTO M3

RSTR=" "

RSTR=RET;

WRITE JR "Не передан файл: "+MY_FN

WRITE JR " по номеру: "+NUMBER

WRITE JR " дата: "+_DATE

WRITE JR " время: "+_TIME

WRITE JR " код ошибки: "+RSTR

WRITE JR "\R\N*\R\N"

RSTR=RSTR+" "

MESS_SC " Err="+RSTR

YH=1

GOTO N1

:M3

MESSAGE "ПЕРЕДАЧА ТЕКСТА ЗАВЕРШЕНА"

WRITE JR "Передан файл: "+MY_FN

WRITE JR " по номеру: "+NUMBER

WRITE JR " дата: "+_DATE

WRITE JR " время: "+_TIME

WRITE JR " \R\N*\R\N"

MESS_SC " Передан: "+NUMBER

MESS_SC " дата: "+_DATE

MESS_SC " время: "+_TIME

/записать в строку контрольной записи

:N1

DELAY 1

IF(N_OUT) GOTO N1

CLBIN

WAITFOR "CLR"

IF (RET) MESSAGE "принудительный "

MESSAGE "Сброс DTR"

DELAY 1

DTR 0

DELAY 1

DTR 1

WAITFOR "*"

CLMESS

IF (!RET) MESSAGE "Сброс соединения"

DELAY 1

CLBIN

IF(YH) HALT 2

X25_IN. SCI - сценарий для приема (размещается в каталоге передачи)

JR="TGJOUR.1"

CLBIN

DELAY 1

MAKEFN fl

ECHOIN 0

ECHOOUT 0

MESSAGE "прием"

RECEIVE fl

CHMOD fl

SRET=" "

SRET=RET

ECHOIN 1

IF(!RET) GOTO N1

MESSAGE "Ошибка приема"

WRITE JR "Ошибка приема файла: "+fl

WRITE JR " номер: "+SRET

WRITE JR " дата: "+_DATE

WRITE JR " время: "+_TIME

WRITE JR "\R\N*\R\N"

GOTO N2

:N1

MESSAGE "Прием завершен"

WRITE JR "Принят файл: "+fl

WRITE JR " дата: "+_DATE

WRITE JR " время: "+_TIME

WRITE JR " \R\N*\R\N"

:N2

DELAY 1

DTR 0

DELAY 1

DTR 1

WAITFOR "*"

Примеры сценариев для работы по сети Х25(Х28) с обменом автоответами

/Скрипт инициализации

MESSAGE "инициализация"

JR="TGJOUR.2"

ECHOIN 1

ECHOOUT 0

SETRUN "COM","x25_in. sci"

SETWAITFOR 60

TIMEOUT 120

PROTOCOL "1"

DTR 0

DELAY 1

ENABLE

DTR 1

RTS 1

DELAY 1

WAITFOR "*"

IF(RET) GOTO M2

MESSAGE " Получено приглашение"

WRITE JR " PASS включен"

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIME

WRITE JR "\R\N"

GOTO M3

:M2

MESSAGE " Нет приглашения"

WRITE JR " Нет приглашения к набору"

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIMER

WRITE JR "\R\N"

:M3

CLBIN

/Сценарий приемный

JR="TGJOUR.2"

CLBIN

DELAY 1

MAKEFN fl

ECHOIN 0

ECHOOUT 0

WAITFOR "GET ID:"

MESSAGE " Получил запрос автоответа"

IF(RET) GOTO N1

CLBIN

PUTS OWNID + "\R"

MESSAGE " Послал автоответ"

GETS ANSW

IF(RET) ANSW = ""

MESSAGE " Получил автоответ"+ANSW

SRET=" "

SRET=RET

IF(RET) GOTO N1

CLMESS

WRITE fl ANSW

WRITE fl "\R\N"

WRITE fl OWNID

WRITE fl "\R\N"

MESSAGE "прием"

RECEIVE fl

ECHOIN 1

DELAY 1

IF(!RET) GOTO N3

SRET=" "

SRET=RET

:N1

MESSAGE " Ошибка приема"

WRITE JR " Ошибка приема файла: "+fl

WRITE JR " номер:"+SRET

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIME

WRITE JR "\R\N"

GOTO N2

:N3

MESSAGE " Прием завершен"

WRITE fl _TIME

WRITE fl "\R\N"

WRITE fl _DATE

WRITE fl "\R\N"

WRITE fl ANSW

WRITE fl "\R\N"

WRITE fl OWNID

WRITE fl "\R\N"

CHMOD fl

WRITE JR " Принят файл: "+fl

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIME

WRITE JR "\R\N"

:N2

DELAY 1

DTR 0

DELAY 1

DTR 1

WAITFOR "*"

/передача текста по х25

JR="TGJOUR.2"

ATTEMPT 3

CLRSC=1

YH=0

CLMESS

ECHOIN 1

ECHOOUT 0

CLBIN

DTR 0

DELAY 1

DTR 1

RTS 1

WAITFOR "*"

IF(!RET) GOTO M1

MESSAGE " Нет готовности"

WRITE JR " Нет готовности не передан файл: "+MY_FN

WRITE JR " по номеру: 299000 "

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIME

WRITE JR " нет приглашения к набору-NouGA"

WRITE JR "\R\N"

YH=1

GOTO N1

:M1

MESSAGE " Набор номера"

PUTS "790513\R"

WAITFOR "COM"

IF(!RET) GOTO M2

MESSAGE " Нет приглашения COM"

WRITE JR " Нет приглашения не передан файл: "+MY_FN

WRITE JR " по номеру: 299000 "

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIME

WRITE JR " нет приглашения COM-NouCOM"

WRITE JR "\R\N"

YH=1

GOTO N1

:M2

NESSAGE " Обмен автоответами"

DELAY 1

PUTS "GET ID:"

MESSAGE " Запрос автоответа"

CLBIN

GETS ANSW

MESSAGE " Получен автоответ"

IF(RET) GOTO REC1

MESSAGE " Сверка автоответа"

IF(ANSW!="299000 BANK RU") GOTO REC3

MESSAGE " Автоответ верен"

PUTS OWNID+"\R"

MESSAGE " Посылаем автоответ"

GOTO REC2

:REC1

RSTR=" "

RSTR="No answ"

MESSAGE " Нет автоответа"

WRITE JR " Нет автоответа"

WRITE JR "\R\N"

GOTO N4

:REC3

RSTR=" "

RSTR=ANSW

MESSAGE " Неверный автоответ"

WRITE JR " Неверный автоответ"

WRITE JR "\R\N"

GOTO N4

:REC2

MESSAGE " Автоответы в начале телеграммы"

*

MESS_SC ANSW

*

MESS_SC OWNID

MESSAGE " Начало передачи"

CLBIN

ECHOIN 0

SENDTEXT

ENDTEXT

ECHOIN 1

IF(!RET) GOTO M3

RSTR=" "

RSTR=RET

:N4

MESSAGE " Не передан файл: "+MY_FN

WRITE JR " Не передан файл: "+MY_FN

WRITE JR " по номеру: 299000"

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIME

WRITE JR " ошибка: "+RSTR

WRITE JR "\R\N"

YH=1

GOTO N1

:M3

MESSAGE " ПЕРЕДАЧА ТЕКСТА ЗАВЕРШЕНА"

WRITE JR " Передан файл: "+MY_FN

WRITE JR " по номеру: 299000"

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIME

WRITE JR "\R\N"

**

MESS_SC " Передан:299000"

**

MESS_SC _DATE

**

MESS_SC _TIME

MESSAGE " Обмен автоответами в конце телеграммы"

**

MESS_SC ANSW

**

MESS_SC OWNID

:N1

DELAY 1

IF(N_OUT) GOTO N1

CLBIN

DELAY 1

DTR 0

DELAY 1

DTR 1

WAITFOR "*"

CLMESS

IF (!RET) MESSAGE " Сброс соединения"

DELAY 1

CLBIN

IF(YH) HALT 2

Примеры сценариев для работы по сети Х25(Х28) с обменом автоответами

при работе через модемы включенные по выделенной линии

/сценарий инициализации по X.25 через модем

MESSAGE "инициализация"

JR="TGJOUR.2"

ECHOIN 1

ECHOOUT 0

SETRUN "COM","x25_in. sci"

SETWAITFOR 60

TIMEOUT 240

PROTOCOL "1"

DTR 0

DELAY 1

ENABLE

DTR 1

RTS 1

DELAY 1

PUTS "ATZ\R"

WAITFOR "*"

IF(RET) GOTO M2

MESSAGE " Получено приглашение"

WRITE JR " PASS включен"

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIME

WRITE JR "\R\N"

GOTO M3

:M2

MESSAGE " Нет приглашения"

WRITE JR " Нет приглашения к набору"

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIMER

WRITE JR "\R\N"

:M3

CLBIN

/прием текста по X.25 через модем

JR="TGJOUR.2"

CLBIN

DELAY 1

MAKEFN fl

ECHOIN 0

ECHOOUT 0

WAITFOR "GET ID:"

MESSAGE " Получил запрос автоответа"

IF(RET) GOTO N1

CLBIN

PUTS OWNID + "\R"

MESSAGE " Послал автоответ"

GETS ANSW

IF(RET) ANSW = ""

SRET=" "

SRET=RET

MESSAGE " Получил автоответ"+ANSW

IF(RET) GOTO N1

CLMESS

WRITE fl ANSW

WRITE fl "\R\N"

WRITE fl OWNID

WRITE fl "\R\N"

MESSAGE "прием"

RECEIVE fl

ECHOIN 1

DELAY 1

IF(!RET) GOTO N3

SRET=" "

SRET=RET

:N1

MESSAGE " Ошибка приема"

WRITE JR " Ошибка приема файла: "+fl

WRITE JR " номер:"+SRET

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIME

WRITE JR "\R\N"

GOTO N2

:N3

MESSAGE " Прием завершен"

WRITE fl _TIME

WRITE fl "\R\N"

WRITE fl _DATE

WRITE fl "\R\N"

WRITE fl ANSW

WRITE fl "\R\N"

WRITE fl OWNID

WRITE fl "\R\N"

CHMOD fl

WRITE JR " Принят файл: "+fl

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIME

WRITE JR "\R\N"

:N2

DELAY 1

DTR 0

/DELAY 1

/DTR 1

PUTS "ATZ\R"

WAITFOR "*"

MESSAGE " CHANNEL FREE\R"

/передача текста по х25 через модем

JR="TGJOUR.2"

ATTEMPT 3

CLRSC=1

YH=0

CLMESS

ECHOIN 1

ECHOOUT 0

CLBIN

DTR 0

DELAY 1

/DTR 1

/RTS 1

PUTS "ATZ\R"

WAITFOR "*"

IF(!RET) GOTO M1

MESSAGE " Нет готовности"

WRITE JR " Нет готовности не передан файл: "+MY_FN

WRITE JR " по номеру: 299063 "

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIME

WRITE JR " нет приглашения к набору-NouGA"

WRITE JR "\R\N"

YH=1

GOTO N1

:M1

MESSAGE " Набор номера"

PUTS "790511\R"

WAITFOR "COM"

IF(!RET) GOTO M2

MESSAGE " Нет приглашения COM"

WRITE JR " Нет приглашения не передан файл: "+MY_FN

WRITE JR " по номеру: 299063 "

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIME

WRITE JR " нет приглашения COM-NouCOM"

WRITE JR "\R\N"

YH=1

GOTO N1

:M2

NESSAGE " Обмен автоответами"

DELAY 1

PUTS "GET ID:"

MESSAGE " Запрос автоответа"

CLBIN

GETS ANSW

MESSAGE " Получен автоответ"

IF(RET) GOTO REC1

MESSAGE " Сверка автоответа"

IF(ANSW!="299063 BANK RU") GOTO REC3

MESSAGE " Автоответ верен"

PUTS OWNID+"\R"

MESSAGE " Посылаем автоответ"

GOTO REC2

:REC1

RSTR=" "

RSTR=RET

MESSAGE " Нет автоответа"

WRITE JR " Нет автоответа"

WRITE JR "\R\N"

GOTO N4

:REC3

RSTR=" "

RSTR="no ANSW"

MESSAGE " Неверный автоответ"

WRITE JR " Неверный автоответ"

WRITE JR "\R\N"

GOTO N4

:REC2

MESSAGE " Автоответы в начале телеграммы"

**

MESS_SC ANSW

**

MESS_SC OWNID

MESSAGE " Начало передачи"

CLBIN

ECHOIN 0

SENDTEXT

ENDTEXT

ECHOIN 1

IF(!RET) GOTO M3

RSTR=" "

RSTR=RET

:N4

MESSAGE " Не передан файл: "+MY_FN

WRITE JR " Не передан файл: "+MY_FN

WRITE JR " по номеру: 299063"

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIME

WRITE JR " ошибка: "+RSTR

WRITE JR "\R\N"

YH=1

GOTO N1

:M3

MESSAGE " ПЕРЕДАЧА ТЕКСТА ЗАВЕРШЕНА"

WRITE JR " Передан файл: "+MY_FN

WRITE JR " по номеру: 299063"

WRITE JR " дата:"+_DATE

WRITE JR " время:"+_TIME

WRITE JR "\R\N"

*

MESS_SC " Передан:299063"

*

MESS_SC _DATE

*

MESS_SC _TIME

MESSAGE " Обмен автоответами в конце телеграммы"

*

MESS_SC ANSW

*

MESS_SC OWNID

:N1

DELAY 1

IF(N_OUT) GOTO N1

CLBIN

DELAY 1

DTR 0

/DELAY 1

/DTR 1

PUTS " ATZ\R"

WAITFOR "*"

/MESSAGE "CHANNEL OF FRIDOM\R"

/CLMESS

/IF (!RET) MESSAGE " Сброс соединения"

/DELAY 1

/CLBIN

IF(YH) HALT 2

MESSAGE " CHANNEL FREE\R"

8.6 Коды ошибок

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

Коды:

0 - выполнено успешно

1 - не получена посылка начала передачи

2 - ошибка открытия файла

3 - ошибка создания файла

4 - ошибка при смене атрибутов файла

5 - ошибка записи в файл

6 - ошибка чтения из файла

7 - прерывание по таймауту

8 - ошибка в номере пакета

9 - переповтор пакета

10 - не получен заголовок

13 - использование протоколов передачи неподдерживаемых загруженной версией драйвера

14 - принудительное прерывание обмена

15 - отказ в приеме файла (ZMODEM)

16 - слишком много ошибок

17 - системная ошибка

18 - потеря несущей в процессе приема/передачи.

8.7 Примеры текстов сценариев центрального сервера ПДО.

8.7.1 Сценарий инициализации SCINIT. SCI (c:\xmodwin\out )

MESSAGE "инит"

ECHOALL 1

ECHOIN 1

ECHOOUT 1

SETRUN "RING" "R. sci"

PROTOCOL "Z"

DTR 0

DELAY 1

DISABLE

IF(!DSR) MESSAGE "выкл."

IF(!DSR) RETURN

ENABLE

DTR 1

RTS 1

DELAY 1

PUTS "ATE0X5B1&K4&N14S0=0S42.6=1S7=90*P9\R"

MESSAGE "инициализация завершена"

RTS 1

8.7.2 Сценарий приема RIINIT. SCI и R. SCI (c:\xmodwin\out )

DTR 1

RTS 1

JR1="TGJOUR.1"

CLBIN

CLBOUT

ECHOALL 1

ECHOOUT 0

ECHOIN 1

MESSAGE "ЗВОНОК "

PUTS "ATA\R"

:N1

DELAY 1

IF(N_OUT) GOTO N1

DTR 0

DELAY 1

DTR 1

CLBIN

RETURN

MESSAGE "НАЧАЛО СОЕДИНЕНИЯ "

WAITFOR "CONNECT","NO DIALTONE","ERROR","BUSY","NO ANSWER","NO CARRIER"

IF(!RET) GOTO BEG

IF(RET=1) MESSAGE "NO DIALTONE"

IF(RET=2) MESSAGE "ERROR"

IF(RET=3) MESSAGE "BUSY"

IF(RET=4) MESSAGE "NO ANSWER"

IF(RET=5) MESSAGE "NO CARRIER"

IF(RET=6) MESSAGE "no connect"

MESSAGE RET

GOTO END

:BEG

DELAY 1

CLBIN

DELAY 2

MAKEFN fl

CLBIN

TM1=_TIME

ECHOOUT 1

ECHOIN 1

MESSAGE "rec"

RECEIVE fl

CHMOD fl

MESSAGE "Error="

MESSAGE RET

SRT=" "

SRT=RET

IF(!RET) GOTO EN1

MESSAGE "ОШИБКА :"+SRT

strjr=" Ошибка приема: "+RT_FN

strjr=strjr+" номер: "

strjr=strjr+SRT

strjr=strjr+" дата: "

strjr=strjr+_DATE

strjr=strjr+" "

strjr=strjr+_TIME

WRITE JR1 strjr+"\R\N"

WRITE JR1 "**\R\N"

GOTO END

:EN1

strjr="Принят файл: "+RT_FN

strjr=strjr+" дата: "

strjr=strjr+_DATE

strjr=strjr+" "

strjr=strjr+_TIME

WRITE JR1 strjr+"\R\N"

WRITE JR1 "**\R\N"

:END

DELAY 1

IF(N_OUT) GOTO END

DTR 0

DELAY 1

DTR 1

CLBIN

CLBOUT

MESSAGE "КОНЕЦ ПРИЕМА "

8.7.3 Сценарий передачи SEND. SCM (c:\xmodwin\work )

IF(!RET) GOTO TR1

ATTEMPT 20

HALT 2

:TR1

*******

JR1="TGJOUR.1"

ATTEMPT 7

NNN=0

DTR 1

RTS 1

CLBIN

CLBOUT

ECHOALL 1

ECHOOUT 1

ECHOIN 1

MESSAGE "beg"

PUTS "ATDP"+NUMBER

PUTS "\R"

DELAY 1

WAITFOR "CONNECT","NO DIALTONE","ERROR","BUSY","NO ANSWER","NO CARRIER"

IF(!RET) GOTO BEG

IF(RET=1) mess=" NO_DIAL_TONE"

IF(RET=1) LRET=1

IF(RET!=1) LRET=0

IF(RET=2) mess=" ERROR"

IF(RET=3) mess=" BUSY"

IF(RET=4) mess=" NO_ANSWER"

IF(RET=5) mess=" NO_CARRIER"

IF(RET=6) mess=" no_connect"

MESSAGE mess

MESS_SC mess

strjr="Номер: "+NUMBER

strjr=strjr+" "

strjr=strjr+OWNID

strjr=strjr+" ="

str_att=""

str_att=8-N_ATT

strjr=strjr+str_att

strjr=strjr+" дата: "

strjr=strjr+_DATE

strjr=strjr+" "

strjr=strjr+_TIME

IF(N_ATT>1) GOTO ERR1

strjr=strjr+" ОШИБКА СОЕДИНЕНИЯ"

GOTO ERR2

:ERR1

strjr=strjr+" Ошибка соединения"

:ERR2

strjr=strjr+mess

WRITE JR1 strjr+"\R\N"

WRITE JR1 "------\R\N"

CLBIN

CLBOUT

DTR 0

MESSAGE "конец"

DELAY 1

DTR 1

HALT 2

:BEG

DELAY 1

CLBIN

DELAY 2

ECHOIN 1

ECHOOUT 0

CLBIN

MESSAGE " передача "

IF(!DCD) GOTO ERR0

SENDFILE FNAME

DELAY 1

IF(!RET) GOTO END

:ERR0

MESSAGE "ОШИБКА: "

MESSAGE RET

SRT=" "

SRT=RET

MESS_SC " Error:"+SRT

strjr="Номер: "+NUMBER

strjr=strjr+" "

strjr=strjr+OWNID

strjr=strjr+" ="

str_att=""

str_att=8-N_ATT

strjr=strjr+str_att

strjr=strjr+" дата: "

strjr=strjr+_DATE

strjr=strjr+" "

strjr=strjr+_TIME

IF(N_ATT>1) GOTO ENN1

strjr=strjr+" ОШИБКА ПЕРЕДАЧИ: "

GOTO ENN2

:ENN1

strjr=strjr+" Ошибка передачи: "

:ENN2

strjr=strjr+SRT

WRITE JR1 strjr+"\R\N"

WRITE JR1 "-------\R\N"

MESSAGE "НЕ ПЕРЕДАНО"

:EN20

IF(!DCD) GOTO EN10

NNN=NNN+1

DELAY 1

IF(NNN>10) GOTO EN10

GOTO EN20

:EN10

DTR 0

DELAY 1

CLBIN

CLBOUT

DTR 1

HALT 2

:END

strjr="Номер: "+NUMBER

strjr=strjr+" "

strjr=strjr+OWNID

strjr=strjr+" ="

str_att=""

str_att=8-N_ATT

strjr=strjr+str_att

strjr=strjr+" дата: "

strjr=strjr+_DATE

strjr=strjr+" "

strjr=strjr+_TIME

strjr=strjr+" Передан: "

strjr=strjr+RT_FN

WRITE JR1 strjr+"\R\N"

WRITE JR1 "------\R\N"

WRITE FNAME "\R\N Џ…ђ…„ЂЌЋ "

WRITE FNAME _DATE+" "

WRITE FNAME _TIME+"\R\N"

:EN2

IF(!DCD) GOTO EN1

NNN=NNN+1

DELAY 1

IF(NNN>10) GOTO EN1

GOTO EN2

:EN1

DTR 0

DELAY 1

CLBIN

CLBOUT

DTR 1

MESSAGE "конец"

8.8 Тексты сценариев модемного ПО телеграфного электронного терминала.

8.8.1 Сценарий инициализации SCINIT. SCI (c:\telex\out )

MESSAGE "инициализация"

ECHOIN 1

ECHOOUT 1

SETRUN "RING" "RIINIT. sci"

SETZBUFF 2048

SETZCTL 4096

SETSZPACK 1024

SETWAITFOR 60

TIMEOUT 50

PROTOCOL "Z"

DTR 0

DELAY 1

DTR 1

RTS 1

DELAY 1

PUTS "ATE0B0X4M0&N3&K2&M5S0=0S7=90\R"

:N1

IF(N_OUT) GOTO N1

WAITFOR "OK"

CLMESS

IF(RET) GOTO NO

MESSAGE "проведена инициализация"

WRITE "TGJOUR.2" " проведена инициализация \R\N"

GOTO OK

:NO

MESSAGE "модем отключен!"

WRITE "TGJOUR.2" " модем отключен!\R\N"

:OK

DTR 0

DELAY 1

CLBIN

DTR 1

8.8.2 Сценарий приема RIINIT. SCI (c:\telex\out )

SETWAITFOR 6

WAITFOR "RING"

IF(RET) GOTO FM

WAITFOR "RING"

IF(!RET) GOTO FX1

:FM

DELAY 30

:FX1

SETWAITFOR 60

DELAY 1

DTR 1

RTS 1

JR1="TGJOUR.2"

CLBIN

CLBOUT

MESSAGE "звонок"

PUTS "ATB0A\R"

:N1

DELAY 1

IF(N_OUT) GOTO N1

MESSAGE "Ожидаем соединения"

WAITFOR "CONNECT","NO DIALTONE","ERROR","BUSY","NO ANSWER","NO CARRIER"

IF(!RET) GOTO BEG

IF(RET=1) mes=" Нет тона в линии! "

IF(RET=2) mes=" Ошибка "

IF(RET=3) mes=" Занято"

IF(RET=4) mes=" Нет ответа"

IF(RET=5) mes=" Нет несущей"

IF(RET=6) mes=" Нет соединения"

MESSAGE mes

WRITE JR1 " "Ошибка входящего соединения "+mes

WRITE JR1 " "+_DATE

WRITE JR1 " "+_TIME

WRITE JR1 " \R\N"

GOTO END

:BEG

CLMESS

MESSAGE " ПРИЕМ "

MAKEFN fl

DELAY 1

CLBIN

DELAY 2

ECHOOUT 0

ECHOIN 0

RECEIVE fl

CHMOD fl

SRT=" "

SRT=RET

IF(!RET) GOTO EN1

MESSAGE " Ошибка :"+SRT

WRITE JR1 " Ошибка приема файла: "+fl

WRITE JR1 " номер: "+SRT

WRITE JR1 " дата: "+_DATE

WRITE JR1 " "+_TIME

WRITE JR1 "\R\N--\R\N"

GOTO END

:EN1

MESSAGE " Принят файл: "+fl

WRITE JR1 "Принят файл: "+fl

WRITE JR1 " дата: "+_DATE

WRITE JR1 " "+_TIME

WRITE JR1 " \R\N--\R\N"

:END

DELAY 1

IF(N_OUT) GOTO END

DTR 0

DELAY 1

DTR 1

CLBIN

CLBOUT

MESSAGE " Закончен прием "

ECHOIN 1

ECHOOUT 1

8.8.3 Сценарий передачи (c:\telex\work )

/Нажмите Enter и введите номер адресата

JR1="TGJOUR.2"

ATTEMPT 10

*****

CLRSC=1

NNN=0

DTR 0

DELAY 1

DTR 1

RTS 1

CLBIN

CLBOUT

ECHOOUT 1

ECHOIN 1

PUTS "ATB1DP"+NUMBER

PUTS "\R"

DELAY 1

WAITFOR "CONNECT","NO DIALTONE","ERROR","BUSY","NO ANSWER","NO CARRIER"

ECHOOUT 0

ECHOIN 0

IF(!RET) GOTO BEG

IF(RET=1) mes="Нет тона в линии "

IF(RET=2) mes="ошибка "

IF(RET=3) mes="занято "

IF(RET=4) mes="нет ответа "

IF(RET=5) mes="нет несущей "

IF(RET=6) mes="нет соединения "

MESSAGE mes

DTR 0

DELAY 1

CLBIN

CLBOUT

WRITE JR1 "Ошибка соединения "+mes

WRITE JR1 " "+_DATE

WRITE JR1 " "+_TIME

WRITE JR1 " \R\N"

DTR 1

HALT 2

:BEG

CLMESS

DELAY 1

CLBIN

DELAY 2

ECHOIN 0

ECHOOUT 0

MESSAGE " ПЕРЕДАЧА "

SENDTEXT

ENDTEXT

IF(RET) GOTO ER1

MESSAGE " ЗАКОНЧЕНА УСПЕШНО "

WRITE JR1 "Передан файл: "+fl

WRITE JR1 " дата: "+_DATE

WRITE JR1 " "+_TIME

WRITE JR1 "\R\N--\R\N"

MESS_SC "Файл передан по номеру: "+NUMBER

MESS_SC " дата: "+_DATE

MESS_SC " "+_TIME

GOTO END

:ER1

MESSAGE "ОШИБКА: "

MESSAGE RET

SRT=" "

SRT=RET

WRITE JR1 " Ошибка передачи: "+RT_FN

WRITE JR1 " номер: "+SRT

WRITE JR1 " дата: "+_DATE

WRITE JR1 " "+_TIME

WRITE JR1 "\R\N--\R\N"

:EN20

IF(!DCD) GOTO EN10

NNN=NNN+1

DELAY 1

IF(NNN>5) GOTO EN10

GOTO EN20

:EN10

DTR 0

DELAY 1

CLBIN

CLBOUT

DTR 1

HALT 2

:END

IF(!DCD) GOTO EN1

NNN=NNN+1

DELAY 1

IF(NNN>10) GOTO EN1

GOTO END

:EN1

DTR 0

DELAY 1

CLBIN

CLBOUT

DTR 1

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3