Программирование контроллера adam 5510
Лабораторная работа №2
По дисциплине «Технические средства автоматизации»
на тему: «Изучение и программирование контроллера ADAM — 5510»
Теоретический часть
Сферы применения и особенности контроллеров ADAM – 5510 и ADAM — 5511
ADAM-5510 представляет собой программируемый контроллер на базе микропроцессора AM188ES. Он обладает 256 Кбайт ОЗУ, 256 Кбайт флэш-ПЗУ и тремя последовательными портами. Контроллер совместим с любыми модулями ввода-вывода 5000 серии, сочетая в себе преимущества открытости архитектуры IBM PC и удобства классической модульной конструкции программируемых логических контроллеров.
Его усовершенствованный аналог ADAM-5511 обладает также встроенной программной поддержкой протокола Modbus, увеличенным объемом flash-памяти и возможностями удаленной загрузки и запуска программ. Более поздняя версия контроллера, ADAM-5510М, обладает 640 Кбайт оперативной памяти и дополнительным последовательным портом RS-232/485. Как и в ADAM-5511, в нем имеется 512 Кбайт flash-памяти с поддержкой файловой системы, 400 Кбайт из которых доступно пользователю. Кроме того, пользователь может выделить до 512 Кбайт SDRAM для сохранения своих данных в энергонезависимой памяти. Предусмотрена также утилита для загрузки программ в контроллер, работающая под управлением ОС Windows.
Основной областью применения контроллеров ADAM-5510 является управление медленно меняющимися сигналами, например, температурой. Не уступая по производительности классическим программируемым логическим контроллерам (PLC), благодаря своей низкой стоимости он находит применение в таких областях, в которых бывает зачастую экономически нецелесообразно использовать традиционные решения, в частности, для управления вентиляцией, отоплением, кондиционированием воздуха в современных зданиях. UltraLogik позволяет расширить рамки применения ADAM-5510, обеспечивая более высокое качество программирования по сравнению с библиотеками от Advantech и ставя его в один ряд с классическими контроллерами, используемыми для управления производственными процессами. Например, ADAM-5510 можно применять для управления котельной установкой, процессом подготовки нефти.
Программирование ADAM-5510 с помощью UltraLogik позволяет добиться повышения эффективности трудозатрат с меньшими капиталовложениями. При этом Вам не придется покупать исполнительные модули для каждого контроллера, как это бывает при использовании других систем разработки в стандарте IЕС 61131-3.
Создание программы для ADAM-5510
ADAM-5510, строго говоря, не является полностью совместимым с IBM PC контроллером. Несмотря на то, что в нем используется х86 совместимый процессор, организация работы с системными ресурсами в нем достаточно заметно отличается от принятой в IBM PC. Это обстоятельство несколько осложняет перенос программного обеспечения. Тем не менее, работа программ осуществляется в нем под управлением DOS. В этом смысле ADAM-5510 является DOS-совместимым контроллером. Advantech предоставляет разработчикам библиотеки для Borland C++ 3.0, с помощью которых можно создавать различные программы для контроллеров ADAM-5510 на языке С.
При использовании UltraLogik все, что Вам потребуется сделать для того, чтобы программа работала на ADAM-5510, это установить специальную модель «ADAM-5510» во вкладке «Конфигурация». При этом станут доступны все ресурсы контроллера.
Измерение температуры
Существует три основных метода преобразования температуры в цифровое значение для ввода в ЭВМ: с использованием термометров сопротивлений, термоэлектрических преобразователей (термопар) и полупроводниковых датчиков. Последний из них наиболее удобен, так как позволяет получать нормализованный электрический сигнал как в аналоговой, так и в цифровой форме. Однако, область применения этого метода ограничена температурным диапазоном работы полупроводниковых элементов и лежит в пределах примерно от -50°С до 150°С. Примером полупроводникового датчика может служить датчик, используемый в модуле ADAM-5018 для компенсации температуры холодного спая термопар. Этот датчик имеет на выходе токовый сигнал, пропорциональный его температуре.
Измерение температуры при помощи термоэлектрического преобразователя (термопары)
Термоэлектрический метод позволяет измерять температуру в очень широком диапазоне (от -100 до 2500°С), обеспечивая при этом достаточно высокую точность, и часто оказывается единственно возможным. Принцип измерения температуры с помощью термопары основывается на эффекте Зеебека, заключающемся в том, что в цепи, состоящей из двух разнородных металлических проводников, протекает электрический ток. При этом ЭДС, вызывающая этот ток (термоЭДС), зависит от разности температур между спаями:
E = F(T2—T1)
В случае, если один из спаев термопары находится при температуре 0°С, зависимость термоЭДС от температуры другого спая Е = F(Т2 — 0°С) называется градуировочной характеристикой термопары. Эти характеристики стандартизованы для всех наиболее распространенных типов термопар. В учебном классе используется термопара типа J.
На практике температура свободного (холодного) спая, как правило, не равна нулю, вследствие чего при измерении температуры с помощью термопары возникает необходимость в компенсации температуры холодного спая. Это становится возможным благодаря одному из свойств термопары — закону промежуточной температуры. Если в цепи индуцируется термоЭДС Е1 при температурах контактов Т1 и Т2 и термоЭДС Е2 при температурах контактов Т2 и Т3, то при температурах Т1 и Т3 термоЭДС будет равна Е1 + Е2:
В нашем случае, обозначив температуры холодного и рабочего спаев как Тх и Тр, а термоЭДС, соответственно, Ех и Ер, получим:
Ех= F(Тх — 0°С), Еизм=F (Тр — Тх) =>
Ех+Еизм=F(Тр — 0°С),
где Еизм — измеренное значение ЭДС.
Отсюда следует, что для компенсации температуры холодного спая нужно сложить измеренное значение ЭДС термопары и значение ЭДС компенсации, соответствующее термоЭДС, возникающей в термопаре при температуре холодного спая. Это можно сделать, зная температуру холодного спая, для измерения которой обычно применяются полупроводниковые датчики и терморезисторы.
Найдем температуру рабочего спая Тр при известных Еизм и Тх:
Тр =F -1 ( Ех + Еизм)= F -1 (F (Тх — 0°С)+ Еизм).
Как видим, чтобы преобразовать значение ЭДС в температуру, нам необходимо также иметь таблицу, обратную градуировочной таблице термопары. Такую таблицу легко получить путем перестановки столбцов. При измерении температур, достаточно близких к 0°С, можно воспользоваться тем, что градуировочная характеристика большинства термопар в этом диапазоне близка к линейной. В этом случае достаточно прибавить температуру холодного спая к температуре, вычисленной с помощью градуировочной таблицы:
Тр ≈ Тх + F -1 (Ер)
Практическая часть
В контроллерах используются следующие модули ввода-вывода:
5024: Четырехканальный модуль аналогового вывода с токовыми выходами и выходами 0-10В. Выход АО0 этого модуля соединен с вольтметром.
5051: 16-канальный модуль дискретного ввода. Модуль 5051, в отличие от 5051S, не обеспечивает гальваническую изоляцию входов. К нему подключены два переключателя SW1 (DI0) и SW2 (DI1).
5056: 16 цифровых выходов с открытым коллектором. К выходам DO0. DO3 подключены индикаторы: желтые (DO0 и DO1), красный (DO2) и зеленый (DO3). К выходу DO4 подключен вентилятор.
5018: Семиканальный модуль для подключения термопар, оснащенный полупроводниковым датчиком температуры, предназначенным для компенсации температуры холодного спая. К первому входу этого модуля подключена термопара типа J.
1. Конфигурирование контроллера и модулей ввода-вывода
С помощью кнопки «Создать новый проект» создем новый проект UltraLogik. Устанавливаем для него модель «ADAM-5510, Advantech». Устанавливаем тип компилятора «80×86-compatible simple compiler». В конфигурации контроллера, в списке «Установленные модули ввода-вывода» перечисляем модули, установленные в контроллере на стенде (рис.1). Также отмечаем использование порта COM2.
Рис.1. Конфигурация контроллера
2. Свяжем светодиоды процессорного модуля с переменными ВАТТ, СОММ, RUN и POWR. Теперь настроим конфигурацию модулей ввода-вывода и зададим привязку переменных к ресурсам контроллера. В свойствах модуля ADAM-5024 свяжем аналоговый выход 0 с сетевой переменной Volt (Рис.2).
Для модуля ADAM-5051 свяжем входы 0 и 1 с переменными DI0 и DI1 (Рис.3).
Свяжем выходы 0 и 1 модуля ADAM-5056 с переменными DO0 и DO1, выходы 2 и 3 — с переменными Green и Red, а выход DO4 — с переменной Fan (Рис.4).
В конфигурации модуля ADAM-5018 установим входной диапазон ±78 мВ и первую частоту режекции фильтра 12.5 Гц, как показано на рисунке 5. Свяжем аналоговый вход 0 с сетевой переменной ТС типа Float, a вход 7-ссетевой переменной CJC типа Float. После этого в переменной ТС будет сохраняться напряжение, измеряемое на рабочем спае термопары, а в переменной CJC — температура холодного спая в градусах Кельвина.
3. Ввод и нормализация сигналов термопар
Теперь следует, согласно нашей методике, преобразовать температуру холодного спая в ЭДС компенсации. Чтобы получить таблицу с зависимостью ЭДС компенсации от температуры, нужно выделить диапазон градуировочной таблицы, в котором может изменяться температура холодного спая, и взять из него значения напряжения, которые соответствуют точкам в этом диапазоне с некоторым шагом — например, 10 градусов. Это позволит нам, используя эту таблицу в качестве калибровочной таблицы для канала измерения температуры холодного спая, получить значение термоЭДС, соответствующее температуре холодного спая, и прибавить его к измеренному термопарой значению термоЭДС. Такая таблица в готовом виде находится в папке ADAM-5510 под именем cjc.txt или же данную таблицу можно записать самостоятельно в блоке табличного преобразования в диалоговом окне «Интерполяция».
Таблица имеет следующий вид:
283.15 0.000507
293.15 0.001019
298.15 0.001277
303.15 0.001536
313.15 0.002058
323.15 0.002585
4. Создадим программу FBD1 Temp, изображенную на рис. 6.
Рис.6. FBD-программа
Функцию табличного преобразования «X/Y» можно найти на странице Analog контекстной панели инструментов.
Первое преобразование будет осуществляться над температурой холодного спая для преобразования её в соответствующую ЭДС коррекции, которая затем прибавляется к измеренной термоЭДС.
Следующий блок «X/Y» будет выполнять обратное преобразование ЭДС в температуру, которая сохраняется в переменной Temp.
Значение температуры посредством масштабирования выведем на стрелочный индикатор, поставив напряжению 10В в соответствие 100 °С.
Затем будем зажигать зеленый индикатор при температуре от 20 до 25 градусов, и мигающий красный индикатор при температуре более 25 градусов, включая одновременно вентилятор. С помощью двойного щелчка мышью на первом из блоков табличного преобразования мы попадем в программу задания табличной функции. В открывшемся диалоге «Интерполяция» нажмем кнопку «Загрузить данные из файла».
В результате будет загружена таблица, показанная на рис.7. Градусам Кельвина в столбце аргумента соответствует термоЭДС в вольтах в столбце значений. Таким образом, для переменной CJC будет автоматически осуществляться пересчет в вольты с помощью табличной кусочно-линейной функции.
Рис.7. Окно интерполяции
Закроим окно «Интерполяция», ответив «Yes» на предложение системы, сохранив введенную таблицу. В качестве таблицы преобразования для второго блока укажем градуировочную таблицу для термопары типа J. Для этого откроем файл с характеристикой J термопары. Укажем метод аппроксимации полиномом пятой степени. После нажатия кнопки «Просмотр» должен появиться график (Рис.8), изображенный на рисунке. Коэффициенты аппроксимации, рассчитанные программой, можно увидеть с помощью кнопки «С» в верхней части окна графика.
Закрыв диалог «Интерполяция», ответив «Да» на предложение системы сохранив введенные настройки. Откомпилируйте проект (Рис.9), сохранив предварительно в файле.
Вывод : мы ознакомились программируемыми контроллерами ADAM серии 5000, получали навыки их конфигурирования и программирования в системе UltraLogik32. Также мы затронули основные аспекты температурных измерений и использование встроенной в UltraLogik функции табличного преобразования.