PDA

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



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

Леонид
06.02.2013, 14:58
Спасибо!
А при покупке модема ПМ-01?

Пантелеев Дмитрий
06.02.2013, 16:58
На данный момент модемы с модулем Сим300Д не продаются. Примерно с ноября 2012 года продаются модемы с Сим900Д.

SSGorokhov
23.03.2013, 13:19
Подскажите, пожалуйста, если я использую библиотеку для работы с СМС из первого поста, то каким образом корректно освободить порт, а потом занять его снова с полной инициализацией библиотечных функций с "нуля"?

capzap
23.03.2013, 23:33
Подскажите, пожалуйста, если я использую библиотеку для работы с СМС из первого поста, то каким образом корректно освободить порт, а потом занять его снова с полной инициализацией библиотечных функций с "нуля"?

ЛокДевайс захватываете порт, РелизДевайс отпускаете, по Вашему будет корректно освободить порт

SSGorokhov
25.03.2013, 11:57
ЛокДевайс захватываете порт, РелизДевайс отпускаете, по Вашему будет корректно освободить порт

Спасибо, это мне понятно. Мне требуется переинициализировать функции из библиотеки работы с СМС разработки ОВЕН. Есть такое ощущение, что srs1(), которая занимается приемом и отправкой смс как-то глючит. Прекращается прием и отправка смс (после приблизительно недели или 10 дней работы). По индикации модема функция засылает в модем достаточно большой объем символов. Не идет прием и отправка **** не воспринимается входящий вызов. Модем перезагружал, в сети он зарегистрирован. Средствами srs1.Enable:=FALSE; srs1.Enable:=TRUE сбросить функции не удается.

kanadchikov
26.03.2013, 12:42
Кто-нибудь под PLCWinNT библиотеку использовал? Три ошибки появляются.

capzap
26.03.2013, 13:04
Кто-нибудь под PLCWinNT библиотеку использовал? Три ошибки появляются.

Там как бы две версии, UNM и SysLibCom, Вы про какую

kanadchikov
26.03.2013, 13:41
При использовании библиотеки UNM вылетают три ошибки 3150. При использовании библиотеки SMS.lib получается тоже проблемы. При запуске PLCWinNT происходит передача первой строки и все замолкает, хотя по снифферу видно, что модем отвечает "Ок".

capzap
26.03.2013, 14:52
SysLibCom используется с диска или специальная для плкНТ

kanadchikov
26.03.2013, 15:13
с диска, но судя по Вашему вопросу это не правильно? Дело в том, что когда пишу простой пример с отправкой "АТ" команды все нормально,модем отзывается и буфере появляются данные "Ок"

capzap
26.03.2013, 17:02
www.owen.ru/forum/showpost.php?p=105318&postcount=12
Не думаю что изменения глобальные, поэтому вполне возможно будет работать

kanadchikov
26.03.2013, 17:49
ничего не изменилось.

kanadchikov
01.04.2013, 10:28
После некоторых переделок кое-что заработало, но отправляет смс только в текстовом режиме в режиме PDU получаю CMS ERROR: 500. В чем может быть проблема?

capzap
01.04.2013, 15:21
После некоторых переделок кое-что заработало, но отправляет смс только в текстовом режиме в режиме PDU получаю CMS ERROR: 500. В чем может быть проблема?

прикольный у Вас сотовый номер, такие разве бывают?

ЗЫ http://ozekisms.com/index.php?owpn=598&info=cms-error-codes/cms-error-500

kanadchikov
01.04.2013, 17:26
Да вроде обычный номер, в упор не вижу о чем вы???

capzap
01.04.2013, 17:28
мне не встречалось чтоб семизначный номер начинался с двух нулей

kanadchikov
03.04.2013, 15:40
Все заработало, проблема в подсчете количества байт в посылке. Очень помогло простенькое приложение, PDU конвертер. Кому нуже, пользуйтесь!

capzap
03.04.2013, 18:51
Все заработало, проблема в подсчете количества байт в посылке. Очень помогло простенькое приложение, PDU конвертер. Кому нуже, пользуйтесь!

непонятно, Вы взломали представленную здесь библиотеку или проблема была в собственном приложении?

kanadchikov
04.04.2013, 08:56
Да нет, не взламывал. Библиотека SMS.lib под SisLibCom не запоролена. Вчера проверял работу библиотеки SMSOwenLib с модемом ОВЕН ПМ01 и Siemens MC35i. C ПМ01 все работает прекрасно, а вот с Siemens отказывается. Все остановливается на этапе конфигурирования, модем не понимает команду AT+ICF. Посмотрел в описании, а там такой команды и нет.

capzap
04.04.2013, 09:42
Да нет, не взламывал. Библиотека SMS.lib под SisLibCom не запоролена. Вчера проверял работу библиотеки SMSOwenLib с модемом ОВЕН ПМ01 и Siemens MC35i. C ПМ01 все работает прекрасно, а вот с Siemens отказывается. Все остановливается на этапе конфигурирования, модем не понимает команду AT+ICF. Посмотрел в описании, а там такой команды и нет.

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

kanadchikov
04.04.2013, 10:29
Это еще не все, модем не понимает AT+CMGL=0,1

Евгений Сергеевич
08.04.2013, 18:06
Правильно ли я понял что библиотека неправильно считала сумму? Скажите тогда какая у вас версия?

kanadchikov
09.04.2013, 17:09
Евгений Сергеевич, все правильно. Я пользовался старой библиотекой, а когда разобрался было уже поздно. Теперь появилась другая проблема, не связанная с библиотекой. Модем периодически подвисает. Вообще не реагирует на АТ команды, но по прошествии 20 мин опять начитает работать. Запросы идут, RXD моргает, а в ответ тишина. После 20 мин. молчания модем отвечает RDY. Прочитав AT Commands Set, я так ничего и не понял.

kanadchikov
15.04.2013, 16:15
Уважаемые!
Подскажите, в каком направлении копать?

Пантелеев Дмитрий
17.04.2013, 10:47
Здравствуйте kanadchikov.
С какой периодичностью он подвисает?

kanadchikov
18.04.2013, 17:57
Примерно, через каждые 5 мин.

capzap
18.04.2013, 18:22
Примерно, через каждые 5 мин.

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

kanadchikov
18.04.2013, 20:21
Овен ПМ01-220.АВ

Евгений Сергеевич
19.04.2013, 13:53
Такое поведение наблюдается на одном модеме или на всех? Можете нам один прислать, будем разбираться?

Serge_P
21.04.2013, 19:34
Использовал пример из первого поста темы. Тестировал на связке ПЛК63-РРРРИИ-L + ПМ01-220.АВ.
Получаю такую картину: ничего не работает по RS232 (нет аппаратного обмена) и все отлично работает по 485 порту.
На RS232 контроллера подключался как модемом, так и гипертерминалом. Тишина. Ни АТ, ни АТЕ0 от контроллера не вижу.
Порт RS232 модема исправен - на него заходил терминалом. RS232 на ПЛК само собой исправен - CoDeSys через него прекрасно работает.
Где-то на форуме читал, что 232-е порты на ПЛК63 не работают на скоростях, отличных от 115200 - перепрограммировал модем под 115200, переконфигурировал порт ПЛК - опять тишина. Даже "прошивочный" COM4 пробовал задействовать - то же самое.

Как дальше бороться с "изделием" (у которого, к слову, "из коробки" неисправны все дискретные входы) - уже ума не приложу.
RS485 не предлагать - на нем у меня поднят Modbus и висит несколько устройств.

Николаев Андрей
21.04.2013, 19:37
Можно Ваши контактные данные в личку, чтобы наши специалисты смогли связаться с Вами?

Starostin
22.04.2013, 09:48
Добрый день, мы недавно приобрели контроллер ПЛК160 и модем ПМ01, пробую использовать данную библиотеку отправки СМС модем не отправляет СМС никак не могу разобрать в чем причина, увеличивал время цикла, скорости менял, все безуспешно. Через гипертерминал модем отправляет СМС. К посту прикрепляю пример. П.С. С приемом смс все отлично работает
8657

capzap
22.04.2013, 10:43
Добрый день, мы недавно приобрели контроллер ПЛК160 и модем ПМ01, пробую использовать данную библиотеку отправки СМС модем не отправляет СМС никак не могу разобрать в чем причина, увеличивал время цикла, скорости менял, все безуспешно. Через гипертерминал модем отправляет СМС. К посту прикрепляю пример. П.С. С приемом смс все отлично работает
8657

Проект не смотрел, вопрос такой через терминал отправляли простым текстом или в закодированном виде. Может режим PDU отключен на модеме?

Starostin
22.04.2013, 11:10
набираю в терминале, at+cmgf? ответ +CMGF:1, выходит текстовый режим стоит
на at+csms? ответ такой 0,1,1,1

Starostin
22.04.2013, 13:34
Все наконец разобрался, причина была в неправильном указании номера sms центра через команду at+csca.

kanadchikov
22.04.2013, 19:24
Такое поведение наблюдается на одном модеме или на всех? Можете нам один прислать, будем разбираться?

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

Anthonymus
26.04.2013, 09:26
Просто теперь, при зависании модема, контроллер перезагружает его по питанию. Пока все работает.
А можно узнать, как Вы определяете подвисание модема. Тоже бьемся с этой проблемой. Спасибо.

kanadchikov
26.04.2013, 11:51
Слежу за переменной FB_SMS_SR.state, если переменная равна нулю более 20 сек., рублю питание модема на 3 сек и опять включаю. Хотя, если не используете входящие смс или звонки, тогда лучше использовать Enable и запускать FB_SMS_SR тогда, когда нужно отправить смс. За две недели ни одного зависания не было.

