Проектирование автоматической системы управления дозирования и смешивания сыпучих материалов

Разработка подсистемы управления объектом по индивидуальным запросам обслуживания с индивидуальными адресами флагов F1–F6. Технические требования к проектируемому изделию. Требования к надежности модуля сопряженности. Модель ситуации "дозирование".

Рубрика Производство и технологии
Вид курсовая работа
Язык русский
Дата добавления 30.09.2011
Размер файла 1,3 M

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

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

Размещено на http://www.allbest.ru/

Введение

автоматическая система управление дозирование

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

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

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

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

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

По степени автоматизации технологические процессы разделяют на:

1. Автоматические

2. Автоматизированные

3. Ручные

Так, в частности, с целью снижения транспортных затрат по доставке сыпучих материалов была поставлена задача развернуть дозирование сыпучих материалов. В связи с тем, высоким требованиям, предъявляемыми к производительности цеха и точности дозирования, возникла необходимость в разработке АСУ ТП дозирования сыпучих материалов.

Основным требованиям, которые были предъявлено к АСУ ТП дозирования и смешивания сыпучих материалов, стали следующие:

Точность дозирования сыпучих материалов ± 3%;

Высокая производительность.

1.Техническое задание

Целью курсовой работы по «Проектированию модуля сопряжения процессора с электроавтоматикой объекта автоматизации « является разработка подсистемы управления объектом по индивидуальным запросам обслуживания с индивидуальными адресами флагов F1-F6. Управление ситуацией «дозирование». Ресурсы процессора выделены для управления заданной ситуацией.

Управление ситуацией «Доза» при скорости 0,05кг/сек подачи материала из бункера. Контрольное время выявляет две причины возникновения аварийной ситуации: в бункере недостаточно или нет материала для накопления дозы; не открыта заслонка бункера.

Таблица 1.1.Исходные данные для курсового проектирования

№ п/п

Доза (кГ)

Скорость подачи материала (кГ/сек)

Т контрольное (сек)

Усл.ед. (в сек)

Т усл. (расчет)

4

0,5

0,05

Расчет

1

Расчет

5

0,5

0,05

Расчет

2

Расчет

6

0,5

0,05

Расчет

5

Расчет

2. Разработка технического задания на проектирование системы автоматизации

2.1 Назначение и область применения

Локальная система автоматизации (ЛСА) предназначена для контроля состояния и управления состоянием технологического процесса (ТП) на объекте автоматизации.

Проектируемая ЛСА ТП является примером подсистемы релейного ввода-вывода, в которой обменные сигналы (типа включить-выключить) обеспечивают управление ТП на объекте.

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

Вновь разрабатываемая ЛСА ТП должна отвечать тактико-техническим, конструкторско-технологическим, эксплуатационным, надежностным и экономическим требованиям.

2.2 Основание для проектирования

Заказ кафедры комплексной информационной безопасности электронных вычислительных систем, ТУСУР, г. Томск на выполнение этапов научно-исследовательской работы и части эскизного проекта ЛСА ТП.

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

Тактико-технические требования.

Параметры ЦП управляющей микроЭВМ:

1. Система счисления - двоичная. Информация, передаваемая через канал - двоичная.

2. Система команд включает 80 операций.

3. В среднем одна команда исполняется за 5 мкс.

4. Разрядность чисел и команд - 16 бит или 6 восьмеричных знаков (при вводе-выводе).

Канал управляющей микроЭВМ:

1. Канал обмена - один.

2. Режим обмена - программный, по протоколу МПИ (ГОСТ 26765.86).

3. Секции канала - три, каждую подключают кабелем 5 метров (суммарно 15 метров). Линия длиной 1 метр вносит задержку сигнала 5 нс.

4. В одной секции канала можно установить не более 6 условных единиц нагрузки (1 усл. единица - подключение к линии одного канального приемника, двух передатчиков и 10 пФ вносимой емкости, что эквивалентно размещению 6 модулей сопряжения).

