Русская Википедия:Canny Function Diagram
СFD (Canny Function Diagram) — графический язык программирования, концептуально близкий к языку функциональных блоковых диаграмм (FBD). Язык частично совместим со стандартом МЭК 61131-3. Предназначен для программирования программируемых логических контроллеров (ПЛК). Программа на языке CFD представлена в виде функциональной диаграммы. Функциональная диаграмма формируется из библиотечных блоковых элементов - функциональных блоков, а также вспомогательных элементов, соединенных между собой линиями (сетями). Сети могут быть именованы.
Функциональные блоки языка:
- выполняют какую-либо функцию (например, логические операции, арифметические операции, генерацию сигнала, функцию счетчика и т.п.)
- могут иметь или не иметь вход;
- обязательно имеют выход.
К вспомогательным блокам относятся:
- константы – хранят и передают записанное число;
- регистры записи – используются для передачи значений в ПЛК;
- регистры чтения– используются для чтения информации от ПЛК.
Выполнение программы на языке CFD представляет собой последовательное циклическое вычисление элементов диаграммы. Как правило порядок вычисления устанавливается с верху в низ, слева на право.
Для исполнения программ на языке CFD в режиме симуляции и записи их в ПЛК применяется распространяемая бесплатно среда разработки CannyLab[1].
Язык CFD имеет высокий уровень абстракции, скрывает от пользователя технические детали принципов работы электронных схем, в следствие чего имеет достаточно низкий порог вхождения в разработку[2].
Пример программы на языке CFD (функциональная диаграмма):
- На вход блока №1 "Умножение" поступает информация из регистра "Контроля наличия питания +5В при подключении по USB"
- На вход блока блока №1 "Умножение" поступает значение константы "2".
- Блок №1 "Умножение" производит операцию умножения.
- Значение с выхода блока №1 "Умножение" поступает на вход блока №2 "Логическое НЕ".
- Блока №2 "Логическое НЕ" производит инверсию поступившего на вход значения.
- Значение с выхода блока №2 "Логическое НЕ" поступает в "Регистр включения зеленого светодиода"
- Если на вход "Регистра включения зеленого светодиода" поступает значение "1" у контроллера включается зеленый светодиод, если "0" – выключается.
См. также
Языки программирования стандарта МЭК 61131-3:
- FBD — Функционально блоковые диаграммы
- LD — Релейно-Контактные Схемы
- IL — Список Инструкций
- SFC — Последовательностные Функциональные Диаграммы
- ST — Структурированный Текст
Ссылки
Примечания
Шаблон:Языки программирования Шаблон:Изолированная статья
- ↑ Шаблон:Статья
- ↑ Шиколенко И.А. Перспективы обучения школьников и студентов программированию микроконтроллеров с помощью языка функциональных блоковых диаграмм на примере языка CFD Шаблон:Wayback // Оригинальные исследования (ОРИС). — 2020. — № 6. — С. 218-223