Показано с 1 по 9 из 9

Тема: МВА-8 и MODBUS

  1. #1

    По умолчанию МВА-8 и MODBUS

    Добрый день.

    Вопрос в следующем:
    имеется прибор МВА-8 (версия прошивки 7.5), подключенный через преобразователь к порту COM. На компьютере LINUX. И есть желание использовать для общения с прибором протокол MODBUS-RTU, так как нужно всего лишь вычитывать результаты измерений по всем каналам. Отправляю на порт запрос

    0x16 0x03 0x00 0x00 0x00 0x30 CRC CRC,

    а в ответ тишина.
    В чем тут может быть дело???

    По протоколу ОВЕН работа идет нормально, а MODBUS молчит.
    Протокол в конфигураторе изменил на MODBUS-RTU

  2. #2

    По умолчанию

    а модуль когда приобретался?
    возможно в нем еще не реализован модбас?

  3. #3
    Пользователь
    Регистрация
    20.07.2007
    Адрес
    Киров
    Сообщений
    154

    По умолчанию

    Цитата Сообщение от src Посмотреть сообщение
    По протоколу ОВЕН работа идет нормально, а MODBUS молчит.
    Протокол в конфигураторе изменил на MODBUS-RTU
    1. А после изменения протокола питание сбрасывали ?
    2. После сброса питания конфигуратором снова не подключались ? (После соединения с конфигуатором протокол чудесным образом меняется на ОВЕН )

  4. #4

    По умолчанию

    Адрес прибора в десятичной 16, в hex = 0x10
    т.е. запрос будет начинаться не
    0x16 0x03 0x00
    а
    0x10 0x03 0x00

  5. #5

    По умолчанию

    Да и запрос какой то странный, 48 регистров сразу прибор не отдаст

  6. #6
    SvetlyLuch
    Гость

    По умолчанию мва 8 и Modbus

    Добрый день
    Подскажите пожалуйста, будет ли работать следующая схема: устройства по Modbus связаны с преобразователем, дальше по Ethernet со SCADA. Будет ли работать такая схема?
    Последний раз редактировалось Кирилл Валюнин; 21.10.2009 в 12:53.

  7. #7

  8. #8

    По умолчанию

    видимо, путаете. Crc и есть контрольная сумма, которая вычисляется по значениям байтов 1,2,3

  9. #9

    По умолчанию

    Здравствуйте. Я уже неделю изучаю ваши форумы, но найти что-либо полезное так и не смог, кроме того, что прибор протокол общения определяет автоматически. У меня 3 прибора: МВ110-8АС, МУ110-6У, МУ110-8Р. Я пытаюсь связаться с МВ110-8АС через ком порт консольно и ничего не выходит. Воткнут сразу в com1 материнской платы. Первичная задача - общаться консольно из под linux (использую gtcterm). Далее пойдёт код на Python. Сейчас я нахожусь на уровне уважаемого SRC потому и пишу в эту тему. Я НЕ МОГУ прорваться к прибору НАПРЯМУЮ - получилось только из под Windows с утилиты Конфигуратор и с утилиты bb_commtest для modbus (позволяет отсылать только команды записи и чтения регистров в формате modbus RTU). USB переходинк - использую для Windows (и под Linux тоже пробовал его с дровами - не помогло).

    Настройки порта:
    для Linux название /dev/ttyS0 для Windows com1
    скорость 9600 8/1
    Паритет none контроль потока none

    С bb_commtest у меня выходят следующие диалоги:
    100300000001874B
    1003020002C586

    1003000C014748
    10030200C845D1

    10030058010698
    10830290F4

    1003008800010761
    1003020006C445
    причём эти диологи получаются при настройке 9600 8/2 при 8/1 программа работает исключительно с паритетом и выдаёт билиберду. Под Linux пробовал и 8/1 и 8/2...
    первые три регистра читал наугад, в четвёртом, я так понимаю, он мне ответил "аппаратный сброс" - причина включения устройства.
    Эти же строки я пробую вводить gtcterm и в режиме шестнадцатеричного ввода и в режиме ASCII
    CRC генерировал тут http://vk.com/away.php?utf=1&to=http...lculation.html
    В основное окно программы макросом пишу:
    С полиномом для ASCII modbus
    :1003008800013E2A\0D - этот вариант на всякий случай
    :1003008800012A3E\0D - этот правильный по моему мнению
    С полиномом для обычного ASCII crc-16
    :1003008800014E3C\0D
    :1003008800013C4E\0D
    В окно для шестнадцатеричного ввода пишу:
    С полиномом для RTU modbus
    10 03 00 88 00 01 07 61 0D - совпадает с тем, что пишет утилита bb_commtest
    10 03 00 88 00 01 61 07 0D
    С полиномом для обычного RTU crc-16
    10 03 00 88 00 01 07 7A 0D
    10 03 00 88 00 01 7A 07 0D

    На всё ОВЕН упрямо молчит. Пробовал писать писать из Гиппер терминала (в ASCII режиме соответственно) те же строки, ещё из терминала Terminal 1_9_b (тоже ASCII) - ОВЕН молчит.
    PS хочу указать, что я новичок и в com портах и в modbud и в приборах ОВЕН. Документацию всю перебирал и по ОВНУ и по modbus. может что и пропустил.
    Самые простые вопросы, которые возникли:
    1. Что я делаю не так?
    2. Правильно ли указываю начало/конец строки
    3. Правильно ли всё с CRC
    4. нужны ли разделители в режиме ASCII
    5. Управление потоком нужно или нет?
    6......
    опишите пожалуйста весь процесс работы из под линукс в терминале, кто эти занимался. Спасибо

Ваши права

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