Форум программистов, компьютерный форум, киберфорум
АСУ ТП, промэлектроника
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.61/144: Рейтинг темы: голосов - 144, средняя оценка - 4.61
 Аватар для PierL
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 382

Работа с Modbus RTU

09.04.2015, 11:18. Показов 35111. Ответов 169
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть некий модуль ввода/вывода, со своим адресом, дискретный и аналоговый сигнал поддерживает. RS-485 интерфейс, протокол MODBUS.

По СОМ порту передает данные на ПК.
Нужно написать приложеньеце, которое будет подключать с СОМ порту определенному, находить по адресу модуль, соединяться с ним и считывать с него и посылать на него данные.

Хочу понять с чего мне начать. Немного владею Delphi и хочу в ней написать простую программку. Подключение к модулю, считывать и посылать на него сигнал.

Горит.

Добавлено через 3 часа 2 минуты
Кто нибудь, подскажите алгоритм хотя бы, пожалуйста?!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.04.2015, 11:18
Ответы с готовыми решениями:

Работа с контроллером производительности нории КПН-4М по Modbus RTU over RS-485
Здравствуйте товарищи. Попалось под руку, это чудо российской мысли, и понадобилось снять с него данные на ЭВМ. Вроде подключил, но...

Получить измеренное значение датчика давления (АИР-20/М2-МВ) по Modbus RTU
По работе понадобилось написать модуль для опроса показаний датчика давления АИР-20/М2-МВ. Читал руководство к датчику, читал интернет...

ТРМ-138-ModBus RTU. Не могу считать показания с термопары на втором канале
Здравствуйте уважаемые форумчане! Возникла проблема с чтением значения температуры на втором канале прибора ТРМ-138 (тип термопары ТХК(L))....

169
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
11.09.2015, 13:03
Студворк — интернет-сервис помощи студентам
Я знаю эту статью, когда делал свой повторитель ей пользовался, хотя не совсем соглашусь, что в ней написано. Свой повторитель делал на STM8S003, а в нём только один UART второй делал софтовый вот и намучился с ним. Сейчас 200 устройств собраны и установлены, статистика работы пока радует. Потребность конторы 980 штук. Себестоимость с корпусом 350 руб.

Не по теме:

P.S. Сейчас нашел заказчика (без конторы) который хочет специализированый хаб что бы к одному контроллеру/СКАДЕ можно было подключать разные "частотники", другими словами преобразователь протоколов, идеологически с ним не согласен, но ....
raxp, а Вы как считаете по перспективе такого устройства?


Первые варианты платы еще без защиты.
Миниатюры
Работа с Modbus RTU  
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
11.09.2015, 13:31
...преобразователи протоколов выпускаются промышленностью, значит спрос есть.
0
11.09.2015, 14:13

Не по теме:

Цитата Сообщение от raxp Посмотреть сообщение
...преобразователи протоколов выпускаются промышленностью,
Не хочу подколоть, но я не нашел таких или не правильно выразил свою мысль.
P.S. идея одним верхним уровнем управлять любым частотником(?).
P.P.S лет через пять подойдет срок и они "посыпятся", не у всех есть исходники/возможности корректировать верхний уровень. И тут я на белом коне ....

0
11.09.2015, 14:30

Не по теме:

Например, tGW-700 от ICP DAS.

И касательно универсализма, такое сбацать можно на конверторах с собственной миниОС, на С++ под WinCE в тех же ADAMах например.

0
11.09.2015, 14:35

Не по теме:

raxp, вначале вот ++++++++++

Цитата Сообщение от raxp Посмотреть сообщение
И касательно универсализма, такое сбацать можно на конверторах с собственной миниОС, на С++ под WinCE в тех же ADAMах например.
таки идея сделать дешевле этих решений
P.S. Давайте не будем засорять ветку, если не против пообщаться вышлете скайп в личку или мой: rybinsam

0
 Аватар для PierL
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 382
11.09.2015, 15:06  [ТС]
raxp, Вот эти Адамы, при увеличении скорости с 9600 до 115000 при опросе по Modbus время ответа почему-то не уменьшается, так и должно быть? У меня время около 100 мс при уменьшении не успевает получить ответ.

Добавлено через 40 секунд
или все таки остаться на 9600?
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
11.09.2015, 15:18
TC, есть два таймаута - системы за конвертором и физического интерфейса, которому вы рога крутитескорость меняете. Первый вы как раз не меняли, должно быть в документации.
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
11.09.2015, 20:15
Цитата Сообщение от raxp Посмотреть сообщение
такое сбацать можно на конверторах с собственной миниОС, на С++ под WinCE в тех же ADAMах например.

Не по теме:

так и было... лет 15 назад такое мы делали и пытались продавать. Протоколов была куча, конфигураций - еще больше. Все на пром. уровне, на ICPCON 7188. Но применения этим задачам были единичными.

0
 Аватар для PierL
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 382
14.09.2015, 08:47  [ТС]
Цитата Сообщение от raxp Посмотреть сообщение
есть два таймаута - системы за конвертором и физического интерфейса
Пожалуйста объясни, я честно verstehe nicht. В Документации про таймауты эти ничего не сказано, только:

Кликните здесь для просмотра всего текста
"2) При разрыве связи (по тайм-ауту или по истечению установленного значения интервала времени) выходные каналы принудительно устанавливаются в безопасное для объекта управления состояние."


Документация по содержанию невелика.

Добавлено через 1 минуту
В самих программных настройках модуля тоже скорость менял, если про это идет речь.
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
14.09.2015, 09:42
ADAM4117 http://support.advantech.com/S... e=Download
Relay response Time(typical): ON :3 ms Off: 1 ms
Total switching time: 10 ms
У меня время около 100 мс при уменьшении не успевает получить ответ.
среди прочего, вы под Windows для которой 50 мс уже хорошо. Чем измеряли время, мультимедийным таймером?
1
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
14.09.2015, 09:53
Цитата Сообщение от raxp Посмотреть сообщение
ADAM4117
это модуль AI. Вы наверное, имели ввиду ADAM4168.
0
 Аватар для PierL
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 382
14.09.2015, 10:55  [ТС]
Цитата Сообщение от raxp Посмотреть сообщение
Чем измеряли время, мультимедийным таймером?
в самой delphi7 измерял между отправкой и приемом. Оно при 50 схватывает, но не всегда. через раз.

У меня как, если ответа нет, то ту же команду еще 2 раза посылаю. А если есть ответ, то сразу следующую.
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
14.09.2015, 11:49
в самой delphi7 измерял между отправкой и приемом
мне это ни о чем не говорит. Вы понимаете, что разные таймеры тикают с разной точностью?
0
 Аватар для PierL
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 382
14.09.2015, 12:00  [ТС]
Цитата Сообщение от raxp Посмотреть сообщение
мне это ни о чем не говорит. Вы понимаете, что разные таймеры тикают с разной точностью?
Понимаю!
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
14.09.2015, 12:02
Тогда должны знать, что обычный таймер тикает с точностью порядка 50 мс. Есть процессорный таймер, есть мультимедийный. Отсюда повторяю вопрос: чем засекали?
0
14.09.2015, 12:43

Не по теме:

Цитата Сообщение от raxp Посмотреть сообщение
чем засекали?
Ставлю что родным делфевым TTimer

0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
14.09.2015, 12:55
это модуль AI. Вы наверное, имели ввиду ADAM4168.
в этой же теме страницей назад TC упоминал ADAM4117.
0
 Аватар для PierL
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 382
28.10.2015, 14:00  [ТС]
raxp, здравствуй! Вопрос по Comm32 настройка для COM порта в программе Монитор Modbus_M-Link_динамическое подключение компонентов, ты тогда мне давал.
По выбору COM порта. У меня в Диспетчере COM16 прописываю в Comm32 не работает.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
constructor TComm32.Create( AOwner: TComponent );
begin
 inherited Create( AOwner );
 FCommPort := 'COM16';
 FCommsLogFileName := '';
 CommsLogName := '';
 ReadThread := nil;
 WriteThread := nil;
 hCommFile := 0;
 if not (csDesigning in ComponentState) then
    FHWnd := AllocateHWnd(CommWndProc);
 FReadInterval:=25;
end;
Почему так получилось?
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
28.10.2015, 14:10
...мы уже обсуждали этот вопрос. Для доступа к порту с именем больше 9-ти под Windows имя должно быть не 'COM16', а '\\.\COM16'.
0
 Аватар для PierL
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 382
28.10.2015, 14:37  [ТС]
raxp, спасибо! я понял. Извини. Очень тебе благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.10.2015, 14:37

Modbus TCP. Работа с регистратором РМТ-59
Всем добрый вечер, ребят опять надеюсь на вашу помощь, такая проблема : кто может поделится исходником Modbus TCP на Builder 6, либо...

Работа с Thermal Inkjet Printer G-Series по Modbus TCP
Помогите пожалуйста передо мной стоит срочная задача научиться работать с производственным принтером подключенным через Ethernet. C COM...

ADAM-4017+. 8-канальный модуль аналогового ввода с поддержкой протокола Modbus (подключение и работа)
Здравствуйте, столкнулся с необходимостью подключения оборудования через АЦП (сам я только начинаю изучать электротехнику, первая...

Работа по Modbus RTU с ПЛК Intellisys из своих приложений
Подскажите, плиз. Есть контроллер Intellisys с протоколом modbus rtu и девайс с modicon modbus protocol pi-mbus-300 rev.e . В описании на...

Работа с модулем ICP DAS I-8831 по Modbus RTU
Доброго времени суток, господа. Прошу Вас подкинуть и указать путь к заголовочным файлам на "C", описывающим протокол передачи...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
160
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru