Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
FBD ST LD CFC SFC.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
100.79 Кб
Скачать

Упорядочить топологически

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

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

Управление порядком

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

Порядок: ниже - при выполнении этой команды выбранные элементы перемещаются на одну позицию вниз по списку порядка выполнения элементов.

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

Порядок: в конец - выбранные элементы перемещаются в конец списка элементов. Порядок нумерации всех остальных элементов остаётся прежними.

В соответствии с потоком данных

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

Обратные связи

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

Переменная y может инициализироваться значением, отличным от нуля. Входы левой схемы имеют тип SINT, а правой - INT. Поэтому переменные x и y  будут иметь разные значения после 129 вызовов. Хотя переменная x имеет тип INT, она получит значение -127, так как внутренняя переменная переполнится. Переменная y достигнет значения 129 и продолжит увеличиваться.

  1. Язык программирования SFC (Обзор, принципы написания программы)

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

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

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

Шаг

SFC POU состоит из набора шагов, связанных переходами.

Существуют 2 вида шагов:

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

    • МЭК шаг (стандартный SFC) связан с произвольным числом действий или логических переменных. Связанные действия располагаются с правой стороны от шага.

Действие

Действие может содержать список инструкций на IL или ST, схемы на FBD или LD, или снова схемы на SFC.

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

Входной и выходной шаг

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

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

Пример простого шага с входным и выходным действиями:

Переход и условия перехода

Условием перехода может быть логическая переменная или константа, логический адрес или логическое выражение, описанное на любом языке. Условие может включать несколько инструкций, образующих логический результат, в виде ST выражения (например (i<= 100) AND b) либо на любом другом языке.

Условие не должно содержать присваивания, вызова программ и экземпляров функциональных блоков!

Активный шаг

После вызова  SFC POU начальный шаг (шаг, выделенный двойной рамкой) выполняется первым. Шаг, выполняемый в данный момент, называется активным. Действия, связанные с активным шагом, выполняются один раз в каждом управляющем цикле.  В режиме online активные шаги выделяются синим цветом. Следующий за активным шагом шаг станет активным, только когда условие перехода к этому шагу примет значение TRUE.

Шаг МЭК

В отличие от упрощенного SFC МЭК шаги могут включать несколько действий (до девяти).

Действия МЭК шагов описываются отдельно от них и могут неоднократно использоваться  в пределах данного POU, для чего их надо связать с шагом с помощью команды главного меню "Дополнения" "Связать действие".

Для того чтобы использовать шаги с МЭК действиями, необходимо установить опцию "Дополнения" "Использовать МЭК-шаги" и подключить к проекту специальную библиотеку lecsfc.lib.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]