такого быть не может впринципе, если чтение сбрасывается по таймауту и переходит к первичной инициализации через паузу и далее снова читает непрочитанные смски, а так как прочитанные сразу удаляются то в конце концов прога должна всё прочитать.
Может имеет смысл еще увеличить минимальное время цикла и перейти на более высокую скорость обмена
а какие вы посоветуете значения времени цикла и скорости обмена?
если работа плк только с библиотекой, то плк100 у меня работал на 10мс, предположу что другие процессы могут еще занимать пару мс. Хотя цикл нужно повышать, только из за обмена последовательного порта, с использованием syslibcom такого не замечается, потому что ответ на запрос приходит асинхронно, не мешая основному циклу, а по времени там примерно так же выходит. Начните с разумно больших времен и постепенно снижайте. По скорости порта, я выставлял 115200, вроде показалось что лучше работает
К сожалению, пример работает не корректно... При кратковременном разрыве связи или при перезагрузке модема теряется связь плк и модема... Пробовал на разных плк и на разных модемах.. Может кто нибудь подправит проект?
У меня плк150 у-м, модем пм01 подключен по rs232. Нужно чтобы программа отслеживала работоспособность модема и наличие сети, и отправляла смс по сигналу.
Пробовал всякие примеры - ничего не работает... За стабильно работающую программу на ST отправлю 50$. Профи помогайте.
а мне кажется библиотека работы с смсками получает дескриптор порта из вне. А это значит что слежение за портом лежит на "плечах" программиста. И ктому же если внимательно изучить проект библиотеки, то можно разобраться как подать простейшую команду :AT+CREG? — получить тип регистрации в сети.
Вернется что-то вроде +CREG: 0,1
Где:
0, — нет сообщения о смене регистрации в сети.
1, — текущее состояние.
0 — не зарегистрирован, поиск сети не ведется,
1 — зарегистрирован в своей домашней сети,
2 — не зарегистрирован, идет поиск сети,
3 — регистрация отклонена,
4 — модуль сам не знает что происходит
5 — зарегистрирован в роуминге.
to alexxx
при пропадании связи переменная state = 0 и в порт ничего не шлется так?
была там одна неточность, поправили ее и сейчас обновлю библиотеку, проверьте и отпишитесь пожалуйста.
http://www.owen.ru/forum/showthread.php?t=13333
у Вас вопросы практически один в один и задали Вы их в один день
ЗЫ шестая ошибка возникает, когда модем не отвечает на команду АТ, т.е. как в вышеуказанной теме, порт не подключен после пропадания питания. Может имеет смысл сделать сброс плк
ЗЫЫ виноват, упустил из виду что речь о ПОУ FB_SMS_CFG, но как бы ни чего не меняет, в первую очередь надо "отпустить" порт, потом его взять, а затем уже начинать работу с библиотекой
Последний раз редактировалось capzap; 07.09.2012 в 11:16.
Всё сбрасывал перебрасывал много раз... Менял соединительные кабели, подключал на разные разъемы модема... Брал новый ПЛК из коробки и новый модем, подключался с предложенным Евгением Сергеевичем проектом. Предварительно добавлял необходимые библиотеки...
Не работает. Что я делаю не так??
Теперь вот cfg1.ErrCode = 99..
После старта программы 3 раза перемаргиваются TxD-RxD, и тишина.
Последний раз редактировалось alexxx; 07.09.2012 в 11:41.