Segnetics

Вернуться   Segnetics > Форум Segnetics > Связь с внешним миром > Примеры работы по Modbus

Примеры работы по Modbus Примеры работы с частотниками, панелями и любыми другими устройствами, использующими Modbus-RTU/ASCII/TCP

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.06.2012, 15:43   #1
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 035
Благодарил(а): 9 раз(а)
Поблагодарили: 479 раз(а) в 437 сообщениях
По умолчанию Работа с ОВЕН MB110-244.2A

Пример работает на заводских настройках модуля MB110-244.2A, выполнен для контроллера SMH-2Gi, но можно сконвертировать в проект для любого контроллера.

Карта памяти внутри проекта. Описание подключения и настроек внутри макроса.
Вложения
Тип файла: psl MB110-244.2A (2Gi).psl (85.3 Кбайт, 641 просмотров)


__________________
Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме  
Старый 03.05.2017, 17:30   #2
dp38
Senior Member
 
Регистрация: Sep 2012
Сообщения: 169
Благодарил(а): 4 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию

Добрый день. А есть такой же, только с перламутровыми пуговицами?)
Не могу одолеть МВ110-224.16Д. Даже с Сенекой сам разобрался, а тут не пойму в чём дело. Нужно всего-то сделать два входа для TRIM5: 9-й и 12-й. Не сочтите за наглость, просто с MODBUSом делов иметь не доводилось.
Заранее спасибо.

Спасибо!) Разобрался! Оказывается, нужно было ловить сигнал int, а я, по наивности, ждал bool. Получил маску, преобразовал её в Reg16-bits, и на соответствующем выходе получил долгожданную единичку!) Ох уж этот ОВЕН!)

Да там не программа, только один блок. В карте памяти устройства указать тип Integer и адрес 51 - это карта состояния всех входов. Полученный результат заводим в блок reg16->bits, а уж он-то как раз и показывает, на каком из входов есть сигнал.
Миниатюры
Нажмите на картинку для увеличения

Название:  Маска.png
Просмотров: 296
Размер:  179.7 Кбайт  

Последний раз редактировалось Arsie, 03.05.2017 в 17:46
dp38 вне форума  
Старый 03.05.2017, 20:37   #3
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 3 448
Благодарил(а): 173 раз(а)
Поблагодарили: 104 раз(а) в 97 сообщениях
По умолчанию Ответ: Работа с ОВЕН MB110-244.2A

кому как, а я взял за правило, что при любой возможности битовые переменные следует брать как минимум байтом, а лучше сразу четырьмя, long-ом. экономия траффика чудовищная, особенно если битовых переменных не одна и не две и, кроме этого, экономятся теги у скад.


__________________
C уважением, LordN
LordN вне форума  
Старый 04.05.2017, 02:42   #4
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Работа с ОВЕН MB110-244.2A

В случаях с модулями ОВЕН не получится прочитать битовые переменные отдельно, т.к. они лежат каждая в своём регистре и идут не подряд. Но хорошо, что у них есть специальный регистр, в котором хранится битовая маска состояний входов.

Кстати, для модулей вывода у них тоже есть битовая маска, которую можно записывать, чтобы получить нужные состояния на выходах модуля


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума  
Старый 04.05.2017, 10:55   #5
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 035
Благодарил(а): 9 раз(а)
Поблагодарили: 479 раз(а) в 437 сообщениях
По умолчанию Ответ: Работа с ОВЕН MB110-244.2A

Цитата
Сообщение от LordN Посмотреть сообщение
кому как, а я взял за правило, что при любой возможности битовые переменные следует брать как минимум байтом, а лучше сразу четырьмя, long-ом. экономия траффика чудовищная, особенно если битовых переменных не одна и не две и, кроме этого, экономятся теги у скад.
Лоджик это делает автоматически, если разрешены групповые запросы.


__________________
Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме  
Старый 04.05.2017, 11:04   #6
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 3 448
Благодарил(а): 173 раз(а)
Поблагодарили: 104 раз(а) в 97 сообщениях
По умолчанию Ответ: Работа с ОВЕН MB110-244.2A

Цитата:
Сообщение от Arsie Посмотреть сообщение
Лоджик это делает автоматически, если разрешены групповые запросы.
он что, собирает в int или long даже если задан тип bool? или я что-то не понимаю в модбасе


__________________
C уважением, LordN
LordN вне форума  
Старый 04.05.2017, 11:17   #7
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 035
Благодарил(а): 9 раз(а)
Поблагодарили: 479 раз(а) в 437 сообщениях
По умолчанию Ответ: Работа с ОВЕН MB110-244.2A

Цитата
Сообщение от LordN Посмотреть сообщение
он что, собирает в int или long даже если задан тип bool? или я что-то не понимаю в модбасе
Что-то типа того. Не int/long, т.к. это для модбаса недопустимо, но все булы уходят/приходят единственной посылкой. Получается "Типа long".

Только этот "типа лонг" длиной до 256 бит. Это гораздо эффективнее


__________________
Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме  
Старый 04.05.2017, 11:21   #8
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 3 448
Благодарил(а): 173 раз(а)
Поблагодарили: 104 раз(а) в 97 сообщениях
По умолчанию Ответ: Работа с ОВЕН MB110-244.2A

Цитата:
Сообщение от Arsie Посмотреть сообщение
Что-то типа того. Не int/long, т.к. это для модбаса недопустимо, но все булы уходят/приходят единственной посылкой. Получается "Типа long".

Только этот "типа лонг" длиной до 256 бит. Это гораздо эффективнее
а, вот вы о чем..
когда адреса идут подряд - это понятно.


