PDA

Просмотр полной версии : Библиотека SmsOwenLib для работы с SMS в CODESYS v2.3



Страницы : [1] 2 3 4

Евгений Сергеевич
19.07.2012, 17:25
Делюсь с вами библиотекой для работы с SMS-сообщениями.
Библиотека адаптирована для работы с модемом ПМ01 и контроллерами ПЛК1хх, ПЛК63/73

Важно!
Модемы ПМ01, выпущенные после апреля 2017 года работают на модуле SIM800.
Для работы с SMS на новых модемах обновите библиотеку до версии 2.3.0.25 или новее.
После обновления библиотеки совместимость со старыми ПМ01 сохраняется.

Библиотека умеет:

Отправлять сообщения
Принимать сообщения
Работать с несколькими получателями


Примеры работы с библиотекой можно скачать тут:
http://www.owen.ru/forum/showthread.php?t=13029&p=86679&viewfull=1#post86679
http://www.owen.ru/forum/showthread.php?t=13029&p=86681&viewfull=1#post86681

Внимание!
Номер вводится целиком в формате ХХХ (ССС) ..... , где
ХХХ - код страны. Для России - 7, для Украины - 380
ССС - код оператора.

Вводите номер слитно, без скобок и знака "+"
Примеры:
Россия - 79012345678
Украина - 3809012345678

Актуальная версия: 2.3.0.25.
Изменения: библиотека адаптирована для работы с модулем SIM800.

В архиве две версии библиотеки:
SmsOwenLib - подходит для ПЛК1хх
SmsOwenLib_x3 - подходит для ПЛК63/73

Евгений Сергеевич
19.07.2012, 17:28
Так же выкладываю программы примеров упомянутых в руководстве.

Евгений Сергеевич
19.07.2012, 17:29
Все не влезли поэтому продолжение.

Здесь лежит пример работы с библиотекой на плк 63 pm1_x3.pro

Рабиндранат
19.07.2012, 18:35
Фантастик. Будем пробовать!

Big82
20.07.2012, 12:18
Бибка не работает при компиляции проэкта выскакивает 5 ошибок

Рабиндранат
20.07.2012, 12:52
Ага, есть такая штука.

Евгений Сергеевич
20.07.2012, 13:55
Есть, уже исправил и выложил заново.

capzap
20.07.2012, 13:58
хотелось бы услышать, кто какие ПЛК использует при работе с бибкой?
У меня это ПЛК100-220-P-M

Big82
20.07.2012, 14:25
Бибка всё ещё не рабочая, осталась одна ошибка. Будьте добры поправьте пожалуйста.

Рабиндранат
20.07.2012, 14:37
Использую ПЛК100-24-Р-L. Ошибочка одна есть, как и было сказано в предыдущем посте.

Евгений Сергеевич
20.07.2012, 14:41
Вот теперь вроде как все.

Big82
20.07.2012, 22:09
ПЛК 100-220-Р-М у меня не принимает и не отправляет. У кого-нибудь заработало?

capzap
20.07.2012, 22:20
ПЛК 100-220-Р-М у меня не принимает и не отправляет. У кого-нибудь заработало?

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

Big82
20.07.2012, 22:22
Я ноль поставил, щаз попробую 10

Big82
20.07.2012, 23:30
Нет ни приёма ни отправки, боюсь что проблема в бибке

Big82
21.07.2012, 01:36
Подключил другой модем, и всё заработало!

capzap
21.07.2012, 06:19
Подключил другой модем, и всё заработало!

может первый модем был настроен на другую скорость, отличную от 9600, у меня тоже так не раз было. Я правда не сохраняю никогда параметры и после отключения питания все возвращается в первоначальный вид

igorsp
22.07.2012, 20:23
проверил примеры. передача работает, прием СМС непонятный, то есть то нет.
Эта болячка у всех примеров предложенных ранее.
Проблема в том что модем не однозначно откликается на запрос о новых принятых СМС.
стабильный прием СМС получается при проверке текста на совпадение сразу с номерами телефонов,а не ожидания извещения ч то СМС новое, и определенной процедуре удаления СМС из памяти.

Еще у меня вопрос: при отправке СМС и отсутствие средств на счету модем выдает ERROR 515, (проверено несколько раз, после пополнения счета ошибки нет), это только на Мегафоне (т.е. у меня) или у других операторов тоже?

capzap
22.07.2012, 20:36
стабильность приема смс возрастет, если смс-ки не скапливаются непрочитанными

Евгений Сергеевич
23.07.2012, 16:46
Интересно. Покапался в библиотеке, была ошибка в определение двузначного номера ячейки. Поправил тайм-ауты.
Исправленная библиотека в первом сообщение.

Василий Кашуба
24.07.2012, 14:42
На выходе Done функционального блока FB_SMS_CFG постоянно висит FALSE. Все делал по инструкции. ПЛК 150УЛ, Модем ПМ01. В чем может быть проблема? От чего зависит положительный ответ на этом выходе?

capzap
24.07.2012, 17:12
На выходе Done функционального блока FB_SMS_CFG постоянно висит FALSE. Все делал по инструкции. ПЛК 150УЛ, Модем ПМ01. В чем может быть проблема? От чего зависит положительный ответ на этом выходе?

Точно в конфигураторе добавили универсальный модуль

Василий Кашуба
24.07.2012, 17:38
Добавлял Универсальный сетевой модуль, ставил порты и RS232-Debug, и RS485-1. Результат такой же :(

capzap
24.07.2012, 18:04
попробуйте запустить любой другой проект на основе библиотеки UNM, надо бы понять в чем дело то

Евгений Сергеевич
25.07.2012, 10:37
что выдает блок на выходе ErrCode? и что на выходе OUT блока "OpenPort"?

Василий Кашуба
25.07.2012, 11:35
что выдает блок на выходе ErrCode? и что на выходе OUT блока "OpenPort"?

ErrCode=0, OUT=TRUE

capzap
25.07.2012, 11:37
http://kipshop.ru/Primeri/DevicesOther/02_UNM.zip вот этот пример у Вас работает?

Василий Кашуба
25.07.2012, 11:38
http://kipshop.ru/Primeri/DevicesOther/02_UNM.zip вот этот пример у Вас работает?

Сейчас буду пытать

Ошибка 3 - размер посылки не соответствует ожидаемому. Менял разные параметры (скорость, кодировка, порт 232/485), ошибка та же.

Рабиндранат
25.07.2012, 12:29
Кстати, вот, только начал тестировать библиотеку. Пока пытаю отправку СМС.
Получается, что в модем засылаются всякие символы интересные (типа 1ewШɛIJŁ смотрю в Гипертерминале), а передать СМС еще не получилось.

capzap
25.07.2012, 12:33
Кстати, вот, только начал тестировать библиотеку. Пока пытаю отправку СМС.
Получается, что в модем засылаются всякие символы интересные (типа 1ewШɛIJŁ смотрю в Гипертерминале), а передать СМС еще не получилось.
одновременно не получиться и через контроллер что то слать в модем и гипертерминалом смотреть, потому как он тоже пытается пообщаться с модемом и в результате в сети один мусор. Вспомните про модбас, мастер должен быть один

capzap
25.07.2012, 12:40
Ошибка 3 - размер посылки не соответствует ожидаемому. Менял разные параметры (скорость, кодировка, порт 232/485), ошибка та же.

входы блока, переменную PortCfg попробуйте установить в FALSE

Рабиндранат
25.07.2012, 12:41
Ну, когда организовывал соединение по CSD (которое, кстати, так и не получилось - спасибо нашей доблестной тех. поддержке), прекрасно же видно в гипертерминале, какие команды ПЛК посылает модему (без всякого лишнего мусора). Но попробую и без ГТ.

Василий Кашуба
25.07.2012, 13:00
входы блока, переменную PortCfg попробуйте установить в FALSE

Не помогло. Думаю, что дело в модеме. Буду перепроверять все провода, параметры и настройки еще раз. Жду с нетерпением ответов, если появятся мысли, что можно поменять еще.

capzap
25.07.2012, 13:06
Не помогло. Думаю, что дело в модеме. Буду перепроверять все провода, параметры и настройки еще раз. Жду с нетерпением ответов, если появятся мысли, что можно поменять еще.

Если ошибка 3, то она означает, если смотреть в типах LIST_ERROR, неправильную настройку потока, предположу что Вы настраиваете на какие то другие параметры, отличные от того с которых связь с модемом была, изменив хоть один параметр Вы теряете связь с модемом на тех сетевых настройках с которыми начинали связываться, если параметры не записаны в энергонезависимую память, отключите питание модема чтоб вернутся в начальные установки и без PortCfg попробуйте еще раз связаться

Александр Холмов
25.07.2012, 14:20
Также висит FB_SMS_CFG Done постоянно FALSE . OpenPort OUT TRUE
менял входные параметры по инструкции, менял модем. проверял подключение. не помогает

Василий Кашуба
25.07.2012, 14:40
Также висит FB_SMS_CFG Done постоянно FALSE . OpenPort OUT TRUE
менял входные параметры по инструкции, менял модем. проверял подключение. не помогает

Перепроверяйте соединения проводов и т.д., потому что это самая распространенная ошибка. И смотрите сообщения выше, то решение должно помочь разобраться в в чем именно проблема.

capzap
25.07.2012, 14:44
а пришлите скрин Вашего экрана с ПОУ в котором находится блок FB_SMS_CFG есстественно врежиме онлайн, что видно было состояние входов и выходов

Василий Кашуба
25.07.2012, 16:04
а пришлите скрин Вашего экрана с ПОУ в котором находится блок FB_SMS_CFG есстественно врежиме онлайн, что видно было состояние входов и выходов

Вот, пожалуйста. Я заметил, что выход tik не изменяется.

Александр Холмов
25.07.2012, 16:12
Перепроверил подключение. Схема заработала. Благодарю.
Для подключения по DebudRS232 или RS232 к X1 использую половину кабеля КС1

capzap
25.07.2012, 16:35
Вот, пожалуйста. Я заметил, что выход tik не изменяется.

Попробуйте через гипертерминал набрать команды ATE0 и ATH0, какие ответы они дают, просто странно, когда переменная state равна 3, должна уже выпонятся команда ATE0$R, а у Вас все зависло на ATH0, может нужно еще увеличить минимальный цикл ПЛК

Василий Кашуба
25.07.2012, 19:26
Большое спасибо Евгению Сергеевичу!!!
Вместе и справились :) Люди, при проблемах меняйте минимальное время цикла. На ПЛК 150 УЛ - это 3-5 мс.
В дальнейшем предлагаю организовать базу оптимальных параметров для работы ПЛК с различным оборудованием. А то модем и ПЛК разговаривают, а понять друг друга не могут ;)

Также спасибо capzap за то, что не оставил в трудный момент и помогал идеями :)

Евгений Сергеевич
26.07.2012, 11:44
По итогам первых проб я решил записать видео. Учавствуют ПЛК 154.У-М со временем цикла 5 и 50 мс. в качестве модема выступает ПМ01-24.АВ [M02]. Интерфейс подключения RS-485, программа прослушки порта wTerm (через АС3-М на ком порт ПК).

Ссылка на видео (http://www.owen.ru//uploads/sms_film.zip)

Поправили зацикливание ФБ во время конфигурирования.

Евгений Сергеевич
01.08.2012, 12:22
Внимание!!!
К сожалению пока не работает на Украине, т.к. номера идут без +7. Исправляем

АКС
01.08.2012, 14:16
Подскажите пожалуйста, а заработает ли ПМ01 с контроллером ПЛК73. Добавить Universal Network Module не получается. Там с RS-485 не так все просто. Может есть пример отправки СМС на ПЛК73?

Евгений Сергеевич
01.08.2012, 15:15
На плк63 и плк73 Universal Network Module не поддержан

АКС
01.08.2012, 15:22
А как тогда работать с Пм01, с помощью библиотеки SmsOwenLib? И можно ли вообще с ней тогда работать?

MarkJEney
01.08.2012, 18:28
Внимание!!!
К сожалению пока не работает на Украине, т.к. номера идут без +7. Исправляем

Доброго времени суток.
Подскажите, в какой срок будет исправлена ​​библиотека SmsOwenLib для работы с украинскими операторами? Очень срочно нужна корректная библиотека, так как горит проект связан с отправкой смс через модем Пм01 (контроллер ПЛК100РМ) и как ее можно получить?

capzap
01.08.2012, 18:36
Доброго времени суток.
Подскажите, в какой срок будет исправлена ​​библиотека SmsOwenLib для работы с украинскими операторами? Очень срочно нужна корректная библиотека, так как горит проект связан с отправкой смс через модем Пм01 (контроллер ПЛК100РМ) и как ее можно получить?

а можете сделать скрины как отправляются и принимаются смс в Украине через гипертеминал, чтоб понять в чем различие от российских операторов, может я попытаюсь что то сделать в этом направлении, не ехать же мне из-за этого самому в Днепропетровск :)

