- •Введение
- •1 Теоретическая часть
- •1.1 Общие сведения о предприятии
- •1.2 Характеристика и анализ существующего уровня автоматизации объекта управления
- •1.3 Постановка задачи на проектирование автоматизированной информационной системы
- •1.3.1 Недостатки существующего уровня автоматизации
- •1.3.2 Обзор известных проектных решений по данной теме
- •2 Практическая часть
- •2.1 Анализ предметной области
- •2.1.1 Информационное обеспечение разрабатываемой ис
- •2.1.2 Описание логической структуры
- •2.1.3 Описание метода организации данных
- •2.1.4 Информационный анализ предметной области и построения инфологической модели данных
- •2.2 Разработка базы данных
- •2.2.1 Описание программно-технических средств
- •2.2.2 Описание используемой системы управления базами данных
- •2.2.3 Реляционная модель базы данных
- •2.2.4 Таблицы базы данных, схема данных
- •2.2.5 Запросы базы данных (представления), хранимые процедуры, функции
- •2.3 Разработка интерфейса пользователя
- •2.3.1 Выбор среды программирования
- •2.3.2 Алгоритмы работы программ
- •2.3.3 Разработка экранных форм
- •2.2.4 Инструкция пользователя
- •2.4 Информационная безопасность
- •3 Охрана труда и эргономика
- •3.1 Анализ потенциально опасных и вредных производственных факторов
- •3.2 Техника безопасности
- •Требования охраны труда перед началом работы
- •3.3 Эргономика
- •Заключение
- •Список использованных источников
- •Приложение а
- •Приложение б
- •Приложение в Диск с программным продуктом для учета складских ресурсов электрооборудования и электрических машин оао «сгок»
Список использованных источников
Васильков А.В., Васильков И.А., Безопасность и управление доступом в информационных системах//Учебное пособие – Москва, 2012, с.345-361.
Голицына О.Л., Максимов Н.В., Попов И.И. База Данных// Учебное пособие – Москва: Форум, 2012, с.201-212.
Гофман А.В., Хономенко А.С. Работа с базами данных в Delphi. Создание приложений средствами Delphi Автореферат диссертации на соискание учетной степени кандидата технических наук – Краснодар, 2011. с.23-24.
Кириллов В.В., Громов Г.Ю. Введение в реляционные базы данных. Санкт Петербург: БХВ – Петербург, 2012. с.409-414.
Никитин А.В., Слободенюк А.И., Шишаков М.Л. Компьютерное моделирование физических процессов.//Инфологическое моделирование / Москва: Бином, 2012. с.84-87.
Подкоколзин А.С. Компьютерное моделирование// Моделирование логических процессов. Санкт Петербург, 2012. с.21-56.
Официальный сайт Стойленского горно-обогатительного комбината. Производство и продукция. [Электронный ресурс]: Доступ из свободной библиотеки Национального исследовательского института «МИСиС»: http://www.sgok.ru/production/technology/
Официальный сайт Википедия [Электронный ресурс]: Доступ из свободной библиотеки Национального исследовательского института «МИСиС»: https://ru.wikipedia.org/wiki/%D5%E2%EE%F1%F2%EE%F5%F0%E0%ED%E8%EB%E8%F9%E5
Официальный сайт Википедия [Электронный ресурс]: Доступ из свободной библиотеки Национального исследовательского института «МИСиС»: https://ru.wikipedia.org/wiki/%D5%E2%EE%F1%F2%EE%F5%F0%E0%ED%E8%EB%E8%F9%E5
Официальный сайт Стойленского горно-обогатительного комбината. О компании. [Электронный ресурс]: Доступ из свободной библиотеки Национального исследовательского института «МИСиС»: http://www.sgok.ru/about/
Официальный сайт Stella-Siemens. [Электронный ресурс]: Доступ из свободной библиотеки Национального исследовательского института «МИСиС»: http://www.ste.ru/siemens/wincc.html
Приложение а
Запросы базы данных (представления), хранимые процедуры, функции
Запрос «Главный переменный»
Рисунок 4 – Запрос на выборку главный переменный
В режиме SQLзапрос «Главный переменный» выглядит следующим образом: SELECT [двигатели переменного тока].тип, [номер двигателя переменного тока].[серийный номер], [номер двигателя переменного тока].[инвентарный номер], [заказы на двигатели переменного тока].Заказ, [вид ремонта].[вид ремонта], [заказы на двигатели переменного тока].неполадки, [заказы на двигатели переменного тока].[дата приема], [заказы на двигатели переменного тока].[дата выдачи], [заказы на двигатели переменного тока].[Код заказа], [заказы на двигатели переменного тока].[ремонт начат], [заказы на двигатели переменного тока].[ремонт окончен]. FROM ([двигатели переменного тока] INNER JOIN [номер двигателя переменного тока] ON [двигатели переменного тока].[код типа двигателя] = [номер двигателя переменного тока].[код типа двигателя]) INNER JOIN ([вид ремонта] INNER JOIN [заказы на двигатели переменного тока] ON [вид ремонта].[Код вида] = [заказы на двигатели переменного тока].[код ремонта]) ON [номер двигателя переменного тока].[код двигателя] = [заказы на двигатели переменного тока].[код двигателя].
Запрос «Главный переменный подчиненный»
Рисунок 5 – Запрос на выборку главный переменный подчиненный
В режиме SQLзапрос «Главный переменный подчиненный» выглядит следующим образом: SELECT [ремонт двигателя переменного тока].[код заказа], [ремонт двигателя переменного тока].[код ремонт двиг], [ремонт двигателя переменного тока].дата, [ремонт двигателя переменного тока].примечание. FROM ремонтник INNER JOIN (([двигатели переменного тока] INNER JOIN [номер двигателя переменного тока] ON [двигатели переменного тока].[код типа двигателя]=[номер двигателя переменного тока].[код типа двигателя]) INNER JOIN (([вид ремонта] INNER JOIN [заказы на двигатели переменного тока] ON [вид ремонта].[Код вида]=[заказы на двигатели переменного тока].[код ремонта]) INNER JOIN [ремонт двигателя переменного тока] ON [заказы на двигатели переменного тока].[Код заказа]=[ремонт двигателя переменного тока].[код заказа]) ON [номер двигателя переменного тока].[код двигателя]=[заказы на двигатели переменного тока].[код двигателя]) ON ремонтник.[Код ремонтника]=[ремонт двигателя переменного тока].[код ремонт двиг];
Запрос «Главный переменный в ремонте»
Рисунок 6 – Запрос на выборку главный переменный в ремонте
В режиме SQLзапрос «Главный переменный в ремонте» выглядит следующим образом: SELECT [двигатели переменного тока].тип, [номер двигателя переменного тока].[серийный номер], [номер двигателя переменного тока].[инвентарный номер], [заказы на двигатели переменного тока].Заказ, [вид ремонта].[вид ремонта], [заказы на двигатели переменного тока].неполадки, [заказы на двигатели переменного тока].[дата приема], [заказы на двигатели переменного тока].[дата выдачи], [заказы на двигатели переменного тока].[Код заказа], [заказы на двигатели переменного тока].[ремонт начат], [заказы на двигатели переменного тока].[ремонт окончен]. FROM ([двигатели переменного тока] INNER JOIN [номер двигателя переменного тока] ON [двигатели переменного тока].[код типа двигателя] = [номер двигателя переменного тока].[код типа двигателя]) INNER JOIN ([вид ремонта] INNER JOIN [заказы на двигатели переменного тока] ON [вид ремонта].[Код вида] = [заказы на двигатели переменного тока].[код ремонта]) ON [номер двигателя переменного тока].[код двигателя] = [заказы на двигатели переменного тока].[код двигателя]. WHERE ((([заказы на двигатели переменного тока].[ремонт начат])=True) AND (([заказы на двигатели переменного тока].[ремонт окончен])=False));
Запрос «Главный переменный готовы»
Рисунок 7 - Запрос на выборку главный переменный готовы
В режиме SQLзапрос «Главный переменный готовы» выглядит следующим образом: SELECT [двигатели переменного тока].тип, [номер двигателя переменного тока].[серийный номер], [номер двигателя переменного тока].[инвентарный номер], [заказы на двигатели переменного тока].Заказ, [вид ремонта].[вид ремонта], [заказы на двигатели переменного тока].неполадки, [заказы на двигатели переменного тока].[дата приема], [заказы на двигатели переменного тока].[дата выдачи], [заказы на двигатели переменного тока].[Код заказа], [заказы на двигатели переменного тока].[ремонт начат], [заказы на двигатели переменного тока].[ремонт окончен]. FROM ([двигатели переменного тока] INNER JOIN [номер двигателя переменного тока] ON [двигатели переменного тока].[код типа двигателя]=[номер двигателя переменного тока].[код типа двигателя]) INNER JOIN ([вид ремонта] INNER JOIN [заказы на двигатели переменного тока] ON [вид ремонта].[Код вида]=[заказы на двигатели переменного тока].[код ремонта]) ON [номер двигателя переменного тока].[код двигателя]=[заказы на двигатели переменного тока].[код двигателя]. WHERE ((([заказы на двигатели переменного тока].[дата выдачи]) Is Null) AND (([заказы на двигатели переменного тока].[ремонт начат])=True) AND (([заказы на двигатели переменного тока].[ремонт окончен])=True));
Запрос «Главный переменный приняты»
Рисунок 8 – Запрос на выборку главный переменный приняты
В режиме SQLзапрос «Главный переменный приняты» выглядит следующим образом: SELECT [двигатели переменного тока].тип, [номер двигателя переменного тока].[серийный номер], [номер двигателя переменного тока].[инвентарный номер], [заказы на двигатели переменного тока].Заказ, [вид ремонта].[вид ремонта], [заказы на двигатели переменного тока].неполадки, [заказы на двигатели переменного тока].[дата приема], [заказы на двигатели переменного тока].[дата выдачи], [заказы на двигатели переменного тока].[Код заказа], [заказы на двигатели переменного тока].[ремонт начат], [заказы на двигатели переменного тока].[ремонт окончен]. FROM ([двигатели переменного тока] INNER JOIN [номер двигателя переменного тока] ON [двигатели переменного тока].[код типа двигателя] = [номер двигателя переменного тока].[код типа двигателя]) INNER JOIN ([вид ремонта] INNER JOIN [заказы на двигатели переменного тока] ON [вид ремонта].[Код вида] = [заказы на двигатели переменного тока].[код ремонта]) ON [номер двигателя переменного тока].[код двигателя] = [заказы на двигатели переменного тока].[код двигателя]. WHERE ((([заказы на двигатели переменного тока].[ремонт начат])=False) AND (([заказы на двигатели переменного тока].[ремонт окончен])=False));
Запрос «Главный постоянный»
Рисунок 9 – Запрос на выборку главный постоянный
В режиме SQLзапрос «Главный постоянный» выглядит следующим образом: SELECT [двигатели постоянного тока].тип, [номер двигателя пост тока].[серийный номер], [номер двигателя пост тока].[инвентарный номер], [заказы на двигатели пост тока].Заказ, [вид ремонта].[вид ремонта], [заказы на двигатели пост тока].неполадки, [заказы на двигатели пост тока].[дата приема], [заказы на двигатели пост тока].[дата выдачи], [заказы на двигатели пост тока].[Код заказа], [заказы на двигатели пост тока].[ремонт начат], [заказы на двигатели пост тока].[ремонт окончен]. FROM ([двигатели постоянного тока] INNER JOIN [номер двигателя пост тока] ON [двигатели постоянного тока].[код типа двигателя] = [номер двигателя пост тока].[код типа двигателя]) INNER JOIN ([вид ремонта] INNER JOIN [заказы на двигатели пост тока] ON [вид ремонта].[Код вида] = [заказы на двигатели пост тока].[код ремонта]) ON [номер двигателя пост тока].[код двигателя] = [заказы на двигатели пост тока].[код двигателя];
Запрос «Главный постоянный в ремонте»
Рисунок 10 – Запрос на выборку главный постоянный в ремонте
В режиме SQLзапрос «Главный постоянный в ремонте» выглядит следующим образом: SELECT [двигатели постоянного тока].тип, [номер двигателя пост тока].[серийный номер], [номер двигателя пост тока].[инвентарный номер], [заказы на двигатели пост тока].Заказ, [вид ремонта].[вид ремонта], [заказы на двигатели пост тока].неполадки, [заказы на двигатели пост тока].[дата приема], [заказы на двигатели пост тока].[дата выдачи], [заказы на двигатели пост тока].[Код заказа], [заказы на двигатели пост тока].[ремонт начат], [заказы на двигатели пост тока].[ремонт окончен]. FROM ([двигатели постоянного тока] INNER JOIN [номер двигателя пост тока] ON [двигатели постоянного тока].[код типа двигателя] = [номер двигателя пост тока].[код типа двигателя]) INNER JOIN ([вид ремонта] INNER JOIN [заказы на двигатели пост тока] ON [вид ремонта].[Код вида] = [заказы на двигатели пост тока].[код ремонта]) ON [номер двигателя пост тока].[код двигателя] = [заказы на двигатели пост тока].[код двигателя]
WHERE ((([заказы на двигатели пост тока].[ремонт начат])=True) AND (([заказы на двигатели пост тока].[ремонт окончен])=False));
Запрос «Главный постоянный готовы»
Рисунок 11 – Запрос на выборку главный постоянный готовы
В режиме SQLзапрос «Главный постоянный готовы» выглядит следующим образом: SELECT [двигатели постоянного тока].тип, [номер двигателя пост тока].[серийный номер], [номер двигателя пост тока].[инвентарный номер], [заказы на двигатели пост тока].Заказ, [вид ремонта].[вид ремонта], [заказы на двигатели пост тока].неполадки, [заказы на двигатели пост тока].[дата приема], [заказы на двигатели пост тока].[дата выдачи], [заказы на двигатели пост тока].[Код заказа], [заказы на двигатели пост тока].[ремонт начат], [заказы на двигатели пост тока].[ремонт окончен]. FROM ([двигатели постоянного тока] INNER JOIN [номер двигателя пост тока] ON [двигатели постоянного тока].[код типа двигателя] = [номер двигателя пост тока].[код типа двигателя]) INNER JOIN ([вид ремонта] INNER JOIN [заказы на двигатели пост тока] ON [вид ремонта].[Код вида] = [заказы на двигатели пост тока].[код ремонта]) ON [номер двигателя пост тока].[код двигателя] = [заказы на двигатели пост тока].[код двигателя]. WHERE ((([заказы на двигатели пост тока].[дата выдачи]) Is Null) AND (([заказы на двигатели пост тока].[ремонт начат])=True) AND (([заказы на двигатели пост тока].[ремонт окончен])=True));
Запрос «Главный постоянный подчиненный»
Рисунок 12 – Запрос на выборку главный постоянный подчиненный
В режиме SQLзапрос «Главный постоянный подчиненный» выглядит следующим образом: SELECT [ремонт двигателя пост тока].[код ремонт двиг], [ремонт двигателя пост тока].дата, [ремонт двигателя пост тока].примечание, [ремонт двигателя пост тока].[код заказа. FROM ремонтник INNER JOIN (([двигатели постоянного тока] INNER JOIN [номер двигателя пост тока] ON [двигатели постоянного тока].[код типа двигателя] = [номер двигателя пост тока].[код типа двигателя]) INNER JOIN (([вид ремонта] INNER JOIN [заказы на двигатели пост тока] ON [вид ремонта].[Код вида] = [заказы на двигатели пост тока].[код ремонта]) INNER JOIN [ремонт двигателя пост тока] ON [заказы на двигатели пост тока].[Код заказа] = [ремонт двигателя пост тока].[код заказа]) ON [номер двигателя пост тока].[код двигателя] = [заказы на двигатели пост тока].[код двигателя]) ON ремонтник.[Код ремонтника] = [ремонт двигателя пост тока].[код ремонт двиг];
Запрос «Главный постоянный приняты»
Рисунок 13 – Запрос на выборку главный постоянный приняты
В режиме SQLзапрос «Главный постоянный приняты» выглядит следующим образом: SELECT [двигатели постоянного тока].тип, [номер двигателя пост тока].[серийный номер], [номер двигателя пост тока].[инвентарный номер], [заказы на двигатели пост тока].Заказ, [вид ремонта].[вид ремонта], [заказы на двигатели пост тока].неполадки, [заказы на двигатели пост тока].[дата приема], [заказы на двигатели пост тока].[дата выдачи], [заказы на двигатели пост тока].[Код заказа], [заказы на двигатели пост тока].[ремонт начат], [заказы на двигатели пост тока].[ремонт окончен]. FROM ([двигатели постоянного тока] INNER JOIN [номер двигателя пост тока] ON [двигатели постоянного тока].[код типа двигателя] = [номер двигателя пост тока].[код типа двигателя]) INNER JOIN ([вид ремонта] INNER JOIN [заказы на двигатели пост тока] ON [вид ремонта].[Код вида] = [заказы на двигатели пост тока].[код ремонта]) ON [номер двигателя пост тока].[код двигателя] = [заказы на двигатели пост тока].[код двигателя]
WHERE ((([заказы на двигатели пост тока].[ремонт начат])=False) AND (([заказы на двигатели пост тока].[ремонт окончен])=False));
Запрос «Глав трансформаторы»
Рисунок 14 – Запрос на выборку главный трансформаторы
В режиме SQLзапрос «Глав трансформаторы» выглядит следующим образом: SELECT трансформаторы.[тип трансформатора], [номер тансформатора].[серийный номер], [номер тансформатора].[инвентарный номер], [заказы на трансформаторы].Заказ, [вид ремонта].[вид ремонта], [заказы на трансформаторы].неполадки, [заказы на трансформаторы].[дата приема], [заказы на трансформаторы].[дата выдачи], [заказы на трансформаторы].[ремонт начат], [заказы на трансформаторы].[ремонт окончен]. FROM трансформаторы INNER JOIN ([номер тансформатора] INNER JOIN ([вид ремонта] INNER JOIN [заказы на трансформаторы] ON [вид ремонта].[Код вида] = [заказы на трансформаторы].[код ремонта]) ON [номер тансформатора].[код трансформатора] = [заказы на трансформаторы].[код трансформатора]) ON трансформаторы.[код типа трансформатора] = [номер тансформатора].[код типа трансформатора];
Запрос «Главный трансформаторы подчиненный»
Рисунок 15 – Запрос на выборку главный трансформаторы подчиненный
В режиме SQLзапрос «Главный трансформаторы подчиненный» выглядит следующим образом: SELECT [ремонт двигателя пост тока].[код ремонт двиг], [ремонт двигателя пост тока].дата, [ремонт двигателя пост тока].примечание, [ремонт двигателя пост тока].[код заказа]. FROM ремонтник INNER JOIN (([двигатели постоянного тока] INNER JOIN [номер двигателя пост тока] ON [двигатели постоянного тока].[код типа двигателя] = [номер двигателя пост тока].[код типа двигателя]) INNER JOIN (([вид ремонта] INNER JOIN [заказы на двигатели пост тока] ON [вид ремонта].[Код вида] = [заказы на двигатели пост тока].[код ремонта]) INNER JOIN [ремонт двигателя пост тока] ON [заказы на двигатели пост тока].[Код заказа] = [ремонт двигателя пост тока].[код заказа]) ON [номер двигателя пост тока].[код двигателя] = [заказы на двигатели пост тока].[код двигателя]) ON ремонтник.[Код ремонтника] = [ремонт двигателя пост тока].[код ремонт двиг];
Запрос «Главный трансформаторы в ремонте»
Рисунок 16 – Запрос на выборку главные трансформаторы в ремонте
В режиме SQLзапрос «Главный трансформаторы в ремонте» выглядит следующим образом: SELECT трансформаторы.[тип трансформатора], [номер тансформатора].[серийный номер], [номер тансформатора].[инвентарный номер], [заказы на трансформаторы].Заказ, [вид ремонта].[вид ремонта], [заказы на трансформаторы].неполадки, [заказы на трансформаторы].[дата приема], [заказы на трансформаторы].[дата выдачи], [заказы на трансформаторы].[ремонт начат], [заказы на трансформаторы].[ремонт окончен]. FROM трансформаторы INNER JOIN ([номер тансформатора] INNER JOIN ([вид ремонта] INNER JOIN [заказы на трансформаторы] ON [вид ремонта].[Код вида]=[заказы на трансформаторы].[код ремонта]) ON [номер тансформатора].[код трансформатора]=[заказы на трансформаторы].[код трансформатора]) ON трансформаторы.[код типа трансформатора]=[номер тансформатора].[код типа трансформатора]. WHERE ((([заказы на трансформаторы].[ремонт начат])=True) AND (([заказы на трансформаторы].[ремонт окончен])=False));
Запрос «Главный трансформаторы приняты»
Рисунок 17 – Запрос на выборку главные трансформаторы приняты
В режиме SQLзапрос «Главный трансформаторы приняты» выглядит следующим образом: SELECT трансформаторы.[тип трансформатора], [номер тансформатора].[серийный номер], [номер тансформатора].[инвентарный номер], [заказы на трансформаторы].Заказ, [вид ремонта].[вид ремонта], [заказы на трансформаторы].неполадки, [заказы на трансформаторы].[дата приема], [заказы на трансформаторы].[дата выдачи], [заказы на трансформаторы].[ремонт начат], [заказы на трансформаторы].[ремонт окончен]. FROM трансформаторы INNER JOIN ([номер тансформатора] INNER JOIN ([вид ремонта] INNER JOIN [заказы на трансформаторы] ON [вид ремонта].[Код вида]=[заказы на трансформаторы].[код ремонта]) ON [номер тансформатора].[код трансформатора]=[заказы на трансформаторы].[код трансформатора]) ON трансформаторы.[код типа трансформатора]=[номер тансформатора].[код типа трансформатора]. WHERE ((([заказы на трансформаторы].[ремонт начат])=False) AND (([заказы на трансформаторы].[ремонт окончен])=False));