Обзор Adam 4017+ | ПЛК и АСУТП

Adam 4017+ это модуль ввода аналоговых сигналов, производства тайваньской фирмы Advantech. Предназначен для сбора параметров аналоговых сигналов и их передачи по интерфейсу RS-485.

Впервые я столкнулся с этим устройством в 2007 г. при разработке программы для небольшого проекта АСУ ТП. С тех пор и в дальнейшем мы иногда применяли Adam 4017+  в своих проектах.

adam4017p_top_800x600
Рассмотрим:

  • Характеристики
  • Конструкция
  • Связь по 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.

adam4017p_top_800x600

Крепление на DIN-рейку съемное, для отсоединения ее от модуля нужно выкрутить 2 винта на передней крышке модуля.

adam4017p_btm_800x600

Сбоку находится переключатель «Init-Normal» для установки параметров RS-485.

adam4017p_side_800x600

Разберем Adam 4017+. Для этого открутим 2 винта под съемным креплением на DIN-рейку. Снимим крышку и посмотрим на печатную плату.

adam4017p_brd_top_1600x1024

adam4017p_brd_btm_1600x1024

Перемычки 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+ я построил такую схему:

adam4017p_diagram_640x480

Предохранители XF017 на линиях RS-485 рассчитаны на ток до 0.17 А и напряжение до 60 V.  Предохранители керамические, желтого цвета  и визуально похожи на конденсаторы:

ad4017p_fuse_xf017_320x200

 

Связь по 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:

adam4017p_0mA_prot_advantech

То есть на входе сигнал 0 mA а передает значение 20 mA! Так получилось потому, что и сигнал, равный верхней границе диапазона и некорректный сигнал кодируются в регистре Modbus одним и тем же числом 65535.

А у того же ОВЕН МВ110-224.2А на каждый канал аналогового ввода отводится в Modbus не только регистр значения сигнала, но и регистр ошибок, в котором находится код ошибки измерения(0- нет ошибок, 0xF7- датчик отключен, 0xFA- измеренное значение слишком велико и т.д)

Все регистры Modbus для Adam 4017+:

adam4017p_modbus_800x600

В то же время протокол 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:

  1. Выключить питание модуля.
  2. Выставить переключатель режима связи(на модуле сбоку) в положение «Init».
  3. Подключить линию RS-485 от ПК к модулю.
  4. Включить питание модуля.
  5. Запустить программу Advantech Adam.NET Utility.
  6. Настроить параметры связи и типа сигналов каждого канала.
    Например, подключим Adam 4017+ к ПК через порт COM5(у меня там преобразователь USB/RS-485) и настроим параметры модуля:

    Протокол Modbus
    Скорость 57600 bps
    Адрес 1
    Тип сигнала канала 0 4…20 mA
    Каналы 1…7 Отключены


    Напомню, что кроме программной настройки диапазона сигнала, нужно выполнить и аппаратную настройку перемычками.

  7. Выключить питание модуля.
  8. Выставить переключатель режима связи(на модуле сбоку) в положение «Normal».
  9. Включить питание модуля. После включения питания, 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.

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

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

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

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


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

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