Ответы на экзаменационны вопросы по сса


НазваниеОтветы на экзаменационны вопросы по сса
страница2/10
Дата публикации16.03.2013
Размер0.96 Mb.
ТипДокументы
userdocs.ru > Информатика > Документы
1   2   3   4   5   6   7   8   9   10
^

ОС реального времени.


Определение. Система называется системой реального времени (СРВ), если правильность ее функционирования зависит не только от логической корректности вычислений, но и от времени, за которое эти вычисления производятся.



То есть для событий, происходящих в такой системе, то, КОГДА эти события происходят, так же важно, как логическая корректность самих событий.

^ ОС РВ характеризуется прежде всего малым временем реакции на внешние события.

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

Традиционно ОС РВ делятся на "жесткие" и "мягкие". Система "жесткого" РВ должна без сбоев отвечать на внешние события в рамках заранее определенного интервала времени. Время ответа должно быть предсказуемым и не зависеть от текущего состояния системы. "Мягкая" ОС РВ тоже должна отвечать очень быстро, но гарантированное время ответа в ней не обеспечивается.

  1. Рабочий цикл и время реакции контроллера.

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

На самом деле ПЛК имеет обычно один процессор и выполняет несколько задач псевдопараллельно, последовательными порция­ми. Время реакции на событие оказывается зависящим от числа одновременно обрабатываемых событий.

Задачи управления требуют непрерывного циклического конт­роля. В любых цифровых устройствах непрерывность достигается за счет применения дискретных алгоритмов, повторяющихся че­рез достаточно малые промежутки времени. Таким образом, вы­числения в ПЛК всегда повторяются циклически. Одна итерация, включающая замер, обсчет и выработку воздействия, называется рабочим циклом ПЛК. Выполняемые действия зависят от значе­ния входов контроллера, предыдущего состояния и определяются пользовательской программой.

По включению питания ПЛК выполняет самотестирование и настройку аппаратных ресурсов, очистку оперативной памяти данных (ОЗУ), контроль целостности прикладной программы по­льзователя. Если прикладная программа сохранена в памяти, ПЛК переходит к основной работе, которая состоит из постоян­ного повторения последовательности действий, входящих в рабо­чий цикл.

Рабочий цикл ПЛК состоит из нескольких фаз.

1. Начало цикла.

2. Чтение состояния входов.

3. Выполнение кода программы пользователя.

^ 4. Запись состояния выходов.

5. Обслуживание аппаратных ресурсов ПЛК.

6. Монитор системы исполнения.

7. Контроль времени цикла.

8. Переход на начало цикла.

В самом начале цикла ПЛК производит физическое чтение входов. Считанные значения размещаются в области памяти вхо­дов. Таким образом, создается полная одномоментная зеркальная копия значений входов.

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

После выполнения пользовательского кода физические выхо­ды ПЛК приводятся в соответствие с расчетными значениями (фаза 4).

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

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

Пользовательская программа работает только с мгновенной ко­пией входов. Таким образом, значения входов в процессе выпол­нения пользовательской программы не изменяются в пределах одного рабочего цикла. Это фундаментальный принцип построе­ния ПЛК сканирующего типа. Такой подход исключает неодно­значность алгоритма обработки данных в различных его ветвях. Кроме того, чтение копии значения входа из ОЗУ выполняется значительно быстрее, чем прямое чтение входа. Аппаратно чтение входа может быть связано с формированием определенных временных интервалов, передачей последовательности команд для конкретной микросхемы или даже запросом по сети.

Если заглянуть глубже, то нужно отметить, что не всегда ра­бота по чтению входов полностью локализована в фазе чтения входов. Например, АЦП обычно требуют определенного времени с момента запуска до считывания измеренного значения. Часть работы системное программное обеспечение контроллера выпол­няет по прерываниям. Грамотно реализованная система исполне­ния нигде и никогда не использует пустые циклы ожидания го­товности аппаратуры. Для прикладного программиста все эти детали не важны. Существенно только то, что значения входов обновляются автоматически исключительно в начале каждого рабочего цикла.

Общая продолжительность рабочего цикла ПЛК называется временем сканирования. Время сканирования в значительной сте­пени определяется длительностью фазы кода пользовательской программы. Время, занимаемое прочими фазами рабочего цикла, практически является величиной постоянной. Для задачи средне­го объема в ПЛК с системой исполнения CoDeSys время распреде­лится примерно так: 98% — пользовательская программа, 2% — все остальное.

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

Время реакции — это время с момента изменения состояния системы до момента выработки соответствующей реакции. Оче­видно, для ПЛК время реакции зависит от распределения моментов возникновения события и начала фазы чтения входов. Если изменение значений входов произошло непосредственно перед фа­зой чтения входов, то время реакции будет наименьшим и рав­ным времени сканирования (рис. 1.5). Худший случай, когда изменение значений входов происходит сразу после фазы чтения входов. Тогда время реакции будет наибольшим, равным удвоен­ному времени сканирования минус время одного чтения входов. Иными словами, время реакции ПЛК не превышает удвоенного времени сканирования.



Рис. 1.5. Время реакции ПЛК

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

  1. Стандарт IEC-61131-3. Классификация и краткое описание языков.

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

Существует множество специализированных языков программирования. Обычно каждая фирма вводима собственный язык. В этом случае при смене аппаратной базы было необходимо переписывать программы заново. Радикально изменить ситуацию мог стандарт на языки программирования ПЛК, процесс разработки которого начался в 1979 году, и только к 1992 году он был утвержден как IEC 1131-3.

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

В феврале 1993 года международная организация по стандартизации IEC приняла и выпустила стандарт IEC-1131-3 (МЭК-1131-3), описывающий синтаксис и семантику пяти языков программирования ПЛК.

Что определяет стандарт:

  1. состав языков программирования (5 шт.)

  2. Синтаксис языков программирования (для текстовых языков) – список ключевых слов, выполняемые ими функции, способы употребления.

  3. Вид графических объектов (для графических языков).

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

  5. Типы и виды переменных – внутреннюю структуру, но не внешние названия.

  6. Интерфейсы функций и функциональных блоков – как должны организовываться входы и выходы этих ФБ.

Стандарт не определяет:

  1. Размеры текстовых и графических редакторов.

  2. Не определяет минимальный набор ФБ, но допускает создавать свою библиотеку, т.к. интерфейсы стандартизированы.

  3. Средства разработки и сервисные утилиты (редакторы, отладчики, системы документирования).

  4. Не описывает конвертирование языков.

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

В соответствии с указанным стандартом такими стандартными языками являются три графических языка и два текстовых:



FBD (^ Function Block Diagram) – графический язык функциональных блоковых диаграмм, с помощью которого программа составляется из различных функциональных библиотечных блоков - арифметических, тригонометрических, регуляторов, мультиплексоров и т.д. Язык удобен для программирования задач, например вычислительного характера, решение которых может быть представлена функциональной схемой, состоящий из таких блоков как сложение, умножение, интегрирование и т.д.

LD (^ Ladder Diagram) – графический язык диаграмм релейной логики. Язык удобен для программирования несложных булевых операций и для решения задач в виде релейно-контактных схем автоматики.

SFC (^ Sequential Function Chart) - графический язык последовательных функциональных схем. С его помощью программа представляется последовательностью шагов разделяемых переходами. Язык хорошо приспособлен для программирования задач логического управления и т.д. К программированию на этом языке удобно переходить от графа переходов.

ST (^ Structured Text) – язык структурированного текста - относится к классу языков высокого уровня, по мнемонике похож на Паскаль и применяется для разработки сложных процедур обработки данных, которые трудно описать графическими языками.

IL (Instruction List) – язык инструкций – текстовый язык низкого уровня. Это язык низкого уровня класса ассемблера, что объясняется его происхождением: для некоторых моделей ПЛК фирмы Siemens является языком Ассемблера. В рамках стандарта IEC 1131-3 к архитектуре конкретного процессора не привязан. Является высокоэффективным для небольших программ или для оптимизации отдельных частей сложных программ, если требуется высокое быстродействие, экономия памяти и т.д.

  1. Инструментальная система программирования ISaGRAF. Основные компоненты пакета ISaGRAF.

Основные возможности пакета:

  • Поддержка всех пяти языков стандарта МЭК 1131-3 плюс реализация языка Flow Chart как средства описания диаграмм состояний. При этом ISaGRAF позволяет смешивать программы и процедуры, написанные на разных языках, а также вставлять кодовые последовательности из одного языка в коды, написанные на другом языке.

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

  • Поддержка различных протоколов промышленных сетей (Modbus и ProfiBus).

  • ISaGRAF представлен в виде двух частей: набора средств разработки и исполняемого на целевом ПЛК ядра-интерпретатора. Набор средств разработки исполняется на компьютере проектировщика, например, компьютере типа IBM PC, и состоит из редактора, отладчика и препроцессора, который подготавливает описанный проектировщиком алгоритм к формату, "понятному" ядру-интерпретатору. Этот набор имеет современный пользовательский интерфейс, позволяет тестировать алгоритм в режиме эмуляции и получать листинг алгоритма на языках его описания.

После создания пользовательская программа совместно с ядром-интерпретатором загружается в целевой ПЛК для исполнения. Ядро-интерпретатор, как следует уже из его названия, транслирует пользовательский алгоритм во время исполнения.

Это позволяет сконцентрировать машино-зависимый код и таким образом снизить накладные расходы при переходе на другой ПЛК.



Недостаток - интерпретационная модель имеет недостаток - она всегда снижает показатели эффективности исполнения программы.

  1. ^ Архитектура проекта в ISaGRAF.



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


Секции

Begin sequentional end

(начальная) (последовательная) (конечная)

Циклические программы помещаются в секции begin & end. Последовательные в секции sequentional, программы пишутся только на SFC. В остальных секциях на любых других языках, кроме SFC.

Цикл исполнения программ включает:

  1. чтение входных переменных;

  2. выполнение программ начальной секции;

  3. выполнение программ последовательной секции;

  4. выполнение программ конечной секции;

  5. обновление выходных переменных.



  1. Типы данных и переменных в ISaGRAF. Особенности таймерных переменных.

Для каждой переменной в системе ISaGRAF необходимо задать следующие атрибуты:



Существует три уровня видимости переменных:

  1. СOMMON – общие, доступные любой программе любого проекта;

  2. GLOBAL – доступные любой программе одного проекта;

  3. LOCAL – локальные доступные только одной программе одного проекта.

При объявление переменных используются следующие типы:

boolean – булевые,

analog – аналоговые (могут быть как integer, так и real),

timers – таймерные,

messages – сообщение.

^ Кроме того, объявляется вид переменной:

internal – внутренний,

input – входная,

output – выходная.

Примечание 1: Переменные ввода-вывода всегда GLOBAL.

Примечание 2: Переменные timers всегда internal.

Особенности таймерных переменных

Значения констант:

  • Базовая единица – 1 миллисекунда

  • Синтаксис: t#1h450ms, time#1h3m, t#0s

  • Таймер не может превышать t#23h59m59s999ms

  • Значение таймера всегда положительно

  • Таймер не может быть уменьшающимся счетчиком.

  • Таймерная переменная не может быть связана с платой ВВ

Механизм работы

  • При старте переменная автоматически инициализируется (значение инициализации может быть указано при определении таймерной переменной – по умолчанию t#0ms).

  • Таймер увеличивается в соответствии с часами целевой системы в конце каждого цикла работы контроллера. На протяжении цикла значение остается одинаковым.

  • Таймер может быть запущен и остановлен.



  1. Последовательность создания прикладных программ в ISaGRAF.



  1. Запуск системы.

  2. Создание проекта, т.е. присваивание уникального имени проекту.

  3. Объявление переменных.

  4. Создание программ, т.е. присвоение уникального имени программам.

  5. Написанные программы на выбранном языке с помощью соответствующего редактора ISaGRAF.

  6. Присоединение переменных ввода-вывода. Позволяет программисту определить физические платы системы исполнения и каким образом переменные ввода-вывода присоединяются к каналам этих плат.

Переменные ввода-вывода должны быть объявлены в словаре до начала процедуры присоединения.

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

  2. Тестирование или имитация используется для отладки программ на компьютере, когда аппаратные средства системы исполнения недоступны.

  3. Загрузка программы в контроллер.



  1. Язык FBD. Структура программы. Основные компоненты языка.

FBD (Functional Block Diagram) - язык функциональных блоков (Function Block Diagrams) позволяет создать программную единицу практически любой сложности на основе стандартных кирпичиков (арифметические, тригонометрические, логические блоки, PID-регуляторы, блоки, описывающие некоторые законы управления, мультиплексоры и т.д.). Это языковое средство использует технологию инкапсуляции алгоритмов обработки данных и законов регулирования. Все программирование сводится к "склеиванию" готовых компонентов. В результате получается максимально наглядная и хорошо контролируемая программная единица.

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

Блоками могут быть

  • Стандартные Операторы и Функции

  • Функции из секции «Functions» или библиотеки функций ISaGRAF

  • Функциональные Блоки из секция «F. Blocks» или библиотеки F.Blocks ISaGRAF

  • Функции C или Функциональные блоки C из библиотеки ISaGRAF.

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



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

Подключение блока:

Входом блока может быть

  • Входная переменная

  • Внутренняя переменная

  • Константа

  • Выходная переменная

Выходом блока может быть

  • Внутренняя переменная

  • Выходная переменная

Левые и правые части линии соединения должны иметь тот же самый тип переменной.

Прямое и обратное простые подключения

П
рямое подключение

Инверсное подключение

М

ножественные подключения

Используются для широковещательной передачи информации от левого края до каждого правого края

  1. Язык LD. Структура программы. Основные компоненты языка.

LD (Ladder Diagram) - графический язык программирования, являющийс стандартизованным вариантом класса языков релейно-контактных схем. Логические выражения на этом языке описываются в виде реле, которые широко применялись в области автоматизации в 60-х годах. Ввиду своих ограниченных возможностей язык дополнен привнесенными средствами: таймерами, счетчиками и т.п. Происхождение: различные варианты языка релейно-контактных схем (Allen-Bradley, AEG Schneider Automation, GE-Fanuc, Siemens).

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

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



Для изображения входных контактов существует несколько символов:

Прямой(замыкающий)

Обратный контакт(размыкающий)

Контакт с обнаружением переднего фронта

Контакт с обнаружением заднего фронта

Используется несколько типов обмоток:

Прямая обмотка

Обратная обмотка

  1. Язык SFC. Графические компоненты языка. Динамические правила выполнения программы.

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

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

Происхождение: Grafcet (Telemechanique-Groupe Schneider).
^

2.8.1.1. Основные графические компоненты языка.




Шаг изображается одинарным квадратом. К шагам адресуются по номерам, написанным на квадратике шага. Основное описание шага записывается в прямоугольник, присоединённый к символу шага.

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

Каждый шаг и переход должны иметь уникальный идентификатор, по которому к нему ссылаются из других программ. У шага по умолчанию идентификатор GSnnn, где nnn – номер шага. У перехода GTnnn.

GSnnn является сложной переменной, состоящей из 2-х компонентов:

GSnnn.х – булева переменная, обозначающая активность шага;

GSnnn.t – таймерная переменная. Время прошедшее с момента последней активации шага.

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

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

^ Двойная дивергенция – это множественное соединение от одного перехода к нескольким шагам, выполняемые параллельно. Двойная конвергенция – это множественное соединение от нескольких шагов к одному и тому же переходу. Используется, чтобы сгруппировать ветви программы, берущие начало в двойной конвергенции.
^

2.8.1.2. Динамические правила языка SFC.


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

  2. Правило выполнения перехода. Переход происходит, если выполняются два условия: 1) все шаги, предшествующие переходу должны быть активны; 2) условие перехода истинно. Если одно из условий не выполняется, переход не может быть произведен.

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

  4. Если во время выполнения программы шаг одновременно активизирован и деактивизирован приоритет отдаётся активизации.

  1. Способы описание действий внутри шагов. Описание условий, прикрепленных к переходу.

Описание действий выполняемых во время активности шага называют вторым уровнем шага SFC. Такое описание выполняется с использованием обычно языка ST (хотя и возможно использование и других языков) и дополнительных возможностей языка SFC так называемых текстовых возможностей. К ним относятся:

  1. булевы действия

  2. puls-действия

  3. non-stored-действия

  4. SFC-действия

Булевы действия

Они присваиваются булевой переменной значение активности шага.

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

Синтаксис основных булевых действий следующий:

(N) присваивает переменной сигнал активности шага

; тот же самый эффект (атрибут N является необязательным)

/; присваивает переменной отрицание сигнала активности шага

(S) устанавливает переменную в TRUE, когда сигнал активности шага становится TRUE.

(R) сбрасывает переменную в FALSE, когда сигнал активности шага становится TRUE

Временные диаграммы, поясняющие принцип работы



PULS-действия

Это список команд на языке ST или IL, которые выполняются только один раз в момент активизации шага.



