Микропроцессорная техника систем автоматизации


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



бет19/77
Дата27.11.2023
өлшемі4,68 Mb.
#128711
1   ...   15   16   17   18   19   20   21   22   ...   77

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


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


Рис. 32. Вид программы на языке SFC на примере программы управления работой стиральной машины

Шаги последовательности располагаются вертикально сверху вниз. Шаг описывает одну из стадий технологического процесса. На каждом шаге выполняется определенный перечень действий (операций). При этом для описания самой операции используются другие языки программирования, такие как IL или ST. В каждый


момент времени шаг является либо активным, либо неактивным. В реальных проектах шаги имеют осмысленные названия, напри- мер, Fill (наполнение), Boiling (кипячение) и т. д.
С каждым шагом может быть связано одно или несколько дей- ствий. Если шаг не содержит действий, то программа просто ожи- дает выполнения условия перехода к следующему шагу. Само по себе действие может быть программно закодировано на любом из остальных языков международного стандарта IEC 61131-3: LD, FBD, SCL или IL.
После того, как шаг выполнен, управление передается следую- щему за ним шагу. Между шагами находятся так называемые пере- ходы. Переход описывается условием, при выполнении которого активным становится следующий шаг (шаги), а текущий шаг пре- кращает активность. Переходы графически соединяют нижнюю часть предыдущего шага и верхнюю часть шага, следующего за ним. Переход между шагами может быть условным и безусловным. Безусловный переход происходит всегда после полного выполне- ния всех операций на данном шаге. Так, на рис. 32 примерами без- условных переходов являются переход от шага Start («Старт») к шагу Fill («Наполнение»), а также следующий переход – от шага Fill к одному из шагов Boiling («Кипячение») или Warming («На- грев»), который выполняется после завершения наполнения резер- вуара стиральной машины водой до требуемого уровня. Условный переход требует выполнение определенного логического условия для передачи управления на следующий шаг; пока это условие не выполнено программа будет оставаться внутри текущего шага, да- же если все операции внутри шага уже выполнены. Так, на рис. 32 примером условного перехода является переход от одного из шагов Boiling («Кипячение») или Warming («Нагрев») к следующему ша- гу Cooling («Охлаждение»), условием выполнения которого явля- ется время, которое должно пройти от начала выполнения кипячения (10 минут) или нагрева (5 минут). Также условным пе- реходом является переход от шага охлаждения Cooling к шагу окончания работы Stop: в данном случае требуемым условием яв- ляется снижение температуры воды в резервуаре стиральной ма- шины до 40 ºС.
С помощью переходов можно осуществлять разделение и слияние ветвей последовательности, организовать параллельную обработку
нескольких ветвей или заставить одну выполненную ветвь ждать завершения другой.
Расходимость (дивергенция) – это множественное соединение в направлении от одного шага к нескольким переходам. Примером дивергенции в программе на рис. 32 является разветвленный пере- ход от шага Fill к одному из шагов Boiling («Кипячение») или Warming («Нагрев»): в зависимости от того, какой режим выстав- лен на соответствующем переключателе режимов стирки – Cotton («Хлопок») или Silk («Шелк»») – выполняется переход только к одному из шагов Boiling или Warming.
Сходимость (конвергенция) это множественное соединение, направленное от нескольких переходов к одному и тому же шагу. Она обычно используется для группировки ветвей SFC – програм- мы, которые берут начало из одинарной дивергенции. Примером конвергенции на SFC диаграмме на рис. 32 является переход от од- ного из шагов Boiling («Кипячение») или Warming («Нагрев») к следующему шагу Cooling («Охлаждение»).
Альтернативная расходимость представляет собой связь одного шага с несколькими переходами. При этом выполняется только один из переходов – Cotton (хлопок) или Silk (шелк) на рис. 32, так как их условия являются взаимоисключающими. Условия, связан- ные с различными переходами при расходимости, должны быть заданы пользователем так, чтобы гарантировать, что во время вы- полнения программы активируется одна конкретная ветвь. Сходи- мость для альтернативной расходимости представляет собой связь нескольких переходов с одним шагом. Такая сходимость обычно используется для SFC-ветвей, полученных при одиночной расхо- димости.
Альтернативная сходимость и расходимость изображаются на SFC-схеме с помощью горизонтальной линии (как на рис 32). Частным случаем альтернативной расходимости является ветвь с циклом, которая содержит переходы на предыдущие (располо- женные выше по схеме) шаги.
Параллельная расходимость представляет собой связь одного перехода с несколькими шагами. После выполнения условия пере- хода первые шаги всех параллельных ветвей становятся активны- ми. Такой подход используется для описания операций процесса управления, которые выполняются одновременно. Сходимость для
параллельной расходимости представляет собой связь нескольких шагов с одним переходом. Такая сходимость обычно используется для SFC-ветвей, полученных при двойной расходимости. Парал- лельная сходимость выполняется в том случае, если все предшест- вующие ей шаги являются активными, а условие перехода – истинным. После схождения ветвей все предшествующие шаги де- активируются, и активным становится шаг, расположенный после перехода.
Параллельная сходимость и расходимость изображаются на SFC-схеме с помощью двойной горизонтальной линии, как это по- казано на рис. 33.


Рис. 33. Пример программы на языке SFC
с параллельной расходимостью и сходимостью




Достарыңызбен бөлісу:
1   ...   15   16   17   18   19   20   21   22   ...   77




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет