logo
ОСНОВЫ АСУ ТП

7.4.3. Применение функциональных карт в промышленном управлении

В этом разделе рассмотрено применение функциональных карт для npcrpav мирования задачи управления порядком операций на участке гибкой проИЗВо ственной линии. Пусть участок состоит из трех станков с числовым программны управлением, например сверлильного, токарного и фрезерного, робота для псда материалов, а также промежуточного склада — буфера (рис. 7.28).

Рис. 7.28. Структура производственного участка

На уровне участка не рассматриваются конкретные контуры управления станка­ми или роботом — каждый из них имеет свою систему управления, — а цель заключа­ется в координации их работы. Задача из управления порядком операций и ихсинх ронизации в режиме реального времени (глава 10). Ниже приведен пример описания алгоритма управления средствами функциональной карты. Исполняемый код и сиг налы управления зависят от аппаратной платформы и компилятора.

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

Синхронизация станков производится с помощью графа "Диспетчер", структу ра которого показана на рис. 7.29. Диспетчер взаимодействует с каждым стан ком и роботом и определяет, когда станок может начинать работу и когда робот до переместить деталь. Функции диспетчера похожи на функции планировщика в стеме реального времени (глава 10), хотя в действительности это разные вещи. Диспетчер производственного участка должен наиболее эффективно поде между станками общий ресурс — в данном случае робота, — при этом он должен гарантировать отсутствие блокировок, связанных с этим ресурсом. Если, например, робот взял обработанную деталь со станка и ему некуда ее положить, то работа участка остановится. Следовательно, диспетчер должен сравнивать запросы, поступающие от станков, с доступными ресурсами – занятостью робота и объемом буфера.


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

Граф "Диспетчер" производственного участка содержит несколько параллельных ветБей - по одной на каждый станок, для робота и для буфера. Поскольку все устрой­ства работают одновременно, диспетчер должен управлять ими параллельно, обме­ниваясь синхронизирующими сигналами типа "Начать" и "Готов". Когда станок по­лучает от диспетчера команду начать работу, он должен выполнить задачу, описанную в функциональной карте. Когда станок заканчивает исполнение, он по­сылает диспетчеру сигнал "Готов".

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

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

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

Условие «начать сверление» представляет собой сигнал от диспетчера. Если станок не подтвердил сигнал в течение времени tim_1, то возникает аварийная ситуация и происходит переход к альтернативной параллельной ветви. Аналогично, если сверло не достигло заготовки за определенное время, то возникает другая аварийная ситуация. Карта для сверлильного станка может показаться слишком длинной, но она содержит необходимые проверки допустимости очередного шага и альтернативные пути как следствие аварийных ситуаций. После завершения станком обработки детали переменная "Сверлильный станок готов" принимает значение "истина". Эта переменная является логическим условием перехода в функциональной карте диспетчера. Диспетчер теперь может послать роботу сигнал взять деталь со сверлильного станка.

Робот выполняет операции, которые описываются в функциональной карте как альтернативные параллельные ветви, например:

- взять деталь со станка;

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

- взять деталь из буфера и поместить ее на станок.


Рис. 7.30. Начало функциональной карты, описывающей последовательность опера­ций сверлильного станка

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