__________________
C уважением, LordN
LordN вне форума  
Старый 04.05.2017, 11:42   #9
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 035
Благодарил(а): 9 раз(а)
Поблагодарили: 479 раз(а) в 437 сообщениях
По умолчанию Ответ: Работа с ОВЕН MB110-244.2A

Цитата
Сообщение от LordN Посмотреть сообщение
а, вот вы о чем..
когда адреса идут подряд - это понятно.
Ну так сбор в инт/лонг - это разве не то же самое?)) Биты-то подряд идут)


__________________
Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме  
Старый 18.06.2017, 22:12   #10
BraS
Новичок
 
Регистрация: May 2017
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Работа с ОВЕН MB110-244.2A

Да бы не плодить темы, напишу тут.

Это для всего семейства ОВЕН МХ110 нужно проделывать "перевороты"?
Просто читаю руководство для МЭ110-220, который измеряет электрические величины.
Так там есть отдельные регистры для передачи значения в формате long ( целая часть величины ) и есть в формате float ( я так понимаю, что это и есть real? )
Допустим, мне не нужны знаки после запятой, я могу взять данные в формате long и просто вывести их на экран?
BraS вне форума  
Старый 19.06.2017, 10:51   #11
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Работа с ОВЕН MB110-244.2A

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


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума  
Старый 22.08.2017, 12:46   #12
mr.bug
Новичок
 
Регистрация: 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 и все заработало!
mr.bug вне форума  
Старый 22.08.2017, 14:38   #13
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 035
Благодарил(а): 9 раз(а)
Поблагодарили: 479 раз(а) в 437 сообщениях
По умолчанию Ответ: Работа с ОВЕН MB110-244.2A

Цитата
Сообщение от mr.bug Посмотреть сообщение
Добрый всем день!
Хочу поделиться опытом соединения SMH2g с ОВЕН MB110-224.16Д, мб кому-то пригодится.

Этот опыт расписан у нас в справке, заодно там же объяснено, почему у овена адрес увеличен на единичку.

http://dl.segnetics.com/WebHelp/SMLo...h_invertor.htm


__________________
Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме  
Старый 23.08.2017, 10:39   #14
mr.bug
Новичок
 
Регистрация: Mar 2017
Сообщения: 6
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Работа с ОВЕН MB110-244.2A

Эх, вот говорил один товарищ что где-то был пример с частотником в хелпе, но так и не смог его найти. По запросу Modbus техническая инфа выдается, а вот на этот пример выхода нет. Нужно ручками в дереве хелпа до него дойти.
В принципе, этого и предыдущего поста (как и всей головной боли с этим модулем) бы не было, если бы при периоде опроса в 500 или 1000 переменные бы читались. А они стали читаться только при периоде в 100... Почему?
mr.bug вне форума  
Старый 23.08.2017, 11:05   #15
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 035
Благодарил(а): 9 раз(а)
Поблагодарили: 479 раз(а) в 437 сообщениях
По умолчанию Ответ: Работа с ОВЕН MB110-244.2A

Цитата
Сообщение от mr.bug Посмотреть сообщение
Эх, вот говорил один товарищ что где-то был пример с частотником в хелпе, но так и не смог его найти. По запросу Modbus техническая инфа выдается, а вот на этот пример выхода нет. Нужно ручками в дереве хелпа до него дойти.
В принципе, этого и предыдущего поста (как и всей головной боли с этим модулем) бы не было, если бы при периоде опроса в 500 или 1000 переменные бы читались. А они стали читаться только при периоде в 100... Почему?
Думаю, это вопрос к программистам Овена.

Если бы было малО быстродействие модуля, то я бы ожидал обратного: чем быстрее опрос, тем хуже. А тут вообще не поддаётся логике.

Хотя это не первое изделие этой компании, софт которого слабо поддаётся логике))


__________________
Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме  
Старый 04.04.2018, 18:56   #16
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 23 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
Angry Ответ: Работа с ОВЕН MB110-244.2A

Цитата:
Сообщение от Arsie Посмотреть сообщение
Ну так сбор в инт/лонг - это разве не то же самое?))
Битовая маска (16 бит, 1 переменная в скаде):
0000000100000001 (11h)

Ваш вариант (256 бит, 16 переменных в скаде):
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
1111111111111111 (FFh)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
1111111111111111 (FFh)

Как-то мало похоже на "то же самое"...
ailcat вне форума  
Старый 04.04.2018, 18:57   #17
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 035
Благодарил(а): 9 раз(а)
Поблагодарили: 479 раз(а) в 437 сообщениях
По умолчанию Ответ: Работа с ОВЕН MB110-244.2A

Цитата:
Сообщение от ailcat Посмотреть сообщение
Битовая маска (16 бит):
0000000100000001 (11h)

Ваш вариант (256 бит):
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
1111111111111111 (FFh)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
0000000000000000 (00h)
1111111111111111 (FFh)

Как-то мало похоже на "то же самое"...
Поясните, пожалуйста, вы о чём вообще?


__________________
Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме  
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с ОВЕН МК110-8Д.4Р (решено) koch-tech Примеры работы по Modbus 6 19.07.2017 17:01
Работа с ОВЕН MB110-224.8A andre Примеры работы по Modbus 0 14.07.2017 13:06
Работа с ОВЕН MB110-8AC Arsie Примеры работы по Modbus 3 11.09.2012 14:51
Работа с ОВЕН MB110-244.2AC Arsie Примеры работы по Modbus 0 04.06.2012 15:41
Работа с ОВЕН МДВВ Thin_Ice Связь с внешним миром 15 31.03.2012 05:16


Часовой пояс GMT +4, время: 16:40.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2021