sshub
Junior Member / Новичок
Участник № / Member № 2535
отправлено / posted
Добрый день всем участникам форума. Буду признателен всем, кто сможет высказаться по следующему вопросу. Есть проект созданный в IDE ТМ6 6.03 prof. Суть проекта - сбор параметров техпроцесса с удаленных узлов по GSM/SMS каналу связи. На верху - GSM МРВ6+ 6.03 prof c GSM-модемом SIEMENS МC35i rev.02.00, на удаленных узлах контроллеры с такими же модемами. И все вроде бы работает, но есть серьезные проблемы: 1. Процедура инициализации GSM-модема при старте МРВ отрабатывает до соединения модема с сетью GSM опрератора только при скоростях интерфейса DTE-DCE 9600 и менее. На скоростях более 9600 дождаться соединения с GSM-сетью практически невозможно. 2. Соединяемся на 9600. При продолжительной непрерывной работе МРВ (несколько суток) во входном буфере модема накапливаются неудаленные входящие сообщения, хотя МРВ дает команды на удаление at+cmgd=... и модем отвечает "ОК" (мы это видим, трассируя com-порт ). При переполнении буфера модем становится неработопособным.Иногда наблюдается "зависание" модема в произвольные моменты времени, независимо от заполненности входного буфера модема. Сдать такую систему заказчику невозможно. 3. Наши предположения таковы. Вероятно GSM модем имеет минимально допустимое время между двумя последовательными командами. Если остановить МРВ и соединиться с модемом в терминальном режиме, то, эти зависшие сообщения удаляются вручную без проблем. Но ведь МРВ посылает те же команды, разница только во временных соотношениях между ними. При разработке ПО контроллеров удаленных узлов мы столкнулись с подобной проблемой, но там мы ее решили установив минимальный интервал между командами (кажется 250 мс). Каково может быть решение в случае с GSM MPB+ 6.03 prof ?
отправлено / posted
Вам необходимо снизить интенсивность обмена между узлами по GSM. Для это нужно увеличить цикл пересчета каналов. Да и желательно бы перейти на релиз 6.05.
Сообщения / Posts 17344 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sshub
Junior Member / Новичок
Участник № / Member № 2535
отправлено / posted
В нашем проекте интенсивность обмена между GSM-узлами не велика - один раз в сутки 12 транзакций запрос-ответ для приема почасовых архивов. Запросы выполняются поочередно, время между запросами - 3 минуты, при этом пересчет каналов инициируется программно. Кроме того, оператор может вручную нажатием кнопки выполнить запрос любой группы параметров. В итоге - всего 20-25 SMS в сутки. И в таком облегченном режиме система до зависания модема (или МРВ?) может выдержать не более 3-4 суток! Замена одного образца модема МС35i на другой того же производителя ничего не дает.
Вообще настораживает практическое отсутствие обсуждения этой темы на форуме в разделе посвященном ТМ6. Существуют ли реально работающие системы на базе GSM МРВ6+ ?
Неприятность в том, что наша система предъявлена заказчику и находится в опытной эксплуатации.Требуется какое-то решение. В создавшихся услових мы могли бы пойти на частное решение проблемы - подбор GSM-модема работающего надежно в связке с GSM МРВ6+, хотя хотелось бы решить эту проблему системно. Поэтому есть несколько вопросов: 1. На каких типах GSM-модемов производилось тестирование при разработке GSM МРВ6+. 2. Исходя из Вашего опыта порекомендуйте GSM-модем, с которым GSM МРВ6+ работает надежно. 3. Cуществует ли возможность в GSM МРВ6+ задать минимальное время между последовательными at-командами, поскольку по нашему мнению - в этом вся проблема.
Вопросов на самом деле гораздо больше, но пока ограничимся этими. Благодарю за оперативный ответ.
Сообщения / Posts 12 | Из / From: Украина
| IP / IP: IP адрес / IP address |
sshub
Junior Member / Новичок
Участник № / Member № 2535
отправлено / posted
Добрый день, коллеги! Время идет, а вопросы остаются. Хотелось бы, чтобы Техподдержка прореагировала. Вопросы попрежнему актуальны.
Сообщения / Posts 12 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Мы проводили тестирование GSM-обмена на модемах фирмы Siemens TC35, ES75, МС35. Каких-либо предпочтений мы не выявили. Есть смысл в Вашем проекте запустить МРВ с отладочной dllxRTM32_e.dll (временно переименовав ее в dllxRTM32.dll и сохранив настоящую dllxRTM32.dll для последующего восстановления). При этом с помощью системной переменной @RTM_Parameter с ПАРАМЕТР=183 или ключа GSM_LOG в конфигурационной файле запуска МРВ задать вывод параметров и ошибок GSM-обмена в протокол профайлера. По этой дополнительной информации, возможно, удастся получить представление о ходе процесса обмена и возникающих коллизиях.
Сообщения / Posts 17344 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sshub
Junior Member / Новичок
Участник № / Member № 2535
отправлено / posted
Добрый день. Посмотрите отладочный файл профайлера. Все биты переменной @RTM_параметр/GSM_DEBUG установлены в 1.
+CME ERROR: 30 - это ответ на команду at+cops=0 (подключение к сети GSM-оператора) Эта ошибка соответствует отсутствию GSM-сервиса, другими словами, модем не зарегистрирован в сети. Весь блок ошибок выдается очень быстро, за 1-2 секунды!. Затем МРВ ждет некоторое время и снова повторяет цикл инициализации.
Если остановить МРВ, подключиться к модему терминалом и ввести at+cpin=1111 он прекрасно регистрируется в сети и с ним можно работать. Если затем сделать так, как поступает МРВ at+cops=2 at+cops=0 то модем также без проблем регистрируется в сети, правда это занимает 15-20 секунд.
Все выше приведенные распечатки относятся у модему NOVACOM GNS-30CR (чешский модем с тайваньским нутром SIM300). С осени 2007 года до недавнего времени МРВ как-то удавалось инициализировать этот модем. С трудом, на скорости порта 9600 за 2-3 минуты инициализация выполялась. Модем в приципе работал, собирал данные, хотя было понятно, что все на грани. Сейчас же, МРВ просто не может его инициализировать. Есть ощущение, что проблема в таймаутах, используемых процедурой инициализации в МРВ.
Вопрос: Все таки, какие настройки на вкладке сомпорта в IDE влияют на обмен с GSM-модемом? В документации не совсем четко это отражено. Что вообще в этом случае можно настраивать?
По поводу модема MC35i. Этот инициализируется МРВ только на скорости 9600. Но при дальнейшей работе после 40-50 транзакций у него преполняется буфер входных сообщений и все просто виснет. При считывании сообщения из буфера модема МРВ дает команду at+cmgd=..., но они не всегда выполняются, хотя модем отвечает - Ок.
отправлено / posted
Уважаемый sshub! В дальнейшем файлы протоколов пересылайте, пожалуйста, непосредственно в службу технической поддержки (hotline@adastra.ru). Нет необходимости перегружать топики форума.
1. Вы работает в релизе 6.03. Любые вопросы сейчас могут обсуждаться только в привязке к текущему релизу 6.05.1. Анализировать, а тем более модифицировать код старого релиза мы не можем. 2. В любом случае следует выяснить причины чрезмерно долгой инициализации и невозможности работы на скоростях больших, чем 9600. Во всех испытаниях мы успешно работаем на скоростях 115200. 3. Надо попытаться повысить чувствительность тракта модема (нульмодемный кабель, антенна). Возможно, отключить режим GPRS, если таковой у модема имеется (опыт показывает, что по этому каналу проблемы возникают чаще). Возможно, перейти на еще более низкую скорость (4800 или ниже). 4. Можно попытаться подобрать параметры SMS_DLS=<smsChk> – период (в секундах) проверки прихода SMS-сообщения (см. @RTM_Parameter с Параметр=179); SMS_TOR=<smsReplyWait> – таймаут (в секундах) ожидания ответа по GSM, см. @RTM_Parameter с Параметр=180; SMS_TCR=<smsReplyChk> – период (в секундах) проверки прихода ответа после посылки SMS, см. @RTM_Parameter с Параметр=181; в файле конфигурирования запуска МРВ или в системных переменных. 5. В строку инициализации модема можно ввести ключи NO_DSR и NO_NET_RELOG PIN:<PIN-код>;SCA:<номер сервис-центра>[;NO_DSR][;NO_NET_RELOG] которые отменяют проверки состояния модема и процедуры входа/выхода в сеть GSM. 6. По опыту предыдущих внедрений (в которых тоже наблюдались ситуации "зависания модемов" по причинам низкого качества каналов связи и неспособности модемов выйти самостоятельно из критического состояния) можно указать на необходимость принудительной перезагрузки модема (выключения и последующего включения). В некоторых пользовательских проектах это осуществлялось программно с помощью специальных дискретных выходов узла МРВ, коммутирующих цепи питания модема.
Сообщения / Posts 17344 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sshub
Junior Member / Новичок
Участник № / Member № 2535
отправлено / posted
Добрый день. За файлы протоколов - извините, учтем. Попробуем воспользоваться Вашими советами. Спасибо.
Сообщения / Posts 12 | Из / From: Украина
| IP / IP: IP адрес / IP address |
sshub
Junior Member / Новичок
Участник № / Member № 2535
отправлено / posted
Добрый день.
Проблему, означенную в предыдущих сообщениях, удалось решить путем изготовления собственного интерфейсного кабеля на основе витых пар, где каждый сигнальный провод свит с общим проводом и все общие провода соединены вместе с обеих концов кабеля. За идею - еще раз спасибо.
Система развивается дальше. Хотим попробовать ввести в систему удаленный объект с передачей параметрров по GSM/CSD. В связи с чем вопрос: 1.Возможно ли в GSM МРВ6+ одновременно сконфигурировать два модема - один GSM/SMS, а другой GSM/CSD (т.е. "модем" в настройках сом-порта). 2. Как привязать каналы к этим модемам.
Сообщения / Posts 12 | Из / From: Украина
| IP / IP: IP адрес / IP address |
sshub
Junior Member / Новичок
Участник № / Member № 2535
отправлено / posted
И тем не менее, если описать сом-порт как "модем" и использовать в качестве модема GSM-модем, это работает, проверено. Тогда поставим вопрос так: 1.Возможно ли в GSM МРВ6+ одновременно сконфигурировать два модема - один GSM/SMS, а другой - модем для коммутируемых телефонных линий. 2. Как привязать каналы к этим модемам, чтобы одна группа каналов запрашивалась по GSM/SMS, другая - через телефонную сеть.
Сообщения / Posts 12 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
1. Никаких препятсвий нет. Правда мы такую связку не тестировали.
2. В свойствах канала есть возможность задать предподчительный интерфейс для межузлового обмена. В случае обычного модема это будет RS1 или RS2, в случае SMS - GSM SMS1 или GSM SMS 2 (в зависимости от настроек узла).
Сообщения / Posts 17344 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sshub
Junior Member / Новичок
Участник № / Member № 2535
отправлено / posted
Мы так и делали. Только, к сожелению, все каналы без разбора связываются с одним портом, тем который описан как "модем". Сделали тестовый проект для демонстрации проблемы (реальный проект большой). На какой адрес можно выслать проект? Может подскажете, чего в этом супе не хватает.
Сообщения / Posts 12 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
У Вас оба модема инициализированы как GSM в настройках узла. Попробуйте у каналов узла RTM1 указать GSM SMS 2.
Сообщения / Posts 17344 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sshub
Junior Member / Новичок
Участник № / Member № 2535
отправлено / posted
"У Вас оба модема инициализированы как GSM " - это результат проверки разных комбинаций настроек. Не работает это - все каналы привязываются к одному порту на RTM_1. Если в настройках узла RTM_1 задать один модем,не указав строку инициализации (надо полагать , это соответствует обычному модему), результат точно такой же. Повторюсь, нужно с узла RTM-2 пронять значения четырех каналов по GSM/SMS, а с узла RTM-3 - значения четырех каналов через обычный модем. Будем Вам очень признательны, если Вы в тестовом проекте сделаете настройки для такого случая и вышлете его на sshub@setka.zp.ua. Или скажите, что это невозможно по каким либо причинам, мы просто не будем тратить на это время. Спасибо.
Сообщения / Posts 12 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Ограничений быть не должно, но еще раз повторюсь, мы такую связку не тестировали. Дл полноченного теста потребуется сборка соответсвующего стенда и время. Как только мы проверим совместную работу GSM-модема и обычного модема, сообщим о результатах.
Сообщения / Posts 17344 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sshub
Junior Member / Новичок
Участник № / Member № 2535
отправлено / posted
У нас в течение года работает система сбора данных от удаленных узлов по каналу GSM/SMS. Так что с обменом по SMS, в принципе, нет проблем. Но связь эта дорогая, особенно при приличных объемах информации. Вот и хочется сэкономить, перейти на связь с установлением соединения т.е. GSM/CSD ("модем"). Тогда за один сеанс связи можно передать все данные, и это будет в разы дешевле, чем посылать десятки SMS-сообщений. Хотелось добавить к существующей системе удаленный узел с передачей данных по GSM/CSD, отладить такой канал как следует, а потом переводить на него остальные узлы. Но не получается. При любых вариантах конфигурирования модемов и сом-портов все каналы настраиваются на один сом-порт. Это видно в отладочном файле профайлера. Так что не нужен стенд, просто сконфигурируйте порты и модемы, запустите проект на исполнение и все увидите в отладочном файле профайлера. Если будут какие-нибудь результаты, пожалуйста, дайте нам знать.
Сообщения / Posts 12 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Под стендом мы подразумеваем 3 компьютера, 2 GSM модема для обмена по SMS и 2 обычных модема. Работаем над этим.
Сообщения / Posts 17344 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sshub
Junior Member / Новичок
Участник № / Member № 2535
отправлено / posted
Я понимаю. Просто я хотел сказать, что ошибка возникает на стадии компиляции проекта - не корректно привязываются каналы к сом-портам. И это видно в отладочном файле, для этого стенд не нужен. Дальше все работает как скомпилировано. Успехов Вам.
Сообщения / Posts 12 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
К сожалению, пока найти конфигурацию для обмена одного узла сразу и по модему, и через СМС нам не удалось. Будем пробовать дальше.
Сообщения / Posts 17344 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sshub
Junior Member / Новичок
Участник № / Member № 2535