12403

Моделювання роботи мікропроцесорного прибору ІТМ-11 в середовищі С++Builder

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторна робота № 8 Моделювання роботи мікропроцесорного прибору ІТМ11 в середовищі СBuilder Мета: навчитися створювати комп’ютерну імітаційну модель роботи мікропроцесорного приладу ІТМ11 використовуючи стандартні компоненти С Builder. 1. Відомості по приладу ...

Украинкский

2013-04-27

203 KB

5 чел.

Лабораторна робота 8

Моделювання роботи мікропроцесорного прибору ІТМ-11

в середовищі С++Builder

Мета: навчитися створювати комп’ютерну імітаційну модель роботи мікропроцесорного приладу ІТМ-11, використовуючи стандартні компоненти С++ Builder.

1. Відомості по приладу ІТМ-11

У технологічних процесах для реєстрації параметрів використовуються

ІТМ-11(рис. 1). Ці пристрої обладнані також функцією сигналізації.

Рис 1. Передня панель ІТМ-11

Індикатор технологічний мікропроцесорний ІТМ-11:

- Універсальні багатофункціональні одноканальні індикатори;

- Модифікації індикаторів ІТМ-11 - горизонтальне виконання, шкального індикатора 31 сегмент, ІТМ-11В - вертикальне виконання, шкального індикатора 21 сегмент.

Область застосування:

- Системи цифрового і лінійної індикації технологічних параметрів;

- Двопозиційний, трипозиційний і багатопозиційне регулювання температури, тиску, витрат, рівня й інших фізичних величин;

- Дистанційні пристрої зв'язку з об'єктом з індикацією;

- Територіально розподілені і локальні системи управління;

- Місцеві щити та пульти керування, мнемощити, мнемосхеми і т.п.

Функціональні можливості:

- Робота з уніфікованими сигналами, термоперетворювачами опору, термопарами

- Кожен аналоговий вхід може бути налаштований на підключення будь-якого типу датчика

- Індикація параметрів в технологічних одиницях на цифрових і лінійних (0-100%) індикаторах

- Цифрове калібрування (автоматичне і ручне) початку шкали і діапазону вимірювання

- Вибір методу лінійної індикації (сегмент, гістограма)

- Завдання та сигналізація відхилення від установок мінімум і максимум на передній панелі

- Тип технологічної сигналізації: без запам'ятовування спрацьовування, із запам'ятовуванням спрацьовування і квітируванням

- Вхідний цифровий фільтр аналогових входів

- Витяг квадратного кореня (вимірювання витрати по перепаду тиску)

- Функція вимірювання інтегральної витрати

- Лінеаризація вхідного сигналу (по 16 точкам)

- 2 конфігурованих дискретних виходи - транзистор ОК, реле, оптосімістор, твердотільне реле

- Програмована логіка роботи вихідних пристроїв: більше MAX, менше MIN, в зоні MIN-MAX, поза зоною MIN-MAX

- Аналоговий вихід для ретрансміссії вхідних аналогових сигналів

- Архівація даних в енергонезалежну пам'ять (планується модернізація)

- Збереження параметрів при відключенні живлення

- Захист від несанкціонованої зміни параметрів

- Гальванічно розділений інтерфейс RS-485, протокол ModBus RTU (збір інформації, конфігурація)

Перелічимо необхідні компоненти С++ для створення програми.

Image – компонента із вкладки Additional для завантаження рисунків і відображення на формі.

Timerкомпонента із вкладки System, необхідна для створення анімованого зображення.

Label – компонента із вкладки  Standard , необхідна для відображення тексту.

TrackBarкомпонента із вкладки Win32, необхідна для завдання параметру.

Edit - компонента із вкладки  Standard, для забезпечення введення мінімального та максимального значення контрольованого параметру.

Chart - компонента із вкладки Additional для графічного відображення значення контрольованого параметру.

Хід роботи

Крок 1. Створюємо новий проект С++, перейменовуємо назву форми проекту через властивість Caption. Змінюємо назву Form1 на Емулятор ІТМ-11. Зберігаємо зміни. Папку з картинками із назвою ІТМ-11 поміщаємо в ту ж папку де знаходяться файли збереженого проекту.

Крок 2. Розміщуємо на формі програми необхідні компоненти:

Timer1 – Interval=100; Timer2 -  Interval=100; Timer3 - Interval=100.

Image1,Image2,Image3,Image4,Image5,Image6,Image7,Image8.(Для кожного з Image підбираємо необхідні розміри і позиції, усі зміни параметрів робимо через Object Inspector - Properties).

Image1 – AutoSize – true; Picture – завантажуємо  ITM-11.bmp; Left =0;Top=0;

Image2 - Left =62;Top=88; Height=28; Width=20; Picture –завантажуємо  ITM-11\Digits\0.bmp

Image3 - Left =84;Top=88; Height=28; Width=20; Picture –завантажуємо  ITM-11\Digits\0d.bmp

Image4 - Left =106;Top=88; Height=28; Width=20; Picture –завантажуємо  ITM-11\Digits\0.bmp

Image5 – Stretch=true; Left =22;Top=28; Height=23; Width=251; Picture –завантажуємо  ITM-11\Linear\0.bmp

Image6 – Transparent=true; Left =133;Top=106; Height=17; Width=17; Picture –завантажуємо  ITM-11\at.bmp

Image7 – Transparent=true; Left =133;Top=87; Height=17; Width=17; Picture –завантажуємо  ITM-11\at2.bmp

Image8 - Left =38;Top=88; Height=28; Width=20; Picture –завантажуємо  ITM-11\Digits\0.bmp

TrackBar1 – Min=0,Max=100; SelStart=30; SelEnd=70;

Label1 – змінюємо параметр Font, настроюємо бажаний шрифт і розмір шрифту.

Label2 – змінюємо параметр Caption на Контроль параметру

Розміщуємо на формі компоненти Edit1 та Edit2, Змінюємо параметри для них:

Edit1Text – min;

Edit2Text – max;

Додаємо компоненту Chart, бачимо на формі область для побудови графіку, двічі клікаємо по ній ЛКМ, обираємо Add… із вкладки Series, з’являється Series1. Переходимо на вкладку Titles і називаємо графік «Контрольований параметр»

Після того як усі компоненти розставлені, змінюємо властивості форми Form1 – AutoSize=true;

Форма з усіма необхідними компонентами повинна мати вигляд, як на рисунку 2.

Рисунок 2. Форма із розміщеними на ній компонентами

Крок 3. Заповняємо лістинг програми, створюючи необхідні події і додаючи вказівки препроцесорів. Усі події створюємо або подвійним кліком миші по компоненті, або через Object InspectorEvents.

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include <math.h>

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

float k,P[100],x1,ch;

int x,c,c2,c3,c4,i,min=0,max=10,i2,j,l;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

       : TForm(Owner)

