Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > ПЛК и микроконтроллеры
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Проблемы с ADAM-4018, 4019, 4019+

 Ответить Ответить
Автор
Сообщение
Rashid Смотреть выпадающим
Новичок
Новичок


Присоединился: 09 Сентябрь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 8
Свойства публикации Свойства публикации   Ответить, цитируя автора - Rashid Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Проблемы с ADAM-4018, 4019, 4019+
    Опубликовано: 30 Май 2008 04:12
Несколько лет назад, когда перед нами встала задача измерять температуру с помощью термопар, мы приобрели контроллеры ADAM-4018. И тут же столкнулись со следующей проблемой.

Проблема с ADAM-4018

В техпроцессе, который мы автоматизировали, использовались термопары вольфрам-рений т.н. A-1, A-2, A-3 типов. В списке термопар, поддерживаемых ADAM-4018, этих термопар нет, поэтому пришлось использовать 4018 в режиме измерения напряжения, установив диапазон измерения +- 50 мВ. Алгоритм измерения температуры при этом выглядел так:
1) считываем значение напряжения U;
2) считываем значение температуры холодного спая (ТХС);
3) по таблице термопары преобразовываем TХС в мВ - U[ТХС];
4) вычисляем U' = U[ТХС] + U;
5) по таблице термопары вычисляем температуру T(U').

И все было замечательно, кроме одного момента:
ADAM-4018 не обновляет значение температуры холодного спая в случае, когда модуль настроен на измерение напряжения.

Т.е. в течение всего техпроцесса температура холодного спая, возвращаемая модулем ADAM-4018, имела значение, измеренное модулем при его включении.

Таким образом получается - либо используй термопары из заданного списка (которые поддерживает модуль), либо подключай к одному из входов модуля свой датчик измерения температуры холодного спая.

Однако, нами было найдено обходное решение.

Выяснилось, что при выполнении команды "калибровка смещения температуры холодного спая" ($AA9SNNNN - CJC Offset Calibration) модуль измеряет температуру холодного спая и обновляет ее значение в своей памяти. Тогда мы включили в программу псевдо-калибровку смещения ТХС, а именно: калибровку на величину равную 0 (NNNN=0), что приводило к обновлению значения температуры холодного спая.

Итак, чтобы ADAM-4018 обновил значение температуры холодного спая при работе в режиме измерения напряжения, необходимо выполнить команду CJC Offset Calibration (калибровка смещения ТХС) с параметром 0, и только после этого сосчитать значение ТХС ($AA3 - CJC Status Command)

Когда появились модули ADAM-4019 мы решили мигрировать на них, надеясь, что в 4019-х модулях температура холодного спая обновляется все время, т.к. ADAM-4019 позволяет настраивать каналы индивидуально. Да, в 4019-х модулях вышеуказанной проблемы с ТХС, действительно, нет. Но возникла другая проблема.

Проблема с ADAM-4019

Модуль ADAM-4019 не проверял контрольную сумму в режиме, когда проверка контрольной суммы включена. Я пишу не проверял, т.к. не знаю как обстоят дела в модулях ADAM-4019 поставляемых сегодня, но у нас до сих пор лежат на полке пара модулей ADAM-4019 в которых контрольная сумма в режиме проверки оной на самом деле полностью игнорируется. Точнее, почти полностью. Почти - потому что модуль проверяет, что пакет имеет в конце 2 байта, отводимые под контрольную сумму, вот только значение их может быть каким угодно - в любом случае модуль ADAM-4019 выдаст ответ. Соответственно при использовании на одной линии нескольких модулей ADAM-4019 могут возникнуть следующие нежелательные ситуации: например, на линии два модуля ADAM-4019 с адресами 2 и 3. В случае, искажения одного бита в байте с адресом, - таком, что 2 превратится в 3, - вместо 2-го модуля ответит 3-й и распознать это по ответу будет невозможно, т.к. в ответе адрес отвечающего не указывается, а контрольную сумму никто из модулей не проверяет и, следовательно, не распознает искажение адреса.

В результате мы отказались от использования модулей ADAM-4019 и снова вернулись к ADAM-4018. Когда появились модули ADAM-4019+, мы решили попробовать сменить 4018 модули на 4019+, которые помимо индивидуальной настройки каналов (диапазон напряжения или тип термопары) позволяют определять обрыв термопары. В задаче, которая перед нами была поставлена, использовались термопары типа S. Однако, переход на модуль ADAM-4019+ не состоялся по следующим причинам.

Проблема с ADAM-4019+

Прежде чем говорить о проблеме, сразу скажу, что проблемы с игнорированием контрольной суммы в этих модулях нет. Если проверка контрольной суммы включена, то она, действительно, проверяется.

Теперь о проблеме. При настройке каналов измерения на тип термопары S (R, B) выяснилось, что значения температуры можно получать начиная только с 500 С. В модулях же ADAM-4018 температурные значения для S (R, B)-термопары возвращаются, начиная с 0 С. И это правильно, т.к. большинство градуировочных таблиц термопар начинаются с 0 мВ и позволяют уже с самого начала определять температуру, пусть не с такой точностью, как в рабочем диапазоне, но с точностью, достаточной для диагностики. Например, пользователь уже на ранних стадиях нагрева в системе может определить такие неисправности, как нарушение полярности при подключении термопары, или неисправность нагревателя, а также вообще отслеживать процесс нагрева еще до достижения начального порога того диапазона, что указан в спецификации.

В модулях же ADAM-4019+ (и, возможно, в модулях ADAM-4019 - этот факт нами не проверялся) до тех пор, пока температура термопары не достигнет начальной границы диапазона (например, 500 С для S-термопары), в ответ на запрос значения (команда #AA) возвращается значение "-999999".

Если же использовать модуль ADAM-4019+ в режиме измерения напряжения, то тогда невозможно определять обрыв термопары, т.к. проверка обрыва термопары производится только при настройке канала на конкретный тип термопары.

Единственный обходной вариант - это использовать для каждой термопары по 2 канала модуля ADAM-4019+, один настроенный на измерение напряжения, а второй - на тип термопары. По второму каналу определять обрыв термопары, а по первому выполнять вычисление температуры во всем диапазоне, который предоставляется градуировочной таблицей термопары. Однако, очевидно, что при таком подходе к одному модулю ADAM-4019+ можно будет подключить только 4 термопары. Не говоря о программных издержках подобного решения.

------------------------------------------------------------------------------------------------------------------
Данное сообщение не содержит вопросов, а было размещено с целью информирования.
Возможно, для кого-то оно окажется полезным. Спасибо за внимание.
Наверх
Vald Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 02 Октябрь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 427
Свойства публикации Свойства публикации   Ответить, цитируя автора - Vald Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 30 Май 2008 13:20

Первоначально опубликовано Rashid


Однако, нами было найдено обходное решение.

В результате мы отказались от использования модулей ADAM-4019 и снова вернулись к ADAM-4018.

Теперь о проблеме.
Единственный обходной вариант -...

 

 

Данное сообщение не содержит вопросов, а было размещено с целью информирования.
Возможно, для кого-то оно окажется полезным. Спасибо за внимание.

 

Зашибись!  

При экспериментах ни один чайник не пострадал

-----------
Плохому системному интегратору всегда OPC сервер мешает.
______________
Пишу на C++ за еду
Наверх
Rashid Смотреть выпадающим
Новичок
Новичок


Присоединился: 09 Сентябрь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 8
Свойства публикации Свойства публикации   Ответить, цитируя автора - Rashid Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 30 Май 2008 14:13
Первоначально опубликовано Vald

Зашибись!  



Забыл добавить : приветствуются любые замечания и поправки. Возможно, у кого-то есть свои соображения по поводу вышеописанных проблем и способов их решения.
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz