Страница 43 из 94 ПерваяПервая ... 3341424344455393 ... ПоследняяПоследняя
Показано с 421 по 430 из 935

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

  1. #421

    По умолчанию

    И ещё вопрос, как я понял, после прочтения **** она удаляется. Но столкнувшись с тем, что входящая смс обрабатывется только один раз, вставив в симку в телефон, обнаружил там 5-6 входящих смсок. Удалил, повторил запрос - один раз ответ получил и всё. Вставил симку снова в телефон, опять там несколько моих сообщений. Как я понял, первое сообщение контроллер обрабатывает, последующие просто не видит? Тогда почему не удаляются сообщения после просмотра?
    И да, плк73.


    Поставил CheckNum:=TRUE и CheckNumList :='', сообщения стали удаляться, но при этом теперь перестала работать отправка смс и опрос не происходит даже один раз. То есть если я правильно понимаю, после получения сообщения и отправки на него ответа, нужно подать на вход CheckNumList на время необходимое для удаления сообщения и сбросить?
    Эту проблему решил подачей на вход CheckNumList '' во время инициализации и после отправки сообщения, с последующим переключением на список разрешенных номеров (забавные конечно танцы с бубном :/). При этом выяснил, что FB_SMS_SL.done всегда FALSE, непонятно почему.

    Но первая проблема (с отправкой на 2 номера) пока не решена. Кто подскажет как решить?

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

    По умолчанию

    Цитата Сообщение от Абросимов Олег Посмотреть сообщение
    Но первая проблема (с отправкой на 2 номера) пока не решена. Кто подскажет как решить?
    так Вы внимательно присмотритесь к объявленному массиву, у Вас первые два номера это один и тот же номер и только третий отличается от первых двух

    ЗЫ чтоб танцев с бубном было меньше, читайте доки внимательнее, не бойтесь перечитывать
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #423

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    так Вы внимательно присмотритесь к объявленному массиву, у Вас первые два номера это один и тот же номер и только третий отличается от первых двух

    ЗЫ чтоб танцев с бубном было меньше, читайте доки внимательнее, не бойтесь перечитывать
    Спасибо, помогло.
    Честно говоря, была у меня с утра мысль проверить вариант с
    Код:
    listNum :ARRAY [0..2] OF STRING(11):='7911*******', '7921*******';
    руки дойти не успели.
    Доки уже по 10 раз перечитал, если честно, именно в них и был вариант с несколькими получателями в том виде, который у меня не получался. Не понятно почему там именно так прописано (видимо, чтобы народ на всем готовеньком не сидел, а башкой тоже думал). Просто я с массивами ещё не работал, поэтому смутно представляю как обрабатывается listNum :ARRAY [0..2] OF STRING(11):='7911*******', '7921*******'; а listNum[sl.NumCur] для меня пока вообще загадка, поиск пока ничего не дал.

    И как выяснилось
    Эту проблему решил подачей на вход CheckNumList '' во время инициализации и после отправки сообщения, с последующим переключением на список разрешенных номеров.
    проблему не решило. Получается, что при включении контроллера и модема происходит инициализация, на вход CheckNumList в течении 10 сек. подается '' и сообщения стираются, вход переключается на список разрешенных номеров. Затем при входящем сообщении на запрос состояния отправляется ответное смс и снова подается '' на вход (10 сек.), однако сообщение не стирается, чтобы оно стерлось, приходится снова сбрасывать питание, чтобы повторить начальную инициализацию. При этом,когда пытаюсь задать уставку, она обрабатывается, значение меняется, отправляется ответное сообщение об успешном выполнении, происходит попытка стирания смски, и на входе NewInSmsText у меня висит '$10(C $0F$02Lt$01P$06$17'? но бывает и другая аббракадабра. В общем бред какой-то, не могу пока понять почему такая чушь получается

  4. #424

    По умолчанию

    Поправочка, сообщение типа '$10(C $0F$02Lt$01P$06$17' на входе NewInSmsText висит после прочтения его программой. Убрал подачу на вход CheckNumList '' - ничего не изменилось. Уже не знаю куда копать, прошу помощи .

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

    По умолчанию

    ох, это столько раз уже обсуждалось чтоб удалить все смски необходимо, чтоб CheckNumList был пуст и затем поднимать флаг CheckNum чтоб проверить успешность ловим задний фронт выходной переменной BUSY и в этом же цикле контролируем чему равна ошибка, если нулю то всё успешно удалилось, если 21 то смски не удаляются.

    И кстати если на телефоне появляются сообщения это вовсе не означает что они хранятся на сим-карте

  6. #426

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    ох, это столько раз уже обсуждалось чтоб удалить все смски необходимо, чтоб CheckNumList был пуст и затем поднимать флаг CheckNum чтоб проверить успешность ловим задний фронт выходной переменной BUSY и в этом же цикле контролируем чему равна ошибка, если нулю то всё успешно удалилось, если 21 то смски не удаляются.
    В том то и дело, что не работает этот алгоритм. Т.е. он работает, но только при первой инициализации. При последующей подаче пустого списка CheckNumList (со снятием флага CheckNum) и поднятием флага CheckNum не происходит удаление, висит абракадабра на NewInSmsText и всё тут и следующее приходящее смс не читается. Что уже не перепробовал, но помогает только перезагрузка.

    Цитата Сообщение от capzap Посмотреть сообщение
    И кстати если на телефоне появляются сообщения это вовсе не означает что они хранятся на сим-карте
    Не понял этот момент: я захожу именно на сообщения, хранящиеся на сим-карте, если они не хранятся там, то почему отображаются? Тем более после успешного удаления контроллером, список пуст.

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

    По умолчанию

    Цитата Сообщение от Абросимов Олег Посмотреть сообщение
    В том то и дело, что не работает этот алгоритм. Т.е. он работает, но только при первой инициализации. При последующей подаче пустого списка CheckNumList (со снятием флага CheckNum) и поднятием флага CheckNum не происходит удаление, висит абракадабра на NewInSmsText и всё тут и следующее приходящее смс не читается. Что уже не перепробовал, но помогает только перезагрузка.
    Предположим Ваши действия всёже не правильные, ответы на вопросы могут быть только после анализа ошибок, ОШИБКА 21 есть?

  8. #428

    По умолчанию

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

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

    По умолчанию

    Цитата Сообщение от Абросимов Олег Посмотреть сообщение
    Сейчас не могу проверить,позже посмотрю,но визуально не было,поставлю блок для фиксации
    визуально Вы не увидите, она срабатывает только за один цикл плк, Вы должны добавить дополнительный код в программу, чтоб отлавливать приходящие значения ошибок, всё что больше нуля говорит о некорректной работе
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  10. #430

    По умолчанию

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

    Пример №3_1 не работает. После получения сообщения на выходе NewInSmsText остается '$04.$10C`$0F$02@$08x!$10', что это значит не понимаю, но последующие смс не обрабатываются (CheckNum = TRUE, CheckNumList - список из двух номеров).

    чтоб удалить все смски необходимо, чтоб CheckNumList был пуст и затем поднимать флаг CheckNum
    Алгоритм следующий: CheckNum = TRUE, CheckNumList - список из двух номеров. При FB_SMS_SR.Enable или NewInSms=TRUE на 10 секунд CheckNumList переключается на '', CheckNum сбрасывается в FALSE и через 100 мс (пробовал разные значения) поднимается в TRUE. Через эти 10 секунд соответственно FB_SMS_SR.Enable и NewInSms снова срабатывают, алгоритм зацикливается. То есть переключение CheckNum вызывает переключение FB_SMS_SR.Enable.
    Проблему как я думаю можно решить программно, игнорировав это переключение, по типу дребезга контактов, осталось сообразить каким образом. ушел думать...

    ErrCode всегда = 0.

    WTF?
    Последний раз редактировалось Абросимов Олег; 16.07.2014 в 20:08.

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

Похожие темы

  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

Ваши права

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