1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Modbus RTU и Kepserver. Помогите понять смещение

RS-485, ProfiBUS, 4-20 mA, Wi-Fi, GSM и так далее
Закрыто

Автор темы
Maxnordik
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 24 мар 2018, 01:26
Имя: Макс
Благодарил (а): 5 раз

Modbus RTU и Kepserver. Помогите понять смещение

Сообщение Maxnordik »

Доброго времени суток, коллеги!
Помогите пожалуйста разобраться с адресацией Modbus RTU. Собственно есть привод AUMA с родным блоком управления. Задача – получить данные о состоянии и управление задвижкой. Связь с блоком управления осуществляется через Modbus RTU. Далее Modbus RTU преобразуется в Modbus TCP посредствам преобразователя Moxa Mgate 3170 далее по Ethernet идет в ПК с установленным KepServer. Вот тут то не могу понять какой адрес регистра нужно указать у примеру на состоянии задвижки в положении закрыто. Вот что пишут в мануале AUMA с таблицей регистров(мануал на английском т.к. в русском мануале таблицы регистров нет вообще =((( ).

Reading the feedback signals from the actuator using status functions
Functions to be used:
Read Input Status (02)
Offset(hexadecimal) 0x2000
Offset (decimal) 8192
Content OPEN position

Я так понял, что для получения данных о состоянии открытой задвижки используется функция (02)(чтение дискретов) потом указывается смещение в шестнадцатеричной или десятичной форме. Вот что указывать в адресе KepServera (при создании тэга) не пойму. Если в KepServer указываю 8192 он выдает ошибку о неправильной адресации, если указываю 8192 он ее автоматически заменяет на 108192. Задвижка AUMA еще не установлена но хочется быть теоретически подготовленным =) Помогите пожалуйста люди добрые =)
Аватара пользователя

Serex
эксперт
эксперт
Сообщения: 2085
Зарегистрирован: 15 авг 2011, 21:36
Имя: Пупков Сергей Викторович
Страна: Россия
город/регион: Москва
Благодарил (а): 101 раз
Поблагодарили: 132 раза

Modbus RTU и Kepserver. Помогите понять смещение

Сообщение Serex »

По-любому снифер надо освоить :)
Посылаешь из KeepServera запрос и смотришь, что на шине RS-485 происходит.

Отправлено спустя 15 минут 33 секунды:
Как-то налаживал связь между S7-1200 и расходомером. Мало того, что не понятно, что из контроллера там за запросы идут, так еще и расходомер не пойми какие запросы требует. Узнал у поставщика, что расходомер имеет адрес "1" и так и эдак посылал запросы по этому адресу, нет ответа. Снифером смотрю, тоже нет ответа. Начал один и тот же запрос посылать по разным адресам. Увидел что совсем на другом адресе просходит ответ о неверном запросе. Начал мучать этот адрес и добился обмена пакетами. Без снифера это было бы просто невозможно наладить.

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5620
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 544 раза
Поблагодарили: 706 раз

Modbus RTU и Kepserver. Помогите понять смещение

Сообщение Ryzhij »

Вот в отличие от формата Семёна с его извращённым своппингом, Лектуса с его глюками и от прочих поделок у КипСервера самые вменяемые настройки, полностью удовлетворяющие требованиям стандарта Модбас.
Всё там предсказуемо.

Судя по Вашему описанию, у Вас область чтения начинается с нулевого входного регистра, но точнее можно будет сказать, если Вы благословите нас ссылкой на описание карты Модбас Вашей Auma.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Автор темы
Maxnordik
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 24 мар 2018, 01:26
Имя: Макс
Благодарил (а): 5 раз

Modbus RTU и Kepserver. Помогите понять смещение

Сообщение Maxnordik »

Ryzhij писал(а): 24 мар 2018, 18:17 Вот в отличие от формата Семёна с его извращённым своппингом, Лектуса с его глюками и от прочих поделок у КипСервера самые вменяемые настройки, полностью удовлетворяющие требованиям стандарта Модбас.
Всё там предсказуемо.

Судя по Вашему описанию, у Вас область чтения начинается с нулевого входного регистра, но точнее можно будет сказать, если Вы благословите нас ссылкой на описание карты Модбас Вашей Auma.
Да, конечно. Вот вырезка из мануала касаемо таблицы регистров
Modbus AUMA.pdf
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1746
Зарегистрирован: 18 янв 2009, 12:25
Имя: Дмитрий
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 132 раза

Modbus RTU и Kepserver. Помогите понять смещение

Сообщение hell_boy »

Maxnordik писал(а): 24 мар 2018, 02:14Если в KepServer указываю 8192 он выдает ошибку о неправильной адресации, если указываю 8192 он ее автоматически заменяет на 108192.
Да, все правильно
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой
Аватара пользователя

MuadDib
частый гость
частый гость
Сообщения: 462
Зарегистрирован: 31 июл 2010, 09:12
Имя: Павел
Страна: РФ
Благодарил (а): 8 раз
Поблагодарили: 13 раз

Modbus RTU и Kepserver. Помогите понять смещение

Сообщение MuadDib »

Выдержка из мана KEPWare:

Код: Выделить всё

                       Decimal Addressing     Hexadecimal Addressing
Type

                                 Boolean
Format

                                 1xxxxx             H1yyyyy
Security

                             Read Only
 
Range

                               1 - 65536          1 - 10000
 
Function Codes (decimal)
                                 02
  
 

То есть, когда вы записываете адрес в формате "108192", вы говорите серверу, что надо читать адрес устройства "8192" функцией "02".

Автор темы
Maxnordik
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 24 мар 2018, 01:26
Имя: Макс
Благодарил (а): 5 раз

Modbus RTU и Kepserver. Помогите понять смещение

Сообщение Maxnordik »

Всем Всем Всем кто ответил :thankyou:

Andy_ry
здесь недавно
здесь недавно
Сообщения: 2
Зарегистрирован: 02 ноя 2015, 16:38
Имя: Еднерал Андрей Романович
Страна: Россия
город/регион: Москва, Щербинка
Поблагодарили: 1 раз

Modbus RTU и Kepserver. Помогите понять смещение

Сообщение Andy_ry »

Разница между номером регистра и его адресом есть смещение или offset. Для Вашего случая (Read Input Status (02)) базовое смещение 10001 (адрес регистра 0000). 10001+8192=18193 - номер регистра, который надо забивать. Путаница происходит из-за того, что в документации под смещением понимают и адрес и смещение и номер. Где как. Потому народ снифферами пользуется. Так вернее.
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17466
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 744 раза
Поблагодарили: 1277 раз

Modbus RTU и Kepserver. Помогите понять смещение

Сообщение Jackson »

Andy_ry писал(а): 19 фев 2020, 17:15 Путаница происходит из-за того, что в документации под смещением понимают и адрес и смещение и номер. Где как. Потому народ снифферами пользуется. Так вернее.
А тем временем, идёт 21 век. Жесть.
По вопросам работы Форума можно обратиться по этим контактам.
Закрыто

Вернуться в «Интерфейсы, протоколы, связь»