Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Язык последовательных функциональных схем - SFC





Характер многих технических объектов и технологических процессов предполагает выполнение отдельных операций последовательно. В этих случаях разработчику ПО очень важно иметь средство программирования, которое позволяло бы наглядно воспроизводить структуру объекта/процесса. Именно таким средством и является язык SFC. Это высокоуровневый графический язык, предназначенный для использования на этапе проектирования ПО. Его основой является математический аппарат двудольных графов – сети Петри.

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

Описание СП может быть представлено в виде четверки G = (P, T, I, O) или графически в форме двудольных ориентированных графов (рис. 1), где

P ={Р1,...,Рn}, - множество вершин, называемых позициями;

T ={Т1,...,Тm}, - множество вершин, называемых переходами;

I, O - входная и выходная функции (матрицы инцидентности).

В общем случае элементами матриц I и O являются кратности дуг, например: 0 - нет дуги, 1 - одна дуга, 2 - две дуги и т. д., т.е. элементами этих матриц являются не только 0 или 1 (свидетельствующие только о том, существует или нет дуга), а и целые числа (кратности дуг).

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

Для описания динамических свойств сети (и соответственно моделируемой системы) вводится функция М разметки сети (маркировки) М: Р Æ {0,1,2,...}. С помощью функции разметки Mi = М(pi), где 1, in =, позиции помечаются целыми неотрицательными числами.

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

Срабатывание какого-либо перехода Tj в размеченной сети ведет к смене разметки.

Функционированием (срабатыванием) размеченной СП называется процесс изменения разметки, осуществляемый по правилам:

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

2) если два или более перехода могут одновременно сработать и они не имеют общих входных позиций, то их срабатывание независимо и осуществляется в любой последовательности или параллельно;

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

4) функционирование СП останавливается, если ни один из ее переходов не может сработать.

Естественно, что при формировании языка SFC интерпретация и реализация некоторых положений теории сетей Петри изменилась.

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

SFC-программа состоит из элементов двух типов: шагов (steps) и переходов (transitions), которые могут включать в себя элементы других языков. В соответствии с состоянием внутренних ссылок и входов-выходов логика шага может обрабатываться или игнорироваться, т.е. в каждый текущий момент времени шаг может быть активным или пассивным.

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

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

На рис. 2 приведены условные графические обозначения основных компонентов SFC-программ: Начальный шаг; Шаг; Переход; Переход на другой шаг (длинный переход); Макрошаг и др.

Действия внутри шагов описываются более детально при помощи других языков (ST, IL, LD, FBD).

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

Параллельные соединения

Расхождения – это множественные связи от одного шага или перехода ко многим.

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

Альтернативные расхождения и схождения - обозначаются одиночными горизонтальными линиями. Расхождение альтернативное (альтернативные ветви) – это множественная связь от одного шага к нескольким переходам. Активной становится одна из ветвей (в зависимости от активности того или иного перехода). Проверка активности переходов осуществляется слева направо.

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

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

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

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

Расхождение параллельное – это множественная связь от одного перехода к нескольким шагам. Она соответствует параллельному функционированию процесса.

Схождение параллельное – это множественная связь от нескольких шагов к одному и тому же переходу.

Иерархия программы SFC.

Каждая SFC-программа может управлять (запускать, уничтожать, и т.д.) другими программами на этом же языке (SFC), которые в таком случае называют дочерними программами (наследниками) той программы, которая ими управляет. SFC-программы объединяются в иерархическое дерево на основе “родственных” отношений (родитель-наследник).

 

Date: 2015-07-27; view: 1280; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию