7.4.3. Применение функциональных карт в промышленном управлении
В этом разделе рассмотрено применение функциональных карт для npcrpav мирования задачи управления порядком операций на участке гибкой проИЗВо ственной линии. Пусть участок состоит из трех станков с числовым программны управлением, например сверлильного, токарного и фрезерного, робота для псда материалов, а также промежуточного склада — буфера (рис. 7.28).
Рис. 7.28. Структура производственного участка
На уровне участка не рассматриваются конкретные контуры управления станками или роботом — каждый из них имеет свою систему управления, — а цель заключается в координации их работы. Задача из управления порядком операций и ихсинх ронизации в режиме реального времени (глава 10). Ниже приведен пример описания алгоритма управления средствами функциональной карты. Исполняемый код и сиг налы управления зависят от аппаратной платформы и компилятора.
Деталь должна быть обработана в заданном порядке каждым из трех станков, дача робота — перемещение деталей между станками.
Синхронизация станков производится с помощью графа "Диспетчер", структу ра которого показана на рис. 7.29. Диспетчер взаимодействует с каждым стан ком и роботом и определяет, когда станок может начинать работу и когда робот до переместить деталь. Функции диспетчера похожи на функции планировщика в стеме реального времени (глава 10), хотя в действительности это разные вещи. Диспетчер производственного участка должен наиболее эффективно поде между станками общий ресурс — в данном случае робота, — при этом он должен гарантировать отсутствие блокировок, связанных с этим ресурсом. Если, например, робот взял обработанную деталь со станка и ему некуда ее положить, то работа участка остановится. Следовательно, диспетчер должен сравнивать запросы, поступающие от станков, с доступными ресурсами – занятостью робота и объемом буфера.
Рис 7.29. Коммуникационная структура производственного участка
Граф "Диспетчер" производственного участка содержит несколько параллельных ветБей - по одной на каждый станок, для робота и для буфера. Поскольку все устройства работают одновременно, диспетчер должен управлять ими параллельно, обмениваясь синхронизирующими сигналами типа "Начать" и "Готов". Когда станок получает от диспетчера команду начать работу, он должен выполнить задачу, описанную в функциональной карте. Когда станок заканчивает исполнение, он посылает диспетчеру сигнал "Готов".
На рис. 7.29 показано, что ни один станок не взаимодействует с роботом напрямую. Вместо этого все коммуникационные сигналы передаются через диспетчера. Сигналы служат условиями перехода по каждой ветви функциональной карты. Такая структура графа позволяет добавить новый станок на участок, не меняя программу для других станков. Должен быть модифицирован только алгоритм управления роботом, в который добавляются операции для обслуживания нового станка.
Хорошая реализация функциональных карт поддерживает иерархическое структурирование задачи управления. Работа производственного участка состоит из операции по управлению отдельными станками. Эти операции, в свою очередь, можно разделить на более мелкие части.
Порядок управления каждым станком определяется отдельной функциональной картой. Управляющая последовательность для сверлильного станка показана на Рис. 7.30.
Условие «начать сверление» представляет собой сигнал от диспетчера. Если станок не подтвердил сигнал в течение времени tim_1, то возникает аварийная ситуация и происходит переход к альтернативной параллельной ветви. Аналогично, если сверло не достигло заготовки за определенное время, то возникает другая аварийная ситуация. Карта для сверлильного станка может показаться слишком длинной, но она содержит необходимые проверки допустимости очередного шага и альтернативные пути как следствие аварийных ситуаций. После завершения станком обработки детали переменная "Сверлильный станок готов" принимает значение "истина". Эта переменная является логическим условием перехода в функциональной карте диспетчера. Диспетчер теперь может послать роботу сигнал взять деталь со сверлильного станка.
Робот выполняет операции, которые описываются в функциональной карте как альтернативные параллельные ветви, например:
- взять деталь со станка;
- поместить деталь в буфер;
- взять деталь из буфера и поместить ее на станок.
Рис. 7.30. Начало функциональной карты, описывающей последовательность операций сверлильного станка
Последовательность операций на производственном участке можно описать в мз шинном коде или как принципиальную схему. Однако длинные программы на яэы ках низкого уровня неудобны для человека — в них трудно разбираться, их тру отлаживать и сопровождать. Для языков высокого уровня, таких как функциональ ные карты, собственно программа является хорошей документацией.
- 1.1. Роль вычислительной техники в управлении процессами
- 1.5. Руководство для читателя
- Глава 8 посвящена архитектуре системных шин; наибольшее внимание уделено стандарту vme.
- Процессы реального времени. Методы программирования. Задачи цифрового управления
- 2.1.1. Пример — пресс для пластика
- 2.1.2. Управление на основе последовательного программирования
- 2.1.3. Управление на основе прерываний
- 2.2. Примеры задач управления процессами
- 2.2.1. Управление последовательностью событий и бинарное управление
- 2.2.2. Простой контур управления — регулятор температуры
- 2.2.3. Генерация опорного значения
- 2.2.4. Системы, содержащие несколько контуров управления.
- 2.2.5. Взаимосвязанные системы
- 2.2.6. Критичные по времени процессы
- 2.2.7. Свойства процессов, усложняющие управление
- 2.3. Особенности систем цифрового управления
- 2.4.2 Модельный пример 2 – биологическая очистка сточных вод (процесс активированного отстоя)
- 2.5. Заключение
- 3. Описание и моделирование систем
- 3.1.2. Масштаб времени динамических моделей
- 3. 1.3. Моделирование динамических систем
- 3.1.4. Моделирование дискретных событий
- 3.2. Основы моделирования динамических систем
- 3.2.1. Механические системы
- 3.2.2. Электромагнитные цепи
- Пример 3.4
- 7.4. Функциональные карты
- 7.4.1. Синтаксис функциональных карт
- 4 2. Реализация функциональных карт
- 7.4.3. Применение функциональных карт в промышленном управлении
- 7.5. Заключение
- 10.6. Методы программирования в реальном времени
- 10.6.1. Что такое программа реального времени?
- 10.6.2. Среда программирования
- 10.6.3. Структура программы реального времени
- 10.6.4. Обработка прерываний и исключений
- 10.6.5. Программирование операций ожидания
- 10.6.6. Внутренние подпрограммы операционной системы
- 10.6.7. Приоритеты процессов и производительность системы
- 10.7. Языки программирования и операционные системы реального времени
- 10.7.1. Требования к языкам и операционным системам реального времени