FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Среда, 18.10.2017, 23:19
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Modbas реле (Можно ли подключить?)
Modbas реле
Авиакот Дата: Пятница, 03.03.2017, 23:24 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 20
Награды: 0
Репутация: 0
Статус: Offline
Знатоки модбаса, подскажите плиз, как таким модулем  управлять используя модбас flprog (вообще возможно ли)? Используются стандартные команды модбаса, описание есть на странице товара. Может кто знает, как в этом модуле устанавливается сетевой адрес? Китайский продаван этого не знает.
Прикрепления: 4712580.jpg(134Kb)
 
Boroda Дата: Суббота, 04.03.2017, 00:28 | Сообщение # 2
Генерал-лейтенант
Группа: Проверенные
Сообщений: 797
Награды: 36
Репутация: 36
Статус: Offline
Вроде так.
Прикрепления: test_modbus___D.flp(68Kb)
 
Boroda Дата: Суббота, 04.03.2017, 00:40 | Сообщение # 3
Генерал-лейтенант
Группа: Проверенные
Сообщений: 797
Награды: 36
Репутация: 36
Статус: Offline
Вот блок, который формирует две строки задания адреса 1 и 2 для отправки по UART модулю реле. Если модуль помнит свой адрес при отключении питания, то все ОК.
Прикрепления: Adress_rele_mod.ubi(10Kb)
 
Sancho Дата: Суббота, 04.03.2017, 11:41 | Сообщение # 4
Генерал-майор
Группа: Проверенные
Сообщений: 456
Награды: 13
Репутация: 13
Статус: Offline
Для настройки устройств, в которых адрес задаётся с помощью широковещательного запроса (по адресу 0), и если нет специальной программы конфигуратора, удобно использовать любой ОРС сервер, который сделает нужную запись в нужный регистр.
Лично мне для всяких подобных целей нравится бесплатный инсатовский на 32 тега.
В Вашем случае адрес прибора располагается в регистре x4000(десятичная система 16384), используется команда для записи одного значения (x06), и, собственно, сам адрес, который хотим установить 1(х0001) или 23(х0017).
Итого: 00(для всех сидящих на шине!!!) 06(функция записи одного значения) 4000(регистр 16384) 0001(значение 1) 5c1b (CRC - контрольная сумма).
После этих манипуляций Ваше устройство будет прекрасно работать с указанным Вами адресом, который сможете изменить, отправив по старому адресу в регистр 16384 новый.
Необходимо учесть, что для управления используются целиком регистр, поэтому необходимо писать либо 0100(256), либо 0000; хотя общепринято значение FF00 устанавливает выход в значение ON. Ну, как есть; возможно там ШИМ????
Адреса, как сами видели, начинаются не с 0, а с 1.
С остальным, надеюсь, разберётесь.
Поможет понять модбас rtu тут, хотя всё это делают библиотеки, но будет ясна структура того, что пишут иногда в пояснениях к работе устройства, как в Вашем случае китайские товарищи.
Извините за многобукав. smile

Добавлено (04.03.2017, 10:47)
---------------------------------------------
Щас сообразил - а что будет слать по 5-й функции flprog? Наверно, как и у всех нормальных людей on=ff00, off=0000.
Да, засада намечается...
Придётся просить ребят, возможно Boroda, напмсать блок для блока(реле).
Модбасом почему-то они это дело назвали?

Добавлено (04.03.2017, 11:41)
---------------------------------------------
Пока пробовал найти вразумительное описание на указанный модуль, нашёл на али модуль без мозгов, но почти даром вот такой


Если не получится на контроллере - сделаю на тразисторах и 155/176...

Сообщение отредактировал Sancho - Суббота, 04.03.2017, 10:54
 
Авиакот Дата: Понедельник, 10.04.2017, 10:52 | Сообщение # 5
Рядовой
Группа: Проверенные
Сообщений: 20
Награды: 0
Репутация: 0
Статус: Offline
С адресом в сети понял, благодарю Sancho, Ваши "многобукав" помогли. Некотрые продавцы этот модуль модбасом не именуют, что и смущает. Модуль без мозгов знаю, но он + ардуинка + rs485 одинаковы по цене, а тут все готово.
 Boroda, спасибо за блок, но пока проверить не могу, тему создавал чтоб убедиться, что закажу модуль не зря. У этой платы еще входы с развязкой есть, я так понимаю, их опрос по принципу опроса реле?
Видимо, придется заказать, чтобы точно узнать ответ на мой вопрос))) Может, еще мнения есть?

Добавлено (10.04.2017, 10:52)
---------------------------------------------
Модуль пришел, но средствами модбас программы  Flprog не управляется, только самописными командами.

Вопрос: Почему кадр команды стандартного модбаса выглядит так:  01 05 00 01 00 00 0a 9c , а кадр команды модбаса Flproga так: 01 05 00 01 00 00 9с 0а, т.е. байты CRC в посылке заменены местами?

 
Dev1 Дата: Понедельник, 10.04.2017, 12:26 | Сообщение # 6
Генерал-майор
Группа: Проверенные
Сообщений: 555
Награды: 9
Репутация: 16
Статус: Offline
Цитата Авиакот ()
Некотрые продавцы этот модуль модбасом не именуют, что и смущает.
Потому, что RS-485 это интерфейс, а ModBus это один из протоколов для передачи данных по этому интерфейсу...


