МРВ работает со всеми типами модемов? Какие типы модемов вы рекомендуете при наличии всех условий: обычные, ADSL, GSM/GPRS, радио, PLC? Если во всех удалённых объектах есть телефонный кабель, то какие модемы лучше использовать: обычные или ADSL? Какую модель модема порекомендуете, если нужно передавать данные со счётчиков, имеющих RS-232 или RS-485? Модем Acorp Sprinter@56K Ext подойдёт? Связь с МРВ будет "прозрачной", т.е. по протоколу счётчика? В задаче, которую мы решаем сейчас (опрос теплосчётчиков ТЭМ в десятках ЦТП), желательно использовать телефонный кабель, если так выйдет дешевле. И желательно обойтись без УСПД на объектах, использовать только модемы.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Обмен между двумя ADSL модемами не возможен в принципе.
Выбирать между обычными модемами или GSM - Вам. Обычно GSM используют там, где нет возможности использовать обычные.
Использовать можно любой модем, который поддерживает стандартные АТ команды.
Связь будет по протоколу счетчика.
Posted by ilovefiniki (Участник № / Member № 4106) on :
Что значит эта ошибка? ERR_MODEM:not active = 2 Дело в том, что в определённый момент TM6 перестал связываться с модемом и появилась эта ошибка. Несколько раз пробежался по настройкам касающимся GSM модема, но ошибок не обнаружил.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Эта ошибка означает, что при обращении к модему нет ответа по DSR (этот сигнал сообщает о подключении модема).
Posted by ilovefiniki (Участник № / Member № 4106) on :
Спасибо, действительно в новых модемах по умолчанию DSR был отключен. Ещё вопрос. Каким образом регулируется количество повторных попыток соединения при неудаче? Пока плохо владею терминологией trace mode, но вроде это както связано с достоверностью.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В файле конфигурирования запуска МРВ надо задать соответствующие ключи:
"Обмен по телефонным линиям
MODEMCNERR=<Ncon> – после Ncon неудачных попыток соединения модем переинициализируется. По умолчанию Ncon = 10;
MODEM_REINT=<Tcon> – если модем не удалось инициализировать, следующая попытка его инициализации предпринимается через Tcon мс. По умолчанию Tcon = 2000 мс; "
Здесь под "попыткой соединения" понимается несколько попыток дозвона, максимальное количество которых определяется параметром "Прерывание" в настройках COM-порта: "Прерывание – при IRQ>16 и обнаружении ошибки в транзакции запрос повторяется до (IRQ-16) раз. Если ошибка воспроизводится, в канале устанавливается флаг аппаратной недостоверности;"
Т.о., для повторной реинициализации модема надо осуществить (Ncon * (IRQ-16)) неудачных попыток дозвона по данному модему.
Posted by ilovefiniki (Участник № / Member № 4106) on :
Спасибо. Возник вопрос по настройке GPRS? Особенно куда вводить IP удалённых GSM/GPRS модемов? С CSD понятно: номер телефона в поле комментарии, а с gprs как? Что касается конфигурации модема, подключенного к tracemode, я понял так: в строке инициализации вписывается всё необходимое для подключения, а tracemode уже сам следит когда подключатся, когда отключатся. Непонятно как быть с удалёнными устройствами. Обмен подразумевается по modbus/RTU. Кто должен быть инициатором передачи? tracemode или удалённый контроллер? Удалённые модемы должны постоянно быть подключены по GPRS или tracemode может быть инициатором подключения каждый раз при опросе(по аналогии с CSD)?
Posted by ilovefiniki (Участник № / Member № 4106) on :
И ещё вопрос. В мануале вычитал что "взаимодействие каналов должно быть GSM SMS 1 или GSM SMS 2" при обмене по GPRS. Это актуально только в случае использования микроMPB в контроллере?
Posted by ilovefiniki (Участник № / Member № 4106) on :
А что это за команды инициализации модема для GPRS в примере? Это же не AT команды. gprs_pdp, gprs_atd и тд. Их модем не понимает. Если всё вписать как в примере, только заменить сами значения как требует провайдер, то программа беспрерывно сыпет их в модем, а он в свою очередь отвечает ERROR. Так всё таки как проинициализировать модем для gprs? Может какой другой режим порта надо установить? А tracemode в свою очередь переведёт эти команды в формат необходимый для модема? Хотя на сколько знаю у разных модемов разные команды для работы с tcp/ip стэком. Tracemode наверное пользуется своим стэком, и команды gprs_login и gprs_pass предназначены в первую очередь для tracemode а не для модема? Извините если какие-то вопросы некорректны. С tracemode работаю совсем недавно. С gprs тоже.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Обмен по GPRS предусматривает задание IP-адресов в настройках SLAVE-устройств. Вы, видимо, ошиблись, указав на Modbus RTU. В данном случае, очевидно, ревь должна идти о Modbus TCP. В этом случае IP-адрес устройства задается в настройках компонентов слоя "Источники/Приемники". 2. Инициатором обмена является МРВ Trace Mode 6. 3. Удаленные устройства должны быть постоянно подключены по GPRS и иметь статические IP-адреса. МРВ сам осуществляет инициализацию модема и коммутации с устройствами. 4. МРВ сам формирует команды инициализации из указанной Вами строки. Служебные символы "от Trace Mode 6" отбрасываются. 5. Возможен более простой способ коммуникации, если Вы настроите и будете поддерживать GPRS-выход МРВ на уровне ОС. Тогда этот выход для МРВ будет прозрачным - просто выход в Ethernet, все ссылки на GPRS из настроек узла в этом случае надо убрать. Надо будет в настройках узла только указать адаптер, через который он будет выходить в сеть, и IP-адрес, если он статический. Если адрес динамический, можно его не указывать.
Posted by ilovefiniki (Участник № / Member № 4106) on :
Спасибо, картина вроде прояснилась. Буду пробовать. Единственное уточнение. На сколько я понял подключение к internet через GPRS при выше описанных настройках расценивается для trace mode 6 как Ethernet? P.S. Насчёт Modbus RTU действительно чтото я напутал, конечно TCP.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Если GPRS подключается через ОС, то МРВ просто работает как через Ethernet. Если инициализация модема и коммутация осуществляется через МРВ, то все равно логический протокол ложится на Ethernet, который в свою очередь транспортируется через GPRS.
Posted by ilovefiniki (Участник № / Member № 4106) on :
Решил остановиться на варианте, когда за настройку GPRS отвечает MPB. На мой взгляд так надёжнее должно быть. Но столкнулся с проблемой. Так и не получилось заставить MPB проинициализировать модем. По прежнему сыпет строку инициализации без изменений в порт модема. Соответственно модем отвечает ошибкой. В источниках/приемниках в каждом компоненте прописан тип протокола TCP/IP и в поле IP вписан адрес. В настройках узла в строке инициализации модема вписана строка по примеру из книжки, ну и номер телефона модема. В настройках порта в поле "назначение" - modem. В поле "управление передачей" - modem_1. Что ещё нужно указать/исправить чтобы MPB понял что используется GPRS? Возможно дело в этом? Вот, из мануала: "При обмене по GPRS взаимодействие каналов должно быть GSM SMS 1 или GSM SMS 2" Но так и не понял как это применить. Куда это вписать? МикроMPB не использую. С другими узлами не взаимодействую. Узел всего один. Я так понимаю это требование не актуально для моего случая?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Должен извиниться за то, что ввел Вас в заблуждение. Обмен с устройствами по Modbus TCP через GPRS с управлением модемом от Trace Mode 6 реализовать нельзя. Поэтому у Вас остается только 1 вариант - подключение GPRS через ОС. Из проекта всякое упоминание о GPRS, включая COM-порт, надо убрать.
P.S. А что касается функции инициализации GPRS, то надо было бы поставить "Назначение порта" не "Модем", а "GSM-SMS".