Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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-программы объединяются в иерархическое дерево на основе “родственных” отношений (родитель-наследник).
|