Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: RS-485(MODBUS)
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
VitalyS
Есть:
- 3 устройства с ModBus/Ascii - покупные
- 3 устройства с ModBus/RTU - покупные
- контроллер (Master) - свой
Хотелось бы объединить в рамках одной сети. Возможно это?
Если нет, то почему?
Ruslan1
Цитата(VitalyS @ Apr 25 2011, 11:00) *
Есть:
- 3 устройства с ModBus/Ascii - покупные
- 3 устройства с ModBus/RTU - покупные
- контроллер (Master) - свой
Хотелось бы объединить в рамках одной сети. Возможно это?
Если нет, то почему?

ASCII и RTU протоколы имеют абсолютно разный подход к "пакетообразованию": определению начала-конца пакета, тайминги, заголовки и контрольные суммы.

Если мастер ваш личный и не боитесь трудностей то можно попробовать запустить это все на общей веревке, при обращении к устройствам ASCII протокола устройства с RTU будут воспринимать это как мусор(помехи в линии) и наоборот. Но если система выполняет сколько-нибудь ответственные функции, то это стратегически неправильно. Годится только для тестов или студенческих проектов для "попробовать". Ну или для случаев "данные пропали-ну и фиг с ними"
Harbinger
Цитата(Ruslan1 @ Apr 28 2011, 00:21) *
Но если система выполняет сколько-нибудь ответственные функции

Тогда конвертор ASCII->RTU.
XVR
Или из Мастера вывести 2 RS485 линии. Одну для Modbus-ASCII и одну для RTU
Diko
Цитата(XVR @ Apr 28 2011, 10:57) *
Или из Мастера вывести 2 RS485 линии. Одну для Modbus-ASCII и одну для RTU

Согласен с этим утверждением, пытаться сэкономить на кабеле пытаясь запихнуть это всё в одну линию приведёт мягко говоря к серьёзному головняку, который впоследствии выйдет боком. В реальных условиях, даже разные устройства которые работают на одном протоколе RTU или ASCII вешаем на разные линии. В последствии при пусконаладочных работах все это оправдывается.
kiriluk75
Добрый день! Может поможете мыслью.

Есть программа "MASTER", которая по COM порту или по TCP одновременно связывается (MODBUS) со SLAVE устройствами различных ID и отображает их оперативное состояние.

Одно SLAVE устройство есть в железе.

Задача,
Что б оттестировать программу "MASTER" для работы с многими SLAVE устройствами различных ID, нужно написать или найти готовое решение:

нужно смоделировать нескольких SLAVE устройств для которых можно было б автоматически изменять значения регистров и видеть эти изменения в нашей программе "MASTER". Автоматически - это из Делфи программы, файла или БД, или чего-то подобного.

Есть много решений, например Modbus for Windows 95/98/NT/2000/XP (Version 3.54 download), или другие slave servers, у которых значения регистров можно менять только оперативно, в ручную. Так делаем, все работает. Но нужно именно автоматически. Может из какой БД или с какого файла. Что б этот slave servers 2-4 раза в секунду считывал значения регистров с них.
А уже этот файл или БД формировать из Делфи программы.
demiurg_spb
modbus OPC-server...
kiriluk75
demiurg_spb
Спасибо, а какой из них? Их такое множество... Lektus в режиме SLAVE не поддерживает 8ю функцию. А нужны именно 8я, 3я и 16я
demiurg_spb
Ну не знаю даже. Пробуйте, ищите, ведь их и правда много, более того у нас свой самописный.
kiriluk75
Я бы тоже написал, но пока не представляю как. С такой задачей еще не сталкивался
dimochka64
У кого-нибудь есть пример такого SLAVE устройства на Делфи?
Или подскажите, с чего начинать написание?
Спасибо
demiurg_spb
Своё только за вознаграждение могу предложить.
А из бесплатного посмотрите на Си библиотеку freemodbus.
dimochka64
Цитата(demiurg_spb @ Sep 5 2011, 14:24) *
Своё только за вознаграждение могу предложить.
А из бесплатного посмотрите на Си библиотеку freemodbus.


Увы, из вознаграждения пока только пиво, но в Питер ой как далеко везти sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.