Первые шаги в программирование

Современная автоматизация немыслима без
программирования.
И если вы ещё не пробовали это, то уже пора сделать...
...первые шаги в программирование

Главная / Проектирование / Программирование ПЛК /

Язык программирования SFC

SFC - это Sequential Functional Circuits (Последовательные Функциональные Схемы). Это даже сложно назвать языком программирования, поскольку это графический язык, который больше похож на блок-схемы алгоритмов. Но, поскольку он также используется при создания программ для ПЛК и входит в стандарт МЭК, то мы будем называть его языком программирования.

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

Основные особенности SFC:

  • Всегда имеется стартовый (начальный) шаг. Начальный шаг может быть только один.
  • Схема алгоритма (программа) на SFC состоит из нескольких шагов и переходов между ними.
  • Разрешение перехода от одного шага к другому определяется условием.
  • С шагом связаны определённые действия.
  • Описания действий выполняются на любом языке стандарта МЭК.
  • Сам SFC не содержит каких-либо управляющих команд ПЛК.
  • Действия также могут быть описаны в виде вложенной SFC-схемы. Можно создать несколько уровней такой вложенности. Но в итоге действие последнего (нижнего) уровня всё равно надо будет описать на языке IL, ST, LD или FBD.

По сравнению с другими языками SFC расходует несколько больше памяти. Кроме того, на этом языке можно создавать только программы и функциональные блоки, но не функции.

SFC имеет смысл применять разве что для разделения задачи на простые этапы. Например, модуль программы может быть выполнен на SFC и содержать вызов других модулей. Так можно довольно быстро создать прототип системы без программирования, разработав основной алгоритм и построив его в виде схемы, которая наглядно и доходчиво будет отображать основные части системы, их взаимодействие между собой и назначение. Причём для отработки верхнего уровня не потребуется ни подробное описание действий, ни привязка к аппаратной части, что позволит легко переносить этот модуль программы с одной модели ПЛК на другую.

Пример простой программы на SFC показан ниже:

Язык программирования SFC

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

Затем выполняется проверка ошибок. Если ошибок нет, то переходим к установке выходов. В случае обнаружения ошибки переходим к блоку ALARM, где выполняется обработка ошибок.

Стрелка-треугольник означает переход к блоку, имя которого указано слева от стрелки. В этом примере мы в любом случае переходим к блоку Start, то есть к началу программы.

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

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

На этом всё. Подписывайтесь на новости, чтобы ничего не пропустить (красная кнопка вверху справа), или подключайтесь к группе ВК.



Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su