Лабораторная работа №6
Моделирование в системе STRATUM-2000.
Задание1: предположим, что в сосуде находится лед при температуре -10°С. Сосуд начинает нагреваться, постепенно лед тает и образуется вода, которая с течением времени закипает и полностью испаряется. Необходимо смоделировать этот процесс. Нагревание льда описывается по формуле: Q=m*cl, где Q – количество теплоты, m – масса льда, cl – удельная теплоемкость льда – 2400 Дж/кг*К. Плавление льда описывается по формуле: Q=m*l, где l – удельная теплота плавления – 3.35*105 Дж/кг. Нагревание воды описывается по следующей формуле:
Q=m*с, где с – удельная теплоемкость воды – 4190 Дж/кг*К. Переход воды из жидкого состояния в парообразное описывается по сле- дующей формуле: Q=m*r, где r – удельная теплота парообразования – 2.26*106 Дж/кг. Порядок выполнения работы. Для моделирования нагревания льда , превращения его в воду, а затем в пар соберем экспериментальную установку: В центре схемы расположен имидж сосуда. Его математическая модель следующая: Начальные значения переменных, которые используются в модели сосуда: Из библиотеки UNIT.LIB выберите имидж GRAPHICSPACE и установите его на поле схемы. Из библиотеки CONTROLS.LIB выберите имидж NUMBERVIEW и установите его на поле схемы 3 раза для отображения значений трех переменных: температуры, общей массы воды и льда, а также массы льда. Другими словами, переменные Value этих 3 имиджей связаны соответственно с переменными T, m и ice модели сосуда. Из этой же библиотеки установите имидж VSLIDER , с помощью которого будет осуществляться регулировка подводимого тепла, а также имидж LAMP , который позволит реализовать сигнализацию о полном испарении воды. Переменная Value имиджа VSLIDER связана с переменной Q модели сосуда. Начальные значения переменных этого имиджа: min=0, max=40, Height=100. Лампочка имиджа LAMP включается с помощью переменной light, которая связана с переменной s имиджа Lighter (расположен слева от LAMP). Математическая модель имиджа Lighter: S:=ed(0.01-value), а начальные значения переменных: S=0, value=1. Переменная Value имиджа Lighter связана с переменной Value имиджа NumberView, служащего для наблюдения за общей массой воды и льда. На схеме расположены также 2 осциллографа OSCSpace2D, служащие для наблюдения за изменением во времени температуры содержимого сосуда и количеством льда в нем. Имидж OSCSpace2D находится в библиотеке UNIT.LIB.
Снизу схемы проекта расположен имидж CurrentTime. Он содержит встроенную функцию Gettime(~hour,~min,~sec,~hund), которая считывает показания компьютерных часов и возвращает переменные, содержащие текущее время. Имидж CurrentTime связан по переменной ~sec с имиджем СoordX. Этот имидж с помощью переменной ~sec формирует ось времени для осциллографов. То есть координаты оси Х осциллографа - это секунды реального времени. Предлагается следующая математическая модель имиджа CoordX: if(flag+~sec) if(~sec) x:=m+~sec flag:=1 else m:=m+60 flag:=0 endif else x:=m+~sec endif Haчальные значения всех переменных имиджа CoordX равны 0. Имидж CoordX связан по переменной Х с первым (левым) осциллографом, который также по переменной Х связан со вторым. Переменной Y для левого осциллографа является переменная Т модели сосуда ( то есть переменные Т и Y этих имиджей связаны между собой). Для правого осциллографа переменная Y связана с переменной ice модели сосуда . Haчальные значения всех переменных левого осциллографа: Если переменная _enable=1, то осциллограф включен. То есть, измения значение переменной _enable, можно включать нужный осциллограф. Haчальные значения всех переменных правого осциллографа:
Результат работы правого осциллографа: Результат работы левого осциллографа: Задание 2: построение круговой двухмерной диаграммы
Постройте схему, отображающую двухмерную круговую диаграмму из 4 секторов (красный, зеленый, синий и желтый). С помощью управляторов проверьте работоспособность диаграммы.
Создайте новый проект. Поместите на главную схему имидж GraphicSpace. Создайте новый имидж (например Diagram_2D) с текстом:
a := a1 + a2 + a3 + a4 if(a) x1 := (a1*2*PI) / ~a x2 := (a2*2*PI) / ~a x3 := (a3*2*PI) / ~a x4 := (a4*2*PI) / ~a b1 := x1 b2 := x1 + x2 b3 := x1 + x2 + x3 b4 := 2*pi if (x1+x2+x3+x4) c1 := "красный " + String(x1*100 / (x1 + x2 + x3 + x4)) + "%" c2 := "синий " + String(x2*100 / (x1 + x2 + x3 + x4 )) + "%" c3 := "зеленый " + String(x3*100 / (x1 + x2 + x3 + x4 )) + "%" c4 := "желтый " + String(x4*100 / (x1 + x2 + x3 + x4 )) + "%" endif endif
Назначение переменных :
a1,a2,a3,a4 |
входные величины, |
a |
сумма входных величин, |
x1,x2,x3,x4 |
относительные углы поворота секторов в радианах, |
b1,b2,b3,b4 |
абсолютные углы поворота секторов в радианах, |
с1,c2,c3,c4 |
текстовые переменные, содержащие величины секторов в процентах. |
Установите на схему четыре имиджа Pie (сектор) для отображения секторов диаграммы. Соедините между собой переменные x,y,r1,r2 во всех имиджах для согласования центров. Установите переменные имиджей Pie: x,y - координаты диаграммы (например 100,100), r1,r2 - радиусы (например 60,60) и в BrushColor - цвет каждого сектора. Соедините переменные b1,b2,b3,b4 имиджа Diagram_2D c переменными angle1
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.