WikiDer > Последовательная функциональная диаграмма
Последовательная функциональная диаграмма (SFC) - это графический язык программирования, используемый для программируемые логические контроллеры (ПЛК). Это один из пяти языков, определенных IEC 61131-3 стандарт. Стандарт SFC определяется как, Подготовка функциональных схем для систем управления, и был основан на GRAFCET (сам основан на двоичном Сети Петри[1][2]).
Его можно использовать для программирования процессов, которые можно разбить на шаги.
Основными компонентами SFC являются:
- Шаги со связанными действиями;
- Переходы с соответствующими логическими условиями;
- Направленные связи между ступенями и переходами.
Шаги на SFC-диаграмме могут быть активными или неактивными. Действия выполняются только для активных шагов. Шаг может быть активным по одному из двух мотивов:
- Это начальный шаг, указанный программистом.
- Он был активирован во время цикла сканирования и с тех пор не деактивировался.
Шаги активируются, когда все шаги выше него активны и соединительный переход является супераблем (т. Е. Связанное с ним условие истинно). Когда переход пройден, все вышеперечисленные шаги сразу деактивируются и после все шаги, указанные ниже, активируются сразу.
Действия, связанные с шагами, могут быть нескольких типов, наиболее важными из которых являются «Непрерывный» (N), «Установить» (S) и «Сброс» (R). Помимо очевидного значения Set и Reset, действие N гарантирует, что его целевая переменная будет установлена в 1, пока шаг активен. Правило SFC гласит, что если два шага имеют действие N на одной и той же цели, переменная никогда не должна сбрасываться в 0. Также можно вставить LD (Лестничная диаграмма) действия внутри программы SFC (а это стандартный способ, например, для работы с целочисленными переменными).
SFC по своей сути параллельный язык в том, что несколько потоков управления - программные организационные единицы (POU) на языке стандарта - могут быть активны одновременно.
Нестандартные расширения языка включают макрооперации: то есть действия внутри программного модуля, которые влияют на состояние другого программного модуля. Наиболее важным из таких макродействий является «форсирование», при котором ПМ может определять активные шаги другого ПМ.
Смотрите также
![]() | Викискладе есть медиафайлы по теме Графики последовательных функций. |
Рекомендации
- ^ Fernandez, J. L .; Sanz, R .; Paz, E .; Алонсо, К. (19–23 мая 2008 г.). «Использование иерархических двоичных сетей Петри для создания надежных приложений для мобильных роботов: RoboGraph». Международная конференция IEEE по робототехнике и автоматизации, 2008 г.. Пасадена, Калифорния, США. С. 1372–1377. Дои:10.1109 / ROBOT.2008.4543394.
- ^ Льюис, Р. У. (1998). Программирование промышленных систем управления с использованием IEC 1131-3. ISBN 978-0852969502.
- ^ Том Медоукрофт, 2018