Программирование в codesys 2 3 на языке st

Для программируемых логических контроллеров (ПЛК) существует множество вариантов языка программирования, и стандарт языков программирования IEC 61131-3 имеет несколько вариантов. Более эффективно и эффективно использовать силу каждого из них. А не изучать приемы и обходные пути. Необходимые для принудительного приспособления одного языка ко всем приложениям. Программист должен выбрать лучший язык для приложения.

Языки программирования: LD. SFC. FBD. CFC и ST

Какой язык программирования IEC 61131-3 является лучшим? Часть 1” обсуждала сильные стороны и лучшие приложения для каждого языка. Имеет график. Показывающий все пять языков. И предоставляет подробную информацию о диаграмме лестницы (LD) и диаграмме последовательных функций (SFC).

“Какой язык программирования IEC 61131-3 является лучшим? Часть 2” (эта статья) обсуждает функциональную блок-схему (FBD). Непрерывную функциональную диаграмму (CFC). Структурированный текст (ST) и то. Как их можно смешивать и сопоставлять для достижения оптимальных результатов.

Функциональная блок-схема (FBD) и непрерывная функциональная диаграмма (CFC)

Функциональная блок-схема (FBD) — это графический язык. Который апеллирует к близости инженеров к графической информации.

Интегрированная среда разработки Codesys (IDE) от Codesys GmbH (ранее называвшаяся 3S-Smart Software Solutions) предлагает два варианта FBD: традиционный IEC 61131-3 FBD и аналогичную. Но более гибкую непрерывную функциональную диаграмму (CFC). Которая формально не является частью IEC 61131-3. CFC представляет собой супер-набор FBD и имеет две области силы:

  1. Блочное функциональное программирование (выполнение булевых и математических операций)
  2. Иерархические конструкции (вызов других функций и функциональных блоков).

Блочное программирование с использованием CFC

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

Программирование блоков CFC отлично. Когда выходы являются строго функцией текущих входов (другими словами. Когда нет переменных состояния. Таких как логическая обратная связь. Катушки установки/сброса или флаги). При наличии комбинации функций state-less и state-based используйте комбинацию CFC и SFC.

Поскольку связность представлена линиями между функциональными блоками. Легко понять поток информации и то. Как информация изменяется по своему пути.

Если функциональность начинает усложняться. Ее следует разбить на более мелкие. Более управляемые подблоки. Как описано ниже в иерархических конструкциях. Если между блоками имеется значительное количество соединений. Линии могут быть объединены в пины. Которые объявлены как тип структуры данных. Как показано на рис.2.

Три преимущества структурированных штифтов

Штыри структуры имеют три преимущества:

  1. Они удаляют ненужные детали с этого уровня иерархии дизайна. Чтобы лес не терялся в деревьях (перефразируя поговорку).
  2. Сохраняет размер блока небольшим. Чтобы общий поток информации можно было просмотреть на одной странице

  3. Позволяет информации течь вверх и вниз по течению (чтобы еще больше уменьшить ненужные детали).

Иерархические конструкции с CFC

Иерархический дизайн-это практика создания дизайна из строительных блоков. Которые построены из более простых строительных блоков. Которые построены из более простых строительных блоков и т. Д. Небольшие строительные блоки имеют много преимуществ по сравнению с традиционными большими плоскими конструкциями. В том числе легче:

  1. Указывать
  2. Создать
  3. Тест и идеальный
  4. Понимать и поддерживать
  5. Быть гораздо более вероятным для повторного использования.

Технику построения блоков легче спроектировать и понять. Поскольку она позволяет и поощряет практику поддержания постоянного уровня детализации на каждом уровне иерархии. Таким образом. Верхние уровни дизайна не загромождаются запутанными и ненужными деталями. Которые важны на нижних уровнях дизайна. Аналогия — это автомобильный двигатель. Который имеет стартер. Который имеет якорь. Который обмотан медной проволокой. Которая вытягивается из меди. Добываемой по всему миру. Автомобилестроителю не нужно быть экспертом или беспокоиться о том. Как добывается медь в двигателе.

Этот уровень детализации оставлен на самых низких уровнях дизайна. Где эта деталь важна. Иерархические проекты ХФУ должны быть разработаны с последовательным уровнем детализации на каждом уровне иерархии.

Два недостатка использования LD в качестве языка строительных блоков

Это показывает падение традиционного метода использования LD в качестве языка строительных блоков. Конкретно:

  1. Низкая плотность информации требует. Чтобы проекты ЛД были разбросаны на десятки страниц. Что затрудняет или делает невозможным увидеть и понять общую картину.
  2. Высокоуровневые детали и низкоуровневые детали смешиваются на одном уровне. Что приводит к беспорядку. Что делает дизайн трудным для понимания и поддержания.

Иерархическое проектирование в CFC с использованием structure-pins решает обе эти проблемы. Сохраняя при этом графическую природу LD. Это бескомпромиссное решение с лучшим из обоих миров.

Преимущества использования CFC и иерархического проектирования

