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

Тема: Регистры МВ 110-8ДФ

  1. #1

    По умолчанию Регистры МВ 110-8ДФ

    Доброго времени суток.
    Пишу программу для рабты с блоком ввода МВ 110-8ДФ, и вот что получается:
    Отправляю сообщение: 10 10 00 41 00 01 00 00 00 С9
    Получаю ответ: 10 10 00 40 00 01 03 5C
    Всё вродебы ничего. Просто обнулил регистр с адресом 0040
    Далее анлогично обнуляю остальные регистры.
    Сообщения: 10 10 00 41 00 01 00 00 3D 09, 10 10 00 42 00 01 00 00 79 09 и тд.
    Ответы соответственно: 10 10 00 41 00 01 52 9C, 10 10 00 42 00 01 A2 9C и тд.

    После этого считываю значение всех восьми регистров: 10 03 00 40 00 08 46 99
    И получаю ответ: 10 03 10 0000 003D 0079 0044 00F1 00CC 0088 00B5 79 C7
    Непонятно. Получается что обнуляется только первый регистр, а остальные заполнены какимито числами не имеющими между собой никакой явной последовательности.

    И ещё вопрос, что обозначает чисо 16 после команды в ответном фрэйме? Это количествобайт в регистрах? Для чего эта цифра?

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

    По умолчанию

    Вы же можете набрать команду 10 03 00 41 00 01 CRC, тем самым отдельно проверить каждый регистр
    третий байт должен показывать количество байт "полезной нагрузки" сообщения без CRC

  3. #3

    По умолчанию

    Попробовал... Дело в том что в регистры в место нолей записываются какие-то числа. И как их не прочитай все одно и тоже. Эти же числа выводит и программа конфигуратор. Зато сам конфигуратор регистры обнуляет очень даже хорошо, и при запросе из моей программы я получаю нули. Баг... Конфигуратор связывается с блоком по другому протоколу, а по модбасу всё работает не так как надо.
    Кстати у меня тут стоит ещё МУ110-8Р. В нем тоже чтото не так. Записываю битовую маску выходов 00, блок отвечает что всё нормально и включает 2, 4, 5, 8 реле. Непонятно...

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

    По умолчанию

    попробуйте записать 6 функцией (Preset Single Register), если опять не пойдет, попробуйте скачать эмулятор слейва и на нем сперва потренироваться, возможно Вы не угадали с передачей байт (BE или LE)

  5. #5

    По умолчанию

    По 8ДФ
    Запись в 41ый регистр 0
    Request
    00:07 [10][10][00][41][00][01][02][00]
    08:0F [00][69][11]
    Response
    00:07 [10][10][00][41][00][01][52][9C]

    Считываем 8м регситров (с 40го)
    00:07 [10][03][00][40][00][08][46][99]

    Response
    00:07 [10][03][10][00][00][00][00][00]
    08:0F [00][00][00][00][00][00][00][00]
    10:17 [00][00][00][1D][66]

    все пустые

    Записываем в 41 регистр 6
    Request
    00:07 [10][10][00][41][00][01][02][00]
    08:0F [06][E9][13]
    Response
    00:07 [10][10][00][41][00][01][52][9C]

    Считываем 8м регистров (с 40 го)
    Request
    00:07 [10][03][00][40][00][08][46][99]

    Response
    00:07 [10][03][10][00][00][00][06][00]
    08:0F [00][00][00][00][00][00][00][00]
    10:17 [00][00][00][14][A0]

    6 ка на своем месте; ничего постороннего нет
    Кирилл Валюнин
    Компания ОВЕН
    Директор по развитию ассортимента

    skype: valunin_owen
    e-mail:k.valyunin@owen.ru

  6. #6

    По умолчанию

    по 8Р выложите команду, которой пишете битову маску, пожалуйста
    Кирилл Валюнин
    Компания ОВЕН
    Директор по развитию ассортимента

    skype: valunin_owen
    e-mail:k.valyunin@owen.ru

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

    По умолчанию

    странно конечно что модули себя так ведут
    10 10 00 41 00 01 00 00 00 С9
    и правильный
    [10][10][00][41][00][01][02][00][00][69][11]
    насколко я знаю
    1. Если Slave принимает корректный запрос и может его нормально обработать, то возвращает нормальный ответ.
    2. Если Slave не принимает какого-либо значения, никакого ответа не отправляется. Master диагностирует ошибку по тайм-ауту.
    3. Если Slave принимает запрос, но обнаруживает ошибку (parity, LRC, or CRC), никакого ответа не отправляется. Master диагностирует ошибку по тайм-ауту.
    4. Если Slave принимает запрос, но не может его обработать (обращение к несуществующему регистру и т. д.), отправляется ответ содержащий в себе данные об ошибке.
    я поэтому и не всматривался в запросы, ответы то были

  8. #8

    По умолчанию

    Благодарю за ответы. Действительно всё работает. Сбило столку то что блок не выдал сообщения об ошибке. И ещё то что стандарт я читал очень давно, и всего я просто не помню, а большинство производителей не используют байт количества полезной нагрузки. Если честно вообще в первый раз увидел его, хотя работал со многими блоками и ввода-вывода и релейной защиты и прочей автоматики.

  9. #9

    По умолчанию

    С битовой маской история таже.

Похожие темы

  1. ПЛК 100, регистры и CRC
    от danko в разделе Помощь Разработчикам
    Ответов: 17
    Последнее сообщение: 21.02.2018, 11:52
  2. регистры.... регистры...
    от vvu2011 в разделе Панели оператора (HMI)
    Ответов: 1
    Последнее сообщение: 30.10.2010, 10:49
  3. регистры
    от кубанец в разделе Панели оператора (HMI)
    Ответов: 1
    Последнее сообщение: 13.05.2010, 15:17

Ваши права

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