maxx
Global Moderator
Харизма: 20
Офлайн
Сообщений: 333
|
|
« : 30.03.2009, 17:48:37 » |
|
Управление модемом основано на наборе команд модемов Hayes, которому следует большинство модемов. Управление модемом осуществляется, если параметр "Тип соединения" имеет значение "модемное". При задании у параметра этого значения запускается тайм-аут передачи данных. При рестарте прибора, если тип соединения - модемное, а также при истечении тайм-аута передачи данных выполняется инициализация модема: - после паузы 1,5 сек передаются символы "+++" (перевод модема в командный режим), - после паузы 1,5 сек передаются AT-команды: положить трубку ("H0"), сбросить модем - загрузить значения по умолчанию ("Z"), задержка (4..6 сек), ответ модема - в символьном виде ("V1"). Прибор переходит к приёму сообщений от модема. При работе с модемом в командном режиме межбайтовая задержка при приёме устанавливается в 200 мсек. При получении от модема любого сообщения, кроме "CONNECT", оно воспринимается (на случай рассогласования скоростей при рестарте модема) как сообщение "Звонок" ("RING"): запускается тайм-аут получения следующего звонка (10 сек) и, если в приборе задано ненулевое количество звонков, выполняется подсчёт количества пришедших звонков. Если истёк тайм-аут получения следующего звонка, то выполняется инициализация модема. Если получено заданное количество звонков, то выдаётся команда "поднять трубку" ("A") и запускается тайм-аут установления соединения (45 сек). При истечении тайм-аута установления соединения выполняется инициализация модема. Если пришло сообщение об установлении соединения ("CONNECT") (после нескольких звонков модем снял трубку - автоматически или по команде - и установил соединение), то модем переходит в режим данных, прибор тоже переходит в режим данных и запускает тайм-аут передачи данных (60 сек). В режиме данных происходит обмен данными по протоколу Modbus, но параметр "Интервал" используется как дополнительный (по сравнению с Modbus) байтовый интервал (по 10 мсек) (суммарный байтовый интервал ограничивается 2 сек). Осуществляется управление потоком RS232. При окончании передачи данных перезапускается тайм-аут передачи данных. Если тайм-аут передачи данных истёк, то выполняется инициализация модема. Для правильной работы прибора с модемом у последнего должны быть заданы следующие значения по инициализации ("ATZ") для ряда параметров: используется "+++" для перехода в командный режим: %E1 (по умолчанию), код символа '+': S2=43 (по умолчанию), код символа CR: S3=13 (по умолчанию), длительность паузы при переходе в командный режим: < 1,5 сек: S12<75 (по умолчанию: S12=50: 1 сек), в сообщениях командного режима используются слова, а не коды: V1 (по умолчанию), сигнал DTR не используется: &D0. Если требуется аппаратное управление потоком с DTE (прибором) со стороны модема (малый буфер у модема при низкой скорости передачи к DCE) (при этом параметр управления потоком RS232 у прибора должен иметь значение =2: "двунаправленное"): &K3 - разрешение управления потоком RTS/CTS, иначе (не используется аппаратное управление потоком) (при этом параметр управления потоком RS232 у прибора должен иметь значение =0: "нет"): &K0 - не используется управление потоком RTS/CTS.
|