5. Все модули подключать к каналу средствами приемников К 559 ИП2; передатчиков - К 559 ИП1; приемо-передатчиков - К 589 АП16, К 589 АП26 или К 559 ИП3. Причем К559 ИП1 и К 559 ИП3 имеют открытый коллекторный выход, а К 589 АП16 или К 589 АП26 - выходной буфер с тремя состояниями.

6. Согласующие резисторные делители с общим сопротивлением 250 и 120 Ом обеспечивают в линии канала пассивное состояние от плюс 2,0 до плюс 3,4 В («высокое» состояние линии). «Низкое» (Н) состояние - от 0 до плюс 0,8 В - активное, логическая единица.

Электропитание изделия:

1. Изделие должно работать от вторичного источника питания постоянного тока с номинальным напряжением плюс 5 В при отклонении от номинального на 5%.

2. Потребляемая мощность должна быть не более 0,6 Вт.

Требования к элементной базе реализации модуля сопряжения канала с объектом:

1. коэффициент объединения по входу Коб 4;

2. коэффициент разветвления по выходу Краз 6;

3. статическая помехоустойчивость Кп 0,3;

4. средняя задержка распространения сигнала tзд.р.с 4нс;

5. количество номиналов питающих напряжений - 1;

6. допустимые отклонения от номиналов питающих напряжений - 5%;

7. вес, габаритные размеры, форма корпуса ИМС - общие для ЭВС широкого применения;

8. количество типов ИМС в серии, не менее 10.

Конструкторско-технологические требования:

1. Конструкция должна быть разделена на функционально законченные узлы.

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

3. Блок питания выполнен в отдельном корпусе, соединение с изделием кабелем длиной не менее 6 метров.

4. Габаритные размеры изделия должны быть 140 х 250 мм, не более.

5. Плотность монтажа печатной платы должна соответствовать типу платы Б.

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

7. Технология изготовления конструкции должна обеспечить применение типовых операций производства ЭВС.

2.4 Требования к надежности модуля сопряженности

Средняя наработка на отказ должна быть не менее 4 000 часов.

2.5 Условия эксплуатации

1.Устройство стационарное, применяется в сухом отапливаемом помещении.

2.Температура окружающей среды tоС, от минус 5 оС до плюс 45оС.

3.Относительная влажность воздуха от 40 % до 90 %, при tоС = 25оС.

4.Атмосферное давление (101 ) кПа.

5.Изделие должно выдерживать механические и климатические воздействия, предъявляемые к аппаратуре 1 группы жесткости по ГОСТ 11478-88.

6.Требования по безопасности производства и эксплуатации изделия- общие для ЭВС.

7.Сроки разработки - по согласованию.

8.Финансирование затрат - в соответствии со сметой расходов (представляет разработчик).

9.Имя проекта - «Дозирование».

3.Моделирование процесса

3.1 Описание объекта

Бункер (рисунок 3.1) определённой ёмкости имеет отверстие с заслонкой работающей в режимах открыто - закрыто, через которое сыпучие материалы загружаются в накопитель дозы по другому называемый аккумулятор дозы. Заслонка бункера управляется системой со следующими командами включить - выключить. Аккумулятор установлен на подвижной платформе с возможностью неуправляемого перемещения вниз при засыпке дозы в течение заданного по весу времени. Загрузка тары - управляемая с командами начать - закончить. Аккумулятор, как и бункер, имеет заслонку, в исходном состоянии закрывающую отверстие, через которое осуществляется выгрузка дозы в тару. Время выгрузки в тару то же, что и при загрузке в АКК. Платформа с установленным на ней аккумулятором имеет датчик Д1 дозы с командами есть - нет. Если при отработке времени дозирования «Дозы нет» - это признак необходимости повторной загрузки бункера. При этом включается звонок.

Рисунок. 3.1 Дозирующая установка

Перемещение ленты транспортёра тары - управляемое c командами включить - выключить. Датчик Д2 определяет, когда тара подойдёт к месту дозирования, при этом транспортёр останавливается.