Win7/10-64 FLProg v2.5.1 external IDE 1.8.5

 
Авиакот Дата: Понедельник, 10.04.2017, 14:01 | Сообщение # 7
Рядовой
Группа: Проверенные
Сообщений: 20
Награды: 0
Репутация: 0
Статус: Offline
Цитата Dev1 ()
Потому, что RS-485 это интерфейс, а ModBus это один из протоколов для передачи данных по этому интерфейсу...
Это понятно, вопрос звучит так: соответствует ли формирования CRC для данной платы протоколу модбас?

Добавлено (10.04.2017, 14:01)
---------------------------------------------
ФормированиЕ

 
Boroda Дата: Понедельник, 10.04.2017, 14:39 | Сообщение # 8
Генерал-лейтенант
Группа: Проверенные
Сообщений: 797
Награды: 36
Репутация: 36
Статус: Offline
Авиакот, Если CRC попутано местами, то это уже не Modbus. Вот калькулятор CRC, можете свои команды проверить.

Добавлено (10.04.2017, 14:39)
---------------------------------------------
Посмотрите CRC у других команд, таких как запись/чтение регистра.

 
Авиакот Дата: Понедельник, 10.04.2017, 14:44 | Сообщение # 9
Рядовой
Группа: Проверенные
Сообщений: 20
Награды: 0
Репутация: 0
Статус: Offline
Цитата Boroda ()
Вот калькулятор CRC
Проверил, в  Flprog CRC не правильно... и если через функцию Xor рассчитывать, тоже неверно.  Что я не учел?
 
Boroda Дата: Понедельник, 10.04.2017, 15:02 | Сообщение # 10
Генерал-лейтенант
Группа: Проверенные
Сообщений: 797
Награды: 36
Репутация: 36
Статус: Offline
Сначала идет младший байт, потом старший. Должно быть так: 01 05 00 01 00 00 9C 0A

Добавлено (10.04.2017, 14:49)
---------------------------------------------
Вот тут примеры команд есть.

Добавлено (10.04.2017, 14:51)
---------------------------------------------
Так что FLPROG правильно выдает.

Добавлено (10.04.2017, 15:02)
---------------------------------------------
Цитата Авиакот ()
кадр команды стандартного модбаса выглядит так:  01 05 00 01 00 00 0a 9c
А где вы такой Modbus взяли?


Сообщение отредактировал Boroda - Понедельник, 10.04.2017, 15:08
 
Авиакот Дата: Понедельник, 10.04.2017, 15:16 | Сообщение # 11
Рядовой
Группа: Проверенные
Сообщений: 20
Награды: 0
Репутация: 0
Статус: Offline
Цитата Boroda ()
А где вы такой Modbus взяли?
При расчете CRC не учел, что:
Цитата Boroda ()
Сначала идет младший байт, потом старший.
Признаю,
Цитата Boroda ()
Так что FLPROG правильно выдает.
А как эту проблему можно решить?
 
Boroda Дата: Понедельник, 10.04.2017, 15:19 | Сообщение # 12
Генерал-лейтенант
Группа: Проверенные
Сообщений: 797
Награды: 36
Репутация: 36
Статус: Offline
Цитата Авиакот ()
А как эту проблему можно решить?
Какую проблему?
У реле написано: 01 05 00 01 00 00 9C 0A, FLProg выдает: 01 05 00 01 00 00 9C 0A.

Добавлено (10.04.2017, 15:19)
---------------------------------------------
Если реле не управляется, то на какие команды оно тогда реагирует?

 
Авиакот Дата: Понедельник, 10.04.2017, 17:49 | Сообщение # 13
Рядовой
Группа: Проверенные
Сообщений: 20
Награды: 0
Репутация: 0
Статус: Offline
Цитата Boroda ()
Если реле не управляется, то на какие команды оно тогда реагирует?
Оказывается, были ошибки в китайском описании команд. Сейчас ситуация такая:  командой 01 05 00 ff ff ff fc 4а включаются все реле, а флагами (flprog) с адресами 1-4 они отключаются. Как включать реле флагами (какие поставить адреса)? и как опрашивать входы платы? команда для включения реле 1: 01 05 00 01 01 00 9d 9а, команда для опроса входов: 01 02 00 00 00 00 78 0a, ответ для первого входа: 01 02 01 01 60 48
 
Boroda Дата: Понедельник, 10.04.2017, 20:44 | Сообщение # 14
Генерал-лейтенант
Группа: Проверенные
Сообщений: 797
Награды: 36
Репутация: 36
Статус: Offline
Походу ничего не выйдет. Команда записи катушки в ModBus другая.

Добавлено (10.04.2017, 20:44)
---------------------------------------------
Так должно быть в нормальном, не китайском модбасе.

Включить первое реле:   01 05 00 00 FF 00 CD CA
Отключить первое реле: 01 05 00 00 00 00 8C 3A

Включить второе реле:   01 05 00 01 FF 00 DD FA
Отключить второе реле:  01 05 00 01 00 00 9C 0A

Прикрепления: 1809349.png(62Kb)


Сообщение отредактировал Boroda - Понедельник, 10.04.2017, 20:39
 
Авиакот Дата: Вторник, 11.04.2017, 18:31 | Сообщение # 15
Рядовой
Группа: Проверенные
Сообщений: 20
Награды: 0
Репутация: 0
Статус: Offline
Boroda, если я попрошу Вас помочь с написанием блока для управления большим количеством таких плат, Вы откликнитесь?
 
Форум » Основной » Спросить у знатоков » Modbas реле (Можно ли подключить?)
Страница 1 из 212»
Поиск:

FLProg © 2017
Яндекс.Метрика