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 |


