Разработка комплекса программ для моделирования технологического процесса выплавки стали
Оглавление
Техническое задание
Введение
.1 Требования к программе
.2 Условия эксплуатации
.3 Требования к программной документации
.4 Стадии и этапы разработки
.5 Порядок контроля и приемки
Введение
Глава I. Исследование предметной области
.1 Описание технологического процесса выплавки
стали, производства непрерывно-литой заготовки (НЛЗ) и сортового проката
.2 Методы первичной обработки многомерных
экспериментальных данных
.3 Предварительная обработка статистических
данных
.3.1 Цели предварительной обработки опытных
данных
.3.2 Генеральная совокупность и выборка
.3.3 Предварительная группировка данных
Глава 2. Реализация
.1 Модуль Diplom.cpp
.2 Модуль MainFormUnit.cpp
2.3 Модуль XLSExportDialogUnit.cpp
.4 Модуль DistributionTableDialogUnit.cpp
Заключение
Список литературы
Техническое задание
Введение
Наименование
«Разработка комплекса программ для моделирования
технологического процесса выплавки стали».
Авторы
«Шимков В.С.»
Назначение и область применения
Модуль предназначен для:
1. Экспорта данных из таблиц Excel в СУБД Oracle;
2. Отсев грубых промахов по указанным критериям;
. Построение таблиц двумерного распределения с
последующим экспортом в таблицу Excel.
Модуль будет использован в дальнейшем, для решения задач при
пассивном эксперименте для построения математической модели технологического
процесса выплавки стали.
1.1 Требования к программе
Требование к функциональным характеристикам
Модуль должен пошагово реализовывать поставленную перед ним
задачу.
Требования к надежности
Обеспечение надежного функционирования программы
Надежное (устойчивое) функционирование программы должно быть
обеспечено выполнением Заказчиком совокупности организационно-технических
мероприятий, перечень которых приведен ниже:
а) организацией бесперебойного питания технических средств;
б) использованием лицензионного программного обеспечения;
в) регулярным выполнением рекомендаций Министерства труда и
социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. Об
утверждении межотраслевых типовых норм времени на работы по сервисному
обслуживанию ПЭВМ и оргтехники и сопровождению программных средств»;
г) регулярным выполнением требований ГОСТ 51188-98. Защита
информации. Испытания программных средств на наличие компьютерных вирусов.
Время восстановления после отказа
Время восстановления после отказа, вызванного сбоем
электропитания технических средств (иными внешними факторами), не фатальным
сбоем (не крахом) операционной системы, не должно превышать 30-ти минут при
условии соблюдения условий эксплуатации технических и программных средств.
Время восстановления после отказа, вызванного неисправностью
технических средств, фатальным сбоем (крахом) операционной системы, не должно
превышать времени, требуемого на устранение неисправностей технических средств
и переустановки программных средств.
Отказы из-за некорректных действий пользователя
Отказ модуля может быть вызван отсутствием необходимого
программного обеспечения либо некорректными данными.
1.2 Условия эксплуатации
Климатические условия эксплуатации.
Климатические условия эксплуатации, при которых должны
обеспечиваться заданные характеристики, должны удовлетворять требованиям,
предъявляемым к техническим средствам в части условий их эксплуатации
Требования к квалификации и численности персонала
Минимальное количество персонала, требуемого для работы
программы, должно составлять не менее 1 штатной единицы конечный пользователь
программы - оператор.
Требования к составу и параметрам технических
средств
. В состав технических средств должен входить IBM-совместимый персональный
компьютер (ПЭВМ), включающий в себя:
· процессор Pentium-2.0Hz, не менее;
· оперативную память объемом, 256 Мегабайт,
не менее;
· HDD, 20
Гигабайт, не менее;
· операционную
систему Windows98 и выше
Требования к информационным структурам и методам
решения
Исходные данные предоставлены в виде таблицы Excel; способ экспорта на
усмотрение разработчика. Взаимодействие с СУБД Oracle должно осуществляться
через один из указанных программных интерфейсов на выбор: ADO, DOA, ODAC или OLEDB.
Требования к исходным кодам и языкам
программирования
Обработка данных должна выполняться на стороне сервера СУБД Oracle с использованием языка PL/SQL. Клиентская часть должна
быть разработана на языке С++ с использованием среды С++ Builder 6.
Требования к программным средствам, используемым
подпрограммой.
Системные программные средства, используемые программой,
должны быть представлены лицензионной локализованной версией операционной
системы Windows 98 или Windows XP.
Требования к защите информации и программ
Требования к защите информации и программ не предъявляются.
Специальные требования
Специальные требования не предъявляются.
1.3 Требования к программной документации
Предварительный состав программной документации
Состав программной документации должен включать в себя:
· программу и
методики испытаний;
· руководство
оператора;
· руководство
программиста.
Технико-экономические требования
Экономические преимущества разработки
Ориентировочная экономическая эффективность не
рассчитываются.
Аналогия должна быть проведена с чистой реализацией в Excel с учетом объема
занимаемых данных скорости работы и переносимости.
1.4 Стадии и этапы разработки
Разработка должна быть проведена в три стадии:
· разработка технического задания;
· рабочее проектирование;
· З. внедрение.
Этапы разработки
На стадии разработки технического задания должен быть
выполнен этап разработки, согласования и утверждения настоящего технического
задания.
На стадии рабочего проектирования должны быть выполнены
перечисленные ниже этапы работ:
o разработка
программы;
o разработка
программной документации;
o испытания
программы.
На стадии внедрения должен быть выполнен этап разработки
подготовка и передача программы.
Содержание работ по этапам
На этапе разработки технического задания должны быть
выполнены перечисленные ниже работы:
§ постановка задачи;
§ определение и уточнение требований к техническим
средствам;
· определение требований к
программе;
· определение этапов и сроков разработки
программы и документации на неё;
· согласование и утверждение технического
задания.
На этапе разработки программы должна быть выполнена работа по
программированию (кодированию) и отладке программы.
На этапе разработки программной документации должна быть
выполнена разработка программных документов в соответствии с требованиями к
составу документации.
На этапе испытаний программы должны быть выполнены
перечисленные ниже виды работ:
· разработка, согласование и утверждение и методики
испытаний;
· проведение
приемосдаточных испытаний;
· корректировка программы и программной
документации по результатам испытаний.
На этапе подготовки и передачи программы должна быть
выполнена работа по подготовке и передаче программы и программной документации
в эксплуатацию на объектах Заказчика.
1.5 Порядок контроля и приемки
Виды испытаний
Приемо-сдаточные испытания должны проводиться на объекте
Заказчика в оговоренные сроки.
Приемо-сдаточные испытания программы должны проводиться
согласно разработанной. Исполнителем и согласованной Заказчиком в оговоренные
сроки.
Ход проведения приемо-сдаточных испытаний Заказчик и
Исполнитель документируют в протоколе проведения испытаний.
Общие требования к приемке работы
На основании Протокола проведения испытаний Исполнитель
совместно с Заказчиком подписывает Акт приемки-сдачи программы в эксплуатацию.
Введение
Измерения не являются самоцелью, а имеют определенную область
использования, т.е. проводятся для достижения некоторого конечного результата в
соответствии с поставленной задачей.
В зависимости от назначения измерений (для контроля
параметров продукции, для испытаний образцов продукции с целью установления ее
технического уровня, для диагностики технического состояния машин и
физиологического уровня биологических объектов, для научных исследований, для
учета материальных и энергетических ресурсов и др.) конечный результат в том,
или ином виде отражает требуемую информацию о количественных свойствах
объектов, явлений и процессов (в том числе, технологических). Причем такая
информация может быть получена путем измерения, в процессе испытания или
контроля.
Основным объектом измерения являются физические величины.
Физическая величина - это одно из свойств физического объекта (физической
системы, явления или процесса), общее в качественном отношении для многих
физических объектов, но в количественном отношении индивидуальное для каждого
из них.
Высокая точность измерения и достоверность научных
результатов имеет большое значение, как в инженерной, так и научной
деятельности.
На практике существует несколько способов повышения точности
измерений: увеличение точности средств измерения (СИ), совершенствование
методов измерений, и если это возможно, увеличение числа повторных измерений.
Многие приборы уже достигли предела точности измерения поэтому их
совершенствование сопряжено со значительными материальными и трудовыми
затратами; на помощь приходят статистические методы. Увеличение количества
измерений позволяет за счет избыточности полученной информации снизить значение
относительной погрешности и ближе подойти к истинным значениям измеряемых факторов.
Глава I. Исследование предметной области
1.1 Описание технологического процесса выплавки
стали, производства непрерывно-литой заготовки (НЛЗ) и сортового проката
Основным сырьем для производства металлопродукции служит
металлолом, поступающий железнодорожным и автотранспортом. Приемка металлолома
производится в соответствии с требованиями ГОСТ 2787-75 "Металлы черные
вторичные". Поступивший металлолом, сортируется по видам и
перерабатывается в отделении комплексной подготовки лома (ОКПЛ).
Для каждого из используемых видов лома рассчитаны расходные
коэффициенты, отражающие расход единицы металлолома для получения единицы
жидкой стали. Поступивший в ОКПЛ металлолом после сортировки и переработки
перегружается в завалочные корзины.
Загрузка завалочных корзин производится согласно
разработанных шихтовок в зависимости от состава металлолома имеющегося в
наличии в ОКПЛ, и от существующего технологического процесса выплавки стали.
При помощи электроскраповозных тележек, завалочные корзины с металлоломом
передаются из ОКПЛ в главное здание ЭСПЦ, где происходит загрузка металлолома в
дуговую сталеплавильную печь (ДСП-2).
В качестве шихтовых материалов для ДСП используются:
·
габаритный
стальной лом (1А, 2А, 3А, 4А); ЛКГ (шредер);
·
пакеты (8А, 9А, 10А);
·
стальной негабаритный лом 5А;
·
лом
для пакетирования 12А, ЛГК, 13А;
·
стружка (14А, 15А, 16А);
·
скрап металлургического производства (25А);
·
чугунный
лом габаритный (17А, 18А, 19А);
·
чугунный
лом негабаритный (20А, 21А, 22А);
·
чугун передельный чушковый (30А);
·
обрезь
проката и сталеплавильного производства;
·
ГБЖ (горячебрикетированное железо);
·
мелочь коксовая;
·
известняк
(в случае отсутствия, нехватки комовой извести);
·
окалина;
·
КПО
(кокс + пыль г/о ЭСПЦ + окалина).
В качестве раскисляющих и легирующих добавок применяются, как
различные ферросплавы, так и технически чистые металлы. Данные материалы
поступают в ОФиС ж/д и автотранспортом, и выгружаются в закрома. При
необходимости подвергаются дроблению или сушке.
В качестве исходного материала для производства
углеродсодержащих порошков используются мелочь коксовая. Исходный материал
поступает ж/д или автотранспортом, и разгружается в приемный закром. Далее
подвергается сушке и по необходимости дроблению.
Дуговая сталеплавильная печь
В главном корпусе цеха установлена мощная
электросталеплавильная печь емкостью 120 тонн (ДСП-2). Производство стали в
дуговой сталеплавильной печи, осуществляется методом полного окисления с
использованием одношлакового процесса. Процесс плавки состоит из следующих
последовательных стадий: заправка и загрузка печи, плавления шихтовых
материалов, окислительного периода и выпуска плавки.
По способу ведения плавки существует два варианта:
-й вариант - с завалкой металлошихты на "сухую"
подину. Данный вариант используется после замены подины, эркера и в случае
необходимости осмотра состояния подины и боковых фурм.
ДСП-2 имеет следующие технические характеристики:
·
средний
вес выпускаемой стали - 121 т;
·
максимальная
емкость по жидкой стали - 140 т;
·
номинальная
мощность печного трансформатора - 95 МВА;
·
максимальное вторичное напряжение - 951
В;
·
средняя
длительность плавки - 54,7 мин;
в т.ч. под током -
45,2 мин;
·
среднечасовая
производительность ДСП-2 - 132,7 т/час;
·
расход электроэнергии -
440,9 кВтч/т;
·
расход кислорода - 37,2 м3/т;
·
расход
природного газа - 5,9 м3/т.
Электропечь оборудована:
·
системой эксцентричного донного выпуска;
·
системой
бункеров для хранения, взвешивания и присадки необходимых материалов в рабочее
пространство печи, и в стальковш в период выпуска плавки из печи;
·
системой
стеновых газокислородных горелок мощностью до 3,6 МВт каждая;
·
дверным
манипулятором собственной конструкции с газокислородной горелкой мощностью 7,5
МВт и кислородной фурмой с расходом кислорода до 3000 м3/час;
·
стеновым
манипулятором "Palmur" с угольной и кислородной фурмами, с расходом кислорода до
3000 м3/час;
·
комбинированными
фурмами горелками, мощностью 3,5 МВт и максимальным расходом кислорода 2000 м3/час;
·
системой
газокислородных фурм, установленных в откосах печи.
Печь оборудована компьютерной системой ведения процесса
плавки, позволяющей решать следующие задачи:
·
определять
энергетический и материальный балансы;
·
управлять технологическим процессом плавки;
·
выполнять
расчет фактического химического состава и температуры стали.
Футеровка рабочего слоя печи выполнена из
периклазоуглеродистых огнеупорных материалов, которые обеспечивают межремонтный
срок службы стен более 700 плавок. При необходимости футеровка стен
торкретируется огнеупорными массами при помощи специальной торкрет-машины.
Электросталеплавильный шлак, образующийся в условиях ЭСПЦ,
подразделяется на два вида: печной шлак и ковшевой шлак.
Установка "ковш-печь"
Предназначена для выполнения следующих операций:
·
точная
окончательная доводка стали по химическому составу и температуре;
·
десульфурация стали;
·
удаление неметаллических включений;
·
гомогенизация;
·
модифицирование и микролегирование.
Время обработки металла на установке определяется
необходимостью решения вышеуказанных задач. Рекомендуемое время обработки
металла - 40 - 45 мин. Минимальное время обработки определяется необходимостью
усреднения по температуре и химическому составу и должно составлять не менее 20
мин. от момента начала и до окончания продувки аргоном. Установка
"ковш-печь" выполняет буферные операции между ДСП и МНЛЗ при
организации разливки большими сериями.
Установка оборудована системой бункеров для хранения,
взвешивания и присадки ферросплавов, трайбаппаратами для ввода в металл
проволоки с различным порошкообразным наполнителем, установками фирмы "Stein" для вдувания
порошкообразных материалов (коксик, известь) в металл и на шлак.
расход аргона на продувку -
0,2 м3/т.
·
расход электроэнергии -
40,0 кВтч/т.
·
расход электродов - 0,38
кг/т.
·
номинальная мощность трансформатора - 18 МВА.
·
максимальная
скорость нагрева - до 3,5 °С/мин.
Продувка металла аргоном оказывает влияние на
физико-химические процессы, протекающие в жидкой стали, изменение содержания
неметаллических включений, газов и гомогенизацию расплава по химическому
составу и температуре. Аргон для перемешивания подается через 2 щелевые
продувочные пробки, установленные в днище сталеразливочного ковша.
Межремонтная стойкость футеровки стальковшей 72 плавки,
максимально достигнутая 96 плавок.
Машина непрерывного литья
заготовок
В разливочном пролете установлена машина непрерывного литья заготовок
(МНЛЗ). В настоящее время в связи с работой одной технологической линией весь
металл разливается на МНЛЗ-2.
Целью непрерывной разливки стали, является получение
заготовок высокого качества - однородных как в пределах одной разлитой плавки,
так и по сечению, с хорошей поверхностью, с минимальной ликвацией и осевой
пористостью, с мелкозернистой, благоприятной для дальнейшей обработки первичной
структурой и незначительными отходами.
Принцип непрерывной разливки заключается в том, что сталь из
ковша заливают, в интенсивно охлаждаемую, сквозную форму квадратного сечения -
кристаллизатор, где происходит частичное затвердевание непрерывно вытягиваемого
слитка, а дальнейшее его затвердевание происходит при прохождении зоны
вторичного охлаждения.
В отличие от обычного способа разливки стали, непрерывная
разливка позволяет отливать со значительной скоростью заготовку высокого
качества и относительно небольшого сечения, что устраняет необходимость в
установке обжимного стана и выполнения целого ряда дополнительных операций по
обработке металла.
1.2 Методы первичной обработки многомерных
экспериментальных данных
Построение таблицы исходных данных и ее первичная
обработка
В практике научных работ нередки случаи, когда объект
исследования характеризуется множеством показателей, которые можно измерить
зафиксировать, но нельзя произвольно изменять. Такие задачи встречаются при
исследовании технологических процессов производства изделий, показателей
состояния организма людей, химических и физико-механических показателей
сельскохозяйственной продукции и т.п. Для фиксации Цифровых значений таких
показателей и упорядочения первичной собранной информации удобно использовать
форму таблицы, которую будем называть таблицей исходных данных.
Таблица исходных данных представляет собой матрицу размером N*/M, где М факторов
(столбцы) соединены в многомерную выборку объемом N (строки). Такая матрица
может содержать значительный объем информации, извлечь которую является сложной
статистической задачей.
Практика работы с таблицами исходных данных такого пассивного
эксперимента показала, что если число столбцов М ограничивается только списком
факторов (который может достигать нескольких сотен наименований), то объем
многомерной выборки Л‘ (длина таблицы, количество строк матрицы) не может быть
произвольным. Интуитивно ясно, что чем больше факторов, тем длиннее должна быть
таблица. Экспериментально установлено, что таблица результатов пассивного
эксперимента является достаточно длинной, если на каждый исследуемый
независимый фактор в ней приходится 10-15 строк
Однако теми же исследованиями установлено, что не все факторы
воздействуют на целевую функцию (выходной показатель качества изделия, вообще,
показатель цель исследования), то есть, в большинстве случаев исследователь
имеет дело со сверхнасыщенным планом, влияние части факторов которого переходит
в шум эксперимента.
Это означает, что размерность матрицы по количеству факторов
может быть существенно уменьшена. Кроме того, новейшие теоретические
исследования показали, что для измерений массовой однотипной продукции,
изготовленной в едином (или подобном) технологическом процессе, не соблюдается
одно из фундаментальных свойств теории вероятности требование состоятельности
оценок выборочных распределений, суть которого заключается в том, что оценка
сходится по вероятности к истинному значению (а ошибка оценки к нулю) при
неограниченном возрастании числа измерений.
На практике определяющим становится влияние всегда
присутствующих или иных связных технологических операций, которое и приводит к
нарушению теоретического свойства состоятельности. Другими словами, обработка
нескольких тысяч однотипных измерений не уменьшает, а увеличивает ошибку
оценки.
Следовательно, существует конечное, не слишком большое число
измерений, сверх которого уточнение оценки при тех же исходных условиях
становится бессмысленным. Эмпирически установлено, что такое число лежит в
пределах 250-300 измерений.
Таким образом, размерность таблицы исходных данных может
меняться от двух до нескольких десятков, сотен и даже тысяч столбцов при длине
таблицы до 300 строк. Такая длинная таблица с множеством чисел может содержать
и ошибочные данные, поэтому перед дальнейшей работой все столбцы должны быть
проверены на грубые промахи любым из известных способов, а выявленные промахи удалены,
иначе статистический анализ может дать неверные выводы.
Так как каждый столбец таблицы исходных данных есть выборка
соответствующего фактора объемом Н, то проверку на отсутствие в числовых данных
грубых промахов можно совместить с проверкой соответствия распределения
факторов с нормальным законом.
Проверка соответствия каждого фактора нормальному закону
распределения чрезвычайно важна, так как большинство методов математической
статистики основаны на использовании этого закона Особенно важно такое соответствие
для целевых функций, так как практически все методы теории планирования
эксперимента основаны на предпосылке, что целевая функция распределена именно
по нормальному закону.
Несоответствия целевой функции заставляет исследователя
искать её преобразование, согласующееся с нормальным законом. Это требование
основано на том, что конечной целью обработки таблицы многомерных данных
является математическая модель, которая представляет собой наиболее компактное
представление содержащееся в таблицах в неявном виде конкретной информации.
1.3 Предварительная обработка статистических
данных
1.3.1 Цели предварительной обработки опытных
данных
Предварительная обработка результатов измерений или
наблюдений необходима для того, чтобы в дальнейшем с наибольшей эффективностью,
а главное корректно использовать для построения эмпирических зависимостей
статистические методы. Содержание предварительной обработки в основном состоит
в отсеивании грубых погрешностей измерения или погрешностей, неизбежно имеющих
место при переписывании цифрового материала или при вводе информации в ЭВМ.
Грубые погрешности измерения (аномальные, или сильно отличающиеся, значения)
очень плохо поддаются определению, хотя интуитивно каждому экспериментатору
ясно, что это такое. Другим важным моментом предварительной обработки данных
является проверка соответствия распределения результатов измерения закону
нормального распределения. Если эта гипотеза неприемлема, то следует
определить, какому закону распределения подчиняются опытные данные и, если это
возможно, преобразовать данное распределение к нормальному.
Только после выполнения перечисленных выше операций можно
перейти к построению эмпирических формул, применяя, например, метод наименьших
квадратов.
1.3.2 Генеральная совокупность и выборка
Генеральной называют совокупность всех мыслимых наблюдений,
которые могли бы быть сделаны при данном комплексе условий. Генеральная
совокупность может быть конечной и бесконечной. Данное выше определение
генеральной совокупности можно считать строго обоснованным только для случаев
конечных генеральных совокупностей.
Понятие бесконечной генеральной совокупности - математическая
абстракция, как и представление о том, что измерить случайную величину можно
бесконечное число раз. Приближенно бесконечную генеральную совокупность можно
истолковать как предельный случай конечной генеральной совокупности. Результаты
ограниченного ряда наблюдений х1, х2, .... хn, случайной величины
можно рассматривать как выборку изданной генеральной совокупности.
Относительной частотой случайного события, называется отношение числа появлений
этого события к общему числу произведенных испытаний. Мера объективной
возможности случайного события называется вероятностью случайных событий (P).
Относительные частоты можно истолковать как выборочные
значения вероятностей случайных событий. Если говорить о характеристиках
распределений вероятностей, то характеристики теоретических распределений можно
рассматривать как характеристики, существующие в генеральной совокупности, а
характеристики эмпирических распределений - как выборочные характеристики.
Можно встретить и другую терминологию. Характеристики
распределения вероятностей в генеральной совокупности называют параметрами, а
выборочные (эмпирические) значения характеристик - оценками или статистиками.
Параметры обозначаются буквами греческого алфавита, а оценки - соответствующими
буквами латинского алфавита.
1.3.3 Предварительная группировка данных
Пусть при изготовлении электрорадиоэлементов одного типа
номинала одновременно измеряются два параметра.
Для удобства дальнейшей обработки данных ее необходимо
упорядочить и представить в виде таблицы двумерного распределения (табл. 1).
Для этого по гистограмме лабораторной работы строим таблицу с
числом внутренних клеток 9х9 левом столбце, которой записываются средние
значения разрядов гистограммый X, в предпоследнем - число попаданий в них.
Для заполнения остальных строк истолбцов надо выбрать из
табл.1 вторую колонку, например Y корреляции с которой будем искать. Для величин Y , аналогично величинам X2, найдем определим шаг
гистограммы С и середины разрядов Y , которые и запишем в шапку табл.1.
Затем для каждой пары чисел Xi ,Yi найдем соответствующую
клетку табл. 1 и сделаем в ней отметку о попадании (точку или черточку).
Исчерпав всю та6л.1.1‚ подсчитаем количество попаданий nje пар чисел в каждую je- ю клетку, то есть
клетку. находящуюся на пересечении j - й строки и e - го столбца.
Таблица 1 Таблица двумерного распределения
Суммы попаданий по столбцам дают гистограмму распределения
величины Y. В качестве контроля правильности
заполнения табл.1 можно предложить ‹равенство сумм чисел попаданий в разряды
обеих гистограмм. Последний столбец табл.1 заполняется средними арифметическими
значениями по каждой j-й строке.
Тогда для величины Y получается две гистограммы - исходная с
центрами разрядов Y, и числами попаданий ne и условная - с центрами квазиразрядов и числами попаданий nj.
Таблица двумерного распределения дает дополнительную возможность
избавиться от грубых промахов, которые невозможно выявить в одномерных
выборках.
Для двумерной таблицы грубым промахом считается попадание в
клетку. отстоящую от основного массива данных одновременно не менее чем на одну
пустую клетку по горизонтали и по вертикали (при достаточно большом общем
объеме выборки. например, не менее 100).
По формулам для гистограмм находим Y
=64,13; = ; =35,14
Тогда по формуле квадрат корреляционного отношения 2 = 0.6469
и ŋ=0,8043. Другими словами, есть все основания отнести исследуемые
параметры к среднекоррелированным.
Если в таблице двумерного распределения есть одиноко стоящая
заполненная клетка, вокруг которой есть хотя бы по одной пустой клетке - то это
двумерное выделяющееся значение. Таблица двумерного распределения позволяет
выделить:
а) двумерные выделяющиеся значения;
б) определить знак связи;
в) определить вид связи.
Для построения уравнения связи используется метод:
а) наименьших квадратов;
б) Чебышева;
в) наименьших модулей;
г) наименьших квадратов с предварительной ортогонализацией
факторов;
д) главных компонентов.
Регрессионная модель, получаемая с помощью метода наименьших
модулей - это зависимость медианы выходной величины от значений управляемой
величины, а остальные позволяют получить регрессионную модель, описывающую
зависимость среднего арифметического выходной величины от значений управляемой
величины.
Т.о., статистическая сущность регрессионных моделей полученных с
помощью метода наименьших модулей и с помощью остальных методов различна.
Глава 2. Реализация
Разработанный программный комплекс состоит из серверной и
клиентской частей.
Серверная часть работает под управлением СУБД Oracle 10g и представляет собой
набор таблиц и хранимых подпрограмм, выполняющих хранение и обработку исходных
данных соответственно. Клиентская часть представлена программным проектом,
состоящим из набора функционально разделенных модулей.
Согласно техническому заданию, в качестве среды разработки
был использован Borland C++ Builder версии 6.0. Результатом сборки проекта является
исполняемое приложение, обеспечивающее пользовательский интерфейс для
выполнения возложенных на программный комплекс вычислительных задач.
Взаимодействие приложения и СУБД Oracle осуществляется при
помощи программного интерфейса доступа к данным ActiveX Data Objects (сокращенно ADO), разработанного
компанией Microsoft. Существует два способа подключения к базам данных Oracle через интерфейс ADO.
Первый из них - это использование модулей поставщиков данных
разработанных компанией Microsoft.
Второй - использование модулей содержащихся в установочном
пакете СУБД Oracle.
В результате проведенных тестирований выяснилось, что модули,
предоставленные компанией Microsoft, не могут выполнить свою задачу, так как не
способны установить соединение с сервером БД и приводят к появлению сбоев в
работе программы. В свою очередь драйвера компании Oracle обеспечивают стабильную
работу.
Разработанный программный проект содержит следующие модули:
· Diplom.cpp - модуль инициализации
приложения и обработки исключительных ситуаций, генерируемый автоматически
средствами среды разработки;
· MainFormUnit.cpp - модуль реализующий
интерфейс главного окна программы;
· XLSExportDialogUnit.cpp - модуль диалога
экспорта данных из таблиц Excel в таблицы СУБД Oracle;
· DistributionTableDialogUnit.cpp - модуль диалога для
расчета таблицы двумерного распределения по указанным критериям;
· QueryDialogUnit.cpp - модуль позволяющий
выполнять пользовательские SQL запросы с выводом результата в главное окно
приложения;
· TextPromptDialogUnit.cpp - модуль реализующий
диалог ввода и подтверждения произвольной текстовой информации.
Модули QueryDialogUnit и TextPromptDialogUnit носят служебный характер
и в силу своей простоты их описание в данной главе отсутствует.
2.1 Модуль Diplom.cpp
Данный модуль генерируется автоматически средой разработки и
содержит единственную функцию WinMain, которая представляет собой точку входа в
программу и имеющую прототип характерный для Win32 приложений. Функция WinMain выполняет первоначальную
инициализацию приложения, создание форм и обработку исключительных ситуаций при
помощи соответствующей конструкции языка C++ try {...} catch(…) {…}.
2.2 Модуль MainFormUnit.cpp
Содержит программный код реализации класса TMainForm - главной формы
приложения.
Основной задачей формы данного класса - это обеспечение
пользовательского интерфейса дающего доступ к основным функциям программы
(Рисунок 1). Форма содержит компонент главного меню TMainMenu, визуальный компонент
доступа к таблицам класса TDBGrid и набор не визуальных компонентов обеспечивающих
подключение к серверу баз данных и программный интерфейс доступ к таблицам.
Далее представлен список компонентов используемых в классе TMainForm с описанием их функций:
· TADOConnection *ADOConnection - компонент управления подключением
к серверу баз данных и использующийся компонентами доступа к данным.
· TDataSource *DataSource - является посредником
между компонентами доступа к данным и управляющими элементами пользовательского
интерфейса, обеспечивающих представление данных в форме.
· TADOQuery *ADOQuery - компонент для
выполнения DDL и DML операций надо объектами СУБД при помощи SQL запросов. Назначается
свойству DataSet компонента DataSource в качестве набора данных, из которого следует
выполнять выборку записей.
· TStatusBar *StatusBar - компонент панели
состояния; используется для вывода информации о происходящих операциях.
· TMainMenu *MainMenu - компонент главного
меню.
· TMenuItem *MenuOperation - корневой пункт
главного меню; предоставляет доступ к основным операциям приложения.
· TMenuItem *MenuFilter - элемент меню
отвечающий за функцию отсева грубых промахов. На данный момент этот
функционал не реализован.
· TMenuItem
*MenuDistribution2D - данный пункт меню позволяет пользователю вызвать диалог
для построения таблицы двумерного распределения из модуля
DistributionTableDialogUnit.cpp.
· TMenuItem *MenuConnectDB - первичное нажатие на
данный элемент выполняет операцию подключения к серверу БД, при этом он
отмечается галочкой. Второе нажатие приведет к разрыву соединения. Связан с
объектом ActionConnectDB.
· TMenuItem *MenuExit - стандартный элемент
для всех приложений, выполняющий завершение сеанса работы с данной программой.
Связан с объектом ActionExit класса TAction, который выполняет указанное действие.
· TMenuItem *N1, *N10, *N11 - элементы меню
выступающие в роли разделителей для группировки логически связанных пунктов.
· TActionList *ActionList - не визуальный
компонент, предоставляющий функции управления операциями приложения, которые
могут быть единообразно использованы как из главного, так и контекстного меню,
а также через панель инструментов.
· TFileExit *ActionExit - объект-действие
осуществляет выход из приложения.
· TAction *ActionConnectDB - объект-действие
выполняет подключение к серверу БД и отключение от него.
· TAction *ActionFilter - объект-действие
выполняет обработку пользовательского запроса на выполнение операции отсева
грубых промахов. На данный момент не реализован.
· TAction *ActionDistribution2D - открывает диалог
построения таблицы двумерного распределения.
· TAction *ActionExecQuery - открывает диалог
пользовательских запросов из модуля QueryDialoUnit.cpp.
· TDBGrid *DBGrid - компонент отображения
набора данных из источника DataSource. Подключение к источнику осуществляется через
одноименное свойство DataSource.
· TAction
*ActionExportXLS - данный объект-действие открывает диалог экспорта данных
Excel из модуля XLSExportDialogUnit.cpp.
· TMenuItem *Excel1 - элемент меню
связанный с действием ActionExportXLS.
· TADOTable *ADOTable - компонент доступа к
записям таблиц БД, подключается к объекту DataSource через свойство DataSet.
Рисунок 1. Снимок главного окна программы
Для того, чтобы выполнить подключение к серверу БД,
необходимо задать свойство ConnectionString компонента ADOConnection. Данное свойство
содержит строковое значение, в котором записаны параметры подключения, среди
которых указывается имя поставщика данных. Не рекомендуется редактировать это
свойство вручную, вместо этого следует воспользоваться мастером настойки
подключения, который можно вызвать двойным щелчком мыши на свойстве ConnectionString. В списке поставщиков
данных следует выбрать пункт Oracle Provider for OLEDB и подтвердить выбор
нажатием кнопки OK. Данных действий достаточно для базовой настройки подключения и
дальнейшей работы.
Кроме перечисленных выше свойство класс TMainForm содержит следующие
методы:
· ActionExecQueryExecute(TObject *Sender) - метод обработки
события возникающего при выполнения действия ActionExecQuery, на которое ссылается
параметр Sender.
· ActionConnectDBExecute(TObject *Sender) - метод обработки
события при выполнении действия ActionConnectDB == Sender.
· ADOConnectionDisconnect(TADOConnection *Connection, TEventStatus &EventStatus) - обработчик события
возникающего в момент разрыва соединения с сервером БД.
При этом параметр Connection ссылается на объект ADOConnection, а EventStatus содержит один из
возможных кодов ошибки: esOK - операция завершена успешно; esErrorsOccured - во время операции
возникла ошибка; esCantDeny - был запрос на установление соединения, но соединение еще
не установилось, и данную операцию не возможно отменить; esCancel - опытка установить
соединение была отклонена.
· ADOConnectionBeforeConnect(TObject *Sender) - обработчик события
возникающее до момента установки соединения, приложение отображает в строке
состояния сообщение "Подключение к БД". Параметры Sender
ссылается на объект ADOConnection.
· FormCreate(TObject *Sender) - данный метод
вызывается после создания объекта формы (после конструктора), что позволяет
выполнить предварительную настройку уже созданных компонентов. Даная
возможность используется для подключения к серверу БД Oracle при запуске приложения.
· ADOConnectionAfterConnect(TObject *Sender) - данный метод
вызывается объектом ADOConnection после того как подключение к БД выполнено успешно, при этом
в строке состояния отображается сообщение "Готово".
· ActionExportXLSExecute(TObject
*Sender) - выполняет действие ActionExportXSL(см. выше).
· DataSetBeforeOpen(TDataSet * DataSet) - данный обработчик
вызывается одним из компонентов набора данных ADOTable или ADOQuery, что является сигналом
того, что начинается выборка данных. При этом событии обработчик засекает время
начала операции.
· DataSetAfterOpen(TDataSet * DataSet) - обработчик события
возникающего после того как выборка данных завершилась, при этом фиксируется
время окончания операции. Разность времен засеченных до начала операции и после
ее завершения даст общее время выполнения. Также в данном обработчике
формируется сообщение "Выбрано строк(%d), столбцов(%d) за время %f сек.", которое
затем отображается в строке состояния.
2.3 Модуль XLSExportDialogUnit.cpp
Модуль XLSExportDialogUnit содержит реализацию формы, выполняющей
задачу экспорта данных из таблиц Excel в СУБД Oracle (Рисунок 2). Связь с таблицей Excel также осуществляется
через интерфейс ADO. При этом алгоритм подключения к таблице Excel аналогичен, тому который
используется при подключении к серверу Oracle, за исключением
содержимого строки подключения, которая должна иметь следующий вид.
"Provider=Microsoft.Jet.OLEDB.4.0;"
"Password=%password;"
"User ID=%user;"
"Data Source=%file;"
"Extended Properties='Excel
8.0;HDR=Yes;IMEX=1'"
где %user - имя пользователя,
%password - пароль пользователя,
%file - путь к файлу таблицы.
Если файл расположен на локальном компьютере, то имя
пользователя и пароль можно опустить.
Так как пользователь может работать с различными файлами
таблиц Excel, то здесь, вопреки рекомендациям, используется ручная установка параметров
подключения. Для этой цели в модуле объявлена статическая переменная строкового
типа ConnectionStringTemplate, содержащая шаблон строки подключения, в
которую, при помощи функции Format через заполнители вида %s внедряются нужные
параметры.
Рисунок 2. Снимок окна формы экспорта данных из таблицы Excel
Форма TXLSExportDialog содержит следующие компоненты:
· TDBGrid *DBGrid - компонент для
просмотра данных выбранной таблицы Excel.
· TProgressBar *ProgressBar - скрытая от
пользователя панель прогресса, которая появляется при выполнении операции
экспорта, чтобы у пользователя не создалось впечатление того, что программа
"зависла". Так как операция экспорта занимает длительное время (~20
секунд, при экспорте таблицы содержащей 5305 строк и 93 столбца), то необходимо
отобразить ход выполнения операции для приблизительной оценки времени ее
окончания.
· TActionList *ActionList - компонент управления
списком действий данной формы.
· TFileOpen *ActionFileOpen - объект-дейстие выбора XLS-файла, которое
показывает стандартный диалог открытия файла.
· TAction *ActionExport - объект-действие
позволяет пользователю начать операцию экспорта.
· TAction *ActionUpdateTargetTableSelect - данное действие
обновляет список таблиц в элементе выбора целевой таблицы TargetTableSelect.
· TAction *ActionCreateTable - действие позволяющее
пользователю создать новую таблицу на сервере БД совместимую по количеству
столбцов с таблицей Excel.
· TComboBox *SourceTableSelect - элемент выбора таблицы
из XLS-файла.
· TButton *ButtonExport - кнопка запуска
операции экспорта, ее нажатие обрабатывается действием ActionExport, который в свою очередь
приводит к срабатыванию метода ActionExportExecute (см. далее).
· TADOTable *ADOXLSTable - компонент доступа к
данным таблицы Excel. Используется для обхода записей исходной таблицы и формирования
запросов на вставку значений в целевую таблицу;
· TADOQuery *ADOOracleQuery - данный компонент
используется для выполнения SQL запросов СУБД Oracle на создание новой таблицы
(CREATE TABLE) и вставки (INSERT INTO) значений.
· TADOConnection *ADOXLSConnection - компонент
осуществляющий подключение к файлу таблиц Excel по указанным в свойстве ConnectionString параметрам.
· TComboBox *TargetTableSelect - компонент выбора целевой
таблицы на стороне сервера БД.
· TSpeedButton *ButtonUpdateTargetTableSelect - кнопка связанная с
действием ActionUpdateTargetTableSelect.
· TSpeedButton *ButtonCreateTable - кнопка связанная с
действием ActionUpdateTargetTableSelect.
· TSpeedButton *ButtonOpenFile - кнопка связанная с
действием ActionFileOpen.
События предоставляемые вышеописанными компонентами
обрабатываются следующими методами:
· ActionFileOpenAccept(TObject *Sender) - данное событие
срабатывает когда пользователь выбирает файл таблиц Excel в диалоге открытия
файлов. При этом из свойства Dialog компонента ActionFileOpen извлекается имя файла,
выполняется проверка его существования, формируется строка параметров
подключения компонента ADOXLSConnection и выполняется подключение к выбранному
файлу. После подключения в компоненте выбора исходной таблицы формируется
список доступных таблиц выбранного файла.
· SourceTableSelectChange(TObject *Sender) - данный обработчик
срабатывает при выборе пользователем элемента из списка исходных таблиц. Имя
выбранной таблицы присваивается свойству TableName компонента ADOXLSTable, что в свою очередь
инициирует выборку данных и отображение их в таблице DBGrid.
· ADOXLSTableAfterOpen(TDataSet *DataSet) - данный метод
вызывается компонентом ADOXLSTable после того как данные выбраны. Здесь
производится подстройка столбцов таблицы, так чтобы их ширина примерно
соответствовала содержимому ячеек. Если данную подстройку не выполнить, то
каждый столбец будет растянут на всю ширину окна таблицы, что может ввести
пользователя в заблуждение.
· ActionCreateTableExecute(TObject *Sender) - данный метод
вызывается при нажатии кнопки создания новой целевой таблицы. При этом
пользователю выводится диалог ввода имени новой таблицы, после чего метод
формирует SQL запрос CREATE TABLE и выводит форму подтверждения запроса. Если
пользователя по каким-то причинам что-либо не устраивает, то он может отклонить
запрос и создать таблицу вручную стандартными средствами пакета Oracle Database.
· ActionExportExecute(TObject *Sender) - после проверки
входных параметров производит экспорт данных из таблицы ADOXLSTable в целевую таблицу при
помощи компонента ADOOracleQuery. Экспорт производится пакетным выполнением
множества запросов вида INSERT INTO table_name VALUES(…). Количество запросов
на пакет определяется локальной переменной RowsPerQuery, которой на данный
момент присвоено значение 100. Это позволяет снизить нагрузку на сервер БД,
связанную с передачей огромного количества коротких запросов.
2.4 Модуль DistributionTableDialogUnit.cpp
программа моделирование выплавка сталь
Модуль DistributionTableDialogUnit реализует форму диалога
для построения таблицы двумерного распределения по следующим параметрам: имя
исходной таблицы, имя столбца выборки X, имя столбца выборки Y, имя целевой таблицы,
количество интервалов разбиения диапазона значений для выборок X и Y.
Операция расчета таблицы распределения двумерной выборки
выполняется хранимой процедурой BuildDistributionTable2D на стороне сервера БД Oracle. Выполнение вычислений
на стороне сервера значительно снижает затраты необходимые на пересылку
большого объема исходных данных и возврат результата в виде новой таблицы
обратно на сервер.
Процедура BuildDistributionTable2D принимает 7 входных
параметров и возвращает 6 выходных. В следующий таблице представлено их краткое
описание:
Имя
|
Направление
|
Тип
|
Описание
|
pSourceTable
|
IN
|
VARCHAR2
|
Имя
исходной таблицы
|
pXColumn
|
IN
|
VARCHAR2
|
Имя X столбца в таблице pSourceTable
|
pYColumn
|
IN
|
VARCHAR2
|
Имя X столбца в таблице pSourceTable
|
pTargetTable
|
IN
|
VARCHAR2
|
Имя
целевой таблицы
|
pXIntervals
|
IN
|
INTEGER
|
Количество
интервалов разбиения выборки X
|
pYIntervals
|
IN
|
INTEGER
|
Количество
интервалов разбиения выборки X
|
IN
|
INTEGER
|
Флаг выполнения
фильтрации грубых промахов.
|
pOutXMin
|
OUT
|
NUMBER
|
Минимальное
значение столбца X
|
pOutXMax
|
OUT
|
NUMBER
|
аксимальное
значение столбца X
|
pOutXH
|
OUT
|
NUMBER
|
Шаг разбиения
диапазона значений столбца X
|
pOutYMin
|
OUT
|
NUMBER
|
Шаг разбиения
диапазона значений столбца X
|
pOutYMax
|
OUT
|
NUMBER
|
аксимальное
значение столбца Y
|
pOutYH
|
OUT
|
NUMBER
|
аксимальное
значение столбца Y
|
pOutFMax
|
OUT
|
INTEGER
|
Максимальное
значение частоты в таблице двумерного распределения
|
Данная форма позволяет пользователю удобным способом задать
значения фактических параметров принимаемых указанной процедурой и инициировать
соответствующий запрос нажатием кнопки "Выполнить" (Рисунок 3).
Рисунок 3. Снимок диалога постоения таблицы двумерного
распределения
Для осуществления вызова хранимой процедуры используется компонент
ADOStoredProc класса TADOStoredProc. Данный компонент
содержит свойство Parametrs, которое представляет собой массив объектов класса TParameter. Объект TParameter все содержит необходимые
свойства для описания типа принимаемых значений, направление передачи IN, OUT или INOUT и фактическое значение
соответствующего параметра.
Заключение
В результате прохождения технологической практики были
выполнены следующие задачи.
Были изучены технологическая схема производства,
технологическая инструкция по выплавке стали на ОАО ММЗ, описание
технологического процесса выплавки стали.
Частично изучены методы статистической обработки данных, в
частности методы отсева грубых промахов, расчет таблиц распределения двумерной
выборки.
Установлен и настроен сервер СУБД Oracle.
Разработан сценарий на языке PL/SQL выполняющий построение
таблицы двумерного распределения по заданным критериям.
Изучены возможные способы взаимодействия с сервером СУБД Oracle, из которых был выбран
программный интерфейс ADO как самый доступный и удобный в использовании.
Выполнена нормализация тестовых данных.
Разработан модуль экспорта данных из Excel в Oracle.
Разработан модуль управления процессом построения таблиц
двумерного распределения.
В будущем планируется выполнить следующие задачи:
Изучение методов обработки экспертных данных.
Разработать модуль обработки экспертных данных.
Реализовать методы отсева грубых погрешностей из исходных
данных.
Расширение средств анализа результатов обработки
(гистограммы, графики и др.).
Сборка установочных пакетов.
Написание пользовательской документации.
Список литературы
1. Архангельский А.Я. Программирование в С++ Builder 6. - М.: Бином, 2003.
. Архангельский А.Я. С++ Builder 6. Справочное пособие.
-СПб.: БОЛГАН, 2002.
. Васюткина И.А. Исследование величины
информационной емкости математической модели в зависимости от метода
моделирования // Моделирование и исследование сложных систем: Сб. тр. МНТК.
Севастополь, 11-19 сентября 1999 г. - М.: МГАПИ, 2000.
. Вапник В.Н. Восстановление зависимостей по эмпирическим
данным. Изд-во "Наука", М., 1979.
5. Долгов Ю.А. Методы выборочного контроля и
математического моделирования для управления групповыми технологическими
процессами. Диссертация на соискание ученой степени док. техн. наук. -
Ленинград, ЛЭТИ, 1990.
. Долгов Ю.А., Сбор, обработка и моделирование
экспериментальной информации. Учебное пособие. - Тирасполь: РИО ПГУ, 1996.
. Долгов Ю.А. Статистическое моделирование. -
Тирасполь: РИО ПГУ, 2002.
8. Долгов Ю.А., Столяренко Ю.А., Моделирование.
Учебное пособие. - Тирасполь: РИО ПГУ, 2006.
9. Долгов Ю.А., Шестакова Т.В., Методы обработки
результатов пассивного эксперимента. Учебное пособие. - Кишинев: Штиинца, 1984.
. Джонсон Н., Лион Ф. Статистика и планирование
эксперимента в технике и науке. Методы обработки данных. М.: "Мир",
1980.
. Кент Р. и Хендерсон К. BORLAND C++BUILDER. - М.: Просвещение,
2000.
. Ликеш И., Ляга Й. Основные таблицы
математической статистики / Пер. с чешск. - М.: Финансы и статистика, 1985.
. Львовский Е.Н. Статистические методы
построения эмпирических формул. Учеб. Пособие для ВУЗов. - 2-е изд.. перераб. и
доп. - М.: Высш. шк.. 1988.
. Митропольский А.К. Техника статистических
вычислений - М.: Наука, 1971.
. Плескунин В.И. Теоретические основы
планирования эксперимента в научных и инженерных исследованиях: Учеб. пособие.
- Л.: Изд-во ЛЭТИ, 1974.
. Поллард Дж. Справочник по вычислительным
методам статистики / Пер. с англ. - М.: Финансы и статистика, 1982.
. Степанов М. Н. Статистические методы обработки
результатов механических испытаний: Справочник. М.: Машиностроение, 1985.
. Выплавка и разливка стали в ДСП-2.
Технологическая инструкция 518-2012-ЭСС-02-98. ОАО ММЗ. - Рыбница, 2004г.
. Описание технологического процесса выплавки
стали, производства непрерывно-литой заготовки (НЛЗ) и сортового проката. ОАО
ММЗ. - Рыбница, 2009г.