Перейти к содержанию
    

Протокол modbus. Вопросы по интерфейсу

koyodza, @Ark, зачем нужно старую тему поднимать? Думаете, что топикстартер, создавший ее год назад и тогда же последний раз в ней отметившись, прочитает?

Я ответил скорее не топикпастеру, а на фразу defunct по поводу того что "По приему CRC слейв может сразу же приступить к формированию ответа". Поскольку это грубое, но очень сильно распространенное нарушение стандарта, решил указать на это. Сообщения ведь попадают в "Копилку Вечности", вдруг кто-то из начинающих когда-то забредёт сюда (даже в правилах написано - новую тему создавать после того, как ничего не нашел поиском), и подумает что так и нужно делать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте.У меня такой вопрос: Есть теплосчетчик с RS485 и Modbus RTU, есть программа для снятия архивов с него, через сом-порт и переходник 232-485 все снимается. Есть желание соединить к счетчику GSM- модем с RS-485 выходом и опрашивать архивы удаленно по CSD. Но в программе нет функции дозвона, только по сом-порту. Можно ли сделать так- соединить модем к com-порту компьютера, дозвониться гипертерминалом, отключить гипертерминал(чтобы освободить порт), запустить программу снятия архивов, после снятия, отключить связь гипертерминалом ? Если да, то какие подводные камни могут возникнуть при этом, или есть какой нибудь другой способ, кроме написания своей проги для опроса счетчика ,конечно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно ли сделать так- соединить модем к com-порту компьютера, дозвониться гипертерминалом, отключить гипертерминал(чтобы освободить порт), запустить программу снятия архивов, после снятия, отключить связь гипертерминалом ? Если да, то какие подводные камни могут возникнуть при этом, или есть какой нибудь другой способ, кроме написания своей проги для опроса счетчика ,конечно.

Проще сделать своё устройство с виртуальным USB CDC, и устанавливать соединение перед снятием логов. Для программы это будет прозрачно. Единственное что - могут быть задержки при передаче, и это не удастся побороть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

устройство с виртуальным USB CDC- это как я понял железка, которая прикидывается сом-портом, а сама подключается на USB и к к ней подключается сотовый модем. А задержки могут быть из-за этой железки или на сотовом канале и могут ли они влиять modbus протоколу или только на скорость работы? Раз вы говорите "проще так сделать", значит и по моему варианту тоже можно? если так, то можно написать простенькую программу дозвона с автоматическим вызовом программы счетчика и отключением.

Изменено пользователем D&M

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

или как ? жду разных предложений.. Кстати- USB CDC-это идея..

Изменено пользователем D&M

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

или как ? жду разных предложений..
Ваша задача разбивается на два вопроса.

Во-первых, вы не огласили какой именно MODBUS используется? Modbus RTU весьма плохо "ложится" на коммутируемые линии (телефоная связь). Для коммутируемых линий Mobus ASCII предназначался.

Во-вторых, программы автодозвона есть готовые. Насчет бесплатности не в курсе, не исследовал этот вопрос. Задача этой программы установить связь и обеспечить "прозрачный" режим работы модема. То бишь ваша программа не будет знать, что у нее не проводная связь, а коммутируемая.

А вообще такие задачи решают с помощью OPC-сервера. Программы, которая занимается установлением связи, опросом удаленных устройств и доставкой данных с конвертацией их в требуемый для другой программы (SCADA-системы) формат.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда может посоветуете OPC-сервер,который может дозваниваться по GSM и SCADA систему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрел,продумал разные варианты и пришел к выводу- MODBUS-RTU не очень подходит для GSM, и прога для снятия архивов, т.к. нужны только накопленные значения с 2-3 каналов(2-3 показания механических счетчиков) и 2 температуры. Лучше наверно сделать железку например на ATMEGA162, которая будет на стороне счетчика опрашивать по Modbus и по запросу передавать эти 5 цифр в любом виде, может быть DTMF-ом или по другому. Только железок много собирать- счетчиков штук 100.

Изменено пользователем D&M

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрел,продумал разные варианты и пришел к выводу- MODBUS-RTU не очень подходит для GSM, и прога для снятия архивов, т.к. нужны только накопленные значения с 2-3 каналов(2-3 показания механических счетчиков) и 2 температуры. Лучше наверно сделать железку например на ATMEGA162, которая будет на стороне счетчика опрашивать по Modbus и по запросу передавать эти 5 цифр в любом виде, может быть DTMF-ом или по другому. Только железок много собирать- счетчиков штук 100.

 

Не знаю чем RTU не подходит для GSM. что CSD что GPRS это такие же байты как и в любом другом канале. CRC если что ошибки призвана прибивать.

 

варианты:

 

1. Проще делать как описал rezident. правда громоздко и некрасиво. это способ для непрограммеров.

 

2. Модем c RS485 что из себя представляет ? я почему спрашиваю, по дефолту обычные модемы RS232, а с RS485 это уже специальные версии. Вместо них может попробовать "GSM(GPRS)-удлинители com-порта", вроде у Аналитика нечто подобное было, да и у других контор, в сопоставимом ценовом диапазоне.

 

3. Либо если не напрягает сделать 100 железок, может проще сделать 1 (либо 1+100, как нравится), но которая будет сама обзванивать нижний уровень и что-нибудь ещё полезное делать, например по новым виртуальным адресам счётчики разбрасывать :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1,3 варианты продумал,говорил про модем teleofis-rx108-r-rs485, вообще счетчики разочаровали-пробовал ОРС-модбус сервером опрашивать по адресам регистров по документации-самый нужный параметр не выдает- итоговое накопленное, тогда и смысла нет в затее..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

GPRS это такие же байты как и в любом другом канале

Ну а время, время между этими самыми байтами, как с ним дела обстоят? Огласите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну а время, время между этими самыми байтами, как с ним дела обстоят? Огласите.

По ГПРС пинги по полторы секунды - не редкость.

А Modbus-TCP для кого придумали? По моему скромному, самое оно для таких сетей

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...