Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метод.рекомендации к ЛПР_скриншоты.doc
Скачиваний:
32
Добавлен:
06.09.2019
Размер:
6.17 Mб
Скачать

77. Язык sfc. Структура программы, основные элементы и правила программирования.

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

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

  1. Основные компоненты языка sfc.

О динарная дивергенция и Двойная дивергенция и

конвергенци конвергенция

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

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

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

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

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

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

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

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

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

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

Основная программа Тело макрошага