Синтаксис описания puls-действий

ACTION(P);

Операторы языка ST или IL;

END_ACTION;

NON-STORED-действия

Это список команд на языке ST или IL, которые выполняются на каждом цикле работы контроллера в течении всего периода активности шага.



Синтаксис

ACTION(N);

Операторы языка ST или IL;

END_ACTION;

Кроме puls и non-stored действий в стандарте определены (но не поддерживаются ISaGRAF) следующие классификаторы действий:

  1. S – сохраняемое. Действие активируется и остается активным до сброса.

  2. R – сброс. Действие деактивируется.

  3. L – ограниченное по времени. Действие остается активным заданное время, но не дольше чем шаг.

  4. SL – сохраняемое и ограниченное по времени. Действие остается активным заданное время, вне зависимости от шага.

  5. D – отложенное. Действие активируется через заданное время после активации шага.

  6. DS – отложенное сохраняемое. Действие активируется через заданное время после активации шага и остается активным до сброса.

  7. SD – сохраняемое отложенное. Действие активируется через заданное время после активации шага, даже если шаг уже не активен.

^ SFC действия

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

В отличии от макрошага, который пока не выполнится до конца, не происходит дальнейшего перехода, SFC-действие сразу прекращается при выполнении условия перехода.

SFC-действие может иметь один из следующих спецификаторов: N (“non-stored”), S (установки) или R (сброса).

Основные SFC-действий:

(N); запускает дочернюю последовательность, когда шаг становится активным и уничтожает дочернюю последовательность, когда шаг становится неактивным

; выполняет то же самое, что и предыдущее действие (атрибут N является необязательным)

(S); запускает дочернюю последовательность, когда шаг становится активным - ничего не делается, когда шаг становится неактивным

(R); уничтожает дочернюю последовательность, когда шаг становится активным - ничего не делается, когда шаг становится не активным
^

2.8.1.4. Описание условий прикрепленных к переходу.


К каждому переходу пишется булево выражение, которое называют вторым уровнем перехода. Описание условие обычно выполняется на языке ST или IL. Выражение должно быть булевым (не арифметическим) и заканчиваться точкой с запятой. Когда к переходу не прикреплено условие, то оно по умолчанию питается истинным, т.е. принимает значение TRUE.

^ Основные достоинства SFC можно определить следующим образом.

Высокая выразительность. Язык SFC имеет те же возможности, что и диаграммы состояний, и является наиболее подходящим средством для описания динамических моделей.

Графическое представление. Благодаря графической мнемонике SFC максимально прост в использовании и изучении. Вместе с тем, он является наглядным средством представления логики на разных уровнях детализации.

  1. Язык ST. Основные операторы языка ST.

ST (Structured Text) - текстовый высокоуровневый язык общего назначения, по синтаксису ориентированный на Паскаль. Происхождение: Grafcet (Telemechanique-Groupe Schneider). Язык по умолчанию используется для описания действий внутри шагов и переходов.

Основной синтаксис языка.

Программа на языке ST это список операторов, каждый из которых заканчивается «;».

В программе имена переменных и констант разделяются либо неактивными разделителями: ENTER, ТАБ, либо активными, которые имеют заранее определённое значение (например, разделители “<“, “>“...). Комментарии могут вставляться в текст произвольным образом и оформляются следующим образом: ( * комментарий * ).

Основные операторы языка.

  • ( ) - для выделения частей выражения с целью изменения приоритета выполнения операций , в их отсутствии используется приоритет по умолчанию.



  • Булевы операторы: NOT , AND , OR , XOR ,

REDGE – обнаружение переднего фронта ,

FEDGE – обнаружение спада или заднего фронта.

  • Арифметические операторы:

+ сложение , - вычитание , умножение , / деление.

  • Операторы сравнения: < , > , = , <> , <= , >= .



  • := - присваивает переменной значение некоторого выражения или константы:

< переменная > := <любое выражение или константа >

X1:= a+b.

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

  • Return завершает выполнение текущей программы.



  • Условное действие IF...END_IF

Простейшая форма (инструкция выполняет действие, если условие истинно).

IF условие THEN действия;

END_ IF;

  • WHILE – это циклическая структура для группы операторов на языке ST , условие продолжения которой вычисляется до каждой итерации.

while < условие > do

< оператор 1 >;

< оператор 2 >;

end_while;

  • REPEAT – циклическая структура , условие продолжения которой вычисляется после каждой итерации .

Repeat

< оператор 1 >;

< оператор 2 >;

until < условие >;

end_repeat;

  • FOR - выполняет ограниченное количество итераций , используя целочисленную переменную (integer) для ограничения.

for < index > := < min > to < max > by

do < оператор 1 >;

< оператор 2 >;

end_for;

где index – внутренняя переменная , step – шаг изменения переменной (при отсутствии равно 1).

  • Множественный выбор CASE

Оператор CASE позволяет выполнить разные действия, в зависимости от значения целочисленной переменной:

^ Оператор множественного выбора CASE позволяет выполнить различные группы выражений в зависимости от значения одной целочисленной переменной или выражения. Синтаксис:

CASE <целочисленное выражение> OF

<значение 1>: <выражения 1>;

<значение 2>, <значение 3>: <выражения 3>;

<значение 4>..<значение 5>: <выражения 4>;

ELSE

<выражения ELSE>;

END_CASE;

Если значение выражения совпадает с заданной константой, то выполняется соответствующая группа выражений. Прочие усло­вия не анализируются (<значение 1>: <выражения 1>;).

Если несколько значений констант должны соответствовать одной группе выражений, их можно перечислить через запятую (<значение 2> , <значение 3>: <выражения 3>;).

Диапазон значений можно определить через двоеточие (<зна­чение 4>..<значение 5>: <выражения 4>;).

Группа выражений ELSE является необязательной. Она вы­полняется при несовпадении ни одного из условий (<выражения ELSE>;).

Пример:
1   2   3   4   5   6   7   8   9   10

Похожие:

Ответы на экзаменационны вопросы по сса iconЗемельное право вопросы и ответы Издание третье, переработанное и добавленное Москва
Земельное право: Вопросы и ответы. 3-е изд., перераб и доп. М.: Юриспруденция, 2001.— 128 с. (Серия «Подготовка к экзамену»)
Ответы на экзаменационны вопросы по сса iconОбломова» иподготовить ответы на вопросы: а Почему эпизод «Сон Обломова»...
Прочитать первую часть романа «Обломов» кроме эпизода «Сон Обломова» и подготовить ответы на вопросы
Ответы на экзаменационны вопросы по сса iconВеденин Н. Н. Экологическое право: Вопросы и ответы
В26 Веденин Н. Н. Экологическое право: Вопросы и ответы. — М.: Новый Юрист, 1998. — 112 с. (Серия «Подготовка к экзамену»)
Ответы на экзаменационны вопросы по сса iconВы часто говорите о воспитании молодежи. В связи с этим вопросы: какой факультет выбрал Ваш сын
Эти и многие другие интересные для меня вопросы задавали участники Интернет-конференции, которую мы провели вчера 5 января 2013 года...
Ответы на экзаменационны вопросы по сса iconОтпечатано с готовых файлов в Раменской типографии. Вопросы и ответы
Часто ли ты попадаешь во всякие нежелательные ситуации? Делаете ли прививки? Много ли автостопщиков гибнет? Случается ли нарушать...
Ответы на экзаменационны вопросы по сса iconДопрос по "Болотному дел": основные вопросы следователей и ответы на них 6 Июн, 2012 at 1: 07 pm
Оригинал взят у united blog в допрос по «болотному делу»: основные вопросы следователей и ответы на них
Ответы на экзаменационны вопросы по сса iconПриз ваше интервью в следующем номере журнала о кошках. Вопросы:...
Есть пять вопросов, на которые надо дать ответы, все ответы присылайте в личное сообщение Веронике
Ответы на экзаменационны вопросы по сса iconКлючи к реализации
Часто мы действуем «обычными», «привычными» способами и ищем ответы на вопросы «Чего я хочу?» снаружи. Мы забываем, что все ответы...
Ответы на экзаменационны вопросы по сса iconТесты-1 для контроля знаний
Необходимо ответить на следующие вопросы или указать правильные ответы. Правильными могут быть все ответы или часть их. Напишите...
Ответы на экзаменационны вопросы по сса iconТесты-2 для контроля знаний
Необходимо ответить на следующие вопросы или указать правильные ответы. Правильными могут быть все ответы или часть их. Напишите...
Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2015
контакты
userdocs.ru
Главная страница