Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УРиPТС часть1.doc
Скачиваний:
5
Добавлен:
28.05.2015
Размер:
2.68 Mб
Скачать

Раздел 4. Добавить п. 4.0 «Декомпозиция задачи управления» или «Разделение общей задачи на подзадачи». Например, данный алгоритм задачи разделятся над под задачи:

Перемещение робота на позицию А1, для ее решения необходимы условия:

Схват робота пустой

Робот на позиции А3

Стакан СТ21 уже загружен (полигон полон)

Или:

схват робота пустой

робот на позиции А4

Стакан СТ22 уже загружен (т. е. патрон полон)

Перемещение робота на позицию А8

В схвате робота деталь есть

Робот в позиции А7

Сигнализация о нештатной ситуации (нужно видоизменить управление).

превышен лимит времени на выполнение некой частной операции

в схвате робота заготовка

робот в позиции А2

патрон станка СТ12 полон

станок СТ12 выключен

п. 4.1 Идентификация данных

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

Множество входных сигналов:

x = {

множество выходных сигналов:

y

необходимо поставить в соответствие каждый сигнал со своим идентификатором.

Для сигналов, принимающих логические значения можно использовать запись:

Для входных

идентификатор

Сигнал

X

1

Входной контейнер пуст ()

(не пуст)

Для выходных

1

0 v 1

{7, 3,5}

{1…12}

п. 4.2 Разработка математической модели, функциональные зависимости сигналов

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

Например, команда по перемещению робота на позицию А1 может быть описана: - принимает два состояния как состояние схвата робота ( - схват зажат, - схват разжат)

- ( - схват полный, - схват пустой)

- на станке Ст 20 есть деталь

- на станке Ст 21 есть ПФ, - нет

- робот на позиции А23, – нет

- робот на позиции А 24, – нет

При помощи кодов:

Сети Петри

P – множество позиций

T – множество переходов

I – множество входных сигналов

O – множество выходных сигналов

– маркировка

- фишки

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

Двудольный – существуют два различных подмножества вершин (T и P).

Ориентированный – ребра связывающие вершины, ориентированные дуги

Мультиграф – есть хотя бы одна вершина, которой инцидентна больше чем одна дуга.

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

Входные функции рассматриваются относительно перехода.

Выходные – из перехода в позицию.

Пример:

I(t1)={P1} O(t1)={P2, P3, P5}

I(t2)={P2,P3,P5} O(t2)={P5}

I(t3)={P3} O(t3)={P4}

I(t4)={P4} O(t4)={P2, P3}

Маркировка сетей Петри

Маркировка сетей Петри состоит в присваивании фишек (точек) позициям сети Петри. Фишки также элемент сети Петри, поэтому маркированную сеть Петри обозначают

Правила выполнения сетей Петри

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

Выполнение – есть запуск переходов. Запуск осуществляется удалением фишек из его (перехода) входных позиций и присвоением его выходным позициям. Переход может запускаться только тогда, когда он является разрешенным.

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

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

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

После запуска каждого перехода в сети образуется сеть . В результате запуска разрешенного перехода образуется новая маркировка:

# - кратные дуги

Пусть С задана:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

{ P7, P7,P12}=

={2P7,P12}

Пусть С задана

I(t2)={P1,P3}

O(t2)={P3,2P5}

((((((((((((((((((((((((((((((((((((((((((((((((((((

Применение сетей Петри для моделирования.

Основное приложение сетей Петри С – моделирование. С их помощью могут быть промоделированы различные системы. Например, аппаратное и программное обеспечение (ТО и ПО ЭВМ), физические системы (СТС – сложные технические системы в том числе ГАК).

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

Для использования в приложениях сети Петри в этих приложениях выявляются основополагающие понятия: события и условия.

События и условия (как элементы исходного анализа систем)

События – это действия, которые могут быть выполнены в системе.

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

Условия – это некоторый предикат или логическое условие, которое может принимать значение t и f.

Условие, определяющие выполнение событий, называются предусловием события.

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

Пример:

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

Условия:

А. деталь ожидает обработки

Б. Технологический робот свободен

В. Деталь обрабатывается

Г. Деталь ожидает транспортного робота

Д. транспортный робот свободен

События:

  1. Деталь поступает на входную очередь

  2. Деталь начинает обрабатываться

  3. Деталь обработана

  4. Передача детали в накопитель

Составим таблицу, связывающую события и условия (в том числе выделенные предусловия и постусловия)

События

Условия

Предусловия

Постусловия

1

2

3

4

Нет

А, Б

В

Г, Д

А

В

Г, Б

Нет

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

Предварительно сопоставим с условиями либо математические переменные, что бы построить математическую модель (к сети Петри это не имеет отношения) и события ставятся в соответствии с переходами.

Условия

Математические переменные

События

Математические функции

А

Б

В

Г

Д

1

2

3

4

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

СМОТРИ

Свяжем элементы сети Петри с элементами математической модели.

Позиции сети Петри

Математические переменные

Внимание!

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

Поставим соответствие переходам математические функции:

переходы сети Петри

Математические функции

Эта сеть C для проведения моделирования должна иметь некоторую начальную маркировку М().

Некоторые виды процессов, моделируемые сетью Петри

Рассмотрим примеры, иллюстрирующие некоторые особенности сетей Петри и самих систем, процессов, моделируемых с их помощью.

Так одним из свойств систем СТС могут быть параллелизм (или одновременность протекания отдельных частей процессов). Иногда возникает необходимость синхронности. Такие механизмы в сетях Петри есть. Например, строб.

Вообще говоря, существует ряд процессов, для моделирования которых необходим некий интервал выполнения. Вообще в сетях Петри механизмов такого рода нет, однако такие временные процессы, называемые «непримитивные события» могут в некоторой степени моделироваться так:

Моделирование конфликта

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

Синхронизация

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

Задача о взаимном исключении.

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

Пусть происходит в процессе следующая последовательность:

Процесс П1 считывает значение х разделяемой переменной.

Процесс П2 считывает х

П1 вычисляет новое значение

П2 вычисляет

П1 записывает на старое место

П2 записывает на старое место

Пусть рассматривается некой банковский счёт, на котором лежит $1000.

Пусть

g(x) – означает, снять со счёта $1000 (магазин)

f(x) – означает положить на счёт $1000 (его работа)

В этом случае: оба процесса П1 и П2 успели прочитать в свои буфера $1000. П1 -> положить $1000, то есть на счету у него $2000; П2 -> $0 = $1000 - $1000.

Такая ситуация называется взаимным исключением (это в некотором смысле конфликт).

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

В данном случае мы можем запускать любой процесс.