Adam 4017+ это модуль ввода аналоговых сигналов, производства тайваньской фирмы Advantech. Предназначен для сбора параметров аналоговых сигналов и их передачи по интерфейсу RS-485.
Впервые я столкнулся с этим устройством в 2007 г. при разработке программы для небольшого проекта АСУ ТП. С тех пор и в дальнейшем мы иногда применяли Adam 4017+ в своих проектах.
Рассмотрим:
- Характеристики
- Конструкция
- Связь по RS-485
- Настройка параметров Adam 4017+
- Особенности работы
- Мое мнение о Adam 4017+
Характеристики
Назначение | Модуль аналогового ввода |
Кол-во каналов AI | 8 |
Диапазоны входных сигналов | ±150 mV, ±500 mV, ±1 V, ±5 V, ±10 V, ±20 mA, 4…20mA |
Интерфейс передачи данных | RS-485 |
Протоколы передачи данных | Modbus-RTU, Advantech |
Скорость передачи данных, bps | 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 |
Питание | 10…30 V DC |
Потребляемая мощность | 1.3 W |
Напряжение изоляции | 3000 V DC |
Габариты корпуса | 122 х 75 х 25 mm |
Исполнение корпуса | Крепление на DIN рейку, монтаж на стену |
Температура эксплуатации | -25…+75 °С |
Отличие Adam 4017+ от просто Adam 4017 :
Параметр | Adam 4017 | Adam 4017+ |
Кол-во дифференциальных каналов AI | 6 | 8 |
Диапазон измерения 4…20mA | — | + |
Modbus RTU | — | + |
Конструкция
Adam 4017+ выполнен в корпусе для крепления на DIN-рейку. Разъемы с винтовыми клеммами съемные, что очень удобно при монтаже и эксплуатации модуля.
Рядом с надписью «Adam-4017+» находится светодиод, который горит зеленым цветом при работе модуля и мигает, когда идет обмен данными по RS-485.
Крепление на DIN-рейку съемное, для отсоединения ее от модуля нужно выкрутить 2 винта на передней крышке модуля.
Сбоку находится переключатель «Init-Normal» для установки параметров RS-485.
Разберем Adam 4017+. Для этого открутим 2 винта под съемным креплением на DIN-рейку. Снимим крышку и посмотрим на печатную плату.
Перемычки JP0… JP7 используются для установки типа сигнала измерения для каждого канала: для измерения тока(mA) нужно замкнуть контакты 1-2, для измерения напряжения(V, mV) нужно замкнуть контакты 2-3.
Такая система намного удобнее, чем, например, использование аналоговых входов в модулях и контроллерах ОВЕН, где для измерения токового сигнала нужно не просто переставить перемычку, а установить между + и — сигнала прецизионный резистор определенного номинала. Причем, согласно руководству по эксплуатации, при подключении сигнала к аналоговому входу ОВЕН этот резистор нужно припаять к проводам а не просто прикрутить.
Так как Adam 4017+ разработан и производиться уже давно, в нем используется устаревший процессор Winbond W78E054C4OPL. Это процессор с архитектурой 8051. Процессоры с архитектурой 8051 были популярны в 80-90 годах, но с выходом в начале 2000-х процессоров AVR и PIC их эра закончилась навсегда. Тем не менее, для простого сбора и передачи информации возможностей этого процессора более чем достаточно.
Для приема аналоговых сигналов используется 24-битное АЦП ADS1216Y.
Гальваническая развязка аналоговых входов в Adam 4017+ имеется и выполнена на базе DC-DC преобразователя MINMAX MAU209 (обеспечивает изоляцию питания до 3000V DC) и оптронов PC457L, с которыми я уже знаком по кабелю программирования ПР Lovato.
Гальваническая развязка интерфейса RS-485 в Adam 4017+ отсутствует, в отличии от модуля аналогового ввода ОВЕН МВ110-224.2А, в котором гальванразвязка RS-485 имеется.
Прозвонив тестером линию RS-485 в Adam 4017+ я построил такую схему:
Предохранители XF017 на линиях RS-485 рассчитаны на ток до 0.17 А и напряжение до 60 V. Предохранители керамические, желтого цвета и визуально похожи на конденсаторы:
Связь по RS-485
Как было написано выше, в Adam 4017+ нет гальванической развязки интерфейса RS-485.
Передача данных возможна по протоколам Modbus RTU и Advantech. Протокол Advantech это ASCII-протокол, т.е. передача данных ведется ASCII-символами. Про особенности протоколов Modbus RTU и Advantech в Adam 4017+ я уже писал.
При передаче данных по протоколу Modbus RTU значение аналогового сигнала канала передается в виде 2-байтного числа типа WORD по формуле: Current_value=(текущий_сигнал-начало_диапазона)*(65535/(конец_диапазона-начало_диапазона)). Если текущий_сигнал<начало_диапазона или текущий_сигнал>конец_диапазона, то Current_value=65535.
Например:
К каналу Vin0 подключен токовый сигнал с диапазоном 4…20 mA. Подадим на Vin0 сигнал 10 mA. Т.к. сигнал находится в допустимом диапазоне (4 mA<10 mA< 20 mA ), то Current_value не будет равен 65535 и будет рассчитан по формуле: Current_value=(текущий_сигнал-начало_диапазона)*(65535/(конец_диапазона-начало_диапазона))= (10-4)*(65535/(20-4))=6*4095=24570. Это число и будет передано по Modbus RTU в виде WORD как закодированное значение 10 mA.
Главная проблема реализации Modbus в Adam 4017+ состоит в том, что нет регистров ошибки для каждого канала. Т.е. по Modbus пришло значение, равное 65535, это значит, что сигнал находится вне допустимого диапазона. Но что с этим сигналом? Обрыв (0 mA), перепутали полярность(<0 mA), неисправность прибора(>20 mA) или что-то другое? По Modbus это никак не узнать.
Этой недоработкой создатели 4017+ запутали сами себя. Например, вот как в штатной утилите Advantech Adam.NET Utility v. 2.00.06 по протоколу Modbus отображается сигнал 0 mA при диапазоне 4…20 mA:
То есть на входе сигнал 0 mA а передает значение 20 mA! Так получилось потому, что и сигнал, равный верхней границе диапазона и некорректный сигнал кодируются в регистре Modbus одним и тем же числом 65535.
А у того же ОВЕН МВ110-224.2А на каждый канал аналогового ввода отводится в Modbus не только регистр значения сигнала, но и регистр ошибок, в котором находится код ошибки измерения(0- нет ошибок, 0xF7- датчик отключен, 0xFA- измеренное значение слишком велико и т.д)
Все регистры Modbus для Adam 4017+:
В то же время протокол Advantech лишен этого недостатка и всегда видно, сигнал находится выше диапазона, ниже, или был обрыв линии сигнала:
Сигнал на аналоговом входе Adam 4017+ для диапазона 4…20 mA |
Передаваемое значение (Word) по Modbus |
Передаваемое значение по протоколу Advantech |
<-22 mA | 65535 | -999999 |
-20 мА | 65535 | -20.000 |
<4 mA | 65535 | значение |
0 mA | 65535 | 0.000 |
4 mA | 0 | 4.000 |
12 mA | 32767 | 12.000 |
20 mA | 65535 | 20.000 |
>20 mA | 65535 | значение |
>22 mA | 65535 | 999999 |
Но у протокола Advantech есть другие недостатки. Во-первых, это ASCII-протокол и для того, что бы передать значение канала, передается не 2 байта, как в Modbus, а 8 байт. Во-вторых, бесплатных OPC-серверов для протокола Advantech я не встречал. Родной OPC-сервер фирмы Advantech платный, что не способствует для его популярности в наших странах.
Зато в SCADA-системе Trace Mode 6 есть встроенные драйвера для устройств Advantech, в том числе и для Adam 4017+. Поэтому программа на Trace Mode 6 может опрашивать этот модуль по протоколу Advantech напрямую, без OPC-сервера.
Настройка параметров Adam 4017+
Настройка типа аналогового сигнала для каждого канала выставляется как аппаратно, так и программно.
Для аппаратной настройки типа аналогового сигнала для каналов Vin0…Vin7 нужно снять крышку корпуса и на печатной плате выставить перемычки JP0… JP7: для измерения тока(mA) нужно замкнуть контакты 1-2, для измерения напряжения(V, mV) нужно замкнуть контакты 2-3.
Программная настройка типа аналогового сигнала и сетевых настроек производится через программу Advantech Adam.NET Utility.
Настройка Adam 4017+ через программу Advantech Adam.NET Utility v. 2.00.06:
- Выключить питание модуля.
- Выставить переключатель режима связи(на модуле сбоку) в положение «Init».
- Подключить линию RS-485 от ПК к модулю.
- Включить питание модуля.
- Запустить программу Advantech Adam.NET Utility.
- Настроить параметры связи и типа сигналов каждого канала.
Например, подключим Adam 4017+ к ПК через порт COM5(у меня там преобразователь USB/RS-485) и настроим параметры модуля:Протокол Modbus Скорость 57600 bps Адрес 1 Тип сигнала канала 0 4…20 mA Каналы 1…7 Отключены
Напомню, что кроме программной настройки диапазона сигнала, нужно выполнить и аппаратную настройку перемычками. - Выключить питание модуля.
- Выставить переключатель режима связи(на модуле сбоку) в положение «Normal».
- Включить питание модуля. После включения питания, Adam 4017+ будет работать с настройками, установленными в п.6.
Особенности работы
Во время последней сертификации созданной мною программы для Adam 4017+, при диапазоне сигнала 4…20 mA показания модуля отличались от показаний калибратора на ±0.002 mA.
При диапазоне сигнала 4…20 mA, когда на входе канала находится 0 mA при отсоединенном либо выключенном источнике сигнала, по протоколу Advantech передается значение то 0, то -999999. В то же время, при измерении напряжения (диапазоны ±1 V,±5 V и др.) в аналогичной ситуации передается значение 0.
Мое мнение о Adam 4017+
Adam 4017+ при эксплуатации показал себя надежным устройством с достаточной точностью измерения; благодаря съемным клеммам, съемному креплению на DIN-рейку, компактному и легко разбираемому корпусу он удобен в обслуживании.
При этом Adam 4017+ имеет ряд недостатков:
- Отсутствует гальванразвязка RS-485.
- Протокол Modbus реализован плохо- нет регистра ошибок измерения для каждого канала.
- Нет бесплатных OPC-серверов для протокола Advantech.
Опрашивать Adam 4017+ по Modbus я бы не рекомендовал. Лучше опрашивать по протоколу Advantech.
Добавить комментарий