MikJagger
22.07.2013, 11:39
Добрый день, работаю с двумя библиотеками, Mercury.lib и SmsOwen.lib, в обеих этих библиотеках есть функциональные блоки OpenPort, при добвалении обеих кодесис начинает ругаться, подскажите как быть?!

klg
10.08.2013, 15:58
Добрый день, работаю с двумя библиотеками, Mercury.lib и SmsOwen.lib, в обеих этих библиотеках есть функциональные блоки OpenPort, при добвалении обеих кодесис начинает ругаться, подскажите как быть?!
Мой вопрос аналогичный, только библиотеки разные: oscat_basic_332.lib и SmsOwen.lib. SmsOwen.lib использует функции FUNCTION IS_NUM : BOOL, FUNCTION ISC_NUM : BOOL и FUNCTION to_UML : STRING(4) из библиотеки
oscat_basic_332.lib. Понятно, что необходимо убрать дублированные функции из одной из библиотек. Но как?
Спасибо.

petera
11.08.2013, 00:02
Мой вопрос аналогичный, только библиотеки разные: oscat_basic_332.lib и SmsOwen.lib. SmsOwen.lib использует функции FUNCTION IS_NUM : BOOL, FUNCTION ISC_NUM : BOOL и FUNCTION to_UML : STRING(4) из библиотеки
oscat_basic_332.lib. Понятно, что необходимо убрать дублированные функции из одной из библиотек. Но как?
Спасибо.
Это же вопрос был в другой теме, там же приведено решение.
От этого поста http://www.owen.ru/forum/showthread.php?t=10555&p=115512&viewfull=1#post115512
до этого http://www.owen.ru/forum/showthread.php?t=10555&p=115538&viewfull=1#post115538

klg
05.09.2013, 15:25
Здравствуйте.
Используя библиотеку SmsOvenLib у меня получилось отправлять СМС группе абонентов. Однако получить баланс не удалось.
После запроса баланса FB_SMS_SR (SendSmsText='', SendSmsNum='*101#') на выходах:
ErrCode=9 (не удалось получить баланс),
NewInSmsText='ERROR: no answer'.
ПЛК160(цикл 15мс, прошивка 2.14.0, Target version 2.10). Модем ПМ01-220-АВ подключен к RS-232 ПЛК.
При подключении гипертерминалом к модему (команда ADT*101#;) приходит баланс.
Длительность цикла ПЛК менял в пределах 1-50мс.
Проект прилагаю. Что можете посоветовать?

Трофимов Артем
12.09.2013, 15:45
попробуйте набрать номер #101#

Евгений Сергеевич
12.09.2013, 17:11
Артем ответ приходит. надо смотреть что там внутри библиотеки происходит.
klg, Вы сможете предоставить доступ к вашему компьютеру (через teamviewer или ammy admin) чтобы поквыряться в ПЛК?

capzap
12.09.2013, 18:39
При подключении гипертерминалом к модему (команда ADT*101#;) приходит баланс.


через гипертерминал команда как у Евгения на рисунке проходит?
AT+CUSD=1,"*100#",15
именно такая отправляется в библиотеке, и надо смотреть почему она не поддерживается

klg
13.09.2013, 14:31
через гипертерминал команда как у Евгения на рисунке проходит?
именно такая отправляется в библиотеке, и надо смотреть почему она не поддерживается
В гипертерминале : AT+CUSD=1,"*100#",15 --- ответ оператора +CUSD: 0,"30.62 UAH, dijsnyj do 13.09.2014. Taryf - Super MTS 3D Nul Dnipro. * B
ezlim z Opera Mini 7dniv za 7grn. Aktyvacija *101*140#",15.
При этом на выходе ФБ FB_SMS_SR: ErrCode=9, NewInSmsText='ERROR: no answer'.

capzap
13.09.2013, 15:31
значит баланс приходит, просто время таймаута мало и не успевает прочитать весь приходящий текст, попробуйте тогда команду изменить, вместо *100# послать #100#, там обычно не многословны опсосы :)

klg
13.09.2013, 17:36
значит баланс приходит, просто время таймаута мало и не успевает прочитать весь приходящий текст, попробуйте тогда команду изменить, вместо *100# послать #100#, там обычно не многословны опсосы :)

Такую команду не воспринимает оператор сети:
OK
AT+CUSD=1,"#101#",15
+CUSD: 0,"Nespravny zapyt. Operaciya vidhylena.",15

capzap
13.09.2013, 17:40
а почему 101?

klg
13.09.2013, 20:46
Запрос баланса у оператора МТС (Украина) '*101#'.

capzap
13.09.2013, 20:49
Запрос баланса у оператора МТС (Украина) '*101#'.

а это тогда что было?
В гипертерминале : AT+CUSD=1,"*100#",15 --- ответ оператора +CUSD: 0,"30.62 UAH, dijsnyj do 13.09.2014. Taryf - Super MTS 3D Nul Dnipro. * B
ezlim z Opera Mini 7dniv za 7grn. Aktyvacija *101*140#",15.

klg
13.09.2013, 20:52
Запрос баланса коротким номеров у оператора МТС (Украина) '*101#'.

capzap
13.09.2013, 20:56
это же Ваш текст, набрали команду AT+CUSD=1,"*100#",15 получили ответ баланса, раз баланс пришел, надо то всего лишь сменить один символ AT+CUSD=1,"#100#",15 и ответить получилось или нет, а Вы начали объяснять что запрос должен быть *101#, непонимаю

klg
13.09.2013, 20:57
а это тогда что было?
capzap. Я уже запутался с вариантами. Завтра дома подключу ПЛК и проврю с Вашим вариантом.
Спасибо.

capzap
13.09.2013, 21:03
capzap. Я уже запутался с вариантами. Завтра дома подключу ПЛК и проврю с Вашим вариантом.
Спасибо.

а у Вас на сотовом такой же оператор?

klg
13.09.2013, 21:20
Да, такой же.

klg
13.09.2013, 21:26
Если набрать с мобильного '#100#' ответ сети: Dlya popovnennja rahunku natysnit *100*sekretny kod vauchera#.'.

gonzales
16.09.2013, 12:52
Доброе время суток!
использую ПМ01 в связке с ПЛК63
Вопросов возникает три:
1. При попытке послать строку, конвертированную из REAL (REAL_TO_STRING) в смс приходит "пбопня", то есть набор букв, а никак не значение.
2. Подскажите, как отредактировать уставку с помощью смс. Простое присвоение уставке значение не приводит к ее сохранению по фронту. При попытке присвоить значение через указатель (READ_BY_HASH, SAVE_PARAMETR) получаю ошибку, что значение должно быть типа ARRAY OF Byte. Вопрос в таком случае, как преобразовать DWORD в ARRAy OF BYTE?
3. Решилась ли проблема с подвисаниями модема? За стабильностью работы модема следит библиотека или необходимо писать код, описанный немного выше?

ЗЫ. Прошу сильно не пинать, если вопросы ламерские, я новичек в данном вопросе

Евгений Сергеевич
20.09.2013, 17:18
Доброе время суток!
использую ПМ01 в связке с ПЛК63
Вопросов возникает три:
1. При попытке послать строку, конвертированную из REAL (REAL_TO_STRING) в смс приходит "пбопня", то есть набор букв, а никак не значение.
2. Подскажите, как отредактировать уставку с помощью смс. Простое присвоение уставке значение не приводит к ее сохранению по фронту. При попытке присвоить значение через указатель (READ_BY_HASH, SAVE_PARAMETR) получаю ошибку, что значение должно быть типа ARRAY OF Byte. Вопрос в таком случае, как преобразовать DWORD в ARRAy OF BYTE?
3. Решилась ли проблема с подвисаниями модема? За стабильностью работы модема следит библиотека или необходимо писать код, описанный немного выше?

ЗЫ. Прошу сильно не пинать, если вопросы ламерские, я новичек в данном вопросе

1) как выглядит текст который вы отправляете (т.е. что подается на вход блока)?
2) если на СТ то с помощью IF , если на FB то с помощью move
в качастве условия (пишу без дополнительных проверок) использовать выход блока NewInSms
Необходимо выделить из текста СМС место где лежат данные, и преобразовать в REAL (выделить можно с помощью функций Find и Mid)
3) Дайте пожалуйста ссылку на упомянутый код.

MikJagger
30.09.2013, 13:15
Не подскажите, какие-то настройки GSM модема надо проводить, при использовании данных библиотек?!

Пантелеев Дмитрий
30.09.2013, 16:28
Не подскажите, какие-то настройки GSM модема надо проводить, при использовании данных библиотек?!

В принципе основную настройку модема выполнит библиотека. Можете сами задать скорость порта AT+IPR=9600 и сохранить AT&W.

AndreyCh73
07.10.2013, 20:12
Для использования функциональных блоков библиотеки необходима библиотека UNM.lib - где взять?

capzap
07.10.2013, 20:23
Для использования функциональных блоков библиотеки необходима библиотека UNM.lib - где взять?

можно и здесь http://www.owen.ru/forum/showthread.php?t=13585

AndreyCh73
07.10.2013, 20:47
Спасибо, capzap. Могу еще посоветовать http://www.owen.ru/catalog/67395347, там все библиотеки.

Smith2007
13.10.2013, 13:36
Написал програмку на ST для отправки смс.

Выполняю.
Порт открывается.
FB_SMS_CFG => Done = TRUE, ErrCode = 0

После этого перевожу переменную SendSms := TRUE и жду когда FB_SMS_SR.SmsSend станет TRUE.
Проверяю ErrCode = 10.
СМС естественно не отправляется.
Подскажите, где я допускаю ошибку?

Smith2007
13.10.2013, 21:51
Подключился к модему с компьютера по rs232.
Putty (serial)

По инструкции пытаюсь отправить смс.
AT+CMGF=1
OK

