‘интерфейсная часть управляющей программы состоит из четырех форм - одной ‘MDI - форме («MDIform1») и трех дочерних («nacac_izm», «form2_child», «form_o_proge»), ‘элементов управления, меню и кода
‘В п.5.2 на рис. 5.2.1 представлен внешний вид формы «MDIform1», рис. 5.2.2 -
‘команд меню данной формы, рис. 5.2.3 и 5.2.6 - «nacac_izm», 5.2.4 и 5.2.5 - ‘«form2_child»
‘Код обработчиков ошибок не приведен
‘установки свойств, выполненные «At Design Time» в большинстве не приведены
‘Ниже представлены фрагменты кода формы «MDIform1»
‘по выбору команды меню «Каскадом» выстроить каскадом подчиненные формы
Private Sub kask_okno_Click()
MDIform1.Arrange vbCascade
End Sub
‘по выбору команды меню «Начать» отобразить форму «nacac_izm»
Private Sub nach_izm_Click(Index As Integer)
nacac_izm.Show
‘по выбору команды меню «Открыть» отобразить окно «Открытие файла» c
‘соответствующей маской
Private Sub otkr_izm_Click(Index As Integer)
CommonDialog1.Filter = "Тепловые диаграммы (*.tpl)|*.tpl"
CommonDialog1.ShowOpen
‘по выбору команды меню «Печать» отобразить окно «Печать»
Private Sub pecac_Click()
CommonDialog1.ShowPrinter
‘по выбору команды меню «О программе» отобразить модальную форму ‘«form_o_proge»
Private Sub o_programme_Click()
form_o_proge.Show vbModal
‘по выбору команды меню «Сохранить» отобразить окно «Сохранение» c
Private Sub soxr_izm_Click(Index As Integer)
CommonDialog1.ShowSave
‘по выбору команды меню «Выстроить значки» упорядочить все
‘значки подчиненных форм
Private Sub vys_znach_okno_Click()
MDIform1.Arrange vbArrangeIcons
‘выгрузить форму «MDIform1»
Private Sub vyxod_izm_Click(Index As Integer)
Unload Me
‘В качестве вариантов визуализации графической модели изучаемого
‘теплового поля приведем код (VB 6.0), использующий для этой цели элемент управления «Microsoft Chart Control» (Version 6.00.00),
‘а также код, написанный для среды ‘разработки «Matlab 5.2».
‘Интерполяционные преобразования не приведены.
‘Ниже приведены фрагменты кода формы «form2_child».
‘ Объявление общей переменной для хранения численных результатов измерения
‘ и массива, в который передаются данные от модуля
Dim stroka As String
Dim arrPrices(), a As Integer
‘ обработчик нажатия кнопки «Численные значения»
Private Sub data_Click()
nacac_izm.Visible = True
nacac_izm. WindowState = 0 ‘ установка вида визуального отображения окна формы ‘ «nacac_izm» во время выполнения (нормальное положение)
nacac_izm.Caption = "Полученные численные значения" ‘изменение заголовка ‘формы
‘кнопки «ОК»,«Cancel» и «Координаты» делаем невидимыми
nacac_izm.nacac_izm_ok.Visible = False
nacac_izm.nacac_izm_cancel.Visible = False
nacac_izm.Coord.Visible = False
nacac_izm.zacryc.Visible = True ‘кнопку «Закрыть» делаем видимой
nacac_izm.text2.Text = stroka ‘визуализируем численные значения измерений
stroka = " " ‘сбрасываем значение переменной «Stroka»
‘вывод надписей
nacac_izm.ramka1.Caption = "Результаты"
nacac_izm.ramka2.Caption = "Выбранные каналы"
nacac_izm.ramka3.Visible = False
nacac_izm.ramka5.Visible = False
nacac_izm.ramka4.Visible = True
‘обработчик события «Таймер»
‘свойство «Interval» установлено «At Design Time» в 60000
Private Sub timer1_Timer()
Static tim As Byte ‘ переменная для подсчета событий «Таймер»
Select Case nacac_izm.combo1.Text
Case "2 минуты"
If tim = 2 Then GoTo ready Else tim = tim + 1
Exit Sub
Case "3 минуты"
If tim = 3 Then GoTo ready Else tim = tim + 1
End Select
ready:
Animation1.AutoPlay = False ‘ «выключение» анимации, символизирующей процесс ‘измерения
MSChart1.Title = "Измерения окончены"
timer1.Enabled = False ‘запрещение таймера
ReDim arrPrices(MSChart1.ColumnCount, MSChart1.RowCount) ‘определение границ динамического массива
‘ подготовка к визуализации численных значений
For i = 1 To MSChart1.ColumnCount
For j = 1 To MSChart1.RowCount
a = arrPrices(i, j)
stroka = stroka + Str(a)
Next j
Next i
MSChart1.ChartData = arrPrices ‘ передача данных в диаграмму
ramka1.Visible = False
data.Enabled = True ‘ разрешение кнопки «Численные значения»
‘обработчик кнопки «Закрыть»
Private Sub Zakryc_Click()
Unload nacac_izm
‘визуализация графической модели теплового поля в среде «Matlab 5.2»
surf(d); % вывод переданного массива данных от модуля средствами %функции surf (построение трехмерной параметрической поверхности)
colormap(jet); % Установка цветности по умолчанию
% Подписи к осям координат
xlabel('X');
ylabel('Y');
zlabel('Temperature');
% масштабирование осей координат согласно передаваемым параметрам
axis([0 X 0 Y 0 Z])
‘Ниже приведены фрагменты кода формы «nacac_izm»
Dim time
Dim i, j As Byte ‘ общие переменные для циклов
Private Sub Coord_Click() ‘ обработчик кнопки «Координаты»
ramka5.Visible = True
Coord.Visible = False
nacac_izm_ok.Enabled = True ‘разрешение кнопки «ОК»
Private Sub Form_Load()
nacac_izm.WindowState = 0
‘ добавим элементы в список окна «Режим измерений»:
combo1.AddItem ("Немедленно")
combo1.AddItem ("1 минута")
combo1.AddItem ("2 минуты")
combo1.AddItem ("3 минуты")
ramka5.Visible = False ‘поля для ввода координат невидимы
Private Sub nacac_izm_cancel_Click()
Private Sub nacac_izm_ok_Click()
Dim canal As Byte
Dim diag As Object
Set diag = form2_child.MSChart1 ‘ связали с диаграммой
‘ проверка заполнения полей координат для каналов, по которым выбраны флажки
For i = 0 To 11
If flag(i).Value = vbChecked Then
If (coordinate(i).Text = "") Or (coordinate(i + 12).Text = "") Then
MsgBox "Координаты датчиков введены некорректно", vbExclamation, "Ошибка"
GoTo b
End If
Next
‘ если выбран флажок «Все», то необходимо заполнить все поля координат
If flag(12).Value = vbChecked Then
MsgBox "Задайте все координаты", vbExclamation, "Ошибка"
‘ определение количества столбцов и строк диаграммы:
canal = 0
canal = canal + 1
If flag(12).Value = vbChecked Then canal = 12
Select Case canal
‘ ошибка, если ни один канал не выбран:
Case 0
MsgBox "Выберите требуемые каналы", vbExclamation, "Ошибка"
form2_child.Visible = False
Case 2
diag.ColumnCount = 2
diag.RowCount = 1
Case 4
diag.RowCount = 2
Case 6
diag.RowCount = 3
Case 8
diag.ColumnCount = 4
Case 9
diag.ColumnCount = 3
Case 10
diag.RowCount = 5
Case 12
‘ иначе -по умолчанию
‘ вызов обработчика таймера:
If combo1.Text = "Немедленно" Then
form2_child.Show
If combo1.Text = "Немедленно" Then’
form2_child.MSChart1.Title = "Измерения окончены"
ReDim arrPrices(diag.ColumnCount, diag.RowCount)
For i = 1 To diag.ColumnCount
For j = 1 To diag.RowCount
arrPrices(i, j) = arrayFromADC(i, j) ‘ считать от модуля по готовности данные
stroka = stroka + Str(a) ‘ подготовка визуализации численных
‘ результатов исследования
diag.ChartData = arrPrices ‘передача данных в диаграмму
form2_child.ramka1.Visible = False
form2_child.data.Enabled = True
Else
form2_child.Animation1.Visible = True ‘разрешение анимации
form2_child.timer1.Enabled = True ‘разрешение таймера
form2_child.data.Enabled = False ‘запрещение кнопки «Численные значения»
nacac_izm.Visible = False
With form2_child.Animation1
.Open ("c:\Pragram Files\ASITR\Findcomp.avi") ‘путь к файлу анимации,
‘установленный дистрибутивом
.AutoPlay = True
End With
form2_child.MSChart1.Title = "Подождите окончания измерений"
b: End Sub
Private Sub zacryc_Click()
form2_child.data.Enabled = False
‘Ниже приведены код формы «form_o_proge»
‘свойство «ToolTipText» установлено «At Design Time» в «Закрыть»
Private Sub form_o_proge_Ok_Click()
Unload form_o_proge
1. В. В. Шерстнев. Конструирование и микроминиатюризация ЭВА. :Учебник для вузов. - М.: Радио и связь, 1984.
2. Преснухин Л. Н., Шахнов В. А. Конструирование электроных вычислительных машин и систем. Учебник для втузов по специальностям «ЭВМ» и «Конструирование и производство ЭВА». - М.: Высшая школа., 1986.
3. Савельев А. Я., Овчинников В. А. Конструирование ЭВМ и систем: Учеб. Для вузов по специальности «Вычислительные машины, комплексы, системы и сети». - М.: Высшая школа, 1989
4. Сопряжение датчиков и устройств ввода данных с компьютерами IBM PC: Пре с англ./Под ред. У. Томпкинса, Дж. Уэбстера. - М.: Мир. - 1992
5. Design - In. Reference Manual. Analog Devices Inc., 1994
6. Колесниченко О.В., Шишигин И.В. Аппаратные средства PC /3-е изд., перераб. и доп.- СПб.: БХВ - Санкт-Петербург, 1999.
7. Федорков Б.Г., Телец В. А., Дегтяренко В. П. Микроэлектронные цифро-аналоговые и аналого-цифровые преобразователи. - М.: Радио и связь, 1990.
8. Макс М. Методы и техника обработки сигналов при физических измерениях. - М.: Мир, 1983.
9. Яншин Л. А. Теоретические основы конструирования, технологии и надежности ЭВА. - М.: Радио и связь, 1983.
10. Лярский В. Ф., Мурадян О. Б. Электрические соединители: Справочник. - М.: Радио и связь, 1988.
11. Применение интегральных микросхем в электронной вычислительной технике: Справочник/ Р. В. Данилов, С. А. Ельцова, Ю. П. Иванов и др. ; Под ред. Б. Н. Файзулаева, Б. В. Тарабрина. - М.: Радио и связь, 1987.
12. Ушаков Н. Н. Технология производства ЭВМ: Учебник для студентов ВУЗов по специальности «Вычислительные машины, комплексы, системы и сети». - М.: Высшая школа, 1991.
13. Цифровые интегральные микросхемы: Справочник/М. И. Богданович, И. Н.
Грель, В. А. Прохоренко, В. В. Шалимо. - Мн.: Беларусь, 1991.
14. Visual Basic 6.0: пер. с англ. - СПб.: БВХ - Санкт - Петербург, 1998.
15. ОСТ4 ГО.091.219 «Узлы и блоки радиоэлектронной аппаратуры. Методика оценки и нормативы показателей технологичности конструкций».
16. Охрана труда на предприятиях связи. Под ред. Н.И. Баклашова. -М.: Радио и связь, 1983.
17. Санитарные нормы проектирования промышленных предприятий (СН-245-71). - М.: Издательство стандартов, 1974.
18. ГОСТ 12.1.007-76 «Вредные вещества. Классификация и общие требования безопасности» - М.: Издательство стандартов, 1978.
19. Технология и автоматизация производства РЭА. Под ред. А. П. Достанко и др.- М.: Высшая школа, 1989.
20. Охрана труда в машиностроении. Под ред. Е. Я. Юдина, С. В. Белова. - М.: Машиностроение, 1983.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18