Страница 35 из 94 ПерваяПервая ... 2533343536374585 ... ПоследняяПоследняя
Показано с 341 по 350 из 935

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

  1. #341
    Пользователь
    Регистрация
    27.08.2011
    Адрес
    Курган
    Сообщений
    212

    По умолчанию

    Цитата Сообщение от Smith2007 Посмотреть сообщение
    Все сообщения в массив и по очереди отправляйте. Переход к следующему - наличие флага успешной отправки.
    Что такое массив и с чем его едят. Просто я сам пытаюсь разобраться с кодесисом, а учится начальство пошлёт-нет кто его знает. По этому желательно посмотреть пример и если можно то для плк160м.
    Вот к этому проекту надо приделать модем для отправки диспетчеру СМС с описанием аварий (желательно на русском). Не судите строго, это мой дебют в кодесисе. Если что не так подскажите как будет лучше.
    Последний раз редактировалось kukla100; 03.11.2013 в 11:49.

  2. #342

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    странно, видимо срабатывает таймаут хотя ответа не должно было быть ни какого, а как себя ведет при отправке *100#
    Также.
    Уже замучился с этим балансом((((
    А можно подробней про таймаут, где он возникает?

  3. #343
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    234

    По умолчанию

    анализируйте переменную
    IF SMS.ErrCode = 13 THEN (* таймаут *)

    Если таймаут, я CheckNum (ФБ SMS) устанавливаю в TRUE и так держу на протяжянии 30 сек. При этом CheckNumList:= '' пустой. Т.е. все проблемные СМС удаляются. После этих настроек проблемы с передачей смс и спамом прекратились. (за что отдельный респект capzap).

    Надо добавить, что в доках не четко описан метод удаления имеющихся (в т.ч. рпроблемных) СМС. Для удаления требуется:
    CheckNum := TRUE
    CheckNumList:= ''

    из доки
    Имя программного компонента FB_SMS_SR
    Тип программного компонента Функциональный блок Функция Программа
    Особенности работы Для работы требуется установка в проекте библиотеки UNM
    Применение на контроллерах ПЛК100, ПЛК150, ПЛК154, ПЛК110, ПЛК160.
    Входная переменная: Тип данных Пояснения
    Enable BOOL разрешение на работу
    Handle WORD номер модуля UNM, порт открывается с помощью ФБ «OpenPort»
    CsdClose BOOL запрет входящих вызовов: определяет поведение при входящем звонке, если True(вкл.), то всегда вешает трубку, если False(выкл.), то выставляет флаг NewInRing, по умолчанию True (вкл.)
    SendSms BOOL команда на отправку SMS сообщения, срабатывает по фронту
    SendSmsText STRING текст отправляемого сообщения (на русском макс 70 символов, на латинице макс 140 символов)
    SendSmsNum STRING номер абонента, кому отправить СМС, пишется целиком с кодом страны без скобок и «+», например «79012345678»
    CheckNum BOOL включить/отключить проверку номера отправителя СМС (для входящих сообщений), по умолчанию False (выкл)
    CheckNumList STRING список разрешенных номеров, фомат: «ххххххххххх;ххххххххххх;» номер пишется целиком без скобок и «+», через точку с запятой, если функция выключена то не используется, по умолчанию ‘’
    Выходная переменная: Тип данных Пояснения
    Busy BOOL флаг указывающий, что блок выполняет в данный момент какие либо операции
    ErrCode BYTE код ошибки
    SmsSend BOOL флаг успешной отправки СМС сообщения, включается на 1н цикл
    NewInSms BOOL флаг наличия нового входящего СМС сообщения, включается на 1н цикл
    NewInRing BOOL флаг наличия входящего вызова
    NewInSmsText STRING текст последнего принятого СМС сообщения
    NewInSmsTime STRING время отправки последнего входящего СМС сообщения
    NewInSmsNum STRING номер отправителя последнего входящего СМС сообщения, 10 цифр
    Последний раз редактировалось Smith2007; 03.11.2013 в 18:37.

  4. #344
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

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

  5. #345

    По умолчанию

    анализируйте переменную
    IF SMS.ErrCode = 13 THEN (* таймаут *)

    Если таймаут, я CheckNum (ФБ SMS) устанавливаю в TRUE и так держу на протяжянии 30 сек. При этом CheckNumList:= '' пустой. Т.е. все проблемные СМС удаляются. После этих настроек проблемы с передачей смс и спамом прекратились. (за что отдельный респект capzap).

    Надо добавить, что в доках не четко описан метод удаления имеющихся (в т.ч. рпроблемных) СМС. Для удаления требуется:
    CheckNum := TRUE
    CheckNumList:= ''
    спасибо за наводку, буду использовать.

    листинг бы из терминала, тогда можно было бы сравнить
    не догадался сохранить, хотя листинг был(((
    Сейчас модем у заказчика, на след. выходных сниму листинг и выложу

  6. #346

    По умолчанию

    Подскажите пожалуйста, почему не получается баланс?

    Посылаю пустое сообщение на #100#
    textSMS:='';
    numeSMS:='#100#';

    в полученном СМС получаю +CUSD:0,'', то есть пустое сообщение
    Через гипертерминал AT+CUSD=1,"#100#",15 баланс получается нормально.
    с балансом проблема решилась. в сервис-центре подсказали поменять симку в модеме. Поменял и баланс пришел ровно!!!

    Теперь другой косяк, модем проработал 2 дня и замер. Сам отправляет смс-ки, но ничего не получает, хотя подтверждения доставки приходят. Также по входящему звонку посылает смс без проблем. Подозреваю переполнение симкарты входящими смс-ками (проверить смогу только в выходные).

    capzap, Вы все время пишите способ удаления всех смс ссылаясь на описание

    вот что я сваял, может это не верно?

    IF SMS.ErrCode = 13 THEN (* таймаут *)
    SMS.CheckNum:=TRUE;
    SMS.CheckNumList:= '';
    END_IF



    перечитал мануал из первого поста - не нашел такой информации, все что есть, на стр 21, таблица, из которой следует, что при CheckNum:=TRUE; и CheckNumList:= '' не принимаются входящие смс.

    Но результат на лицо, смс не принимаются. Что посоветуете сделать? ПЛК-63, Цикл 15мс.

  7. #347
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    234

    По умолчанию

    Я установил цикл 10 мс (ПЛК110). Было 50 мс - не работало.
    SMS.CheckNum:=TRUE;
    SMS.CheckNumList:= '';

    установить вышеуказанные переменные на 40-60 сек, если много смсок набралось то за это время в любом случае удалит все. Подтверждаю, что это не особо документированная функциональность, но она работает и смс-ки удаляются с сим-карты.

  8. #348

    По умолчанию

    а по какому событию Вы включаете цикл
    SMS.CheckNum:=TRUE;
    SMS.CheckNumList:= '';

  9. #349

    По умолчанию

    Я установил цикл 10 мс (ПЛК110). Было 50 мс - не работало.
    странная логика, при уменьшении времени цикла все начало работать, не логично как-то))))

  10. #350
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    234

    По умолчанию

    ничего странного. За один цикл библиотека обрабатывает один символ. Если СМСок много то время на обработку требуется больше чем таймаут. Вот и все.

    уточняю: это цикл запуска задачи в конфигураторе задач.

Страница 35 из 94 ПерваяПервая ... 2533343536374585 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 140
    Последнее сообщение: 06.06.2018, 13:38
  2. Полноценная библиотека для работы модема ПМ01 с SMS
    от Алексей Сорокин в разделе Помощь Разработчикам
    Ответов: 8
    Последнее сообщение: 06.03.2015, 12:36
  3. Библиотека для работы с gprs
    от alexsaska в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 27.02.2015, 13:01
  4. Ответов: 2
    Последнее сообщение: 21.11.2014, 21:53
  5. Необходима библиотека работы с модемом в CoDeSyS v3
    от Александр123456 в разделе ПЛК3хх
    Ответов: 2
    Последнее сообщение: 22.01.2012, 14:16

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •