О САЙТЕ
Добро пожаловать!

Теперь вы можете поделиться своей работой!

Просто нажмите на значок
O2 Design Template

ФЭА / АИТ / ОТЧЕТ ПО ЛАБОРАТОРНЫМ РАБОТАМ ПО КУРСУ: «ТСА»

(автор - student, добавлено - 26-04-2014, 11:55)

СКАЧАТЬ:  laby.zip [2,18 Mb] (cкачиваний: 45)

 

 

 

ОТЧЕТ ПО ЛАБОРАТОРНЫМ РАБОТАМ

 

ПО КУРСУ: «ТСА»

 

 


Лабораторная работа №1.

Тема: Основные возможности GeniDAQ 

Цель: Изучить возможности GeniDAQ по получению измерительной информации от внешних устройств (модулей ввода-вывода), ее преобразование и отображение на графике зависимости от времени.

 

Ход работы:

1. Для создания нового проекта запустили GeniDAQ Builder и щелчком мыши по меню File выбрали New, был создан файл стратегии, являющийся основой создаваемого проекта системы автоматизированного управления технологическим процессом.

Для создания связи с модулями ввода-вывода используются специальные функциональные блоки, расположенные на панели инструментов: AI,  AO,  DI,  DO.

2. Нашли блок аналового ввода AI в панели инструментов окна Display Designer и щелкнули на нем. Блок AI был выбран. Переместили мышь в рабочую область окна TASK1 и нажали левую кнопку (ЛК) мыши. Блок AI был добавлен в рабочую область под именем AI1, рис. 1.1.

 

Рис1.1

3. Двойным щелчком ЛК мыши на блоке AI1 вызвали меню его настройки.

Щелчком по кнопке Select вызывали меню выбора устройства (в нашем случае модуля ввода, привязываемого к блоку AI1).

4. Выбрали устройство Advantech DEMO I/O: 0Н – это демонстрационная модель реального устройства ввода-вывода, позволяющая получать типовые входные сигналы, даже если к компьютеру не подключено ни одного реального устройства:

по каналу 0 – синусоида,

по каналу 1 – прямоугольные импульсы,

по каналу 2 – треугольные импульсы.

 

5. Для отображения процесса изменения во времени сигнала, поступающего в блок AI1 (с модуля ввода), воспользовались графиком трендов. Выбрали элемент Realtime Trend Graph (График тренда) из панели инструментов окна Display Designer. Переместили указатель мыши в рабочую область окна DISP1  и нажали левую кнопку. Блок был добавлен в окно, рис. 1.2:

 

Рис.1.2

6. Двойным щелчком мышью на графике вызвали меню его настройки.

Добавление элементов для отображения производили щелчком по кнопке ADD… (Добавить).

В появившемся окне в раскрывающемся списке Task/display/virtual (определяет область, из которой будет добавлен элемент) выбрали TASK1. В раскрывающемся списке Tag name (определяет имя добавляемого элемента) выбрали AI1. B раскрывающемся списке Channels (каналы) выбрали нулевой канал для отображения синусоиды. График тренда сконфигурирован.

7. Запустили файл на выполнение щелчком мыши на кнопку  Run (Запуск) главной панели инструментов.

 

Рис1.3 Выполнение проекта

8. Блок AI1 может передавать несколько сигналов, поступающих от модуля ввода-вывода по разным каналам Чтобы блок AI1 передавал несколько сигналов,  в меню его настройки в области I/O Settings (настройка ввода-вывода) указали необходимый диапазон каналов: From channel – 0, To channel – 2.

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

Вызвали меню настройки Графика трендов двойным щелчком мышью. Добавили еще один элемент для отображения, как показано в п.6, указав при этом тот же блок AI1, но канал 1. После запуска проекта получили следующее:

 

Рис.1.4 Отображение нескольких трендов на графике

 

 

 

Лабораторная работа №2.

Тема: Создание многозадачного проекта. Многодисплейность. 

Цель: Изучение возможности GeniDAQ  по созданию многозадачных проектов и организации многодисплейного интерфейса оператора; изучение способов переключения окон экранных форм.

Ход работы:

 

Для выполнения данной работы потребовался файл стратегии, полученный в Лабораторной работе №1.

1. Добавили в проект еще одно окно Task Designer с именем TASK2. Добавили в это окно блок AI2, сконфигурировав его на получение сигнала с устройства Advantech DEMO I/O: 0Н по нескольким каналам.

 

Рис 2.1 Добавление новой задачи

2. В окне Display Designer добавили новый элемент для отображения в Графике трендов – сигнал с блока AI2 окна TASK2 по каналу 1.

 

Рис. 2.2 Выполнение параллельно работающих задач

Таким образом, параллельная работа двух задач ничем не отличается от работы одной задачи. Вместе с тем, ошибка в одной из задач никак не сказывается на работе другой.

3. Раздельный запуск и остановка параллельно работающих задач по команде оператора.

Выбрали окно Task Designer: TASK1, сделав его активным. Вызвали меню свойств этого окна щелчком мышью по кнопке  Task Properties (Свойства задачи). В области Starting method (Метод запуска) выбрали Inactive (activated by command) (Неактивен (запуск по команде)).

4. В окно Display Designer добавьте элемент управления Menu Button (Кнопка меню). В меню его настройки в области Function (Функция) выбрали Task control (Управление задачей), в раскрывающемся списке задач Task Switch (Выключатель задачи) выбрали TASK2. В области Task control only (Только управление задачей) выбрали Start (Пуск).

5. Поместили в окно Display Designer вторую кнопку Menu button, настроив её так же, как и предыдущую, но указав ей в области Task control only функцию Stop (Стоп).

6. Запустили проект на исполнение и поэкспериментировали с запуском и остановкой задачи TASK2.

 

Рис. 2.3 Запуск и остановка одной из параллельно работающих задач

 

8. . Многодисплейность. GeniDAQ позволяет создавать несколько дисплейных окон Display Designer, образующих графический интерфейс оператора, в рамках одного проекта.

Добавили в проект ещё одно окно Display Designer щелчком мышью по кнопке  Add Display (Добавить дисплей) на главной панели инструментов. Новое окно получило имя DISP2.

9. В новое дисплейное окно добавили элемент отображения График трендов, настроили его на отображение сигнала с блока AI2 окна задач TASK2. Для удобства перенесли в окно DISP2 элементы управления запуском и остановкой задачи TASK2, вырезав их с помощью кнопки  (Вырезать) главной панели инструментов.

10. В окно DISP1 добавили элемент управления Menu Button (Кнопка меню). Эта кнопка использовалась для быстрого переключения к дисплею DISP2. В меню её настройки в области Function (Функция) выбрали Display Switching (Управление дисплеем), раскрывающемся списке задач Display Switch (Переключать дисплей) выбрали DISP2.

11. Такую же кнопку добавили в окно DISP2. Настроили её для быстрого переключения к дисплею DISP1.

12. В меню свойств обоих дисплеев в области Default State (Положение по умолчанию) выберите Maximize (Максимизировать). При запуске окна разворачивались на всю рабочую область окна программы GeniDAQ.

13. Запустили проект на выполнение. Поэкспериментировали с переключением окон.

 

Рис. 2.4 Выполнение многодисплейного проекта

 

Лабораторная работа №3.

Тема: Использование виртуальных тэгов. 

Цель: Изучение использования виртуальных тэгов.

 

Ход работы:

 

1. Запустили GeniDAQ и создали новую задачу.

2. Создали виртуальный тэг с именем TEST. Для запоминания значения виртуального тэга до следующего запуска задачи поставили галочку «Restore previous stop value».

3. В окно Task1 добавили блок SCR со следующим кодом:

TEST = GetTag("virtask","TEСT")

outputi TEST+1

4. Также добавили в Task1 блок TAG и настроили его следующим образом:

 

 

Рис. 3.1 Создание виртуального тега

 

5. Связали блок SCR (0-й канал) с блоком TAG. Таким образом, окно Task будет иметь следующий вид:

 

6. Для отображения состояния задачи в окно Display1 поместили блок «Numeric/String Display Item» (Цифровой индикатор) и настроили его. В строке INPUT FROM выберем TAG1: TECT (channel 0).

7. Запустили проект на исполнение. Цифровой индикатор будет отображать изменяющееся значение TECT.

 

 

Лабораторная работа №4.

Тема: Использование вычислительного блока. 

Цель: Изучить использование блока «Single operator calculation block» для проведения различных математических операций с входными параметрами.

 

Ход работы:

 

1. Запустили GeniDAQ и создали новую задачу.

2. Добавили два блока AI, три блока «Single operator calculation block» (SOC), блок TAG и один блок «ON – OFF Control block» (ONF) в окно Task1.

3. Настроили блоки AI так, чтобы один блок принимал сигнал с нулевого канала устройства, а второй – с первого.

4. Связали выходы блоков AI1 и AI2 с одним из трех элементов SOC и установили его настройки так, чтобы он складывал значения с двух каналов.

5. Результат действия блока SOC4 направили на блок ONF1 (Переключатель). Для этого связали выход блока SOC4 (который принимает сигналы с AI1 и AI2) с каналом Input блока ONF.

6. Для указания уровня нормы на экранном проектировщике добавили блок "Numeric Control Display" (NCTL).

Связали этот блок с блоком Tag, добавленным в окно Task, и сконфигурировали TAG1 следующим образом:

 

7. Связали выход TAG1 с оставшимися двумя элементами SOC так, чтобы в одном из них к значению TAG1  прибавлялось число 5, а во втором отнималось.

8. В результате окно Task выглядит следующим образом

 

 

9. Для отображения состояния задачи добавили на экранный проектировщик 3 элемента Trend Graph Display. Для большей информативности добавили блок Conditional display item.

10. В итоге, редактор отображения форм будет выглядеть следующим образом.

 

 

Лабораторная работа №5.

Тема: Использование блока ПИД-регулятора. 

Цель: Изучить использование блока «PID control block», который представляет собой ПИД-регулятор.

 

Ход работы:

 

1. Запустите GeniDAQ и создали новую задачу.

2. Добавили в окно Task1 блоки: PID - блок, BS - 2 элемента, TAG - 6 элементов.

3. Добавили в первый блок SCR1 следующий код:

Sub SCR1()

  dim op as TAG

  dim pvn as single

  set op = gettag("TASK1","PID1")

  pvn = op

  if pvn > 100 then pvn = 100

  if pvn < 0 then pvn = 0

  outputf pvn

End Sub

 

Добавили во второй блок SCR2 следующий код:

Sub SCR2()

         dim a as TAG

         dim b as TAG

         dim c as tag

         dim d as tag

         dim e as tag

         set a = gettag("disp1","nctl1")

         set b = gettag("disp1","nctl2")

         set c = gettag("disp1","nctl3")

         set d = gettag("disp1","nctl4")

         set e = gettag("disp1","bbtn1")

         outputf a

         outputf 1,b

         outputf 2,c

         outputi 3,d

         outputi 4,e

End Sub

 

 

 

 

 

 

 

4. Блоки TAG настроили на виртуальные тэги:

 

Рис. 5.1 Виртуальные тэги.

 

5. Блоки в окне Task Designer расположили следующим образом:

 

6. Связали тэги с PID-блоком следующим образом:

 

7. Связали блок SCR2 с блоками TAG. При этом каналу 0 соответствовал тэг SP, каналу 1 – тэг P, каналу 2 – тэг I, каналу 3 – тэг D, каналу 4 – тэг AM.

8. Добавили в окно Display1 необходимые для слежения и управления процессом блоки - Trend Graph Display и Binary Button (PID-change) и настроили их следующим образом:

 

9. Для отображения  текущей входной (PV) и выходной (OP) величины настроили блок Numeric/String Display.

 

10. Запустили проект на исполнение и реализовали различные законы регулирования

 
Лабораторная работа №6.

Тема: Исользование блока «Движковый регулятор». 

Цель: Изучить возможности использования инструмента Движковый Регулятор (Slider Control) при создании проектов.

 

Ход работы:

1. Запустили программу Genie DAQ и создали новый проект.

2. Выбрали щелчком мыши в окне DISP1 на панели элементов следующие объекты: Движковый регулятор (Slider Control), Цифровой индикатор (Numeric/String), Trend Graph Display.

3. В свойствах Движковый регулятора установили режим дискретного изменения на выходе регулятора.

4. Связали Trend Graf Display и Numeric/String Display с Slider Control.

5. Запустили проект на исполнение. Изменяя положение бегунка, мы увидели на цифровом табло числа, а на диаграмме - график, соответствующие текущему положению бегунка.

 

 

Лабораторная работа №7.

Тема: Определение правильного порядка выполнения блоков задачи

Цель: научиться, как правильно проектировать многократные задачи в файле стратегии и как правильно назначать и изменять порядок исполнения для нескольких функциональных блоков стратегии.

 

Ход работы:

1. Запустили программу Genie DAQ и создали новый проект.

2. Добавили два блока AI и один блок вычисления  +  в окно Task1. Сконфигурировали блок AI1 так, чтобы входом являлся нулевой канал устройства Advantech DEMO I/O, а блок AI2 - так, чтобы входом являлся также нулевой канал того же устройства.

3. Соединили блок AI1 (источник связи, нулевой канал) с блоком  вычисления, в появившемся списке диалоговой панели выбрали строку Операнд 1. Блок AI2 также связали с блоком вычисления (Операнд 2).

4. Добавили еще один блок вычисления. Повторили пункт 3.

 

5. Для отображения вносимых изменений в в окне Display1 расположили 4 индикатора Numeric/String Display.

6. Запустили файл стратегии, чтобы увидеть различные комбинации порядка выполнения в действии.

 

 

Лабораторная работа №8.

Тема: Использование растрового изображения с динамизацией. 

Цель: Использование возможности использования растрового изображения с динамизацией.

 

Ход работы:

Первый способ.

1. Из панели инструментов окна Task выбрали следующие блоки: 2 блока TAG, блок аналогового ввода AI, счетчик CNT и вычислительный блок SOC.

2. Из панели инструментов окна Display выберем следующие элементы:

«Trend graph display item», "Numeric/String Display Item", 2 элемента "Binary button diplay" (BBTN, обозначены как  RESET и GOLD), Conditional Bitmap. Для последнего блока для каждого значения (от 0 до 7) приготовили соответствующие изображения, выполненные в формате BMP, и поместили их в какую-либо папку. Использовались следующие изображения

 

 

 

3. Сконфигурировали в Task1 блок AI так, чтобы входом являлся канал 0 устройства Advantech DEMO I/O. Два блока TAG настроили на получение информации от элементов Binary button diplay. Блоки CNT и SOC настроили следующим образом:

 

4. Соединили их следующим образом:

 

5. Настроили индикатор Numeric/String Display Item окна Display на отображение значений блока AI. Элемент Trend graph display item настроили на восприятие значений со следующих элементов: AI1(output 0), SOC1 (chanel 0), CNT1 (chanel 0). Остальные элементы настроили следующим образом:

 

6. Настроили элемент Conditional Bitmap на воспроизведение заранее приготовленных картинок:

 

7. Запустили проект на исполнение.

 

 

Второй способ

1.Настроили окна Task и Display следующим образом

 

2. Trend graph display item отображает показания SCR1 (output 0).

3. Описание блока SCR1

 

4. Запустили проект на исполнение. При этом наблюдали тот же результат, что и первом способе.

 

Лабораторная работа №9.

Тема: Использование индикатора 

Цель: Изучить возможности использования индикатора при работе с модулями и проверка работоспособности модулей.

 

Ход работы:

1. На панели инструментов Task 1 добавили блоки DI, DO.

2. Теперь свяжем блок DI1 с  лампочками. Для этого двойным щелчком левой кнопкой мыши вызываем диалоговое окно Digital Input Properties. Выбрали для него модуль ADAM-4050 (адрес 2), т. к. на поле задач выбран цифровой вход (DI). Получим следующее изображение:

 

3.Также свяжем блок DO1 с модулем ADAM-4050 (адрес 2). Выбрали номер канала 3

4. Установили связь между этими блоками.

 

5. Добавим на поле визуализации блок индикатора . После этого, щелкнув на блоке индикатора в поле визуализации, в появившемся окне изменили свойства индикатора (цвет и форму). В этом же окне нажмем кнопку Select. Установили в заголовке Tag nameDI1:DI1, в заголовке ChannelsChannel 0.

6. Запускаем на исполнение.

 

 

Лабораторная работа №10.

Тема: Использование блока архива тревог 

Цель: Научиться использовать блок архива тревог для отображения  аварийных ситуаций

 