AT+CMGS="79171234567" (номер вставлял свой. СМСки не отправляются)<enter>
>hello! Ctrl-Z<ctrl-z>
и тишина. После нажатия Ctrl-Z <ctrl-z>модем больше не реагирует на команды терминала.</ctrl-z></ctrl-z></enter>

capzap
13.10.2013, 22:03
Подключился к модему с компьютера по rs232.
Putty (serial)

По инструкции пытаюсь отправить смс.
AT+CMGF=1
OK

AT+CMGS="79171234567" (номер вставлял свой. СМСки не отправляются)<enter>
>hello! Ctrl-Z<ctrl-z>
и тишина. После нажатия Ctrl-Z <ctrl-z>модем больше не реагирует на команды терминала.</ctrl-z></ctrl-z></enter>
Уважаемый, здесь тема про готовую библиотеку, которая работает, зачем засорять, тем более что Вы поднимали этот вопрос

gonzales
14.10.2013, 08:58
1) как выглядит текст который вы отправляете (т.е. что подается на вход блока)?
2) если на СТ то с помощью IF , если на FB то с помощью move
в качастве условия (пишу без дополнительных проверок) использовать выход блока NewInSms
Необходимо выделить из текста СМС место где лежат данные, и преобразовать в REAL (выделить можно с помощью функций Find и Mid)
3) Дайте пожалуйста ссылку на упомянутый код.
1. подаю значение температуры с датчика
df(value:=ain1, def_value:=5,_ERR=>err1,out_value=>temp);
d1:=REAL_TO_STRING(ain1);
textSMS:=d1;
ssend:=TRUE;

2. Пишу на ST. Что значит с помощью IF?
Присваиваю значение sp4:=STRING_TO_REAL(RIGHT(new****2));
Но по фронту sp4 остается прежним

3. Разобрался сам, все в порядке, зависаний нет

Smith2007
16.10.2013, 06:55
Библиотека оправляет сообщение длиной максимум 160 символов. Можно ли модифицировать ее, что бы отправляла более длинные смс?
Я так понимаю, что для этого текст разбивается по 160 байт и между смс вставляются какие-то спец символы, анализируя которые в телефоне это выглядит как одна смс.

capzap
16.10.2013, 07:07
Спец.символы не трудно вычислить если отправить вобратку на модем длинное сообщение. Только зачем, нет же разницы библиотека разложит на два сообщения или пользователь создаст два сообщения и отправит последовательно, плк всё равно выполнять код, тодько в случае бибки, теоретически код будет более громоздким и вставлять в смску лишние символы

Smith2007
16.10.2013, 08:00
Разница есть :)
Специалист, знающий все тонкости работы (в т.ч. ПЛК) включит код в библиотеку, или нуб на ощупь кодит.
Я не спорю, что можно разобраться со всем, но если так рассуждать то и ОС не нужны на компах... А что? У процессора же есть система команд ... :)
По сути вопроса.... не все так просто
http://hardisoft.ru/soft/otpravka-sms-soobshhenij-v-formate-pdu-teoriya-s-primerami-na-c-chast-1/
http://hardisoft.ru/soft/otpravka-dlinnyx-sms-soobshhenij-v-formate-pdu/

я пока читал весь мозг сломал :)

зы. Но моя котельная уже исправно шлет смс об "авариях". Осталось симку подходящую подобрать. Жена свою требует вернуть :)

Smith2007
21.10.2013, 20:38
Подскажите как происходит удаление сообщений из модема? После нескольких часов работы модем прекращает принимать и отправлять сообщения. Захожу терминалом, удаляю все сообщения и после этого модем вновь начинает работать.
За основу взят пример

capzap
21.10.2013, 21:12
http://www.owen.ru/forum/showthread.php?t=8520&p=121688&viewfull=1#post121688
ответил по поводу библиотеки описанной в этой теме

capzap
21.10.2013, 21:46
Евгений Сергеевич в описании бы очепятку устранить, код 25 удаление одной смски, а не всех

Smith2007
21.10.2013, 21:59
Повторю в этой теме.
Евгений Сергеевич,
библиотека с большой дырой! Любая смс посланная в модем длиной более 100 символов вешает прием и отправку смс до тех пор пока в ручную не удалить это сообщение. Можно ли наедятся на устранение этого бага в библиотеки в ближайшее время?

capzap
21.10.2013, 22:23
Повторю в этой теме.
Евгений Сергеевич,
библиотека с большой дырой! Любая смс посланная в модем длиной более 100 символов вешает прием и отправку смс до тех пор пока в ручную не удалить это сообщение. Можно ли наедятся на устранение этого бага в библиотеки в ближайшее время?

а не затруднит прочитать всю тему,можно начать с этого поста http://www.owen.ru/forum/showthread.php?t=13029&p=88225&viewfull=1#post88225

Smith2007
21.10.2013, 23:03
Увеличил время минимального цикла до 5 мс.
Виснет если на модем отправить смс более 100 символов.

AT


OK
AT+CREG?


+CREG: 0,1


OK
AT+CPAS


+CPAS: 0


OK
AT+CMGL=0,1


+CMGL: 1,0,"",118
07919701319999F3040B919771042161F30000310112228564 6171C7BAB94EA6D3E9EAF3F85CCF9B41EABCB97E96D7E9E7B3 1C64379BC968B4D94C3683CE67B959AD4693E5F2733D4D2783 CC64331A6D2693CF68F5990E3A9BCD66B4FA4C37D3CF683B1D 742693CFE8B3594E479FE9F43C1A7DA6D3EB6A34088D469BC9 67


OK
AT


OK
AT+CREG?


+CREG: 0,1


OK
AT+CPAS


+CPAS: 0


OK
AT+CMGL=0,1


+CMGL: 1,0,"",118
07919701319999F3040B919771042161F30000310112228564 6171C7BAB94EA6D3E9EAF3F85CCF9B41EABCB97E96D7E9E7B3 1C64379BC968B4D94C3683CE67B959AD4693E5F2733D4D2783 CC64331A6D2693CF68F5990E3A9BCD66B4FA4C37D3CF683B1D 742693CFE8B3594E479FE9F43C1A7DA6D3EB6A34088D469BC9 67


OK
AT


OK
AT+CREG?


+CREG: 0,1


OK
AT+CPAS


+CPAS: 0


OK
AT+CMGL=0,1


+CMGL: 1,0,"",118
07919701319999F3040B919771042161F30000310112228564 6171C7BAB94EA6D3E9EAF3F85CCF9B41EABCB97E96D7E9E7B3 1C64379BC968B4D94C3683CE67B959AD4693E5F2733D4D2783 CC64331A6D2693CF68F5990E3A9BCD66B4FA4C37D3CF683B1D 742693CFE8B3594E479FE9F43C1A7DA6D3EB6A34088D469BC9 67


OK

capzap
21.10.2013, 23:11
Вы вообще что ли посты не читаете, у Вас не проходит команда ни разу AT+CMGD=1,4, значит Вы даже близко не выполнили мои рекомендации. Тема разговора что год назад, что сейчас одна и таже, только там наличие 12 смсок легко проглатывается а у Вас с одной даже не получается

Smith2007
21.10.2013, 23:31
Да, установка CheckNum очищает список СМС.
Но каким способом определить, что модем подвис? Ошибка при этом не возвращается.

capzap
21.10.2013, 23:40
Можносчитать количество определенных состояний внутренней переменной блока, можно следить за частым наступлением таймаута, код ошибки появляется всего лишь на один цикл, он не будет висеть до тех пор пока проектировщик подключит онлайн,такие вещи надо самостоятельно отслеживать вне бтбшиотеки,в своем проекте

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

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

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

kukla100
02.11.2013, 16:54
[QUOTE=Евгений Сергеевич;86678]Предлагаем вашему вниманию библиотеку отправки и получения смс сообщений.
Руководство сейчас дописывается, поэтому пока выкладываю первый пробный вариант.


Где можно посмотреть руководство? или хотя бы описание библиотеки (какой блок для чего нужен и т.д.).

capzap
02.11.2013, 16:58
[QUOTE=Евгений Сергеевич;86678]Предлагаем вашему вниманию библиотеку отправки и получения смс сообщений.
Руководство сейчас дописывается, поэтому пока выкладываю первый пробный вариант.


Где можно посмотреть руководство? или хотя бы описание библиотеки (какой блок для чего нужен и т.д.).
RP_SmsOwenLib_01.zip из первого поста,чем не руководство?

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

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

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

kukla100
02.11.2013, 17:20
извиняюсь!!! внимательней мне надо быть (видать задёргали).

kukla100
03.11.2013, 04:57
Подскажите пожалуста, как отправлять несколько СМС (допустим 5 штук) по одному номеру? Допустим сразу два, а вдругой аварийный случай одно, а может быть даже три. Вобщем диспетчерезацию (PLC-телефон) маленькой такой котельной.

Smith2007
03.11.2013, 08:23
Все сообщения в массив и по очереди отправляйте. Переход к следующему - наличие флага успешной отправки.

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

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

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

Если Вы из России, то с балансом на симке модема можно поступить гораздо проще. Открыть карту Сбербанка и создать автоплатеж на номер симки. При достижении определенного порога ( допустим 30 руб. на счету) произойдет автоматическое пополнение баланса.
Сам по началу шел по пути получения баланса модемом и анализ ответа но в итоге решение оказалось банальным - автоплатеж :)

capzap
03.11.2013, 08:38
Если Вы из России, то с балансом на симке модема можно поступить гораздо проще. Открыть карту Сбербанка и создать автоплатеж на номер симки. При достижении определенного порога ( допустим 30 руб. на счету) произойдет автоматическое пополнение баланса.
Сам по началу шел по пути получения баланса модемом и анализ ответа но в итоге решение оказалось банальным - автоплатеж :)
Мы,как верное замечано,живем в России,тут даже в сбербанке находятся манагеры,которые сливают базу за мат.вознаграждение,поэтому кроме полкзных вещей на номер начнут со временем сыпаться спам-сообщения,а как это сказывается на модеме Вы наверное уже выяснили

