ФЭА / АИТ / Лабораторная работа №1 по дисциплине «Моделирование систем» на тему «Моделирование процессов и систем с использованием методов оптимизации»
(автор - student, добавлено - 28-09-2017, 17:14)
Скачать:
Кафедра АИТ
Лабораторная работа №1 по дисциплине «Моделирование систем» на тему «Моделирование процессов и систем с использованием методов оптимизации»
Целью настоящей работы является ознакомление с программируемыми контроллерами ADAM серии 5000, получение навыков их конфигурирования и программирования в системе UltraLogik32. Кроме того, в ней затрагиваются основные аспекты температурных измерений, а также использование встроенной в UltraLogik функции табличного преобразования. Теоретический материал Сферы применения и особенности контроллеров 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» во вкладке «Конфигурация». При этом станут доступны все ресурсы контроллера. Ресурсы контроллера ADAM-5510 располагает следующими ресурсами: •перезапуск контроллера в случае «зависания» программы. • Последовательные портыСОМ1 (RS-232) и COM2 (RS-485) позволяют вести обмен данными с удаленными устройствами и компьютером верхнего уровня. Порт COM3 (Program Download Port) недоступен для пользователя и предназначен для загрузки программ. • Светодиодные индикаторы LED1....LED4 (они пронумерованы снизу вверх) доступны для пользователя. При этом LED1 (индикатор разрядки батарей) будет светиться только в том случае, если разряжена батарея питания. • Батарея питания питает часы реального времени и 64К статической памяти, которые можно использовать для сохранения данных на период отключения питания. Сделать это можно, написав небольшой внешний модуль на языке С, взяв за основу пример, прилагаемый к UltraLogik. • DIP переключатель можно использовать для задания адреса, если в сети имеется несколько контроллеровс одинаковыми программами. • Flash память обеспечивает хранение образа диска, используемого для загрузки DOS и программ пользователя. Объем Flash-ПЗУ составляет 256Кбайт, из них 170 Кбайт доступно для пользователя. Загрузка программ Контроллер ADAM-5510 имеет специальный порт для загрузки программ, нуль-модемный адаптер для подключения не нужен. Для загрузки программы в контроллер необходимо создать образ flash-диска, с которого будет производиться загрузка контроллера. Для этого нужно переписать системные файлы и файлы программы в каталог C:\5510\ALLFILE (C:\5511\5511FILE для ADAM-5511) и воспользоваться программой ADAM5510.EXE.С помощью драйвера VDISK.SYS можно создать в оперативной памяти контроллера виртуальный диск, содержимое которого будет теряться при перезапуске. В этом случае загрузку программ на виртуальный диск можно будет производить с помощью функции «Terminal» программы ADAM 5510 или любого другого эмулятора терминала, например, SmartLink. Для этого следует воспользоваться командой TRANSFER /R <имя файла>. Контроллер ADAM-5511 обладает увеличенным объемом flash-диска (400 Кб) с поддержкой файловой системы. Доступ к файловой системе обеспечивается с помощью диска D, на который можно загружать программы с удаленного компьютера. Для этого можно воспользоваться любым эмулятором терминала, в том числе SmartLink, и утилитой TRANSFER. Для загрузки программ в контроллер можно воспользоваться тем же методом, что и для ADAM-5510, с той лишь разницей, что программа загрузки называется ADAM5511.ЕХE и файлы для загрузки должны находиться в папке 5511FILE. При этом будет сформирован образ загрузочного диска С, который не может быть изменен во время работы контроллера. Однако, существует более удобный способ работы. Чтобы им воспользоваться, нужно, чтобы при запуске контроллера загружалась резидентная программа ADAM5511.EXE(объем 58 Кбайт, не путайте её с самим пакетом конфигурирования), которая обеспечивает удаленную загрузку с помощью протокола обмена ModBus. Эта программа запускается по умолчанию. Загрузка и запуск программ с помощью ModBus осуществляется программой ADAM-5511 Utility. Для этого нужно настроить номер скорость обмена с помощью переключателей с стороны контроллера. Обмен возможен интерфейсу RS-485, так и по RS-232. В последнем случае нужно воспользоваться нуль-модемным адаптером. Программа поддержки ModBus осуществляет прямой доступ к модулям ввода-вывода и обмен данными с вышестоящим компьютером. Если управляющая программа написана на UltraLogik, необходимо учитывать, что UltraLogik использует собственные механизмы обмена с модулями, из-за чего возникают конфликты и данные иногда считываются неправильно. В этом случае, следует пользоваться поддержкойModBus, встроенной в UltraLogik версии 1.04.026 и более поздние, отключив запуск резидентной программы ADAM551I.EXEв контроллере. Отключить запуск программы ADAM5511.EXE в контроллере ADAM-5511 проще всего следующим образом: установить все DIP-переключатели, кроме «СОМ1», в положение OFF. В таком случае программа ADAM5511.EXE после запуска автоматически завершит свою работу, и управление будет передано следующей программе, вызываемой после неё в файле AUTOEXEC.BAT, или интерпретатору командной строки ROM-DOS. Измерение температуры Существует три основных метода преобразования температуры в цифровое значение для ввода в ЭВМ: с использованием термометров сопротивлений, термоэлектрических преобразователей (термопар) и полупроводниковых датчиков. Последний из них наиболее удобен, так как позволяет получать нормализованный электрический сигнал как в аналоговой, так и в цифровой форме. Однако, область применения этого метода ограничена температурным диапазоном работы полупроводниковых элементов и лежит в пределах примерно от -50°С до 150°С. Примером полупроводникового датчика может служить датчик, используемый в модуле ADAM-5018 для компенсации температуры холодного спая термопар. Этот датчик имеет на выходе токовый сигнал, пропорциональный его температуре. Измерение температуры при помощи термометров сопротивления Этот метод основан на зависимости сопротивления проводника от его температуры и позволяет достичь более широкого диапазона измерения, чем у полупроводниковых датчиков. Суть метода состоит в том, что для некоторых металлов или сплавов существуют температурные диапазоны, внутри которых сопротивление проводника из этого материала меняется почти линейно с ростом температуры. Как правило, материалом для датчика служит платина; применяются также медные и никелевые датчики. Характеристики термосопротивлений этих типов стандартизованы. Коэффициент, выражающий зависимость сопротивления от температуры, называется температурным коэффициентом сопротивления (α) и является основной характеристикой датчика: R=Rо(1 + αТ), где R0 - сопротивление датчика при 0 °С. В нашей стране чаще применяется коэффициент W100, выражаемый как отношение сопротивления датчика при 100°С к его сопротивлению при 0°С: W100= R100 / R0. Отсюда легко выразить соотношение между α и W100: W100=1 + 100 α. Термосопротивления подключаются к измерительному преобразователю по мостовой схеме или схеме с токовым возбуждением. При этом для компенсации сопротивления соединительных проводников применяется трехпроводное или четырехпроводное подключение. Для ввода сигналов термосопротивлений можно использовать модули нормализации ADAM-3013, а также устройства аналогового ввода ADAM-6015, ADAM-4013 и ADAM-50I3. Измерение температуры при помощи термоэлектрического преобразователя (термопары) Термоэлектрический метод позволяет измерять температуру в очень широком диапазоне (от -100 до 2500°С), обеспечивая при этом достаточно высокую точность, и часто оказывается единственно возможным. Принцип измерения температуры с помощью термопары основывается на эффекте Зеебека, заключающемся в том, что в цепи, состоящей из двух разнородных металлических проводников, протекает электрическийток. При этом ЭДС, вызывающая этот ток (термоЭДС), зависит от разности температур между спаями: E= F(T2-T1) В случае, если один из спаев термопары находится при температуре 0°С, зависимость термоЭДС от температуры другого спая Е = F(Т2- 0°С) называется градуировочной характеристикой термопары. Эти характеристики стандартизованы для всех наиболее распространенных типов термопар. В учебном классе используется термопара типа J. На практике температура свободного (холодного) спая, как правило, не равна нулю, вследствие чего при измерении температуры с помощью термопары возникает необходимость в компенсации температуры холодного спая. Это становится возможным благодаря одному из свойств термопары - закону промежуточной температуры. Если в цепи индуцируется термоЭДС Е1при температурах контактов Т1 и Т2 и термоЭДС Е2 при температурах контактов Т2и Т3, то при температурах Т1 и Т3 термоЭДС будет равна Е1 + Е2: E1=F(T2-T1), E2 = F(T3-T2), => E1+E2 = F(T3-T1). В нашем случае, обозначив температуры холодного и рабочего спаев как Тх и Тр, а термоЭДС, соответственно, Ех и Ер, получим: Ех= F(Тх - 0°С), Еизм=F (Тр - Тх) => Ех+Еизм=F(Тр - 0°С), где Еизм- измеренное значение ЭДС. Отсюда следует, что для компенсации температуры холодного спая нужно сложить измеренное значение ЭДС термопары и значение ЭДС компенсации, соответствующее термоЭДС, возникающей в термопаре при температуре холодного спая. Это можно сделать, зная температуру холодного спая, для измерения которой обычно применяются полупроводниковые датчики и терморезисторы. Найдем температуру рабочего спая Трпри известных Еизм и Тх: Тр =F-1( Ех + Еизм)= F-1 (F (Тх - 0°С)+ Еизм). Как видим, чтобы преобразовать значение ЭДС в температуру, нам необходимо также иметь таблицу, обратную градуировочной таблице термопары. Такую таблицу легко получить путем перестановки столбцов. При измерении температур, достаточно близких к 0°С, можно воспользоваться тем, что градуировочная характеристика большинства термопар в этом диапазоне близка к линейной. В этом случае достаточно прибавить температуру холодного спая к температуре,вычисленной с помощью градуировочной таблицы: Тр ≈ Тх + F-1 (Ер) Модули аналогового ввода Ввод аналоговых сигналов, таких, как сигналы с термопар и термосопротивлений, осуществляется с помощью модулей аналогового ввода, которые строятся на основе аналого-цифровых преобразователей. К таким модулям относятся ADAM-5013, ADAM-5017 и ADAM-5018. ADAM-5013 представляет собой 16-битный трехканальный модуль для подключения термосопротивлений, поддерживающий трехпроводную и четырехпроводную схему подключения. Он создан на базе АЦП AD7711 фирмы Analog Devices и оснащен источниками тока для питания температурных датчиков. СоответствующаяOEM библиотека UltraLogik позволяет получать готовый результат измерения в омах, на основании которого нетрудно, зная характеристику термосопротивления, вычислить температуру, воспользовавшись функцией табличногопреобразования, описанной ниже.ADAM-5017 и ADAM-5018 построены на базе АЦП AD7710 фирмы Analog Devices. При этом ADAM-5018 оснащен программируемым входным усилителем и полупроводниковым датчиком температуры AD590, что позволяет производить непосредственное подключение термопар и компенсацию температуры холодного спая. Во всех трех описанных модулях используются АЦП с сигма-дельта преобразователем. Принцип его действия основан на преобразовании аналоговой величины в бесконечную последовательность дискретных импульсов, которые затем поступают на вход цифрового фильтра. Время преобразования АЦП связано с первой частотой режекции этого фильтра, от которой зависит и точность преобразования. Чем выше частота режекции и меньше время преобразования, тем меньше соотношение сигнал/шум и тем хуже точность. В реальных условиях трудно получить отношение сигнал/шум лучше 90 дБ, что соответствует примерно 14 разрядам АЦП. На практике же, как правило, достаточно 12 разрядов. Меняя частоту режекции фильтра, мы можем добиться оптимального соотношения точности ипроизводительности для данной задачи. Как правило, её выбирают из ряда 50, 25, 12.5, ... Гц, чтобы обеспечить подавление помехи от сети. В библиотеках Advantech время преобразования АЦП установлено жестко и равно 100мс (10 раз в секунду). В UltraLogik эту величину можно задавать в диапазоне от 10 до 400 Гц. Модуль ADAM-5017H позволяет обеспечить большую частоту дискретизации - до 1000 Гц - за счет использования более производительного АЦП ADC1210 фирмы National Semiconductor, работающего по методу последовательного приближения и обеспечивающего разрешение 12 разрядов плюс знак. Кроме того, этот модуль позволяет настраивать входной диапазон отдельно для каждого канала, и в нем предусмотрены места для установки шунтирующих резисторов для ввода токовых сигналов. Функция табличного преобразования Функция табличного преобразования служит для преобразования величины, поступающей с датчика, в инженерную величину. Если величина, выдаваемая датчиком, изменяется линейно в зависимости от измеряемой величины, то используется калибровка по двум точкам. В случае нелинейной характеристики датчика преобразование осуществляется методом кусочно-линейной аппроксимации с помощью таблицы или полиномиальной аппроксимации. Кусочно-линейная аппроксимация наиболее эффективна при отсутствии математического сопроцессора и дает тем большую точность, чем больше указано точек. При полиномиальной аппроксимации, по N точкам производится расчет коэффициентов полинома степени не выше N-1, который используется для вычисления. Можно использовать полиномы до 20 степени, но при этом следует помнить, что чем выше степень полинома, тем большее влияние оказывает на результат неточность вычисления коэффициентов. Данные для аппроксимации можно взять из документации на датчик или получить экспериментально. Вместе с UltraLogik поставляются градуировочные таблицы для большинства типов термопар. Указания к практической работе Описание стенда В контроллерах, установленных на стенде, используются следующие модули ввода-вывода: 5024:Четырехканальный модуль аналогового вывода стоковыми выходами и выходами 0-10В. Выход АО0 этого модуля соединен с вольтметром. 5051: 16-канальный модуль дискретного ввода. Модуль 5051, в отличие от 5051S, не обеспечивает гальваническую изоляцию входов. К нему подключены два переключателя SW1 (DI0) и SW2 (DI1). 5056: 16 цифровых выходов с открытым коллектором. К выходам DO0...DO3 подключены индикаторы: желтые (DO0 и DO1), красный (DO2) и зеленый (DO3). К выходу DO4 подключен вентилятор. 5018: Семиканальный модуль для подключения термопар, оснащенный полупроводниковым датчиком температуры, предназначенным для компенсации температуры холодного спая. К первому входу этого модуля подключена термопара типа J. Конфигурирование контроллера и модулей ввода-вывода С помощью кнопки «Создать новый проект» создайте новый проект UltraLogik. Установите для него модель «ADAM-5510, Advantech». Установите тип компилятора «80x86-compatible simple compiler». В конфигурации контроллера, в списке «Установленные модули ввода-вывода» перечислите модули, установленные в контроллере на стенде (рис. 4.21). Отметьте также использование порта COM2. Для порта COM2 укажите использование драйвера PLCNet Driver (slave) и задайте номер узла 8, чтобы избежать конфликтов по адресам с другими участниками сети. Рис. 4.21. Конфигурация контроллера Свяжите светодиоды процессорного модуля с переменными ВАТТ, СОММ, RUN и POWR. Теперь настроим конфигурацию модулей ввода-вывода и зададим привязку переменных к ресурсам контроллера.В свойствах модуля ADAM-5024 свяжите аналоговый выход 0 с сетевой переменной Volt. Для модуляADAM-5051свяжите входы 0 и 1 с переменными DI0 и DI1.
Свяжите выходы 0 и 1 модуля ADAM-5056 с переменными DO0 и DO1, выходы 2 и 3 - с переменными Greenи Red, а выход DO4 - с переменной Fan. В конфигурации модуля ADAM-5018 установите входной диапазон ±78 мВ и первую частоту режекции фильтра 12.5 Гц, как показано на рисунке ниже. Свяжите аналоговый вход 0 с сетевой переменной ТС типа Float, a вход 7-ссетевой переменной CJCтипа Float. После этого в переменной ТС будет сохраняться напряжение, измеряемое на рабочем спае термопары, а в переменной CJC - температура холодного спая в градусах Кельвина. Ввод и нормализация сигналов термопар Теперь следует, согласно нашей методике, преобразовать температуру холодного спая в ЭДС компенсации. Чтобы получить таблицу с зависимостью ЭДС компенсации от температуры, нужно выделить диапазон градуировочной таблицы, в котором может изменяться температура холодного спая, и взять из него значения напряжения, которые соответствуют точкам в этом диапазоне с некоторым шагом - например, 10 градусов. Это позволит нам, используя эту таблицу в качестве калибровочной таблицы для канала измерения температуры холодного спая, получить значение термоЭДС, соответствующее температуре холодного спая, и прибавить его к измеренному термопарой значению термоЭДС. Такая таблица в готовом виде находится в папке ADAM-5510 под именем cjc.txt или же данную таблицу можно записать самостоятельно в блоке табличного преобразования в диалоговом окне «Интерполяция». Таблица имеет следующий вид: 273.15 0 283.15 0.000507 293.15 0.001019 298.15 0.001277 303.15 0.001536 313.15 0.002058 323.15 0.002585 Создадим программу FBD1 Temp, изображенную на рис. 4.22. Рис. 4.22. FBD-программа Функцию табличного преобразования «X/Y» можно найти на странице Analog контекстной панели инструментов. Первое преобразование будет осуществляться над температурой холодного спая для преобразования её в соответствующую ЭДС коррекции, которая затем прибавляется к измеренной термоЭДС. Следующий блок «X/Y» будет выполнять обратное преобразование ЭДС в температуру, которая сохраняется в переменной Temp. Значение температуры посредством масштабирования выведем на стрелочный индикатор, поставив напряжению 10В в соответствие 100 °С. Затем с помощью нехитрой логики будем зажигать зеленый индикатор при температуре от 20 до 25 градусов, и мигающий красный индикатор при температуре более 25 градусов, включая одновременно вентилятор. С помощью двойного щелчка мышью на первом из блоков табличного преобразования мы попадем в программу задания табличной функции. В открывшемся диалоге «Интерполяция» нажмем кнопку «Загрузить данные из файла». Затем зададим тип файла «Text files *.TXT» и выберем файл С:\ADAM-5510. Если же мы создаем таблицу самостоятельно, то в меню Правканеобходимо выбрать Добавить запись и последовательно записать значения температуры и термоЭДС. В результате будет загружена таблица, показанная на рис. 4.23. Градусам Кельвина в столбце аргумента соответствует термоЭДС в вольтах в столбце значений. Таким образом, для переменнойCJC будет автоматически осуществляться пересчет в вольты с помощью табличной кусочно-линейной функции. Рис. 4.23. Окно интерполяции Закройте окно «Интерполяция», ответив «Yes» на предложение системы сохранить
введенную таблицу. В
качестве таблицы преобразования для второго блока укажем градуировочную таблицу для термопары типа J. Для
этого откроем файл с характеристикой Jтермопары Закройте диалог «Интерполяция», ответив «Да» на предложение системы сохранить введенные настройки. Откомпилируйте проект, сохранив предварительно в файлеADAM_T.PLC. Загрузка программы в ADAM-5511 Контроллер ADAM-5510 не поддерживает запись отдельных файлов на свой flash-диск. Необходимо сформировать образ загрузочного диска и загрузить его в контроллер целиком. Для этого служит программа ADAM5510.EXE (ADAM5511.EXE), которая находится на диске С в каталоге 5510 (5511). Сначала необходимо переписать исполняемый файл Вашего проекта в специальный каталог, из содержимого которого будет сформирован образ диска, загружаемого в контроллер. Для этого скопируйте файл ADAM__T.EXE из Вашего рабочего каталога в C:\5510\ALLFILE (для контроллера ADAM-5511 этот каталог будет называться C:\5511\5511FILE). Убедитесь, что в папке C:\5510\ALLF1LE (C:\5511\5511FILE) находятся файлы COMMAND.COM, AUTOEXEC.BAT,CONFIG.SYS и созданная Вами программа. Отредактируйте файл AUTOEXEC.BAT (рис. 4.24) таким образом, чтобы при загрузке контроллера происходил запуск Вашей программы. Рис. 4.24 К сожалению, программа ADAM5510.EXE не рассчитана на работу под ОС Windows. Нам придется использовать загрузочную дискету с операционной системой MS-DOS, чтобы запустить программу. Соедините порт С0М1 компьютера с портом для загрузки программ контроллера, используя прямой модемный кабель. Запустите программу ADAM5510.EXE (ADAM5511.EXE). Для этого, после загрузки DOS, наберите в командной строке: cd5510 adam5510 В меню «COMPort» установите COM 1. Выберите пункт меню «Program». При этом будет создан образ диска для загрузки и программа перейдет в режим ожидания связи с контроллером. Перезагрузите контроллер, нажав кнопку сброса или выключив и снова включив питание стенда. В течение 7 секунд после этого нажмите на клавиатуре любую клавишу (при этом её следует нажимать не сразу, а подождав пару секунд, пока завершится инициализация контроллера после сброса). После этого связь с контроллером будет установлена и начнется загрузка образа диска и программирование Flash-ПЗУ.
Похожие статьи:
|
|