Понимание языков программирования IEC61131-3

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

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

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

Рис. 3. В этом примере, программа на языке SFC состоит из диаграммы в виде блоков
и горизонтальных линий слева и содержимое одного из блоков на языке ST справа.
В программе на языке SFC, блоки называются шагами, а небольшие горизонтальные
линии называются переходами. Как блоки, так и переходы включают в себя
небольшие части кода.

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

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

Дополнительные ресурсы, требующиеся для такого программирования, приводят к замедлению процесса написания программы по сравнению с другими языками. Наконец, нужно принять во внимание невозможность конвертирования в другие языки. Например, языки IL, FBD и LD можно легко конвертировать друг в друга, позволяя воспроизводить участки кода в виде, наиболее удобном для пользователя. Язык ST также можно конвертировать в любой из этих трех языков. Но  язык SFC конвертировать нельзя. Таким образом, этот язык подходит только для пользователей, которые его хорошо знают, потому что его нельзя будет воспроизвести в другом формате, или для приложений и у которых аппаратная часть имеет достаточную скорость и объем памяти, необходимый для хранения и выполнения программ  на языке SFC.

Страницы

Теги: