|
Примеры работы по Modbus Примеры работы с частотниками, панелями и любыми другими устройствами, использующими Modbus-RTU/ASCII/TCP |
|
Опции темы | Поиск в этой теме |
04.06.2012, 15:43 | #1 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Работа с ОВЕН MB110-244.2A
Пример работает на заводских настройках модуля MB110-244.2A, выполнен для контроллера SMH-2Gi, но можно сконвертировать в проект для любого контроллера.
Карта памяти внутри проекта. Описание подключения и настроек внутри макроса. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
03.05.2017, 17:30 | #2 |
Senior Member
Регистрация: Sep 2012
Сообщения: 171
Благодарил(а): 4 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Добрый день. А есть такой же, только с перламутровыми пуговицами?)
Не могу одолеть МВ110-224.16Д. Даже с Сенекой сам разобрался, а тут не пойму в чём дело. Нужно всего-то сделать два входа для TRIM5: 9-й и 12-й. Не сочтите за наглость, просто с MODBUSом делов иметь не доводилось. Заранее спасибо. Спасибо!) Разобрался! Оказывается, нужно было ловить сигнал int, а я, по наивности, ждал bool. Получил маску, преобразовал её в Reg16-bits, и на соответствующем выходе получил долгожданную единичку!) Ох уж этот ОВЕН!) Да там не программа, только один блок. В карте памяти устройства указать тип Integer и адрес 51 - это карта состояния всех входов. Полученный результат заводим в блок reg16->bits, а уж он-то как раз и показывает, на каком из входов есть сигнал. Последний раз редактировалось Arsie, 03.05.2017 в 17:46 |
03.05.2017, 20:37 | #3 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 174
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Работа с ОВЕН MB110-244.2A
кому как, а я взял за правило, что при любой возможности битовые переменные следует брать как минимум байтом, а лучше сразу четырьмя, long-ом. экономия траффика чудовищная, особенно если битовых переменных не одна и не две и, кроме этого, экономятся теги у скад.
|
04.05.2017, 02:42 | #4 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Работа с ОВЕН MB110-244.2A
В случаях с модулями ОВЕН не получится прочитать битовые переменные отдельно, т.к. они лежат каждая в своём регистре и идут не подряд. Но хорошо, что у них есть специальный регистр, в котором хранится битовая маска состояний входов.
Кстати, для модулей вывода у них тоже есть битовая маска, которую можно записывать, чтобы получить нужные состояния на выходах модуля __________________ В сегнетиксе не работаю с самого начала 2019 года. |
04.05.2017, 10:55 | #5 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Работа с ОВЕН MB110-244.2A
Лоджик это делает автоматически, если разрешены групповые запросы.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
04.05.2017, 11:04 | #6 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 174
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Работа с ОВЕН MB110-244.2A
он что, собирает в int или long даже если задан тип bool? или я что-то не понимаю в модбасе
|
04.05.2017, 11:17 | #7 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Работа с ОВЕН MB110-244.2A
Цитата:
Только этот "типа лонг" длиной до 256 бит. Это гораздо эффективнее __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
04.05.2017, 11:21 | #8 | |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 174
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Работа с ОВЕН MB110-244.2A
Цитата:
когда адреса идут подряд - это понятно. |
|
04.05.2017, 11:42 | #9 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Работа с ОВЕН MB110-244.2A
Ну так сбор в инт/лонг - это разве не то же самое?)) Биты-то подряд идут)
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
18.06.2017, 22:12 | #10 |
Новичок
Регистрация: May 2017
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Работа с ОВЕН MB110-244.2A
Да бы не плодить темы, напишу тут.
Это для всего семейства ОВЕН МХ110 нужно проделывать "перевороты"? Просто читаю руководство для МЭ110-220, который измеряет электрические величины. Так там есть отдельные регистры для передачи значения в формате long ( целая часть величины ) и есть в формате float ( я так понимаю, что это и есть real? ) Допустим, мне не нужны знаки после запятой, я могу взять данные в формате long и просто вывести их на экран? |
19.06.2017, 10:51 | #11 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Работа с ОВЕН MB110-244.2A
Всё зависит от того, какие данные лежат в лонге. Быть может, там то же самое, со знаками после запятой, но умноженное на, например, тысячу. Вы прочитайте оба значения и выбирайте то, с которым работать удобнее. По крайней мере, я бы так сделал.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
22.08.2017, 12:46 | #12 |
Новичок
Регистрация: Mar 2017
Сообщения: 6
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Работа с ОВЕН MB110-244.2A
Добрый всем день!
Хочу поделиться опытом соединения SMH2g с ОВЕН MB110-224.16Д, мб кому-то пригодится. Как уже неоднократно писалось, состояние всех входов у ОВЕНа записывается в одной переменной по адресу 0034 (hex). Modscan32 на отлично видел эту переменную и отображал ее изменение. Но SMH упорно не хотел ее читать. Вытащил на поляну еще 2 соседние переменные с адресом 0033 и 0035 - результата не было, все 3 переменные показывали 0. Попробовал для каждой переменной выбрать 3 типа входа: Rin, Rout, Rin/out - результат тот же - только 0. Параметры сети перепроверялись 100500 раз, у SMH и ОВЕНа все совпадает, но связи нет. Обратился в поддержку: По удаленке создали пустой проект, вытащили на поляну 3 переменные по адресу 0033 Rin, Rout, Rin/out (оказывается для smlogic адрес регистра нужно уменьшать на 1, т.к. счет начинается не с 1 а с 0)- все заработало, на экране контроллера увидели состояние входов ОВЕНа. Руслан, еще раз спасибо! Но до этого я же использовал 0033 адрес и он тоже показывал 0!!! Причина оказалась в периоде опроса переменной в карте памяти: Дабы не забивать сеть, я выставил там значение 1000, а в пустом проекте было по умолчанию 100. Со значением 100 опрос идет, с 500 или 1000 - почему-то нет. В общем, выставил у себя в проекте частоту опроса 100 и все заработало! |
22.08.2017, 14:38 | #13 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Работа с ОВЕН MB110-244.2A
Цитата:
Этот опыт расписан у нас в справке, заодно там же объяснено, почему у овена адрес увеличен на единичку. http://dl.segnetics.com/WebHelp/SMLo...h_invertor.htm __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
23.08.2017, 10:39 | #14 |
Новичок
Регистрация: Mar 2017
Сообщения: 6
Благодарил(а): 2 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Работа с ОВЕН MB110-244.2A
Эх, вот говорил один товарищ что где-то был пример с частотником в хелпе, но так и не смог его найти. По запросу Modbus техническая инфа выдается, а вот на этот пример выхода нет. Нужно ручками в дереве хелпа до него дойти.
В принципе, этого и предыдущего поста (как и всей головной боли с этим модулем) бы не было, если бы при периоде опроса в 500 или 1000 переменные бы читались. А они стали читаться только при периоде в 100... Почему? |
23.08.2017, 11:05 | #15 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Работа с ОВЕН MB110-244.2A
Цитата:
Если бы было малО быстродействие модуля, то я бы ожидал обратного: чем быстрее опрос, тем хуже. А тут вообще не поддаётся логике. Хотя это не первое изделие этой компании, софт которого слабо поддаётся логике)) __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|