Выбор методов и средств контроля системы управления компрессорной установкой

Цели производственного контроля изготовления молочных продуктов. Разработка системы управления компрессорной установкой в составе технологического процесса переработки молока на предприятии ТОО "Восток-Молоко". Программная реализация системы управления.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 16.05.2013
Размер файла 1,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Расчет экономии от функционирования программного продукта.

Расчет экономии, получаемой в результате повышения качества нового продукта и его потребительских свойств:

П2 = Сспец · tЗ · NЗ - (Сспецм) · tЗ · NЗ = 170 3 1100 - (170 + 40) 0,05 •3600 = 523200 тг.

Определим сокращение длительности автоматизируемого процесса по формуле:

лет

Расчет годовой экономии производится по формуле (3.10):

Пг = 523200 · (1 + 0,15 · 0,49) = 561655,2 тг.

Расчет единовременных затрат на создание и внедрение программного продукта, по формуле (3.11): причем Кк = 0, т.к. используется старая ВТ,

К = КП = Косн. зп. + Кдоп. зп. + Кпр, Косн. зп. = 35000 5,2 = 182000 тг.

Кдоп. зп. = 0,2 182000 = 36400 тг.

Кпр включают расходы на машинное время (т.к. продолжительность разработки программного продукта составляет 4,23 месяцев, на разработку, отладку и тестирование программного продукта с использованием вычислительной техники приходится порядка шести месяцев: берется в месяце 22 рабочих дня по 8 часов).

Тмаш = t 22 8 = 4 22 8 = 704 час.

Кпр = 3 • 704 40 = 84480 тг.,

К = 182000 + 36400 + 84480 = 302880 тг.

Расчет текущих затрат. Расчет годовых текущих затрат производится по формуле (3.17):

Исист = 6650 тг, Иi= (100 + 40) 0,05 = 7 тг.

Иг = 6650 + 7 3600 = 31850 тг.

Суммарные текущие затраты на функционирование программного продукта за 5 лет с приведением к расчетному году (первому году функционирования программного продукта) по формуле (3.18):

И = 31850 · (1,0 + 0,91 + 0,83 + 0,75 + 0,68 + 0,62) = 152561,5 тг.

Расчет суммарных затрат за год на создание, внедрение и функционирование программного изделия по формуле (3.19):

Зг = К + Иг = 302880 + 31850 = 334730 тг.

Расчет экономии от функционирования программного продукта за 5 лет по формуле (3.22):

По = 561655,2 (1,0 + 0,91 + 0,83 + 0,75 + 0,68 + 0,62)

= 2690328,4 тг.

Расчет суммарных затрат на создание и 5-ти летнее функционирование программного продукта по формуле (3.23):

Зо = К + И = 302880 + 152561,5 = 455441,5 тг.

Годовой экономический эффект по формуле (3.20) будет равен:

Эг = П - ЗГ = 561655,2 - 334730 = 226925,2 тг.

Экономический эффект за 5 лет по формуле (3.21) равен:

Э = 2690328,4 - 455441,5 = 2234886,9 тг.

Коэффициент экономической эффективности единовременных затрат, по формуле (3.24):

Ек= (561655,2 - 31850) / 302880 = 1,74

Cрок окупаемости, по формуле (3.25):

Т = 1/1,74 = 0,57 года.

Для расчета цены программного продукта необходимо определить фонд заработной платы. Фонд заработной платы, состоит из основной Косн и дополнительной заработной платы разработчиков Кдоп (20% от основной зар. платы).

Фзп = 182000 + 0,2 182000 = 218400 тг.

Для расчета цены необходимо определить расчетный уровень прибыли (норматив рентабельности), по формуле (3.28): примем Руп = 90 %, Рп = 5 % к Фзп, тогда уровень прибыли будет равен:

Уп = 0,9 + 0,05 = 0,95

Определим нормативную прибыль, по формуле (3.27):

Пн = 0,95 218400 = 207480 тг.

Поскольку годовой экономический эффект от применения ПП составляет отрицательную величину, то надбавку к цене за эффективность не рассчитываем. Таким образом, договорная цена ПП по формуле (3.26) составит:

Цпп = С + Пн = 302880 + 207480 = 510360 тг.

Расчет эффективности показывает, что разрабатываемая система для управления и контроля над технологическим процессом выгодна в экономическом отношении, так как коэффициент экономической эффективности единовременных затрат ЕК = 1,74 превышает норматив эффективности капитальных вложений ЕН, который принимается равным 0,15 для всех отраслей народного хозяйства. В первый год эксплуатации системы экономический эффект является равен 226925,2, за пять лет функционирования системы экономический эффект составит 2234886,9 тенге. Средства, вложенные на разработку программного обеспечения, а именно 302880 тенге, окупятся менее чем за 0,57 года его функционирования.

4. Безопасность и экологичность проекта

4.1 Общие положения по безопасности проекта

Безопасность - это состояние деятельности, при которой с определённой вероятностью исключаются потенциальные опасности, влияющие на здоровье человека. Безопасность следует понимать как комплексную систему мер по защите человека и среды обитания от опасностей, формируемых конкретной деятельностью.

Комплексную систему в условиях производства составляют следующие меры защиты: правовые, организационные, экономические, технические, санитарно-гигиенические, лечебно-профилактические.

Трудно себе представить современный мир без персональных компьютеров. Компьютерная техника проникла во все отрасли производства. Однако широкое применение персональных компьютеров сопровождается рядом негативных последствий, связанных, в первую очередь, с состоянием здоровья пользователей.

Многочисленные исследования выявили следующие основные факторы риска возникновения неблагоприятных расстройств, состояния здоровья у пользователей компьютеров:

- особенности экранного изображения, отличающие его от традиционного бумажного текста (самосветящийся характер, дискретность, мерцание, дрожание, наличие бликов);

- особенности наблюдения во время работы, связанные с двумя взаимодополняющими (для возникновения зрительного утомления) факторами: длительной фиксацией взгляда на экран монитора и периодической интенсивной перефокусировкой глаза с клавиатуры (бумаги) на экран и обратно;

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

- особенности двигательной активности, связанные со статичностью позы и постоянным напряжением небольшой группы мышц.

Практическая реализация указанных факторов риска может приводить к зрительному и общему утомлению, болевым ощущениям в позвоночнике и различных группах мышц. Этих нарушений можно избежать. Человек должен оставаться здоровым и работоспособным как во время, так и после длительной работы с компьютером.

Опасным называется производственный фактор, воздействие которого на работающего в определенных условиях приводит к внезапному ухудшению здоровья. Если производственный фактор вызывает заболевание или снижает работоспособность, то его считают вредным (ГОСТ 12.0.002-80). В зависимости от уровня продолжительности воздействия вредный фактор может стать опасным.

В ГОСТ 12.0.003-74 "ССБТ. Опасные и вредные производственные факторы. Классификация" приводится классификация элементов условий труда, выступающих в роли опасных и вредных производственных факторов. Они подразделяются на четыре группы: физические, химические, биологические, психофизиологические.

При работе с ЭВМ мы сталкиваемся, в основном, с физическими и психофизиологическими - опасными и вредными производственными факторами. Биологические и химические - опасные факторы при этой работе не встречаются.

К физическим - опасным производственным факторам при работе с ЭВМ, можно отнести:

- электромагнитные излучения;

- повышенная напряженность электрических и магнитных полей;

- повышенная запыленность воздуха в рабочей зоне;

- повышенная температура воздуха в рабочей зоне;

- повышенный уровень шума на рабочем месте;

- недостаток или отсутствие естественного света;

- неправильное размещение источников искусственного освещения.

Коротко рассмотрим природу наиболее опасных физических факторов, воздействующих на человека при работе с компьютером.

Рентгеновское излучение генерируется в результате торможения электронов в слое люминофора на поверхности экрана монитора. При ускоряющем анодном напряжении менее 25 кВ энергия рентгеновского излучения полностью поглощается стеклом экрана.

Электростатический потенциал вне монитора появляется вследствие высокого напряжения в электронно-лучевой трубке (ЭЛТ), а его природа аналогична электрическому полю кинескопа обычного телевизора. Напряжение, возникающее на теле человека, может достигать нескольких киловольт; его величина зависит от одежды, от влажности окружающего воздуха. При длительной работе с компьютером под воздействием заряженных частиц на теле человека может появиться аллергическая сыпь.

К опасным психофизиологическим и вредным производственным факторам относятся физические (статические и динамические), нервно-психические перегрузки (умственное перенапряжение, перенапряжение анализаторов, монотонность труда, эмоциональные перегрузки) [10].

4.2 Безопасность, эргономика и техническая эстетика рабочего места инженера-программиста

Эргономическая безопасность персонального компьютера может быть охарактеризована следующими требованиями:

- к визуальным параметрам средств отображения информации индивидуального пользования (мониторы);

- к эмиссионным параметрам ПК - параметрам излучений дисплеев, системных блоков, источников питания и др.

Кроме того, важнейшим условием эргономической безопасности человека при работе перед экраном монитора является правильный выбор визуальных параметров самого монитора и светотехнических условий рабочего места.

Работа с дисплеем при неправильном выборе яркости и освещенности экрана, контрастности знаков, цветов знака и фона, при наличии бликов на экране, дрожании и мелькании изображения приводит к зрительному утомлению, головным болям, к значительной физиологической и психической нагрузке, к ухудшению зрения и т.п.

Если при работе на ПК необходимо одновременно пользоваться документами, то следует иметь в виду, что зрительная работа с печатным текстом и с изображением на экране имеет принципиального отличия: изображение светится, мелькает, дрожит, состоит из дискретных элементов, менее контрастно. Снизить или устранить утомление можно только правильным выбором режима воспроизведения изображения на экране, источника освещения (местного или общего), расположения материалов (в целях уменьшения длины или частоты перевода взгляда).

Человек должен так организовать свое рабочее место, чтобы условия труда были комфортными и соответствовали требованиям СНиП:

- удобство рабочего места (ноги должны твердо опираться на пол; голова должна быть наклонена немного вниз; должна быть специальная подставка для ног);

- достаточное пространство для выполнения необходимых движений и перемещений (руки при работе с клавиатурой должны находиться перед человеком; пальцы должны обладать наибольшей свободой передвижения; клавиши должны быть достаточно чувствительны к легкому нажатию);

- необходимый обзор (центр экрана монитора должен быть расположен чуть ниже уровня глаз; монитор должен отстоять от глаз человека на расстоянии 45-60 сантиметров; должна регулироваться яркость и контрастность изображения);

- рациональное расположение аппаратуры и ее органов управления и контроля (монитор должен быть расположен на расстоянии 60 сантиметров и более от монитора соседа; человек должен использовать держатель бумаги);

- достаточное освещение (внешнее освещение должно быть достаточным и равномерным; должна быть настольная лампа с регулируемым плафоном для дополнительного подсвета рабочей документации);

- нормальные условия в отношении шума и вибрации;

- нормальный температурный режим;

- нормальная влажность воздуха;

- необходимая вентиляция.

К рабочему месту инженера-программиста предъявляются следующие требования:

Требования к параметрам микроклимата и воздушной среды (ГОСТ 12.1.005-88. Общие санитарно-гигиенические требования к воздуху рабочей зоны).

Оптимальные параметры микроклимата приведены в таблице 4.1.

Таблица 4.1

Оптимальные параметры микроклимата.

Сезон

Температура воздуха,

tєС

Относительная влажность,

%

Скорость движения воздуха, м/с

Холодный и переходный (средне суточная температура меньше 10 єС)

22-24

60-40

0.1

Теплый (среднесуточная температура воздуха 10 єС и выше)

21-23

23-24

60-40

60-40

0.1

0.2

Запылённость воздуха не должна превышать 0.75 мг/м3. На одного инженера - программиста должен приходиться объём помещения 15м3 при площади 4.5 м2 (без учёта проходов и оборудования). В течение трудового дня необходимо обеспечить воздухообмен помещения объёмом 25-50 м3, отвод влаги 350-500 г и тепла 50 кДж на каждый килограмм массы тела работающего.

Требования к уровню шума (ГОСТ 12.1.003-83. Шум).

Уровень шума для инженера - программиста составляет не более 50 дБ.

Требования к освещенности;

Нормативное значение коэффициента естественного освещения (КЕО) при боковом освещении равно 1.3 %, освещённость при работе с экраном дисплея - 200 лк, при работе с экраном дисплея и документом - 300 лк.

Требования безопасности к излучению от дисплея.

В стандарт Р 50948-96 и в СНиП включены требования и нормы на параметры излучений дисплеев (они соответствуют шведскому стандарту): напряженность электромагнитного поля в 50 сантиметрах вокруг дисплея по электрической составляющей равна 2.5 В/м.

Плотность магнитного потока в 50 сантиметрах вокруг дисплея составляет 250 нТл в диапазоне частот 5 Гц-2КГц; поверхностный электростатический потенциал составляет 500 В. Время работы за дисплеем не должно превышать 4-х часов в сутки.

Требования эргономики и технической эстетики (ГОСТ 12.2.032-78. Рабочее место при выполнении работ сидя).

Для обеспечения требований эргономики и технической эстетики конструкция рабочего места, расположение и конструкция органов управления должны соответствовать анатомическим и психофизическим характеристикам человека. Вместе с этим всё оборудование, приборы и инструменты не должны вызывать психологического раздражения.

Рабочее место оператора ЭВМ состоит из монитора, системного блока, клавиатуры, мыши, принтера. Клавиатура должна быть расположена непосредственно перед оператором. Расстояние от глаз оператора до монитора должно составлять 0.5 - 0.7 м. На столе, на котором расположена ПЭВМ, должно оставаться место для наглядного, графического материала, для возможности работать с литературой, делать какие-либо пометки.

К размерам рабочего места предъявляются требования:

- высота рабочей поверхности 655 мм;

- высота сидения 420 мм (желательно регулируемого);

- расстояние от сидения до нижнего края рабочей поверхности 150мм;

- размеры пространства для ног 650x500x600.

Требования к выполнению правил пожарной безопасности.

В случае пожара необходимо:

- отключить щит электропитания; вызвать к месту пожара заведующего лабораторией, вызвать пожарную помощь;

- по возможности вынести легковоспламеняющиеся, взрывоопасные материалы и наиболее ценные предметы;

- приступить к тушению пожара имеющимися средствами (огнетушитель, песок и т.д.);

- для тушения пожара в лаборатории предусмотрен огнетушитель химический воздушно-пенный ОХВП-10, установленный в легко доступном месте.

Требования к электробезопасности.

Рассмотрим требования безопасности при работе с ЭВМ. Работа производится в лаборатории, где стоят точные приборы.

Следовательно, это подразделение можно отнести к 1 классу помещений по степени опасности поражения электрическим током. К 1 классу относятся помещения без повышенной опасности: сухие, беспыльные помещения с нормальной температурой воздуха, изолирующими (например, деревянными полами), не имеющими или имеющими очень мало заземленных предметов.

ГОСТ 12.2.007-75 подразделяет электрические изделия по способу защиты человека от поражения электрическим током на пять классов: 0, 01, 1, 2, 3.

ЭВМ можно отнести к классу 01, то есть, к изделиям, имеющим, по крайней мере, рабочую изоляцию, элемент для заземления и провод без заземляющей жилы для присоединения к источнику питания. При начале работы с ЭВМ необходимо проверить герметичность корпуса, не открыты ли токоведущие части. Убедиться в подключении заземляющего проводника к общей шине заземления, проверить его целостность. Если заземляющий проводник отключен, подключать его можно только при отключении машины от питающей сети. Для повышения безопасности работать можно с использованием резиновых ковриков.

Опасность поражения человека электрическим током определяется множеством факторов:

- индивидуальные особенности людей;

- продолжительность воздействия тока на организм человека;

- путь тока в теле человека;

- род и частота тока.

Для данного случая определяющими факторами являются род тока в цепи и его величина. Для обеспечения электробезопасности используется защитное заземление.

Каждому работающему в лаборатории следует помнить:

- включать общий рубильник только после предупреждения всех лиц, работающих в лаборатории;

- с неисправным оборудованием не работать;

- не загромождать рабочее место посторонними предметами;

- держать свободными проходы между рабочими местами и проход к силовому рубильнику;

- при любом несчастном случае, связанном с поражением электрическим током, немедленно выключать силовой рубильник.

При поражении электрическим током следует:

- освободить пострадавшего от воздействия электрического тока; оказать доврачебную помощь;

- вызвать врача.

4.3 Создание условий для организации режима труда и отдыха при работе с ЭВМ

Режимы труда и отдыха при работе с ПЭВМ организовываются в зависимости от вида и категории трудовой деятельности.

Виды трудовой деятельности разделяются на 3 категории тяжести и напряженности, каждая из которых подразделяется на 3 группы:

- группа А - работа по считыванию информации с экрана ПЭВМ с предварительным запросом;

- группа Б - работа по вводу информации;

- группа В - творческая работа в режиме диалога с ПЭВМ.

При выполнении работ в течение рабочей смены, относящихся к разным видам трудовой деятельности, за основную работу с ПЭВМ рекомендуется принять ту, которая занимает не менее 50 % времени в течение рабочей смены или рабочего дня.

Продолжительность обеденного перерыва определяется действующим законодательством о труде и Правилами внутреннего трудового распорядка предприятия.

Для обеспечения оптимальной работоспособности и сохранения здоровья профессиональных пользователей, на протяжении рабочей смены рекомендуется установить регламентированные перерывы.

Продолжительность и количество регламентированных перерывов в течение рабочей смены устанавливаются в зависимости от продолжительности смены, вида и категории трудовой деятельности.

Для 8-часовой рабочей смены при работе с ПЭВМ регламентированные перерывы рекомендуется установить:

- для 1 категории работ - через 2 часа от начала рабочей смены и через 2 часа после обеденного перерыва, каждый продолжительностью 15 минут;

- для 2 категории работ - через 2 часа от начала рабочей смены и через 1.5-2 часа после обеденного перерыва продолжительностью 15 минут каждый или через каждый час работы продолжительностью 10 минут каждый;

- для 1 категории работ через 1.5-2 часа от начала рабочей и через 1.5-2 часа после обеденного перерыва продолжительностью 20 минут каждый или через каждый час работы продолжительностью 15 минут каждый.

При работе с ПЭВМ в ночную смену (с 22 до 6 часов) независимо от вида и категории трудовой деятельности, продолжительность регламентированных перерывов увеличивается на 60 минут.

При 12-часовой рабочей смене регламентированные перерывы рекомендуется установить в первые 8 часов работы аналогично перерывам при 8-часовой рабочей смене, а в течение последних 4 часов, независимо от вида и категории трудовой деятельности, каждый час работы продолжительностью 15 минут.

Во время регламентированных перерывов целесообразно выполнять комплексы упражнений для снижения нервно-эмоционального напряжения, утомления зрительного анализатора, устранения влияния гиподинамии и сипокинезии, развития познотонического утомления. Комплексы рекомендуется менять один раз в 2-3 недели.

С целью уменьшения отрицательного влияния монотонности работы целесообразно изменять ее содержание.

При возникновении у работающих с персональными компьютерами зрительного дискомфорта и других неблагоприятных ощущений, несмотря на соблюдение санитарно-гигиенических, эргономических требований, режима труда и отдыха, применить индивидуальный подход в ограничении времени, коррекцию длительности перерывов для отдыха или проводить смену на другую, не связанную с использованием ПЭВМ.

4.4 Экологичность проекта

Человек оказался в ловушке противоречия между своей консервативной биологической сущностью и нарастающим отчуждением от природы. Используя изобретенные им технологии и средства жизнеобеспечения, человек в большей мере освободился от давления естественного отбора и межвидовой конкуренции. Он на несколько порядков превысил биологическую видовую численность и еще в десятки раз - объем использования веществ и энергии для удовлетворения надбиологических потребностей [12].

Огромное увеличение и продолжение роста количества людей отнюдь не связано с повышением их биологического качества. Наоборот, для людей в целом характерны совершенно немыслимые для диких животных в природе: груз наследственных заболеваний, наследственная предрасположенность к заболеваниям, низкий имунно-биологический статус и огромное число инфекций, возрастная хронизация болезней. Проблемы экологии человека все больше становятся проблемами здравоохранения. В частности состояние здоровья Казахстана ухудшается под прессом неблагоприятных и экологических условий. Наибольшую тревогу вызывают:

- проявления деградации фонда наследственной информации у значительной части населения, что выражается в росте числа наследственных заболеваний;

- заболевания и хронизация, потери трудоспособности и сокращение продолжительности жизни, обусловленные плохими экологическими и гигиеническими условиями проживания и труда, а также курением, алкоголизмом и наркоманией;

- высокая химическая и радиационная нагрузка на значительные контингенты населения, приводящая к широкому спектру экопатологий, в том числе к злокачественным новообразованиям, иммунодефициту и аллергиям;

- большая частота нарушений беременности и родов, тератогенных эффектов - дефектов развития новорожденных, высокая детская заболеваемость и смертность.

Экологические проблемы человечества тесно сопряжены с экономическими и социальными проблемами. Региональные экологические проблемы часто становятся прямым источником имущественного неравенства, социальных и геополитических коллизий [13].

Перечень проблем, рассмотренные выше, позволяют понять многообразие задач экологии. Важнейшие общие задачи современной экологии в ее широком понимании это:

- Всеобъемлющая диагностика состояния природы планеты и ее ресурсов; определение порога выносливости живой природы планеты - биосферы по отношению к антропогенной нагрузке, то есть к тем помехам и утратам - изъятию биологических ресурсов, загрязнению среды, изменениям климата, которые наносятся человеческой деятельностью, и выяснение степени обратимости этих изменений.

- Разработка прогнозов изменений биосферы и состояния окружающей человека среды при разных сценариях экономического и социального развития человечества.

- Отказ от природопокорительной идеологии; формирование новой идеологии и методологии экоцентризма, связанной с переходом к постиндустриальной цивилизации и направленной на экологизацию экономики, производства, политики, образования.

- Выработка критериев оптимизации - выбора наиболее согласованного с экологическим императивом и экологически ориентированного социально - экономического развития общества - экоразвития.

Формирование такой стратегии поведения человеческого общества, такой экономики и таких технологий, которые приведут масштабы и характер хозяйственной деятельности в соответствие с экологической выносливостью природы и остановят глобальный экологический кризис [13].

Под охраной окружающей среды понимают совокупность международных, государственных и региональных правовых актов, инструкций и стандартов, доводящих общие юридические требования до каждого конкретного загрязнителя и обеспечивающих его заинтересованность в выполнении этих требований, конкретных природоохранных мероприятий по претворению в жизнь этих требований.

Охрана окружающей природной среды складывается из:

- правовой охраны, формулирующей научные экологические принципы в виде юридических законов, обязательных для исполнения;

- материального стимулирования природоохранной деятельности, стремящегося сделать её экономически выгодной для предприятий;

- инженерной охраны, разрабатывающей природоохранную и ресурсосберегающую технологию и технику.

Охране подлежат следующие объекты:

- естественные экологические системы, озоновый слой атмосферы;

- земля, ее недра, поверхностные и подземные воды, атмосферный воздух, леса и иная растительность, животный мир, микроорганизмы, генетический фонд, природные ландшафты.

Основными принципами охраны окружающей среды являются: приоритет обеспечения благоприятных экологических условий для жизни, труда и отдыха населения; научно обоснованное сочетание экологических и экономических интересов общества; учет законов природы и возможностей самовосстановления и самоочищения ее ресурсов.

Разнообразное вмешательство человека в естественные процессы в биосфере можно сгруппировать по следующим видам загрязнений, понимая под ними любые нежелательные для экосистем антропогенные изменения:

- ингредиентное (ингредиент - составная часть сложного соединения или смеси) загрязнение как совокупность веществ, количественно или качественно чуждых естественным биогеоценозам;

- параметрическое загрязнение (параметр окружающей среды - одно из ее свойств, например уровень шума, освещенности, радиации и т.д.), связанное с изменением качественных параметров окружающей среды;

- биоценотическое загрязнение, заключающееся в воздействии на состав и структуру популяции живых организмов;

- стациально-деструкционное загрязнение (стация - место обитания популяции, деструкция - разрушение), представляющее собой изменение ландшафтов и экологических систем в процессе природопользования.

Природоохранной является любая деятельность, направленная на сохранение качества окружающей среды на уровне, обеспечивающем устойчивость биосферы. К ней относится как крупномасштабная деятельность, так и деятельность отдельных предприятий по очистке от вредных веществ сточных вод и отходящих газов, снижению норм использования природных ресурсов и т.д.

Существует два основных направления природоохранной деятельности предприятий. Первое - очистка вредных выбросов.

Второе направление - устранение самих причин загрязнения, что требует разработки малоотходных, а в перспективе и безотходных технологий. Однако не для всех производств найдены приемлемые технико-экономические решения по резкому сокращению количества образующихся отходов и их утилизации, поэтому приходится работать по обоим указанным направлениям.

Заключение

Разработанная система управления компрессорной установкой будет внедрена на молокозаводе ТОО "Восток-Молоко". Пользователями данной системы является персонал диспетчерской службы молокозаводы, отвечающий за управление технологическим процессом и контроль над производственным циклом переработки цельного молока.

Разработанное программное средство позволит решать следующие задачи:

контролировать технологический процесс переработки цельного молока в режиме реального времени;

хранить, обрабатывать и анализировать хранимую информацию о параметрах технологического процесса, входных и выходных данных;

обеспечивать специалистов и обслуживающий персонал отчетными данными о ходе технологического процесса для выявления резервов производства по установлению наиболее рациональных режимов работы технологического оборудования, более полной и равномерной загрузке оборудования и производственных площадей, сокращению длительности цикла изготовления продукции.

Разработанное программное средство позволит:

сократить время специалистов и обслуживающего персонала на документальное оформление сведений о технологическом процессе;

выполнять анализ качественного и количественного состава переработанного сырья, а также параметров технологического процесса;

осуществлять внедрение и обеспечение рационального использования технических средств оперативного управления производством.

После аналитического исследования предметной области и информационных объектов была создана база данных в СУБД Access. Обоснована и применена наиболее удобная в данном случае технология обмена данными между приложением и базой данных ActiveX Data Object.

Разработано приложение с удобным интерфейсом пользователя в современной среде программирования Delphi 7. Приложение позволяет управлять технологическим процессом переработки цельного молока, контролировать качественные и количественные показатели производственного цикла, а так же параметры процесса, делать разносторонние запросы к базе. Кроме этого вся информация базы данных легко просматривается, и необходимые документы выводятся на печать.

Автоматизация управления и контроля технологического процесса позволит оперативно и в режиме реального времени получать полную и достоверную информацию, характеризующую количественное и качественное состояние переработанного сырья на каждом этапе производственного цикла.

Список использованной литературы

1 Автоматизированные информационные технологии в экономике: учебник/ под ред. Титоренко Г.А. - М: ЮНИТИ, 2003 г.

2 Антонюк. Информационные системы в управлении. М.: 2006.

3 Ахаян Р. и др., Эффективная работа с СУБД, Санкт-Петербург, "Питер", 2003 г.

4 Бемер С., Фратер Г. Microsoft Access для пользователя. - Киев: Торгово-издательское бюро BHV, 1994, М: Фирма БИНОМ, 2005 г.

5 Бекаревич Ю. Самоучитель Access 2003 - СПб.: БХВ-Петербург, 2003г.

6 Бойко В.В., Савинков В.М. "Проектирование информационной базы автоматизированной системы на основе СУБД. ” М.: Финансы и статистика.

7 ГОСТ Р 50377-92. Безопасность оборудования информационной технологии, включая электрическое конторское оборудование.

8 ГОСТ Р 50923-96. Дисплеи. Рабочее место оператора. Общие эргономические требования и требования к производственной среде. Методы измерения.

9 ГОСТ Р 50948-96. Средства отображения информации индивидуального пользования.

10 ГОСТ Р 51141-98 Делопроизводство и архивное дело. Термины и определения. - М., Госстандарт России, 1998.

11 Санитарные нормы и правила для работников вычислительных центров. Микроклимат производственных помещений. /В сб. Санитарные правила и нормы по гигиене труда в промышленности.

12 Замулин А.В., Системы программирования баз данных и знаний. - Новосибирск: Наука, 2006 г.

13 Кобевник В.Ф. "Охрана труда." - К.: Высшая школа, 2003 г.

14 Когаловский М.Р. Технология баз данных на персональных ЭВМ. - М.: Финансы и статистика, 2005 г.

15 Куправа Т.Д. Создание и программирование баз данных средствами СУБД. - М.: Мир, 2004 г.

16 Ларичев О.И., Петровский А.В. "Системы поддержки принятия решений. Современное состояние и перспективы их развития", 2005.

17 Марков А.С., Лисовский К.Ю. Базы данных. Введение в теорию и методологию. - М.: Финансы и статистика, 2004 г.

18 Мищенин А.И., Теория экономических информационных систем, М.: Финансы и статистика, 2004 г.

Приложения

Приложение А

Суточная ведомость

СУТОЧНАЯ ВЕДОМОСТЬ

25.04.2012

Смена

Дата/время операции

Операция

Бак

Значение

I смена

25.04.2012 21: 32: 30

загрузка

Бак загрузки сырого цельного молока

70

25.04.2012 21: 32: 35

выгрузка

Бак загрузки сырого цельного молока

53

25.04.2012 21: 32: 35

загрузка

Весы ВСЭ-600М

86

25.04.2012 21: 32: 54

загрузка

Ванна охлаждения ИПКС-024-02 (Н)

117

25.04.2012 21: 32: 54

выгрузка

Весы ВСЭ-600М

0

25.04.2012 21: 33: 11

выгрузка

Подогреватель цельного молока

1

25.04.2012 21: 33: 11

выгрузка

Бак накопления пастеризованного молока

1

25.04.2012 21: 33: 11

загрузка

Сепаратор-сливкоотделитель ОС2-Т3

14

25.04.2012 21: 33: 11

загрузка

Ванна длительной пастеризации ИПКС-072-200 (Н)

65

25.04.2012 21: 33: 11

загрузка

Ванна творожная ИПКС-021

56

25.04.2012 21: 33: 11

загрузка

Ванна охлаждения ИПКС-024-02 (Н)

46

25.04.2012 21: 33: 11

загрузка

Резервуар РВО-1

46

25.04.2012 21: 33: 36

выгрузка

Ванна охлаждения ИПКС-024-02 (Н)

39

25.04.2012 21: 33: 36

загрузка

Подогреватель цельного молока

53

25.04.2012 21: 33: 36

загрузка

Бак накопления пастеризованного молока

27

II смена

25.04.2012 21: 33: 53

загрузка

Бак загрузки сырого цельного молока

100

25.04.2012 21: 34: 11

выгрузка

Бак загрузки сырого цельного молока

0

25.04.2012 21: 34: 11

загрузка

Весы ВСЭ-600М

100

25.04.2012 21: 34: 25

загрузка

Ванна охлаждения ИПКС-024-02 (Н)

96

25.04.2012 21: 34: 25

выгрузка

Весы ВСЭ-600М

43

25.04.2012 21: 34: 40

выгрузка

Резервуар РВО-1

14

25.04.2012 21: 34: 40

загрузка

Ванна охлаждения ИПКС-024-02 (Н)

15

25.04.2012 21: 34: 40

загрузка

Автомат розлива ИПКС-042

100

25.04.2012 21: 34: 57

выгрузка

Автомат розлива ИПКС-042

53

25.04.2012 21: 34: 57

загрузка

Камера холодильная

150

25.04.2012 21: 35: 12

выгрузка

Ванна творожная ИПКС-021

15

25.04.2012 21: 35: 12

загрузка

Камера холодильная

191

Приложение Б

Код программы

unit Main;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, Menus, ProgressCyl,

jpeg, ImgList, Buttons, CustomCellSource, DataCellSource, ScrollView,

CustomGridViewControl, CustomGridView, GridView, DBCtrls;

type

TfrmMain = class (TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

StatusBar1: TStatusBar;

ToolBar1: TToolBar;

ToolButton1: TToolButton;

ToolButton2: TToolButton;

ToolButton4: TToolButton;

ToolButton5: TToolButton;

Panel1: TPanel;

Panel2: TPanel;

ScrollBox1: TScrollBox;

Panel4: TPanel;

Panel5: TPanel;

Panel6: TPanel;

Panel7: TPanel;

Panel8: TPanel;

Panel9: TPanel;

Panel10: TPanel;

Panel11: TPanel;

Panel12: TPanel;

Panel13: TPanel;

Panel14: TPanel;

Panel15: TPanel;

Panel16: TPanel;

Panel17: TPanel;

Panel18: TPanel;

Panel19: TPanel;

Panel20: TPanel;

Shape1: TShape;

Shape5: TShape;

Shape6: TShape;

Shape7: TShape;

Shape8: TShape;

Shape9: TShape;

Shape10: TShape;

Shape11: TShape;

Shape13: TShape;

Shape14: TShape;

Shape15: TShape;

Shape16: TShape;

Shape17: TShape;

Shape18: TShape;

Shape19: TShape;

Shape20: TShape;

Shape21: TShape;

Shape12: TShape;

Shape22: TShape;

Shape23: TShape;

Panel21: TPanel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Label17: TLabel;

Label18: TLabel;

ProgressCyl1: TProgressCyl;

Label19: TLabel;

Animate2: TAnimate;

Label20: TLabel;

ProgressCyl2: TProgressCyl;

Animate3: TAnimate;

Animate1: TAnimate;

Animate4: TAnimate;

Animate5: TAnimate;

Animate6: TAnimate;

Animate7: TAnimate;

Animate8: TAnimate;

Animate9: TAnimate;

Animate10: TAnimate;

Animate11: TAnimate;

Animate12: TAnimate;

Animate13: TAnimate;

ProgressCyl3: TProgressCyl;

ProgressCyl4: TProgressCyl;

ProgressCyl5: TProgressCyl;

Animate14: TAnimate;

ProgressCyl6: TProgressCyl;

ProgressCyl7: TProgressCyl;

Label21: TLabel;

Animate15: TAnimate;

Animate16: TAnimate;

Animate17: TAnimate;

Animate18: TAnimate;

Animate19: TAnimate;

Animate20: TAnimate;

Animate21: TAnimate;

Animate22: TAnimate;

Animate23: TAnimate;

Animate24: TAnimate;

Animate25: TAnimate;

Animate26: TAnimate;

Animate27: TAnimate;

Animate28: TAnimate;

Animate29: TAnimate;

Animate30: TAnimate;

Animate31: TAnimate;

Animate32: TAnimate;

ProgressCyl8: TProgressCyl;

Label22: TLabel;

Animate33: TAnimate;

ProgressCyl9: TProgressCyl;

Label23: TLabel;

TrackBar1: TTrackBar;

ProgressCyl10: TProgressCyl;

Label24: TLabel;

ProgressCyl11: TProgressCyl;

Label25: TLabel;

Animate34: TAnimate;

ProgressCyl12: TProgressCyl;

TrackBar2: TTrackBar;

Label26: TLabel;

ToolBarImages: TImageList;

ImageList1: TImageList;

ProgressCyl13: TProgressCyl;

TrackBar3: TTrackBar;

Label27: TLabel;

Label28: TLabel;

Label29: TLabel;

Panel22: TPanel;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

Panel23: TPanel;

SpeedButton3: TSpeedButton;

SpeedButton4: TSpeedButton;

Panel24: TPanel;

SpeedButton5: TSpeedButton;

SpeedButton6: TSpeedButton;

Panel25: TPanel;

Bevel1: TBevel;

Label31: TLabel;

TrackBar4: TTrackBar;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

Bevel2: TBevel;

Animate36: TAnimate;

Animate35: TAnimate;

Animate37: TAnimate;

Label35: TLabel;

Label36: TLabel;

Label37: TLabel;

SpeedButton7: TSpeedButton;

SpeedButton8: TSpeedButton;

Panel26: TPanel;

SpeedButton9: TSpeedButton;

SpeedButton10: TSpeedButton;

Panel27: TPanel;

SpeedButton11: TSpeedButton;

SpeedButton12: TSpeedButton;

Panel28: TPanel;

SpeedButton13: TSpeedButton;

SpeedButton14: TSpeedButton;

Panel29: TPanel;

SpeedButton15: TSpeedButton;

SpeedButton16: TSpeedButton;

Panel30: TPanel;

SpeedButton17: TSpeedButton;

SpeedButton18: TSpeedButton;

Panel31: TPanel;

SpeedButton19: TSpeedButton;

SpeedButton20: TSpeedButton;

Shape3: TShape;

Shape2: TShape;

Label30: TLabel;

Label38: TLabel;

Label39: TLabel;

Label40: TLabel;

Shape4: TShape;

Shape24: TShape;

Label42: TLabel;

Label41: TLabel;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

GridView1: TGridView;

DataCellSource1: TDataCellSource;

BitBtn1: TBitBtn;

N5: TMenuItem;

N6: TMenuItem;

ToolButton3: TToolButton;

ToolButton6: TToolButton;

ToolButton7: TToolButton;

ToolButton8: TToolButton;

Label43: TLabel;

ToolButton9: TToolButton;

DBLookupComboBox1: TDBLookupComboBox;

N7: TMenuItem;

procedure FormCreate (Sender: TObject);

procedure FormShow (Sender: TObject);

procedure SpeedButton1Click (Sender: TObject);

procedure SpeedButton2Click (Sender: TObject);

procedure SpeedButton3Click (Sender: TObject);

procedure SpeedButton4Click (Sender: TObject);

procedure SpeedButton5Click (Sender: TObject);

procedure SpeedButton6Click (Sender: TObject);

procedure SpeedButton7Click (Sender: TObject);

procedure ToolButton5Click (Sender: TObject);

procedure SpeedButton8Click (Sender: TObject);

procedure SpeedButton9Click (Sender: TObject);

procedure SpeedButton10Click (Sender: TObject);

procedure SpeedButton11Click (Sender: TObject);

procedure SpeedButton12Click (Sender: TObject);

procedure SpeedButton13Click (Sender: TObject);

procedure SpeedButton14Click (Sender: TObject);

procedure SpeedButton15Click (Sender: TObject);

procedure SpeedButton16Click (Sender: TObject);

procedure SpeedButton17Click (Sender: TObject);

procedure SpeedButton18Click (Sender: TObject);

procedure SpeedButton19Click (Sender: TObject);

procedure SpeedButton20Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure ToolButton1Click (Sender: TObject);

procedure ToolButton2Click (Sender: TObject);

procedure BitBtn1Click (Sender: TObject);

procedure N6Click (Sender: TObject);

procedure DBLookupComboBox1Click (Sender: TObject);

procedure N7Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

frmMain: TfrmMain;

gcExePath, gcDataPath: string;

isBak_zagr, isVes_zagr, isVann1_zagr, isProcess, isSliv, isGom, isSliv1, isStakan, isSliv2, isSliv3, isSliv4: Boolean;

gnSmena: Integer;

implementation

uses Util, Bak_Zagr, DM, Ves_Zagr, Vann1_Zagr, Process, Sliv, Gom, Sliv1,Stakan, Sliv2, Sliv3, Sliv4, Param, DateUtils, Vedom;

{$R *. dfm}

procedure TfrmMain. FormCreate (Sender: TObject);

var nPos: Integer;

begin

// путь, откуда запущен. exe

gcExePath: = ExtractFilePath (Application. ExeName);

nPos: = pos ('Project',gcExePath);

// путь до базы с именем

gcDataPath: = Copy (gcExePath,1,nPos-1) +'Data\Kompress. mdb';

end;

procedure TfrmMain. FormShow (Sender: TObject);

begin

// соединение с базой

// сначала проверим наличие базы по найденному пути gcDataPath

DecimalSeparator: = '. ';

if FileExists (gcDataPath) then

begin

// нашли, коннектимся

if not DataConnect (gcDataPath) then

begin

ShowMessage ('Ошибка подключения к базе данных. Обратитесь к разработчику. ');

StatusBar1. Panels. Items [0]. Text: = 'Соединение с БД не установлено. Ошибка соединения';

ToolBar1. Enabled: = False;

Exit;

end;

StatusBar1. Panels. Items [0]. Text: = 'Соединение с БД установлено';

setAnimationPath (gcExePath);

setSostBak;

isBak_zagr: = False; isVes_zagr: = False; isVann1_zagr: = False; isProcess: = False; isSliv: = False; isGom: = False;

isSliv1: = False; isStakan: = False; isSliv2: = False; isSliv3: = False; isSliv4: = False;

dt. qQuery2. Open;

dt. d_process. Close;

dt. d_process. Open;

DataCellSource1. Active: = True;

// первую смену поставить

DBLookupComboBox1. KeyValue: = 1;

gnSmena: = DBLookupComboBox1. KeyValue;

saveSmena (gnSmena);

end else

begin

ShowMessage ('Файл базы данных ['+gcDataPath+'] не найден. ');

ToolBar1. Enabled: = False;

StatusBar1. Panels. Items [0]. Text: = 'Соединение с БД не установлено. Файл не найден';

end;

end;

procedure TfrmMain. SpeedButton1Click (Sender: TObject);

var Bak_Zagr: TBak_zagr;

begin

isBak_zagr: = True; // процесс загрузки запущен

SpeedButton1. Enabled: = False;

Bak_Zagr: = TBak_zagr. Create (true);

Bak_Zagr. FreeOnTerminate: = true;

Bak_Zagr. Priority: =tpNormal;

Bak_Zagr. Resume;

refreshHist;

end;

procedure TfrmMain. SpeedButton2Click (Sender: TObject);

begin

isBak_zagr: = False;

SpeedButton1. Enabled: = True;

refreshHist;

end;

procedure TfrmMain. SpeedButton3Click (Sender: TObject);

var Ves_Zagr: TVes_zagr;

begin

isVes_zagr: = True; // процесс загрузки запущен

SpeedButton3. Enabled: = False;

Ves_Zagr: = TVes_zagr. Create (true);

Ves_Zagr. FreeOnTerminate: = true;

Ves_Zagr. Priority: =tpNormal;

Ves_Zagr. Resume;

refreshHist;

end;

procedure TfrmMain. SpeedButton4Click (Sender: TObject);

begin

isVes_zagr: = False;

SpeedButton3. Enabled: = True;

refreshHist;

end;

procedure TfrmMain. SpeedButton5Click (Sender: TObject);

var Vann1_Zagr: TVann1_Zagr;

begin

isVann1_zagr: = True; // процесс загрузки запущен

SpeedButton5. Enabled: = False;

Vann1_Zagr: = TVann1_Zagr. Create (true);

Vann1_Zagr. FreeOnTerminate: = true;

Vann1_Zagr. Priority: =tpNormal;

Vann1_Zagr. Resume;

refreshHist;

end;

procedure TfrmMain. SpeedButton6Click (Sender: TObject);

begin

isVann1_zagr: = False;

SpeedButton3. Enabled: = True;

refreshHist;

end;

procedure TfrmMain. SpeedButton7Click (Sender: TObject);

var Process: TProcess;

begin

// если процесс не запущен - запустить, иначе остановить

if (isProcess = False) then

begin

isProcess: = True;

Process: = TProcess. Create (true);

Process. FreeOnTerminate: = true;

Process. Priority: =tpNormal;

Process. Resume;

refreshHist;

end else

begin

isProcess: = False;

refreshHist;

end;

end;

procedure TfrmMain. ToolButton5Click (Sender: TObject);

begin

Close;

end;

procedure TfrmMain. SpeedButton8Click (Sender: TObject);

var Sliv: TSliv;

begin

// если процесс не запущен - запустить, иначе остановить

if (isSliv = False) then

begin

isSliv: = True;

Sliv: = TSliv. Create (true);

Sliv. FreeOnTerminate: = true;

Sliv. Priority: =tpNormal;

Sliv. Resume;

refreshHist;

end else

begin

isSliv: = False;

refreshHist;

end;

end;

procedure TfrmMain. SpeedButton9Click (Sender: TObject);

var Gom: TGom;

begin

isGom: = True; // процесс загрузки запущен

SpeedButton9. Enabled: = False;

Gom: = TGom. Create (true);

Gom. FreeOnTerminate: = true;

Gom. Priority: =tpNormal;

Gom. Resume;

refreshHist;

end;

procedure TfrmMain. SpeedButton10Click (Sender: TObject);

begin

isGom: = False;

SpeedButton9. Enabled: = True;

refreshHist;

end;

procedure TfrmMain. SpeedButton11Click (Sender: TObject);

var Sliv1: Tsliv1;

begin

isSliv1: = True; // процесс загрузки запущен

SpeedButton11. Enabled: = False;

Sliv1: = Tsliv1. Create (true);

Sliv1. FreeOnTerminate: = true;

Sliv1. Priority: =tpNormal;

Sliv1. Resume;

refreshHist;

end;

procedure TfrmMain. SpeedButton12Click (Sender: TObject);

begin

isSliv1: = False;

SpeedButton11. Enabled: = True;

refreshHist;

end;

procedure TfrmMain. SpeedButton13Click (Sender: TObject);

var Stakan: TStakan;

begin

isStakan: = True; // процесс загрузки запущен

SpeedButton13. Enabled: = False;

Stakan: = TStakan. Create (true);

Stakan. FreeOnTerminate: = true;

Stakan. Priority: =tpNormal;

Stakan. Resume;

refreshHist;

end;

procedure TfrmMain. SpeedButton14Click (Sender: TObject);

begin

isStakan: = False;

SpeedButton13. Enabled: = True;

refreshHist;

end;

procedure TfrmMain. SpeedButton15Click (Sender: TObject);

var Sliv2: TSliv2;

begin

isSliv2: = True; // процесс загрузки запущен

SpeedButton15. Enabled: = False;

Sliv2: = TSliv2. Create (true);

Sliv2. FreeOnTerminate: = true;

Sliv2. Priority: =tpNormal;

Sliv2. Resume;

refreshHist;

end;

procedure TfrmMain. SpeedButton16Click (Sender: TObject);

begin

isSliv2: = False;

SpeedButton15. Enabled: = True;

refreshHist;

end;

procedure TfrmMain. SpeedButton17Click (Sender: TObject);

var Sliv3: TSliv3;

begin

isSliv3: = True; // процесс загрузки запущен

SpeedButton15. Enabled: = False;

Sliv3: = TSliv3. Create (true);

Sliv3. FreeOnTerminate: = true;

Sliv3. Priority: =tpNormal;

Sliv3. Resume;

refreshHist;

end;

procedure TfrmMain. SpeedButton18Click (Sender: TObject);

begin

isSliv3: = False;

SpeedButton17. Enabled: = True;

refreshHist;

end;

procedure TfrmMain. SpeedButton19Click (Sender: TObject);

var Sliv4: TSliv4;

begin

isSliv4: = True; // процесс загрузки запущен

SpeedButton19. Enabled: = False;

Sliv4: = TSliv4. Create (true);

Sliv4. FreeOnTerminate: = true;

Sliv4. Priority: =tpNormal;

Sliv4. Resume;

refreshHist;

end;

procedure TfrmMain. SpeedButton20Click (Sender: TObject);

begin

isSliv4: = False;

SpeedButton19. Enabled: = True;

refreshHist;

end;

procedure TfrmMain. N4Click (Sender: TObject);

begin

close;

end;

procedure TfrmMain. ToolButton1Click (Sender: TObject);

begin

dt. qQuery2. Close;

dt. qQuery2. Open;

DataCellSource1. Active: = True;

end;

procedure TfrmMain. ToolButton2Click (Sender: TObject);

begin

dt. qQuery1. Close;

dt. qQuery1. SQL. Clear;

dt. qQuery1. sql. Add ('delete from d_process');

dt. qQuery1. ExecSQL;

refreshHist;

end;

procedure TfrmMain. BitBtn1Click (Sender: TObject);

begin

SaveVal (ProgressCyl12. Tag, 0,3);

frmMain. ProgressCyl12. Position: = getValBak (frmMain. ProgressCyl12. Tag);

frmMain. Label26. Caption: = IntToStr (getValBak (frmMain. ProgressCyl12. Tag)) +' кг. ';

refreshHist;

end;

procedure TfrmMain. N6Click (Sender: TObject);

begin

frmParam. DateTimePicker1. Date: = Now;

frmParam. DateTimePicker3. Date: = Now;

frmParam. DateTimePicker2. Time: = Now;

frmParam. DateTimePicker4. Time: = Now;

DT. qParam. Close;

dt. qParam. SQL. Clear;

frmParam. DataCellSource1. Active: = false;

frmParam. DataCellSource1. Active: = true;

frmParam. DBChart1. Refresh;

frmParam. DBLookupComboBox1. KeyValue: = - 1;

frmParam. ShowModal;

end;

procedure TfrmMain. DBLookupComboBox1Click (Sender: TObject);

begin

gnSmena: = DBLookupComboBox1. KeyValue;

saveSmena (gnSmena);

end;

procedure TfrmMain. N7Click (Sender: TObject);

begin

frmVedom. DateTimePicker1. Date: = Now;

frmVedom. ShowModal;

end;

end.

unit Process;

interface

uses

Classes;

type

TProcess = class (TThread)

private

{ Private declarations }

protected

procedure Execute; override;

procedure setProc;

end;

implementation

uses DM, Main, Util, SysUtils;

var nMasVan1, nMasVan2, nMasVan3: integer;

nMaxVan1, nMaxVan2, nMaxVan3: integer;

{ TProcess }

procedure TProcess. Execute;

begin

// масса во всех баках

nMasVan1: = getValBak (frmMain. ProgressCyl2. Tag);

nMasVan2: = getValBak (frmMain. ProgressCyl3. Tag);

nMasVan3: = getValBak (frmMain. ProgressCyl4. Tag);

// MAX

nMaxVan1: = getMaxValBak (frmMain. ProgressCyl2. Tag);

nMaxVan2: = getMaxValBak (frmMain. ProgressCyl3. Tag);

nMaxVan3: = getMaxValBak (frmMain. ProgressCyl4. Tag);

// проверка переполнения или 0

if (nMasVan1<3) or (nMasVan2>=nMaxVan2) or (nMasVan3>=nMaxVan3) then

begin

isProcess: = False;

Exit;

end;

// и сам процесс

setProcessAnimation (1);

while isProcess = True do

begin

Synchronize (setProc);

end;

// запись остатка

SaveVal (frmMain. ProgressCyl2. Tag, nMasVan1,2);

SaveVal (frmMain. ProgressCyl3. Tag, nMasVan2,1);

SaveVal (frmMain. ProgressCyl4. Tag, nMasVan3,1);

frmMain. Label30. Caption: = 'T ';

frmMain. Label38. Caption: = 'P ';

frmMain. Label41. Caption: = ' ';

frmMain. Label42. Caption: = ' ';

setProcessAnimation (2);

end;

procedure TProcess. setProc;

var nRan, T1, T2, P1,P2, U1, U2: Integer;

begin

// масса в ванне уменьшается на 3

nMasVan1: = nMasVan1 - 3;

// закинем

nMasVan2: = nMasVan2 + 2;

nMasVan3: = nMasVan3 + 1;

if (nMasVan1<3) or (nMasVan2>=nMaxVan2) or (nMasVan3>=nMaxVan3) then

begin

isProcess: = False;

setProcessAnimation (2);

end;

// параметры

T1: = getParVal (1);

P1: = getParVal (2);

T2: = getParVal (5);

P2: = getParVal (6);

U1: = getParVal (7);

U2: = getParVal (8);

frmMain. Label30. Caption: = 'T ' + IntToStr (T1);

frmMain. Label38. Caption: = 'P ' + IntToStr (P1);

frmMain. Label41. Caption: = 'T ' + IntToStr (T2) +'; P ' + IntToStr (P2);

frmMain. Label42. Caption: = 'U1 ' + IntToStr (U1) +'; U2 ' + IntToStr (U2);

frmMain. ProgressCyl2. Position: = nMasVan1;

frmMain. Label20. Caption: = IntToStr (nMasVan1) +' кг. ';

frmMain. ProgressCyl3. Position: = nMasVan2;

frmMain. ProgressCyl4. Position: = nMasVan3;

nRan: = frmMain. TrackBar4. Position * 100;

Sleep (nRan);

end;

end.

unit Sliv;

interface

uses

Classes;

type

TSliv = class (TThread)

private

{ Private declarations }

protected

procedure Execute; override;

procedure setProc;

end;

implementation

uses DM, Main, Util, SysUtils;

var nMasVan1, nMasVan2, nMasVan3, nMasSep, nMasTvor, nMasRez, nMasOxl: integer;

nMaxVan1, nMaxVan2, nMaxVan3, nMaxSep, nMaxTvor, nMaxRez, nMaxOxl: integer;

{ TSliv }

procedure TSliv. Execute;

begin

// масса во всех баках

nMasVan1: = getValBak (frmMain. ProgressCyl3. Tag);

nMasVan2: = getValBak (frmMain. ProgressCyl4. Tag);

nMasSep: = getValBak (frmMain. ProgressCyl5. Tag);

nMasVan3: = getValBak (frmMain. ProgressCyl6. Tag);

nMasTvor: = getValBak (frmMain. ProgressCyl8. Tag);

nMasRez: = getValBak (frmMain. ProgressCyl10. Tag);

nMasOxl: = getValBak (frmMain. ProgressCyl9. Tag);

// MAX

nMaxVan1: = getMaxValBak (frmMain. ProgressCyl3. Tag);

nMaxVan2: = getMaxValBak (frmMain. ProgressCyl4. Tag);

nMaxSep: = getMaxValBak (frmMain. ProgressCyl5. Tag);

nMaxVan3: = getMaxValBak (frmMain. ProgressCyl6. Tag);

nMaxTvor: = getMaxValBak (frmMain. ProgressCyl8. Tag);

nMaxRez: = getMaxValBak (frmMain. ProgressCyl10. Tag);

nMaxOxl: = getMaxValBak (frmMain. ProgressCyl9. Tag);

// проверка переполнения

{ if (nMasTvor>=nMaxTvor) or (nMasVan2>=nMaxVan2) or (nMasVan3>=nMaxVan3) or (nMasVan3>=nMaxVan3)

or (nMasVan3>=nMaxVan3) or (nMasVan3>=nMaxVan3) or (nMasVan3>=nMaxVan3) then

begin

isProcess: = False;

Exit;

end; }

// и сам процесс

setSlivAnimation (1);

while isSliv = True do

begin

Synchronize (setProc);

end;

// запись остатка

SaveVal (frmMain. ProgressCyl3. Tag, nMasVan1,2);

SaveVal (frmMain. ProgressCyl4. Tag, nMasVan2,2);

SaveVal (frmMain. ProgressCyl5. Tag, nMasSep,1);

SaveVal (frmMain. ProgressCyl6. Tag, nMasVan3,1);


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.