PDA

Просмотр полной версии : Как получить/отправить СМС на языке ST? Нужна помощь.



morozov-ch
19.09.2013, 15:16
Дано:
ПЛК 100-220.P.L
gsm-модема ПМ01-220АВ.
Поставлена задача:
1.Организовать прием смс.
2.После получения смс со словом 'status' организовать отправку смс с переменными ПЛК.

p.s.
Я новичок в программировании ПЛК, много не понимая.
Язык разработки ST, на другой язык перевести проблематично.
И если возможно побольше комментариев.
Модем подключен к сом-порту ПЛК кабелем входящим в комплект поставки.

capzap
19.09.2013, 16:03
http://www.owen.ru/forum/showthread.php?t=13029

morozov-ch
19.09.2013, 16:46
http://www.owen.ru/forum/showthread.php?t=13029

А кто-то конкретно мне может рассказать механизм или все будут отправлять на одну и ту же ссылку.
Я прошу помощи.

Евгений Сергеевич
20.09.2013, 17:11
Там лежит готовая библиотека для работы с модемами, в частности отправка и прием SMS - сообщений. Там же лежит руководство. Под ваш запрос подходит идеально. Минимум затрат, схема проверена. Если вам нужно не решение задачи а что-то иное то так и напишите.

morozov-ch
23.09.2013, 12:11
У меня данная библиотека не работает.
Все делаю по инструкции, а во ответ тишина.
Оборудование исправно!!!
Т.К. с библиотекой sms.lib отправка идет, по крайне мере один раз.
Или я что-то делаю не так, или уже не знаю.

Срочно нужна помощь, деньги вложены, проект стоит, начальство рвет и мечет.
Ну не понимаю я в контроллерах ничего.

capzap
23.09.2013, 12:18
Библиотека должна работать, есть один момент при которой могут быть проблемы это малое время мин.цикла
Ну и в качестве дежурной фразы можно порекомендовать: выложите свой проект,тогда будет понятнее в чем Вы ошибаетесь

morozov-ch
23.09.2013, 12:39
Выкладываю свой проект
http://yadi.sk/d/QuykelF29jPSY

Пантелеев Дмитрий
23.09.2013, 13:46
В проекте у Вас не верно выбран ком порт. У Вас подключен модем к порту RS232 а в проекте RS232 Degug. Измените на правильный и проверяйте. Менять нужно в настройках Universal Network Module. Должно быть RS232 [SLOT].

morozov-ch
23.09.2013, 15:13
Поменял все тоже.
А какой должен быть DeviceNumber (переменная DevNum) в моем случае?

Пантелеев Дмитрий
23.09.2013, 15:46
Если по RS485 у Вас подключен меркурий, то для модема DevNum должен быть равен 0. У Вас так и есть.

morozov-ch
23.09.2013, 16:12
Теперь какая-то ошибка вылезла:
10210

Евгений Сергеевич
23.09.2013, 17:30
Теперь какая-то ошибка вылезла:
10210
судя по контексту у вас стоит библиотека опроса меркурия. И в ней тоже есть БФ OpenPort.
Как решить данную проблему описано тут.


Это же вопрос был в другой теме, там же приведено решение.
От этого поста 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

morozov-ch
23.09.2013, 17:52
Сейчас подумал:
На сколько сложно организовать GPRS соединение с сервером на Linux?
Подключение к базе данных на MySQL или postgresql?
Может это будет проще в плане организации и у меня меньше забот будет в части перевода смс в базу.

capzap
23.09.2013, 19:40
Сейчас подумал:
На сколько сложно организовать GPRS соединение с сервером на Linux?
Подключение к базе данных на MySQL или postgresql?
Может это будет проще в плане организации и у меня меньше забот будет в части перевода смс в базу.

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

morozov-ch
23.09.2013, 22:07
А может есть возможность, типа:
ПЛК вышел в интернет
Отправил, например html запрос
Отключился
Что вроде этого я имел ввиду под записью БД.

capzap
23.09.2013, 22:40
через php без каких либо проблем, хоть в инете хоть в локальной сети

morozov-ch
23.09.2013, 22:43
а поподробнее где почитать про эту функцию?

Дмитрий Артюховский
23.09.2013, 22:44
через php без каких либо проблем, хоть в инете хоть в локальной сети
проблем хватает... основная - наличие устойчивого соединения.... при использовании GPRS очень зависит от места, времени, оператора и просто везения (((( частенько бывает что модем часами не может поднять соединение

morozov-ch
23.09.2013, 22:51
У меня временые рамки большие максимум 1сутки, так что подходит.
Мне на плк надо передавать 6 цифр, а получать с него 1 цифру.

capzap
23.09.2013, 23:18
а поподробнее где почитать про эту функцию?

Изучать надо веб-верстку и функции запросов $GET, можно конечно выпендриться и через $POST посылать, но это излишне

morozov-ch
23.09.2013, 23:26
Вы не меня не поняли, уважаемый capzap, как это реализовать в плк.
html, php мне это прекрасно знакомо, когда-то был веб-программистом.

capzap
23.09.2013, 23:39
открываете сокет по 80 порту и отправляете массив байт, в котором лежит запрос гет, можете посмотреть любой пример веб-сервера для плк, только в Вашем случае надо выступить в роли клиента.
ЗЫ ОСКАТ нетворк смотрите, там много примеров как для серверов, так и для клиентов

morozov-ch
23.09.2013, 23:43
Огромное спасибо, завтра буду читать.
Спокойной ночи.

morozov-ch
26.09.2013, 14:02
Начал разбираться, но с мертвой точки так и не сдвинулся.
Пока два момента:
1. Как выйти в интернет с плк.
2. Как отправить на web-сервер запрос вида: "http://192.168.1.1/plk.php?id=802&symma=520&I_A=3"
3. Как получить ответ вида: "A_HH_ON=20,A_MM_ON=50,A_HH_OFF=8,A_MM_OFF=0,I_cons t_A=4"

capzap
26.09.2013, 14:16
http://www.owen.ru/forum/showthread.php?t=12729&p=83833&viewfull=1#post83833
Только вместо одного из плк должен быть веб-сервер, а строку через ADR превратить надо в массив байт

morozov-ch
26.09.2013, 14:42
А сколько стоит написать данный блок под ПЛК 100?

capzap
26.09.2013, 15:08
http://www.owen.ru/forum/showthread.php?t=12947&p=85927&viewfull=1#post85927
Здесь должны быть все необходимые инструменты

morozov-ch
27.09.2013, 09:12
Было бы время еще разобраться.
Остается только ночью.

morozov-ch
27.09.2013, 14:39
А что это за ошибка, подскажите пожалуйста?
Добавляю библиотеку network_oscat.lib
10274

capzap
27.09.2013, 15:44
Библиотеку добавлять не стоит, лучше экспортом или копипастом вставить нужные блоки в свой проект, есть еще вариант исключением из компиляции,но я им сам не успел еще попользоваться, ссылки на форуме давались за этот месяц

По поводу сокета, надо смотреть в библиотеке константу сокет_инвалид, овен несколько отличается от оскатовского поднятия сокета

morozov-ch
30.09.2013, 11:27
Еще раз об отправки СМС.
Вот мой проект.
http://yadi.sk/d/_8IYl8XcA8cwY

При включении ПЛК и установки ComInst.Enable=TRUE
Отправляет одну СМС.
Помогает перезагрузка ПЛК

morozov-ch
30.09.2013, 11:51
Может мне надо как-то (скажите как) отключать порт?