Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 23

Тема: MB110 Linux ModBus как начать?

  1. #1

    По умолчанию MB110 Linux ModBus как начать?

    Здравствуйте. Я уже неделю изучаю ваши форумы, но найти что-либо полезное так и не смог, кроме того, что прибор протокол общения определяет автоматически. Возможно стоит как-то упорядочить его, создать отдельно инструкции для линуксоидов.
    У меня 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 программа работает исключительно с паритетом и выдаёт билиберду.
    первые три регистра читал наугад, в четвёртом, я так понимаю, он мне ответил "аппаратный сброс" - причина включения устройства.
    Эти же строки я пробую вводить gtcterm и в режиме шестнадцатеричного ввода и в режиме ASCII, и 8/1 и 8/2 без паритета
    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. Правильно ли всё с CRC?
    3. нужны ли разделители в режиме ASCII между байтами
    4. Управление потоком нужно или нет? Вероятнее всего, мне кажется, я не правильно настраиваю COM порт, может интервалы какие-нибудь..
    5. Начальник сваливает всё на версию COM интерфейса ПО. Дескать, она у gtcterm и Hyper Terminal одинаковая и не подходит к ОВЕН. Может ли быть такое?
    Что я делаю не так? Опишите пожалуйста весь процесс работы из под линукс в терминале, кто этим занимался. Спасибо
    Последний раз редактировалось multimorf; 19.05.2015 в 15:54.

  2. #2

    По умолчанию

    Только что попробовал вот так вот:
    root@hardbox:~/server/1.3.11/mxu11x0# python
    Python 2.7.6 (default, Mar 22 2014, 22:59:38)
    [GCC 4.8.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import serial
    >>> ser = serial.Serial('/dev/ttyS0', 9600, timeout=1)
    >>> ser.write("\x7E\x10\x03\x00\x88\x00\x01\x07\x61")
    9
    >>> ser.write("\x7E\x10\x03\x00\x88\x00\x01\x07\x61\x7 E")
    10
    >>> ser.write("\x7E\x10\x03\x00\x88\x00\x01\x07\x61\x7 E")
    10
    >>> ser.write("\x7E\x10\x03\x00\x88\x00\x01\x07\x61\x7 E\x0D")
    11

  3. #3
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    не пробовали конфигуратором подключится к прибору, может тоже ему не отвечает?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  4. #4

    По умолчанию

    Конфигуратор работает отлично! Настройки пишутся, данные каналов читаются

  5. #5

    По умолчанию

    Снимок попытки использования ModPoll.
    2.jpeg
    Последний раз редактировалось multimorf; 20.05.2015 в 11:02.

  6. #6
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    не мешало бы выложить тогда уж вывод команды dmesg и хотя бы сказать какой у Вас конвертер
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  7. #7

    По умолчанию

    Забыл указать, что на Linux я тоже всего месяц сижу. Пожалуйста укажите какие параметры использовать для dmesg. О каком преобразователе вы спрашиваете?

  8. #8
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Воткнут сразу в com1 материнской платы.
    О каком преобразователе вы спрашиваете?
    На бытовых компах нет 485-го интерфейса. Как вы модуль в ком-порт напрямую подключить умудрились?

  9. #9

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    Как вы модуль в ком-порт напрямую подключить умудрились?
    Штырьки на плате и переходник на стандартный разъём...
    Если интерфейс действительно не поддерживается, то через Uport в USB на Linux я тоже пробовал.

  10. #10
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Штырьки на плате и переходник на стандартный разъём.
    Что именно за плата? У неё есть RS-485?
    через Uport в USB на Linux я тоже пробовал
    И соответственно вместо /dev/ttyS0 другой порт указывали?

Страница 1 из 3 123 ПоследняяПоследняя

Похожие темы

  1. подскажите как начать?
    от ereticco в разделе Программируемые реле
    Ответов: 4
    Последнее сообщение: 12.04.2015, 18:59
  2. MB110-224.8A и MasterOPC Universal Modbus Server
    от mkv в разделе Master SCADA 3
    Ответов: 7
    Последнее сообщение: 19.04.2013, 13:52
  3. ТРМ200 и Linux. Как считать данные?
    от galyuck в разделе Помощь Разработчикам
    Ответов: 8
    Последнее сообщение: 14.08.2012, 03:11
  4. Ответов: 6
    Последнее сообщение: 25.02.2010, 20:35

Метки этой темы

Ваши права

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