Smith2007
03.11.2013, 08:57
С помощью Вашей подсказки со спамом на модем удалось справиться :)

kukla100
03.11.2013, 09:01
Все сообщения в массив и по очереди отправляйте. Переход к следующему - наличие флага успешной отправки.

Что такое массив и с чем его едят. Просто я сам пытаюсь разобраться с кодесисом, а учится начальство пошлёт-нет кто его знает. По этому желательно посмотреть пример и если можно то для плк160м.
Вот к этому проекту надо приделать модем для отправки диспетчеру СМС с описанием аварий (желательно на русском). Не судите строго, это мой дебют в кодесисе. Если что не так подскажите как будет лучше.

gonzales
03.11.2013, 15:10
странно, видимо срабатывает таймаут хотя ответа не должно было быть ни какого, а как себя ведет при отправке *100#
Также.
Уже замучился с этим балансом((((
А можно подробней про таймаут, где он возникает?

Smith2007
03.11.2013, 18:32
анализируйте переменную
IF SMS.ErrCode = 13 THEN (* таймаут *)

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

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

из доки

<tbody>
Имя программного компонента

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 цифр


</tbody>

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

gonzales
05.11.2013, 12:34
анализируйте переменную
IF SMS.ErrCode = 13 THEN (* таймаут *)

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

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

спасибо за наводку, буду использовать.


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

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

Посылаю пустое сообщение на #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мс.

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

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

gonzales
18.11.2013, 17:56
а по какому событию Вы включаете цикл

SMS.CheckNum:=TRUE;
SMS.CheckNumList:= '';

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

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

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

kukla100
28.11.2013, 20:40
Скажите, как с помощью СП270 задавать номер телефона на который будут отправляться смс.

V0vand
03.12.2013, 21:03
Люди добрые помогите.
Неделю назад дали плк-100 220 и gsm терминал Cinterion MC52iT и поставили задачу, чтобы при поступлении сигнала на один из дискретных входов плк отправлялось соответствующее сообщение (точнее 4 входа и 4 события-сообщения). Времени дали до конца этой недели. Я никогда раньше этим не занимался. Нашел на этом форуме похожие проекты, но как привести их к моей задаче не знаю. И еще, я так понял все библиотеки написаны для модемов овен и для моего наверное не подойдут.
В общем люди помогите хоть чем-нибудь, срок сдачи объекта я думаю можно будет перенести если хоть что-нибудь работающее показать.

capzap
03.12.2013, 21:10
Вы же не первый раз это пишите, ощущение что оба устройства так и лежат у Вас на столе не распакованые. Ну собирает овен модемы, но чипсеты то ни чем не отличаются от других производителей и АТ-команды для отправки смсок тем более

V0vand
03.12.2013, 21:14
Пробовал проекты которые выложены на форуме применить, когда доходит до отправки смс ничего не происходит. Через гипертерминал пробовал отправлять-все работает. Поэтому и решил что дело в модеме.

capzap
03.12.2013, 21:24
сообщение можно отправить двумя способами, в программе этой темы формат PDU, Вы через терминал такой же способ использовали

V0vand
03.12.2013, 21:27
сейчас перечитаю тему, я формат PDU пропустил т.к. не понял про что это

Starostin
06.12.2013, 13:22
Столкнулся с такой проблемой, что при отправке смс (ПЛК-160 + плюс модем ПМ 01) на модем Cinterion MC35i смс приходят немного искаженными, изменяется какой нибудь символ в строке, например:
в режиме онлайн из плк уходит строка "1=0,57;2=0,42;105=1;106=0" в модем Cinterion приходит строка следующего содержания "1=0,57;2=0,42;105=18106=0", то есть вместо точки с запятой стоит символ "8 ". Никто не сталкивался с такой проблемой? С чем может такое искажение текста смс связано?

capzap
06.12.2013, 14:07
Столкнулся с такой проблемой, что при отправке смс (ПЛК-160 + плюс модем ПМ 01) на модем Cinterion MC35i смс приходят немного искаженными, изменяется какой нибудь символ в строке, например:
в режиме онлайн из плк уходит строка "1=0,57;2=0,42;105=1;106=0" в модем Cinterion приходит строка следующего содержания "1=0,57;2=0,42;105=18106=0", то есть вместо точки с запятой стоит символ "8 ". Никто не сталкивался с такой проблемой? С чем может такое искажение текста смс связано?
добавте один из символов кирилицы в сообщении и проблема может исчезнуть

Starostin
09.12.2013, 10:53
добавте один из символов кирилицы в сообщении и проблема может исчезнуть
Спасибо за совет!

zlobax
11.12.2013, 12:35
Добрый день, использую функцию FB_SMS_SR для отправки сообщений.
Один раз функция отрабатывает нормально, но затем переходит в состояние Busy. И второй раз SMS уже не отправляются.
Как мне освобождать ее для повторного использования?

Markus
09.01.2014, 23:34
День добрый,
Использую SmsOwenLib для аварийной диспетчеризации (ПЛК150-(RS485)-ПМ01, получатели группа мобильников). Все работает вполне исправно но есть несколько вопросов:

1. Каким образом можно прикрутить 'at+cmgda' к FB_SMS_SR для очистки всех смс. Установка CheckNumList:= '' не влияет никак (CheckNum всегда TRUE)
2. Иногда требуется отослать смс только одному из списка получателей (The_BIG_Boss). На вход SendSmsNum ФБ FB_SMS_SR подается его номер NewInSmsNum от The_BIG_Boss вместо списка номеров. NumCount соответственно =1. После отработки флага Done все переключается на исходные параметры. Есть ли более оптимальный вариант?
3. Иногда ФБ FB_SMS_SL(вне зависимости от SmsTextIn) при подаче TRUE на SendGroup не переводит текст сообщения на SmsTextOut. Т.к. SendGroup работает вроде по фронту то таймеры не при чем. В чем может быть причина?

Время цикла 17мс

Особенно интересует очистка всех смс (п.1.), заранее спасибо

capzap
10.01.2014, 08:23
Очистка всех смсок имеется, тут кроме как выкладывания проекта подсказать не с чего, буквально последние страницы темы были посвящены этой проблеме,насколько я помню проблема решилась правкой проекта, а не библиотеки

Markus
13.01.2014, 08:22
День добрый,
Использую SmsOwenLib для аварийной диспетчеризации (ПЛК150-(RS485)-ПМ01, получатели группа мобильников). Все работает вполне исправно но есть несколько вопросов:

1. Каким образом можно прикрутить 'at+cmgda' к FB_SMS_SR для очистки всех смс. Установка CheckNumList:= '' не влияет никак (CheckNum всегда TRUE)
2. Иногда требуется отослать смс только одному из списка получателей (The_BIG_Boss). На вход SendSmsNum ФБ FB_SMS_SR подается его номер NewInSmsNum от The_BIG_Boss вместо списка номеров. NumCount соответственно =1. После отработки флага Done все переключается на исходные параметры. Есть ли более оптимальный вариант?
3. Иногда ФБ FB_SMS_SL(вне зависимости от SmsTextIn) при подаче TRUE на SendGroup не переводит текст сообщения на SmsTextOut. Т.к. SendGroup работает вроде по фронту то таймеры не при чем. В чем может быть причина?

Время цикла 17мс

Особенно интересует очистка всех смс (п.1.), заранее спасибо
Проект в приложении,

Также появилась новая проблема:
1. После отправки/приемки 6-8 СМС модем зависает и не реагирует ни на что. Помогает только перезагрузка модема

capzap
13.01.2014, 15:37
После отправки/приемки 6-8 СМС модем зависает и не реагирует ни на что. Помогает только перезагрузка модема

сдается мне у Вас переполняется буффер входящих смсок, надо бы удалять в ручную, если все сообщения приходят разом и примерно схожие вопросы уже не раз задавались в этой теме, начните хотя бы с этого места
http://www.owen.ru/forum/showthread.php?t=13029&p=121682&viewfull=1#post121682

Markus
28.01.2014, 14:40
Причина зависания так до конца и не ясна, тех.поддержка проверила проект и сказала что у них все работает исправно. В конечном итоге стабильной работы удалось достичь след. способом:
1. На Enable открытия порта поставил Blink. Раз в час закрывает порт на 8 сек. После включения порта секунд 12-14 работают конфигурация и начинают приниматься/отправляться СМС. SETTM в ПМ01 установил на 0 (без перезагрузки) иначе после "перезагрузки" порта модем не отвечает ни на что.

вапросик
01.02.2014, 14:34
на первой странице этой ветки форума
выложено описание "Библиотека ФБ SmsOwenLib"-
этот документ НЕ открывается!-при попытке открытия выдается сообщение:
"ошибка чтения файла"-прошу выдать ссылку на реально открывающийся
документ *.doc или еще лучше-выложить описание этой билиотеки в *.pdf -формате,

кроме этого,сами библиотеки на упомянутой странице-устаревшие,где последние-свежие
версии?-поиск по сайту выдает только старые версии библиотек,почему-то
на другое оборудование ОВЕН -никаких проблем НЕТ:описания библиотек,
их последние версии-все легко переустанавливается и открывается,

но ПМО1-это ЧЕРВОТОЧИНА какая-то ...
или дивизион работников ОВЕН не в состоянии устранить этот загадочный и НЕисправимый глюк?

capzap
01.02.2014, 14:57
Гы, я кочно понимаю,что человек назовет себя вопросиком,если весь смысл его существования поивлечь к себе внимание. Версия бибки последняя,не верите,потрудитесь объяснить откуда инфа что есть более новая. Всовременном мире есть стодько сайтов конвертирующих в онлайн один документ в другой,что просто бесит когда кто то требует определенный формат

вапросик
01.02.2014, 16:22
привлекаю внимание дальше (в т.ч. сотрудников ОВЕН):

1.пробовал через 2 он-лайн сервиса переконвертировать
описание этой бибки:в обоих случаях на ин.яз-е выдавлось
сообщение:что-то вроде abort...конвертацию этого документа
он-лайн сервисы -НЕ смогли сделать,
2. установил отдельную прогу на своем компе -принтер:
называется он ACPsoft PDF converter *.doc---> *.pdf
результат тот же-прога отказалась переконвертировть этот файл-
из-за его повреждения...
- можно просто выложить описание этой бибки в *.pdf?

2. насчет версий библиотек:
скачал с сайта ОВЕН пример по смс-кам: или с полезностей или из архива(-точно НЕ помню),
в менеджере библиотек там совсем другая версия бибки (кажется для ПЛК63/73).

petera
01.02.2014, 17:10
привлекаю внимание дальше (в т.ч. сотрудников ОВЕН):

1.пробовал через 2 он-лайн сервиса переконвертировать
описание этой бибки:в обоих случаях на ин.яз-е выдавлось
сообщение:что-то вроде abort...конвертацию этого документа
он-лайн сервисы -НЕ смогли сделать,
2. установил отдельную прогу на своем компе -принтер:
называется он ACPsoft PDF converter *.doc---> *.pdf
результат тот же-прога отказалась переконвертировть этот файл-
из-за его повреждения...
- можно просто выложить описание этой бибки в *.pdf?

2. насчет версий библиотек:
скачал с сайта ОВЕН пример по смс-кам: или с полезностей или из архива(-точно НЕ помню),
в менеджере библиотек там совсем другая версия бибки (кажется для ПЛК63/73).
Все нормально открывается. Сейчас скачал и открыл, даже конвертировал в PDF:)

capzap
01.02.2014, 17:10
https://cloudconvert.org/ для конвертации, так как сайт не соотечественники делали, замените в имени файла для конвертации русские буквы на латиницу
архив с руководством нормально открывается, то что какие то программы не могут что то открыть, не означает что файл битый

Для 63/73 нет библиотеки UNM.lib поэтому для неё использовалась обычная бибка syslibcom.lib естественно сама библиотека по работе с смсками переделанная в плане открытия порта и всё такое

kukla100
10.02.2014, 20:54
Подскажите, что за элемент "MOVE"? Ни в одной библиотеке найти не могу.

petera
10.02.2014, 21:26
Это оператор присваивания для CFC и FBD. Эквивалент "=" для ST.
11832

kukla100
11.02.2014, 05:18
Просто ковыряю примеры работы с библиотекой СМС, там в примерах есть такой оператор. И неполучаться его создать с новья, а через копирование получаеться.

petera
11.02.2014, 08:44
Просто ковыряю примеры работы с библиотекой СМС, там в примерах есть такой оператор. И неполучаться его создать с новья, а через копирование получаеться.
А как же Вы остальные блоки в программу вставляете :confused::confused::confused:
Например AND, OR, ADD и т.д
Как тогда ФБ из библиотек у Вас получается вставить??
11835

Ассистент ввода вызывается клавишей F2.:)

kukla100
11.02.2014, 12:34
так вот и я думаю хрень какая то.

capzap
11.02.2014, 12:48
так вот и я думаю хрень какая то.

и что не так то, ПКМ по блоку и выбираем в контекстном меню EN/ENO

kukla100
11.02.2014, 13:04
Спасибо. А то я уже напугался.

petera
11.02.2014, 13:05
так вот и я думаю хрень какая то.
Значит вот о чем был вопрос, а то я был очень удивлен:).
Обладать дополнительным входом разрешения "EN" не является привилегией оператора MOVE.
Таким дополнительным входом в CFC можно снабдить любой оператор или ФБ из любой библиотеки.

kukla100
12.02.2014, 11:37
Пробую сейчас из ответной СМСки с балансом выудить только цифры и отправить их в панель. Получаеться серединка на половинку. Может кто такое уже делал?

capzap
12.02.2014, 11:39
Пробую сейчас из ответной СМСки с балансом выудить только цифры и отправить их в панель. Получаеться серединка на половинку. Может кто такое уже делал?

вроде в бибке куда то выкладывается баланс типом Real или я путаю

kukla100
12.02.2014, 12:21
В описалове пример вроде есть, только он какойто....я его не пойму ни как, чё он хочет?

Shushbuch
25.02.2014, 15:14
Бодрого всем дня. Подскажите, пожалуйста, как гарантированно можно отследить зависание модема с помощью блока FB_SMS_SR? Модема под рукой для экспериментов, к сожалению, нет.

capzap
25.02.2014, 17:19
Бодрого всем дня. Подскажите, пожалуйста, как гарантированно можно отследить зависание модема с помощью блока FB_SMS_SR? Модема под рукой для экспериментов, к сожалению, нет.
Есть разного рода зависания,если неверно выставлен миним.цикл то никак, если с самим модемом что то не так,то все ответы га запросы должны заканчиваться наличием ошибки по таймауту

КИП
03.04.2014, 12:16
У меня подключен модем ПМ01-220.АВ к ПЛК-10RL через RS-232. смс через библиотеку принимаются нормально, а отправить смс не могу. Все рекомендации что в данной теме перепробовал. Скажите честно библиотека рабочая или нет? И если рабочая подскажите что делать лучше пошагово. СМС через HyperTerminal отправляються нормально. И еще у меня плк производства 2007 года но прошивка самая свежая . Модем производства 2013 года.

capzap
03.04.2014, 12:37
Библиотека рабочая, лучше Вы проект выложите,чтоб можно было подсказать что не так, и кстати по rs485 не пробовали соединить, может дело в кабеле

КИП
03.04.2014, 17:07
Так смс принимаются, значит скорее всего кабель рабочий, но по rs485 попробую.

capzap
03.04.2014, 19:40
Так смс принимаются, значит скорее всего кабель рабочий, но по rs485 попробую.

Подозреваю, что через гипертерминал Вы отправляете при cmgf=1, а Вам надо бы отправить при равной нулю в формате PDU, тут либо в настройках проекта что то напутано, либо по какой то причине оператор не принимает PDU. Можете закодировать тестовое сообщение на сайте по ссылке от Евгения http://www.owen.ru/forum/showthread.php?t=13029&p=94533&viewfull=1#post94533 и отправить через терминал, если отправиться значит дело в библиотеке

КИП
04.04.2014, 12:44
Спасибо за отклик. У меня стали отправляться смс проблема была в неправильном формате номера добавил 7 без плюса и все заработало. В модеме забит команда cmgf=1 но смс отправляются нормально. Подскажите чем отличается текстовый формат от режима PDU?

capzap
04.04.2014, 14:20
Спасибо за отклик. У меня стали отправляться **** проблема была в неправильном формате номера добавил 7 без плюса и все заработало. В модеме забит команда cmgf=1 но смс отправляются нормально. Подскажите чем отличается текстовый формат от режима PDU?


http://www.owen.ru/forum/showthread.php?t=13029&p=94509&viewfull=1#post94509

КИП
04.04.2014, 17:29
Спасибо.:D

kukla100
06.04.2014, 19:32
Подскажите кто нибудь, как из панели задавать несколько телефонных номеров для модема, с учётом, что количество номеров телефонов может меняться. Может както так ? Проект прилагаю.

petera
07.04.2014, 03:28
Подскажите кто нибудь, как из панели задавать несколько телефонных номеров для модема, с учётом, что количество номеров телефонов может меняться. Может както так ? Проект прилагаю.
Посмотрите здесь http://www.owen.ru/forum/showthread.php?t=8604&p=135067&viewfull=1#post135067, это продолжение для этого варианта http://www.owen.ru/forum/showthread.php?t=8604&p=135055&viewfull=1#post135055

kukla100
26.04.2014, 20:08
Хорошо бы описание библиотеки по подробнее сделать. И ещё: А можете сделать в ней такие же блоки, как в библиотеке к КДС3?

Евгений Сергеевич
06.05.2014, 12:54
Какие моменты руководства на ваш взгляд надо расписать более подробно?
Действия не очень работают во второй версии КДС (на языке ФБ, в СТ все нормально), поэтому почти все реализовано через входа а не через отдельные блоки.

kukla100
11.05.2014, 13:40
Какие моменты руководства на ваш взгляд надо расписать более подробно?
Действия не очень работают во второй версии КДС (на языке ФБ, в СТ все нормально), поэтому почти все реализовано через входа а не через отдельные блоки.

Ну к примеру, очистка буфера входящих СМС, если бы люди не обсуждали эту тему я так бы и не узнал как это делать. И т.д. По подробнее про входы и выходы каждого блока и вроде всё.

Olex007
12.05.2014, 12:25
Подскажите кто нибудь, как из панели задавать несколько телефонных номеров для модема, с учётом, что количество номеров телефонов может меняться. Может както так ? Проект прилагаю.
Примерно так (как вариант):
1. Создайте в Modbus устройстве нужное количество DWORD (4байта) регистров и назовите их, например, PhoneNum_1 ... PhoneNum_N
2. Создайте необходимые переменные, например
VAR_GLOBAL
PhoneList: ARRAY [0..N] OF STRING(12); (*Список телефонов для рассылки смс*)
PhoneListCount: BYTE; (* Количество реальных телефонов в списке *)
END_VAR
3. Создать PRG с примерно следующим содержимым
PROGRAM Dword2phone
VAR
i:BYTE;
END_VAR
i:=0;
IF PhoneNum_1 > 320000000 AND PhoneNum_1 < 999999999 THEN
PhoneList:=CONCAT('380',DWORD_TO_STRING(PhoneNum_1 ));
i:=i+1;
END_IF;
.....
IF PhoneNum_N > 320000000 AND PhoneNum_N < 999999999 THEN
PhoneList[i]:=CONCAT('380',DWORD_TO_STRING(PhoneNum_N));
i:=i+1;
END_IF;
PhoneListCount:=i;
4.При вызове FB массовой рассылки я предварительно по фронту вызываю эту PRGшку и
[I]FB_SMS_SL.NumCount:=PhoneListCount;(*тут имя экземпляра поставить*)
p.s. 32... и 99... - номера всех мобильных операторов находятся в этом диапазоне (не только мобильные но и коды городов)
p.p.s. Про панель не написал, но и так ясно что в эти регистры с панели надо писать номера телефонов типа 661234567 (66 - Jeans МТС Украина)

kukla100
12.05.2014, 14:20
А можно с наглеть ? сделайте, пожалуйста, что написали в фаил проекта. Будет для всех как живой пример :rolleyes:

Olex007
12.05.2014, 22:38
Да проекта, как такового, и нет - прорабатываю на макете отдельные кусочки кода. Панель даже не подключал пока - просто создал три DWORD в Modbus слейве и прямо из Codesys в онлайне вбиваю туда один, два или три номера. Всё что надо - описал выше. Ну могу еще картинку основной программы вставить. Запуск отправки SMSок от кнопки Start-Stop, заблокированной модулем Button и названной StartSMS.
1287812880

Gribovms
14.05.2014, 17:14
ПЛК 100 + модем MC35i. Модем подключен к RS-232. Остановился на втором примере, смс не получается принять. Терминалом в режиме PDU смс и отправляются и получаются нормально. Но команду AT+CMGL=0,1 и через терминал модем не понимает.

AT+CMGL=0,1
ERROR
AT+CMGL=0
OK
AT+CMGL=4
+CMGL: 1,1,,20
07919730071111F1040B919736796892F40000415041013481 610131

12921

petera
14.05.2014, 17:50
ПЛК 100 + модем MC35i. Модем подключен к RS-232. Остановился на втором примере, смс не получается принять. Терминалом в режиме PDU смс и отправляются и получаются нормально. Но команду AT+CMGL=0,1 и через терминал модем не понимает.

AT+CMGL=0,1
ERROR
AT+CMGL=0
OK
AT+CMGL=4
+CMGL: 1,1,,20
07919730071111F1040B919736796892F40000415041013481 610131

12921
В команде "AT+CMGL=stat<stat><stat>" должен быть только один параметр 0 или 1 или 2 или 3 или 4, а Вы пытаетесь указать два.
stat (Mesage status) из таблицы
12922
См раздел 12.5 из руководства</stat></stat>

Gribovms
14.05.2014, 17:52
Это не я указываю, а бибка. Я то терминалом как раз читаю по одному параметру.

Евгений Сергеевич
14.05.2014, 20:49
используемый в модеме ПМ-01 модуль SIM900 работает с этой командой несколько по другому. - указывается два параметра. Поэтому библиотека так себя и ведет.

capzap
14.05.2014, 22:02
http://www.owen.ru/forum/showthread.php?t=15907&p=121567&viewfull=1#post121567 тут представлен листинг, модемы под который написана библиотека на такую команду отвечают.
Если все же требуется написать программу под свой модем. можно частично использовать библиотеку, используя только открытие порта и фб reqat, правда думать придется

Gribovms
15.05.2014, 07:44
Ясно, спасибо! Надо бы явно указать в шапке темы что библиотеки только для модемов ПМ01 или на базе SIM900.

capzap
15.05.2014, 09:02
А у сименса Вашего какой чип стоит? Так то две цифры должны понимать все модемы, второе значение используется для отметки считать смску прлчитанной или нет


ЗЫ и повторю с помощью reqat можно послать любую команду на любой модем работающий с АТ-командами

Gribovms
15.05.2014, 09:50
Скорее всего - MC35i это и есть модуль (легендарный ))). Модем, если честно вытащен из загашника, древний он как мамонт. Только для пробы. Про REQAT - спасибо.
ЗЫ. с Telit GL868-Dual хочу еще попробовать, как будет на руках.

Olex007
15.05.2014, 10:06
Не в древности, думаю, дело. Пытался задействовать Cinterion MC52i. Тоже не хочет с бибкой работать. И GPRS не поднимает через модуль модем в конфигурации. Таки немного отличается система команд. Бибка закрытая, проверить не могу.

Gribovms
15.05.2014, 10:16
Olex007, не в древности, да. А раз команды отличаются и бибка закрыта, то я и предложил:

Надо бы явно указать в шапке темы что библиотеки только для модемов ПМ01 или на базе SIM900.

capzap
15.05.2014, 12:46
Скорее всего - MC35i это и есть модуль (легендарный ))). Модем, если честно вытащен из загашника, древний он как мамонт. Только для пробы. Про REQAT - спасибо.
ЗЫ. с Telit GL868-Dual хочу еще попробовать, как будет на руках.

не гадать нужно, а набрать через терминал команду AT+GSV , она и выдаст какой чипсет используется

Gribovms
15.05.2014, 13:11
Нет такой команды у меня (

AT+GSV
ERROR

ATI
SIEMENS
MC35i
REVISION 02.00

OK

capzap
15.05.2014, 13:34
Не вопрос, тогда просто идентификатор модуля командой AT+GMM , в 1.02 ревизии онп точно есть, во второй не знаю

Gribovms
15.05.2014, 13:48
AT+GMM
MC35i

OK

Абросимов Олег
17.06.2014, 19:13
Добрый день. Совсем недавно начал знакомиться с контроллерами ОВЕН. Разобрался немного с codesis (спасибо наличию документации на русском языке, примерам программ и форуму - здорово облегчают сей нелегкий труд). Написал программу для ПЛК73. Планирую оснащать ими небольшие водонасосные станции, разбросанные у нас по всему городу, так функционала для них самое то. Сейчас, соответственно, изучаю информацию по СМС и GPRS/CSD. На данный момент мне непонятно, можно ли на ПЛК73 реализовать параллельное функционирование плк с модемом и в режиме передачи данных и с СМС сообщениями или это доступно только с UNM библиотекой, недоступной для данного плк?

В принципе на 95% уверен, что можно (только через CSD, gprs вроде как не поддерживается на плк73). Осталось получить плк и потестить.

Абросимов Олег
18.06.2014, 17:35
Странно... Насколько все подробно написано по плк100+, настолько практически ничего на плк63/73, которого для определенных задач более чем достаточно. Похоже и csd для 63/73 проблема, хотя смски пожалуйста.

Абросимов Олег
19.06.2014, 10:32
Пытаюсь применить 4-й пример к плк73. Прописал LineStatus AT%QB6.0: BYTE; (выход RS-1[FIX]) при компиляции выскакивает ошибка: Неверный адрес: '%QB6.0'. Что я делаю не так?

Гарчев Евгений
19.06.2014, 12:55
В ПЛК73 никаких LineStatus нет, т.к. это глобальная переменная из конфигурации ПЛК1хх. CSD-соединение можно поднять и самостоятельно через библиотеку SysLibCom (в любом случае она понадобится и для дальнейшей работы с портом при передаче данных). В двух словах - послали АТ-команду набора номера (ATD<номер телефона>), слушаем ответ, как только в ответ получили "Connect 9600" начинаем обмен.
А про GPRS Вы все правильно поняли, его поднять в ПЛК73 нельзя.

Абросимов Олег
20.06.2014, 10:40
В ПЛК73 никаких LineStatus нет, т.к. это глобальная переменная из конфигурации ПЛК1хх. CSD-соединение можно поднять и самостоятельно через библиотеку SysLibCom (в любом случае она понадобится и для дальнейшей работы с портом при передаче данных).

Это я уже понял. На ПЛК73 всё только через библиотеки реализовывать нужно. Просто мало свободного времени и приходится рывкми подходить к решению вопросов. Сейчас пытаюсь понять, каким образом через syslibcom можно реализовать режимы master/slave, для реализации и смс и опроса по csd.

Абросимов Олег
20.06.2014, 11:06
Как я понимаю, это возможно 2-мя модемами только организовать...

Klim
25.06.2014, 16:57
13376

Бибка SmsOwenLib Выдёт 5 ошибок в чём причина?

Абросимов Олег
02.07.2014, 12:56
При попытке отправить сообщение на 2 номера, оно отправляется 2 раза на один номер. На FB_SMS_SR.SendSmsNum приходит listNum[sl.NumCur], на FB_SMS_SL.NumCount приходит - 2.

listNum :ARRAY [0..2] OF STRING(11):=2('7911*******'), '7921*******';
Что здесь может быть неправильного?

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


Поставил CheckNum:=TRUE и CheckNumList :='', сообщения стали удаляться, но при этом теперь перестала работать отправка смс и опрос не происходит даже один раз. То есть если я правильно понимаю, после получения сообщения и отправки на него ответа, нужно подать на вход CheckNumList на время необходимое для удаления сообщения и сбросить?

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


Поставил CheckNum:=TRUE и CheckNumList :='', сообщения стали удаляться, но при этом теперь перестала работать отправка смс и опрос не происходит даже один раз. То есть если я правильно понимаю, после получения сообщения и отправки на него ответа, нужно подать на вход CheckNumList на время необходимое для удаления сообщения и сбросить?

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

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

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

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

ЗЫ чтоб танцев с бубном было меньше, читайте доки внимательнее, не бойтесь перечитывать

Абросимов Олег
03.07.2014, 14:15
так Вы внимательно присмотритесь к объявленному массиву, у Вас первые два номера это один и тот же номер и только третий отличается от первых двух

ЗЫ чтоб танцев с бубном было меньше, читайте доки внимательнее, не бойтесь перечитывать

Спасибо, помогло.
Честно говоря, была у меня с утра мысль проверить вариант с

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'? но бывает и другая аббракадабра. В общем бред какой-то, не могу пока понять почему такая чушь получается

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

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

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

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


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



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

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

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

Предположим Ваши действия всёже не правильные, ответы на вопросы могут быть только после анализа ошибок, ОШИБКА 21 есть?

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

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

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

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

Пример №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?

Абросимов Олег
17.07.2014, 01:10
Всё оказалось интереснее. Сброс CheckNum с TRUE в FALSE дает срабатывание NewInSms что и дает в свою очередь зацикливание алгоритма. Теперь думаю как с этим справиться... вроде вначале такая лёгкая задачка казалась...:)

Абросимов Олег
18.07.2014, 00:23
В общем, все попытки результата не дали, основная загвоздка остается в билиберде после прочтения смс наподобия '$04.$10C`$0F$02@$08x!$10',которая стопорит всё остальное

Абросимов Олег
18.07.2014, 23:29
Что-то и не получается её никак обойти. Кто подскажет, что означает
после прочтения смс наподобия '$04.$10C`$0F$02@$08x!$10' и как можно от этого избавиться?

capzap
19.07.2014, 08:58
Символ $ обозначает шестнадцатеричный значение кодировки символов из двух цифр

Абросимов Олег
19.07.2014, 14:52
Символ $ обозначает шестнадцатеричный значение кодировки символов из двух цифр

Так а что это означает то, почему это значение остается и не дает дальше работать блоку до перезагрузки модема?

capzap
19.07.2014, 15:45
Ничего это не означает, проблема у Вас в чем то другом, в теме мне кажется достаточно примеров под любые ситуации

Абросимов Олег
20.07.2014, 13:43
Ничего это не означает, проблема у Вас в чем то другом, в теме мне кажется достаточно примеров под любые ситуации

Пример достаточно, не спорю, они очень здорово помогают. Но по сути, нормальную работу приема сообщений на плк73 организовать не получилось. По факту плк73 отлично работает на отправку смс и возможно передачу по csd каналу (ещё не проверил). Может быть причина в модеме, который 2011 года выпуска, но сомнительно. Попробую побыстрее достать и проверить. Но первый опыт с плк от овен пока не внушает оптимизма, хотя на 1хх может и нет таких проблем, но все равно.

capzap
20.07.2014, 14:59
АТ-команды известны, попробуйте через терминал ручками набрать всё что неполучается, если с ПК всё получится принять/послать,просмотреть и удалить,значит дело в библиотеке или всеже в Вашем проекте

Абросимов Олег
21.07.2014, 22:32
Да, ещё бы понимать, что конкретно проверить. С учетом того что библиотека то в принципе отрабатывает, застревает только после получения и прочтения сообщения. Как это проверить с ПК не совсем понимаю. Так что протестю с модемом на новом чипсете + телеофис у меня ещё валяется, с ним попробую.

capzap
22.07.2014, 08:03
Сколько смсок лежит на симке?

Абросимов Олег
22.07.2014, 09:32
Смотря сколько отправляю, если отправить одну, перезагрузить, ничего не остается. Если не перезагружать, то накапливаются, по мере отправления. Но перезагрузать, это не вариант.

capzap
22.07.2014, 09:51
Если читали всю тему, то должны были найти несколько раз поднимавшийся вопрос, что при скоплении смсок программа может и зависнуть. Я разве где то сказал что надо перегружать, можно просто удалить все за один раз

Абросимов Олег
22.07.2014, 12:04
Я понимаю, что уже похож на идиота с этими смс. Но вроде бы я четко озвучивал проблему. Суть в следующем:
Сим карта чистая, специально вставляю в телефон и проверяю. Отправляю на плк сообщение, например "Запрос". Плк обрабатывает сообщение, и отправляет мне ответное сообщение с текущими параметрами. На выходе NewInSmsText появляется '$04.$10C`$0F$02@$08x!$10'. На этом всё останавливается. Установка пустого CheckNumList и поднятие флага CheckNum ничего не дает. Установка симки в телефон показывает наличие одного моего сообщения "Запрос", если симку не трогать, а отправить следующее сообщение "Запрос" или "День=5.2" или, что там ещё у меня предусмотрено, сообщения просто скапливаются на сим-карте, но контроллером не обрабатываются. Если после первого запроса, перезагрузить плк с модемом, то следующее сообщение обрабатывается, так после перезагрузки, переставлял симку в телефон, там пусто. Вот это мне и не понятно.

Абросимов Олег
24.07.2014, 16:18
Проблема решилась установкой модема 11.2013 г.в. Столько времени убил, а оказалось всё элементарно, косяк железа.

Абросимов Олег
29.07.2014, 12:34
Я правильно понимаю, что для для опроса opc-сервером плк73 по csd-каналу можно ориентироваться на "пример реализации обмена SysLibCom"?

Абросимов Олег
30.07.2014, 15:29
Совсем не могу сообразить как лектусом получить данные после установки соединения. Никто не реализовывал? Хотя бы ткнуть в какую сторону двигаться

capzap
05.08.2014, 09:45
Примерно так должна выглядеть отправка смсок на ST, проверить не могу в пути и железо с собой не брал

WARchun
05.08.2014, 11:49
Понятно) спасибо,щас попробуем)

Gjma
12.08.2014, 10:10
Здравствуйте, тестирую библиотеку (тут был пример на ST, его и пользую).
ssend равно TRUE, а смс не отправляется.
Модем МС35i, с ним все в порядке, в плане в гипертерминале смс отправляется.
Команды для отправки набираю в гипе такие:
AT+CMGS="+7**********" -затем ENTER
>test -затем CTRL+Z и ENTER. ---если CTRL+Z и ENTER заменить просто на ENTER, выводит ошибку,
может в этом дело?
Просвятите темного человека, в чем может быть проблема

AEV12345
12.09.2014, 09:19
Здравствуйте. А есть ли рабочие примеры по отправке нескольких сообщений (допустим нештатные ситуации) по очереди. На форуме нашел лишь упоминание о помещении их в массивы и выдергивании их по флагу «успешно отправленного сообщения» , а как это организовать не знаю, так как ранее избегал их.

AEV12345
17.09.2014, 08:38
И тишина. Печаль

IVM
21.09.2014, 11:36
Да, и вот так всегда когда чегото не понимаешь все молчат. Я тоже интересовался этим вопросом и ни кто ни чего хорошего не ответил.
Если ты такой же автоматизатор, как и знаток грамматики русского языка, то мне страшно.

IVM
21.09.2014, 14:33
Да, и когда мы с вами перешли на ты?
Грамотей ты наш, обращение на Вы надо заслужить.

Smith2007
21.09.2014, 19:55
Здравствуйте. А есть ли рабочие примеры по отправке нескольких сообщений (допустим нештатные ситуации) по очереди. На форуме нашел лишь упоминание о помещении их в массивы и выдергивании их по флагу «успешно отправленного сообщения» , а как это организовать не знаю, так как ранее избегал их.

Я аналогичную задачу решил следующим образом.
1. Аварийные события заносятся в глобальный массив. Каждому событию присвоен свой индекс. В массиве, кроме текста события есть служебные поля в которых я сохраняю дополнительные атрибуты события (например есть байт, где каждый бит означает некоторые требуемые действия: событие требуется записать в лог-файл, событие требуется передать по СМС, периодичность повторения события если оно по прежнему актуально и др.)
2. Отдельный процесс (PRG), который за каждый вызов обрабатывает одно событие и увеличивает индекс +1

Все вроде предельно просто. Конечно не так красиво как пишут гуру программирования, но в отладке очень легко да и работает просто.

Эдуард_Н
23.09.2014, 04:55
Я аналогичную задачу решил следующим образом.
1. Аварийные события заносятся в глобальный массив. Каждому событию присвоен свой индекс. В массиве, кроме текста события есть служебные поля в которых я сохраняю дополнительные атрибуты события (например есть байт, где каждый бит означает некоторые требуемые действия: событие требуется записать в лог-файл, событие требуется передать по СМС, периодичность повторения события если оно по прежнему актуально и др.)
2. Отдельный процесс (PRG), который за каждый вызов обрабатывает одно событие и увеличивает индекс +1

Все вроде предельно просто. Конечно не так красиво как пишут гуру программирования, но в отладке очень легко да и работает просто.

Можно попросить тоже самое, но с примерами или со скриншотами.

Smith2007
23.09.2014, 06:10
Можно попросить тоже самое, но с примерами или со скриншотами.

Пожалуйста. Но выдернуть из проекта только эту часть сложно ... Только целиком.

Эдуард_Н
23.09.2014, 16:42
Спасибо. Будем изучать. И ещё вопрос, чем этот фаил можно открыть?

Smith2007
23.09.2014, 16:52
Codesys 2.3

Эдуард_Н
23.09.2014, 16:55
тогда там не хватает блока. в архиве только один с расширением "PRG", а как его отдельно открывать я не знаю.

Smith2007
23.09.2014, 19:54
тогда там не хватает блока. в архиве только один с расширением "PRG", а как его отдельно открывать я не знаю.

На сколько я понимаю, то кроме prg и библиотек больше ничего не нужно. Библиотеки на этом сайте можете скачать, а prg открывается Codesys.
Или я чего упустил?

petera
23.09.2014, 20:02
На сколько я понимаю, то кроме prg и библиотек больше ничего не нужно. Библиотеки на этом сайте можете скачать, а prg открывается Codesys.
Или я чего упустил?
В Codesys можно открыть только файлы проектов(*.pro), библиотек(*.lib) или архивов(*.dat). А у Вас файл с расширением "PRG"

Smith2007
23.09.2014, 20:38
В Codesys можно открыть только файлы проектов(*.pro), библиотек(*.lib) или архивов(*.dat). А у Вас файл с расширением "PRG"
Вот ведь только пол года назад програмку писал и уже сам забыл, что *.pro , а не *.prg.
Исправился :)

AEV12345
26.09.2014, 13:21
Огромнейшее спасибо за пример, очень пригодился

AEV12345
26.09.2014, 13:24
Есть еще один вопросик.
Кто нибудь знает как отправлять АТ-команды с помощью ФБ REQAT?

beer
09.10.2014, 21:21
Здравствуйте!
У меня на работает биб-ка с модемом siemens mc-35i.
Перечитал все страницы топика. Насколько я понял не только у меня такая проблема.
Модем не понимает AT+ICF и AT+CMGL=0,1.

Планируется ли исправлять биб-ку или надо покупать другой модем?

capzap
09.10.2014, 21:41
как отправлять АТ-команды с помощью ФБ REQAT?

Handle - так называемый дескриптор порта, request - указатель на строку, под строкой подразумевается АТ-ишная команда, по окончании команды надо ставить только невидимый символ конца строки - $R, выход принимает значение TRUE когда блок закончил работу и можно проанализировать ответ в respons

capzap
09.10.2014, 21:42
Здравствуйте!
У меня на работает биб-ка с модемом siemens mc-35i.
Перечитал все страницы топика. Насколько я понял не только у меня такая проблема.
Модем не понимает AT+ICF и AT+CMGL=0,1.

Планируется ли исправлять биб-ку или надо покупать другой модем?ктож будет переделывать библиотеку под стороннее оборудование

beer
09.10.2014, 22:54
Поправлюсь. Не исправлять, а дорабатывать.

capzap
09.10.2014, 23:38
Но от этого семен всёравно останется сторонним оборудованием, если он так ограничен в наборе команд,может не стоит-его использовать, как никак санкции :)

AEV12345
10.10.2014, 12:24
Handle - так называемый дескриптор порта, request - указатель на строку, под строкой подразумевается АТ-ишная команда, по окончании команды надо ставить только невидимый символ конца строки - $R, выход принимает значение TRUE когда блок закончил работу и можно проанализировать ответ в respons

Спасибо за ответ. Пример бы любой, для наглядности было бы супер

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

КИП
15.10.2014, 03:00
Использую ПЛК100-24-Р-L для управления насосной станции посредством смс. Система смонтирован в апреле месяце. Проблема в том, что примерно через 30-40 дней перестают приниматься смс помогает только перезагрузка плк, на сим карте не прочитаных смс нет. Перезагрузка модема не помогает. Такое подозрение что в плк переполняется какой то буфер и перестают приниматься смс. Плк подключен через ИБП. Подскажите что мне делать?

capzap
15.10.2014, 07:03
Использую ПЛК100-24-Р-L для управления насосной станции посредством смс. Система смонтирован в апреле месяце. Проблема в том, что примерно через 30-40 дней перестают приниматься смс помогает только перезагрузка плк, на сим карте не прочитаных смс нет. Перезагрузка модема не помогает. Такое подозрение что в плк переполняется какой то буфер и перестают приниматься смс. Плк подключен через ИБП. Подскажите что мне делать?

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

КИП
15.10.2014, 19:52
Когда будет происходить перезагрузка, будет отключаться насос, что есть очень плохо. Больше есть идеи или нет?

Эдуард_Н
15.10.2014, 19:53
Вот, что у меня получилось для отправки аварийных СМС.

capzap
15.10.2014, 19:58
Когда будет происходить перезагрузка, будет отключаться насос, что есть очень плохо. Больше есть идеи или нет?

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

КИП
15.10.2014, 20:04
Перезагрузка на самый крайний случай. А еще нет никаких идей?

capzap
15.10.2014, 20:08
Вот, что у меня получилось для отправки аварийных СМС.
да пока у Вас ничего не получилось, PLC_PRG пуст

ЗЫ :) и незачем хвастаться что у Вас громадный монитор, многие со старых ноутов проекты открывают

capzap
15.10.2014, 20:09
Перезагрузка на самый крайний случай. А еще нет никаких идей?

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

КИП
15.10.2014, 20:10
Подскажите как устроить бесконечный цикл. При перезагрузке плк принудительно сбрасываются retain переменные а это большая проблема.

capzap
15.10.2014, 20:15
Подскажите как устроить бесконечный цикл. При перезагрузке плк принудительно сбрасываются retain переменные а это большая проблема.

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

http://www.owen.ru/forum/showthread.php?t=17553&p=139626&viewfull=1#post139626

КИП
15.10.2014, 20:16
Закрыть порт и открыть по новой можно попробовать но я думаю это не поможет, так как при возникновении проблемы приема смс в то же время смс отправляются нормально.

КИП
15.10.2014, 20:19
Как я понимаю retain переменные в плк 100 сохраняются при отключении питания, а при принудительной перезагрузке нет.

capzap
15.10.2014, 20:23
Закрыть порт и открыть по новой можно попробовать но я думаю это не поможет, так как при возникновении проблемы приема смс в то же время смс отправляются нормально.

ну есть еще команда
AT+CFUN=1 – перезагрузка модема, очень полезная команда не требует "передергивать" модем. После перезагрузки модем перерегистрируется в сети оператора.нескольими постами ранее выкладывал пример как можно посылать в модем произвольные команды

КИП
15.10.2014, 20:28
AT+CFUN=1 – перезагрузка модема не поможет, я отключаю питание модема и снова включаю, но это не помогает. Помогает только перезагрузка плк.

capzap
15.10.2014, 20:33
ну значит надо работать с портом и не помню как там называется основное ПОУ, но создавать его динамически и во время профилактики удалять и создавать по новой

Andrei Z
15.10.2014, 20:37
неужели такая простая ситуация приводит к остановке приёма смс? (((( не буду ставить модемы

КИП
15.10.2014, 20:38
Профилактику у нас проводят раз в год. А насосная находится на значительном удалении. Может моя проблема кроется в ошибке библиотеке смс?

КИП
15.10.2014, 20:41
Я думаю, что проблема в бесперебойной работе плк. Если были отключения время от времени то этой проблемы не было.

capzap
15.10.2014, 20:43
Профилактику у нас проводят раз в год. А насосная находится на значительном удалении. Может моя проблема кроется в ошибке библиотеке смс?

под профилактикой я имел ввиду пресловутые 29 дней

Ошибка библиотеки проявляется у всех подряд? У Вас есть такая статистика?

КИП
15.10.2014, 20:46
У меня установлен только один комплект, и пока я не добьюсь стабильной работы, не буду ставить на другие насосные.

КИП
15.10.2014, 20:48
ну значит надо работать с портом и не помню как там называется основное ПОУ, но создавать его динамически и во время профилактики удалять и создавать по новой


Подробней можете объяснить ?

capzap
15.10.2014, 20:52
У меня установлен только один комплект, и пока я не добьюсь стабильной работы, не буду ставить на другие насосные.

и как это мешает, пишите код

IF tik.Q THEN
(* функция закрытия и открытия порта*)
(* используя syslibmem удаляем ФБ и создаем новый экземпляр *)
END_IF;
tik(IN:=NOT tik.Q, PT:=T#29d);

вот и будет Вам перегрузка модема со стороны плк, без обнуления ретайн, хотя не представляю как они у Вас удаляются

capzap
15.10.2014, 20:54
Подробней можете объяснить ?

http://www.owen.ru/forum/showthread.php?t=13446&p=91428&viewfull=1#post91428 как то так

КИП
15.10.2014, 21:00
при не отключенном на модеме эхо ответ, может происходить зависание или нет?

capzap
15.10.2014, 21:09
а откуда у Вас там не отключенное эхо, Вы разве не пользуетесь ПОУ _CFG ?
На форумах обычно пишут подавать модему команды АТ и 10, может и этого будет достаточно

Эдуард_Н
16.10.2014, 04:14
да пока у Вас ничего не получилось, PLC_PRG пуст


Смотрите блок "ALARM_SMS_M_V2":)

capzap
16.10.2014, 07:27
Смотрите блок "ALARM_SMS_M_V2":)

А толку туда смотреть, всё начинает работать, когда запущено в главной программе plc_prg или както через задачи прикрутили поу

КИП
21.10.2014, 02:42
Блок FB_SMS_CFG не использую и это разрешено в инструкции к библиотеке SmsOwenLib.
Сейчас отключил эхо в модеме.
В Universal Network Module в разделе RS-232 изменил параметр ASCII на RTU и Framing time ms с 10 на 15, вроде прием смс стал происходить стабильней, осталось подождать 30 дней.:)

energvk
01.11.2014, 00:07
Сегодня на объекте столкнулся с необычной ситуацией. ПЛК73 и модем ПМ01, оттестили железо, воткнули симку - вуаля, смс управление работает. Отправил запрос, модем отработал алгоритм, подал команду на отправку ответа, сообщение ушло.... и не пришло. Подумал,подумал, запустил отправку сообщений нескольким адресатам по аварии (3-м). Происходит отправка сообщения, на втором номере всё останавливается, но на первый сообщение так же не приходит. Ну думаю, проблема с симкой, не отправляет сообщения. Воткнул её в телефон - всё отправляется и доставляется. Соответственно стал грешить на программу (хотя тестил на столе всё работало, правда пару месяцев прошло). Ковырялся 2 часа, плюнул, воткнул 2-ю симку,которая должна была ставиться на другой объект и...всё заработало. Попробовал поставить ещё раз модем (вдруг заработает :)), такая же картина. В общем в ступоре. Никто не сталкивался с подобным? А то даже не знаю на что грешить.