PDA

Просмотр полной версии : ПМ01



forfiftyone
06.11.2012, 22:22
Привет всем.
В Hyper terminal соединяюсь с модемом, пишу команду atd а он в ответ no carrier.
В чем причина?

petera
06.11.2012, 23:01
Привет всем.
В Hyper terminal соединяюсь с модемом, пишу команду atd а он в ответ no carrier.
В чем причина?
А что Вы хотели увидеть?:)
А где остальная часть команды?
Для набора номера, например 3451798,
ATD 3451798 и нажать ENTER

petera
06.11.2012, 23:15
Привет всем.
В Hyper terminal соединяюсь с модемом, пишу команду atd а он в ответ no carrier.
В чем причина?
В дополнение возможно не хватает символа ";" в конце команды, сразу после номера. Это признак "голосового вызова":(

petera
06.11.2012, 23:34
Привет всем.
В Hyper terminal соединяюсь с модемом, пишу команду atd а он в ответ no carrier.
В чем причина?
Попробуйте после ответа модема NO CARRIER дать ему команду AT+CEER
Получите код ошибки последнего вызова. Кодов много все перечислить не могу.
NO CARRIER возможен например если модем не зарегистрирован в сети

petera
06.11.2012, 23:54
Привет всем.
В Hyper terminal соединяюсь с модемом, пишу команду atd а он в ответ no carrier.
В чем причина?
Из руководства на модем (не ПМ01)

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

Достаточный ли уровень принимаемого сигнала?
Зарегистрирован ли модем в сети?
Подключена ли антенна правильным образом?
«NO CARRIER» (при попытке установить голосовое соединение)
Введен ли знак«;» непосредственно после номера телефона в AT команде НапримерATD######;
«NO CARRIER» (при попытке передачи данных)
Открыта ли опция передачи данных/факсов на Вашей SIM карте
Поддерживает ли вызываемая сторона выбранный тип передачи данных?
Разрешен ли в Вашей сети данный тип передачи данных?
Некоторые коды +CEER
1 Номер телефона не найден
16 Нормальное разъединение
17 Абонент занят
18 Абонент не отвечает
19 Абонент в аварийном состоянии, нет ответа
21 Вызов отклонен
22 Номер изменился
31 Нормальный, неспециальный
50 Требуемая услуга не активирована
68 Денег на счете недостаточно
252 Запрет вызова на исходящие звонки
253 Запрет вызова на входящие звонки
3,6,8,29,
34, 38, 41,
42, 43 44,
47, 49, 57,
58, 63, 65,
69, 70, 79,
254
Определяются сетью

forfiftyone
07.11.2012, 20:14
Проблема была в некорректном Lectus OPS (переустановил и все заработало). Теперь проблема другая:
при подключении выдает ошибка при разъединении входящего звонка и на конце плк modem fault принимает значение 1.
Вот лог:
20:05:21.912 [2900] КЛИЕНТ ЗАПУЩЕН
20:05:22.541 [4024] (COM3)Tx: ATZ

20:05:22.750 [4024] (COM3)Rx: ([6] 0D 0A 4F 4B 0D 0A )
OK

20:05:22.750 [4024] (COM3)Tx: ATD89813014881

20:05:44.051 [4024] (COM3)Rx: ([16] 0D 0A 43 4F 4E 4E 45 43 54 20 39 36 30 30 0D 0A )
CONNECT 9600

20:05:45.047 [4024] (COM3) Подключение -ОК
20:05:45.049 [4024] (COM3)Tx: [8] 01 03 00 00 00 01 84 0A
20:05:47.565 [4024] (COM3)Rx: ([5] 41 54 49 0D 0A ) ATI

20:05:47.565 [4024] (COM3) Ошибка при разъединении входящего звонка

После этого модем который на стороне ПК в hyperterminal постоянно шлет команду ATI

petera
07.11.2012, 22:18
Проблема была в некорректном Lectus OPS (переустановил и все заработало). Теперь проблема другая:
при подключении выдает ошибка при разъединении входящего звонка и на конце плк modem fault принимает значение 1.
Вот лог:
20:05:21.912 [2900] КЛИЕНТ ЗАПУЩЕН
20:05:22.541 [4024] (COM3)Tx: ATZ

20:05:22.750 [4024] (COM3)Rx: ([6] 0D 0A 4F 4B 0D 0A )
OK

20:05:22.750 [4024] (COM3)Tx: ATD89813014881

20:05:44.051 [4024] (COM3)Rx: ([16] 0D 0A 43 4F 4E 4E 45 43 54 20 39 36 30 30 0D 0A )
CONNECT 9600

20:05:45.047 [4024] (COM3) Подключение -ОК
20:05:45.049 [4024] (COM3)Tx: [8] 01 03 00 00 00 01 84 0A
20:05:47.565 [4024] (COM3)Rx: ([5] 41 54 49 0D 0A ) ATI

20:05:47.565 [4024] (COM3) Ошибка при разъединении входящего звонка

После этого модем который на стороне ПК в hyperterminal постоянно шлет команду ATI

Что-то мне подсказывает, что может нужно использовать протокол передачи данных— Modbus ASCII

petera
07.11.2012, 23:34
Из примера http://www.kipshop.ru/Documentation/lectus/plc_lectus_gsm(csd).zip следует, что в настройках lectus нужно установить - Протокол обмена данными Modbus ASCII.

20:05:44.051 [4024] (COM3)Rx: ([16] 0D 0A 43 4F 4E 4E 45 43 54 20 39 36 30 30 0D 0A )
CONNECT 9600

20:05:45.047 [4024] (COM3) Подключение -ОК Модемное соединение установлено.

20:05:45.049 [4024] (COM3)Tx: [8] 01 03 00 00 00 01 84 0AА это команда в формате ModBus RTU. Она сбивает с толку модем со стороны ПЛК.
А должно быть как на картинке ниже (взята из примера). Где правильная команда в формате ModBus ASCII

forfiftyone
08.11.2012, 21:09
Решил проблему. Оказывается надо было просто скинуть настройки модема на заводские)))).
Теперь следующий вопрос:
Возможно ли из ПЛК через модем (CSD связь) передать переменную типа BOOL. Если да, то как надо ее забивать в программе ПЛК?

capzap
08.11.2012, 21:22
Решил проблему. Оказывается надо было просто скинуть настройки модема на заводские)))).
Теперь следующий вопрос:
Возможно ли из ПЛК через модем (CSD связь) передать переменную типа BOOL. Если да, то как надо ее забивать в программе ПЛК?

Есть множество способов передать, с помощью модбас можно, можно самому работать с портом и передать байт со значением булевой переменной