Когда лента транспортёра продвинулась на 16 метров, система оповещает об этой ситуации оператора звонком

3.2 Модель ситуации дозирование

Диспетчер (рисунок 3.2) обеспечивает моделирование объекта в программных циклах обмена данными с процессором.

На первом шаге файла Object организуется обращение к процедуре Avost оповещения об аварийной ситуации на объекте.

Если флаг F4 установлен, то организуется выход из модели объекта. Если ситуация не аварийная, то организуется обращение к процедуре Doza - определение наличия дозы в аккумуляторе по датчику Д1.

Рисунок. 3.2 Модель объекта

3.2.1 Описание модели объекта

На первом шаге проверяется флаг F1 - открытие заслонки бункера. Если открывать заслонку не требуется, осуществляется выход из процедуры в процедуру OBJECT

Если требование открытия заслонки поступило, происходит проверка бункера: если он пуст, то дози-рование не производится и осуществляется выход из процедуры.

Если бункер имеет материал для дозирования, то имитируется убывание материала в бункере и накопление его в аккумуляторе. Затем датчик D1 определяет состояние флага F6 путём сравнения назначенной дозы с содержимым аккумулятора.

Если в отведённое для процесса дозирования доза не накоплена, то осуществляется выход из процедуры, в другом случае устанавливается флаг F6 и затем осуществляется выход из процедуры (рисунок 3.3).

Рис. 3.3 Модель ситуации дозирования

3.2.2 Описание начального диалога с оператором

Начальный диалог ND представлен схемой 3.4 . На первом шаге файла ND файла ND оператору выводится подсказка (BUNK? BEC? TARA?). В соответствии с последовательностью запроса файл ND обеспечивает ввод данных в буфер клавиатуры с последующей упаковкой их в память.

Обеспечивается расчёт времени Т дозирования.

Указав необходимую дозу, загрузив бункер материалом и разместив тару на ленте транспортера, оператор включает электропитание системы и средствами пультового терминала вводит исходные данные.Исходными данными являются: количество загруженного в бункер материала (BUNK), вес дозы (ВЕС), признак «Тара» на ленте. Затем нажатием кнопки «Пуск» оператор системы передаст управление процессору. Оператор при необходимости может остановить процесс дозирования (кнопка «Стоп») при оповещении звонком.

Рис. 3.4 Начальный диалог с оператором

3.3 Драйвер процесса

Процедура решения в режиме индивидуального запроса и индивидуального адреса для флагов F1-F6 представлена на рисунке 3.5. Здесь использованы флаги: F1 - для включения-выключения заслонки бункера; F4

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

Рисунок 3.5 Модель управления дозированием

Процедура DOZA на объекте дозирования приводит к F6:=1. Этот момент отмечает модель DOZIR управления ситуацией как окончание дозирования. Флаг FL4 введен для связи модели управления ЛСА ТП с моделью управления дозирования DOZIR .

Учтено, что состояние флага F1 зафиксировано в памяти процедуры DOZIR и доступно для проверки (F1=1)?. В то же время, для проверки (F6=1)? необходимо организовать прямое чтение флага F6 состояния датчика «доза» от объекта с последующим анализом этих данных процессором.

Индивидуальный запрос ZP2 формируется по логике F1&F6 и устанавливается при поступлении F6:=1 от датчика «доза».

3.4 Визуализация процесса

В первом окне программы вводим данные и рассчитываем контрольное и условное время, для обнаружения аварийной ситуации. Доза и скорость подачи заданы изначально и являются постоянными величинами. (Рисунок 3.6).

Рисунок 3.6 - Ввод и расчет данных

Далее нажимаем «пуск» и тем самым, запускаем алгоритм дозирования. (Рисунок 3.7).

Рис 3.7

Рисунок 3.8 - Выполнение алгоритма в драйвере

Далее запускается процедура дозирования на объекте, где имитируется убывание материала в бункере и накопление его в аккумуляторе. Затем датчик определяет состояние флага F6 путем сравнивания назначенной дозы с содержимым аккумулятора, если доза не накоплена, осуществляется выход из процедуры. (Рисунок 3.9).

Рисунок 3.9 - Визуализация процесса в объекте

Рисунок 3.10 - Выполнение алгоритма в объекте

После полного расхода всего бункера, программа останавливается и выводит сообщение.

Рисунок 3.11 - Остановка процесса

3.5 Инструкция пользователю программной модели

Программа моделирующая процесс дозирования написана в среде программирования Borland Delphi 9. Для исполнения программы необходимо запустить файл Doza .exe.

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

На форме показано:

- Доза

- Скорость подачи

- Условная единица

- Флаги

- Т контрольное

- Т условное

- Остаток бункера

- Содержание аккумулятора

Выход из программы осуществляется нажатием кнопки «Выход» на первой форме.

4.Проектирование модуля сопряжения

4.1 Структурная схема модуля сопряжения

Модуль сопряжения (рисунок 4.1) предназначен для передачи на объект управляющих сигналов привода заслонки бункера и включения звонка (F1 и F4). Для каждого из флагов выделен индивидуальный адрес. Кроме того, модуль предназначен для передачи состояния объекта (флаг F6) для анализа драйвером и средствами процессора.

Работа может быть описана по схеме (рисунок 4.1).

Рисунок 4.1 Структурная схема модуля сопряжения

Режим программный обмен в циклах Ввод или Вывод.

В цикле Вывод производится назначение состояния флага F1 в соответствии с указаниями драйвера управления объектом.

В цикле Ввод производится чтение состояния датчика Д2 объекта, флаг F6 -регистра R2.

Состояние датчика анализирует драйвер управления объектом и принимает решение о назначении нового состояния флагов F1 и F4.

Работа в цикле «Вывод»

В адресной части цикла процессор загружает в канал адрес флагов F1 и F4. Адрес читает селектор SL, анализирует адрес и определяет, соответствует ли он адресу модуля сопряжения. В адресной части цикла линия К СИА находится в активном состоянии. В D части цикла процессор загружает канал данными.

Приёмник RC1 принимает данные и по линиям передаёт их на регистр R1. Запись данных на регистр R1 синхронизируется сигналом К ВЫВОД.

Работа в цикле «Ввод»

Адресная часть - аналогично описанной выше.

Закончив адресную часть цикла, процессор активизирует линию К ВВОД, тем самым, запрашивая данные состояния объекта. Данные передаются на шину КАД

4.2 Модуль сопряжения

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

Запись данных (цикл ВЫВОД ) синхронизируется системным сигналом К ВЫВОД Н при условии выбора этого ВУ.

Рисунок 4.2 Функциональная электрическая схема модуля сопряжения

Если процессору требуются данные от ВУ, то запрос данных осуществляет системный сигнал К ВВОД Н при условии выбора этого ВУ. По системным сигналам К ВВОД Н и К ВЫВОД Н модуль сопряжения формирует ответный сигнал К СИП Н, который означает, что либо данные приняты ВУ, либо загружены ВУ в канал и процессор может их принять.

4.3 Проектирование узлов модуля сопряжения

Формирование индивидуального запроса.

Ситуация на объекте требует общего запроса. В нашем случае (при дозировании F1хF6)

а)

б)

Рисунок 4.3 Формирование запроса (а) и формирование состояния флага F6 (б) от датчика объекта.

Схема формирования запросов использует логику базовой схемы, как это показано на рисунке 4.3. Снятие запроса осуществляется при выполнении проверки (F1=1). Эта проверка указана в модели управления ситуацией как начальная ситуация схемы алгоритма.

Схема формирования сброса запроса и чтения флага F6 по индивидуальному адресу.

Для формирования схемы запроса, а также чтения флага F6 использован совместный сигнал К ВВОД Н , генерируемый процессором при чтении F6 и проверке (F1=1), как этого требует модель управления «Дозирование». Учтено состояние признака селекция адреса модуля сопряжения.