MarkJEney
01.08.2012, 18:53
а можете сделать скрины как отправляются и принимаются смс в Украине через гипертеминал, чтоб понять в чем различие от российских операторов, может я попытаюсь что то сделать в этом направлении, не ехать же мне из-за этого самому в Днепропетровск :)

Сейчас такой возможности нет. Выставляю скрины самой программы в процессе ее работы, возможно этого будет достаточно.

Проблема в том, что при подаче на вход SendSMS ФБ FB_SMS_SR значение TRUE не идет отправка смс.
Состояния выходов:
Busy - TRUE;
ErrCode - 0;
SmsSend - FALSE

capzap
01.08.2012, 20:08
неа, надо точно знать как смс-сервер формирует последовательность байт приходящей смски, точно известно что международный код России 7, а в Украине я так понимаю 380, это на два байта больше и поэтому раз программа написана изначально в России возможно с смс ни чего не получается потому что некорректно соотношение длинны указанной для модема и на самом деле отправленной
Обязательно нужен скрин принятой смс командой AT+CMGR=x, где x номер ячейки

АКС
02.08.2012, 09:45
А как тогда работать с Пм01, с помощью библиотеки SmsOwenLib? И можно ли вообще с ней тогда работать?
Ответ будет на мой вопрос? Или меня бросят на произвол судьбы?

Рабиндранат
02.08.2012, 10:25
Ответ будет на мой вопрос? Или меня бросят на произвол судьбы?

Думаю, если Вам нужен срочный ответ, то лучше обратиться напрямую в службу тех. поддержки, чем взывать о справедливости на форуме.

Николаев Андрей
02.08.2012, 10:56
уважаемые господа.
напоминаю, что библиотека смс - ресурс созданный компанией ОВЕн для удобства пользователей. не является плотным, и распространяется "как есть".
Примеры как формировать отправки смс были и сейчас доступны в соответствующем разделе.
жалобы не принимаются - только пожелания.

По Украине - Евгений Сергеевич написал - разбираемся. Лучше всего связаться с ним лично по почте или скайпу. Думаю допилим.
Библиотек сделана в первую очередь для контролллеров ПЛК1хх. Сделана на базе библиотеки ЮНМ, которая в ПЛК63 не поддержана. По этому библиотеку в таком виде использовать с данным контроллером нельзя.
как адаптировать данную библиотеку под указанный контроллер мы сейчас думаем.
Опять же уточнить тонкости и особенности можно у Евгения.

АКС
02.08.2012, 14:03
Библиотек сделана в первую очередь для контролллеров ПЛК1хх. Сделана на базе библиотеки ЮНМ, которая в ПЛК63 не поддержана. По этому библиотеку в таком виде использовать с данным контроллером нельзя.
как адаптировать данную библиотеку под указанный контроллер мы сейчас думаем.
Опять же уточнить тонкости и особенности можно у Евгения.

Спасибо, буду ждать...

capzap
03.08.2012, 07:20
Спасибо, буду ждать...

Тут даже поиском по форуму пользоваться не нужно, в разделе про КДС человек сам уже о себе намекнул что у него есть наработки с интересующим плк :)

Николаев Андрей
03.08.2012, 09:17
Тут даже поиском по форуму пользоваться не нужно, в разделе про КДС человек сам уже о себе намекнул что у него есть наработки с интересующим плк :)

Вроде да:
http://www.owen.ru/forum/showthread.php?t=12319&page=2

Евгений Сергеевич
07.08.2012, 11:55
Поправили библиотеку для работы с операторами других стран. Теперь номер вводится полностью (так как выдает телефон при входящем смс). Примеры и описание еще не успел исправить. Будте внимательны!

Т.е. для России номер начинается с 7 (ххх), для Украины 380 (ххх) и т.д.
еще раз повторяю вводятся все цифры номера. Плюс вводить не надо.

Евгений Сергеевич
07.08.2012, 12:00
Для ПЛК 63 / 73 библиотека будет доработана, возможно изменится интерфейс блока открытия порта.

maks-tver
07.08.2012, 12:45
Добрый день, при использовании вашей библиотеки возникло несколько вопросов: какое количество символов может быть во входящем сообщении, есть ли ограничение на количество символов идущих подряд без пробела во входящем **** при приеме двух русских букв (например "Ка")на выходе NewInSMS получаем 'Ка$04$04ово.$P$P#$07—˜$01$04‘p$P#‘a™р»—$04$04y#‘5 R$P$P!yv‰$1F@$19p$02$02$02 $07$123$08$N$Pр$N$P¬$R', и есть ли какие то рекомендации по поводу настройки цикла ПЛК?

Евгений Сергеевич
07.08.2012, 12:50
какой именно текст вы водите без разницы, длина зависит от раскладки, кириллица - 70 латиница-160 входящие и исходящие. Цикл ПЛК должен быть не менее 3 мс и желательно не более 20мс.

maks-tver
07.08.2012, 13:04
Странно у меня почему то смски длиннее 30-ти символов не принимаются

maks-tver
07.08.2012, 13:19
Увеличил цикл до 10 стало принимать:) , но два символа принимает с мусором: "'Ка$04$04ово.$P$P#$07—˜$01$04‘p$P#‘a™р»—$04$04y#‘5 R$P$P!yv‰$1F@$19p$02$02$02 $07$123$08$N$Pр$N$P¬$R'"

Валенок
07.08.2012, 16:05
Использую syslibcom. Цикл и не думаю увеличивать. SMS - уходят
Значит чето в консерватории ..

Евгений Сергеевич
07.08.2012, 18:48
to maks-tver
они вообще не проходят и не зависимо от языка? можно вашу программу посмотреть? Выдачу мусора и "застревание" длинных смс повторить не удалось.

Можете сделать видео как вот тут (http://www.owen.ru/forum/showpost.php?p=87161&postcount=42)?

maks-tver
07.08.2012, 20:13
Длинные смска стали проходить после увеличения цикла до 10, а с смсками из двух букв непонятно, проект во вложении

capzap
07.08.2012, 21:33
проект не смотрел, но судя по времени цикла у Вас плк100. У меня тоже, проблем не замечал. Уточните когда скачивали библиотеку, возможно ни у кого таких проблем не проявляется, потому что отличная версия от Вашей

maks-tver
08.08.2012, 09:11
Библиотеку скачал 24.07

capzap
08.08.2012, 09:22
попробуйте вчерашний выпуск, помнится в июле у многих были проблемы, некоторые даже до открытия порта не доходили, может проблема действительно существовала, я правда на столько короткие не запускал

maks-tver
08.08.2012, 10:57
Спасибо попробую, только жаль что на этой версии уже много сделано :)

maks-tver
08.08.2012, 11:00
А какие еще сделаны изменения в последней версии кроме добавленного кода страны?

capzap
08.08.2012, 11:07
как бы это не новая версия, а исправленная от багов, почему решили что Ваш код не будет работать

MarkJEney
08.08.2012, 12:42
Поправили библиотеку для работы с операторами других стран. Теперь номер вводится полностью (так как выдает телефон при входящем смс). Примеры и описание еще не успел исправить. Будте внимательны!

Т.е. для России номер начинается с 7 (ххх), для Украины 380 (ххх) и т.д.
еще раз повторяю вводятся все цифры номера. Плюс вводить не надо.

Спасибо большое Евгений Сергеевич!
Будем испытывать новую библиотеку. О результатах отпишусь позже.

capzap
08.08.2012, 15:40
Увеличил цикл до 10 стало принимать:) , но два символа принимает с мусором: "'Ка$04$04ово.$P$P#$07—˜$01$04‘p$P#‘a™р»—$04$04y#‘5 R$P$P!yv‰$1F@$19p$02$02$02 $07$123$08$N$Pр$N$P¬$R'"

Вы можете посмотреть через гипертерминал, какое количество байт выдает команда CMGR на Вашу смс длинной два символа или по другому, концовка строки должна быть следущей "04041A0430"
:) и если не секрет что означает слово "Ка"

Рабиндранат
08.08.2012, 15:44
Спасибо, Евгений! Все отлично работает!

maks-tver
08.08.2012, 22:35
Не секрет это мы так модем тестировали :)

capzap
09.08.2012, 06:21
Не секрет это мы так модем тестировали :)

а на первую часть вопроса когда ответите и еще каким устройством отправляли **** может дело в отправке

maks-tver
09.08.2012, 10:04
"Вы можете посмотреть через гипертерминал, какое количество байт выдает команда CMGR на Вашу смс длинной два символа" - к сожалению сейчас с собой нет СОМ переходника, а так использую ПЛК 100.

capzap
09.08.2012, 10:22
:) я то считал что у каждого есть АС4

maks-tver
09.08.2012, 11:41
Еще вопрос :), а как себя будет вести библиотека при включении модема если память входящими смсками заполнена?

capzap
09.08.2012, 12:00
вроде в описании где то было написано, что по включению можно разрешить все удалить а так после прочтения она удаляется, соответственно прога должна их все прочитать и освободить память

maks-tver
09.08.2012, 12:23
У меня получилось так, что всю ночь модем был выключен, в это время на него сыпались смски, утром включил, а модем не может прочитать смски:(, вставляю симку в телефон удаляю все смски, вставляю симку в модем смски начинает принимать потом опять забивается и прием встает.

capzap
09.08.2012, 12:50
и сколько нужно смсок чтоб перестал читать, я 12 отправлял, потом запускал проект, все были прочитаны и удалены. Модем у меня на чипсете SIM900

maks-tver
09.08.2012, 12:53
Я неправильно написал, было так: модем был включен, а контроллер всю ночь выключен был.

capzap
09.08.2012, 13:18
в моем случае также, плк включаю запускается проект, так на каком количестве приблизительно останавливается работа: 50, 100 или 1000 смсок.
:) конечно последний вариант я не осилю но попробовать мог бы

maks-tver
09.08.2012, 13:21
Где то около 15

Евгений Сергеевич
09.08.2012, 15:24
по логам он начинает читать и получает огромный список задумывается а потом начинает инициализацию заново?

maks-tver
09.08.2012, 15:28
Именно так!!!

Евгений Сергеевич
09.08.2012, 16:42
у каждого действия есть сторожевой таймер. когда вы читаете 15 сообщений то надо вычитать из порта примерно 3000 байт, чтение происходит по одному байту соответсвенно при времени цикла в 5 мс на это уйдет 15 сек. у нас стояло 5 сек. сейчас увеличили этот параметр и должо хватить.

Леонид
12.08.2012, 00:11
Для ПЛК 63 / 73 библиотека будет доработана, возможно изменится интерфейс блока открытия порта.

Произведена ли доработка на данный момент? Если нет можно ли открывать порт с помощью библиотетки COM_SERVICE?

Когдато пробовал ковырять старую библиотеку "SMS" на плк 73, по работе самой библиотеки были вопросы, но смс отправлялись.

Rog
12.08.2012, 14:00
Добрый день, выскакивает вот такая ошибка (в файле), шнуры, модем менял, при прошивки другой программы, которая на другой, рабочей котельной, та же ошибка, плк 100, модем пм01, грешу на плк, в чём ещё может быть проблема?

maks-tver
12.08.2012, 14:27
у каждого действия есть сторожевой таймер. когда вы читаете 15 сообщений то надо вычитать из порта примерно 3000 байт, чтение происходит по одному байту соответсвенно при времени цикла в 5 мс на это уйдет 15 сек. у нас стояло 5 сек. сейчас увеличили этот параметр и должо хватить.

Пробовал наслать на выключенный модем смсок 25 потом включил, считывание встает (застряет на одной смске) где то на 12-14ой, стоит ПЛК-100 (цикл 10мс) <-- rs-232 --> ПМ 01

capzap
13.08.2012, 09:05
Пробовал наслать на выключенный модем смсок 25 потом включил, считывание встает (застряет на одной смске) где то на 12-14ой, стоит ПЛК-100 (цикл 10мс) <-- rs-232 --> ПМ 01

Не пробовали менять скорость порта

maks-tver
13.08.2012, 09:47
Нет не пробовал, сейчас стоит 9600.

Евгений Сергеевич
13.08.2012, 14:10
Внес дополнительный сброс подблока чтения СМС, немного изменил условия перехода, стало чуть медленнее но зато более устойчиво. проверил с 25 смс правда на симке может храгниться только 20 поэтому еще 5 получал в процессе чтения. все прошло без ошибок, вычитка заняла около 7 минут, +-.

В информации о библиотеке есть ее версия. На текущий момент последняя 2.3.0.17

maks-tver
13.08.2012, 14:50
Спасибо буду пробовать.

capzap
13.08.2012, 14:51
напрашивается вопрос, а для чего плк должен читать несколько смсок за раз? Если это какието управляющие команды, то непоздновато будет узнать о них только когда плк включат. Еслиже данные не вмещаются в несколько смсок, то дешевле по модбас передать инфу, некажется?

maks-tver
13.08.2012, 16:07
У меня 6 котельных раз в 30мин и + по событию передают смски с закодированными авариями и уровнем топлива на один диспетчерский пункт, вот я и столкнулся с такой ситуацией что в диспетчерской ночь не было питания, а утром когда включили все встало.

capzap
13.08.2012, 16:39
т.е. в диспетчерской стоит плк и с него пк отображает визуализацию. Вроде в мастерскаде есть возможность работать с модемом в том числе и принимать смски. Мне кажется плк здесь лишний

maks-tver
13.08.2012, 17:40
С мастерскадой не работал, да к тому же диспетчерская это тоже котельная и все аварии еще дублируются на два телефона.

Леонид
14.08.2012, 23:57
Произведена ли доработка на данный момент? Если нет можно ли открывать порт с помощью библиотетки COM_SERVICE?

Когдато пробовал ковырять старую библиотеку "SMS" на плк 73, по работе сомой библиотеки были вопросы, но смс отправлялись.

Повторю вопрос.

Евгений Сергеевич
15.08.2012, 09:55
на данный момент еще нет. порт открывать с помощью Com_Service можно, но работать библиотека не будет, т.к. основана на другой библиотеке работы с портом. Не все так просто к сожалению и переделывать придется достаточно, а времени свободного не так много.

Василий Кашуба
20.08.2012, 20:00
Поправили библиотеку для работы с операторами других стран. Теперь номер вводится полностью (так как выдает телефон при входящем смс).

Евгений Сергеевич. В моём проекте аварийные СМСки отправляются, управляющие СМСки принимаются и выполняются, а вот сформированная по запросу СМСка не отправляется. Подскажите, где у меня ошибка.
http://i43.fastpic.ru/thumb/2012/0820/1b/b0487fdc95d27c3caa5248339466541b.jpeg (http://fastpic.ru/view/43/2012/0820/b0487fdc95d27c3caa5248339466541b.jpg.html) http://i43.fastpic.ru/thumb/2012/0820/73/31c4a4802b9d20013ea6fbfb4d7b1c73.jpeg (http://fastpic.ru/view/43/2012/0820/31c4a4802b9d20013ea6fbfb4d7b1c73.jpg.html)

pavel_trofimov
22.08.2012, 14:05
при добавлении смс библиотеки в проект при компиляции возникает ошибка Error 3740:(11):Unknow type'POINTER TO RBDATA'. в чем может быть причина?

Николаев Андрей
22.08.2012, 14:46
Я подозреваю Вы подключили не все библиотеки.

capzap
22.08.2012, 18:53
при добавлении смс библиотеки в проект при компиляции возникает ошибка Error 3740:(11):Unknow type'POINTER TO RBDATA'. в чем может быть причина?

Если более конкретно, то нехватает самой библиотеки UNM.lib
если что её можно найти здесь http://kipshop.ru/CoDeSys/bibl/Lib_OWEN_PLC1xx_v8.12.zip

Василий Кашуба
24.08.2012, 00:18
Как очищать пришедшие смс? У меня на выходе блока "FB_SMS_SR" даже после перезагрузки модема и написания новой логики программы все равно выдает последнюю входящую смс (текст, номер отправителя).

Василий Кашуба
26.08.2012, 10:16
Неужели никто не знает как обнулить входящие СМСки?! :eek: :mad:

capzap
26.08.2012, 11:22
Неужели никто не знает как обнулить входящие СМСки?! :eek: :mad:

если CheckNum равно TRUE и в то же время CheckNumList не содержит ни одного номера, если точнее то нужно где то в описании читать. Но последняя смска всё равно останется, на то она и описывается как последняя прочитанная :) А чтоб её затереть, кажется хватит запроса баланса

Евгений Сергеевич
27.08.2012, 10:31
Сейчас программно никак, но если необходимо то можно использовать промежуточные переменные, которые обновлять по флагу NewInSms

Евгений Сергеевич
27.08.2012, 10:54
To alexxx

Пример отпраки смс сообщения на st

Не забывайте установить время цикла ПЛК не менее 5 мс

maks-tver
03.09.2012, 12:39
Внес дополнительный сброс подблока чтения СМС, немного изменил условия перехода, стало чуть медленнее но зато более устойчиво. проверил с 25 смс правда на симке может храгниться только 20 поэтому еще 5 получал в процессе чтения. все прошло без ошибок, вычитка заняла около 7 минут, +-.

В информации о библиотеке есть ее версия. На текущий момент последняя 2.3.0.17

Накидал на симку 30 СМСок модем читал читал, а на где то 12 смске встал, даже TxD-RxD не перемаргивается!!! Подскажите как быть???

capzap
03.09.2012, 13:09
такого быть не может впринципе, если чтение сбрасывается по таймауту и переходит к первичной инициализации через паузу и далее снова читает непрочитанные смски, а так как прочитанные сразу удаляются то в конце концов прога должна всё прочитать.
Может имеет смысл еще увеличить минимальное время цикла и перейти на более высокую скорость обмена

maks-tver
03.09.2012, 14:01
а какие вы посоветуете значения времени цикла и скорости обмена?

capzap
03.09.2012, 15:35
а какие вы посоветуете значения времени цикла и скорости обмена?

если работа плк только с библиотекой, то плк100 у меня работал на 10мс, предположу что другие процессы могут еще занимать пару мс. Хотя цикл нужно повышать, только из за обмена последовательного порта, с использованием syslibcom такого не замечается, потому что ответ на запрос приходит асинхронно, не мешая основному циклу, а по времени там примерно так же выходит. Начните с разумно больших времен и постепенно снижайте. По скорости порта, я выставлял 115200, вроде показалось что лучше работает

alexxx
06.09.2012, 18:51
To alexxx

Пример отпраки смс сообщения на st

Не забывайте установить время цикла ПЛК не менее 5 мс

К сожалению, пример работает не корректно... При кратковременном разрыве связи или при перезагрузке модема теряется связь плк и модема... Пробовал на разных плк и на разных модемах.. Может кто нибудь подправит проект?
У меня плк150 у-м, модем пм01 подключен по rs232. Нужно чтобы программа отслеживала работоспособность модема и наличие сети, и отправляла смс по сигналу.
Пробовал всякие примеры - ничего не работает... За стабильно работающую программу на ST отправлю 50$. Профи помогайте.

capzap
06.09.2012, 19:18
а мне кажется библиотека работы с смсками получает дескриптор порта из вне. А это значит что слежение за портом лежит на "плечах" программиста. И ктому же если внимательно изучить проект библиотеки, то можно разобраться как подать простейшую команду :
AT+CREG? — получить тип регистрации в сети.
Вернется что-то вроде +CREG: 0,1
Где:
0, — нет сообщения о смене регистрации в сети.
1, — текущее состояние.

0 — не зарегистрирован, поиск сети не ведется,
1 — зарегистрирован в своей домашней сети,
2 — не зарегистрирован, идет поиск сети,
3 — регистрация отклонена,
4 — модуль сам не знает что происходит
5 — зарегистрирован в роуминге.

Евгений Сергеевич
07.09.2012, 09:05
to alexxx
при пропадании связи переменная state = 0 и в порт ничего не шлется так?

была там одна неточность, поправили ее и сейчас обновлю библиотеку, проверьте и отпишитесь пожалуйста.

alexxx
07.09.2012, 09:52
to alexxx
при пропадании связи переменная state = 0 и в порт ничего не шлется так?

была там одна неточность, поправили ее и сейчас обновлю библиотеку, проверьте и отпишитесь пожалуйста.
Нет, state всегда была равна 2...
В новом варианте библиотеки stаtе = 1, и cfg1.ErrCode = 6..

capzap
07.09.2012, 10:53
К сожалению, пример работает не корректно... При кратковременном разрыве связи или при перезагрузке модема теряется связь плк и модема... Пробовал на разных плк и на разных модемах.. Может кто нибудь подправит проект?
У меня плк150 у-м, модем пм01 подключен по rs232. Нужно чтобы программа отслеживала работоспособность модема и наличие сети, и отправляла смс по сигналу.
Пробовал всякие примеры - ничего не работает... За стабильно работающую программу на ST отправлю 50$. Профи помогайте.


http://www.owen.ru/forum/showthread.php?t=13333
у Вас вопросы практически один в один и задали Вы их в один день


ЗЫ шестая ошибка возникает, когда модем не отвечает на команду АТ, т.е. как в вышеуказанной теме, порт не подключен после пропадания питания. Может имеет смысл сделать сброс плк

ЗЫЫ виноват, упустил из виду что речь о ПОУ FB_SMS_CFG, но как бы ни чего не меняет, в первую очередь надо "отпустить" порт, потом его взять, а затем уже начинать работу с библиотекой

alexxx
07.09.2012, 11:11
Всё сбрасывал перебрасывал много раз... Менял соединительные кабели, подключал на разные разъемы модема... Брал новый ПЛК из коробки и новый модем, подключался с предложенным Евгением Сергеевичем проектом. Предварительно добавлял необходимые библиотеки...
Не работает. Что я делаю не так??
Теперь вот cfg1.ErrCode = 99..
После старта программы 3 раза перемаргиваются TxD-RxD, и тишина.

maks-tver
08.09.2012, 14:28
А где можно посмотреть перечень ошибок?

capzap
08.09.2012, 18:13
А где можно посмотреть перечень ошибок?

у меня это делается следущим образом: открываю менеджер библиотек, выделяю библиотеку, перехожу на типы данных, открываю структуру под интуитивно понятным названием список ошибок :) и читаю перечень

alexxx
11.09.2012, 19:12
Всё выяснилось.. Оказывается зависания происходили изза отсутствия симки в лотке... Огромное спасибо Евгению Сергеевичу за помощь.

MarkJEney
18.09.2012, 12:39
Подскажите пожалуйста, ФБ "FB_SMS_SL" из библиотеки SmsOwenLib корректно работает с контроллером ПЛК100-24-РM?

Евгений Сергеевич
18.09.2012, 14:25
Да. на данный момент библиотека не работает только с ПЛК63/73 (из ПЛК с CoDeSys v2.3).

MarkJEney
18.09.2012, 14:34
Спасибо, буду пробовать отправлять смс на 2 номера.
К слову, ранее обещал отписаться ... Так вот, в Украине с последней версией библиотеки все прекрасно работает. Спасибо, реально упростило работу!

MarkJEney
18.09.2012, 14:41
Да. на данный момент библиотека не работает только с ПЛК63/73 (из ПЛК с CoDeSys v2.3).

Только исправьте в РП "Библиотека SmsOwenLib для CoDeSys v2.3" описание к ФБ "FB_SMS_SL", а то там пишет, что он применяется с ПЛК63, ПЛК73, ПЛК410. Немного сбивает с толку.

Евгений Сергеевич
18.09.2012, 15:00
спасибо за отзыв, руководство поправим)

Загнетов
22.09.2012, 13:34
в теме писали о влиянии длительности цикла ПЛК на ошибку чтения SMS.

в чем механизм возникновения такой ошибки, устраняемой увеличением длительности цикла?

Загнетов
22.09.2012, 13:35
спасибо за отзыв, руководство поправим)


когда же заведете реестр документов, библиотек и их версий ?

capzap
22.09.2012, 15:12
в теме писали о влиянии длительности цикла ПЛК на ошибку чтения SMS.

в чем механизм возникновения такой ошибки, устраняемой увеличением длительности цикла?

он в том, что чип последовательного порта не успевает обрабатывать данные с той же скоростью, что и цикл плк

Загнетов
23.09.2012, 17:05
он в том, что чип последовательного порта не успевает обрабатывать данные с той же скоростью, что и цикл плк

что это за фантазии -
микросхема последовательного порта, штатно предназначенная для работы с определенной скоростью, не успевает работать на этой скорости?

capzap
23.09.2012, 19:58
что это за фантазии -
микросхема последовательного порта, штатно предназначенная для работы с определенной скоростью, не успевает работать на этой скорости?

Не путайте, скорость обмена по сети 115200кбит/с это не одно и тоже, что количество операций в секунду у процессора плк100. Выполнился Ваш код осталось время на комуникационные дела, вот за это время микросхема должна принать последовательно определенное количество байт, каждый пришедший разряд, сместить, чтоб освободить место для вновь пришедшего, таким образом превратив последовательный код в параллельный, с ним то уже и может работать основной процессор. И если этого времени не хватает, начинается новый цикл, то из-за низкой приоритетности принятые данные просто теряются и полноценного обмена не происходит

Валенок
23.09.2012, 20:36
Но следую этой логике, имея минленцикл=1мs, и при этом тупо задерживая цикл эдак на 100..200мс - обмен будет невозможен вообще. Однако же этого нет. Обмен через порт - без проблем. Значит прерывания ?

capzap
23.09.2012, 20:52
прибдизительно можно расчитать, сколько тактов процессора требуется, чтоб наполнить буфер данными, преобразовать их в параллельный код, будь это за основным циклом или в прерываниях, совершенно одинаково, в любом случае это как то завязано на минимальный цикл, может в прошивке, но прошивка то одна на всю сотую серию, меняются только таргеты, а у разных плк свое время для UNM получается

Валенок
23.09.2012, 21:50
Все-таки за циклом или прерывания - существенная разница. В 2 случае - на обмен длина цикла не имеет влияния.

capzap
23.09.2012, 22:18
мы все же имеем дело с плк, прерывания прерываниями, но в начале цикла грузится "образ" входных данных и если syslibcom асинхронно работает, то unm берет сразу и если на этот момент приемник порта не готов выдать информацию, например не хватило сдвинуть еще одну единицу,то и наступает сбой всей программы, возможно в более поздних версиях поднят приоритет прерывания для обращения к порту, поэтому там хватает 5мс, а на 100-ом у менея начинало работать только с 9мс

Загнетов
23.09.2012, 22:19
приблизительно можно расчитать, сколько тактов процессора требуется, чтоб наполнить буфер данными, преобразовать их в параллельный код, будь это за основным циклом или в прерываниях, совершенно одинаково, в любом случае это как то завязано на минимальный цикл, может в прошивке, но прошивка то одна на всю сотую серию, меняются только таргеты, а у разных плк свое время для UNM получается


Не надо рассчитывать такты процессора, обмен на низком уровне осуществляется аппаратно, даже контроллеры предыдущего класса - AVR Atmega имеют по нескольку аппаратных UART
На память - в ПЛК стоит подобный процессор ARM9: http://www.atmel.com/devices/SAM9N12.aspx

UART помещает данные в буфер FIFO, а задача процессора - считывать время от времени, например по прерыванию и не допустить переполнения буфера.

однако все же интересна взаимосвязь увеличения длительности цикла и устранением ошибок в работе библиотеки СМС

capzap
23.09.2012, 22:30
не надо рассчитывать такты процессора, обмен на низком уровне осуществляется аппаратно, UART помещает данные в буфер FIFO, а задача процессора - считывать время от времени, например по прерыванию, чтобы не допустить переполнения буфера.

я Вам об этом с самого начала и толковал, вот это считывание время от времени происходит чаще чем того требуется микросхеме порта, а увеличив мин.время цикла плк в конце концов получает принятую корректную инфу, как уже ранее писал Валенок, в syslibcom этого не замечается, потому что в ней можно дождаться полноценных данных и через цикл

Валенок
23.09.2012, 22:34
..хватает 5мс, а на 100-ом.. начинало работать только с 9мс
Какая жесть. У меня обмен работает с любым циклом - хоть 1мс.

А какая разница - как часто обращаться к буферу ? Нет данных - вернул 0 штук байт. В следующем цикле может что появится. Или имеется ввиду что обязательно нужно весь ответ получить за раз ?

Загнетов
27.09.2012, 21:38
Какая жесть. У меня обмен работает с любым циклом - хоть 1мс.

А какая разница - как часто обращаться к буферу ? Нет данных - вернул 0 штук байт. В следующем цикле может что появится. Или имеется ввиду что обязательно нужно весь ответ получить за раз ?


служба поддержки Овена и автор библиотеки скромно молчат - какая связь времени цикла ПЛК и некорректной работой библиотеки?

Евгений Сергеевич
27.09.2012, 22:58
Поддержка Овен отвечает: работа библиотеки проверялась на плк154 с циклом в 5 мс и включенном блоком статистики, который показал что на выполнение всех операций ему нужно 2-2.5 мс, на основании этого мы и рекомендуем ставить время в 5 мс с запасом на всякий случай.

mar154
26.10.2012, 14:36
А с белорусскими сотовыми операторами (+375) библиотека работает?

capzap
26.10.2012, 15:13
вообще то международный стандарт номеров телефонов состоит из 11 цифр. Если код страны один символ, то код оператора 3-х значный, у Вас скорее всего наоборот. Так что должно работать

mar154
26.10.2012, 15:34
Номер телефона задаю в виде 375336587963

Функциональный блок отправки смс возвращает SmsSend=TRUE
Вот обмен между плк и модемом:


AT+CLCC

OK
AT+CMGL=0,1

OK
AT+CLCC

OK
AT+CMGL=0,1

OK
AT+CMGF=0;+CMGS=26

> 0011000C910008AA0C041F04400438043204350442
ERROR
AT+CLCC

OK
AT+CMGL=0,1

OK
AT+CLCC

OK
AT+CMGL=0,1

OK
AT+CLCC

OK
AT+CMGL=0,1

OK
AT+CLCC

OK
AT+CMGL=0,1

OK

capzap
26.10.2012, 15:42
у Вас вместо номера текст, еще раз посмотрите ни чего не перепутали?

mar154
26.10.2012, 15:59
Да нет делаю все точно по примерам на форуме и по видео.Через гипертерминал модем шлет смс без проблем.На российские номера,тоже вроде уходят :
AT+CMGL=0,1

OK
AT+CLCC

OK
AT+CMGL=0,1

OK
AT+CLCC

OK
AT+CMGL=0,1

OK
AT+CMGF=0;+CMGS=26

> 0011000B915792071478F70008AA0C041F0440043804320435 0442
+CMGS: 8

OK
AT+CLCC

OK
AT+CMGL=0,1

OK

Видимо причина в номере телефона.

capzap
26.10.2012, 16:11
да ошибся, у Вас не текст, а вообще пропущен номер отправителя, я смогу только завтра посмотреть возможно ли такое, когда вернуть из командировки, а так надо обращаться к Евгению пока рабочий день не закончился, а в Москве с этим проблема :)

mar154
26.10.2012, 16:38
Спасибо за помощь

capzap
26.10.2012, 19:32
сейчас бегло посмотрел библиотеку, всетаки где то у Вас ошибка, в менеджере библиотек посмотрите на функцию to_TPOA входной параметр строка из 20 символов, полюбому Ваш номер должен вставлятся в отправку

mar154
27.10.2012, 10:31
Вот проект

capzap
27.10.2012, 12:22
да, что то у меня Ваш номер не конвертируется с помощью этой функции

Все разобрался, оказывается все номера с четным количеством знаков дают на выходе функции пустую строку, теперь остается ждать понедельника когда Евгений Сергеевич выйдет и поправит баг

petera
27.10.2012, 20:35
Номер телефона задаю в виде 375336587963
OK
Не знаю как работает обсуждаемая библиотека, но я подозреваю, что этот номер для сотового оператора связи в никуда( на деревню дедушке!).
Номер в международном формате должен начинаться с "+".
Попробуйте позвонить с мобильника на этот номер без префикса "+", что вы услышите? "Не правильно набранный номер"!
МинСязи РБ в 2006 г. установило правила набора мобильных номеров http://forum.onliner.by/viewtopic.php?t=506761.

Порядок набора в международном формате:
"+" - международный код Республики Беларусь (375) - код мобильной сети (29 – МТС и БелСел, 25 – БеСТ) - номер абонента
(например, +375 29 7хх хх хх, +375 29 5хх хх хх, +375 29 2xx xx xx, +375 29 4хх хх хх, +375 25 9хх хх хх)
Если библиотека не позволяет наличия "+" в начале номера телефона, то можно попробовать так

8 10 - международный код Республики Беларусь (375) - код мобильной сети (29 – МТС и БелСел, 25 – БеСТ)- номер абонента
(например, 8 10 375 29 7хх хх хх, 8 10 375 29 5хх хх хх, 8 10 375 29 2xx xx xx, 8 10 375 29 4хх хх хх, 8 10 375 25 9хх хх хх).
Если Ваш получатель СМС находится в Беларусии, то можно попробовать так

8 0 - код мобильной сети (29 – МТС и БелСел, 25 – БеСТ) - номер абонента
(например, 8 0 29 7хх хх хх, 8 0 29 5хх хх хх, 8 0 29 2xx xx xx, 8 0 29 4хх хх хх, 8 0 25 9хх хх хх)
Резюме. Попробуйте или "8 10 375 33 6587963" или "8 0 33 6587963", если нельзя использовать "+375 33 6587963":cool:

mar154
28.10.2012, 13:32
В том то и дело что пробовал по разному задавать номера телефонов.брал симки разных операторов.смс только приходили на российские мобильные номера,на белорусские увы пока не получается.

ps:спасибо за помощь думаю решение вопроса уже близко.

petera
28.10.2012, 14:48
В том то и дело что пробовал по разному задавать номера телефонов.брал симки разных операторов.смс только приходили на российские мобильные номера,на белорусские увы пока не получается.

ps:спасибо за помощь думаю решение вопроса уже близко.
Еще из опыта работы с GSM модемами - для правильной отправки СМС нужно задавать номер центра СМС сообщений сотового оператора (например у моего МТС этот номер +375 29 7770000). Это шлюз через который отправляются СМСки. Есть ли в библиотеке такая возможность?

capzap
28.10.2012, 15:12
Еще из опыта работы с GSM модемами - для правильной отправки СМС нужно задавать номер центра СМС сообщений сотового оператора (например у моего МТС этот номер +375 29 7770000). Это шлюз через который отправляются СМСки. Есть ли в библиотеке такая возможность?

0011000C91 здесь выделены две цифры замещающие номер центра СМС, будет использоваться номер по умолчанию для конкретного оператора. В 146 и 148 сообщениях этой темы показаны посылки сообщений, если их сравнить видно что в первом варианте отсутствует номер получателя, функция которая за него отвечает не обрабатывает номера с четным количеством знаков. Можете погуглить как формируется смска для отправки

petera
28.10.2012, 20:29
Для поста 146

Номер телефона задаю в виде 375336587963

Функциональный блок отправки смс возвращает SmsSend=TRUE
Вот обмен между плк и модемом:


AT+CLCC

OK
AT+CMGL=0,1

OK
AT+CLCC

OK
AT+CMGL=0,1

OK
AT+CMGF=0;+CMGS=26

> 0011000C910008AA0C041F04400438043204350442
ERROR

Попробуйте в начале дать модему команду (можно в гипертерменале) AT+CMEE=1 или AT+CMEE=2 и вместо бесполезного ответа ERROR получите расширенный ответ об ошибке, в первом случае код ошибки в виде +CME ERROR : xxx или+CMS ERROR :xxx, а во втором случае описание ошибки, напишет что именно ему не нравится в команде. Правда команду AT+CMEE=2 поддерживают не все модемы. Поддерживаемые режимы можно узнать командой AT+CMEE=?
По коду ошибки можно копать дальше.
Вот некоторые коды для +CMS ERROR :<xxx> (из стандарта GSM 04.11 дополнениеE-2)

Причина 1: "Неназначенный(неразмеченный) номер"
Данная причина показывает, что невозможно достичь адресата, аданного мобильной станцией, поскольку, хотя номер и имеет правильный формат, он не назначен (неразмечен).
Причина8: "Запрет определяется оператором"
Данная причина указывает на то, что мобильная станция пыталась править сообщение с мобильного устройства в тот момент, когда поставщик услуг запретил передачу.
Причина 10: "Вызов запрещен"
Данная причина указывает на то, что услуга запрета исходящих вызовов применяется и для службы сообщений.
Причина 21: "Отказано в передаче сообщения"
Данная причина указывает на то, что устройство, отославшее эту причину, не желает принимать это сообщение, хотя оно бы могло быть принято, поскольку устройство, посылающее причину, не занято и совместимо.
Cause no 27: "Адресат не обслуживается"
Данная причина указывает на то, что адресат, заданный мобильной станцией, недоступен, поскольку его интерфейс работает некорректно. Термин«работает некорректно» указывает на то, что сигнальное сообщение не могло быть доставлено удаленному пользователю; например, у удаленного пользователя имеются физические неполадки или неполадки канала передачи данных и т.д.
Cause no 28: "Неопознанный абонент"
Данная причина указывает на то, что абонент не зарегистрирован в мобильной сети (например, неизвестенIMSI).
Причина29: "Возможность отклонена"
Данная причина указывает на то, что возможность, запрашиваемая мобильной станцией, не поддерживается мобильной сетью.
Причина30: "Неизвестный абонент"
Данная причина указывает на то, что абонент не зарегистрирован в HLR (например, IMSI
или номер директории не размечен под абонента).
Причина38: "Сеть недоступна"
Данная причина указывает на то, что сеть работает некорректно и что данное состояние сети может продлиться довольно долго, например, немедленная повторная попытка
отсылки сообщения вряд ли будет успешной.
Причина41: "Временные неполадки"
Данная причина указывает на то, что сеть работает некорректно и что данное состояние сети не должно продлиться долго, например, мобильная станция может еще раз попытаться отправить сообщение сразу же.
Причина42: "Перегрузка"
Данная причина указывает на то, что в данный момент услуга передачи коротких сообщений не может быть предоставлена из-за высокой нагрузки каналов связи.
Причина47: "Ресурсы недоступны, не заданы"
Данная причина используется для события, оповещающего о недоступности ресурсов, если ни одна другая причина не подходит.
Причина69: "Запрашиваемая возможность не реализована"
Данная причина указывает на то, что сеть не может предоставить запрашиваемую услугу коротких сообщений.
Причина81: "Неверное ссылочное значение передачи короткого сообщения"
Данная причина указывает на то, что устройство, отославшее эту причину, получило сообщение со ссылкой на короткое сообщение, которая в данный момент не используется в интерфейсеMS-сетей.
Причина95: "Неверное сообщение, не задано"
Данная причина используется для события неверного сообщения только когда не подходит ни одна другая причина из класса неверных сообщений.
Причина96: "Неверная обязательная информация"
Данная причина указывает на то, что устройство, отсылающее эту причину, получило сообщение, в котором отсутствует элемент обязательной информации и/или обязательная информация имеет ошибку содержания(два класса неразделимы).
Причина97: "Тип сообщения не существует или не выполняется"
Данная причина указывает на то, что устройство, отсылающее эту причину, получило сообщение, тип которого ого не распознает либо поскольку это сообщение не определено, либо определено, но не выполняется устройством, отсылающим эту причину.
Причина98: "Сообщение несовместимо с состоянием протокола коротких сообщений"
Данная причина указывает на то, что устройство, отсылающее эту причину, получило сообщение так, что процедуры показывают, что это недопустимое сообщение для приема в состоянии работы с короткими сообщениями.
Причина99: "Элемент информации не существует или не выполняется"
Данная причина указывает на то, что устройство, отсылающее эту причину, получило
сообщение, включающее в себя нераспознанные элементы информации, поскольку идентификатор элементов информации не задан или задан, но не выполняется устройством, отсылающим причину.
Тем не менее, не требуется, чтобы в сообщении так присутствовал элемент информации, что устройство отсылает причину, чтобы обработать сообщение..
Причина 111: "Ошибка протокола, не задан"
Данная причина используется для события ошибки протокола только если не подходит никакая другая причина.
Причина 127: "Межсетевой обмен, не задан"
Данная причина указывает на то, что шел обмен данными с сетью, не отсылающей причины, таким образом, невозможно получить точную причину при работе с сообщениями.
Все значения, кроме вышеперечисленных, необходимо обрабатывать как ошибки причины41.
Это выдержка, есть и другие коды ошибок

capzap
28.10.2012, 20:44
да тут к гадалке не ходи, CMGS содержит 26 байт, а в отправляемой строке нехватает положенных, поэтому и ошибка. Совсем другое дело с российским номером, там все сходится. Для справки считается без номера центра и каждый байт занимает два знакоместа

petera
28.10.2012, 21:03
0011000C91 здесь выделены две цифры замещающие номер центра СМС, будет использоваться номер по умолчанию для конкретного оператора. В 146 и 148 сообщениях этой темы показаны посылки сообщений, если их сравнить видно что в первом варианте отсутствует номер получателя, функция которая за него отвечает не обрабатывает номера с четным количеством знаков. Можете погуглить как формируется смска для отправки
Номер центра СМС должен указываться для конкретного оператора отдельной командой "AT+CSCA" по умолчанию его нет.

Адрес сервис-центра: +CSCA
Описание
Данная команда используется для указания, в какой сервис-центр посылать сообщение.
У продукта не задано адреса по умолчанию. Если приложение пытается отослать сообщение и если до этого не был указан адрес сервис-центра, то будет выдана ошибка.
Таким образом, приложение должно указывать SC адрес при инициализацииSMS.
Данный адрес затем будет действовать постоянно. При необходимости приложение может изменять его.
Синтаксис
Синтаксис команды: AT+CSCA=sca

AT+CMGS= "+33146290800"<CR> Privet, kak dela?<ctrl-Z> //Примечание: отправить сообщение
+ CMS ERROR: 330 //Примечание: неизвестен сервис-центр
AT+CSCA="0696741234" //Примечание: инициализация сервис-центра
OK
AT+CMGS = "+33146290800"<CR> S dnem rozhdeniya ! <ctrl-Z> //Примечание: отправить сообщение
+CMGS: 1
OK //Примечание: отправлено успешно

petera
28.10.2012, 21:20
да тут к гадалке не ходи, CMGS содержит 26 байт, а в отправляемой строке нехватает положенных, поэтому и ошибка. Совсем другое дело с российским номером, там все сходится. Для справки считается без номера центра и каждый байт занимает два знакоместа
Скорей всего глюк в библиотеке из-за того, что российский сотовый номер 11 символов (+7-90-34-34-37-84), а белорусский 12 символов (+375-33-658-79-63):(

capzap
28.10.2012, 21:21
AT+CMGS= "+33146290800"<CR> Privet, kak dela?<ctrl-Z> //Примечание: отправить сообщение
+ CMS ERROR: 330 //Примечание: неизвестен сервис-центр
AT+CSCA="0696741234" //Примечание: инициализация сервис-центра
OK
AT+CMGS = "+33146290800"<CR> S dnem rozhdeniya ! <ctrl-Z> //Примечание: отправить сообщение
+CMGS: 1
OK //Примечание: отправлено успешно

это Вы сейчас привели пример когда CMGF=1, а теперь поищите когда равно нулю, мне с телефона неочень удобно нужные ссылочки сейчас найти и выложить. Вообщем то осталось меньше суток, когда думаю выложат исправление, так что спорить особо не буду. Считаете что дело в другом, не возражаю :)

ЗЫ
Скорей всего глюк в библиотеке из-за того, что российский сотовый номер 11 символов (+7-90-34-34-37-84), а белорусский 12 символов и (+375-33-658-79-63 к нечтному количеству знаков в номере добавляется буква F, что можно увидеть в отправке на российский номер, так что снова получится 12 знаков и я уже писал в чем ошибка, Вы тоже сейчас уже про это пишите

petera
28.10.2012, 21:50
Пример с CMGF=1 для наглядности. В стандарте для команды +CSCA нет указаний для какого режима она используется текстового или PDU.
У меня в Минске СМСки не отправляются, если не настроен номер центра СМС сообщений (ни при использовании телефона, ни модема). Может в России у сотовых операторов и есть номер центра по умолчанию.

capzap
28.10.2012, 22:12
Пример с CMGF=1 для наглядности. В стандарте для команды +CSCA нет указаний для какого режима она используется текстового или PDU.
У меня в Минске СМСки не отправляются, если не настроен номер центра СМС сообщений (ни при использовании телефона, ни модема). Может в России у сотовых операторов и есть номер центра по умолчанию.

:) не, я так не могу, даю ссылку http://hardisoft.ru/soft/otpravka-sms-soobshhenij-v-formate-pdu-teoriya-s-primerami-na-c-chast-1/ читать про Краткий «Привет!!!»

Евгений Сергеевич
29.10.2012, 10:53
О я тоже эту статью находил)) очень хорошо написана
а для тех кому лень самому делать преобразования можно использовать вот этот сайт (http://twit88.com/home/utility/sms-pdu-encode-decode)

библиотеку исправили, можно скачивать) версия 21 (см. свойства библиотеки).

petera
29.10.2012, 11:27
:) читать про Краткий «Привет!!!»
Большое спасибо за ссылку, очень познавательная статья:)

mar154
29.10.2012, 12:55
Большое спасибо всем.Все получилось!Теперь ПМ01 отсылает смс и в Белоруси!

Евгений Сергеевич
01.11.2012, 14:17
Адаптировали библиотеку для работы на плк 63/73. Немного изменился блок открытия порта, но логика работы и остальные блоки остались без изменения. Пример pm1_x3.pro покажет как работать (правда язык уже ST, чуть позже сделаем на FBD).

Ссылки в первых сообщениях темы.

Andrei Z
01.11.2012, 20:37
Выскажусь ..как взгляд со стороны, вот пытаюсь всё понять изучить.. познать... прочитал статью про ****
ну точно сказано мозгофилы.
Смотришь на всё это биты байты регистры коды протоколы ((((((( так всё сложно и запутано... и кудесис это тёмный лес со всеми еёго настройками и библиотеками.
Я не спорю.. когда познаешь и разберёшься во всём кажется уже всё просто... но так же не должно быть(((( я думаю со временем будет всё проще и понятнее... быстрей бы уже

Евгений Сергеевич
07.11.2012, 14:27
to Andrei Z
Библиотека и призвана оградить от того кошмара описанного в статье, все что требуется ввести текст номер и нажать на кнопку отправить)

pavel_trofimov
08.11.2012, 18:04
загрузил пример для ПЛК63 в контроллер, В порт постоянно пишется ATE0 OK и AT OK , хотя кнопку отправить смс нажимаю,смски не отправляются и не принимаются, в чем может быть проблема?

capzap
08.11.2012, 19:11
загрузил пример для ПЛК63 в контроллер, В порт постоянно пишется ATE0 OK и AT OK , хотя кнопку отправить смс нажимаю,смски не отправляются и не принимаются, в чем может быть проблема?

У Вас эхо включено, что может означать Вы сразу запускаете блок работы с смсками без блока конфигурирования соединения. Может в этом причина

pavel_trofimov
09.11.2012, 09:04
эхо отключено, ATE0 его и отключает, но почему он делает это бесконечно?
пример загружаю PM1_X3.pro там используются все блоки и настройка и отправка

capzap
09.11.2012, 09:15
у меня нет 63-го но раз после команды отключения эхо видна команда АТ, а не просто ОК значит оно не отключено, контролируете ли состояние переменной отвечающей за ошибки, может там что выдает

pavel_trofimov
09.11.2012, 10:27
код ошибки пишет 0, но подключаюсь я через RS485, если не ошибаюсь это COM0, в кодесисе при запуске номер ком порта отображается ошибкой,если использую rs232 это com1 то работает нормально.

capzap
09.11.2012, 10:48
код ошибки пишет 0, но подключаюсь я через RS485, если не ошибаюсь это COM0, в кодесисе при запуске номер ком порта отображается ошибкой,если использую rs232 это com1 то работает нормально.

Так и должно быть, а как можем работает через терминал с пк, проблем нет?

pavel_trofimov
09.11.2012, 11:51
модем рабочий, с ПК работает, и через контроллер с RS232 работает, не работает при подключении через RS485

capzap
09.11.2012, 12:10
может в 63 есть другая таблица портов и 485 находится не на нулевом

Евгений Сергеевич
13.11.2012, 15:13
в примере я работал по RS485. Попробуйте прослушать линию, чтобы удостовериться, что контроллер отсылает запросы, а модем на них корректно отвечает. Кстати во время работы по RS 485 лампочки обмена на модеме мигают?

lara197a
19.11.2012, 12:24
Здравствуйте!
Попробовал настроить ПЛК110.32 для работы с смс. Почему-то невозможно открыть ни один порт, кроме RS485. Настройки ПЛК конфигурации вообще ни как не влияют. Лишь бы был универсальный модуль и порт 0 откроется в любом случае(но смс не отправится).
Проверьте работу ОпенПорт с дебаг и RS 232.

lara197a
19.11.2012, 16:22
Проверил еще раз.ПЛК110.32 прошивка 14
В пустой проект добавляю FB OpenPort. В ПЛК конфигуратор добавляю 3 универсальных модуля RS485, RS232 и RS 232debug.
Открывается порт № 0(RS485) и 1(RS232).
Порт №4(RS 232debug) не открывается.
Если удалить универсальный модуль RS485, но оставить RS232, то порт №1(RS 232) открываться перестает.

Или я где-то ошибаюсь?

lara197a
21.11.2012, 10:43
Подниму тему с OpenPort. Кто нибудь проверял?

capzap
21.11.2012, 18:29
Подниму тему с OpenPort. Кто нибудь проверял?

мне вот не на чем сейчас проверить, но если по памяти то проблемы с открытием и работой программы были из-за малого времени цикла, поставте 10мс минимальный цикл и посмотрите начнет ли работать

lara197a
21.11.2012, 18:40
Ставил. Сразу ставил. Эта ошибка еще в начале темы описана. Потом таймауты в .lib исправили.

capzap
21.11.2012, 19:38
а через терминал, модем соединяется по любому интерфейсу?

lara197a
22.11.2012, 00:38
Модем работает через терминал по всякому.

Давным -давно, когда Овен сделал ПМ, я сразу купил 2шт.
И по всякому их тестил. Использовал SysLibCom.lib /
Потом вышла UNM.lib. Тоже тестил. Все работало.

Проблема в том, что сейчас пробую открыть RS232(COM1, COM4), через PortOpen и не выходит:
В пустой проект добавляю FB OpenPort. В ПЛК конфигуратор добавляю 3 универсальных модуля RS485, RS232 и RS 232debug.
Открывается порт № 0(RS485) и 1(RS232).
Порт №4(RS 232debug) не открывается.
Если удалить универсальный модуль RS485, но оставить RS232, то порт №1(RS 232) открываться перестает.

Как положено работает только RS 485.

Andrei Z
22.11.2012, 13:35
Вот смотрю я на всё это и думаю)))) Спк 207 рано мне ещё))) а то куплю и буду смотреть как баран на новые ворота (((( ведь все мои знания в рамках проетка Кодесис от Кирила.. и то его только начало где бесплатно было (((( эх

capzap
22.11.2012, 13:48
Вот смотрю я на всё это и думаю)))) Спк 207 рано мне ещё))) а то куплю и буду смотреть как баран на новые ворота (((( ведь все мои знания в рамках проетка Кодесис от Кирила.. и то его только начало где бесплатно было (((( эх

сколько времени уже прошло, Вы либо реально не продвинулись, либо у Вас занижена самооценка. Скачивайте библиотеки от oscat.de, там куча примеров для самоподготовки

Andrei Z
22.11.2012, 13:51
Может и занижена, я не могу так частями изучать, мне надо чтобы я всё понимал - смысл логика что делаю, а не просто поставь сюда измени тут. Времени маловато, и смотрел я на оскат, там не по русски всё было.

capzap
22.11.2012, 14:17
Может и занижена, я не могу так частями изучать, мне надо чтобы я всё понимал - смысл логика что делаю, а не просто поставь сюда измени тут. Времени маловато, и смотрел я на оскат, там не по русски всё было.

:) открою Вам "страшную" тайну, все зарезервированные команды языков программирования в КДС используют только латиницу, а основы логики использования этих элементов до Вас уже доведены и не только Кириллом

lara197a
22.11.2012, 16:00
зафлудили

Проверил еще раз.ПЛК110.32 прошивка 14
В пустой проект добавляю FB OpenPort. В ПЛК конфигуратор добавляю 3 универсальных модуля RS485, RS232 и RS 232debug.
Открывается порт № 0(RS485) и 1(RS232).
Порт №4(RS 232debug) не открывается.
Если удалить универсальный модуль RS485, но оставить RS232, то порт №1(RS 232) открываться перестает.

Прошу ответить техподдержку на вопрос о работе Open Port.

lara197a
26.11.2012, 13:39
Как-то уж очень долго проверяется бибка.
Или ни кто не смотрел?
Так-то уже 2 недели настоятельно прошу проверить OpenPort.

amigo
28.11.2012, 19:04
Дядьки, а подскажите/помогите, пожалуйста.
По руководству и примерам прошёлся, отправка работает. Но вот начал разбираться с диагностикой работоспособности подключения и сразу упёрся в неопределённость.

ФБ FB_SMS_CFG и FB_SMS_SR не имеют явных признаков, указывающих на состояние сети GSM. Быть может это и не их забота, но FB_SMS_CFG в процессе работы среди прочих команд шлёт и запрос AT+CREG?.
Т.е. что есть симка, что нет симки, оба блока отработают и вида не подадут (разве что у FB_SMS_SR при отсутствии симки флаг Busy гораздо чаще переключается). Есть ли способ или библиотека какая, чтобы можно было узнать, что модем отвалился, сеть потеряна, смс-ка не отправилась или что-то ещё приключилось?

Скорее всего чего-то да не понимаю, может и с темой промахнулся.
Благодарю!

lara197a
28.11.2012, 19:20
А Вы не проверяли работу с RS232? С Каким контроллером подключали?

capzap
28.11.2012, 20:15
Дядьки, а подскажите/помогите, пожалуйста.
По руководству и примерам прошёлся, отправка работает. Но вот начал разбираться с диагностикой работоспособности подключения и сразу упёрся в неопределённость.

ФБ FB_SMS_CFG и FB_SMS_SR не имеют явных признаков, указывающих на состояние сети GSM. Быть может это и не их забота, но FB_SMS_CFG в процессе работы среди прочих команд шлёт и запрос AT+CREG?.
Т.е. что есть симка, что нет симки, оба блока отработают и вида не подадут (разве что у FB_SMS_SR при отсутствии симки флаг Busy гораздо чаще переключается). Есть ли способ или библиотека какая, чтобы можно было узнать, что модем отвалился, сеть потеряна, смс-ка не отправилась или что-то ещё приключилось?

Скорее всего чего-то да не понимаю, может и с темой промахнулся.
Благодарю!

Смотрите состояние ошибок блока, это не
Busy гораздо чаще переключается а не выполняется команда, предполагаю как раз CREG и у Вас блок начинает по новой инициализироваться. Просто сомневаюсь, что у Вас при отсутствии симки, получается добиться состояние ИСТИНА в переменной SmsSend

amigo
28.11.2012, 23:44
А Вы не проверяли работу с RS232? С Каким контроллером подключали?
Нет, подключение по rs485 с ПЛК 150. А смена интерфейса разве может изменить ситуацию? Слегка сомнительно, ведь обмен-то идёт нормально.

amigo
28.11.2012, 23:52
Смотрите состояние ошибок блока, это не а не выполняется команда, предполагаю как раз CREG и у Вас блок начинает по новой инициализироваться. Просто сомневаюсь, что у Вас при отсутствии симки, получается добиться состояние ИСТИНА в переменной SmsSend
Понял. Понаблюдаю за выходами тщательнее, а то ErrCode у обоих ФБ визуально всегда были в нуле. Спасибо.

amigo
29.11.2012, 11:40
Понаблюдал и разобрался с выходами. Сразу не сообразил, что ошибка устанавливается на один такт. Теперь дело за малым: продумать логику проверки и реагирования.

capzap
29.11.2012, 12:31
насколько я помню, там любой неправильный ответ заканчивается таймаутом, так что определить что нет симки с помощью программы не получится.

Igor_Pavlov
07.12.2012, 15:30
Здравствуйте! У меня такой вопрос возник. У меня ПЛК100 с ПМ01 работает в режиме постоянного обмена данными с OPC-сервером по GPRS. Мне требуется еще отправка sms в случае аварии. В руководстве есть похожий пример, но там CSD-соединение. В рассматриваемом примере порт захватывается по условию line status = 0, т.е. когда модем не звонит серверу. В случае работы по GPRS соединение постоянное, поэтому line status = 0 никогда не выполняется, у меня постоянно весит 3. Если я в этом случае захватываю через "open_port" интерфейс и таким образом рву соединение - какие возможны последствия, будет ли это корректно? Дело в том, что у меня есть такая особенность, что в случае закрытия удаленного сервера OPC? когда он рвет соединение ПЛК почему-то уходит в перезагрузку. Не даст ли этот принудительный захват интерфейса такую же ошибку?

Igor_Pavlov
07.12.2012, 19:58
Ничего не получается! Я уж молчу про то, чтобы работала сразу и передача данных по gprs и посылка sms. Это конечно не заработало. Далее я попытался хотя бы примеры, приведенные в руководстве повторить - перебил их на свой ПЛК 100 и это тоже не заработало! Я даже потом порт поменял на 485, чтобы было точно, как в примере, хотя изначально я пользовался 232. Но все равно ничего не вышло.
Все время одно и тоже - подается сигнал на разрешение работы блока open port, выход out устанавливается в true, подается разрешение на работу блока конфигурации модема. Затем сигнал done на его выходе устанавливается в true и code_error code = 0
Затем подается разрешение на работу блока посылки sms - на выходе блока code error = 0, затем на smssend появляется true, сбрасывая через reset переменную, которая подает разрешение на захват порта через open port и все возвращается в исходное состояние.
Т.е. все error показывают 0, все сигналы показывают, что отправка осуществляется, диоды на модеме при настройке и посылке мигают, но sms не приходят! Пробовал симки разных операторов, все перепробовал - бесполезно. Даже не знаю куда копать, ведь если бы были ошибки или какие-то сигналы не устанавливались бы - тогда понятно, но так ведь все без ошибок.
И выглядит так, будто не хватает данных об sms-центре. Это странно что нет настроек для sms-центра. Я уже выполнял похожий проект на simatic 1200 с gprs-модулем cp-1242-7. Там обязательно требовалось указывать номер sms-центра.
Может я не понял чего-то или пропустил, подскажите, как настроить номер sms-центра для модема?
Ребят выручайте, в такой ситуации я наверное сам не разберусь.

capzap
07.12.2012, 20:20
во первых, уточните что Вы понимаете под словами ошибки всегда нули, это Вы визуально наблюдаете или счетчик ошибок поставили.
Во вторых http://www.owen.ru/forum/showpost.php?p=94509&postcount=164 читайте статью. И объясните потом, Ваше представление о sms-центре как о раздаче динамических адресов в локальной сети что ли? Ну и так дополнительно, что означает фраза: "И выглядит так, будто не хватает данных об sms-центре", Вы ручками пробовали отправить смску через терминал? Отличается ли передача с установкой цетра и без него, а может вообще не идет

Igor_Pavlov
10.12.2012, 14:01
capzap, под нулевыми ошибками я подразумевал, что визуально в режиме онлайн в codesys ошибки на выходе висят в нулях. Счетчик ошибок - к сожалению, я незнаком с таким инструментом.
За идею послать sms вручную спасибо, я не догадался что-то. За статью отдельное спасибо - очень интересная и полезная статья. То, что данные об sms-центре хранятся на симке я знал, что телефоны умеют читать эту информацию я тоже знал, но сомневался насчет модемов. Сименсовский вот не умеет.
Смс-ки по типу "короткий привет" и "длинные привет" удалось отправить без проблем. Прием смс-к модем также осуществляет. Также посылал (через терминал) смс-ки в обычном текстовом режиме - посылаются также без проблем.
Но вот через программу - нивкакую! Понятия не имею, что здесь можно предпринять.

capzap
10.12.2012, 15:34
длительность отображения ошибки составляет один цикл, визуально Вы можете её и не заметить. А счетчик это просто подсчет количества срабатываний если выход блока не равен нулю

Igor_Pavlov
10.12.2012, 18:43
capzap, а понятно что вы имели в виду под счетчиком. Я установил подсчет импульсов на сoderror - по нулям, но сейчас все уже заработало. Причем я так и не разобрался почему. Просто я открыл новый проект и там с нуля набрал код. И вроде все заработало. Потом я попытался переделать по аналогии мой изначальный проект. Все изменения сводились к следующему - 1. Неправдоподобные, но все же имели место и поэтому их возможную роль я не могу отрицать - я вручную прописал все параметры блока настройки модема - т.е. помимо скорости указал настройку четности, стоп-битов, управления потоком, до этого они были не указаны и следовательно брались по умолчанию, хотя эти значения по умолчанию совпадают с теми что я указал явно.
Потом еще я вручную написал номер телефона. До этого он был в переменной, эта переменная типа string имела размер 70 байт и я не знаю, чем заполнялись оставшиеся пустые байты, отведенные под переменные. Например в том же сименсе требовалось использовать под номер абонента переменную типа string[22], просто string не прокатывало, использование такого типа у них даже в инструкции прописано. Причем распределение байт такое - 0 байт - указывает допустимо возможное число байт, отводимое под данные, 1 - байт - указывает количество использованных байт при данном значении перемнной, а последующие байты - собственно байты данных (под каждый символ отводится 1 байт) и далее пустые байты. То, что указывалось количество байтов, которые являются значащими в самой переменной (в 1-ои байте), означает, что программа будет только их читать. Следовательно, например российский номер из 11 цифр, записанный в данную переменную будет иметь в типе string[22] следующее распределение байт -
0 байт = 20 (максимально возможное количество байтов данных)
1 байт = 11 (число используемых байтов)
Далее сам номер -
2 байт = 8
3 байт = 9 и т.д. ... 12 байт - последний символ, остальные байты пустые и будут проигнорированы при чтении.
А как здесь я не знаю. Возможно ли, что программа при чтении этой string-переменной, в которую заносится номер, считывает и еще всякий мусор,который прибавляется к номеру?

Более правдоподобные изменения - я по приведенным примерам изменил способ подачи сигнала на sendsms - раньше я подавал передний фронт, т.е. в моей тестовой установке я нажимал кнопку и таким образом подавал дискретный сигнал на вход контроллера. И получалось, что сигнал устанавливался из FALSE в TRUE. Т.е. передний фронт. Теперь же я как и в примере после подачи TRUE на вход sendsms следующей командой сбрасываю сигнал в FALSE. Получается импульс длиной не более 1 цикла, как и в примере. Может ли быть такое, что в реальности разрешение на отсылку прдается правильно не передним фронтом, а единичным импульсом? В самом руководстве сказано, что разрешение подается фронтом, но не сказано каким - то ли передним, то ли задним?

И еще я поставил параметр checknum в false, хотя я прекрасно понимаю, что он тут не причем.

В общем в будущем еще попытаюсь точно выяснить причину, просто сейчас на эксперименты совсем нет времени.

И еще мне хотелось бы выяснить следующий интересный момент. Сейчас у меня работает gprs-передача данных через с opc-сервером. Затем происходит событие, вызывающее посылку sms. Происходит захват порта и разрыв соединения. Затем после освобождения порта подключение к интеренету и передача через gprs должны восстановится. Но это происходит не всегда. Примерно в 70% случаев связь востанавливается с первого раза. В остальных случаях она востанавливается после посылки еще одной **** т.е. после повторного захвата порта. Причем как мне показалось, это еще зависит и от оператора. Т.е. на beeline у меня связь востанавливалась примерно в 95% случаев, а в TELE2 примерно в 70%.
Поэтому хочу разобраться как происходит этот процесс.
В ПЛК есть файл extconf.cfg, содержащий такие команды для подключения к инету - AT+CGATT=1
AT+CGDCONT=1,"IP","internet.tele2.ru"
Правильно ли я понимаю, что каждый раз, когда отсутствует соединение linestatus=0 ПЛК будет слать эти команды модему? Т.е. при включении ПЛК посылаются эти команды и устанавливается связь. Затем связь разрывается когда происходит захват порта. После освобождения порта, контролер должен пытаться востановить подключение по gprs и слать команды до восстановления связи, так? Поэтому, если я прав, то либо он не посылает их регулярно до восттановления связи, либо просто связь не может восстановится. Странно, что ситуация исправляется повторной посылкой смс.
Я думаю, для того чтобы перестраховаться, каждый раз перезапускать модем после посылки смс. Но тут возможно 2-мя путями - 1. Установить переменную stop модема в TRUE, а затем запустить его через переменную start модема. Или просто запитать модем через выходной элемент контроллера. И каждый раз комутировать питание. Не посоветуете, как будет лучше?

capzap
11.12.2012, 08:58
немножко что успел переварить: передний фронт и импульс в один цикл плк это вообщем то одно и тоже.
По поводу ввода номера, мне кажется в инструкции писалось что после изменений библиотеки, когда вводился просто 10-тизначный номер, теперь надо вводить код начинающийся с семерки а не с восьмерки

Igor_Pavlov
12.12.2012, 16:03
capzap, на самом деле все это не влияет на работу программы. Я это и сам перкрасно понимал, но надо же что-то подозревать. В общем я поочередно отменял все параметры, пока не вернул исходную систему - и она работает! По-моему него просто в какой-то момент что-то сдвинулось в его железных мозгах и он поехал, что уже не в 1-ый раз.

lomtik
13.12.2012, 00:58
Добрый день! Ребята, помогите, пожалйста, разобраться. Заранее извиняюсь за может глупые вопросы. Связка ПЛК-100 и ПМ01, не получается настроить для отправки смс.
Через гипертерминал смс-ки отсылаются. Сделал пробную программу для ПЛК-100 по примерам. В программе ПЛК сигнал на разрешение работы блока open port выход out устанавливается в true, сигнал на выходе конфигуратора done - false и code_error = 0. Я так понял что-то я напутал с подключением ПМ01 к ПЛК-100 и переключателем интерфейсов. У ПМ01 два интерфейса - 232/485 (Х2) и 485(Х3). Так к какому подключать Х2 или Х3 и какой открывать в опен порте и соответственно прописывать в конфигурации ПЛК? Если № 0 то - RS485, а №1 - то RS232? В настройках модуля unm по 232 или 485 надо что-то менять? Оптимальное минимальное время цикла для ПЛК-100 не менее 10мс? Выводы 9 и 6 на Х1 надо ли замыкать перемычкой? Модем будет работать только на передачу.

capzap
13.12.2012, 07:17
Добрый день! Ребята, помогите, пожалйста, разобраться. Заранее извиняюсь за может глупые вопросы. Связка ПЛК-100 и ПМ01, не получается настроить для отправки смс.
Через гипертерминал смс-ки отсылаются. Сделал пробную программу для ПЛК-100 по примерам. В программе ПЛК сигнал на разрешение работы блока open port выход out устанавливается в true, сигнал на выходе конфигуратора done - false и code_error = 0. Я так понял что-то я напутал с подключением ПМ01 к ПЛК-100 и переключателем интерфейсов. У ПМ01 два интерфейса - 232/485 (Х2) и 485(Х3). Так к какому подключать Х2 или Х3 и какой открывать в опен порте и соответственно прописывать в конфигурации ПЛК? Если № 0 то - RS485, а №1 - то RS232? В настройках модуля unm по 232 или 485 надо что-то менять? Оптимальное минимальное время цикла для ПЛК-100 не менее 10мс? Выводы 9 и 6 на Х1 надо ли замыкать перемычкой? Модем будет работать только на передачу.Первый, второй и третий посты темы читали, инструкцию по работе с библиотекой там обнаруживали?

lara197a
13.12.2012, 12:56
Добрый день! Ребята, помогите, пожалйста, разобраться. Заранее извиняюсь за может глупые вопросы. Связка ПЛК-100 и ПМ01, не получается настроить для отправки смс.
Через гипертерминал смс-ки отсылаются. Сделал пробную программу для ПЛК-100 по примерам. В программе ПЛК сигнал на разрешение работы блока open port выход out устанавливается в true, сигнал на выходе конфигуратора done - false и code_error = 0. Я так понял что-то я напутал с подключением ПМ01 к ПЛК-100 и переключателем интерфейсов. У ПМ01 два интерфейса - 232/485 (Х2) и 485(Х3). Так к какому подключать Х2 или Х3 и какой открывать в опен порте и соответственно прописывать в конфигурации ПЛК? Если № 0 то - RS485, а №1 - то RS232? В настройках модуля unm по 232 или 485 надо что-то менять? Оптимальное минимальное время цикла для ПЛК-100 не менее 10мс? Выводы 9 и 6 на Х1 надо ли замыкать перемычкой? Модем будет работать только на передачу.
Если будете подключать по RS232, пожалуйста проверьте работает ли бибка Опен Порт. У меня ни при каких условиях порт не открывается.
Тех поддержка так и не проверила это.
Ну и отпишитесь пожалуйста.

Igor_Pavlov
13.12.2012, 13:25
lomtik
У ПМ01 3 разъема, являющиеся распайкой 2-ух интерефейсов 232 и 485.
Если вы хотите подключиться к ПЛК через 232, то следует воспользоваться X1 или X2. Если через 485 - X1 или X3. Если вы используете 232 в качестве подключения к ПК или ПЛК, то независимо от того через X1 или Х2 вы подключаетесь - вам необходимо поставить перемычку 6-9 (RTS - CTS) на Х1! Хотя при работе с ПЛК по 232 я не использовал перемычку и все работало. Но лучше следовать инструкции.
UNM номеруются не по тому к какому порту относятся, а по их положению в дереве устройств. Тот UNM, что находится выше будет иметь меньший номер. Если сначала стоит UNM с 232 а потом UNM с 485, то 232 -0, 485 -1
Если вы подключились кабелем по 232 к ПК, то этот кабель подойдет и для подключения к ПЛК по 232 также.

Igor_Pavlov
13.12.2012, 13:31
lara197a
У меня работает ПМ01 через 232. Проблем именно с open port не было. Скорее были проблемы с modem_config. Блок должен был настроить модем на работу с смс - установить алфавит, режим и т.д. Но я так понимаю - он это не сделал, потому что - у меня все выполнялось без ошибок в программе, все сигнализировало о том, что смс отправляются, но они не приходили, пока я вручную из теминала не прописал все эти настройки и не сохранил конфигурацию, после этого заработало.

lomtik
13.12.2012, 13:35
спасибо, просто поспешил вначале.
подключился по 232, но что-то опять мешает отсылке. Проверил переключатели на корпусе модема, выставил на работу с 232 : 1 - off, 2 - on. Модем настроился. Блок отсылки работает, но смс не уходят. Для запуска старта отсылки делаю start в true и назад. Имитирую импульс. Хочу послать число 150 (WORD_TO_STRING(150)). Но сообщения не уходят. Что опять не так?(((((

Пантелеев Дмитрий
13.12.2012, 15:36
C гипертерминала смс отсылаются?
AT+CMGF=1
AT+CMGS="790........"
> вводите текст сообщения и нажимаете ctrl + z.

lomtik
13.12.2012, 16:04
с гипертерминала отсылается без проблем
а busy в каком состоянии должна быть перед отправкой смс?
еще раз извиняюсь за вопроса от чайника:)

lomtik
13.12.2012, 17:25
спасибо, разобрался )))

lara197a
13.12.2012, 18:37
lara197a
У меня работает ПМ01 через 232. Проблем именно с open port не было. Скорее были проблемы с modem_config. Блок должен был настроить модем на работу с смс - установить алфавит, режим и т.д. Но я так понимаю - он это не сделал, потому что - у меня все выполнялось без ошибок в программе, все сигнализировало о том, что смс отправляются, но они не приходили, пока я вручную из теминала не прописал все эти настройки и не сохранил конфигурацию, после этого заработало.

Какой у Вас ПЛК и Версия прошивки?
У меня на ПЛК110.32 порт RS232 открывается только при наличии в конфигурации этого порта вместе с RS 485. Когда RS485 удаляю, RS232 перестает открываться.

Леонид
03.01.2013, 02:16
Вот протестировал библиотеку на ПЛК 73 и немного на ПЛК 100, впринципе видно что библиотека работает, но есть вопросы и пожелания.
Для начала хочется поблагодарить Евгения Сергеевича за такую классную библиотеку, там только один перевод в режим PDU чего стоит.
Теперь пожелания:
1.
Очень порадовала возможность определения входящего вызова "NewInRing" , считаю очень полезной функцией, очень не помешалобы на время пока NewInRing=TRUE еще выводить номер абонента входящего звонка, что то типа "NewInRingNum".
Таким образом появится возможность подавать команду при помощи звонка, но с фильтрованием по номеру. Или делаешь вызов с любого номера на номер ПЛК, а он определяет номер входящего вызова и отправляет смс на этот номер с информащией о объекте управляемом ПЛК.
2.
Так же интересно было бы иметь возможность посылать исходящие вызовы. Например ПЛК проверил состояние счета, понял что средства заканчиваются, а в это время возникает СУПЕР АВАРИЙНАЯ ситуация и ПЛК просто берет и звонит на указанный номер, экономя таким образом средства. "SendRing"
3.
Вначале работы ФБ настраивает модем и пытаеся определить зарегистрировался ли он в ДОМАШНЕЙ СЕТИ (когда один из операторов у меня регистрировался в роуминге то отравить или получить ничего нельзя), так же он посылает запрос о уровне сигнала, так вот не плохо былобы получить из ФБ значение уровня сигнала покрытия. Тоесть вместе с запросами чтения новых смс переодически посылать запрос о качестве сигнала. Можно конечно и информацию о регистрации в сети, но это не самое критичное так как ФБ возвращает коды ошибок если он не готов к отправке.

Теперь замечаня.
1.
Не получается проверить баланс. Пробовал на нескольких операторах. В номер ввожу короткий номер запроса например Life Украина *111#, текст сообщения оставляю пустым и взвожу "ssend". В терминале wTerm вижу команду запроса, затем модем отправляет на ПЛК ответ, но видимо не в режиме PDU, потому что его можно прочитать как на экране телефона.
В это время на плк счетчик принятых сообщений увеличивается на 1, NewInSmsNum='*111#', NewInSmsText='ERROR: No answer ', NewInSmsTime остается время последнего принятого сообщения, а ErrCode=9.
2.
Теперь что касается времени скана ПЛК. Заметил что если время скана программы более 15мс,при 20мс точно, то возникает проблема при чтении входящих сообщений библиотека посылает запрос на чтение модем отвечает содержимым сообщения и тут происходит какой то затык, обмен данными прекращается видимо до срабатывания какогото таймаута, затем снова пытается прочитать сообщение и так может повториться несколько раз. Пока ПЛК видимо не посчитает что ему всетаки удалось прочитать **** но на самом деле все строки номера, времени,текста вытираются, т. е. становятся равны ''.
При скане 1 мс все работает хорошо, все бы ничего, но у меня программа на ПЛК 73 вместе с pou работы с модемом работает со сканом 18мс.
Все пожелания и замечания справедливы для обоих библиотек и для ПЛК1xx и для ПЛК63/73. Вообще по моим наблюдениям библотека на обоих типах ПЛК ведет себя одинаково, за одним исключением что при отправке смс на ПЛК 1хх вся команда отправки смс в формате PDU отравляется в модем за один раз, а из ПЛК 63/73? особенно при большом скане делится на 3-4 порции.
Если какието из вышеуказанных пунктов заинтересуют разработчиков, то при необходимости могу записать видео эксперементов в CoDeSys и в терминале wTerm.

capzap
03.01.2013, 09:51
выводить номер абонента входящего звонка, что то типа "NewInRingNum".
Таким образом появится возможность подавать команду при помощи звонка, но с фильтрованием по номеру.на сколько я помню, там фильтрация номеров, с которых принимаются звонки, имеется просто Вы ей не воспользовались видимо

capzap
03.01.2013, 09:55
При скане 1 мс все работает хорошоне может быть, чтоб плк1ххх, вообщем те кто использует UNM работали с таким малым времением им как раз нужно около 10мс, об этом тут в теме несколько страниц комментов написано, по поводу 63/73 не знаю, не было на руках таких плк еще

maks-tver
11.01.2013, 19:09
Добрый день. При приеме и передачи СМСки бывает такое, что один или несколько символов в тексте заменяется на совсем другой или вообще на какой то иероглиф!

capzap
11.01.2013, 21:36
Добрый день. При приеме и передачи СМСки бывает такое, что один или несколько символов в тексте заменяется на совсем другой или вообще на какой то иероглиф!

обычно когда приходят двойные смски, конец первой и начало следущей идут с управляющими символами, отличными от UTF стандартной латиницы и кириллицы, поэтому на их месте могут возникать непонятные знаки, ну или приходят те символы которые не учтены в библиотеке

maks-tver
11.01.2013, 22:06
Нет, СМСки короткие текст самый обычный плюс цифры, в чем дело?

capzap
11.01.2013, 22:12
значит надо начинать с самого текста, может он сплошь из латиницы, тогда значит не правильно декодирует из 7 бит в 8

maks-tver
12.01.2013, 20:27
Буквы все русские:)

Евгений Сергеевич
15.01.2013, 18:59
1) Макс, напишите пожалуйста текст который отправляли и который пришел.

2) Леонид, как уже писалось ранее текст вычитывается из порта по символу за цикл (это то что относится к ПЛК100) поэтому когда пришло много смсок время цикла становится критичным. У ПЛК63/73 используется SysLibCom что позволяет скомпенсировать более медленный проц. Для оптимизации лучше выделять работу с модемом в отдельную программу и ставить ей время цикла 5мс.

Фильтрация номеров есть только для СМС, для звонков такого нет. Реализовывать скорее всего не будем так как библиотека сейчас уже получилась достаточно тяжелой для ПЛК 63/73 и боюсь дальнейшего ее усложнения они не переживут(

Скажите баланс узнать удалось?

SSGorokhov
16.01.2013, 17:58
В конфигурации ПЛК + модем заработали прием и отправка сообщений. Насколько я понял во время общения модем - ПЛК интерфейс 485 полностью перехватывается процедурой OpenPort и не на один цикл работы контроллера. Как добиться корректного опроса модулей I/O? Как правильно подключить их в конфигурации ПЛК? Надо добавить ModBus(master) и подключить к ним модули расширения? В какой момент и как освобождать интерфейс от захвата OpenPort?

Еще вопрос по самой библиотеке. Если CsdClose установить в TRUE, то модем дает отбой на втором гудке, и не сообщает о вход вызове, если установить в FALSE, то сообщает о входящем вызове, но при этом тоже дает отбой на втором или третьем гудке. Это нормально?
Могу ли я получить доступ к порту (при обмене ПЛК-модем) для того чтобы расширить функционал библиотеки?

Леонид
17.01.2013, 14:59
Баланс узнать так и не удалось.
При попытке отправить *111*, хотя почему так если номер запроса *111#, по совету capzap, ничего не происходит и флаг ssend не сбрасывается.

Фильтрацию по номеру я имел ввиду сделать самостоятельно, а не в ФБ, основная идея в выводе номера входящего звонка, тем более что при определении входящего вызова ФБ перед тем как положить трубку подает запрос на который модем отвечает посылкой в которой есть номер.

Хотелось бы узнать будут ли реализованы функции вывода уровня сигнала покрытия и номера входящего звонка?

capzap
17.01.2013, 15:15
виноват, это я видимо где то в ранних версиях библиотеки пробовал, если у Вас мегафон, то попробуйте такую команду *111*1#, потому что
... рекомендуем использовать для проверки баланса USSD-команду *111*1#
Некоторые модели телефонов не поддерживают USSD-запросы. Если после набора команды на экране вашего телефона отображаются нечитаемые символы, попробуйте поменять языковой режим USSD-вещания, набрав команду *105*0#

А по поводу номера, если Вы его видите в одном из ответов, почему его не "отловить" для своих нужд

capzap
17.01.2013, 15:23
Хотелось бы узнать будут ли реализованы функции вывода уровня сигнала покрытия и номера входящего звонка?

Я вычислил, что АТ-команды можно посылать самостоятельно, используя функцию библиотеки REQAT, как не удивительно :) А это значит что уровень покрытия Вы можете узнать подав AT+CSQ и номер входящего - AT+CLCC

Евгений Сергеевич
17.01.2013, 16:08
Но для этого надо тормозить работу самого блока.

to SSGorokhov
Вешать модем и модули на один порт мы не рекомендуем т.к. они могут мешать работе друг друга.

что происходит в программе после получения сигнала о входящем звонке?

to Леонид
Скажите на каком интерфейсе у вас весит модем? Если на 485 то снимите пожалуйста лог обмена во время запроса баланса.

SSGorokhov
17.01.2013, 16:19
to SSGorokhov
Вешать модем и модули на один порт мы не рекомендуем т.к. они могут мешать работе друг друга.

Если вешать на 232, то для выноса модема на 15-20м придется преобразовать 232 от ПЛК в 485 (или 422?). Можно ли в этом случае обойтись без второго преобразователя на стороне модема, если подцепиться на 485 интерфейс? Модем с ПЛК связывается дуплексным протоколом или полудуплексным? Используется TxD, RxD, GND или еще какие-то дополнительные цепи?

что происходит в программе после получения сигнала о входящем звонке?

сейчас - ничего. Необходимо зафиксировать факт вызова и номер, чтобы отправить на этот номер СМС с необходимой информацией.

Леонид
17.01.2013, 17:47
Модем действительно подключен по RS485.


Лог:
AT+CMGL=0,1

OK
AT+CLCC

OK
AT+CMGL=0,1

OK
AT+CLCC

OK
AT+CMGL=0,1

OK
AT+CUSD=1,"*111#",15

+CUSD: 0,"Balans 0 hrn, bonus 0.00hrn. Borg 4.57 hrn. Detali: *121#
***
Bazhaete pryhovaty sviy nomer pry dzvinkah? Nabyrayte *123*2547#",15

OK
AT+CLCC

OK
AT+CMGL=0,1

OK
AT+CLCC

OK
AT+CMGL=0,1

OK

Леонид
17.01.2013, 18:19
виноват, это я видимо где то в ранних версиях библиотеки пробовал, если у Вас мегафон, то попробуйте такую команду *111*1#, потому что

А по поводу номера, если Вы его видите в одном из ответов, почему его не "отловить" для своих нужд

номер я вижу в терминале

Леонид
18.01.2013, 20:31
Хотелось бы узнать рассматривается ли вариант внедрения функций:
1. Посылать исходящие вызовы.
2. Вывод номера абонента входящего вызова.
3. Вывод значение уровня сигнала покрытия.

Леонид
19.01.2013, 00:43
Для оптимизации лучше выделять работу с модемом в отдельную программу и ставить ей время цикла 5мс.

Имеется ввиду выделить вызов POU в отдельную циклическую задачу?
Но ведь это не прерывание, все равно нужно время на выполнение основной программы...
Или я что то неправильно понял?

Евгений Сергеевич
19.01.2013, 04:49
не то что бы это было прерывание просто это позволит по другому поделить время между задачами: так чтобы задача по работе с модемом вызывалась чаще, а основная задача реже.

на счет дополнительных функций подумаем, пока ничего обещать не буду.

судя по логу баланс вам возвращается, но сначала почему-то идет сам текст ответа вместо ОК, который присылается в конце, какой у вас модем и плк?

Евгений Сергеевич
19.01.2013, 04:52
to capzap
чтобы запросить баланс на латинице в России например для мтс номер #100#, а на родном языке т.е. русском *100#

Леонид
19.01.2013, 06:23
какой у вас модем и плк?
Пробовал на ПЛК 100 и ПЛК 73, на двух разных операторах, результат одинаковый.
Модем ПМ01-24 АВ

capzap
19.01.2013, 09:39
to capzap
чтобы запросить баланс на латинице в России например для мтс номер #100#, а на родном языке т.е. русском *100#

Вот я лошара :-) телефон же под рукой всегда есть. Леонид извините что ввел в заблуждение

Евгений Сергеевич
21.01.2013, 11:19
Леонид вбейте команды в модем в ручную
AT+CSCS="GSM"

AT+CUSD=1,"#111#",15

в ответ сначала должно прийти ОК а потом уже
+CUSD: 0, ...

Если там все наоборот то тогда пришлите информацию о модеме:
серийный номер и версию ПО (посмотреть можно введя команду AT+GSV)

Леонид
22.01.2013, 12:31
Запрос с мобильного *111#


AT+CUSD=1,"#111#".15

+CUSD: 2

ERROR
AT+CUSD=1,"*111#",15

+CUSD: 0,"Vash balans:zagal'nyi 5,52; bonusnyi 0,00; dodatkovyi 0,00 hrn.Nomer d
",15yi do 2013-05-05 23:59:59. Perevirka dodatkovykh poslug *121#

OK



AT+GSV

ERROR
AT+GCAP

+GCAP: +CGSM,+FCLASS,+DS

OK
AT+GMI

SIMCOM_Ltd

OK
AT+GMM

SIMCOM_SIM300D

OK
AT+GMR

Revision:1008B14SIM300D32_SST34HF3284

OK
AT+GOI

SIM300D

OK
AT+GSN

356895037780585

OK


Как видно из лога на запрос AT+GSV отвечает ошибкой, далее идут команды которыя я взял из инструкции списка команд.
И второго лога вроде видно что на все команды модем отвечает сначала информацией а пото ОК

capzap
22.01.2013, 13:06
AT+CUSD=1,"#111#".15вроде ошибка вместо точки запятая нужна

Леонид
22.01.2013, 21:14
вроде ошибка вместо точки запятая нужна

точно
спасибо

корректировка

AT+CUSD=1,"#111#",15

+CUSD: 0,"Requested service not found",15

OK
AT+CUSD=1,"*111#",15

+CUSD: 0,"Balans 0 hrn, bonus 0.00hrn. Borg 4.57 hrn. Detali: *121#
***
Bazhaete p
ryhovaty sviy nomer pry dzvinkah? Nabyrayte *123*2547#",15

OK

capzap
22.01.2013, 22:46
:) не сильно помогло, порылся на форумах, оказалось действительно можно получить по разному ответ, и как впереди и так же после команда ОК может прийти. Получается Вам не повезло, библиотека настроена под другой вариант ответа

Леонид
22.01.2013, 23:25
:) не сильно помогло, порылся на форумах, оказалось действительно можно получить по разному ответ, и как впереди и так же после команда ОК может прийти. Получается Вам не повезло, библиотека настроена под другой вариант ответа

Что то я не понял!
Как это: может так, может сяк?
Как различить такие модемы заранее?
Это касается только модемов ОВЕН?

capzap
23.01.2013, 07:08
Что то я не понял!
Как это: может так, может сяк?
Как различить такие модемы заранее?
Это касается только модемов ОВЕН?

тот форум который я читал, думаю собеседники даже не догадываются о существовании овеновского модема, скорее всего дело в прошивке самого чипа

Евгений Сергеевич
23.01.2013, 16:08
Чип который используется в модеме у Леонида старый и уже снятый с производства. Судя по тому, что я видел большинство модемов сначала выдает Ок потом информацию.

PavelGO
24.01.2013, 09:54
Хотелось бы узнать рассматривается ли вариант внедрения функций:
1. Посылать исходящие вызовы.
2. Вывод номера абонента входящего вызова.
3. Вывод значение уровня сигнала покрытия.

Было бы очень удобно и облегчило бы жизнь. По крайней мере последние два пункта.

Леонид
06.02.2013, 11:29
Чип который используется в модеме у Леонида старый и уже снятый с производства. Судя по тому, что я видел большинство модемов сначала выдает Ок потом информацию.

Как определить какой модем со старым чипом а какой с новым?

Пантелеев Дмитрий
06.02.2013, 14:13
Как определить какой модем со старым чипом а какой с новым?

Sim300D - старый чип.
Sim900D/Sim900 - новый чип.