Иерархическое проектирование является ключевой особенностью объектно-ориентированного промышленного программирования (ООИП). На рис. 3 показана конструкция ООИП системы управления гоночным парусником. Верхний уровень конструкции показывает. Что управление лодкой состоит из входов и выходов (I/O). Служб, лебедок. Цилиндров и гидравлики.

Двойной щелчок по любому из этих блоков открывает следующий уровень детализации. Такой как обзор цилиндров и гидравлической системы. Дальнейшие двойные щелчки по любым блокам в них открывают все новые уровни детализации. Каждый из которых реализован на лучшем языке для данной работы. Обратите внимание на тщательное внимание к сохранению ХФУ на одной странице и последовательных уровней детализации. Чтобы функциональность была легко понятна на каждом уровне. Затем эти объекты настраиваются с помощью CSV-файла. Как показано в статье OOIP и видео. На которое ссылаются в конце этой статьи .

С возможностью размещения и настройки пользовательских блоков программирование CFC начинает сильно напоминать программирование/настройку для распределенной системы управления (DCS), за исключением IEC 61131-3, где программист управляет базовыми блоками. Если блок нуждается в незначительном усовершенствовании. Программист имеет возможность сделать это без затрат и времени. Необходимых для привлечения поставщика DCS.

Полный иерархический дизайн ПЛК можно представить в виде дерева с иерархическим CFC. Составляющим ствол и ветви (блок-схема); и блочным CFC. SFC, LD и ST. Заполняющим детальный функциональный дизайн на листьях дерева.

Вместе язык IEC61131-3 образует команду. Которая является более мощной. Чем любая из ее отдельных частей.

Какие операции должны быть запрограммированы со структурированным текстом?

Хотя LD, SFC и FBD/CFC являются отличными инструментами для своих целей. Есть некоторые операции. Которые не поддаются графическим языкам.

Некоторые операции которые благоприятствуют использованию ST программирования включают в себя:

  1. Итеративные операции. Такие как For. While и Repeat

  2. Сложные условные обозначения и выделения. Такие как IF-THEN и CASE
  3. Битовые манипуляции. Такие как побитовое-И. Сдвиг, Поворот
  4. Манипуляция текстовыми строками
  5. Конечные автоматы с необычными требованиями или сложностью
  6. Чисто объектно-ориентированное программирование (вызов методов. Настройка свойств и т. д.)

Существует много хороших учебных пособий. Доступных для инженеров. Переходящих с других текстовых языков на ST. Учебник по Visual Basic — хорошая отправная точка для тех. Кто совершенно не знаком с текстовыми языками. Хотя структурированный текст основан на языке программирования Pascal. Он имеет достаточно сходства с VB. Чтобы использовать более широко доступные учебные пособия по VB.

Знайте словарь программирования для достижения наилучших результатов

Чтобы иметь возможность эффективно общаться на английском языке. Важно иметь правильный словарный запас и знать. Как эффективно использовать этот словарный запас. Точно так же. Чтобы иметь возможность создавать эффективные программы промышленного контроля. Важно иметь правильные языки и знать. Как эффективно использовать эти языки. IEC 61131-3 предоставляет эти языки. И эта статья содержит руководство по их эффективному использованию.

Используйте советы по LD, SFC. FBD. CFC и ST в этой серии из двух частей. Чтобы эффективно программировать с помощью языков программирования IEC 61131-3.

Гэри Л. Пратт — президент компании ControlSphere Engineering. Под редакцией Марка Т. Hoske. Content manager, Control Engineering, CFE Media, mhoske @cfemedia.com.

КЛЮЧЕВЫЕ СЛОВА: Языки программирования IEC 61131-3, FBD. CFC и ST

РАССМОТРИМ ЭТО

Используйте правильный язык программирования IEC 61131-3 для приложения.

Эта статья была опубликована в Control Engineering

ОНЛАЙН экстра

Подробнее см.:

Видео демонстрация каждого языка и конфигурации из CSV-файла

Объектно — ориентированное промышленное программирование (ООИП).

Больше программ загружается из Object Oriented Industrial Programming Foundation.

www.ooip-foundation.org

Интегрированная среда разработки CODESYS (IDE) из группы CODESYS, используемая для примеров в этой статье. Может быть загружена бесплатно. Включая программный ПЛК. Который будет работать в течение 2 часов между сбросами.

Для получения статьи по инженерному управлению с инструкциями по программированию программируемых логических контроллеров, терминами. Логическими схемами и т. Д. см. раздел “Управление предприятием. Ориентированное на поддержку: Основы ПЛК.”

Биография автора: Кто такой Гэри Пратт?

Гэри Л. Пратт — президент компании ControlSphere Engineering. Пратт начал свою карьеру в компании Chevron Corporate Engineering в 1982 году и недавно ушел в отставку с поста президента CODESYS Corp.в Северной Америке. Он имеет патенты в области промышленного контроля и теперь концентрируется на том. Чтобы поделиться своими знаниями и опытом со следующим поколением с помощью языков программирования IEC 61131-3 и консалтинга CODESYS integrated development environment (IDE) и учебных занятий.

Статьи по теме