Рисунок 4.4 Формирователь сброса запроса и чтения флаг F6. Адрес флага F6 индивидуальный.

Заключение

Управление технологическим процессом в объекте автоматизации реализуется путем обмена информацией между объектом и сопряженной с ним системой управления.

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

После математической постановки и разработки метода следует реализация метода на ЭВМ.

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

1. Справочник инженера по АСУТП. Проектирование и разработка. Ю. Н. Федоров. Инфра-Инженерия, 2008 г.

2. Современные датчики. Фрайден Дж. Техносфера, 2006 г.

3. Инжиниринг электроприводов и систем автоматизации. Новиков В.А., Чернигов Л.М. Академия, 2006 г.

4. Электронные элементы устройств автоматического управления. Схемы, расчет, справочные данные. Академкнига, 2006 г.

5. Автоматизация производственных процессов на элеваторах и зерноперерабатывающих предприятиях. М.: Колос, 1981.,Новицкий В.А., Сергунов В.С.

Приложение 1

Листинг программы

Главная форма:

unit UBoss;

interface

uses

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

Dialogs, StdCtrls, Spin, ExtCtrls;

type

TFBoss = class(TForm)

GroupBox1: TGroupBox;

CF1: TCheckBox;

CF4: TCheckBox;

CF6: TCheckBox;

Panel1: TPanel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

SEUslEd: TSpinEdit;

ESpeed: TEdit;

EDoza: TEdit;

Label4: TLabel;

Label5: TLabel;

ETkont: TEdit;

ETusl: TEdit;

BStart: TButton;

Button1: TButton;

Button2: TButton;

Label6: TLabel;

EBunk: TEdit;

procedure Button1Click(Sender: TObject);

