<< Click to Display Table of Contents >> Navigation: Modbus Universal MasterOPC Server > Руководства по подключению различных контроллеров > Настройка модемов > Опрос по GSM каналу > Строка инициализации вызывающего модема |
Для корректной работы модема необходимо ввести правильную строку инициализации. В Modbus Universal MasterOPC сервере по умолчанию предлагается строка инициализации:
ATE0V1X4&C0&D2&S1S0=0S7=60+CBST=71,0,1
Данная строка подходит для модемов Siemens и Cinterion, но может работать и с другими модемами. Однако зачастую указанная строка не проходит и опрос устройства не производится. Это может происходить из-за того, что отдельные AT-команды модемом не поддерживаются, или не поддерживается их ввод в единой строке.
В этом случае рекомендуется сначала проверить ввод данной команды через терминал, и в случае ошибки ввести команды по очереди или заменить неподдержанные команды аналогами.
Универсальным решением является поочередный ввод каждой AT команды, и, если все команды прошли успешно, запись настроек в память модема. Мы рекомендуем всегда использовать данное решение – оно несколько более затратное по времени, но гарантировано снимает проблему с определением строки инициализации.
Для ввода AT команд нужно использовать любую терминальную программу. Для работы мы будем использовать программу Teraterm (http://en.osdn.jp/projects/ttssh2/releases/).
После установки и запуска появится окно где нужно выбрать тип подключения "COM" и указать COM порт к которому подключен модем.
По умолчанию модемы настроены на скорость 9600 б/с, 8 бит данных, без контроля четности, 1 стоп-бит. Если у вашего модема установлены другие настройки, в настройках программы можно изменить настройку подключения.
После этого рекомендуется в настройках включить режим Локальное эхо - в данном режиме команды вводимые команды будут отображаться, даже если будет выключено эхо в модеме. Для включения локального эха вызовите команду Настройка – Терминал…
В окне включите опцию Локальное эхо.
После этого можно произвести ввод команды строки инициализации:
ATE0V1X4&C0&D2&S1S0=0S7=60+CBST=71,0,1
После ввода команды модем должен ответить OK. Если после ввода строки целиком вы не получаете от модема ответ OK, значит он не понимает строку целиком или не поддерживает какую-то из команд. В этом случае нужно вводить строку отдельные AT-командами.
При вводе отдельных команда, от модема должно также приходить OK.
Ниже представлено описание всех использованных в строке AT-команд:
ATE0 - отключить режим эха.
ATQ0 - управление кодом ответа. Эта команда управляет посылкой ответных сообщений к DTE. ATQ0 разрешить ответные сообщения.
ATV1 - развернутый или сжатый код ответа. Эта команда управляет форматом кода ответа ("словесные" ответы или цифровые коды). ATV1 - развернутые, "словесные" ответы.
ATX4 - контроль готовности тонального сигнала. При удовлетворительном соединении с удаленным устройством модем возвращает команду Connect.
AT&C0 - управление несущей. Команда AT&C0 включает распознавание несущей данных (номер контакта 8 интерфейса RS232C).
AT&D2 - управление сигналом DTR (готовность передачи данных). По команде AT&D2 модем переходит в состояние ожидания и возвращается в командный режим при прекращении сигнала DTR. Если планируется работа с модемом в режиме RS-485 (то есть программное управление передачей данных), то тогда необходима команда AT&D0 (DTR всегда задействован).
AT&S1 - Управление сигналом DSR. Сигнал DSR включается в начале процедуры вхождения в связь (handshaking) и выключается при нахождении в тестовом режиме или в режиме ожидания.
ATS0=0 - управление автоподнятием трубки. При указанном значении пропускается заданное количество гудков, если установлен ноль, то автоподнятие трубки блокируется.
ATS7=60 - время (в сек) на ожидание установки соединения.
AT+CBST=71,0,1 - выбор скорости, имени и режима передачи. Команда устанавливает скорость 9600 бит/с v.110, режим передачи данных – непрозрачный.
Если какая-то из команд не проходит (модем не отвечает OK), значит команда не поддерживается. В этом случае нужно найти в документации к модему аналог команды.
После того, как ввод команд завершен, нужно будет ввести команду AT&W – данная команда запишет указанную строку в память модема.