Ход работы:

1. На поле задач установили следующие блоки:

 

AI – привязываем к модулю ADAM-4011. Tag (NCTL1) – устанавливает пределы изменения, соответствует уставке (setpoint). ON-OFF - позволяет сравнивать 2 входа. Сигнал «1» поступает на цифровой выход DO1 (модуль ADAM-4050, канал 0) в случае, если текущее значение выходит за пределы, указанные в Tag (±Δ). Данный блок настроили следующим образом:

 

Выходы DO2 – DO5 привязали к следующим модулям:

DO2 подключаем к АДАМ-4050, канал 1;

DO3 подключаем к АДАМ-4050, канал 2;

DO4 подключаем к АДАМ-4050, канал 3;

DO5 подключаем к АДАМ-4050, канал 4.

ALOG – блок тревоги, сравнивает текущее значение температуры с установками, которые жестко прописываются в этом блоке (на этапе разработки проекта):

 

2. В блок SCR1 добавили следующий код:

Sub SCR1()

  Dim AlarmStatus as Tag

  Set AlarmStatus = GetTag("TASK1","ALOG1")

  If AlarmStatus = 0 Then 'No alarm

           Outputi 0, 0

           Outputi 1, 0

           Outputi 2, 0

           Outputi 3, 0

           Outputi 4, 0

  End if

  If AlarmStatus = 1 Then 'below low

           Outputi 0, 0

           Outputi 1, 1

           Outputi 2, 0

           Outputi 3, 0

           Outputi 4, 0

  End if

  If AlarmStatus = 2 Then 'above high

           Outputi 0, 0

           Outputi 1, 0

           Outputi 2, 1

           Outputi 3, 0

           Outputi 4, 0

  End if

  If AlarmStatus = 3 Then 'below low-low

           Outputi 0, 0

           Outputi 1, 0

           Outputi 2, 0

           Outputi 3, 1

           Outputi 4, 0

  End if

  If AlarmStatus = 4 Then 'above high-high

           Outputi 0, 0

           Outputi 1, 0

           Outputi 2, 0

           Outputi 3, 0

           Outputi 4, 1

  End if

End Sub

2. Numeric Control  – соответствует установке, привязывается к Tag(NCTL) на поле задач, можно вручную устанавливать значения установки и пределы изменения (±Δ).

Numeric String  – соответствует текущему значению, т. е. обозначает показывающий прибор.

Realtime Trend Graph – соответствует графику, где наглядно отображено сравнение двух величин: AI1 и TAG:NCTL1.

Indicator – графический индикатор. Установили следующие связи:

 отображает SCR1 (output 4);

 отображает SCR1 (output 3);

 отображает SCR1 (output 2);

 отображает SCR1 (output1);

 отображает SCR1 (output0).

3. Запустили на исполнение

 

 

Лабораторная работа №11.

Тема: Использование таймера для выполнения операций

с запаздыванием 

Цель: Научиться создавать проекты с использованием элементов памяти

 

Ход работы:

1.На поле задач установили следующие блоки:

 

2. AI1 – привязали к модулю ADAM-4011;

AI2 – привязали к модулю ADAM-4012;

SOC1 – данный блок позволяет сравнить 2 входа. Щелкнув правой кнопкой мыши на нем, в появившемся окне можно установить операции сравнения (выход «0» или «1»), а также арифметические операции;

SOC3 – привязали к любому выходу модуля ADAM-4050.

Т.к. значение, получаемое от движка (AI2) мало, умножаем его в 50 раз с помощью блока SOC2.

ET1 – таймер (можно представить как секундомер). Данный блок настроили следующим образом:

 

3. На поле визуализации организована схема, на которой отображаются текущие значения температуры и движка, значение с таймера и сигнализация срабатывания лампочки.

Realtime Trend Graph – соответствует графику, где наглядно отображено сравнение двух величин: AI1 и SOC2. Индикатор отображает SOC3.

4. После запуска проекта на исполнение наблюдали включение устройства через заданное время.

 


Ключевые слова -


ФНГ ФИМ ФЭА ФЭУ Яндекс.Метрика
Copyright 2021. Для правильного отображения сайта рекомендуем обновить Ваш браузер до последней версии!