procedure BStartClick(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FBoss: TFBoss;

implementation

uses UGr;

{$R *.dfm}

procedure TFBoss.Button1Click(Sender: TObject);

begin

if EDoza.Text='0' then MessageDlg(`Доза не может иметь значение ноль.', mtInformation,

[mbOk], 0);

ETkont.Text:=floattostr(strtofloat(EDoza.Text)/(strtofloat(ESpeed.Text)*SEUslEd.value));

ETusl.Text:=floattostr(strtofloat(ETkont.Text)/SEUslEd.value);

end;

procedure TFBoss.BStartClick(Sender: TObject);

begin

FGr.Show;

end;

procedure TFBoss.Button2Click(Sender: TObject);

begin

Close;

end;

end.

Форма драйвера и объекта:

unit UGr;

interface

uses

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

Dialogs, ExtCtrls, StdCtrls, UBoss, ComCtrls;

type

TFGr = class(TForm)

D1: TShape;

D2: TPanel;

D4: TPanel;

D3: TPanel;

D4_1: TShape;

D5: TPanel;

D6: TPanel;

D8: TPanel;

D7: TPanel;

D9: TPanel;

D10_1: TPanel;

D10_2: TPanel;

D11: TPanel;

D12: TShape;

D13: TShape;

Panel19: TPanel;

Shape8: TShape;

Button1: TButton;

CheckBox1: TCheckBox;

Timer1: TTimer;

Label2: TLabel;

StatusBar1: TStatusBar;

Shape9: TShape;

Shape11: TShape;

Shape12: TShape;

Shape14: TShape;

Shape15: TShape;

Shape16: TShape;

Shape17: TShape;

Label6: TLabel;

ProgressBar1: TProgressBar;

ProgressBar2: TProgressBar;

Label7: TLabel;

Label8: TLabel;

Shape1: TShape;

Shape2: TShape;

Pobj: TPanel;

O2_1: TShape;

O10: TShape;

O9: TShape;

Label1: TLabel;

Shape10: TShape;

Shape18: TShape;

Shape19: TShape;

Shape20: TShape;

Shape21: TShape;

O7_1: TShape;

Shape23: TShape;

Shape24: TShape;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

O1_1: TPanel;

O1_2: TPanel;

O2: TPanel;

O3: TPanel;

O4: TPanel;

O5: TPanel;

O6: TPanel;

O7: TPanel;

O8: TPanel;

CheckBox2: TCheckBox;

procedure updateSB;

procedure Button1Click(Sender: TObject);

procedure Flower;

procedure beautiful;

procedure CheckBox1Click(Sender: TObject);

procedure restart;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FGr: TFGr;

step: integer;

fl: boolean;

Akk: real;

implementation

{$R *.dfm}

procedure TFGr.restart; {сброс результатов, запуск цикла повторно}

begin

fl:=true;

akk:=0;

step:=1;

Flower;

ProgressBar2.Max:=trunc(strtofloat(FBoss.EDoza.text));

ProgressBar2.Position:=0;

end;

procedure TFGr.Button1Click(Sender: TObject); {пошаговая работа}

begin

Inc(step);

if fl=true then

Flower else beautiful;

updateSB;

end;

procedure TFGr.CheckBox1Click(Sender: TObject); {для автоматической работы}

begin

if CheckBox1.Checked=true then

begin

Button1.Enabled:=false;

Timer1.Enabled:=true;

end

else

begin

Button1.Enabled:=true;

Timer1.Enabled:=false;

end;

end;

procedure TFGr.updateSB; {обновление строки состояния}

begin

StatusBar1.Panels[0].Text:='Доза='+FBoss.EDoza.Text;

StatusBar1.Panels[1].Text:='Скорость подачи='+FBoss.ESpeed.Text;

StatusBar1.Panels[2].Text:='Усл. ед.='+floattostr(FBoss.SEUslEd.value);

StatusBar1.Panels[6].Text:='Tконтр='+FBoss.ETkont.Text;

StatusBar1.Panels[7].Text:='Тусл='+FBoss.ETusl.Text;

StatusBar1.Panels[8].Text:='Бункер='+FBoss.EBunk.Text;

StatusBar1.Panels[9].Text:='АКК='+floattostr(akk);

if FBoss.CF1.Checked then StatusBar1.Panels[3].Text:='F1=1' else StatusBar1.Panels[3].Text:='F1=0';

if FBoss.CF4.Checked then StatusBar1.Panels[4].Text:='F4=1' else StatusBar1.Panels[4].Text:='F4=0';

if FBoss.CF6.Checked then StatusBar1.Panels[5].Text:='F6=1' else StatusBar1.Panels[5].Text:='F6=0';

end;

procedure TFGr.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Button1.Enabled:=true;

Timer1.Enabled:=false;

end;

procedure TFGr.FormShow(Sender: TObject);

begin

restart;

ProgressBar1.Max:=trunc(strtofloat(FBoss.EBunk.text));

ProgressBar1.Position:=ProgressBar1.Max;

end;

procedure TFGr.Flower; {для драйвера}

begin

D1.Brush.Color:=clwhite; D2.Color:=clwhite; D3.Color:=clwhite;

D4.Color:=clwhite; D4_1.Brush.Color:=clwhite; D5.Color:=clwhite;

D6.Color:=clwhite; D7.Color:=clwhite; D8.Color:=clwhite;

D9.Color:=clwhite; D10_1.Color:=clwhite; D10_2.Color:=clwhite;

D11.Color:=clwhite; D12.brush.Color:=clwhite; D13.brush.Color:=clwhite;

O1_1.Color:=clwhite; O1_2.Color:=clwhite; O2.Color:=clwhite;

O2_1.brush.Color:=clwhite; O3.Color:=clwhite; O4.Color:=clwhite;

O5.Color:=clwhite; O6.Color:=clwhite; O7.Color:=clwhite;

O7_1.brush.Color:=clwhite; O8.Color:=clwhite; O9.brush.Color:=clwhite;

O10.brush.Color:=clwhite;

case step of

1: begin

D1.Brush.Color:=clred;

end;

2: begin {F4=1?}

D2.Color:=clred;

if FBoss.CF4.Checked then

step:=2 else step:=3;

end;

3: begin {F4:=0}

D3.Color:=clred;

FBoss.CF4.Checked:=false;

step:=4;

end;

4: begin {F4:=1}

D4.Color:=clred;

FBoss.CF4.Checked:=true;

step:=49;

end;

5: begin {F1=1?}

D5.Color:=clred;

if FBoss.CF1.Checked then

step:=5 else step:=6;

end;

6: begin {ZP2:=0}

D6.Color:=clred;

step:=7;

end;

7: begin {F1:=1}

D7.Color:=clred;

FBoss.CF1.Checked:=true;

step:=7;

end;

8: begin {F6=1?}

D8.Color:=clred;

if FBoss.CF6.Checked then step:=8 else step:=9;

end;

9: begin {ZP:=1}

D9.Color:=clred;

step:=10;

end;

10: begin

D10_1.Color:=clred;

D10_2.Color:=clred;

Pobj.Show;

step:=1; fl:=false;

beautiful;

end;

11: begin

D11.Color:=clred;

FBoss.CF1.Checked:=false;

step:=12;

end;

13: begin

D13.Brush.Color:=clred;

if CheckBox2.Checked then

begin

restart;

end

else

begin

Button1.Enabled:=false;

Timer1.Enabled:=false;

end;

Pobj.Hide;

end;

50: begin

D4_1.Brush.Color:=clred;

step:=50;

end;

51: begin

D12.Brush.Color:=clred;

step:=10;

end;

end;

end;

procedure TFGr.beautiful; {Для объекта}

begin

O1_1.Color:=clwhite; O1_2.Color:=clwhite; O2.Color:=clwhite;

O2_1.brush.Color:=clwhite; O3.Color:=clwhite; O4.Color:=clwhite;

O5.Color:=clwhite; O6.Color:=clwhite; O7.Color:=clwhite;

O7_1.brush.Color:=clwhite; O8.Color:=clwhite; O9.brush.Color:=clwhite;

O10.brush.Color:=clwhite;D10_2.Color:=clOlive;

case step of

1: begin

O1_1.Color:=clred;

O1_2.Color:=clred;

step:=1;

end;

2: begin

O2.Color:=clred;

if FBoss.CF1.Checked then step:=2 else step:=49;

end;

3: begin

O3.Color:=clred;

if (strtofloat(FBoss.EBunk.Text)<strtofloat(fboss.EDoza.Text)) then

begin

Timer1.Enabled:=false;

MessageDlg('Внимание!!! Остановка конвейера!!!Бункер пуст!!! Наполните бункер сырьем!!!.', mterror, [mbOk], 0);

Button1.Enabled:=true;

CheckBox1.Checked:=false;

CheckBox2.Checked:=false;

step:=5;

end

else

step:=3;

end;

4: begin

O4.Color:=clred;

FBoss.EBunk.Text:=floattostr(strtofloat(FBoss.EBunk.Text)-0.5);

ProgressBar1.Position:=trunc(strtofloat(FBoss.EBunk.Text));

step:=4;

end;

5: begin

O5.Color:=clred;

Akk:=Akk+0.5;

ProgressBar2.Position:=trunc(akk);

if akk<>strtofloat(FBoss.EDoza.Text) then

step:=3 else step:=5;

end;

6: begin

O6.Color:=clred;

FBoss.CF6.Checked:=false;

step:=6;

end;

7: begin

O7.Color:=clred;

if akk<trunc(strtofloat(FBoss.EDoza.Text)) then step:=7 else step:=50;

end;

8: begin

O8.Color:=clred;

FBoss.CF6.Checked:=true;

step:=8;

end;

10: begin

O10.Brush.Color:=clred;

step:=12;

fl:=true;

end;

50: begin

O2_1.Brush.Color:=clred;

step:=51;

end;

51: begin

O7_1.Brush.Color:=clred;

step:=51;

end;

52: begin

O9.Brush.Color:=clred;

step:=9;

end;

end;

end;

end.

Размещено на Allbest.ru


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

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