Adam 4017+ и его протоколы Modbus и Advantech. Мой опыт подключения. | ПЛК и АСУТП

4017+В рамках нового проекта нужно прикрутить модуль аналогового ввода Adam 4017+ к ПК с ТрейсМод 6.07. В отличии от многих других модулей фирмы Advantech(например, в отличии от просто ADAM 4017, без плюса) ADAM 4017+ может передавать данные не только по протоколу Advantech, но и по протоколу Modbus RTU.
Как всегда, возник ряд сложностей.

Сначала я хотел подключить этот модуль по модбас. Первая проблема- не нашел описание протокола модбас для этого модуля.
В официальном документе Advantech «ADAM 4000. DataAcquisition Modules.User’s Manual» нет описания протокола модбас. Пару дней полазив по нету нашел-таки описание протокола модбас для модулей серии 4000. Описание этого протокола нашлось, как ни странно, в…. том самом документе «ADAM 4000. DataAcquisition Modules.User’s Manual», но в новой редакции (Edition 10.3 October. 2006).
В этой редакции есть приложение под названием «Appendix G ADAM-4000 I/O Modbus Mapping Table».

В связи с этим, будь бдителен- под одним и тем же названием «ADAM 4000. DataAcquisition Modules.User’s Manual», в сети есть документы с разным содержанием. Ориентироваться нужно по номеру редакции.

adam4017p_modbus_800x600

Подключившись по этой таблице, увидел, что в качестве текущего значения аналогового сигнала(Current Value) передается 2-байтное число Word.
В этих 2-х байтах кодируется аналоговый сигнал заданного диапазона.

Например, если аналоговый вход настроен на диапазон 4… 20 мА, прибор будет передавать такие данные.

Сигнал на аналоговом входе Adam 4017+
Передаваемое значение (Word) по Modbus
<4 mA
65535
4 mA
0
12 mA
32767
20 mA
65535
>20 mA
65535

Как видно, по модбас Адам передает либо число в диапазоне 0… 65535, что соответствует заданному диапазону сигнала(в моем случае 4… 20 мА). Либо просто-напросто число 65535, что можно понимать и как «сигнал= 20 мА», и как » сигнал>20 мА». и как «сигнал< 4 мА»….
Фактически, по модбас передается результат аналого-цифрового преобразования сигнала в рамках заданного диапазона. Я бы назвал это «режим АЦП».

Лично меня не устраивает такой результат работы ADAM 4017+ по модбас.
Я бы хотел видеть(не теряя точности измерения, конечно) выход сигнала за заданный диапазон.
Т.е. если на вход модуля приходит 2 мА, я хочу видеть 2 мА, а не «сигнал или меньше 4 мА, или 20 мА, или больше».
Выставить другой диапазон измерения +-20 мА тоже не выход- точность измерения падает в 3 раза по сравнению с 4… 20 мА.

При работе в протоколе Advantech, такой проблемы не наблюдается.
Напомню, в протоколе Advantech данные передаются в ASCII.
То есть, тупо текстом.

Даже если прибор настроен на диапазон 4… 20 мА, прибор видит и передает по протоколу «на верх» данные от -22 мА до +22 мА. Если сигнал> 22 мА, передает число 999999. Если <-22 мА. передает число -999999.

Сигнал на аналоговом входе ADAM 4017+
Передаваемое значение по протоколу Advantech
<-22 mA
-999999
-20 мА
-20.000
0 mA
0.000
20 mA
20.000
>22 mA
999999
Вывод: Adam 4017+ лучше опрашивать по протоколу Advantech.
Протокол Modbus в нем реализован плохо.
Если нужен модуль аналогового ввода, работающий в составе сети Modbus с другими приборами, нужно купить модель другой фирмы.

3 комментария: Adam 4017+ и его протоколы Modbus и Advantech. Мой опыт подключения.

  • Никита говорит:

    Добрый день!
    Алексей, у меня к 6-му каналу ADAM 4017 подключен сигнал 4-20 мА. Как с помощью простого ModBus тестера можно сделать опрос устройства и получить результат? Какие регистры надо опрашивать?

  • Алексей говорит:

    Здравствуйте!
    Смотрите таблицу: http://plc-blog.com.ua/wp-content/uploads/2014/02/adam4017p_modbus_800x600.jpg
    По таблице выходит, что для чтения 6-го канала Adam 4017+ нужно обратиться по модбас:

    Код 4x
    Адрес 7

    Ответ- 2 байта (Word)

    Только что проверил связь программой «Modbus Tester beta ver. 0.3», чтение канала идет нормально.

  • Никита говорит:

    Спасибо за ответ, но все равно не получается. Штатная утилита Advantech ADAM 4017 видит. По ModBus регистры не читаются

Добавить комментарий

Ваш e-mail не будет опубликован.

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой:
Confirm that you are not a bot - select a man with raised hand:

Подпишитесь на нашу рассылку


Copyright © 2016. Перцух Алексей

Индекс цитирования