{

Form1->DoubleBuffered=true;

Image6->Visible=false;

Image7->Visible=false;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

  k=(max-min)*0.01;

  x1=min+(TrackBar1->Position)*k;

  x=min+(TrackBar1->Position)*k;

  c=(x-x%100)/100;                        //перша цифра числа

  c2=((x-x%10)-(x-x%100))/10;  //друга цифра

  c3=x%10;                                      //третя цифра

  ch=ceil((x1-x)*10);

  c4=ch;                       //цифра після коми

  l=(TrackBar1->Position*31)/100; //відповідає за заповнення сегментів

  if (max<10)

 {Image8->Picture->LoadFromFile("ITM-11/Digits/0.bmp") ;

  Image2->Picture->LoadFromFile("ITM-11/Digits/0.bmp") ;

  Image3->Picture->LoadFromFile("ITM-11/Digits/"+IntToStr(c3)+"d.bmp") ;

  Image4->Picture->LoadFromFile("ITM-11/Digits/"+IntToStr(c4)+".bmp");

  Image5->Picture->LoadFromFile("ITM-11/Linear/"+IntToStr(l)+".bmp");

 }

 if (max<=99 )

{

 Image8->Picture->LoadFromFile("ITM-11/Digits/0.bmp") ;

 Image2->Picture->LoadFromFile("ITM-11/Digits/"+IntToStr(c2)+".bmp") ;

 Image3->Picture->LoadFromFile("ITM-11/Digits/"+IntToStr(c3)+"d.bmp") ;

 Image4->Picture->LoadFromFile("ITM-11/Digits/"+IntToStr(c4)+".bmp");

 Image5->Picture->LoadFromFile("ITM-11/Linear/"+IntToStr(l)+".bmp");

 }

   if (max<1000 )

{

 Image8->Picture->LoadFromFile("ITM-11/Digits/"+IntToStr(c)+".bmp") ;

 Image2->Picture->LoadFromFile("ITM-11/Digits/"+IntToStr(c2)+".bmp") ;

 Image3->Picture->LoadFromFile("ITM-11/Digits/"+IntToStr(c3)+"d.bmp") ;

 Image4->Picture->LoadFromFile("ITM-11/Digits/"+IntToStr(c4)+".bmp");

 Image5->Picture->LoadFromFile("ITM-11/Linear/"+IntToStr(l)+".bmp");

}

if (TrackBar1->Position<=30)

{ Timer2->Enabled=true;Timer3->Enabled=false; Image7->Visible=false;

 Label1->Caption="  Мінімальне навантаження ";

 Label1->Font->Color=clGreen;}

if (TrackBar1->Position>=70)

{Timer3->Enabled=true;Timer2->Enabled=false; Image6->Visible=false;

 Label1->Caption="  Максимальне навантаження ";

 Label1->Font->Color=clRed;}

if (TrackBar1->Position>30 && TrackBar1->Position<70)

{i=0;

 Label1->Caption="  Робочий режим ";

 Image6->Visible=false;

 Image7->Visible=false;

 Timer2->Enabled=false;

 Timer3->Enabled=false;

 Label1->Font->Color=clBlue;}

 //*** Рисування графіка функції***//

  P[100]= x+ch/10;

  for (i2=0;i2<100;i2++)

 {P[i2]=P[i2+1];}

  Series1->Clear();

  for (j=0;j<100;j++)

  {

    Series1->AddY(P[j]);

  }

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Timer2Timer(TObject *Sender)

{

 i++;

 if (i==1)

 {Image6->Visible=true;}

 if(i==2)

 {Image6->Visible=false;i=0;}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Timer3Timer(TObject *Sender)

{

 i++;

 if (i==1)

 {Image7->Visible=true;}

 if(i==2)

 {Image7->Visible=false;i=0;}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Edit1Change(TObject *Sender)

{

min=StrToInt(Edit1->Text);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Edit2Change(TObject *Sender)

{

max=StrToInt(Edit2->Text);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Edit2Click(TObject *Sender)

{

Edit2->Text=IntToStr(max);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Edit1Click(TObject *Sender)

{

Edit1->Text=IntToStr(min);

}

//---------------------------------------------------------------------------

Готова робоча програма повинна мати вигляд як на рисунку 3.

Рисунок 3. С++ програма для демонстрації роботи ІТМ-11.


 

А также другие работы, которые могут Вас заинтересовать

32326. Механизм государства: понятие структура и ее эволюция в государствах различных типов. Основные принципы деятельности в современных государствах 54 KB
  Механизм государства: понятие структура и ее эволюция в государствах различных типов. Основные принципы деятельности в современных государствах. Граждане могут принимать то или иное участие в делах государства но в конечном итоге государственные органы должностные лица несут персональную ответственность за эффективность своей работы В. Подобная система государственных органов профессиональных коллективов и называется механизмом государства.
32327. Органы государства: понятие, признаки и виды органов государства 37 KB
  Органы государства: понятие признаки и виды органов государства Анализ государства с позиций его механизма позволяет выявить место и роль каждого элемента в системе государственного властвования определить его оптимальную структуру иерархические связи с иными элементами и т. Признаки органа государства: 1 представляет собой самостоятельный элемент механизма государства выступая неотъемлемой частью единого государственного организма; 2 действует от имени государства и по его поручению; 3 образован и функционирует на основе...
32328. Основные положения теории разделения властей и ее значение в современных условиях 47.5 KB
  Основные положения теории разделения властей и ее значение в современных условиях. В современном мире разделение властей характерная черта признанный атрибут правового демократического государства. Сама же теория разделения властей итог многовекового развития государственности поиска наиболее действенных механизмов предохраняющих общество от деспотизма. Теория разделения властей была создана несколькими исследователями политики: идея высказывалась Аристотелем теоретически была развита и обоснована Джоном Локком 16321704 гг.
32329. Форма правления государства. Понятие, виды, характеристика отдельных видов форм правления 39.5 KB
  Форма правления государства. Понятие виды характеристика отдельных видов форм правления. Форма государства это способ организации политической власти охватывающий форму правления форму государственного устройства и политический режим. Форма государственного правления это элемент формы государства характеризующий организацию верховной государственной власти порядок образования ее органов и их взаимоотношения с населением.
32330. Форма государственного устройства как элемент формы государства. Понятие, виды, характеристика отдельных видов 33.5 KB
  Форма государственного устройства как элемент формы государства. Форма государственного устройства это элемент формы государства характеризующий внутреннюю структуру государства способ его политического и территориального деления обусловливающий определенные взаимоотношения органов всего государства с органами его составных частей. Взимание местных налогов как правило допускается с санкции государства. Территории в отличие от государства не вправе по своему усмотрению устанавливать и взимать налоги.
32331. Политический режим как элемент формы государства. Понятие режима. Виды режимов. Демократия как режим государства. Ее значение и виды. Антидемократические режимы и их виды 62 KB
  Политический государственный режим это система методов способов и средств осуществления политической власти. По мнению других авторов понятие политический режим более широкое чем понятие государственный режим поскольку включает в себя методы и приемы осуществления политической власти не только со стороны государства но и со стороны политических партий и движений общественных объединений организаций и т. Если первая показывает весь комплекс институтов участвующих в политической жизни общества и в осуществлении политической...
32332. Политическая система общества. Ее понятие, структура, типы. Характеристика отдельных типов политических систем 46.5 KB
  Выделяют следующие компоненты политической системы: 1 политическая организация общества включающая в себя государство политические партии и движения общественные организации и объединения трудовые коллективы и т.; 2 политическое сознание характеризующее психологические и идеологические стороны политической власти и политической системы; 3 социальнополитические и правовые нормы регулирующие политическую жизнь общества и процесс осуществления политической власти; 4 политические отношения складывающиеся между элементами системы...
32333. Место и роль государства и права в политической системе общества 33.5 KB
  Место и роль государства и права в политической системе общества Понятия государство и политическая система общества соотносятся как часть и целое. Государство концентрирует в себе все многообразие политических интересов регулируя явления политической жизни через призму общеобязательности. Именно в этом качестве государство играет особую роль в политической системе придавая ей своего рода целостность и устойчивость. Государство занимает центральное ведущее положение в политической системе общества так как оно: 1 выступает в качестве...
32334. Понятие и роль социальных норм. Деление их на обычаи, нравственные, правовые, корпоративные. Взаимосвязь правовых и иных социальных норм. Другие основания классификации социальных норм 55 KB
  Важнейшим средством организации общественных отношений являются социальные нормы: нормы права нормы морали нормы общественных организаций нормы традиций обычаев и ритуалов. Эти нормы обеспечивают наиболее целесообразное и гармоничное функционирование общества в соответствии с потребностями его развития. Социальные нормы это правила регулирующие поведение людей и деятельность организаций в их взаимоотношениях. Социальные нормы характеризуются рядом признаков: 1.